-
Notifications
You must be signed in to change notification settings - Fork 50
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
[SIP-7] Address and ABI distribution (RFC) #130
Comments
Suggest omitting SKALE chain name requirement as predeploy addresses are predefined across all chains.
Consider version parameter to select specific ABI version. |
Thank you for taking on versioning of ABIs vs client libs. Please include ability check deployed skale chain version. Need a little few more api features to make IMA interaction smooth. Currently initializing the ima requires name, abi, mainnet info. It should be possible to initialize from chainid/chain-name eg
It would also be handy to iterate chains via api ala https://mainnet.skalenodes.com/ . Here are the types of metadata we need to collect outside of ima-js for now:
Would be handy to have these accesible via a single coherent api. |
Amazing! Overall solves the majority of issues when currently dealing with the multiple repo architecture. A couple of things that could be nice to add just to make the usability a bit simpler. Automatic ProviderPotentially integrating both ethers.js and web3.js and creating a share interface that will enable a share contract usage through a provider.
This might be unnecessary for many just a fun thought to potential aid the newer developers to the space. Custom Flags to allow for earlier testingPossibly adding text based flags instead of ABI version for loading ABIs (mostly for testnet). In order to allow developers to have an easier time testing out the the newest ABI versions.
The reason for this is grabbing the abi via IMA.[s-chain-name] every time or IMA.[mainnet/testnet] etc is unnecessary when in reality you are really only working with mainnet/testnet and a SKALE chain in most circumstances. Therefore, setting that value on a new instance makes more sense. The above examples could easily flow into that category. |
@cstrangedk Checking for any movement here in regards to a core place to derive ABIs from without having to manually download them i.e via an API, on-chain location, etc. |
Address and ABIs distribution
Description
Each set of smart contracts (i.e.
skale-manager
,IMA
) exists in multiple instances and versions on multiple networks (Ethereum mainnet, Rinkeby or Kovan) and serve different needs (production, testnets, hackathons and others). It creates a problem of providing addresses of these smart contracts. Currently it's solved by the skale-network repo which contains files with desired addresses.Address Solution
Addresses will be provided in hierarchical logic structure
application-name
->instance-name
->smart-contract-name
->address
.For example:
ima
->eth-amsterdam
->DepositBoxERC20
.Example in code:
Because IMA is deployed on many chains it requires additional level to specify SKALE chain.
Example:
ABIs solution
Steps to be done:
Example:
The text was updated successfully, but these errors were encountered: