Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rewrite in Typescript and a lot of improvements #21

Open
wants to merge 24 commits into
base: master
Choose a base branch
from

Conversation

KevinTuncer
Copy link

Oracles:

  • Rewrite of EOSIO and ETH oracles in Typescript and upgrade to nodejs-16.
  • Fail-safe by automatically switching to other endpoints.
  • Secure against hijacked endpoints by matching the data with a predefined number of other endpoints.
  • Distribution of workload across all endpoints.
  • Use only standard chain API.
  • Advanced console parameter passing.
  • Store Chain ID of the sender chain on the EOSIO contract for each ETH to EOSIO teleport entry.

EOSIO Contract:

  • Option to delete old teleport and cancel entries without losing consensus. This reduces the RAM consumption by about 50 %.
  • Optional setup of fix and variable fees for ETH to EOSIO and EOSIO to ETH teleports. The fees will be collected and distributed among the oracles.
  • Freeze options for specific parts of the contract.
  • Adjustable number of needed oracle confirmations for receiving teleports.
  • Adjustable minimum amount for deposits and teleports.
  • Store all needed bridge data in stats table for interoperability with custom frontend apps.
  • Tests for the new functions.
  • This EOSIO contract can be deployed over the old alienteleport contract.

ETH Contract:

  • Test environment for Solidity contract

- In Typescript
- Use only standard chain API
- Fail-safe by automatically switching to other endpoints
- Secure against hijacked endpoints by match the data with predefined amount of other endpoints
- Distribution of workload across all endpoints
- Advanced console parameter passing
- Unite oracle functions in one class
- Sign only irreversible teleports
-> Prevent unnecessary requests by estimating the time when the next teleport should be irreversible
- Change definition of commands
-> Use anouther config file
- Remove the use of 'eosio-helpers'
- Add README.me to set up the test environment for the eosio contract on windows
Start from genesis block if no file is defined
Check weeding of wrong endpoints
Retry of failed event requests
Verify events by other endpoints
- Different freeze options for oracle actions, cancel action, incoming and outgoing funds
- Changeable min amount
- Include a fix fee and a variable fee
- Make fees changeable
- Pay off collected fees to all oracles
- Describe the README to run tests for the EOSIO contract in more detail
- Adjustable amount of threshold
- Check parameters of ini action
- Delete all cancels and claimed teleports until a specific id
- delete receipts until a defined date
- add some tests and solve some small bugs
- Initiate only tables which are needed while an action
- Add some tests for fees and fix some bugs
- Store all needed bridge data in stats table for interoperability with custom front end apps.
- Check chain id of incoming and outgoing teleports.
- Add tests to add and remove connected chains
-> EOSIO token contract name
-> ETH token contract address
-> ETH abbreviation name
-> Adjust the tests for it
-> Adjust md file for new addchain action
- Use old amount of oracles if the contract overrides an old one
- Calc previous oracle number with a for loop
…ention in md file the location for the mnemonic.
- Set wait circle by config or console
- Set blocks to wait by config
- Fix skipping endpoints that are not accessible
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant