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

Add evm query #74

Merged
merged 4 commits into from
Apr 9, 2024
Merged
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 36 additions & 0 deletions packages/sei-cosmwasm/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,42 @@ Currently, Sei Bindings support query and message support for the sei custom mod
- Change the Admin of the Denom. Only the current admin can change the admin.
- SetMetadata
- Set the denom metadata of a factory denom. Only the current admin can set metadata.
- EVM
- Query
- StaticCall
- TODO
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

not sure what this does

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is basically the "generic query" endpoint (i.e. query any endpoint on any EVM contract)

- Erc20TransferPayload
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

want to confirm these are all "Gets"

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah these are just helpers for callers to format payload. Alternatively they can also format payload by themselves by reading ERC20's ABI in rust

- Gets the Erc20 transfer payload from on recipient and amount
- Erc20TransferFromPayload
- Gets the Erc20 transfer from payload based on owner, recipient and amount
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

verify this is correct

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes

- Erc20ApprovePayload
- Gets the Erc20 approve payload from spender and amount
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

verify this is correct

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes

- Erc20Allowance
- Gets the Erc20 allowance from contract address, owner and spender
- Erc20TokenInfo
- Gets the Erc20 token info from contract address and caller
- Erc20Balance
- Gets the Erc20 balance from contract address and account
- Erc721TransferPayload
- Similar to the Erc20 equivalent
- Erc721ApprovePayload
- Similar to the Erc20 equivalent
- Erc721Approved
- Checks if a caller is approved based on caller, contract address and token id
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what operations is the caller approved for here?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

to send NFTs on behalf of the owner

- Erc721IsApprovedForAll
- Checks if the caller is approved for all based on caller, contract address, owner and operator
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • is this actually verifying the caller is approved or the operator
  • what specific operations does "approved for all" mean? i can add more info here

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this checks if the operator is approved to operate (aka transfer on behalf of the owner) all NFTs under the owner

- Erc721SetApprovalAllPayload
- Gets the Erc721 SetApproveAll payload from caller, contract address, owner and operator
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is this correct? seems like it's "setting" something

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah this is correct (there is a function SetApproveAll that approves the operator to operate all tokens one owns)

- Erc721NameSymbol
- Gets the Erc721 name and symbol based on the caller and contract address
- Erc721Uri
- Gets the Erc721 URI based on caller, contract_address and token_id
- Message
- DelegateCallEvm
- Performs an EVM delegate call. Requires `to` and `data`
- CallEvm
- Performs an EVM call. Requires `value`, `to` and `data`


## Usage

Expand Down
Loading