git.delta.rocks / unique-network / refs/commits / bdae39bb7f33

difftreelog

source

tests/src/interfaces/unique/definitions.ts4.1 KiBsourcehistory
1// Copyright 2019-2022 Unique Network (Gibraltar) Ltd.2// This file is part of Unique Network.34// Unique Network is free software: you can redistribute it and/or modify5// it under the terms of the GNU General Public License as published by6// the Free Software Foundation, either version 3 of the License, or7// (at your option) any later version.89// Unique Network is distributed in the hope that it will be useful,10// but WITHOUT ANY WARRANTY; without even the implied warranty of11// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the12// GNU General Public License for more details.1314// You should have received a copy of the GNU General Public License15// along with Unique Network. If not, see <http://www.gnu.org/licenses/>.1617import types from '../lookup';1819type RpcParam = {20  name: string;21  type: string;22  isOptional?: true;23};2425const CROSS_ACCOUNT_ID_TYPE = 'PalletEvmAccountBasicCrossAccountIdRepr';2627const collectionParam = {name: 'collection', type: 'u32'};28const tokenParam = {name: 'tokenId', type: 'u32'};29const propertyKeysParam = {name: 'propertyKeys', type: 'Vec<String>', isOptional: true};30const crossAccountParam = (name = 'account') => ({name, type: CROSS_ACCOUNT_ID_TYPE});31const atParam = {name: 'at', type: 'Hash', isOptional: true};3233const fun = (description: string, params: RpcParam[], type: string) => ({34  description,35  params: [...params, atParam],36  type,37});3839export default {40  types,41  rpc: {42    adminlist: fun('Get admin list', [collectionParam], 'Vec<PalletEvmAccountBasicCrossAccountIdRepr>'),43    allowlist: fun('Get allowlist', [collectionParam], 'Vec<PalletEvmAccountBasicCrossAccountIdRepr>'),4445    accountTokens: fun('Get tokens owned by account', [collectionParam, crossAccountParam()], 'Vec<u32>'),46    collectionTokens: fun('Get tokens contained in collection', [collectionParam], 'Vec<u32>'),4748    lastTokenId: fun('Get last token id', [collectionParam], 'u32'),49    totalSupply: fun('Get amount of unique collection tokens', [collectionParam], 'u32'),50    accountBalance: fun('Get amount of different user tokens', [collectionParam, crossAccountParam()], 'u32'),51    balance: fun('Get amount of specific account token', [collectionParam, crossAccountParam(), tokenParam], 'u128'),52    allowance: fun('Get allowed amount', [collectionParam, crossAccountParam('sender'), crossAccountParam('spender'), tokenParam], 'u128'),53    tokenOwner: fun('Get token owner', [collectionParam, tokenParam], `Option<${CROSS_ACCOUNT_ID_TYPE}>`),54    topmostTokenOwner: fun('Get token owner, in case of nested token - find parent recursive', [collectionParam, tokenParam], `Option<${CROSS_ACCOUNT_ID_TYPE}>`),55    constMetadata: fun('Get token constant metadata', [collectionParam, tokenParam], 'Vec<u8>'),56    variableMetadata: fun('Get token variable metadata', [collectionParam, tokenParam], 'Vec<u8>'),57    collectionProperties: fun(58      'Get collection properties',59      [collectionParam, propertyKeysParam],60      'Vec<UpDataStructsProperty>',61    ),62    tokenProperties: fun(63      'Get token properties',64      [collectionParam, tokenParam, propertyKeysParam],65      'Vec<UpDataStructsProperty>',66    ),67    propertyPermissions: fun(68      'Get property permissions',69      [collectionParam, propertyKeysParam],70      'Vec<UpDataStructsPropertyKeyPermission>',71    ),72    tokenData: fun(73      'Get token data',74      [collectionParam, tokenParam, propertyKeysParam],75      'UpDataStructsTokenData',76    ),77    tokenExists: fun('Check if token exists', [collectionParam, tokenParam], 'bool'),78    collectionById: fun('Get collection by specified id', [collectionParam], 'Option<UpDataStructsRpcCollection>'),79    collectionStats: fun('Get collection stats', [], 'UpDataStructsCollectionStats'),80    allowed: fun('Check if user is allowed to use collection', [collectionParam, crossAccountParam()], 'bool'),81    nextSponsored: fun('Get number of blocks when sponsored transaction is available', [collectionParam, crossAccountParam(), tokenParam], 'Option<u64>'),82    effectiveCollectionLimits: fun('Get effective collection limits', [collectionParam], 'Option<UpDataStructsCollectionLimits>'),83  },84};