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

Fix about verifiers for multitoken #93

Merged
merged 2 commits into from
Aug 9, 2023
Merged
Show file tree
Hide file tree
Changes from all 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
13 changes: 7 additions & 6 deletions packages/specs/pages/base-ledger/execution.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -32,11 +32,12 @@ There are some native VPs for internal transparent addresses that are built into
{/* TODO: Make sure this is up to date with the ledger */}
Supported validity predicates for Namada:
- Native
- Proof-of-stake (see [spec](../economics/proof-of-stake.md))
- IBC & IbcToken (see [spec](../interoperability/ibc.md))
- Governance (see [spec](./governance.md))
- Proof-of-stake (see [spec](../economics/proof-of-stake.mdx))
- Ethereum bridge (see [spec](../interoperability/ethereum-bridge.mdx))
- IBC & IbcToken (see [spec](../interoperability/ibc.mdx))
- Governance (see [spec](../governance.mdx))
- Protocol parameters (part of governance)
- Multitoken (see [spec](./fungible-token.mdx))
- WASM
- Fungible token (see [spec](./fungible-token.md))
- MASP (see [spec](../masp.md))
- k-of-n multisignature (see [spec](./multisignature.md))
- MASP (see [spec](../masp.mdx))
- k-of-n multisignature (see [spec](./multisignature.mdx))
2 changes: 1 addition & 1 deletion packages/specs/pages/base-ledger/fungible-token.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,4 @@ We can have multitoken balances for the same owner by `{token_addr}`, e.g. a tok

Transfers between the balances with the same `{token_addr}` are allowed. Specifically, we can transfer a token from `#Multitoken/{token_addr}/balance/{sender_addr}` to `#Multitoken/{token_addr}/balance/{receiver_addr}`.

These balance changes are validated by the multitoken validity predicate. It also checks the minted or burned token. If a token is minted or burned, i.e. when `#Multitoken/{token_addr}/balance/minted` is updated in the transaction, not only the total minted balance is checked but also calling the minter's validity predicate is checked. The minter should be set in a transaction minting the token. For example, when a token is received over IBC, the received token will be minted for the receiver's balance `#Multitoken/{ibc_token}/balance/{receiver_addr}`. The minted balance `#Multitoken/{ibc_token/balance/minted` is also increased by the amount of the received token. The minted amount should be checked by the multitoken validity predicate. And, the multitoken validity predicate checks if the minter's validity predicate, the IBC validity predicate in this case, will be called (IBC validity predicate checks the minted amount is correct for the corresponding IBC operation).
These balance changes are validated by the multitoken validity predicate. It also checks the minted or burned token. If a token is minted or burned, i.e. when `#Multitoken/{token_addr}/balance/minted` is updated in the transaction, not only the total minted balance is checked but also calling the minter's validity predicate is checked. The minter should be set in a transaction minting the token. For example, when a token is received over IBC, the received token will be minted for the receiver's balance `#Multitoken/{ibc_token}/balance/{receiver_addr}`. The minted balance `#Multitoken/{ibc_token}/balance/minted` is also increased by the amount of the received token. The minted amount should be checked by the multitoken validity predicate. And, the multitoken validity predicate checks if the minter's validity predicate, the IBC validity predicate in this case, will be called (IBC validity predicate checks the minted amount is correct for the corresponding IBC operation).