This module serve an account owned address like ERC6551.
Execute Msgs from the vault account that is linked to the nft.
appd tx nftvault local-execution [class-id] [nft-id] [path/to/sdk_msg.json] --from <key-name>
- The address of the
key-name
must be the owner of the NFT that has theclass-id
andnft-id
. - The signer of the msg that in the
sdk_msg.json
must be the address of thekey-name
.
- NFT that has
A
class-id and1
nft-id in the chainX
. F
is the vault account address of that NFT in the chainX
.- The account
P
owns that NFT in the chainX
. - The account
P
can execute msgs from the accountF
.
appd tx nftvault request-transfer [src-port] [src-channel] [origin-nfttransfer-port] [origin-nfttransfer-channel] [origin-class-id] [nft-id] [path/to/sdk_msg.json] --from <key-name>
- The address of the
key-name
must be the owner of the NFT that originally hasorigin-class-id
andnft-id
in the origin chain and has been transferred to this chain. - The msg that in the
sdk_msg.json
must beMsgTransfer
of ICS20transfer
module orMsgTransfer
of ICS721nft-transfer
module. - The msg that in the
sdk_msg.json
will be executed in the origin chain of the NFT that originally hasorigin-class-id
andnft-id
in the origin chain and has been transferred to this chain. - The origin chain of the NFT that originally has
origin-class-id
andnft-id
in the origin chain and has been transferred to this chain, has to contain thesrc-port
andsrc-channel
into theallowed_channel_list
. - The sender of the msg that in the
sdk_msg.json
must be the address of the vault account of the NFT that has theorigin-class-id
andnft-id
in the origin chain. - The recipient of the msg that in the
sdk_msg.json
must be the address of the vault account of the NFT that originally hasorigin-class-id
andnft-id
in the origin chain and has been transferred to this chain.
- NFT that has
A
class-id and1
nft-id in the chainX
. F
is the vault account address of that NFT in the chainX
.- That NFT has been transferred to the chain
Y
. - In the chain
Y
, that NFT hasibc/123
class-id and1
nft-id. G
is the vault account address of that NFT in the chainY
.- The account
P
owns that NFT in the chainY
. - The account
P
can request to transfer assets owned by the accountF
in the chainX
to the accountG
.
appd query nftvault list-allowed-channel
appd query nftvault vault-account-address [class-id] [nft-id]