git.delta.rocks / unique-network / refs/commits / 75d727efa2e1

difftreelog

source

tests/src/interfaces/appPromotion/definitions.ts2.2 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/>.1617type RpcParam = {18  name: string;19  type: string;20  isOptional?: true;21};2223const CROSS_ACCOUNT_ID_TYPE = 'PalletEvmAccountBasicCrossAccountIdRepr';2425const collectionParam = {name: 'collection', type: 'u32'};26const tokenParam = {name: 'tokenId', type: 'u32'};27const propertyKeysParam = {name: 'propertyKeys', type: 'Vec<String>', isOptional: true};28const crossAccountParam = (name = 'account') => ({name, type: CROSS_ACCOUNT_ID_TYPE});29const atParam = {name: 'at', type: 'Hash', isOptional: true};3031const fun = (description: string, params: RpcParam[], type: string) => ({32  description,33  params: [...params, atParam],34  type,35});3637export default {38  types: {},39  rpc: {40    totalStaked: fun(41      'Returns the total amount of staked tokens',42      [{name: 'staker', type: CROSS_ACCOUNT_ID_TYPE, isOptional: true}],43      'u128',44    ),45    totalStakedPerBlock: fun(46      'Returns the total amount of staked tokens per block when staked',47      [crossAccountParam('staker')],48      'Vec<(u32, u128)>',49    ),50    totalStakingLocked: fun(51      'Return the total amount locked by staking tokens',52      [crossAccountParam('staker')],53      'u128',54    ),55    pendingUnstake: fun(56      'Returns the total amount of unstaked tokens',57      [{name: 'staker', type: CROSS_ACCOUNT_ID_TYPE, isOptional: true}],58      'u128',59    ),60    pendingUnstakePerBlock: fun(61      'Returns the total amount of unstaked tokens per block',62      [crossAccountParam('staker')],63      'Vec<(u32, u128)>',64    ),65  },66};