git.delta.rocks / unique-network / refs/commits / 4eb90d8b0eec

difftreelog

source

tests/src/interfaces/nft/definitions.ts3.9 KiBsourcehistory
1function mkDummy(name: string) {2  return {3    ['dummy' + name]: 'u32',4  };5}67type RpcParam = {8  name: string;9  type: string;10  isOptional?: true;11};1213const CROSS_ACCOUNT_ID_TYPE = 'PalletCommonAccountBasicCrossAccountIdRepr';14const TOKEN_ID_TYPE = 'NftDataStructsTokenId';1516const collectionParam = {name: 'collection', type: 'NftDataStructsCollectionId'};17const tokenParam = {name: 'tokenId', type: TOKEN_ID_TYPE};18const crossAccountParam = (name = 'account') => ({name, type: CROSS_ACCOUNT_ID_TYPE});19const atParam = {name: 'at', type: 'Hash', isOptional: true};2021const fun = (description: string, params: RpcParam[], type: string) => ({22  description,23  params: [...params, atParam],24  type,25});2627export default {28  rpc: {29    adminlist: fun('Get admin list', [collectionParam], 'Vec<PalletCommonAccountBasicCrossAccountIdRepr>'),30    allowlist: fun('Get allowlist', [collectionParam], 'Vec<PalletCommonAccountBasicCrossAccountIdRepr>'),3132    accountTokens: fun('Get tokens owned by account', [collectionParam, crossAccountParam()], 'Vec<NftDataStructsTokenId>'),33    collectionTokens: fun('Get tokens contained in collection', [collectionParam], 'Vec<NftDataStructsTokenId>'),3435    lastTokenId: fun('Get last token id', [collectionParam], TOKEN_ID_TYPE),36    accountBalance: fun('Get amount of different user tokens', [collectionParam, crossAccountParam()], 'u32'),37    balance: fun('Get amount of specific account token', [collectionParam, crossAccountParam(), tokenParam], 'u128'),38    allowance: fun('Get allowed amount', [collectionParam, crossAccountParam('sender'), crossAccountParam('spender'), tokenParam], 'u128'),39    tokenOwner: fun('Get token owner', [collectionParam, tokenParam], CROSS_ACCOUNT_ID_TYPE),40    constMetadata: fun('Get token constant metadata', [collectionParam, tokenParam], 'Vec<u8>'),41    variableMetadata: fun('Get token variable metadata', [collectionParam, tokenParam], 'Vec<u8>'),42    tokenExists: fun('Check if token exists', [collectionParam, tokenParam], 'bool'),43  },44  types: {45    PalletCommonAccountBasicCrossAccountIdRepr: {46      _enum: {47        Substrate: 'AccountId',48        Ethereum: 'H160',49      },50    },51    NftDataStructsCollection: {52      owner: 'AccountId',53      mode: 'NftDataStructsCollectionMode',54      access: 'NftDataStructsAccessMode',55      name: 'Vec<u16>',56      description: 'Vec<u16>',57      tokenPrefix: 'Vec<u8>',58      mintMode: 'bool',59      offchainSchema: 'Vec<u8>',60      schemaVersion: 'NftDataStructsSchemaVersion',61      sponsorship: 'NftDataStructsSponsorshipState',62      limits: 'NftDataStructsCollectionLimits',63      variableOnChainSchema: 'Vec<u8>',64      constOnChainSchema: 'Vec<u8>',65      metaUpdatePermission: 'NftDataStructsMetaUpdatePermission',66    },67    NftDataStructsCollectionId: 'u32',68    NftDataStructsTokenId: 'u32',69    PalletNonfungibleItemData: mkDummy('NftItemData'),70    PalletRefungibleItemData: mkDummy('RftItemData'),71    NftDataStructsCollectionMode: mkDummy('CollectionMode'),72    NftDataStructsCreateItemData: mkDummy('CreateItemData'),73    NftDataStructsCollectionLimits: {74      accountTokenOwnershipLimit: 'Option<u32>',75      sponsoredDataSize: 'Option<u32>',76      sponsoredDataRateLimit: 'Option<u32>',77      tokenLimit: 'Option<u32>',78      sponsorTransferTimeout: 'Option<u32>',79      ownerCanTransfer: 'Option<bool>',80      ownerCanDestroy: 'Option<bool>',81      transfersEnabled: 'Option<bool>',82    },83    NftDataStructsMetaUpdatePermission: {84      _enum: ['ItemOwner', 'Admin', 'None'],85    },86    NftDataStructsSponsorshipState: {87      _enum: {88        Disabled: null,89        Unconfirmed: 'AccountId',90        Confirmed: 'AccountId',91      },92    },93    NftDataStructsAccessMode: {94      _enum: ['Normal', 'AllowList'],95    },96    NftDataStructsSchemaVersion: mkDummy('SchemaVersion'),9798    PalletUnqSchedulerScheduledV2: mkDummy('ScheduledV2'),99    PalletUnqSchedulerCallSpec: mkDummy('CallSpec'),100    PalletUnqSchedulerReleases: mkDummy('Releases'),101  },102};