Name | Lookup | Parameters | |
|---|---|---|---|
| create_portfolio | 2200 | 1 | |
| delete_portfolio | 2201 | 1 | |
| rename_portfolio | 2202 | 2 | |
| quit_portfolio_custody | 2203 | 1 | |
| accept_portfolio_custody | 2204 | 1 | |
| move_portfolio_funds | 2205 | 3 | |
| pre_approve_portfolio | 2206 | 2 | |
| remove_portfolio_pre_approval | 2207 | 2 | |
| allow_identity_to_create_portfolios | 2208 | 1 | |
| revoke_create_portfolios_permission | 2209 | 1 | |
| create_custody_portfolio | 220a | 2 |
Name | Lookup | Attributes | |
|---|---|---|---|
| PortfolioCreated | 2200 | ["IdentityId","PortfolioNumber","PortfolioName"] | |
| PortfolioDeleted | 2201 | ["IdentityId","PortfolioNumber"] | |
| PortfolioRenamed | 2202 | ["IdentityId","PortfolioNumber","PortfolioName"] | |
| UserPortfolios | 2203 | ["IdentityId","Vec<(PortfolioNumber, PortfolioName)>"] | |
| PortfolioCustodianChanged | 2204 | ["IdentityId","PortfolioId","IdentityId"] | |
| FundsMovedBetweenPortfolios | 2205 | ["IdentityId","PortfolioId","PortfolioId","FundDescription","Option<Memo>"] | |
| PreApprovedPortfolio | 2206 | ["IdentityId","PortfolioId","AssetId"] | |
| RevokePreApprovedPortfolio | 2207 | ["IdentityId","PortfolioId","AssetId"] | |
| AllowIdentityToCreatePortfolios | 2208 | ["IdentityId","IdentityId"] | |
| RevokeCreatePortfoliosPermission | 2209 | ["IdentityId","IdentityId"] |
Name | Type | |
|---|---|---|
| NextPortfolioNumber | {"origin":"Map","n_map_type":{"hashers":["Identity"],"key_vec":["[U8; 32]"],"value":"U64","keys_id":32,"value_id":60}} | |
| Portfolios | {"origin":"Map","n_map_type":{"hashers":["Identity","Twox64Concat"],"key_vec":["[U8; 32]","U64"],"value":"Vec<U8>","keys_id":661,"value_id":225}} | |
| NameToNumber | {"origin":"Map","n_map_type":{"hashers":["Identity","Blake2_128Concat"],"key_vec":["[U8; 32]","Vec<U8>"],"value":"U64","keys_id":662,"value_id":60}} | |
| PortfolioAssetCount | {"origin":"Map","n_map_type":{"hashers":["Twox64Concat"],"key_vec":["polymesh_primitives:identity_id:PortfolioId"],"value":"U64","keys_id":58,"value_id":10}} | |
| PortfolioAssetBalances | {"origin":"Map","n_map_type":{"hashers":["Twox64Concat","Blake2_128Concat"],"key_vec":["polymesh_primitives:identity_id:PortfolioId","[U8; 16]"],"value":"U128","keys_id":663,"value_id":6}} | |
| PortfolioLockedAssets | {"origin":"Map","n_map_type":{"hashers":["Twox64Concat","Blake2_128Concat"],"key_vec":["polymesh_primitives:identity_id:PortfolioId","[U8; 16]"],"value":"U128","keys_id":663,"value_id":6}} | |
| PortfolioCustodian | {"origin":"Map","n_map_type":{"hashers":["Twox64Concat"],"key_vec":["polymesh_primitives:identity_id:PortfolioId"],"value":"[U8; 32]","keys_id":58,"value_id":32}} | |
| PortfoliosInCustody | {"origin":"Map","n_map_type":{"hashers":["Identity","Twox64Concat"],"key_vec":["[U8; 32]","polymesh_primitives:identity_id:PortfolioId"],"value":"Bool","keys_id":664,"value_id":78}} | |
| PortfolioNFT | {"origin":"Map","n_map_type":{"hashers":["Twox64Concat","Blake2_128Concat"],"key_vec":["polymesh_primitives:identity_id:PortfolioId","Tuple:[U8; 16]U64"],"value":"Bool","keys_id":665,"value_id":78}} | |
| PortfolioLockedNFT | {"origin":"Map","n_map_type":{"hashers":["Twox64Concat","Blake2_128Concat"],"key_vec":["polymesh_primitives:identity_id:PortfolioId","Tuple:[U8; 16]U64"],"value":"Bool","keys_id":665,"value_id":78}} | |
| PreApprovedPortfolios | {"origin":"Map","n_map_type":{"hashers":["Twox64Concat","Blake2_128Concat"],"key_vec":["polymesh_primitives:identity_id:PortfolioId","[U8; 16]"],"value":"Bool","keys_id":663,"value_id":78}} | |
| AllowedCustodians | {"origin":"Map","n_map_type":{"hashers":["Identity","Identity"],"key_vec":["[U8; 32]","[U8; 32]"],"value":"Bool","keys_id":365,"value_id":78}} | |
| StorageVersion | {"origin":"PlainType","plain_type":"U8","PlainTypeValue":667} |
Name | Type | Value | |
|---|---|---|---|
| MaxNumberOfFungibleMoves | U32 | 0a000000 | |
| MaxNumberOfNFTsMoves | U32 | 64000000 |
Name | Docs |
|---|---|
| PortfolioDoesNotExist | The portfolio doesn't exist. |
| InsufficientPortfolioBalance | Insufficient balance for a transaction. |
| DestinationIsSamePortfolio | The source and destination portfolios should be different. |
| PortfolioNameAlreadyInUse | The portfolio couldn't be renamed because the chosen name is already in use. |
| SecondaryKeyNotAuthorizedForPortfolio | The secondary key is not authorized to access the portfolio(s). |
| UnauthorizedCustodian | The porfolio's custody is with someone other than the caller. |
| InsufficientTokensLocked | Can not unlock more tokens than what are locked |
| PortfolioNotEmpty | The portfolio still has some asset balance left |
| DifferentIdentityPortfolios | The portfolios belong to different identities |
| NoDuplicateAssetsAllowed | Duplicate asset among the items. |
| NFTNotFoundInPortfolio | The NFT does not exist in the portfolio. |
| NFTAlreadyLocked | The NFT is already locked. |
| NFTNotLocked | The NFT has never been locked. |
| InvalidTransferNFTNotOwned | Only owned NFTs can be moved between portfolios. |
| InvalidTransferNFTIsLocked | Locked NFTs can not be moved between portfolios. |
| EmptyTransfer | Trying to move an amount of zero assets. |
| MissingOwnersPermission | The caller doesn't have permission to create portfolios on the owner's behalf. |
| InvalidTransferSenderIdMatchesReceiverId | The sender identity can't be the same as the receiver identity. |
| SelfAdditionNotAllowed | Adding itself as an AllowedCustodian is not permitted. |
| BadAuthorizationType | The extrinsic expected a different `AuthorizationType` than what the `data.auth_type()` is. |
| DefaultPortfoliosCannotHaveCustodians | Default portfolios cannot have custodians. |