git.delta.rocks / unique-network / refs/commits / 081791eb4c21

difftreelog

source

tests/src/interfaces/appPromotion/definitions.ts1.9 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 crossAccountParam = (name = 'account') => ({name, type: CROSS_ACCOUNT_ID_TYPE});26const atParam = {name: 'at', type: 'Hash', isOptional: true};2728const fun = (description: string, params: RpcParam[], type: string) => ({29  description,30  params: [...params, atParam],31  type,32});3334export default {35  types: {},36  rpc: {37    totalStaked: fun(38      'Returns the total amount of staked tokens',39      [{name: 'staker', type: CROSS_ACCOUNT_ID_TYPE, isOptional: true}],40      'u128',41    ),42    totalStakedPerBlock: fun(43      'Returns the total amount of staked tokens per block when staked',44      [crossAccountParam('staker')],45      'Vec<(u32, u128)>',46    ),47    pendingUnstake: fun(48      'Returns the total amount of unstaked tokens',49      [{name: 'staker', type: CROSS_ACCOUNT_ID_TYPE, isOptional: true}],50      'u128',51    ),52    pendingUnstakePerBlock: fun(53      'Returns the total amount of unstaked tokens per block',54      [crossAccountParam('staker')],55      'Vec<(u32, u128)>',56    ),57  },58};