You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As far as I'm aware, the only sources of information the indexer will have to deduce a contract's API are the store, initialize, or execution messages for that contract.
Options:
We could consider looking at the structure of the initialization message a given contract to classify it.
For example, the base CW20 instantiate message looks like this:
We could also watch for execution messages (success and error) over time to build a picture of known supported methods. Technically, this is already happening as we process everything in primitives. What would still be needed for this approach would be to check the methods seen and classifying a contract to interface(s) when some confidence threshold has been reached. Perhaps it makes sense to do this off of the ExecuteContractMessage handler as that's where we're getting our reference to what methods have been called.
Combine 1 & 2: We could use the approach 1 to take an educated guess as to what interface(s) we think a contract might support as soon as it's initialized. As we see actual messages over time, we can update our guess based on both success and error responses to messages.
The text was updated successfully, but these errors were encountered:
Acceptance Criteria
Proposal
Example schema
As far as I'm aware, the only sources of information the indexer will have to deduce a contract's API are the store, initialize, or execution messages for that contract.
Options:
For example, the base CW20 instantiate message looks like this:
(NB:
cw20::Cw20Coin
defined here)The text was updated successfully, but these errors were encountered: