Open efelem opened 1 year ago
To me it's a bad idea. By design, this package is conceived to match a specific smarts contract version per package version (at least a version each time a smart contract function signature changes). Since it is planned to support multiple version of this package, especially from a production-readiness prospective, this would cause any version which doesn't use the latest ABIs not to work. Actually, it is not recommended to use the package with smart contract addresses not provided by the package itself since we cannot guarantee that the features provided in the package version are compatible with smart contract version you provide (I'm even considering removing the constructor arguments for smart contracts addresses, at some point if you want to use a different smart contract version, you'll have to use the matching package version; that was just a nice to have for early development).
Currently, using avvy domains can be helpful for contract name resolution and testing different versions of smart contracts. However, using avvy in the deepsquare telegram bot requires some custom code. Here is what I do now in the deepsquare telegram bot code (I use a personal name for that (aditthana.avax but @Lymnah has control of deepsquare.avax) :
To make it easier for developers using the deepsquare-client library to keep track of the latest contracts and test new smart contracts, it would be great to have a similar interface for avvy domain name resolution directly in the library.
With avvy support, developers can use a human-readable name (.avax) to associate with different records on the c-chain. This will help to eliminate the need to keep track of the latest contract addresses.
To make this possible, the dev team can set up an avvy domain name and update the smart contract record to point to the relevant contract addresses. Once the domain is set up, the dev team can integrate avvy support directly into the deepsquare-client library.
What do you think ?