mirror of
https://github.com/pezkuwichain/pezkuwi-apps.git
synced 2026-04-22 05:27:56 +00:00
feat: initial Pezkuwi Apps rebrand from polkadot-apps
Rebranded terminology: - Polkadot → Pezkuwi - Kusama → Dicle - Westend → Zagros - Rococo → PezkuwiChain - Substrate → Bizinikiwi - parachain → teyrchain Custom logos with Kurdistan brand colors (#e6007a → #86e62a): - bizinikiwi-hexagon.svg - sora-bizinikiwi.svg - hezscanner.svg - heztreasury.svg - pezkuwiscan.svg - pezkuwistats.svg - pezkuwiassembly.svg - pezkuwiholic.svg
This commit is contained in:
@@ -0,0 +1,83 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { OverrideBundleDefinition } from '@pezkuwi/types/types';
|
||||
|
||||
/* eslint-disable sort-keys */
|
||||
const definitions: OverrideBundleDefinition = {
|
||||
types: [
|
||||
{
|
||||
minmax: [
|
||||
266,
|
||||
281
|
||||
],
|
||||
types: {
|
||||
ChainId: 'u8',
|
||||
DepositNonce: 'u64',
|
||||
ResourceId: '[u8; 32]',
|
||||
ProposalStatus: {
|
||||
_enum: [
|
||||
'Initiated',
|
||||
'Approved',
|
||||
'Rejected'
|
||||
]
|
||||
},
|
||||
ProposalVotes: {
|
||||
votes_for: 'Vec<AccountId>',
|
||||
votes_against: 'Vec<AccountId>',
|
||||
status: 'ProposalStatus',
|
||||
expiry: 'BlockNumber'
|
||||
},
|
||||
TokenId: 'u256',
|
||||
Erc721Token: {
|
||||
id: 'TokenId',
|
||||
metadata: 'Vec<u8>'
|
||||
},
|
||||
Address: 'IndicesLookupSource',
|
||||
LookupSource: 'IndicesLookupSource',
|
||||
AccountInfo: 'AccountInfoWithDualRefCount',
|
||||
ValidatorPrefs: {
|
||||
commission: 'Compact<Perbill>'
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
minmax: [
|
||||
282,
|
||||
294
|
||||
],
|
||||
types: {
|
||||
ChainId: 'u8',
|
||||
DepositNonce: 'u64',
|
||||
ResourceId: '[u8; 32]',
|
||||
ProposalStatus: {
|
||||
_enum: [
|
||||
'Initiated',
|
||||
'Approved',
|
||||
'Rejected'
|
||||
]
|
||||
},
|
||||
ProposalVotes: {
|
||||
votes_for: 'Vec<AccountId>',
|
||||
votes_against: 'Vec<AccountId>',
|
||||
status: 'ProposalStatus',
|
||||
expiry: 'BlockNumber'
|
||||
},
|
||||
TokenId: 'u256',
|
||||
Erc721Token: {
|
||||
id: 'TokenId',
|
||||
metadata: 'Vec<u8>'
|
||||
},
|
||||
Address: 'MultiAddress',
|
||||
LookupSource: 'MultiAddress',
|
||||
AccountInfo: 'AccountInfoWithDualRefCount'
|
||||
}
|
||||
},
|
||||
{
|
||||
minmax: [295, null],
|
||||
types: {}
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
export default definitions;
|
||||
@@ -0,0 +1,13 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { OverrideBundleDefinition } from '@pezkuwi/types/types';
|
||||
|
||||
import cere from './cere.js';
|
||||
|
||||
// NOTE: The mapping is done from chain name in system.chain
|
||||
const chain: Record<string, OverrideBundleDefinition> = {
|
||||
'Cere Mainnet Beta': cere
|
||||
};
|
||||
|
||||
export default chain;
|
||||
@@ -0,0 +1,48 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { HexString } from '@pezkuwi/util/types';
|
||||
|
||||
import { knownGenesis } from '@pezkuwi/networks/defaults';
|
||||
import { assert, BN } from '@pezkuwi/util';
|
||||
|
||||
export function getGenesis (name: string): HexString {
|
||||
const network = Object.entries(knownGenesis).find(([network]) => network === name);
|
||||
|
||||
assert(network?.[1][0], `Unable to find genesisHash for ${name}`);
|
||||
|
||||
return network[1][0];
|
||||
}
|
||||
|
||||
export const KULUPU_GENESIS = getGenesis('kulupu');
|
||||
|
||||
export const DICLE_GENESIS = getGenesis('dicle');
|
||||
|
||||
export const PEZKUWI_GENESIS = getGenesis('pezkuwi');
|
||||
export const PEZKUWI_DENOM_BLOCK = new BN(1248328);
|
||||
|
||||
export const PASEO_GENESIS = '0x77afd6190f1554ad45fd0d31aee62aacc33c6db0ea801129acb813f913e0764f';
|
||||
|
||||
export const ZAGROS_GENESIS = getGenesis('zagros');
|
||||
|
||||
export const NEATCOIN_GENESIS = '0xfbb541421d30423c9a753ffa844b64fd44d823f513bf49e3b73b3a656309a595';
|
||||
|
||||
export const DOCK_GENESIS = '0x6bfe24dca2a3be10f22212678ac13a6446ec764103c0f3471c71609eac384aae';
|
||||
|
||||
export const DOCK_POS_TESTNET_GENESIS = '0x59d93e2ce42abb8aa52ca9a9e820233667104751f8f2980578a47a26a7235027';
|
||||
|
||||
export const NFTMART_GENESIS = '0xfcf9074303d8f319ad1bf0195b145871977e7c375883b834247cb01ff22f51f9';
|
||||
|
||||
export const CERE_NETWORK_GENESIS = '0x81443836a9a24caaa23f1241897d1235717535711d1d3fe24eae4fdc942c092c';
|
||||
|
||||
export const CERE_NETWORK_TESTNET_GENESIS = '0x42b9b44b4950b6c1edae543a7696caf8d0a160e9bc0424ab4ab217f7a8ba30dc';
|
||||
|
||||
export const VARA_NETWORK_GENESIS = '0xfe1b4c55fd4d668101126434206571a7838a8b6b93a6d1b95d607e78e6c53763';
|
||||
|
||||
export const VARA_NETWORK_TESTNET_GENESIS = '0x525639f713f397dcf839bd022cd821f367ebcf179de7b9253531f8adbe5436d6';
|
||||
|
||||
export const JOYSTREAM_GENESIS = '0x6b5e488e0fa8f9821110d5c13f4c468abcd43ce5e297e62b34c53c3346465956';
|
||||
|
||||
export const ZKVERIFY_GENESIS = '0x060e3dd3fa2904d031206bb913c954687a2bcc350e5a83d33d9e273ad21460f1';
|
||||
|
||||
export const ZKVERIFY_VOLTA_GENESIS = '0xff7fe5a610f15fe7a0c52f94f86313fb7db7d3786e7f8acf2b66c11d5be7c242';
|
||||
@@ -0,0 +1,43 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { OverrideBundleDefinition, OverrideBundleType } from '@pezkuwi/types/types';
|
||||
|
||||
import equilibrium from './spec/equilibrium.js';
|
||||
import genshiro from './spec/genshiro.js';
|
||||
import hyperbridge from './spec/hyperbridge.js';
|
||||
import interbtc from './spec/interbtc.js';
|
||||
import mangata from './spec/mangata.js';
|
||||
import subspace from './spec/subspace.js';
|
||||
|
||||
const mapping: [OverrideBundleDefinition, string[]][] = [
|
||||
[equilibrium, ['Equilibrium', 'Equilibrium-teyrchain']],
|
||||
[genshiro, ['Genshiro', 'Gens-teyrchain']],
|
||||
[interbtc, ['interbtc-teyrchain', 'interbtc-standalone', 'interlay-teyrchain', 'kintsugi-teyrchain', 'testnet-kintsugi', 'testnet-interlay']],
|
||||
[subspace, ['subspace']],
|
||||
[mangata, ['mangata', 'mangata-teyrchain']]
|
||||
];
|
||||
|
||||
const specMappings: [OverrideBundleDefinition, string[]][] = [
|
||||
[hyperbridge, ['nexus', 'messier', 'gargantua']]
|
||||
];
|
||||
|
||||
export function applyDerives (typesBundle: OverrideBundleType): OverrideBundleType {
|
||||
mapping.forEach(([{ derives }, chains]): void => {
|
||||
chains.forEach((chain): void => {
|
||||
if (typesBundle.spec?.[chain]) {
|
||||
typesBundle.spec[chain].derives = derives;
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
specMappings.forEach(([spec, chains]): void => {
|
||||
chains.forEach((chain): void => {
|
||||
if (typesBundle.spec?.[chain]) {
|
||||
typesBundle.spec[chain] = spec;
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
return typesBundle;
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import { applyDerives } from './derives.js';
|
||||
import { typesBundle as typesOnlyBundle } from './typesBundle.js';
|
||||
|
||||
export * from './constants.js';
|
||||
export * from './params/index.js';
|
||||
|
||||
export const typesBundle = /*#__PURE__*/ applyDerives(typesOnlyBundle);
|
||||
@@ -0,0 +1,7 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
export * from './inflation.js';
|
||||
export * from './proposalThresholds.js';
|
||||
export * from './teleport.js';
|
||||
export * from './tracks/index.js';
|
||||
@@ -0,0 +1,61 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { ApiPromise } from '@pezkuwi/api';
|
||||
|
||||
import { CERE_NETWORK_GENESIS, CERE_NETWORK_TESTNET_GENESIS, DOCK_POS_TESTNET_GENESIS, JOYSTREAM_GENESIS, DICLE_GENESIS, NEATCOIN_GENESIS, NFTMART_GENESIS, PEZKUWI_GENESIS, VARA_NETWORK_GENESIS, VARA_NETWORK_TESTNET_GENESIS, ZKVERIFY_GENESIS, ZKVERIFY_VOLTA_GENESIS } from '../constants.js';
|
||||
|
||||
interface InflationParams {
|
||||
auctionAdjust: number;
|
||||
auctionMax: number;
|
||||
falloff: number;
|
||||
maxInflation: number;
|
||||
minInflation: number;
|
||||
stakeTarget: number;
|
||||
}
|
||||
|
||||
const DEFAULT_PARAMS: InflationParams = {
|
||||
auctionAdjust: 0,
|
||||
auctionMax: 0,
|
||||
// 5% for falloff, as per the defaults, see
|
||||
// https://github.com/pezkuwichain/pezkuwi/blob/816cb64ea16102c6c79f6be2a917d832d98df757/runtime/dicle/src/lib.rs#L534
|
||||
falloff: 0.05,
|
||||
// 10% max, 0.25% min, see
|
||||
// https://github.com/pezkuwichain/pezkuwi/blob/816cb64ea16102c6c79f6be2a917d832d98df757/runtime/dicle/src/lib.rs#L523
|
||||
maxInflation: 0.1,
|
||||
minInflation: 0.025,
|
||||
stakeTarget: 0.5
|
||||
};
|
||||
|
||||
const CERE_NETWORK_INFLATION_PARAMS = { ...DEFAULT_PARAMS, maxInflation: 0.05, minInflation: 0.0001, stakeTarget: 0.2 };
|
||||
|
||||
const VARA_NETWORK_INFLATION_PARAMS = { ...DEFAULT_PARAMS, maxInflation: 0, minInflation: 0.0001, stakeTarget: 0.85 };
|
||||
|
||||
const JOYSTREAM_INFLATION_PARAMS = { ...DEFAULT_PARAMS, maxInflation: 0.03, minInflation: 0.0075 };
|
||||
|
||||
const ZKVERIFY_INFLATION_PARAMS = { ...DEFAULT_PARAMS, auctionAdjust: 0, maxInflation: 0.025, minInflation: 0.025, stakeTarget: 0 };
|
||||
|
||||
const ZKVERIFY_VOLTA_INFLATION_PARAMS = { ...DEFAULT_PARAMS, auctionAdjust: 0, maxInflation: 0.025, minInflation: 0.025, stakeTarget: 0 };
|
||||
|
||||
const KNOWN_PARAMS: Record<string, InflationParams> = {
|
||||
[CERE_NETWORK_GENESIS]: CERE_NETWORK_INFLATION_PARAMS,
|
||||
[CERE_NETWORK_TESTNET_GENESIS]: CERE_NETWORK_INFLATION_PARAMS,
|
||||
[DOCK_POS_TESTNET_GENESIS]: { ...DEFAULT_PARAMS, stakeTarget: 0.75 },
|
||||
[JOYSTREAM_GENESIS]: JOYSTREAM_INFLATION_PARAMS,
|
||||
// 30% for up to 60 slots, see
|
||||
// https://github.com/pezkuwichain/pezkuwi/blob/816cb64ea16102c6c79f6be2a917d832d98df757/runtime/dicle/src/lib.rs#L526-L527
|
||||
// 75% ideal target, see
|
||||
// https://github.com/pezkuwichain/pezkuwi/blob/816cb64ea16102c6c79f6be2a917d832d98df757/runtime/dicle/src/lib.rs#L529-L531
|
||||
[DICLE_GENESIS]: { ...DEFAULT_PARAMS, auctionAdjust: (0.3 / 60), auctionMax: 60, stakeTarget: 0.75 },
|
||||
[NEATCOIN_GENESIS]: { ...DEFAULT_PARAMS, stakeTarget: 0.75 },
|
||||
[NFTMART_GENESIS]: { ...DEFAULT_PARAMS, falloff: 0.04, stakeTarget: 0.60 },
|
||||
[PEZKUWI_GENESIS]: { ...DEFAULT_PARAMS, stakeTarget: 0.75 },
|
||||
[VARA_NETWORK_GENESIS]: VARA_NETWORK_INFLATION_PARAMS,
|
||||
[VARA_NETWORK_TESTNET_GENESIS]: VARA_NETWORK_INFLATION_PARAMS,
|
||||
[ZKVERIFY_GENESIS]: ZKVERIFY_INFLATION_PARAMS,
|
||||
[ZKVERIFY_VOLTA_GENESIS]: ZKVERIFY_VOLTA_INFLATION_PARAMS
|
||||
};
|
||||
|
||||
export function getInflationParams (api: ApiPromise): InflationParams {
|
||||
return KNOWN_PARAMS[api.genesisHash.toHex()] || DEFAULT_PARAMS;
|
||||
}
|
||||
@@ -0,0 +1,54 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { ApiPromise } from '@pezkuwi/api';
|
||||
|
||||
import { KULUPU_GENESIS, DICLE_GENESIS, PEZKUWI_GENESIS } from '../constants.js';
|
||||
|
||||
// normal fast-track proposals
|
||||
const FAST_TRACK: Record<string, number> = {
|
||||
default: 2 / 3
|
||||
};
|
||||
|
||||
// in the case where block < fastTrackVotingPeriod
|
||||
const FAST_TRACK_NO_DELAY: Record<string, number> = {
|
||||
default: 1
|
||||
};
|
||||
|
||||
const PROPOSE: Record<string, number> = {
|
||||
[KULUPU_GENESIS]: 1,
|
||||
[DICLE_GENESIS]: 1 / 2,
|
||||
[PEZKUWI_GENESIS]: 3 / 5,
|
||||
default: 1 / 2
|
||||
};
|
||||
|
||||
const SLASH: Record<string, number> = {
|
||||
[DICLE_GENESIS]: 1 / 2,
|
||||
[PEZKUWI_GENESIS]: 3 / 4,
|
||||
default: 1 / 2
|
||||
};
|
||||
|
||||
const TREASURY: Record<string, number> = {
|
||||
[KULUPU_GENESIS]: 1 / 2,
|
||||
[DICLE_GENESIS]: 3 / 5,
|
||||
[PEZKUWI_GENESIS]: 3 / 5,
|
||||
default: 3 / 5
|
||||
};
|
||||
|
||||
export function getFastTrackThreshold (api: ApiPromise, isDefault: boolean): number {
|
||||
return isDefault
|
||||
? (FAST_TRACK[api.genesisHash.toHex()] || FAST_TRACK.default)
|
||||
: (FAST_TRACK_NO_DELAY[api.genesisHash.toHex()] || FAST_TRACK_NO_DELAY.default);
|
||||
}
|
||||
|
||||
export function getProposalThreshold (api: ApiPromise): number {
|
||||
return PROPOSE[api.genesisHash.toHex()] || PROPOSE.default;
|
||||
}
|
||||
|
||||
export function getSlashProposalThreshold (api: ApiPromise): number {
|
||||
return SLASH[api.genesisHash.toHex()] || SLASH.default;
|
||||
}
|
||||
|
||||
export function getTreasuryProposalThreshold (api: ApiPromise): number {
|
||||
return TREASURY[api.genesisHash.toHex()] || TREASURY.default;
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { ApiPromise } from '@pezkuwi/api';
|
||||
|
||||
import { DICLE_GENESIS } from '../constants.js';
|
||||
|
||||
// 4 * BaseXcmWeight on Dicle
|
||||
const DICLE_WEIGHT = 4 * 1_000_000_000;
|
||||
|
||||
const DEFAULT_WEIGHT = DICLE_WEIGHT;
|
||||
|
||||
const KNOWN_WEIGHTS: Record<string, number> = {
|
||||
[DICLE_GENESIS]: DICLE_WEIGHT
|
||||
};
|
||||
|
||||
export function getTeleportWeight (api: ApiPromise): number {
|
||||
return KNOWN_WEIGHTS[api.genesisHash.toHex()] || DEFAULT_WEIGHT;
|
||||
}
|
||||
@@ -0,0 +1,208 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { TrackInfo } from './types.js';
|
||||
|
||||
import { BN } from '@pezkuwi/util';
|
||||
|
||||
import { compareFellowshipRank, formatSpendFactory } from './util.js';
|
||||
|
||||
// hardcoded here since this is static (hopefully no re-denomination anytime...)
|
||||
const formatSpend = formatSpendFactory({
|
||||
decimals: 12,
|
||||
forceUnit: '-',
|
||||
withSi: true,
|
||||
withUnit: 'DCL'
|
||||
});
|
||||
|
||||
// https://github.com/pezkuwichain/pezkuwi/blob/6e3f2c5b4b6e6927915de2f784e1d831717760fa/runtime/dicle/constants/src/lib.rs#L28-L32
|
||||
const UNITS = new BN(1_000_000_000_000);
|
||||
const QUID = UNITS.divn(30);
|
||||
const GRAND = QUID.muln(1_000);
|
||||
|
||||
// https://github.com/pezkuwichain/pezkuwi/blob/6e3f2c5b4b6e6927915de2f784e1d831717760fa/runtime/dicle/src/governance/origins.rs#L170-L179
|
||||
const SPEND_LIMITS = {
|
||||
BigSpender: formatSpend(1_000, GRAND),
|
||||
BigTipper: formatSpend(1, GRAND),
|
||||
MediumSpender: formatSpend(100, GRAND),
|
||||
SmallSpender: formatSpend(10, GRAND),
|
||||
SmallTipper: formatSpend(250, QUID),
|
||||
Treasurer: formatSpend(10_000, GRAND)
|
||||
};
|
||||
|
||||
export const dicle: Record<string, TrackInfo[]> = {
|
||||
fellowshipReferenda: [
|
||||
{
|
||||
compare: compareFellowshipRank(0),
|
||||
id: 0,
|
||||
name: 'candidates',
|
||||
origin: { Origins: 'FellowshipInitiates' },
|
||||
text: 'Origin commanded by any members of the Pezkuwi Fellowship (no Dan grade needed)'
|
||||
},
|
||||
{
|
||||
compare: compareFellowshipRank(1),
|
||||
id: 1,
|
||||
name: 'members',
|
||||
origin: { Origins: 'Fellowship1Dan' },
|
||||
text: 'Origin commanded by rank 1 of the Pezkuwi Fellowship and with a success of 1'
|
||||
},
|
||||
{
|
||||
compare: compareFellowshipRank(2),
|
||||
id: 2,
|
||||
name: 'proficients',
|
||||
origin: { Origins: 'Fellowship2Dan' },
|
||||
text: 'Origin commanded by rank 2 of the Pezkuwi Fellowship and with a success of 2'
|
||||
},
|
||||
{
|
||||
|
||||
compare: compareFellowshipRank(3),
|
||||
id: 3,
|
||||
name: 'fellows',
|
||||
origin: [
|
||||
{ Origins: 'Fellowship3Dan' },
|
||||
{ Origins: 'Fellows' }
|
||||
],
|
||||
text: 'Origin commanded by Pezkuwi Fellows (3rd Dan fellows or greater)'
|
||||
},
|
||||
{
|
||||
compare: compareFellowshipRank(4),
|
||||
id: 4,
|
||||
name: 'senior fellows',
|
||||
origin: { Origins: 'Fellowship4Dan' },
|
||||
text: 'Origin commanded by rank 4 of the Pezkuwi Fellowship and with a success of 4'
|
||||
},
|
||||
{
|
||||
compare: compareFellowshipRank(5),
|
||||
id: 5,
|
||||
name: 'experts',
|
||||
origin: [
|
||||
{ Origins: 'Fellowship5Dan' },
|
||||
{ Origins: 'FellowshipExperts' }
|
||||
],
|
||||
text: 'Origin commanded by Pezkuwi Experts (5th Dan fellows or greater)'
|
||||
},
|
||||
{
|
||||
compare: compareFellowshipRank(6),
|
||||
id: 6,
|
||||
name: 'senior experts',
|
||||
origin: { Origins: 'Fellowship6Dan' },
|
||||
text: 'Origin commanded by rank 6 of the Pezkuwi Fellowship and with a success of 6'
|
||||
},
|
||||
{
|
||||
compare: compareFellowshipRank(7),
|
||||
id: 7,
|
||||
name: 'masters',
|
||||
origin: [
|
||||
{ Origins: 'Fellowship7Dan' },
|
||||
{ Origins: 'FellowshipMasters' }
|
||||
],
|
||||
text: 'Origin commanded by Pezkuwi Masters (7th Dan fellows of greater)'
|
||||
},
|
||||
{
|
||||
compare: compareFellowshipRank(8),
|
||||
id: 8,
|
||||
name: 'senior masters',
|
||||
origin: { Origins: 'Fellowship8Dan' },
|
||||
text: 'Origin commanded by rank 8 of the Pezkuwi Fellowship and with a success of 8'
|
||||
},
|
||||
{
|
||||
compare: compareFellowshipRank(9),
|
||||
id: 9,
|
||||
name: 'grand masters',
|
||||
origin: { Origins: 'Fellowship9Dan' },
|
||||
text: 'Origin commanded by rank 9 of the Pezkuwi Fellowship and with a success of 9'
|
||||
}
|
||||
],
|
||||
referenda: [
|
||||
{
|
||||
id: 0,
|
||||
name: 'root',
|
||||
origin: { system: 'Root' },
|
||||
text: 'Origin for the system root'
|
||||
},
|
||||
{
|
||||
id: 1,
|
||||
name: 'whitelisted_caller',
|
||||
origin: { Origins: 'WhitelistedCaller' },
|
||||
text: 'Origin able to dispatch a whitelisted call'
|
||||
},
|
||||
{
|
||||
id: 10,
|
||||
name: 'staking_admin',
|
||||
origin: { Origins: 'StakingAdmin' },
|
||||
text: 'Origin for cancelling slashes'
|
||||
},
|
||||
{
|
||||
id: 11,
|
||||
name: 'treasurer',
|
||||
origin: { Origins: 'Treasurer' },
|
||||
text: 'Origin for spending (any amount of) funds'
|
||||
},
|
||||
{
|
||||
id: 12,
|
||||
name: 'lease_admin',
|
||||
origin: { Origins: 'LeaseAdmin' },
|
||||
text: 'Origin able to force slot leases'
|
||||
},
|
||||
{
|
||||
id: 13,
|
||||
name: 'fellowship_admin',
|
||||
origin: { Origins: 'FellowshipAdmin' },
|
||||
text: 'Origin for managing the composition of the fellowship'
|
||||
},
|
||||
{
|
||||
id: 14,
|
||||
name: 'general_admin',
|
||||
origin: { Origins: 'GeneralAdmin' },
|
||||
text: 'Origin for managing the registrar'
|
||||
},
|
||||
{
|
||||
id: 15,
|
||||
name: 'auction_admin',
|
||||
origin: { Origins: 'AuctionAdmin' },
|
||||
text: 'Origin for starting auctions'
|
||||
},
|
||||
{
|
||||
id: 20,
|
||||
name: 'referendum_canceller',
|
||||
origin: { Origins: 'ReferendumCanceller' },
|
||||
text: 'Origin able to cancel referenda'
|
||||
},
|
||||
{
|
||||
id: 21,
|
||||
name: 'referendum_killer',
|
||||
origin: { Origins: 'ReferendumKiller' },
|
||||
text: 'Origin able to kill referenda'
|
||||
},
|
||||
{
|
||||
id: 30,
|
||||
name: 'small_tipper',
|
||||
origin: { Origins: 'SmallTipper' },
|
||||
text: `Origin able to spend up to ${SPEND_LIMITS.SmallTipper} from the treasury at once`
|
||||
},
|
||||
{
|
||||
id: 31,
|
||||
name: 'big_tipper',
|
||||
origin: { Origins: 'BigTipper' },
|
||||
text: `Origin able to spend up to ${SPEND_LIMITS.BigTipper} from the treasury at once`
|
||||
},
|
||||
{
|
||||
id: 32,
|
||||
name: 'small_spender',
|
||||
origin: { Origins: 'SmallSpender' },
|
||||
text: `Origin able to spend up to ${SPEND_LIMITS.SmallSpender} from the treasury at once`
|
||||
},
|
||||
{
|
||||
id: 33,
|
||||
name: 'medium_spender',
|
||||
origin: { Origins: 'MediumSpender' },
|
||||
text: `Origin able to spend up to ${SPEND_LIMITS.MediumSpender} from the treasury at once`
|
||||
},
|
||||
{
|
||||
id: 34,
|
||||
name: 'big_spender',
|
||||
origin: { Origins: 'BigSpender' },
|
||||
text: `Origin able to spend up to ${SPEND_LIMITS.BigSpender} from the treasury at once`
|
||||
}
|
||||
]
|
||||
};
|
||||
@@ -0,0 +1,35 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { ApiPromise } from '@pezkuwi/api';
|
||||
import type { TrackInfo } from './types.js';
|
||||
|
||||
import { DICLE_GENESIS, PEZKUWI_GENESIS } from '../../constants.js';
|
||||
import { dicle } from './dicle.js';
|
||||
import { pezkuwi } from './pezkuwi.js';
|
||||
|
||||
const KNOWN_GENE_TRACKS: Record<string, Record<string, TrackInfo[]>> = {
|
||||
[DICLE_GENESIS]: dicle,
|
||||
[PEZKUWI_GENESIS]: pezkuwi
|
||||
};
|
||||
|
||||
const KNOWN_SPEC_TRACKS: Record<string, Record<string, TrackInfo[]>> = {
|
||||
dicle,
|
||||
// for kitchensink, we just use the root
|
||||
node: {
|
||||
referenda: [
|
||||
{
|
||||
id: 0,
|
||||
name: 'root',
|
||||
origin: { system: 'Root' }
|
||||
}
|
||||
]
|
||||
},
|
||||
pezkuwi
|
||||
};
|
||||
|
||||
export function getGovernanceTracks (api: ApiPromise, specName: string, palletReferenda: string): TrackInfo[] | undefined {
|
||||
const lookup = KNOWN_GENE_TRACKS[api.genesisHash.toHex()] || KNOWN_SPEC_TRACKS[specName];
|
||||
|
||||
return lookup?.[palletReferenda];
|
||||
}
|
||||
@@ -0,0 +1,208 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { TrackInfo } from './types.js';
|
||||
|
||||
import { BN } from '@pezkuwi/util';
|
||||
|
||||
import { compareFellowshipRank, formatSpendFactory } from './util.js';
|
||||
|
||||
// hardcoded here since this is static (hopefully no re-denomination anytime...)
|
||||
const formatSpend = formatSpendFactory({
|
||||
decimals: 10,
|
||||
forceUnit: '-',
|
||||
withSi: true,
|
||||
withUnit: 'HEZ'
|
||||
});
|
||||
|
||||
// https://github.com/pezkuwichain/pezkuwi/blob/6e3f2c5b4b6e6927915de2f784e1d831717760fa/runtime/dicle/constants/src/lib.rs#L28-L32
|
||||
const UNITS = new BN(10_000_000_000);
|
||||
const DOLLARS = UNITS;
|
||||
const GRAND = DOLLARS.muln(1_000);
|
||||
|
||||
// https://github.com/pezkuwichain/pezkuwi/blob/6e3f2c5b4b6e6927915de2f784e1d831717760fa/runtime/dicle/src/governance/origins.rs#L170-L179
|
||||
const SPEND_LIMITS = {
|
||||
BigSpender: formatSpend(1_000, GRAND),
|
||||
BigTipper: formatSpend(1, GRAND),
|
||||
MediumSpender: formatSpend(100, GRAND),
|
||||
SmallSpender: formatSpend(10, GRAND),
|
||||
SmallTipper: formatSpend(250, DOLLARS),
|
||||
Treasurer: formatSpend(10_000, GRAND)
|
||||
};
|
||||
|
||||
export const pezkuwi: Record<string, TrackInfo[]> = {
|
||||
fellowshipReferenda: [
|
||||
{
|
||||
compare: compareFellowshipRank(0),
|
||||
id: 0,
|
||||
name: 'candidates',
|
||||
origin: { Origins: 'FellowshipInitiates' },
|
||||
text: 'Origin commanded by any members of the Pezkuwi Fellowship (no Dan grade needed)'
|
||||
},
|
||||
{
|
||||
compare: compareFellowshipRank(1),
|
||||
id: 1,
|
||||
name: 'members',
|
||||
origin: { Origins: 'Fellowship1Dan' },
|
||||
text: 'Origin commanded by rank 1 of the Pezkuwi Fellowship and with a success of 1'
|
||||
},
|
||||
{
|
||||
compare: compareFellowshipRank(2),
|
||||
id: 2,
|
||||
name: 'proficients',
|
||||
origin: { Origins: 'Fellowship2Dan' },
|
||||
text: 'Origin commanded by rank 2 of the Pezkuwi Fellowship and with a success of 2'
|
||||
},
|
||||
{
|
||||
|
||||
compare: compareFellowshipRank(3),
|
||||
id: 3,
|
||||
name: 'fellows',
|
||||
origin: [
|
||||
{ Origins: 'Fellowship3Dan' },
|
||||
{ Origins: 'Fellows' }
|
||||
],
|
||||
text: 'Origin commanded by Pezkuwi Fellows (3rd Dan fellows or greater)'
|
||||
},
|
||||
{
|
||||
compare: compareFellowshipRank(4),
|
||||
id: 4,
|
||||
name: 'senior fellows',
|
||||
origin: { Origins: 'Fellowship4Dan' },
|
||||
text: 'Origin commanded by rank 4 of the Pezkuwi Fellowship and with a success of 4'
|
||||
},
|
||||
{
|
||||
compare: compareFellowshipRank(5),
|
||||
id: 5,
|
||||
name: 'experts',
|
||||
origin: [
|
||||
{ Origins: 'Fellowship5Dan' },
|
||||
{ Origins: 'FellowshipExperts' }
|
||||
],
|
||||
text: 'Origin commanded by Pezkuwi Experts (5th Dan fellows or greater)'
|
||||
},
|
||||
{
|
||||
compare: compareFellowshipRank(6),
|
||||
id: 6,
|
||||
name: 'senior experts',
|
||||
origin: { Origins: 'Fellowship6Dan' },
|
||||
text: 'Origin commanded by rank 6 of the Pezkuwi Fellowship and with a success of 6'
|
||||
},
|
||||
{
|
||||
compare: compareFellowshipRank(7),
|
||||
id: 7,
|
||||
name: 'masters',
|
||||
origin: [
|
||||
{ Origins: 'Fellowship7Dan' },
|
||||
{ Origins: 'FellowshipMasters' }
|
||||
],
|
||||
text: 'Origin commanded by Pezkuwi Masters (7th Dan fellows of greater)'
|
||||
},
|
||||
{
|
||||
compare: compareFellowshipRank(8),
|
||||
id: 8,
|
||||
name: 'senior masters',
|
||||
origin: { Origins: 'Fellowship8Dan' },
|
||||
text: 'Origin commanded by rank 8 of the Pezkuwi Fellowship and with a success of 8'
|
||||
},
|
||||
{
|
||||
compare: compareFellowshipRank(9),
|
||||
id: 9,
|
||||
name: 'grand masters',
|
||||
origin: { Origins: 'Fellowship9Dan' },
|
||||
text: 'Origin commanded by rank 9 of the Pezkuwi Fellowship and with a success of 9'
|
||||
}
|
||||
],
|
||||
referenda: [
|
||||
{
|
||||
id: 0,
|
||||
name: 'root',
|
||||
origin: { system: 'Root' },
|
||||
text: 'Origin for the system root'
|
||||
},
|
||||
{
|
||||
id: 1,
|
||||
name: 'whitelisted_caller',
|
||||
origin: { Origins: 'WhitelistedCaller' },
|
||||
text: 'Origin able to dispatch a whitelisted call'
|
||||
},
|
||||
{
|
||||
id: 10,
|
||||
name: 'staking_admin',
|
||||
origin: { Origins: 'StakingAdmin' },
|
||||
text: 'Origin for cancelling slashes'
|
||||
},
|
||||
{
|
||||
id: 11,
|
||||
name: 'treasurer',
|
||||
origin: { Origins: 'Treasurer' },
|
||||
text: 'Origin for spending (any amount of) funds'
|
||||
},
|
||||
{
|
||||
id: 12,
|
||||
name: 'lease_admin',
|
||||
origin: { Origins: 'LeaseAdmin' },
|
||||
text: 'Origin able to force slot leases'
|
||||
},
|
||||
{
|
||||
id: 13,
|
||||
name: 'fellowship_admin',
|
||||
origin: { Origins: 'FellowshipAdmin' },
|
||||
text: 'Origin for managing the composition of the fellowship'
|
||||
},
|
||||
{
|
||||
id: 14,
|
||||
name: 'general_admin',
|
||||
origin: { Origins: 'GeneralAdmin' },
|
||||
text: 'Origin for managing the registrar'
|
||||
},
|
||||
{
|
||||
id: 15,
|
||||
name: 'auction_admin',
|
||||
origin: { Origins: 'AuctionAdmin' },
|
||||
text: 'Origin for starting auctions'
|
||||
},
|
||||
{
|
||||
id: 20,
|
||||
name: 'referendum_canceller',
|
||||
origin: { Origins: 'ReferendumCanceller' },
|
||||
text: 'Origin able to cancel referenda'
|
||||
},
|
||||
{
|
||||
id: 21,
|
||||
name: 'referendum_killer',
|
||||
origin: { Origins: 'ReferendumKiller' },
|
||||
text: 'Origin able to kill referenda'
|
||||
},
|
||||
{
|
||||
id: 30,
|
||||
name: 'small_tipper',
|
||||
origin: { Origins: 'SmallTipper' },
|
||||
text: `Origin able to spend up to ${SPEND_LIMITS.SmallTipper} from the treasury at once`
|
||||
},
|
||||
{
|
||||
id: 31,
|
||||
name: 'big_tipper',
|
||||
origin: { Origins: 'BigTipper' },
|
||||
text: `Origin able to spend up to ${SPEND_LIMITS.BigTipper} from the treasury at once`
|
||||
},
|
||||
{
|
||||
id: 32,
|
||||
name: 'small_spender',
|
||||
origin: { Origins: 'SmallSpender' },
|
||||
text: `Origin able to spend up to ${SPEND_LIMITS.SmallSpender} from the treasury at once`
|
||||
},
|
||||
{
|
||||
id: 33,
|
||||
name: 'medium_spender',
|
||||
origin: { Origins: 'MediumSpender' },
|
||||
text: `Origin able to spend up to ${SPEND_LIMITS.MediumSpender} from the treasury at once`
|
||||
},
|
||||
{
|
||||
id: 34,
|
||||
name: 'big_spender',
|
||||
origin: { Origins: 'BigSpender' },
|
||||
text: `Origin able to spend up to ${SPEND_LIMITS.BigSpender} from the treasury at once`
|
||||
}
|
||||
]
|
||||
};
|
||||
@@ -0,0 +1,15 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { BN } from '@pezkuwi/util';
|
||||
|
||||
export type Origin = { system: string } | { Origins: string };
|
||||
|
||||
export interface TrackInfo {
|
||||
// TODO We would want to make this generic for non-fellowship
|
||||
compare?: (memberInfo: BN) => boolean;
|
||||
id: number;
|
||||
name: string;
|
||||
origin: Origin | Origin[];
|
||||
text?: string;
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { BN } from '@pezkuwi/util';
|
||||
|
||||
import { formatBalance } from '@pezkuwi/util';
|
||||
|
||||
interface FormatOptions {
|
||||
decimals: number;
|
||||
forceUnit: '-',
|
||||
withSi: true,
|
||||
withUnit: string;
|
||||
}
|
||||
|
||||
export function formatSpendFactory (options: FormatOptions): (mul: number, value: BN) => string {
|
||||
return (mul: number, value: BN): string => {
|
||||
// We lose the decimals here... depending on chain config, this could be non-optimal
|
||||
// (A simple formatBalance(value.muln(mul), FMT_OPTS) formats to 4 decimals)
|
||||
return `${formatBalance(value.muln(mul), options).split('.')[0]} ${options.withUnit}`;
|
||||
};
|
||||
}
|
||||
|
||||
export function compareFellowshipRank (trackId: number): (rank: BN) => boolean {
|
||||
return (rank: BN): boolean =>
|
||||
rank.gten(trackId);
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import { typesBundleForPezkuwi } from '@acala-network/type-definitions';
|
||||
|
||||
export default typesBundleForPezkuwi.spec;
|
||||
@@ -0,0 +1,20 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { OverrideBundleDefinition } from '@pezkuwi/types/types';
|
||||
|
||||
/* eslint-disable sort-keys */
|
||||
const definitions: OverrideBundleDefinition = {
|
||||
types: [
|
||||
{
|
||||
// on all versions
|
||||
minmax: [0, undefined],
|
||||
types: {
|
||||
Address: 'MultiAddress',
|
||||
LookupSource: 'MultiAddress'
|
||||
}
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
export default definitions;
|
||||
@@ -0,0 +1,20 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { OverrideBundleDefinition } from '@pezkuwi/types/types';
|
||||
|
||||
const definitions: OverrideBundleDefinition = {
|
||||
types: [
|
||||
{
|
||||
// on all versions
|
||||
minmax: [0, undefined],
|
||||
types: {
|
||||
AccountId: 'EthereumAccountId',
|
||||
Address: 'AccountId',
|
||||
LookupSource: 'AccountId'
|
||||
}
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
export default definitions;
|
||||
@@ -0,0 +1,35 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { OverrideBundleDefinition } from '@pezkuwi/types/types';
|
||||
|
||||
/* eslint-disable sort-keys */
|
||||
|
||||
const definitions: OverrideBundleDefinition = {
|
||||
types: [
|
||||
{
|
||||
// on all versions
|
||||
minmax: [0, undefined],
|
||||
types: {
|
||||
TeyrchainAccountIdOf: 'AccountId',
|
||||
Proof: {
|
||||
leafHash: 'Hash',
|
||||
sortedHashes: 'Vec<Hash>'
|
||||
},
|
||||
ProxyType: {
|
||||
_enum: [
|
||||
'Any',
|
||||
'NonTransfer',
|
||||
'Governance',
|
||||
'_Staking',
|
||||
'NonProxy'
|
||||
]
|
||||
},
|
||||
RelayChainAccountId: 'AccountId',
|
||||
RootHashOf: 'Hash'
|
||||
}
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
export default definitions;
|
||||
@@ -0,0 +1,22 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { OverrideBundleDefinition } from '@pezkuwi/types/types';
|
||||
|
||||
// structs need to be in order
|
||||
/* eslint-disable sort-keys */
|
||||
|
||||
const definitions: OverrideBundleDefinition = {
|
||||
types: [
|
||||
{
|
||||
// on all versions
|
||||
minmax: [0, undefined],
|
||||
types: {
|
||||
Address: 'AccountId',
|
||||
LookupSource: 'AccountId'
|
||||
}
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
export default definitions;
|
||||
@@ -0,0 +1,207 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { OverrideBundleDefinition } from '@pezkuwi/types/types';
|
||||
|
||||
/* eslint-disable sort-keys */
|
||||
|
||||
const definitions: OverrideBundleDefinition = {
|
||||
types: [
|
||||
{
|
||||
// on all versions
|
||||
minmax: [0, undefined],
|
||||
types: {
|
||||
Address: 'MultiAddress',
|
||||
AskPeriodNum: 'u64',
|
||||
AskPointNum: 'u32',
|
||||
AuthorityAres: 'AccountId',
|
||||
AccountParticipateEstimates: {
|
||||
account: 'AccountId',
|
||||
end: 'BlockNumber',
|
||||
estimates: 'Option<u64>',
|
||||
range_index: 'Option<u8>',
|
||||
bsc_address: 'Option<Bytes>',
|
||||
multiplier: 'MultiplierOption',
|
||||
reward: 'u128'
|
||||
},
|
||||
AresPriceData: {
|
||||
price: 'u64',
|
||||
account_id: 'AccountId',
|
||||
create_bn: 'BlockNumber',
|
||||
fraction_len: 'FractionLength',
|
||||
raw_number: 'JsonNumberValue',
|
||||
timestamp: 'u64'
|
||||
},
|
||||
BalanceOf: 'Balance',
|
||||
ChooseWinnersPayload: {
|
||||
block_number: 'BlockNumber',
|
||||
winners: 'Vec<AccountParticipateEstimates>',
|
||||
public: 'AccountId',
|
||||
estimates_id: 'u64',
|
||||
symbol: 'Bytes',
|
||||
price: '(u64, FractionLength)'
|
||||
},
|
||||
EstimatesState: {
|
||||
_enum: [
|
||||
'InActive',
|
||||
'Active',
|
||||
'WaitingPayout',
|
||||
'Completed'
|
||||
]
|
||||
},
|
||||
EstimatesType: {
|
||||
_enum: [
|
||||
'DEVIATION', 'RANGE'
|
||||
]
|
||||
},
|
||||
FractionLength: 'u32',
|
||||
HttpError: {
|
||||
_enum: {
|
||||
IoErr: 'Bytes',
|
||||
TimeOut: 'Bytes',
|
||||
StatusErr: '(Bytes,u16)',
|
||||
ParseErr: 'Bytes'
|
||||
}
|
||||
},
|
||||
HttpErrTracePayload: {
|
||||
trace_data: 'HttpErrTraceData<BlockNumber, AuthorityId>',
|
||||
auth: 'AuthorityId',
|
||||
public: 'MultiSigner'
|
||||
},
|
||||
HttpErrTraceData: {
|
||||
block_number: 'BlockNumber',
|
||||
err_auth: 'AuthorityId',
|
||||
err_status: 'HttpError',
|
||||
tip: 'Bytes'
|
||||
},
|
||||
JsonNumberValue: {
|
||||
integer: 'u64',
|
||||
fraction: 'u64',
|
||||
fraction_length: 'u32',
|
||||
exponent: 'u32'
|
||||
},
|
||||
Keys: 'SessionKeys3',
|
||||
LookupSource: 'MultiAddress',
|
||||
MultiplierOption: {
|
||||
_enum: [
|
||||
'Base1', 'Base2', 'Base5'
|
||||
]
|
||||
},
|
||||
OcwControlData: {
|
||||
need_verifier_check: 'bool',
|
||||
open_free_price_reporter: 'bool',
|
||||
open_paid_price_reporter: 'bool'
|
||||
},
|
||||
OffchainSignature: 'MultiSignature',
|
||||
PaidValue: {
|
||||
create_bn: 'BlockNumber',
|
||||
amount: 'BalanceOf',
|
||||
is_income: 'bool'
|
||||
},
|
||||
PurchasedId: 'Bytes',
|
||||
PriceKey: 'Vec<u8>',
|
||||
PriceToken: 'Bytes',
|
||||
PreCheckPayload: {
|
||||
block_number: 'BlockNumber',
|
||||
pre_check_stash: 'AccountId',
|
||||
pre_check_auth: 'AuthorityId',
|
||||
auth: 'AuthorityId',
|
||||
public: 'MultiSigner'
|
||||
},
|
||||
PreCheckResultPayload: {
|
||||
block_number: 'BlockNumber',
|
||||
pre_check_list: 'Vec<PreCheckStruct>',
|
||||
pre_check_stash: 'AccountId',
|
||||
pre_check_auth: 'AuthorityId',
|
||||
public: 'MultiSigner'
|
||||
},
|
||||
PreCheckCompareLog: {
|
||||
chain_avg_price_list: 'BTreeMap<Bytes, (u64, FractionLength)>',
|
||||
validator_up_price_list: 'BTreeMap<Bytes, (u64, FractionLength)>',
|
||||
raw_precheck_list: 'Vec<PreCheckStruct>'
|
||||
},
|
||||
PreCheckStruct: {
|
||||
price_key: 'Vec<u8>',
|
||||
number_val: 'JsonNumberValue',
|
||||
max_offset: 'Percent',
|
||||
timestamp: 'u64'
|
||||
},
|
||||
PricePayloadSubPrice: '(PriceKey, u64, FractionLength, JsonNumberValue, u64)',
|
||||
PricePayloadSubJumpBlock: '(PriceKey, RequestInterval)',
|
||||
PricePayload: {
|
||||
block_number: 'BlockNumber',
|
||||
price: 'Vec<PricePayloadSubPrice>',
|
||||
jump_block: 'Vec<PricePayloadSubJumpBlock>',
|
||||
auth: 'AuthorityId',
|
||||
public: 'MultiSigner'
|
||||
},
|
||||
PreCheckStatus: {
|
||||
_enum: [
|
||||
'Review',
|
||||
'Prohibit',
|
||||
'Pass'
|
||||
]
|
||||
},
|
||||
PurchasedRequestData: {
|
||||
account_id: 'AccountId',
|
||||
offer: 'BalanceOf',
|
||||
create_bn: 'BlockNumber',
|
||||
submit_threshold: 'u8',
|
||||
max_duration: 'u64',
|
||||
request_keys: 'Vec<Vec<u8>>'
|
||||
},
|
||||
PurchasedPricePayload: {
|
||||
block_number: 'BlockNumber',
|
||||
purchase_id: 'Vec<u8>',
|
||||
price: 'Vec<PricePayloadSubPrice>',
|
||||
auth: 'AuthorityId',
|
||||
public: 'MultiSigner'
|
||||
},
|
||||
PurchasedAvgPriceData: {
|
||||
create_bn: 'u64',
|
||||
reached_type: 'u8',
|
||||
price_data: '(u64, FractionLength)'
|
||||
},
|
||||
PurchasedDefaultData: {
|
||||
submit_threshold: 'u8',
|
||||
max_duration: 'u64',
|
||||
avg_keep_duration: 'u64'
|
||||
},
|
||||
PurchasedForceCleanPayload: {
|
||||
BlockNumber: 'BlockNumber',
|
||||
purchase_id_list: 'Vec<Vec<u8>>',
|
||||
auth: 'AuthorityId',
|
||||
public: 'MultiSigner'
|
||||
},
|
||||
PurchaseId: 'Vec<u8>',
|
||||
Releases: {
|
||||
_enum: [
|
||||
'V1_0_0_Ancestral',
|
||||
'V1_0_1_HttpErrUpgrade',
|
||||
'V1_1_0_HttpErrUpgrade',
|
||||
'V1_2_0'
|
||||
]
|
||||
},
|
||||
RequestInterval: 'u8',
|
||||
StatusErr: '(u16)',
|
||||
SymbolEstimatesConfig: {
|
||||
symbol: 'Bytes',
|
||||
estimates_type: 'EstimatesType',
|
||||
id: 'u64',
|
||||
ticket_price: 'Balance',
|
||||
symbol_completed_price: 'u64',
|
||||
symbol_fraction: 'FractionLength',
|
||||
start: 'BlockNumber',
|
||||
end: 'BlockNumber',
|
||||
distribute: 'BlockNumber',
|
||||
deviation: 'Option<Permill>',
|
||||
range: 'Option<Vec<u64>>',
|
||||
total_reward: 'Balance',
|
||||
state: 'EstimatesState'
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
export default definitions;
|
||||
@@ -0,0 +1,208 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { OverrideBundleDefinition } from '@pezkuwi/types/types';
|
||||
|
||||
// structs need to be in order
|
||||
/* eslint-disable sort-keys */
|
||||
|
||||
const definitions: OverrideBundleDefinition = {
|
||||
types: [
|
||||
{
|
||||
// on all versions
|
||||
minmax: [0, undefined],
|
||||
types: {
|
||||
Address: 'MultiAddress',
|
||||
AskPeriodNum: 'u64',
|
||||
AskPointNum: 'u32',
|
||||
AuthorityAres: 'AccountId',
|
||||
AccountParticipateEstimates: {
|
||||
account: 'AccountId',
|
||||
end: 'BlockNumber',
|
||||
estimates: 'Option<u64>',
|
||||
range_index: 'Option<u8>',
|
||||
eth_address: 'Option<Bytes>',
|
||||
multiplier: 'MultiplierOption',
|
||||
reward: 'u128'
|
||||
},
|
||||
AresPriceData: {
|
||||
price: 'u64',
|
||||
account_id: 'AccountId',
|
||||
create_bn: 'BlockNumber',
|
||||
fraction_len: 'FractionLength',
|
||||
raw_number: 'JsonNumberValue',
|
||||
timestamp: 'u64'
|
||||
},
|
||||
BalanceOf: 'Balance',
|
||||
ChooseWinnersPayload: {
|
||||
block_number: 'BlockNumber',
|
||||
winners: 'Vec<AccountParticipateEstimates>',
|
||||
public: 'AccountId',
|
||||
estimates_config: 'Bytes',
|
||||
symbol: 'Bytes',
|
||||
price: '(u64, FractionLength)'
|
||||
},
|
||||
EstimatesState: {
|
||||
_enum: [
|
||||
'InActive',
|
||||
'Active',
|
||||
'WaitingPayout',
|
||||
'Completed'
|
||||
]
|
||||
},
|
||||
EstimatesType: {
|
||||
_enum: [
|
||||
'DEVIATION', 'RANGE'
|
||||
]
|
||||
},
|
||||
FractionLength: 'u32',
|
||||
HttpError: {
|
||||
_enum: {
|
||||
IoErr: 'Bytes',
|
||||
TimeOut: 'Bytes',
|
||||
StatusErr: '(Bytes,u16)',
|
||||
ParseErr: 'Bytes'
|
||||
}
|
||||
},
|
||||
HttpErrTracePayload: {
|
||||
trace_data: 'HttpErrTraceData<BlockNumber, AuthorityId>',
|
||||
auth: 'AuthorityId',
|
||||
public: 'MultiSigner'
|
||||
},
|
||||
HttpErrTraceData: {
|
||||
block_number: 'BlockNumber',
|
||||
err_auth: 'AuthorityId',
|
||||
err_status: 'HttpError',
|
||||
tip: 'Bytes'
|
||||
},
|
||||
JsonNumberValue: {
|
||||
integer: 'u64',
|
||||
fraction: 'u64',
|
||||
fraction_length: 'u32',
|
||||
exponent: 'u32'
|
||||
},
|
||||
Keys: 'SessionKeys4',
|
||||
LookupSource: 'MultiAddress',
|
||||
MultiplierOption: {
|
||||
_enum: [
|
||||
'Base1', 'Base2', 'Base5'
|
||||
]
|
||||
},
|
||||
OcwControlData: {
|
||||
need_verifier_check: 'bool',
|
||||
open_free_price_reporter: 'bool',
|
||||
open_paid_price_reporter: 'bool'
|
||||
},
|
||||
OffchainSignature: 'MultiSignature',
|
||||
PaidValue: {
|
||||
create_bn: 'BlockNumber',
|
||||
amount: 'BalanceOf',
|
||||
is_income: 'bool'
|
||||
},
|
||||
PurchasedId: 'Bytes',
|
||||
PriceKey: 'Vec<u8>',
|
||||
PriceToken: 'Bytes',
|
||||
PreCheckPayload: {
|
||||
block_number: 'BlockNumber',
|
||||
pre_check_stash: 'AccountId',
|
||||
pre_check_auth: 'AuthorityId',
|
||||
auth: 'AuthorityId',
|
||||
public: 'MultiSigner'
|
||||
},
|
||||
PreCheckResultPayload: {
|
||||
block_number: 'BlockNumber',
|
||||
pre_check_list: 'Vec<PreCheckStruct>',
|
||||
pre_check_stash: 'AccountId',
|
||||
pre_check_auth: 'AuthorityId',
|
||||
public: 'MultiSigner'
|
||||
},
|
||||
PreCheckCompareLog: {
|
||||
chain_avg_price_list: 'BTreeMap<Bytes, (u64, FractionLength)>',
|
||||
validator_up_price_list: 'BTreeMap<Bytes, (u64, FractionLength)>',
|
||||
raw_precheck_list: 'Vec<PreCheckStruct>'
|
||||
},
|
||||
PreCheckStruct: {
|
||||
price_key: 'Vec<u8>',
|
||||
number_val: 'JsonNumberValue',
|
||||
max_offset: 'Percent',
|
||||
timestamp: 'u64'
|
||||
},
|
||||
PricePayloadSubPrice: '(PriceKey, u64, FractionLength, JsonNumberValue, u64)',
|
||||
PricePayloadSubJumpBlock: '(PriceKey, RequestInterval)',
|
||||
PricePayload: {
|
||||
block_number: 'BlockNumber',
|
||||
price: 'Vec<PricePayloadSubPrice>',
|
||||
jump_block: 'Vec<PricePayloadSubJumpBlock>',
|
||||
auth: 'AuthorityId',
|
||||
public: 'MultiSigner'
|
||||
},
|
||||
PreCheckStatus: {
|
||||
_enum: [
|
||||
'Review',
|
||||
'Prohibit',
|
||||
'Pass'
|
||||
]
|
||||
},
|
||||
PurchasedRequestData: {
|
||||
account_id: 'AccountId',
|
||||
offer: 'BalanceOf',
|
||||
create_bn: 'BlockNumber',
|
||||
submit_threshold: 'u8',
|
||||
max_duration: 'u64',
|
||||
request_keys: 'Vec<Vec<u8>>'
|
||||
},
|
||||
PurchasedPricePayload: {
|
||||
block_number: 'BlockNumber',
|
||||
purchase_id: 'Vec<u8>',
|
||||
price: 'Vec<PricePayloadSubPrice>',
|
||||
auth: 'AuthorityId',
|
||||
public: 'MultiSigner'
|
||||
},
|
||||
PurchasedAvgPriceData: {
|
||||
create_bn: 'u64',
|
||||
reached_type: 'u8',
|
||||
price_data: '(u64, FractionLength)'
|
||||
},
|
||||
PurchasedDefaultData: {
|
||||
submit_threshold: 'u8',
|
||||
max_duration: 'u64',
|
||||
avg_keep_duration: 'u64'
|
||||
},
|
||||
PurchasedForceCleanPayload: {
|
||||
BlockNumber: 'BlockNumber',
|
||||
purchase_id_list: 'Vec<Vec<u8>>',
|
||||
auth: 'AuthorityId',
|
||||
public: 'MultiSigner'
|
||||
},
|
||||
PurchaseId: 'Vec<u8>',
|
||||
Releases: {
|
||||
_enum: [
|
||||
'V1_0_0_Ancestral',
|
||||
'V1_0_1_HttpErrUpgrade',
|
||||
'V1_1_0_HttpErrUpgrade',
|
||||
'V1_2_0'
|
||||
]
|
||||
},
|
||||
RequestInterval: 'u8',
|
||||
StatusErr: '(u16)',
|
||||
SymbolEstimatesConfig: {
|
||||
symbol: 'Bytes',
|
||||
estimates_type: 'EstimatesType',
|
||||
id: 'u64',
|
||||
ticket_price: 'Balance',
|
||||
symbol_completed_price: 'u64',
|
||||
symbol_fraction: 'FractionLength',
|
||||
start: 'BlockNumber',
|
||||
end: 'BlockNumber',
|
||||
distribute: 'BlockNumber',
|
||||
deviation: 'Option<Permill>',
|
||||
range: 'Option<Vec<u64>>',
|
||||
total_reward: 'Balance',
|
||||
state: 'EstimatesState'
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
export default definitions;
|
||||
@@ -0,0 +1,60 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { OverrideBundleDefinition } from '@pezkuwi/types/types';
|
||||
|
||||
/* eslint-disable sort-keys */
|
||||
const definitions: OverrideBundleDefinition = {
|
||||
types: [
|
||||
{
|
||||
// on all versions
|
||||
minmax: [0, undefined],
|
||||
types: {
|
||||
Satoshis: 'u64'
|
||||
}
|
||||
}
|
||||
],
|
||||
runtime: {
|
||||
MiningSlotApi: [
|
||||
{
|
||||
methods: {
|
||||
next_slot_era: {
|
||||
description: 'Get the next slot block start and end',
|
||||
params: [],
|
||||
type: '(BlockNumber, BlockNumber)'
|
||||
}
|
||||
},
|
||||
version: 1
|
||||
}
|
||||
],
|
||||
BitcoinApis: [
|
||||
{
|
||||
methods: {
|
||||
redemption_rate: {
|
||||
description: 'Get the current redemption rate for a given number of satoshis',
|
||||
params: [
|
||||
{
|
||||
name: 'satoshis',
|
||||
type: 'Satoshis'
|
||||
}
|
||||
],
|
||||
type: 'Balance'
|
||||
},
|
||||
market_rate: {
|
||||
description: 'Get the current market rate for a given number of satoshis',
|
||||
params: [
|
||||
{
|
||||
name: 'satoshis',
|
||||
type: 'Satoshis'
|
||||
}
|
||||
],
|
||||
type: 'Balance'
|
||||
}
|
||||
},
|
||||
version: 1
|
||||
}
|
||||
]
|
||||
}
|
||||
};
|
||||
|
||||
export default definitions;
|
||||
@@ -0,0 +1,42 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { OverrideBundleDefinition } from '@pezkuwi/types/types';
|
||||
|
||||
// structs need to be in order
|
||||
/* eslint-disable sort-keys */
|
||||
|
||||
const definitions: OverrideBundleDefinition = {
|
||||
types: [
|
||||
{
|
||||
// on all versions
|
||||
minmax: [0, undefined],
|
||||
types: {
|
||||
Keys: 'AccountId',
|
||||
Address: 'MultiAddress',
|
||||
LookupSource: 'MultiAddress',
|
||||
AmountOf: 'Amount',
|
||||
Amount: 'i128',
|
||||
SmartContract: {
|
||||
_enum: {
|
||||
Evm: 'H160',
|
||||
Wasm: 'AccountId'
|
||||
}
|
||||
},
|
||||
EraStakingPoints: {
|
||||
total: 'Balance',
|
||||
stakers: 'BTreeMap<AccountId, Balance>',
|
||||
formerStakedEra: 'EraIndex',
|
||||
claimedRewards: 'Balance'
|
||||
},
|
||||
EraRewardAndStake: {
|
||||
rewards: 'Balance',
|
||||
staked: 'Balance'
|
||||
},
|
||||
EraIndex: 'u32'
|
||||
}
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
export default definitions;
|
||||
@@ -0,0 +1,20 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { OverrideBundleDefinition } from '@pezkuwi/types/types';
|
||||
|
||||
/* eslint-disable sort-keys */
|
||||
const definitions: OverrideBundleDefinition = {
|
||||
types: [
|
||||
{
|
||||
// on all versions
|
||||
minmax: [0, undefined],
|
||||
types: {
|
||||
Address: 'MultiAddress',
|
||||
LookupSource: 'MultiAddress'
|
||||
}
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
export default definitions;
|
||||
@@ -0,0 +1,97 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { OverrideBundleDefinition } from '@pezkuwi/types/types';
|
||||
|
||||
/* eslint-disable sort-keys */
|
||||
|
||||
const definitions: OverrideBundleDefinition = {
|
||||
alias: { tokens: { AccountData: 'OrmlAccountData' } },
|
||||
types: [
|
||||
{
|
||||
// on all versions
|
||||
minmax: [0, undefined],
|
||||
types: {
|
||||
AssetPair: { asset_in: 'AssetId', asset_out: 'AssetId' },
|
||||
Amount: 'i128',
|
||||
AmountOf: 'Amount',
|
||||
Address: 'AccountId',
|
||||
OrmlAccountData: { free: 'Balance', frozen: 'Balance', reserved: 'Balance' },
|
||||
Fee: { numerator: 'u32', denominator: 'u32' },
|
||||
BalanceInfo: { amount: 'Balance', assetId: 'AssetId' },
|
||||
Chain: { genesisHash: 'Vec<u8>', lastBlockHash: 'Vec<u8>' },
|
||||
Currency: 'AssetId',
|
||||
CurrencyId: 'AssetId',
|
||||
CurrencyIdOf: 'AssetId',
|
||||
Intention: {
|
||||
who: 'AccountId',
|
||||
asset_sell: 'AssetId',
|
||||
asset_buy: 'AssetId',
|
||||
amount: 'Balance',
|
||||
discount: 'bool',
|
||||
sell_or_buy: 'IntentionType'
|
||||
},
|
||||
IntentionId: 'Hash',
|
||||
IntentionType: { _enum: ['SELL', 'BUY'] },
|
||||
LookupSource: 'AccountId',
|
||||
Price: 'Balance',
|
||||
ClassId: 'u64',
|
||||
TokenId: 'u64',
|
||||
ClassData: { is_pool: 'bool' },
|
||||
TokenData: { locked: 'bool' },
|
||||
ClassInfo: { metadata: 'Vec<u8>', total_issuance: 'TokenId', owner: 'AccountId', data: 'ClassData' },
|
||||
TokenInfo: { metadata: 'Vec<u8>', owner: 'AccountId', data: 'TokenData' },
|
||||
ClassInfoOf: 'ClassInfo',
|
||||
TokenInfoOf: 'TokenInfo',
|
||||
ClassIdOf: 'ClassId',
|
||||
TokenIdOf: 'TokenId',
|
||||
OrderedSet: 'Vec<AssetId>',
|
||||
VestingSchedule: {
|
||||
start: 'BlockNumber',
|
||||
period: 'BlockNumber',
|
||||
period_count: 'u32',
|
||||
per_period: 'Compact<Balance>'
|
||||
},
|
||||
VestingScheduleOf: 'VestingSchedule',
|
||||
LBPWeight: 'u32',
|
||||
WeightCurveType: { _enum: ['Linear'] },
|
||||
PoolId: 'AccountId',
|
||||
BalanceOf: 'Balance',
|
||||
AssetType: {
|
||||
_enum: {
|
||||
Token: 'Null',
|
||||
PoolShare: '(AssetId,AssetId)'
|
||||
}
|
||||
},
|
||||
Pool: {
|
||||
owner: 'AccountId',
|
||||
start: 'BlockNumber',
|
||||
end: 'BlockNumber',
|
||||
assets: 'AssetPair',
|
||||
initial_weights: 'LBPWeight',
|
||||
final_weights: 'LBPWeight',
|
||||
weight_curve: 'WeightCurveType',
|
||||
pausable: 'bool',
|
||||
paused: 'bool',
|
||||
fee: 'Fee',
|
||||
fee_receiver: 'AccountId'
|
||||
},
|
||||
AssetDetails: {
|
||||
name: 'Vec<u8>',
|
||||
asset_type: 'AssetType',
|
||||
existential_deposit: 'Balance',
|
||||
locked: 'bool'
|
||||
},
|
||||
AssetDetailsT: 'AssetDetails',
|
||||
AssetMetadata: { symbol: 'Vec<u8>', decimals: 'u8' },
|
||||
AssetInstance: 'AssetInstanceV1',
|
||||
MultiLocation: 'MultiLocationV1',
|
||||
MultiAsset: 'MultiAssetV1',
|
||||
Xcm: 'XcmV1',
|
||||
XcmOrder: 'XcmOrderV1'
|
||||
}
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
export default definitions;
|
||||
@@ -0,0 +1,8 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { OverrideBundleDefinition } from '@pezkuwi/types/types';
|
||||
|
||||
import pkg from '@edgeware/node-types';
|
||||
|
||||
export default (pkg.spec.typesBundle as { spec: { edgeware: OverrideBundleDefinition } }).spec.edgeware;
|
||||
@@ -0,0 +1,8 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { OverrideBundleDefinition } from '@pezkuwi/types/types';
|
||||
|
||||
import { typesBundleForPezkuwi } from '@bifrost-finance/type-definitions';
|
||||
|
||||
export default (typesBundleForPezkuwi as { spec: { asgard: OverrideBundleDefinition } }).spec.asgard;
|
||||
@@ -0,0 +1,8 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { OverrideBundleDefinition } from '@pezkuwi/types/types';
|
||||
|
||||
import { typesBundleForPezkuwi } from '@bifrost-finance/type-definitions';
|
||||
|
||||
export default (typesBundleForPezkuwi as { spec: { bifrost: OverrideBundleDefinition } }).spec.bifrost;
|
||||
@@ -0,0 +1,8 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { OverrideBundleDefinition } from '@pezkuwi/types/types';
|
||||
|
||||
import { typesBundleForPezkuwi } from '@bifrost-finance/type-definitions';
|
||||
|
||||
export default (typesBundleForPezkuwi as { spec: { bifrost: OverrideBundleDefinition } }).spec.bifrost;
|
||||
@@ -0,0 +1,128 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { OverrideBundleDefinition } from '@pezkuwi/types/types';
|
||||
|
||||
// structs need to be in order
|
||||
/* eslint-disable sort-keys */
|
||||
|
||||
const definitions: OverrideBundleDefinition = {
|
||||
types: [
|
||||
{
|
||||
// on all versions
|
||||
minmax: [0, undefined],
|
||||
types: {
|
||||
Address: 'MultiAddress',
|
||||
LookupSource: 'MultiAddress',
|
||||
AssetInfo: {
|
||||
owner: 'AccountId',
|
||||
data: 'AssetData'
|
||||
},
|
||||
AssetData: {
|
||||
name: 'Text',
|
||||
description: 'Text',
|
||||
properties: 'Text',
|
||||
supporters: 'Vec<AccountId>'
|
||||
},
|
||||
AuctionId: 'u64',
|
||||
AuctionItem: {
|
||||
asset_id: 'TokenId',
|
||||
class_id: 'ClassId',
|
||||
recipient: 'AccountId',
|
||||
initial_amount: 'Balance',
|
||||
amount: 'Balance',
|
||||
start_time: 'u32',
|
||||
end_time: 'u32'
|
||||
},
|
||||
AuctionInfo: {
|
||||
bid: 'Option<(AccountId,Balance)>',
|
||||
start: 'BlockNumber',
|
||||
end: 'Option<BlockNumber>'
|
||||
},
|
||||
RentId: 'u64',
|
||||
RentalInfo: {
|
||||
owner: 'AccountId',
|
||||
start: 'BlockNumber',
|
||||
end: 'Option<BlockNumber>',
|
||||
price_per_block: 'Balance'
|
||||
},
|
||||
CountryId: 'u64',
|
||||
CollectionId: 'u64',
|
||||
ClassId: 'u32',
|
||||
TokenId: 'u64',
|
||||
ClassInfoOf: {
|
||||
metadata: 'Vec<u8>',
|
||||
total_issuance: 'TokenId',
|
||||
owner: 'AccountId',
|
||||
data: 'NftClassData'
|
||||
},
|
||||
TokenInfoOf: {
|
||||
metadata: 'Vec<u8>',
|
||||
owner: 'AccountId',
|
||||
data: 'NftAssetData'
|
||||
},
|
||||
NftCollectionData: {
|
||||
name: 'Vec<u8>',
|
||||
owner: 'AccountId',
|
||||
properties: 'Vec<u8>'
|
||||
},
|
||||
TokenType: {
|
||||
_enum: [
|
||||
'Transferrable',
|
||||
'BoundToAddress'
|
||||
]
|
||||
},
|
||||
NftAssetData: {
|
||||
name: 'Vec<u8>',
|
||||
description: 'Vec<u8>',
|
||||
properties: 'Vec<u8>'
|
||||
},
|
||||
NftClassData: {
|
||||
deposit: 'Balance',
|
||||
properties: 'Vec<u8>',
|
||||
token_type: 'TokenType'
|
||||
},
|
||||
NetworkId: {
|
||||
_enum: {
|
||||
Any: 'Null',
|
||||
Named: 'Vec<u8>',
|
||||
Pezkuwi: 'Null',
|
||||
Dicle: 'Null'
|
||||
}
|
||||
},
|
||||
CurrencyId: {
|
||||
_enum: {
|
||||
Token: 'TokenSymbol'
|
||||
}
|
||||
},
|
||||
TokenSymbol: {
|
||||
_enum: [
|
||||
'NUUM',
|
||||
'AUSD',
|
||||
'ACA',
|
||||
'HEZ'
|
||||
]
|
||||
},
|
||||
CountryCurrencyId: 'u32',
|
||||
CurrencyIdOf: 'CurrencyId',
|
||||
BalanceIdOf: 'Balance',
|
||||
ChainId: {
|
||||
_enum: {
|
||||
RelayChain: 'Null',
|
||||
ParaChain: 'ParaId'
|
||||
}
|
||||
},
|
||||
XCurrencyId: {
|
||||
chain_id: 'ChainId',
|
||||
currency_id: 'CurrencyId'
|
||||
},
|
||||
GroupCollectionId: 'u64',
|
||||
ClassIdOf: 'u32',
|
||||
TokenIdOf: 'u32',
|
||||
SpotId: 'u32'
|
||||
}
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
export default definitions;
|
||||
@@ -0,0 +1,6 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import { types } from '@metaverse-network-sdk/type-definitions';
|
||||
|
||||
export default types;
|
||||
@@ -0,0 +1,82 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { OverrideBundleDefinition } from '@pezkuwi/types/types';
|
||||
|
||||
// structs need to be in order
|
||||
/* eslint-disable sort-keys */
|
||||
|
||||
const definitions: OverrideBundleDefinition = {
|
||||
types: [
|
||||
{
|
||||
// on all versions
|
||||
minmax: [0, undefined],
|
||||
types: {
|
||||
Address: 'MultiAddress',
|
||||
LookupSource: 'MultiAddress',
|
||||
AssetInfo: {
|
||||
owner: 'AccountId',
|
||||
data: 'AssetData'
|
||||
},
|
||||
AssetData: {
|
||||
name: 'Text',
|
||||
description: 'Text',
|
||||
properties: 'Text',
|
||||
supporters: 'Vec<AccountId>'
|
||||
},
|
||||
AuctionId: 'u64',
|
||||
AuctionItem: {
|
||||
asset_id: 'TokenId',
|
||||
class_id: 'ClassId',
|
||||
recipient: 'AccountId',
|
||||
initial_amount: 'Balance',
|
||||
amount: 'Balance',
|
||||
start_time: 'u32',
|
||||
end_time: 'u32'
|
||||
},
|
||||
AuctionInfo: {
|
||||
bid: 'Option<(AccountId,Balance)>',
|
||||
start: 'BlockNumber',
|
||||
end: 'Option<BlockNumber>'
|
||||
},
|
||||
RentId: 'u64',
|
||||
RentalInfo: {
|
||||
owner: 'AccountId',
|
||||
start: 'BlockNumber',
|
||||
end: 'Option<BlockNumber>',
|
||||
price_per_block: 'Balance'
|
||||
},
|
||||
CountryId: 'u64',
|
||||
CountryCurrencyId: 'u32',
|
||||
CollectionId: 'u64',
|
||||
ClassId: 'u32',
|
||||
TokenId: 'u64',
|
||||
ClassInfoOf: {
|
||||
metadata: 'Vec<u8>',
|
||||
total_issuance: 'TokenId',
|
||||
owner: 'AccountId',
|
||||
data: 'NftClassData'
|
||||
},
|
||||
TokenInfoOf: {
|
||||
metadata: 'Vec<u8>',
|
||||
owner: 'AccountId',
|
||||
data: 'NftAssetData'
|
||||
},
|
||||
NftCollectionData: {
|
||||
name: 'Vec<u8>',
|
||||
owner: 'AccountId',
|
||||
properties: 'Vec<u8>'
|
||||
},
|
||||
CurrencyId: 'u32',
|
||||
CurrencyIdOf: 'CurrencyId',
|
||||
BalanceIdOf: 'Balance',
|
||||
GroupCollectionId: 'u64',
|
||||
ClassIdOf: 'u32',
|
||||
TokenIdOf: 'u32',
|
||||
SpotId: 'u32'
|
||||
}
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
export default definitions;
|
||||
@@ -0,0 +1,44 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { OverrideBundleDefinition } from '@pezkuwi/types/types';
|
||||
|
||||
// structs need to be in order
|
||||
/* eslint-disable sort-keys */
|
||||
|
||||
const definitions: OverrideBundleDefinition = {
|
||||
types: [
|
||||
{
|
||||
// on all versions
|
||||
minmax: [0, undefined],
|
||||
types: {
|
||||
Balance: 'u64',
|
||||
NeuronMetadata: {
|
||||
version: 'u32',
|
||||
ip: 'u128',
|
||||
port: 'u16',
|
||||
ipType: 'u8',
|
||||
uid: 'u32',
|
||||
netuid: 'u16',
|
||||
modality: 'u8',
|
||||
hotkey: 'AccountId',
|
||||
coldkey: 'AccountId',
|
||||
active: 'u32',
|
||||
lastUpdate: 'u64',
|
||||
priority: 'u64',
|
||||
stake: 'u64',
|
||||
rank: 'u64',
|
||||
trust: 'u64',
|
||||
consensus: 'u64',
|
||||
incentive: 'u64',
|
||||
dividends: 'u64',
|
||||
emission: 'u64',
|
||||
bonds: 'Vec<(u32, u64)>',
|
||||
weights: 'Vec<(u32, u32)>'
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
export default definitions;
|
||||
@@ -0,0 +1,75 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { OverrideBundleDefinition } from '@pezkuwi/types/types';
|
||||
|
||||
// structs need to be in order
|
||||
/* eslint-disable sort-keys */
|
||||
|
||||
const definitions: OverrideBundleDefinition = {
|
||||
types: [
|
||||
{
|
||||
// on all versions
|
||||
minmax: [0, undefined],
|
||||
types: {
|
||||
AnchorData: {
|
||||
id: 'H256',
|
||||
docRoot: 'H256',
|
||||
anchoredBlock: 'u64'
|
||||
},
|
||||
Fee: {
|
||||
key: 'Hash',
|
||||
price: 'Balance'
|
||||
},
|
||||
PreCommitData: {
|
||||
signingRoot: 'H256',
|
||||
identity: 'H256',
|
||||
expirationBlock: 'u64'
|
||||
},
|
||||
Proof: {
|
||||
leafHash: 'H256',
|
||||
sortedHashes: 'H256'
|
||||
},
|
||||
// MultiAccount
|
||||
MultiAccountData: {
|
||||
threshold: 'u16',
|
||||
signatories: 'Vec<AccountId>',
|
||||
deposit: 'Balance',
|
||||
depositor: 'AccountId'
|
||||
},
|
||||
// Bridge constants
|
||||
ChainId: 'u8',
|
||||
ResourceId: '[u8; 32]',
|
||||
'chainbridge::ChainId': 'u8',
|
||||
DepositNonce: 'u64',
|
||||
// NFT
|
||||
RegistryId: 'H160',
|
||||
TokenId: 'U256',
|
||||
AssetId: {
|
||||
registryId: 'RegistryId',
|
||||
tokenId: 'TokenId'
|
||||
},
|
||||
RegistryInfo: {
|
||||
ownerCanBurn: 'bool',
|
||||
fields: 'Vec<Bytes>'
|
||||
},
|
||||
AssetInfo: {
|
||||
metadata: 'Bytes'
|
||||
},
|
||||
ProofMint: {
|
||||
value: 'Bytes',
|
||||
property: 'Bytes',
|
||||
salt: '[u8; 32]',
|
||||
hashes: 'Vec<Hash>'
|
||||
},
|
||||
MintInfo: {
|
||||
anchorId: 'Hash',
|
||||
staticHashes: '[Hash; 3]',
|
||||
proofs: 'Vec<ProofMint>'
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
export default definitions;
|
||||
@@ -0,0 +1,53 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { OverrideBundleDefinition } from '@pezkuwi/types/types';
|
||||
|
||||
/* eslint-disable sort-keys */
|
||||
|
||||
const definitions: OverrideBundleDefinition = {
|
||||
types: [
|
||||
{
|
||||
// on all versions
|
||||
minmax: [0, undefined],
|
||||
types: {
|
||||
AnchorData: {
|
||||
id: 'Hash',
|
||||
docRoot: 'Hash',
|
||||
anchoredBlock: 'u64'
|
||||
},
|
||||
ChainId: 'u8',
|
||||
'chainbridge::ChainId': 'u8',
|
||||
DepositNonce: 'u64',
|
||||
Fee: {
|
||||
key: 'Hash',
|
||||
price: 'Balance'
|
||||
},
|
||||
TeyrchainAccountIdOf: 'AccountId',
|
||||
PreCommitData: {
|
||||
signingRoot: 'Hash',
|
||||
identity: 'AccountId',
|
||||
expirationBlock: 'u64'
|
||||
},
|
||||
Proof: {
|
||||
leafHash: 'Hash',
|
||||
sortedHashes: 'Vec<Hash>'
|
||||
},
|
||||
ProxyType: {
|
||||
_enum: [
|
||||
'Any',
|
||||
'NonTransfer',
|
||||
'Governance',
|
||||
'_Staking',
|
||||
'NonProxy'
|
||||
]
|
||||
},
|
||||
ResourceId: '[u8; 32]',
|
||||
RelayChainAccountId: 'AccountId',
|
||||
RootHashOf: 'Hash'
|
||||
}
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
export default definitions;
|
||||
@@ -0,0 +1,462 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { OverrideBundleDefinition } from '@pezkuwi/types/types';
|
||||
|
||||
// structs need to be in order
|
||||
/* eslint-disable sort-keys */
|
||||
|
||||
const definitions: OverrideBundleDefinition = {
|
||||
types: [
|
||||
{
|
||||
// on all versions
|
||||
minmax: [0, undefined],
|
||||
types: {
|
||||
Address: 'AccountId',
|
||||
LookupSource: 'AccountId',
|
||||
Chain: {
|
||||
_enum: [
|
||||
'ChainX',
|
||||
'Bitcoin',
|
||||
'Ethereum',
|
||||
'Pezkuwi'
|
||||
]
|
||||
},
|
||||
NetworkType: {
|
||||
_enum: [
|
||||
'Mainnet',
|
||||
'Testnet'
|
||||
]
|
||||
},
|
||||
AssetType: {
|
||||
_enum: [
|
||||
'Usable',
|
||||
'Locked',
|
||||
'Reserved',
|
||||
'ReservedWithdrawal',
|
||||
'ReservedDexSpot'
|
||||
]
|
||||
},
|
||||
OrderType: {
|
||||
_enum: [
|
||||
'Limit',
|
||||
'Market'
|
||||
]
|
||||
},
|
||||
Side: {
|
||||
_enum: [
|
||||
'Buy',
|
||||
'Sell'
|
||||
]
|
||||
},
|
||||
LockedType: {
|
||||
_enum: [
|
||||
'Bonded',
|
||||
'BondedWithdrawal'
|
||||
]
|
||||
},
|
||||
Memo: 'Text',
|
||||
AssetInfo: {
|
||||
token: 'String',
|
||||
tokenName: 'String',
|
||||
chain: 'Chain',
|
||||
decimals: 'Decimals',
|
||||
desc: 'String'
|
||||
},
|
||||
TradingPairProfile: {
|
||||
id: 'TradingPairId',
|
||||
currencyPair: 'CurrencyPair',
|
||||
pipDecimals: 'u32',
|
||||
tickDecimals: 'u32',
|
||||
tradable: 'bool'
|
||||
},
|
||||
Order: {
|
||||
props: 'OrderProperty',
|
||||
status: 'OrderStatus',
|
||||
remaining: 'Balance',
|
||||
executedIndices: 'Vec<TradingHistoryIndex>',
|
||||
alreadyFilled: 'Balance',
|
||||
lastUpdateAt: 'BlockNumber'
|
||||
},
|
||||
TradingPairInfo: {
|
||||
latestPrice: 'Price',
|
||||
lastUpdated: 'BlockNumber'
|
||||
},
|
||||
OrderExecutedInfo: {
|
||||
tradingHistoryIdx: 'TradingHistoryIndex',
|
||||
pairId: 'TradingPairId',
|
||||
price: 'Price',
|
||||
maker: 'AccountId',
|
||||
taker: 'AccountId',
|
||||
makerOrderId: 'OrderId',
|
||||
takerOrderId: 'OrderId',
|
||||
turnover: 'Balance',
|
||||
executedAt: 'BlockNumber'
|
||||
},
|
||||
BtcHeaderInfo: {
|
||||
header: 'BtcHeader',
|
||||
height: 'u32'
|
||||
},
|
||||
BtcParams: {
|
||||
maxBits: 'u32',
|
||||
blockMaxFuture: 'u32',
|
||||
targetTimespanSeconds: 'u32',
|
||||
targetSpacingSeconds: 'u32',
|
||||
retargetingFactor: 'u32',
|
||||
retargetingInterval: 'u32',
|
||||
minTimespan: 'u32',
|
||||
maxTimespan: 'u32'
|
||||
},
|
||||
MiningAssetInfo: {
|
||||
assetId: 'AssetId',
|
||||
miningPower: 'FixedAssetPower',
|
||||
rewardPot: 'AccountId',
|
||||
rewardPotBalance: 'RpcBalance',
|
||||
lastTotalMiningWeight: 'RpcMiningWeight',
|
||||
lastTotalMiningWeightUpdate: 'BlockNumber'
|
||||
},
|
||||
MiningDividendInfo: {
|
||||
own: 'Balance',
|
||||
other: 'Balance',
|
||||
insufficientStake: 'Balance'
|
||||
},
|
||||
AssetLedger: {
|
||||
lastTotalMiningWeight: 'MiningWeight',
|
||||
lastTotalMiningWeightUpdate: 'BlockNumber'
|
||||
},
|
||||
MinerLedger: {
|
||||
lastMiningWeight: 'MiningWeight',
|
||||
lastMiningWeightUpdate: 'BlockNumber',
|
||||
lastClaim: 'Option<BlockNumber>'
|
||||
},
|
||||
ClaimRestriction: {
|
||||
stakingRequirement: 'StakingRequirement',
|
||||
frequencyLimit: 'BlockNumber'
|
||||
},
|
||||
NominatorInfo: {
|
||||
lastRebond: 'Option<BlockNumber>'
|
||||
},
|
||||
BondRequirement: {
|
||||
selfBonded: 'Balance',
|
||||
total: 'Balance'
|
||||
},
|
||||
Unbonded: {
|
||||
value: 'Balance',
|
||||
lockedUntil: 'BlockNumber'
|
||||
},
|
||||
ValidatorLedger: {
|
||||
totalNomination: 'Balance',
|
||||
lastTotalVoteWeight: 'VoteWeight',
|
||||
lastTotalVoteWeightUpdate: 'BlockNumber'
|
||||
},
|
||||
NominatorLedger: {
|
||||
nomination: 'Balance',
|
||||
lastVoteWeight: 'VoteWeight',
|
||||
lastVoteWeightUpdate: 'BlockNumber',
|
||||
unbondedChunks: 'Vec<Unbonded>'
|
||||
},
|
||||
ValidatorProfile: {
|
||||
registeredAt: 'BlockNumber',
|
||||
isChilled: 'bool',
|
||||
lastChilled: 'Option<BlockNumber>',
|
||||
referralId: 'ReferralId'
|
||||
},
|
||||
GlobalDistribution: {
|
||||
treasury: 'u32',
|
||||
mining: 'u32'
|
||||
},
|
||||
MiningDistribution: {
|
||||
asset: 'u32',
|
||||
staking: 'u32'
|
||||
},
|
||||
InclusionFee: {
|
||||
baseFee: 'Balance',
|
||||
lenFee: 'Balance',
|
||||
adjustedWeightFee: 'Balance'
|
||||
},
|
||||
FeeDetails: {
|
||||
inclusionFee: 'Option<InclusionFee<Balance>>',
|
||||
extraFee: 'Balance',
|
||||
tip: 'Balance',
|
||||
finalFee: 'Balance'
|
||||
},
|
||||
UnbondedIndex: 'u32',
|
||||
Token: 'Text',
|
||||
Desc: 'Text',
|
||||
AddrStr: 'Text',
|
||||
HandicapInfo: 'Handicap',
|
||||
Price: 'u128',
|
||||
OrderId: 'u64',
|
||||
TradingPairId: 'u32',
|
||||
TradingHistoryIndex: 'u64',
|
||||
PriceFluctuation: 'u32',
|
||||
BtcAddress: 'Text',
|
||||
FixedAssetPower: 'u32',
|
||||
StakingRequirement: 'u32',
|
||||
Decimals: 'u8',
|
||||
CurrencyPair: {
|
||||
base: 'AssetId',
|
||||
quote: 'AssetId'
|
||||
},
|
||||
OrderStatus: {
|
||||
_enum: [
|
||||
'Created',
|
||||
'PartialFill',
|
||||
'Filled',
|
||||
'PartialFillAndCanceled',
|
||||
'Canceled'
|
||||
]
|
||||
},
|
||||
AssetId: 'u32',
|
||||
MiningWeight: 'u128',
|
||||
VoteWeight: 'u128',
|
||||
ReferralId: 'Text',
|
||||
AssetRestriction: {
|
||||
_enum: [
|
||||
'Move',
|
||||
'Transfer',
|
||||
'Deposit',
|
||||
'Withdraw',
|
||||
'DestroyWithdrawal',
|
||||
'DestroyFree'
|
||||
]
|
||||
},
|
||||
AssetRestrictions: {
|
||||
bits: 'u32'
|
||||
},
|
||||
BtcHeader: 'Vec<u8>',
|
||||
BtcNetwork: {
|
||||
_enum: [
|
||||
'Mainnet',
|
||||
'Testnet'
|
||||
]
|
||||
},
|
||||
OrderInfo: 'Order',
|
||||
Amount: 'i128',
|
||||
AmountOf: 'Amount',
|
||||
CurrencyIdOf: 'AssetId',
|
||||
CurrencyId: 'AssetId',
|
||||
Handicap: {
|
||||
highestBid: 'Price',
|
||||
lowestAsk: 'Price'
|
||||
},
|
||||
OrderProperty: {
|
||||
id: 'OrderId',
|
||||
side: 'Side',
|
||||
price: 'Price',
|
||||
amount: 'Amount',
|
||||
pairId: 'TradingPairId',
|
||||
submitter: 'AccountId',
|
||||
orderType: 'OrderType',
|
||||
createdAt: 'BlockNumber'
|
||||
},
|
||||
TotalAssetInfo: {
|
||||
info: 'AssetInfo',
|
||||
balance: 'BTreeMap<AssetType, Balance>',
|
||||
isOnline: 'bool',
|
||||
restrictions: 'AssetRestrictions'
|
||||
},
|
||||
WithdrawalRecordId: 'u32',
|
||||
WithdrawalState: {
|
||||
_enum: [
|
||||
'Applying',
|
||||
'Processing',
|
||||
'NormalFinish',
|
||||
'RootFinish',
|
||||
'NormalCancel',
|
||||
'RootCancel'
|
||||
]
|
||||
},
|
||||
WithdrawalRecord: {
|
||||
assetId: 'AssetId',
|
||||
applicant: 'AccountId',
|
||||
balance: 'Balance',
|
||||
addr: 'AddrStr',
|
||||
ext: 'Memo',
|
||||
height: 'BlockNumber'
|
||||
},
|
||||
WithdrawalLimit: {
|
||||
minimalWithdrawal: 'Balance',
|
||||
fee: 'Balance'
|
||||
},
|
||||
TrusteeInfoConfig: {
|
||||
minTrusteeCount: 'u32',
|
||||
maxTrusteeCount: 'u32'
|
||||
},
|
||||
GenericTrusteeIntentionProps: {
|
||||
about: 'Text',
|
||||
hotEntity: 'Vec<u8>',
|
||||
coldEntity: 'Vec<u8>'
|
||||
},
|
||||
GenericTrusteeSessionInfo: {
|
||||
trusteeList: 'Vec<AccountId>',
|
||||
threshold: 'u16',
|
||||
hotAddress: 'Vec<u8>',
|
||||
coldAddress: 'Vec<u8>'
|
||||
},
|
||||
ChainAddress: 'Vec<u8>',
|
||||
BtcTrusteeType: 'Vec<u8>',
|
||||
BtcTrusteeAddrInfo: {
|
||||
addr: 'BtcAddress',
|
||||
redeemScript: 'Vec<u8>'
|
||||
},
|
||||
BtcTrusteeIntentionProps: {
|
||||
about: 'Text',
|
||||
hotEntity: 'BtcTrusteeType',
|
||||
coldEntity: 'BtcTrusteeType'
|
||||
},
|
||||
BtcTrusteeSessionInfo: {
|
||||
trusteeList: 'Vec<AccountId>',
|
||||
threshold: 'u16',
|
||||
hotAddress: 'BtcTrusteeAddrInfo',
|
||||
coldAddress: 'BtcTrusteeAddrInfo'
|
||||
},
|
||||
BtcTransaction: 'Vec<u8>',
|
||||
BtcPartialMerkleTree: 'Vec<u8>',
|
||||
BtcRelayedTxInfo: {
|
||||
blockHash: 'H256',
|
||||
merkleProof: 'BtcPartialMerkleTree'
|
||||
},
|
||||
BtcHeaderIndex: {
|
||||
hash: 'H256',
|
||||
height: 'u32'
|
||||
},
|
||||
BtcTxResult: {
|
||||
_enum: [
|
||||
'Success',
|
||||
'Failure'
|
||||
]
|
||||
},
|
||||
BtcTxState: {
|
||||
txType: 'BtcTxType',
|
||||
result: 'BtcTxResult'
|
||||
},
|
||||
BtcTxType: {
|
||||
_enum: [
|
||||
'Withdrawal',
|
||||
'Deposit',
|
||||
'HotAndCold',
|
||||
'TrusteeTransition',
|
||||
'Irrelevance'
|
||||
]
|
||||
},
|
||||
BtcDepositCache: {
|
||||
txid: 'H256',
|
||||
balance: 'u64'
|
||||
},
|
||||
BtcVoteResult: {
|
||||
_enum: [
|
||||
'Unfinish',
|
||||
'Finish'
|
||||
]
|
||||
},
|
||||
BtcWithdrawalProposal: {
|
||||
sigState: 'BtcVoteResult',
|
||||
withdrawalIdList: 'Vec<u32>',
|
||||
tx: 'BtcTransaction',
|
||||
trusteeList: 'Vec<(AccountId, bool)>'
|
||||
},
|
||||
BtcTxVerifier: {
|
||||
_enum: [
|
||||
'Recover',
|
||||
'RuntimeInterface'
|
||||
]
|
||||
},
|
||||
RpcTotalAssetInfo: {
|
||||
info: 'AssetInfo',
|
||||
balance: 'BTreeMap<AssetType, RpcBalance>',
|
||||
isOnline: 'bool',
|
||||
restrictions: 'AssetRestrictions'
|
||||
},
|
||||
RpcOrder: {
|
||||
id: 'OrderId',
|
||||
side: 'Side',
|
||||
price: 'RpcPrice',
|
||||
amount: 'RpcBalance',
|
||||
pairId: 'TradingPairId',
|
||||
submitter: 'AccountId',
|
||||
orderType: 'OrderType',
|
||||
createdAt: 'BlockNumber',
|
||||
status: 'OrderStatus',
|
||||
remaining: 'RpcBalance',
|
||||
executedIndices: 'Vec<TradingHistoryIndex>',
|
||||
alreadyFilled: 'RpcBalance',
|
||||
reservedBalance: 'RpcBalance',
|
||||
lastUpdateAt: 'BlockNumber'
|
||||
},
|
||||
RpcWithdrawalRecord: {
|
||||
assetId: 'AssetId',
|
||||
applicant: 'AccountId',
|
||||
balance: 'RpcBalance',
|
||||
addr: 'String',
|
||||
ext: 'String',
|
||||
height: 'BlockNumber',
|
||||
state: 'WithdrawalState'
|
||||
},
|
||||
RpcMiningDividendInfo: {
|
||||
own: 'RpcBalance',
|
||||
other: 'RpcBalance',
|
||||
insufficientStake: 'RpcBalance'
|
||||
},
|
||||
RpcInclusionFee: {
|
||||
baseFee: 'RpcBalance',
|
||||
lenFee: 'RpcBalance',
|
||||
adjustedWeightFee: 'RpcBalance'
|
||||
},
|
||||
RpcFeeDetails: {
|
||||
inclusionFee: 'Option<RpcInclusionFee>',
|
||||
tip: 'RpcBalance',
|
||||
extraFee: 'RpcBalance',
|
||||
finalFee: 'RpcBalance'
|
||||
},
|
||||
ValidatorInfo: {
|
||||
account: 'AccountId',
|
||||
registeredAt: 'BlockNumber',
|
||||
isChilled: 'bool',
|
||||
lastChilled: 'Option<BlockNumber>',
|
||||
totalNomination: 'RpcBalance',
|
||||
lastTotalVoteWeight: 'RpcVoteWeight',
|
||||
lastTotalVoteWeightUpdate: 'BlockNumber',
|
||||
isValidating: 'bool',
|
||||
selfBonded: 'RpcBalance',
|
||||
referralId: 'String',
|
||||
rewardPotAccount: 'AccountId',
|
||||
rewardPotBalance: 'RpcBalance'
|
||||
},
|
||||
FullPairInfo: {
|
||||
baseCurrency: 'AssetId',
|
||||
highestBid: 'RpcPrice',
|
||||
id: 'TradingPairId',
|
||||
latestPrice: 'RpcPrice',
|
||||
latestPriceUpdatedAt: 'BlockNumber',
|
||||
lowestAsk: 'RpcPrice',
|
||||
maxValidBid: 'RpcPrice',
|
||||
minValidAsk: 'RpcPrice',
|
||||
pipDecimals: 'u32',
|
||||
quoteCurrency: 'AssetId',
|
||||
tickDecimals: 'u32',
|
||||
tradable: 'bool'
|
||||
},
|
||||
Depth: {
|
||||
asks: 'Vec<(RpcPrice, RpcBalance)>',
|
||||
bids: 'Vec<(RpcPrice, RpcBalance)>'
|
||||
},
|
||||
Page: {
|
||||
pageIndex: 'u32',
|
||||
pageSize: 'u32',
|
||||
data: 'Vec<RpcOrder>'
|
||||
},
|
||||
String: 'Text',
|
||||
Balance: 'u128',
|
||||
RpcPrice: 'String',
|
||||
RpcBalance: 'String',
|
||||
RpcMiningWeight: 'String',
|
||||
RpcVoteWeight: 'String',
|
||||
FullIdentification: 'ValidatorId',
|
||||
WithdrawalRecordOf: 'WithdrawalRecord'
|
||||
}
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
export default definitions;
|
||||
@@ -0,0 +1,74 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { OverrideBundleDefinition } from '@pezkuwi/types/types';
|
||||
|
||||
// structs need to be in order
|
||||
/* eslint-disable sort-keys */
|
||||
|
||||
const definitions: OverrideBundleDefinition = {
|
||||
types: [
|
||||
{
|
||||
// on all versions
|
||||
minmax: [0, undefined],
|
||||
types: {
|
||||
Amount: 'i128',
|
||||
AmountOf: 'Amount',
|
||||
Balance: 'u128',
|
||||
CurrencyId: {
|
||||
_enum: ['CLV', 'CUSDT', 'HEZ', 'CETH']
|
||||
},
|
||||
CurrencyIdOf: 'CurrencyId',
|
||||
CurrencyTypeEnum: {
|
||||
_enum: ['CLV', 'CUSDT', 'HEZ', 'CETH']
|
||||
},
|
||||
PairKey: 'u64',
|
||||
Rate: 'FixedU128',
|
||||
Ratio: 'FixedU128',
|
||||
Price: 'FixedU128',
|
||||
Share: 'u128',
|
||||
OracleKey: 'CurrencyId',
|
||||
CurrencyInfo: {
|
||||
id: 'CurrencyId',
|
||||
name: 'CurrencyTypeEnum'
|
||||
},
|
||||
ExchangeInfo: {
|
||||
balance: 'Balance',
|
||||
routes: 'Vec<CurrencyTypeEnum>'
|
||||
},
|
||||
PoolId: {
|
||||
_enum: {
|
||||
Swap: 'u64'
|
||||
}
|
||||
},
|
||||
EcdsaSignature: '[u8; 65]',
|
||||
EvmAddress: 'H160',
|
||||
ExitSucceed: {
|
||||
_enum: ['Stopped', 'Returned', 'Suicided']
|
||||
},
|
||||
ExitRevert: {
|
||||
_enum: ['Reverted']
|
||||
},
|
||||
ExitError: {
|
||||
_enum: [
|
||||
'StackUnderflow', 'StackOverflow', 'InvalidJump', 'InvalidRange', 'DesignatedInvalid', 'CallTooDeep',
|
||||
'CreateCollision', 'CreateContractLimit', 'OutOfOffset', 'OutOfGas', 'OutOfFund', 'PCUnderflow', 'CreateEmpty',
|
||||
'Other<String>'
|
||||
]
|
||||
},
|
||||
ExitFatal: {
|
||||
_enum: ['NotSupported', 'UnhandledInterrupt', 'CallErrorAsFatal', 'Other<String>']
|
||||
},
|
||||
ExitReason: {
|
||||
_enum: ['Succeed<ExitSucceed>',
|
||||
'Error<ExitError>',
|
||||
'Revert<ExitRevert>',
|
||||
'Fatal<ExitFatal>'
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
export default definitions;
|
||||
@@ -0,0 +1,32 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { OverrideBundleDefinition } from '@pezkuwi/types/types';
|
||||
|
||||
// structs need to be in order
|
||||
/* eslint-disable sort-keys */
|
||||
|
||||
const definitions: OverrideBundleDefinition = {
|
||||
types: [
|
||||
{
|
||||
// on all versions
|
||||
minmax: [0, undefined],
|
||||
types: {
|
||||
Amount: 'i128',
|
||||
Keys: 'SessionKeys4',
|
||||
AmountOf: 'Amount',
|
||||
Balance: 'u128',
|
||||
Rate: 'FixedU128',
|
||||
Ratio: 'FixedU128',
|
||||
EcdsaSignature: '[u8; 65]',
|
||||
EvmAddress: 'H160',
|
||||
EthereumTxHash: 'H256',
|
||||
BridgeNetworks: {
|
||||
_enum: ['BSC', 'Ethereum', 'CloverPara']
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
export default definitions;
|
||||
@@ -0,0 +1,22 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { OverrideBundleDefinition } from '@pezkuwi/types/types';
|
||||
|
||||
// structs need to be in order
|
||||
/* eslint-disable sort-keys */
|
||||
|
||||
const definitions: OverrideBundleDefinition = {
|
||||
types: [
|
||||
{
|
||||
// on all versions
|
||||
minmax: [0, undefined],
|
||||
types: {
|
||||
Address: 'AccountId',
|
||||
LookupSource: 'AccountId'
|
||||
}
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
export default definitions;
|
||||
@@ -0,0 +1,44 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { OverrideBundleDefinition } from '@pezkuwi/types/types';
|
||||
|
||||
// structs need to be in order
|
||||
/* eslint-disable sort-keys */
|
||||
|
||||
const definitions: OverrideBundleDefinition = {
|
||||
types: [
|
||||
{
|
||||
// on all versions
|
||||
minmax: [0, undefined],
|
||||
types: {
|
||||
Balance: 'u64',
|
||||
NeuronMetadata: {
|
||||
version: 'u32',
|
||||
ip: 'u128',
|
||||
port: 'u16',
|
||||
ipType: 'u8',
|
||||
uid: 'u32',
|
||||
netuid: 'u16',
|
||||
modality: 'u8',
|
||||
hotkey: 'AccountId',
|
||||
coldkey: 'AccountId',
|
||||
active: 'u32',
|
||||
lastUpdate: 'u64',
|
||||
priority: 'u64',
|
||||
stake: 'u64',
|
||||
rank: 'u64',
|
||||
trust: 'u64',
|
||||
consensus: 'u64',
|
||||
incentive: 'u64',
|
||||
dividends: 'u64',
|
||||
emission: 'u64',
|
||||
bonds: 'Vec<(u32, u64)>',
|
||||
weights: 'Vec<(u32, u32)>'
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
export default definitions;
|
||||
@@ -0,0 +1,82 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { OverrideBundleDefinition } from '@pezkuwi/types/types';
|
||||
|
||||
// structs need to be in order
|
||||
/* eslint-disable sort-keys */
|
||||
|
||||
const definitions: OverrideBundleDefinition = {
|
||||
types: [
|
||||
{
|
||||
// on all versions
|
||||
minmax: [0, undefined],
|
||||
types: {
|
||||
Address: 'MultiAddress',
|
||||
LookupSource: 'MultiAddress',
|
||||
ClassId: 'u64',
|
||||
ClassInfoOf: 'ClassId',
|
||||
BalanceOf: 'Balance',
|
||||
BalanceReservableOf: 'BalanceOf',
|
||||
Moment: 'u64',
|
||||
Place: {
|
||||
spot: 'u32',
|
||||
payout: 'Balance'
|
||||
},
|
||||
Competitor: {
|
||||
vie_id: '[u8;16]',
|
||||
staked: 'bool',
|
||||
submitted_winner: 'bool'
|
||||
},
|
||||
Vie: {
|
||||
operator: 'AccountId',
|
||||
stake: 'Balance',
|
||||
places: 'Vec<Place>',
|
||||
time: 'Moment',
|
||||
competitors: 'Vec<AccountId>',
|
||||
memo: 'Vec<u8>'
|
||||
},
|
||||
VieOf: 'Vie',
|
||||
VieReq: {
|
||||
stake: 'Balance',
|
||||
places: 'Vec<Place>',
|
||||
competitors: 'Vec<AccountId>',
|
||||
memo: 'Vec<u8>'
|
||||
},
|
||||
VieRequestOf: 'VieReq',
|
||||
Participants: {
|
||||
AccountId: '[u8;16]'
|
||||
},
|
||||
Operators: {
|
||||
AccountId: '[u8;16]'
|
||||
},
|
||||
StandingReq: {
|
||||
competitor: 'AccountId',
|
||||
spot: 'u32'
|
||||
},
|
||||
PodiumReq: {
|
||||
champion: 'AccountId',
|
||||
podium: 'Vec<StandingReq>'
|
||||
},
|
||||
PodiumReqOf: 'PodiumReq',
|
||||
Trophy: {
|
||||
trophy: '[u8; 16]',
|
||||
competitors: 'Vec<AccountId>',
|
||||
stake: 'Balance',
|
||||
memo: 'Vec<u8>',
|
||||
time: 'u64',
|
||||
podium: 'Vec<StandingReq>'
|
||||
},
|
||||
TokenId: 'u64',
|
||||
TokenInfo: {
|
||||
metadata: 'Vec<u8>',
|
||||
owner: 'AccountId',
|
||||
data: 'Trophy'
|
||||
},
|
||||
TokenInfoOf: 'TokenInfo'
|
||||
}
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
export default definitions;
|
||||
@@ -0,0 +1,30 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { OverrideBundleDefinition } from '@pezkuwi/types/types';
|
||||
|
||||
// structs need to be in order
|
||||
/* eslint-disable sort-keys */
|
||||
|
||||
const definitions: OverrideBundleDefinition = {
|
||||
types: [
|
||||
{
|
||||
minmax: [0, 8],
|
||||
types: {
|
||||
Address: 'AccountId',
|
||||
Keys: 'SessionKeys2',
|
||||
LookupSource: 'AccountId',
|
||||
Schedule: 'ScheduleTo258'
|
||||
}
|
||||
},
|
||||
{
|
||||
// updated to Bizinikiwi master
|
||||
minmax: [9, undefined],
|
||||
types: {
|
||||
Keys: 'SessionKeys2'
|
||||
}
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
export default definitions;
|
||||
@@ -0,0 +1,53 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { OverrideBundleDefinition } from '@pezkuwi/types/types';
|
||||
|
||||
// structs need to be in order
|
||||
/* eslint-disable sort-keys */
|
||||
|
||||
const definitions: OverrideBundleDefinition = {
|
||||
types: [
|
||||
{
|
||||
// on all versions
|
||||
minmax: [0, undefined],
|
||||
types: {
|
||||
Address: 'MultiAddress',
|
||||
LookupSource: 'MultiAddress',
|
||||
AccountInfo: {
|
||||
nonce: 'Index',
|
||||
consumers: 'RefCount',
|
||||
providers: 'RefCount',
|
||||
data: 'AccountData'
|
||||
},
|
||||
Balance: 'u128',
|
||||
BalanceOf: 'Balance',
|
||||
AuthorityOf: 'AccountId',
|
||||
PaymentId: '[u8;16]',
|
||||
Payment: {
|
||||
id: 'PaymentId',
|
||||
account_id: 'AccountId',
|
||||
success_url: 'Vec<u8>',
|
||||
failure_url: 'Vec<u8>',
|
||||
paid: 'bool',
|
||||
pay_to: 'AccountId'
|
||||
},
|
||||
PeerId: '(Vec<u8>)',
|
||||
Amendment: {
|
||||
statement: 'Vec<u8>',
|
||||
owners: 'Vec<AccountId>'
|
||||
},
|
||||
BlockNumber: 'u32',
|
||||
VestingSchedule: {
|
||||
start: 'BlockNumber',
|
||||
period: 'BlockNumber',
|
||||
period_count: 'BlockNumber',
|
||||
per_period: 'Compact<Balance>'
|
||||
},
|
||||
VestingScheduleOf: 'VestingSchedule'
|
||||
}
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
export default definitions;
|
||||
@@ -0,0 +1,8 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { OverrideBundleDefinition } from '@pezkuwi/types/types';
|
||||
|
||||
import { typesBundleForPezkuwi } from '@crustio/type-definitions';
|
||||
|
||||
export default typesBundleForPezkuwi.spec.crust as unknown as OverrideBundleDefinition;
|
||||
@@ -0,0 +1,22 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { OverrideBundleDefinition } from '@pezkuwi/types/types';
|
||||
|
||||
// structs need to be in order
|
||||
/* eslint-disable sort-keys */
|
||||
|
||||
const definitions: OverrideBundleDefinition = {
|
||||
types: [
|
||||
{
|
||||
// on all versions
|
||||
minmax: [0, undefined],
|
||||
types: {
|
||||
Address: 'AccountId',
|
||||
LookupSource: 'AccountId'
|
||||
}
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
export default definitions;
|
||||
@@ -0,0 +1,58 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { OverrideBundleDefinition } from '@pezkuwi/types/types';
|
||||
|
||||
/* eslint-disable sort-keys */
|
||||
const definitions: OverrideBundleDefinition = {
|
||||
types: [
|
||||
{
|
||||
// on all versions
|
||||
minmax: [0, undefined],
|
||||
types: {
|
||||
StakingRates: {
|
||||
collatorStakingRate: 'Perquintill',
|
||||
collatorRewardRate: 'Perquintill',
|
||||
delegatorStakingRate: 'Perquintill',
|
||||
delegatorRewardRate: 'Perquintill'
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
runtime: {
|
||||
Staking: [
|
||||
{
|
||||
methods: {
|
||||
get_staking_rates: {
|
||||
description: 'Calculate the current staking and reward rates for collators and delegators',
|
||||
params: [],
|
||||
type: 'StakingRates'
|
||||
},
|
||||
get_unclaimed_staking_rewards: {
|
||||
description: 'Calculate the claimable staking rewards for a given account address',
|
||||
params: [
|
||||
{
|
||||
name: 'account',
|
||||
type: 'AccountId32'
|
||||
}
|
||||
],
|
||||
type: 'Balance'
|
||||
},
|
||||
get_sorted_proposed_candidates: {
|
||||
description: 'Provides a sorted list of collators most suited for given delegator\'s stake amount determined with some heuristic algorithm',
|
||||
params: [
|
||||
{
|
||||
name: 'balance',
|
||||
type: 'Balance'
|
||||
}
|
||||
],
|
||||
type: 'Vec<AccountId32>'
|
||||
}
|
||||
},
|
||||
version: 1
|
||||
}
|
||||
]
|
||||
}
|
||||
};
|
||||
|
||||
export default definitions;
|
||||
@@ -0,0 +1,238 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { OverrideBundleDefinition } from '@pezkuwi/types/types';
|
||||
|
||||
// structs need to be in order
|
||||
/* eslint-disable sort-keys */
|
||||
|
||||
const definitions: OverrideBundleDefinition = {
|
||||
types: [
|
||||
{
|
||||
// on all versions
|
||||
minmax: [0, undefined],
|
||||
types: {
|
||||
Keys: 'SessionKeys2',
|
||||
Address: 'MultiAddress',
|
||||
LookupSource: 'MultiAddress',
|
||||
RoamingOperator: '[u8; 16]',
|
||||
RoamingOperatorIndex: 'u64',
|
||||
RoamingNetwork: '[u8; 16]',
|
||||
RoamingNetworkIndex: 'u64',
|
||||
RoamingOrganization: '[u8; 16]',
|
||||
RoamingOrganizationIndex: 'u64',
|
||||
RoamingNetworkServer: '[u8; 16]',
|
||||
RoamingNetworkServerIndex: 'u64',
|
||||
RoamingDevice: '[u8; 16]',
|
||||
RoamingDeviceIndex: 'u64',
|
||||
RoamingRoutingProfile: '[u8; 16]',
|
||||
RoamingRoutingProfileIndex: 'u64',
|
||||
RoamingRoutingProfileAppServer: 'Text',
|
||||
RoamingServiceProfile: '[u8; 16]',
|
||||
RoamingServiceProfileIndex: 'u64',
|
||||
RoamingServiceProfileUplinkRate: 'u32',
|
||||
RoamingServiceProfileDownlinkRate: 'u32',
|
||||
RoamingAccountingPolicy: '[u8; 16]',
|
||||
RoamingAccountingPolicyIndex: 'u64',
|
||||
RoamingAccountingPolicyType: 'Text',
|
||||
RoamingAccountingPolicyUplinkFeeFactor: 'u32',
|
||||
RoamingAccountingPolicyDownlinkFeeFactor: 'u32',
|
||||
RoamingAccountingPolicyConfig: {
|
||||
policy_type: 'Text',
|
||||
subscription_fee: 'Balance',
|
||||
uplink_fee_factor: 'u32',
|
||||
downlink_fee_factor: 'u32'
|
||||
},
|
||||
RoamingAgreementPolicy: '[u8; 16]',
|
||||
RoamingAgreementPolicyIndex: 'u64',
|
||||
RoamingAgreementPolicyActivationType: 'Text',
|
||||
RoamingAgreementPolicyConfig: {
|
||||
policy_activation_type: 'Text',
|
||||
policy_expiry_block: 'Moment'
|
||||
},
|
||||
RoamingNetworkProfile: '[u8; 16]',
|
||||
RoamingNetworkProfileIndex: 'u64',
|
||||
RoamingDeviceProfile: '[u8; 16]',
|
||||
RoamingDeviceProfileIndex: 'u64',
|
||||
RoamingDeviceProfileDevAddr: 'Text',
|
||||
RoamingDeviceProfileDevEUI: 'Text',
|
||||
RoamingDeviceProfileJoinEUI: 'Text',
|
||||
RoamingDeviceProfileVendorID: 'Text',
|
||||
RoamingDeviceProfileConfig: {
|
||||
device_profile_devaddr: 'Text',
|
||||
device_profile_deveui: 'Text',
|
||||
device_profile_joineui: 'Text',
|
||||
device_profile_vendorid: 'Text'
|
||||
},
|
||||
RoamingSession: '[u8; 16]',
|
||||
RoamingSessionIndex: 'u64',
|
||||
RoamingSessionJoinRequest: {
|
||||
session_network_server_id: 'Moment',
|
||||
session_join_requested_at_block: 'Moment'
|
||||
},
|
||||
RoamingSessionJoinAccept: {
|
||||
session_join_request_accept_expiry: 'Moment',
|
||||
session_join_request_accept_accepted_at_block: 'Moment'
|
||||
},
|
||||
RoamingBillingPolicy: '[u8; 16]',
|
||||
RoamingBillingPolicyIndex: 'u64',
|
||||
RoamingBillingPolicyConfig: {
|
||||
policy_next_billing_at_block: 'Moment',
|
||||
policy_frequency_in_blocks: 'Moment'
|
||||
},
|
||||
RoamingChargingPolicy: '[u8; 16]',
|
||||
RoamingChargingPolicyIndex: 'u64',
|
||||
RoamingChargingPolicyConfig: {
|
||||
policy_next_charging_at_block: 'Moment',
|
||||
policy_delay_after_billing_in_blocks: 'u64'
|
||||
},
|
||||
RoamingPacketBundle: '[u8; 16]',
|
||||
RoamingPacketBundleIndex: 'u64',
|
||||
RoamingPacketBundleReceivedAtHome: 'bool',
|
||||
RoamingPacketBundleReceivedPacketsCount: 'u64',
|
||||
RoamingPacketBundleReceivedPacketsOkCount: 'u64',
|
||||
RoamingPacketBundleExternalDataStorageHash: 'Hash',
|
||||
RoamingPacketBundleReceiver: {
|
||||
packet_bundle_received_at_home: 'bool',
|
||||
packet_bundle_received_packets_count: 'u64',
|
||||
packet_bundle_received_packets_ok_count: 'u64',
|
||||
packet_bundle_received_started_at_block: 'Moment',
|
||||
packet_bundle_received_ended_at_block: 'Moment',
|
||||
packet_bundle_external_data_storage_hash: 'Hash'
|
||||
},
|
||||
MiningRatesToken: '[u8; 16]',
|
||||
MiningRatesTokenIndex: 'u64',
|
||||
MiningRatesTokenTokenDOT: 'u32',
|
||||
MiningRatesTokenTokenMXC: 'u32',
|
||||
MiningRatesTokenTokenIOTA: 'u32',
|
||||
MiningRatesTokenMaxToken: 'u32',
|
||||
MiningRatesTokenMaxLoyalty: 'u32',
|
||||
MiningRatesTokenConfig: {
|
||||
token_token_mxc: 'u32',
|
||||
token_token_iota: 'u32',
|
||||
token_token_dot: 'u32',
|
||||
token_max_token: 'u32',
|
||||
token_max_loyalty: 'u32'
|
||||
},
|
||||
MiningRatesHardware: '[u8; 16]',
|
||||
MiningRatesHardwareIndex: 'u64',
|
||||
MiningRatesHardwareSecure: 'u32',
|
||||
MiningRatesHardwareInsecure: 'u32',
|
||||
MiningRatesHardwareMaxHardware: 'u32',
|
||||
MiningRatesHardwareCategory1MaxTokenBonusPerGateway: 'u32',
|
||||
MiningRatesHardwareCategory2MaxTokenBonusPerGateway: 'u32',
|
||||
MiningRatesHardwareCategory3MaxTokenBonusPerGateway: 'u32',
|
||||
MiningRatesHardwareConfig: {
|
||||
hardware_hardware_secure: 'u32',
|
||||
hardware_hardware_insecure: 'u32',
|
||||
hardware_max_hardware: 'u32',
|
||||
hardware_category_1_max_token_bonus_per_gateway: 'u32',
|
||||
hardware_category_2_max_token_bonus_per_gateway: 'u32',
|
||||
hardware_category_3_max_token_bonus_per_gateway: 'u32'
|
||||
},
|
||||
MiningConfigToken: '[u8; 16]',
|
||||
MiningConfigTokenIndex: 'u64',
|
||||
MiningConfigTokenType: 'Text',
|
||||
MiningConfigTokenLockAmount: 'u64',
|
||||
MiningConfigTokenConfig: {
|
||||
token_type: 'Text',
|
||||
token_lock_amount: 'u64',
|
||||
token_lock_start_block: 'Moment',
|
||||
token_lock_interval_blocks: 'Moment'
|
||||
},
|
||||
MiningConfigTokenRequirementsConfig: {
|
||||
token_type: 'Text',
|
||||
token_lock_min_amount: 'u64',
|
||||
token_lock_min_blocks: 'u32'
|
||||
},
|
||||
MiningConfigHardware: '[u8; 16]',
|
||||
MiningConfigHardwareIndex: 'u64',
|
||||
MiningConfigHardwareSecure: 'bool',
|
||||
MiningConfigHardwareType: 'Text',
|
||||
MiningConfigHardwareID: 'u64',
|
||||
MiningConfigHardwareDevEUI: 'u64',
|
||||
MiningConfigHardwareConfig: {
|
||||
hardware_secure: 'bool',
|
||||
hardware_type: 'Text',
|
||||
hardware_id: 'u64',
|
||||
hardware_dev_eui: 'u64',
|
||||
hardware_lock_start_block: 'Moment',
|
||||
hardware_lock_interval_blocks: 'Moment'
|
||||
},
|
||||
MiningSamplingToken: '[u8; 16]',
|
||||
MiningSamplingTokenIndex: 'u64',
|
||||
MiningSamplingTokenSampleLockedAmount: 'u64',
|
||||
MiningSamplingTokenConfig: {
|
||||
token_sample_block: 'Moment',
|
||||
token_sample_locked_amount: 'u64'
|
||||
},
|
||||
MiningSamplingHardware: '[u8; 16]',
|
||||
MiningSamplingHardwareIndex: 'u64',
|
||||
MiningSamplingHardwareSampleHardwareOnline: 'u64',
|
||||
MiningSamplingHardwareConfig: {
|
||||
hardware_sample_block: 'Moment',
|
||||
hardware_sample_hardware_online: 'bool'
|
||||
},
|
||||
MiningEligibilityToken: '[u8; 16]',
|
||||
MiningEligibilityTokenIndex: 'u64',
|
||||
MiningEligibilityTokenCalculatedEligibility: 'u64',
|
||||
MiningEligibilityTokenLockedPercentage: 'u32',
|
||||
MiningEligibilityTokenAuditorAccountID: 'u64',
|
||||
MiningEligibilityTokenResult: {
|
||||
token_calculated_eligibility: 'u64',
|
||||
token_token_locked_percentage: 'u32',
|
||||
token_date_audited: 'Moment',
|
||||
token_auditor_account_id: 'u64'
|
||||
},
|
||||
MiningEligibilityHardware: '[u8; 16]',
|
||||
MiningEligibilityHardwareIndex: 'u64',
|
||||
MiningEligibilityHardwareCalculatedEligibility: 'u64',
|
||||
MiningEligibilityHardwareUptimePercentage: 'u32',
|
||||
MiningEligibilityHardwareAuditorAccountID: 'u64',
|
||||
MiningEligibilityHardwareResult: {
|
||||
hardware_calculated_eligibility: 'u64',
|
||||
hardware_uptime_percentage: 'u32',
|
||||
hardware_block_audited: 'Moment',
|
||||
hardware_auditor_account_id: 'u64'
|
||||
},
|
||||
MiningClaimsToken: '[u8; 16]',
|
||||
MiningClaimsTokenIndex: 'u64',
|
||||
MiningClaimsTokenClaimAmount: 'u64',
|
||||
MiningClaimsTokenClaimResult: {
|
||||
token_claim_amount: 'u64',
|
||||
token_claim_block_redeemed: 'u64'
|
||||
},
|
||||
MiningClaimsHardware: '[u8; 16]',
|
||||
MiningClaimsHardwareIndex: 'u64',
|
||||
MiningClaimsHardwareClaimAmount: 'u64',
|
||||
MiningClaimsHardwareClaimResult: {
|
||||
hardware_claim_amount: 'u64',
|
||||
hardware_claim_block_redeemed: 'u64'
|
||||
},
|
||||
MiningExecutionToken: '[u8; 16]',
|
||||
MiningExecutionTokenIndex: 'u64',
|
||||
MiningExecutionTokenExecutorAccountID: 'u64',
|
||||
MiningExecutionTokenExecutionResult: {
|
||||
token_execution_exector_account_id: 'u64',
|
||||
token_execution_started_block: 'Moment',
|
||||
token_execution_ended_block: 'Moment'
|
||||
},
|
||||
ExchangeRateIndex: 'u64',
|
||||
ExchangeRateConfig: {
|
||||
hbtc: 'u64',
|
||||
dot: 'u64',
|
||||
iota: 'u64',
|
||||
fil: 'u64',
|
||||
decimals_after_point: 'u32'
|
||||
},
|
||||
HBTCRate: 'u64',
|
||||
DOTRate: 'u64',
|
||||
IOTARate: 'u64',
|
||||
FILRate: 'u64',
|
||||
DecimalsAfterPoint: 'u32'
|
||||
}
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
export default definitions;
|
||||
@@ -0,0 +1,9 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { OverrideBundleDefinition } from '@pezkuwi/types/types';
|
||||
|
||||
// @ts-expect-error No definitions provided in package
|
||||
import { spec } from '@docknetwork/node-types';
|
||||
|
||||
export default (spec as { 'dock-main-runtime': OverrideBundleDefinition })['dock-main-runtime'];
|
||||
@@ -0,0 +1,9 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { OverrideBundleDefinition } from '@pezkuwi/types/types';
|
||||
|
||||
// @ts-expect-error No definitions provided in package
|
||||
import { spec } from '@docknetwork/node-types';
|
||||
|
||||
export default (spec as { 'dock-test-runtime': OverrideBundleDefinition })['dock-test-runtime'];
|
||||
@@ -0,0 +1,30 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { OverrideBundleDefinition } from '@pezkuwi/types/types';
|
||||
|
||||
// structs need to be in order
|
||||
/* eslint-disable sort-keys */
|
||||
|
||||
const definitions: OverrideBundleDefinition = {
|
||||
types: [
|
||||
{
|
||||
// on all versions
|
||||
minmax: [0, undefined],
|
||||
types:
|
||||
{
|
||||
CurrencyId: {
|
||||
_enum: [
|
||||
'DOL'
|
||||
]
|
||||
},
|
||||
CurrencyIdOf: 'CurrencyId',
|
||||
Amount: 'i128',
|
||||
AmountOf: 'Amount',
|
||||
AccountInfo: 'AccountInfoWithDualRefCount'
|
||||
}
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
export default definitions;
|
||||
@@ -0,0 +1,81 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { OverrideBundleDefinition } from '@pezkuwi/types/types';
|
||||
|
||||
// structs need to be in order
|
||||
/* eslint-disable sort-keys */
|
||||
|
||||
const definitions: OverrideBundleDefinition = {
|
||||
types: [
|
||||
{
|
||||
// on all versions
|
||||
minmax: [0, undefined],
|
||||
types: {
|
||||
Address: 'MultiAddress',
|
||||
LookupSource: 'MultiAddress',
|
||||
MogwaiStruct: {
|
||||
id: 'Hash',
|
||||
dna: 'Hash',
|
||||
genesis: 'BlockNumber',
|
||||
price: 'Balance',
|
||||
gen: 'u32',
|
||||
rarity: 'RarityType'
|
||||
},
|
||||
MogwaiBios: {
|
||||
mogwai_id: 'Hash',
|
||||
state: 'u32',
|
||||
metaxy: 'Vec<[u8;16]>',
|
||||
intrinsic: 'Balance',
|
||||
level: 'u8',
|
||||
phases: 'Vec<BlockNumber>',
|
||||
adaptations: 'Vec<Hash>'
|
||||
},
|
||||
GameEvent: {
|
||||
id: 'Hash',
|
||||
begin: 'BlockNumber',
|
||||
duration: 'u16',
|
||||
event_type: 'GameEventType',
|
||||
hashes: 'Vec<Hash>',
|
||||
value: 'u64'
|
||||
},
|
||||
GameEventType: {
|
||||
_enum: [
|
||||
'Default',
|
||||
'Hatch'
|
||||
]
|
||||
},
|
||||
RarityType: {
|
||||
_enum: [
|
||||
'Minor',
|
||||
'Normal',
|
||||
'Rare',
|
||||
'Epic',
|
||||
'Legendary'
|
||||
]
|
||||
},
|
||||
MogwaicoinAddress: {
|
||||
address: 'Vec<u8>',
|
||||
account: 'AccountId',
|
||||
signature: 'Vec<u8>',
|
||||
state: 'ClaimState',
|
||||
balance: 'Balance'
|
||||
},
|
||||
ClaimState: {
|
||||
_enum: [
|
||||
'None',
|
||||
'Registred',
|
||||
'Verified',
|
||||
'Secured',
|
||||
'Processed',
|
||||
'Holded',
|
||||
'Failed',
|
||||
'Cancelled'
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
export default definitions;
|
||||
@@ -0,0 +1,430 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { OverrideBundleDefinition } from '@pezkuwi/types/types';
|
||||
|
||||
// structs need to be in order
|
||||
/* eslint-disable sort-keys */
|
||||
|
||||
const definitions: OverrideBundleDefinition = {
|
||||
types: [
|
||||
{
|
||||
// on all versions
|
||||
minmax: [0, undefined],
|
||||
types: {
|
||||
AccountIdOf: 'AccountId',
|
||||
Address: 'MultiAddress',
|
||||
AirDropCurrencyId: {
|
||||
_enum: [
|
||||
'ICE',
|
||||
'EAVE'
|
||||
]
|
||||
},
|
||||
Amount: 'i128',
|
||||
AmountOf: 'Amount',
|
||||
AsOriginId: 'AuthoritysOriginId',
|
||||
AssetId: 'u64',
|
||||
AssetIdOf: 'AssetId',
|
||||
AuctionId: 'u32',
|
||||
AuctionIdOf: 'AuctionId',
|
||||
AuctionInfo: {
|
||||
bid: 'Option<(AccountId, Balance)>',
|
||||
start: 'BlockNumber',
|
||||
end: 'Option<BlockNumber>'
|
||||
},
|
||||
AuthoritysOriginId: {
|
||||
_enum: [
|
||||
'Root',
|
||||
'EaveTreasury',
|
||||
'CdpTreasury',
|
||||
'ElpTreasury',
|
||||
'DSWF'
|
||||
]
|
||||
},
|
||||
BalanceInfo: {
|
||||
amount: 'Balance'
|
||||
},
|
||||
BalanceRequest: {
|
||||
amount: 'Balance'
|
||||
},
|
||||
BalanceWrapper: {
|
||||
amount: 'Balance'
|
||||
},
|
||||
BondingLedger: {
|
||||
total: 'Compact<Balance>',
|
||||
active: 'Compact<Balance>',
|
||||
unlocking: 'Vec<UnlockChunk>'
|
||||
},
|
||||
CID: 'Vec<u8>',
|
||||
CallOf: 'Call',
|
||||
CallRequest: {
|
||||
from: 'Option<H160>',
|
||||
to: 'Option<H160>',
|
||||
gasLimit: 'Option<u32>',
|
||||
storageLimit: 'Option<u32>',
|
||||
value: 'Option<U128>',
|
||||
data: 'Option<Bytes>'
|
||||
},
|
||||
ChainId: {
|
||||
_enum: {
|
||||
RelayChain: 'Null',
|
||||
ParaChain: 'ParaId'
|
||||
}
|
||||
},
|
||||
ChangeBalance: {
|
||||
_enum: {
|
||||
NoChange: 'Null',
|
||||
NewValue: 'Balance'
|
||||
}
|
||||
},
|
||||
ChangeOptionRate: {
|
||||
_enum: {
|
||||
NoChange: 'Null',
|
||||
NewValue: 'OptionRate'
|
||||
}
|
||||
},
|
||||
ChangeOptionRatio: {
|
||||
_enum: {
|
||||
NoChange: 'Null',
|
||||
NewValue: 'OptionRatio'
|
||||
}
|
||||
},
|
||||
ChangeRate: {
|
||||
_enum: {
|
||||
NoChange: 'Null',
|
||||
NewValue: 'Rate'
|
||||
}
|
||||
},
|
||||
ChangeRatio: {
|
||||
_enum: {
|
||||
NoChange: 'Null',
|
||||
NewValue: 'Ratio'
|
||||
}
|
||||
},
|
||||
ClassData: {
|
||||
deposit: 'Balance',
|
||||
properties: 'Properties'
|
||||
},
|
||||
ClassId: 'u32',
|
||||
ClassIdOf: 'ClassId',
|
||||
ClassInfoOf: {
|
||||
metadata: 'CID',
|
||||
totalIssuance: 'TokenId',
|
||||
owner: 'AccountId',
|
||||
data: 'ClassData'
|
||||
},
|
||||
CodeInfo: {
|
||||
codeSize: 'u32',
|
||||
refCount: 'u32'
|
||||
},
|
||||
CollateralAuctionItem: {
|
||||
refundRecipient: 'AccountId',
|
||||
currencyId: 'CurrencyId',
|
||||
initialAmount: 'Compact<Balance>',
|
||||
amount: 'Compact<Balance>',
|
||||
target: 'Compact<Balance>',
|
||||
startTime: 'BlockNumber'
|
||||
},
|
||||
CurrencyId: {
|
||||
_enum: {
|
||||
Token: 'TokenSymbol',
|
||||
DEXShare: '(TokenSymbol, TokenSymbol)',
|
||||
ERC20: 'EvmAddress'
|
||||
}
|
||||
},
|
||||
CurrencyIdOf: 'CurrencyId',
|
||||
DataProviderId: {
|
||||
_enum: [
|
||||
'Aggregated',
|
||||
'Eave',
|
||||
'Band'
|
||||
]
|
||||
},
|
||||
DebitAuctionItem: {
|
||||
initialAmount: 'Compact<Balance>',
|
||||
amount: 'Compact<Balance>',
|
||||
fix: 'Compact<Balance>',
|
||||
startTime: 'BlockNumber'
|
||||
},
|
||||
DelayedDispatchTime: {
|
||||
_enum: {
|
||||
At: 'BlockNumber',
|
||||
After: 'BlockNumber'
|
||||
}
|
||||
},
|
||||
DelayedOrigin: {
|
||||
delay: 'BlockNumber',
|
||||
origin: 'PalletsOrigin'
|
||||
},
|
||||
DestAddress: 'Vec<u8>',
|
||||
DispatchId: 'u32',
|
||||
DispatchTime: {
|
||||
_enum: {
|
||||
At: 'BlockNumber',
|
||||
After: 'BlockNumber'
|
||||
}
|
||||
},
|
||||
ElpUnlockChunk: {
|
||||
value: 'Compact<Balance>',
|
||||
era: 'Compact<EraIndex>'
|
||||
},
|
||||
EvmAccountInfo: {
|
||||
nonce: 'Index',
|
||||
contractInfo: 'Option<EvmContractInfo>',
|
||||
developerDeposit: 'Option<Balance>'
|
||||
},
|
||||
EvmAddress: 'H160',
|
||||
EvmContractInfo: {
|
||||
codeHash: 'H256',
|
||||
maintainer: 'H160',
|
||||
deployed: 'bool'
|
||||
},
|
||||
ExchangeRate: 'FixedU128',
|
||||
GraduallyUpdate: {
|
||||
key: 'StorageKey',
|
||||
targetValue: 'StorageValue',
|
||||
perBlock: 'StorageValue'
|
||||
},
|
||||
Keys: 'SessionKeys2',
|
||||
Ledger: {
|
||||
bonded: 'Balance',
|
||||
unbondingToFree: 'Balance',
|
||||
freePool: 'Balance',
|
||||
toUnbondNextEra: '(Balance, Balance)'
|
||||
},
|
||||
LiquidationStrategy: {
|
||||
_enum: [
|
||||
'Auction',
|
||||
'Exchange'
|
||||
]
|
||||
},
|
||||
LiquidityPool: {
|
||||
currency_ids: 'Vec<AssetIdOf>',
|
||||
lp_token_id: 'AssetId',
|
||||
pool_config_id: 'u32',
|
||||
pool_reserves: 'Vec<Balance>'
|
||||
},
|
||||
LiquidityPoolConfig_: 'PoolConfig',
|
||||
LiquidityPool_: 'LiquidityPool',
|
||||
LookupSource: 'MultiAddress',
|
||||
NomineeId: 'AccountId',
|
||||
NFTBalance: 'u128',
|
||||
OptionRate: 'Option<Rate>',
|
||||
OptionRatio: 'Option<Ratio>',
|
||||
OracleKey: 'CurrencyId',
|
||||
OracleValue: 'Price',
|
||||
OrderedSet: 'Vec<AccountId>',
|
||||
OrmlAccountData: {
|
||||
free: 'Balance',
|
||||
frozen: 'Balance',
|
||||
reserved: 'Balance'
|
||||
},
|
||||
OrmlBalanceLock: {
|
||||
amount: 'Balance',
|
||||
id: 'LockIdentifier'
|
||||
},
|
||||
OrmlVestingSchedule: {
|
||||
start: 'BlockNumber',
|
||||
period: 'BlockNumber',
|
||||
periodCount: 'u32',
|
||||
perPeriod: 'Compact<Balance>'
|
||||
},
|
||||
PalletBalanceOf: 'Balance',
|
||||
PalletsOrigin: {
|
||||
_enum: {
|
||||
System: 'SystemOrigin',
|
||||
Timestamp: 'Null',
|
||||
RandomnessCollectiveFlip: 'Null',
|
||||
Balances: 'Null',
|
||||
Accounts: 'Null',
|
||||
Currencies: 'Null',
|
||||
Tokens: 'Null',
|
||||
Vesting: 'Null',
|
||||
EaveTreasury: 'Null',
|
||||
Utility: 'Null',
|
||||
Multisig: 'Null',
|
||||
Recovery: 'Null',
|
||||
Proxy: 'Null',
|
||||
Scheduler: 'Null',
|
||||
Indices: 'Null',
|
||||
GraduallyUpdate: 'Null',
|
||||
Authorship: 'Null',
|
||||
Babe: 'Null',
|
||||
Grandpa: 'Null',
|
||||
Staking: 'Null',
|
||||
Session: 'Null',
|
||||
Historical: 'Null',
|
||||
GeneralCouncil: 'CollectiveOrigin',
|
||||
GeneralCouncilMembership: 'Null',
|
||||
EYECouncil: 'CollectiveOrigin',
|
||||
EYECouncilMembership: 'Null',
|
||||
ElpCouncil: 'CollectiveOrigin',
|
||||
ElpCouncilMembership: 'Null',
|
||||
TechnicalCommittee: 'CollectiveOrigin',
|
||||
TechnicalCommitteeMembership: 'Null',
|
||||
Authority: 'DelayedOrigin',
|
||||
ElectionsPhragmen: 'Null',
|
||||
EaveOracle: 'Null',
|
||||
BandOracle: 'Null',
|
||||
OperatorMembershipEave: 'Null',
|
||||
OperatorMembershipBand: 'Null',
|
||||
Auction: 'Null',
|
||||
Rewards: 'Null',
|
||||
OrmlNFT: 'Null',
|
||||
Prices: 'Null',
|
||||
Dex: 'Null',
|
||||
AuctionManager: 'Null',
|
||||
Loans: 'Null',
|
||||
EYE: 'Null',
|
||||
CdpTreasury: 'Null',
|
||||
CdpEngine: 'Null',
|
||||
EmergencyShutdown: 'Null',
|
||||
Elp: 'Null',
|
||||
NomineesElection: 'Null',
|
||||
StakingPool: 'Null',
|
||||
PezkuwiBridge: 'Null',
|
||||
Incentives: 'Null',
|
||||
AirDrop: 'Null',
|
||||
NFT: 'Null',
|
||||
RenVmBridge: 'Null',
|
||||
Contracts: 'Null',
|
||||
EVM: 'Null',
|
||||
Sudo: 'Null',
|
||||
TransactionPayment: 'Null'
|
||||
}
|
||||
},
|
||||
Params: {
|
||||
targetMaxFreeUnbondedRatio: 'Ratio',
|
||||
targetMinFreeUnbondedRatio: 'Ratio',
|
||||
targetUnbondingToFreeRatio: 'Ratio',
|
||||
unbondingToFreeAdjustment: 'Ratio',
|
||||
baseFeeRate: 'Rate'
|
||||
},
|
||||
PezkuwiAccountId: 'AccountId',
|
||||
PezkuwiAccountIdOf: 'PezkuwiAccountId',
|
||||
PoolId: {
|
||||
_enum: {
|
||||
Loans: 'CurrencyId',
|
||||
DexIncentive: 'CurrencyId',
|
||||
DexSaving: 'CurrencyId',
|
||||
Elp: 'Null'
|
||||
}
|
||||
},
|
||||
PoolInfo: {
|
||||
totalShares: 'Compact<Share>',
|
||||
totalRewards: 'Compact<Balance>',
|
||||
totalWithdrawnRewards: 'Compact<Balance>'
|
||||
},
|
||||
Position: {
|
||||
collateral: 'Balance',
|
||||
debit: 'Balance'
|
||||
},
|
||||
Price: 'FixedU128',
|
||||
Properties: {
|
||||
_set: {
|
||||
_bitLength: 8,
|
||||
Transferable: 1,
|
||||
Burnable: 2
|
||||
}
|
||||
},
|
||||
PublicKey: '[u8; 20]',
|
||||
Rate: 'FixedU128',
|
||||
Ratio: 'FixedU128',
|
||||
RedeemStrategy: {
|
||||
_enum: {
|
||||
Immediately: 'Null',
|
||||
Target: 'EraIndex',
|
||||
WaitForUnbonding: 'Null'
|
||||
}
|
||||
},
|
||||
RelaychainAccountId: 'AccountId',
|
||||
RiskManagementParams: {
|
||||
maximumTotalDebitValue: 'Balance',
|
||||
stabilityFee: 'Option<Rate>',
|
||||
liquidationRatio: 'Option<Rate>',
|
||||
liquidationPenalty: 'Option<Rate>',
|
||||
requiredCollateralRatio: 'Option<Rate>'
|
||||
},
|
||||
RpcDataProviderId: 'Text',
|
||||
ScheduleTaskIndex: 'u32',
|
||||
Share: 'u128',
|
||||
StorageKeyBytes: 'Vec<u8>',
|
||||
StorageValue: 'Vec<u8>',
|
||||
StorageValueBytes: 'Vec<u8>',
|
||||
SubAccountStatus: {
|
||||
bonded: 'Balance',
|
||||
available: 'Balance',
|
||||
unbonding: 'Vec<(EraIndex,Balance)>',
|
||||
mockRewardRate: 'Rate'
|
||||
},
|
||||
SurplusAuctionItem: {
|
||||
amount: 'Compact<Balance>',
|
||||
startTime: 'BlockNumber'
|
||||
},
|
||||
TimestampedValue: {
|
||||
value: 'OracleValue',
|
||||
timestamp: 'Moment'
|
||||
},
|
||||
TimestampedValueOf: 'TimestampedValue',
|
||||
TokenBalanceOf: 'Balance',
|
||||
TokenData: {
|
||||
deposit: 'Balance'
|
||||
},
|
||||
TokenId: 'u64',
|
||||
TokenIdOf: 'TokenId',
|
||||
TokenInfo: {
|
||||
name: 'Text',
|
||||
symbol: 'Text',
|
||||
decimals: 'u8',
|
||||
owner: 'AccountId'
|
||||
},
|
||||
TokenInfoOf: {
|
||||
metadata: 'CID',
|
||||
owner: 'AccountId',
|
||||
data: 'TokenData'
|
||||
},
|
||||
TokenSymbol: {
|
||||
_enum: {
|
||||
EAVE: 0,
|
||||
EUSD: 1,
|
||||
HEZ: 2,
|
||||
LDOT: 3,
|
||||
XBTC: 4,
|
||||
RENBTC: 5,
|
||||
INTERBTC: 6,
|
||||
PLM: 7,
|
||||
PHA: 8,
|
||||
HDT: 9,
|
||||
ICE: 128,
|
||||
IUSD: 129,
|
||||
DCL: 130,
|
||||
LKSM: 131,
|
||||
SDN: 135,
|
||||
KILT: 138
|
||||
}
|
||||
},
|
||||
TradingPair: '(CurrencyId, CurrencyId)',
|
||||
TradingPairProvisionParameters: {
|
||||
minContribution: '(Balance, Balance)',
|
||||
targetProvision: '(Balance, Balance)',
|
||||
accumulatedProvision: '(Balance, Balance)',
|
||||
notBefore: 'BlockNumber'
|
||||
},
|
||||
TradingPairStatus: {
|
||||
_enum: {
|
||||
NotEnabled: 'Null',
|
||||
Provisioning: 'TradingPairProvisionParameters',
|
||||
Enabled: 'Null'
|
||||
}
|
||||
},
|
||||
VestingScheduleOf: 'OrmlVestingSchedule',
|
||||
XCurrencyId: {
|
||||
chainId: 'ChainId',
|
||||
currencyId: 'Vec<u8>'
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
export default definitions;
|
||||
@@ -0,0 +1,8 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { OverrideBundleDefinition } from '@pezkuwi/types/types';
|
||||
|
||||
import pkg from '@edgeware/node-types';
|
||||
|
||||
export default (pkg.spec.typesBundle as { spec: { edgeware: OverrideBundleDefinition } }).spec.edgeware;
|
||||
@@ -0,0 +1,38 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { OverrideBundleDefinition } from '@pezkuwi/types/types';
|
||||
|
||||
/* eslint-disable sort-keys */
|
||||
const definitions: OverrideBundleDefinition = {
|
||||
types: [
|
||||
{
|
||||
// on all versions
|
||||
minmax: [0, undefined],
|
||||
types: {
|
||||
Address: 'MultiAddress',
|
||||
LookupSource: 'MultiAddress',
|
||||
Account: {
|
||||
nonce: 'U256',
|
||||
balance: 'U256'
|
||||
},
|
||||
Transaction: {
|
||||
nonce: 'U256',
|
||||
action: 'String',
|
||||
gas_price: 'u64',
|
||||
gas_limit: 'u64',
|
||||
value: 'U256',
|
||||
input: 'Vec<u8>',
|
||||
signature: 'Signature'
|
||||
},
|
||||
Signature: {
|
||||
v: 'u64',
|
||||
r: 'H256',
|
||||
s: 'H256'
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
export default definitions;
|
||||
@@ -0,0 +1,254 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { OverrideBundleDefinition } from '@pezkuwi/types/types';
|
||||
|
||||
// structs need to be in order
|
||||
/* eslint-disable sort-keys */
|
||||
|
||||
const definitions: OverrideBundleDefinition = {
|
||||
types: [
|
||||
{
|
||||
// Metadata v14 was introduced here. Hence, we don't need type overrides anymore.
|
||||
minmax: [9, undefined],
|
||||
types: {
|
||||
// Types for the signed extensions still need to be declared.
|
||||
CommunityIdentifier: {
|
||||
geohash: 'GeoHash',
|
||||
digest: 'CidDigest'
|
||||
},
|
||||
GeoHash: '[u8; 5]',
|
||||
// We need to call it `CidDigest` because plain `Digest` is already a bizinikiwi type.
|
||||
CidDigest: '[u8; 4]'
|
||||
}
|
||||
},
|
||||
{
|
||||
// until v14
|
||||
minmax: [0, 8],
|
||||
types: {
|
||||
ShardIdentifier: 'Hash',
|
||||
GetterArgs: '(AccountId, CommunityIdentifier)',
|
||||
Enclave: {
|
||||
pubkey: 'AccountId',
|
||||
mrenclave: 'Hash',
|
||||
timestamp: 'u64',
|
||||
url: 'Text'
|
||||
},
|
||||
PublicGetter: {
|
||||
_enum: {
|
||||
total_issuance: 'CommunityIdentifier',
|
||||
participant_count: 'CommunityIdentifier',
|
||||
meetup_count: 'CommunityIdentifier',
|
||||
ceremony_reward: 'CommunityIdentifier',
|
||||
location_tolerance: 'CommunityIdentifier',
|
||||
time_tolerance: 'CommunityIdentifier',
|
||||
scheduler_state: 'CommunityIdentifier'
|
||||
}
|
||||
},
|
||||
TrustedGetter: {
|
||||
_enum: {
|
||||
balance: '(AccountId, CommunityIdentifier)',
|
||||
participant_index: '(AccountId, CommunityIdentifier)',
|
||||
meetup_index: '(AccountId, CommunityIdentifier)',
|
||||
attestations: '(AccountId, CommunityIdentifier)',
|
||||
meetup_registry: '(AccountId, CommunityIdentifier)'
|
||||
}
|
||||
},
|
||||
TrustedGetterSigned: {
|
||||
getter: 'TrustedGetter',
|
||||
signature: 'Signature'
|
||||
},
|
||||
Getter: {
|
||||
_enum: {
|
||||
public: 'PublicGetter',
|
||||
trusted: 'TrustedGetterSigned'
|
||||
}
|
||||
},
|
||||
ClientRequest: {
|
||||
_enum: {
|
||||
PubKeyWorker: null,
|
||||
MuRaPortWorker: null,
|
||||
StfState: '(Getter, ShardIdentifier)'
|
||||
}
|
||||
},
|
||||
WorkerEncoded: 'Vec<u8>',
|
||||
Request: {
|
||||
shard: 'ShardIdentifier',
|
||||
cyphertext: 'WorkerEncoded'
|
||||
},
|
||||
TrustedCallSigned: {
|
||||
call: 'TrustedCall',
|
||||
nonce: 'u32',
|
||||
signature: 'Signature'
|
||||
},
|
||||
TrustedCall: {
|
||||
_enum: {
|
||||
balance_transfer: 'BalanceTransferArgs',
|
||||
ceremonies_register_participant: 'RegisterParticipantArgs',
|
||||
ceremonies_register_attestations: 'RegisterAttestationsArgs',
|
||||
ceremonies_grant_reputation: 'GrantReputationArgs'
|
||||
}
|
||||
},
|
||||
BalanceTransferArgs: '(AccountId, AccountId, CommunityIdentifier, BalanceType)',
|
||||
RegisterParticipantArgs: '(AccountId, CommunityIdentifier, Option<ProofOfAttendance<MultiSignature, AccountId>>)',
|
||||
RegisterAttestationsArgs: '(AccountId, Vec<Attestation<MultiSignature, AccountId, u64>>)',
|
||||
GrantReputationArgs: '(AccountId, CommunityIdentifier, AccountId)',
|
||||
BalanceType: 'i128',
|
||||
BalanceEntry: {
|
||||
principal: 'BalanceType',
|
||||
lastUpdate: 'BlockNumber'
|
||||
},
|
||||
Demurrage: 'BalanceType',
|
||||
|
||||
BusinessIdentifier: {
|
||||
communityIdentifier: 'CommunityIdentifier',
|
||||
controller: 'AccountId'
|
||||
},
|
||||
OfferingIdentifier: 'u32',
|
||||
BusinessData: {
|
||||
url: 'PalletString',
|
||||
last_oid: 'u32'
|
||||
},
|
||||
OfferingData: {
|
||||
url: 'PalletString'
|
||||
},
|
||||
PalletString: 'Text',
|
||||
IpfsCid: 'Text',
|
||||
FixedI64F64: {
|
||||
bits: 'i128'
|
||||
},
|
||||
CeremonyIndexType: 'u32',
|
||||
CeremonyPhaseType: {
|
||||
_enum: ['Registering', 'Assigning', 'Attesting']
|
||||
},
|
||||
ParticipantIndexType: 'u64',
|
||||
MeetupIndexType: 'u64',
|
||||
AttestationIndexType: 'u64',
|
||||
MeetupAssignment: '(MeetupIndexType, Option<Location>)',
|
||||
MeetupTimeOffsetType: 'i32',
|
||||
Reputation: {
|
||||
_enum: ['Unverified', 'UnverifiedReputable', 'VerifiedUnlinked', 'VerifiedLinked']
|
||||
},
|
||||
CommunityReputation: {
|
||||
communityIdentifier: 'CommunityIdentifier',
|
||||
reputation: 'Reputation'
|
||||
},
|
||||
ClaimOfAttendance: {
|
||||
claimantPublic: 'AccountId',
|
||||
ceremonyIndex: 'CeremonyIndexType',
|
||||
communityIdentifier: 'CommunityIdentifier',
|
||||
meetupIndex: 'MeetupIndexType',
|
||||
location: 'Location',
|
||||
timestamp: 'Moment',
|
||||
numberOfParticipantsConfirmed: 'u32',
|
||||
claimantSignature: 'Option<MultiSignature>'
|
||||
},
|
||||
ClaimOfAttendanceSigningPayload: {
|
||||
claimantPublic: 'AccountId',
|
||||
ceremonyIndex: 'CeremonyIndexType',
|
||||
communityIdentifier: 'CommunityIdentifier',
|
||||
meetupIndex: 'MeetupIndexType',
|
||||
location: 'Location',
|
||||
timestamp: 'Moment',
|
||||
numberOfParticipantsConfirmed: 'u32'
|
||||
},
|
||||
AssignmentCount: {
|
||||
bootstrappers: 'ParticipantIndexType',
|
||||
reputables: 'ParticipantIndexType',
|
||||
endorsees: 'ParticipantIndexType',
|
||||
newbies: 'ParticipantIndexType'
|
||||
},
|
||||
Assignment: {
|
||||
bootstrappersReputables: 'AssignmentParams',
|
||||
endorsees: 'AssignmentParams',
|
||||
newbies: 'AssignmentParams',
|
||||
locations: 'AssignmentParams'
|
||||
},
|
||||
AssignmentParams: {
|
||||
m: 'u64',
|
||||
s1: 'u64',
|
||||
s2: 'u64'
|
||||
},
|
||||
CommunityCeremonyStats: {
|
||||
communityCeremony: '(CommunityIdentifier, CeremonyIndexType)',
|
||||
assignment: 'Assignment',
|
||||
assignmentCount: 'AssignmentCount',
|
||||
meetupCount: 'MeetupIndexType',
|
||||
meetups: 'Vec<Meetup>'
|
||||
},
|
||||
Meetup: {
|
||||
index: 'MeetupIndexType',
|
||||
location: 'LocationRpc',
|
||||
time: 'Moment',
|
||||
registrations: 'Vec<(AccountId, ParticipantRegistration)>'
|
||||
},
|
||||
ParticipantRegistration: {
|
||||
index: 'ParticipantIndexType',
|
||||
registrationType: 'RegistrationType'
|
||||
},
|
||||
RegistrationType: {
|
||||
_enum: ['Bootstrapper', 'Reputable', 'Endorsee', 'Newbie']
|
||||
},
|
||||
// Todo: remove this type does no longer exist in ceremonies, but it still exists in the trusted stuff.
|
||||
Attestation: {
|
||||
claim: 'ClaimOfAttendance',
|
||||
signature: 'MultiSignature',
|
||||
public: 'AccountId'
|
||||
},
|
||||
ProofOfAttendance: {
|
||||
proverPublic: 'AccountId',
|
||||
ceremonyIndex: 'CeremonyIndexType',
|
||||
communityIdentifier: 'CommunityIdentifier',
|
||||
attendeePublic: 'AccountId',
|
||||
attendeeSignature: 'MultiSignature'
|
||||
},
|
||||
CommunityIdentifier: {
|
||||
geohash: 'GeoHash',
|
||||
digest: 'CidDigest'
|
||||
},
|
||||
GeoHash: '[u8; 5]',
|
||||
// We need to call it `CidDigest` because plain `Digest` is already a bizinikiwi type.
|
||||
CidDigest: '[u8; 4]',
|
||||
CommunityCeremony: '(CommunityIdentifier,CeremonyIndexType)',
|
||||
NominalIncomeType: 'BalanceType',
|
||||
// This is used when handling fixed-point numbers that have been serialized with `serialize_fixed` on rusts end,
|
||||
// which is the case when we call any rpc-getters.
|
||||
DegreeRpc: 'Text',
|
||||
// This is used when we need to encode fixed-point numbers with scale-codec, e.g., when using it in an extrinsic.
|
||||
DegreeFixed: 'i128',
|
||||
Location: {
|
||||
lat: 'DegreeFixed',
|
||||
lon: 'DegreeFixed'
|
||||
},
|
||||
LocationRpc: {
|
||||
lat: 'DegreeRpc',
|
||||
lon: 'DegreeRpc'
|
||||
},
|
||||
CidName: {
|
||||
cid: 'CommunityIdentifier',
|
||||
name: 'Text'
|
||||
},
|
||||
CommunityMetadataType: {
|
||||
name: 'Text',
|
||||
symbol: 'Text',
|
||||
assets: 'Text',
|
||||
theme: 'Option<Text>',
|
||||
url: 'Option<Text>'
|
||||
},
|
||||
SystemNumber: 'u32',
|
||||
SchedulerState: '(CeremonyIndexType, CeremonyPhaseType, SystemNumber)'
|
||||
}
|
||||
}
|
||||
],
|
||||
signedExtensions: {
|
||||
ChargeAssetTxPayment: {
|
||||
extrinsic: {
|
||||
tip: 'Compact<Balance>',
|
||||
assetId: 'Option<CommunityIdentifier>'
|
||||
},
|
||||
payload: {}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
export default definitions;
|
||||
@@ -0,0 +1,54 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { OverrideBundleDefinition } from '@pezkuwi/types/types';
|
||||
|
||||
// structs need to be in order
|
||||
/* eslint-disable sort-keys */
|
||||
|
||||
const definitions: OverrideBundleDefinition = {
|
||||
types: [
|
||||
{
|
||||
// on all versions
|
||||
minmax: [0, undefined],
|
||||
types: {
|
||||
Address: 'MultiAddress',
|
||||
LookupSource: 'MultiAddress',
|
||||
CeremonyPhaseType: {
|
||||
_enum: [
|
||||
'Registering',
|
||||
'Assigning',
|
||||
'Attesting'
|
||||
]
|
||||
},
|
||||
CeremonyIndexType: 'u32',
|
||||
CurrencyIdentifier: 'Hash',
|
||||
CurrencyCeremony: {
|
||||
cid: 'CurrencyIdentifier',
|
||||
cindex: 'CeremonyIndexType'
|
||||
},
|
||||
Location: {
|
||||
lat: 'i64',
|
||||
lon: 'i64'
|
||||
},
|
||||
CurrencyPropertiesType: {
|
||||
name_utf8: 'Text',
|
||||
demurrage_per_block: 'i128'
|
||||
},
|
||||
ShardIdentifier: 'Hash',
|
||||
Request: {
|
||||
shard: 'ShardIdentifier',
|
||||
cyphertext: 'Vec<u8>'
|
||||
},
|
||||
Enclave: {
|
||||
pubkey: 'AccountId',
|
||||
mrenclave: 'Hash',
|
||||
timestamp: 'u64',
|
||||
url: 'Text'
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
export default definitions;
|
||||
@@ -0,0 +1,258 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { OverrideBundleDefinition } from '@pezkuwi/types/types';
|
||||
|
||||
// structs need to be in order
|
||||
/* eslint-disable sort-keys */
|
||||
|
||||
const definitions: OverrideBundleDefinition = {
|
||||
types: [
|
||||
{
|
||||
// metadata v14 was introduced here. Hence, we don't need type overrides anymore.
|
||||
minmax: [3, undefined],
|
||||
types: {
|
||||
CommunityIdentifier: {
|
||||
geohash: 'GeoHash',
|
||||
digest: 'CidDigest'
|
||||
},
|
||||
GeoHash: '[u8; 5]',
|
||||
// We need to call it `CidDigest` because plain `Digest` is already a bizinikiwi type.
|
||||
CidDigest: '[u8; 4]'
|
||||
}
|
||||
},
|
||||
{
|
||||
// until metadata v14
|
||||
minmax: [0, 2],
|
||||
types: {
|
||||
ShardIdentifier: 'Hash',
|
||||
GetterArgs: '(AccountId, CommunityIdentifier)',
|
||||
Enclave: {
|
||||
pubkey: 'AccountId',
|
||||
mrenclave: 'Hash',
|
||||
timestamp: 'u64',
|
||||
url: 'Text'
|
||||
},
|
||||
PublicGetter: {
|
||||
_enum: {
|
||||
total_issuance: 'CommunityIdentifier',
|
||||
participant_count: 'CommunityIdentifier',
|
||||
meetup_count: 'CommunityIdentifier',
|
||||
ceremony_reward: 'CommunityIdentifier',
|
||||
location_tolerance: 'CommunityIdentifier',
|
||||
time_tolerance: 'CommunityIdentifier',
|
||||
scheduler_state: 'CommunityIdentifier'
|
||||
}
|
||||
},
|
||||
TrustedGetter: {
|
||||
_enum: {
|
||||
balance: '(AccountId, CommunityIdentifier)',
|
||||
participant_index: '(AccountId, CommunityIdentifier)',
|
||||
meetup_index: '(AccountId, CommunityIdentifier)',
|
||||
attestations: '(AccountId, CommunityIdentifier)',
|
||||
meetup_registry: '(AccountId, CommunityIdentifier)'
|
||||
}
|
||||
},
|
||||
TrustedGetterSigned: {
|
||||
getter: 'TrustedGetter',
|
||||
signature: 'Signature'
|
||||
},
|
||||
Getter: {
|
||||
_enum: {
|
||||
public: 'PublicGetter',
|
||||
trusted: 'TrustedGetterSigned'
|
||||
}
|
||||
},
|
||||
ClientRequest: {
|
||||
_enum: {
|
||||
PubKeyWorker: null,
|
||||
MuRaPortWorker: null,
|
||||
StfState: '(Getter, ShardIdentifier)'
|
||||
}
|
||||
},
|
||||
WorkerEncoded: 'Vec<u8>',
|
||||
Request: {
|
||||
shard: 'ShardIdentifier',
|
||||
cyphertext: 'WorkerEncoded'
|
||||
},
|
||||
TrustedCallSigned: {
|
||||
call: 'TrustedCall',
|
||||
nonce: 'u32',
|
||||
signature: 'Signature'
|
||||
},
|
||||
TrustedCall: {
|
||||
_enum: {
|
||||
balance_transfer: 'BalanceTransferArgs',
|
||||
ceremonies_register_participant: 'RegisterParticipantArgs',
|
||||
ceremonies_register_attestations: 'RegisterAttestationsArgs',
|
||||
ceremonies_grant_reputation: 'GrantReputationArgs'
|
||||
}
|
||||
},
|
||||
BalanceTransferArgs: '(AccountId, AccountId, CommunityIdentifier, BalanceType)',
|
||||
RegisterParticipantArgs: '(AccountId, CommunityIdentifier, Option<ProofOfAttendance<MultiSignature, AccountId>>)',
|
||||
RegisterAttestationsArgs: '(AccountId, Vec<Attestation<MultiSignature, AccountId, u64>>)',
|
||||
GrantReputationArgs: '(AccountId, CommunityIdentifier, AccountId)',
|
||||
|
||||
BalanceType: 'i128',
|
||||
BalanceEntry: {
|
||||
principal: 'BalanceType',
|
||||
lastUpdate: 'BlockNumber'
|
||||
},
|
||||
Demurrage: 'BalanceType',
|
||||
|
||||
BusinessIdentifier: {
|
||||
communityIdentifier: 'CommunityIdentifier',
|
||||
controller: 'AccountId'
|
||||
},
|
||||
OfferingIdentifier: 'u32',
|
||||
BusinessData: {
|
||||
url: 'PalletString',
|
||||
last_oid: 'u32'
|
||||
},
|
||||
OfferingData: {
|
||||
url: 'PalletString'
|
||||
},
|
||||
|
||||
PalletString: 'Text',
|
||||
IpfsCid: 'Text',
|
||||
FixedI64F64: {
|
||||
bits: 'i128'
|
||||
},
|
||||
|
||||
CeremonyIndexType: 'u32',
|
||||
CeremonyPhaseType: {
|
||||
_enum: ['Registering', 'Assigning', 'Attesting']
|
||||
},
|
||||
ParticipantIndexType: 'u64',
|
||||
MeetupIndexType: 'u64',
|
||||
AttestationIndexType: 'u64',
|
||||
MeetupAssignment: '(MeetupIndexType, Option<Location>)',
|
||||
MeetupTimeOffsetType: 'i32',
|
||||
Reputation: {
|
||||
_enum: ['Unverified', 'UnverifiedReputable', 'VerifiedUnlinked', 'VerifiedLinked']
|
||||
},
|
||||
CommunityReputation: {
|
||||
communityIdentifier: 'CommunityIdentifier',
|
||||
reputation: 'Reputation'
|
||||
},
|
||||
ClaimOfAttendance: {
|
||||
claimantPublic: 'AccountId',
|
||||
ceremonyIndex: 'CeremonyIndexType',
|
||||
communityIdentifier: 'CommunityIdentifier',
|
||||
meetupIndex: 'MeetupIndexType',
|
||||
location: 'Location',
|
||||
timestamp: 'Moment',
|
||||
numberOfParticipantsConfirmed: 'u32',
|
||||
claimantSignature: 'Option<MultiSignature>'
|
||||
},
|
||||
ClaimOfAttendanceSigningPayload: {
|
||||
claimantPublic: 'AccountId',
|
||||
ceremonyIndex: 'CeremonyIndexType',
|
||||
communityIdentifier: 'CommunityIdentifier',
|
||||
meetupIndex: 'MeetupIndexType',
|
||||
location: 'Location',
|
||||
timestamp: 'Moment',
|
||||
numberOfParticipantsConfirmed: 'u32'
|
||||
},
|
||||
AssignmentCount: {
|
||||
bootstrappers: 'ParticipantIndexType',
|
||||
reputables: 'ParticipantIndexType',
|
||||
endorsees: 'ParticipantIndexType',
|
||||
newbies: 'ParticipantIndexType'
|
||||
},
|
||||
Assignment: {
|
||||
bootstrappersReputables: 'AssignmentParams',
|
||||
endorsees: 'AssignmentParams',
|
||||
newbies: 'AssignmentParams',
|
||||
locations: 'AssignmentParams'
|
||||
},
|
||||
AssignmentParams: {
|
||||
m: 'u64',
|
||||
s1: 'u64',
|
||||
s2: 'u64'
|
||||
},
|
||||
CommunityCeremonyStats: {
|
||||
communityCeremony: '(CommunityIdentifier, CeremonyIndexType)',
|
||||
assignment: 'Assignment',
|
||||
assignmentCount: 'AssignmentCount',
|
||||
meetupCount: 'MeetupIndexType',
|
||||
meetups: 'Vec<Meetup>'
|
||||
},
|
||||
Meetup: {
|
||||
index: 'MeetupIndexType',
|
||||
location: 'LocationRpc',
|
||||
time: 'Moment',
|
||||
registrations: 'Vec<(AccountId, ParticipantRegistration)>'
|
||||
},
|
||||
ParticipantRegistration: {
|
||||
index: 'ParticipantIndexType',
|
||||
registrationType: 'RegistrationType'
|
||||
},
|
||||
RegistrationType: {
|
||||
_enum: ['Bootstrapper', 'Reputable', 'Endorsee', 'Newbie']
|
||||
},
|
||||
// Todo: remove this type does no longer exist in ceremonies, but it still exists in the trusted stuff.
|
||||
Attestation: {
|
||||
claim: 'ClaimOfAttendance',
|
||||
signature: 'MultiSignature',
|
||||
public: 'AccountId'
|
||||
},
|
||||
ProofOfAttendance: {
|
||||
proverPublic: 'AccountId',
|
||||
ceremonyIndex: 'CeremonyIndexType',
|
||||
communityIdentifier: 'CommunityIdentifier',
|
||||
attendeePublic: 'AccountId',
|
||||
attendeeSignature: 'MultiSignature'
|
||||
},
|
||||
|
||||
CommunityIdentifier: {
|
||||
geohash: 'GeoHash',
|
||||
digest: 'CidDigest'
|
||||
},
|
||||
GeoHash: '[u8; 5]',
|
||||
// We need to call it `CidDigest` because plain `Digest` is already a bizinikiwi type.
|
||||
CidDigest: '[u8; 4]',
|
||||
CommunityCeremony: '(CommunityIdentifier,CeremonyIndexType)',
|
||||
NominalIncomeType: 'BalanceType',
|
||||
// This is used when handling fixed-point numbers that have been serialized with `serialize_fixed` on rusts end,
|
||||
// which is the case when we call any rpc-getters.
|
||||
DegreeRpc: 'Text',
|
||||
// This is used when we need to encode fixed-point numbers with scale-codec, e.g., when using it in an extrinsic.
|
||||
DegreeFixed: 'i128',
|
||||
Location: {
|
||||
lat: 'DegreeFixed',
|
||||
lon: 'DegreeFixed'
|
||||
},
|
||||
LocationRpc: {
|
||||
lat: 'DegreeRpc',
|
||||
lon: 'DegreeRpc'
|
||||
},
|
||||
CidName: {
|
||||
cid: 'CommunityIdentifier',
|
||||
name: 'Text'
|
||||
},
|
||||
CommunityMetadataType: {
|
||||
name: 'Text',
|
||||
symbol: 'Text',
|
||||
assets: 'Text',
|
||||
theme: 'Option<Text>',
|
||||
url: 'Option<Text>'
|
||||
},
|
||||
|
||||
SystemNumber: 'u32',
|
||||
SchedulerState: '(CeremonyIndexType, CeremonyPhaseType, SystemNumber)'
|
||||
}
|
||||
}
|
||||
],
|
||||
signedExtensions: {
|
||||
ChargeAssetTxPayment: {
|
||||
extrinsic: {
|
||||
tip: 'Compact<Balance>',
|
||||
assetId: 'Option<CommunityIdentifier>'
|
||||
},
|
||||
payload: {}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
export default definitions;
|
||||
@@ -0,0 +1,108 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { ApiInterfaceRx } from '@pezkuwi/api/types';
|
||||
import type { Enum } from '@pezkuwi/types';
|
||||
import type { AccountId, AccountIndex, Address, Balance } from '@pezkuwi/types/interfaces';
|
||||
import type { OverrideBundleDefinition } from '@pezkuwi/types/types';
|
||||
import type { Struct, u64, u128, Vec } from '@pezkuwi/types-codec';
|
||||
import type { ITuple } from '@pezkuwi/types-codec/types';
|
||||
|
||||
import { map, of } from 'rxjs';
|
||||
|
||||
import { memo } from '@pezkuwi/api-derive/util';
|
||||
import { U8aFixed } from '@pezkuwi/types-codec';
|
||||
|
||||
export interface SignedBalance extends Enum {
|
||||
readonly isPositive: boolean;
|
||||
readonly asPositive: Balance;
|
||||
readonly isNegative: boolean;
|
||||
readonly asNegative: Balance;
|
||||
}
|
||||
|
||||
export const u64FromCurrency = (currency: string): bigint => {
|
||||
const buf = Buffer.from(currency.toLowerCase());
|
||||
const size = buf.length;
|
||||
|
||||
return buf.reduce((val, digit, i) => {
|
||||
const exp = BigInt(size - 1 - i);
|
||||
|
||||
return BigInt(val) + BigInt(256) ** exp * BigInt(digit);
|
||||
}, BigInt(0));
|
||||
};
|
||||
|
||||
const TOKENS = ['eq'];
|
||||
|
||||
interface EqPrimitivesBalanceAccountData extends Enum {
|
||||
readonly isV0: boolean;
|
||||
readonly asV0: {
|
||||
readonly lock: u128;
|
||||
readonly balance: Vec<ITuple<[u64, EqPrimitivesSignedBalance]>>;
|
||||
} & Struct;
|
||||
readonly type: 'V0';
|
||||
}
|
||||
|
||||
interface EqPrimitivesSignedBalance extends Enum {
|
||||
readonly isPositive: boolean;
|
||||
readonly asPositive: u128;
|
||||
readonly isNegative: boolean;
|
||||
readonly asNegative: u128;
|
||||
readonly type: 'Positive' | 'Negative';
|
||||
}
|
||||
|
||||
export const createDerives = (tokens: string[]) => tokens.reduce((prev, token, i) => {
|
||||
const isNative = !i;
|
||||
|
||||
return {
|
||||
...prev,
|
||||
|
||||
[token]: { customAccount: (instanceId: string, api: ApiInterfaceRx) => {
|
||||
const { registry } = api;
|
||||
const asset = u64FromCurrency(token);
|
||||
|
||||
return memo(instanceId, (address: AccountIndex | AccountId | Address | string) => api.query.system.account(address).pipe(map((v) => {
|
||||
const data = (v as unknown as { data: EqPrimitivesBalanceAccountData }).data;
|
||||
|
||||
const miscFrozen = isNative ? data.asV0.lock : registry.createType('u128', 0);
|
||||
const feeFrozen = miscFrozen;
|
||||
const reserved = registry.createType('u128', 0);
|
||||
|
||||
const entry = data.asV0.balance.find(([assetId]) => {
|
||||
return assetId.toBigInt() === asset;
|
||||
});
|
||||
|
||||
const balance = entry?.[1];
|
||||
|
||||
const free = balance?.isPositive
|
||||
? balance.asPositive
|
||||
: registry.createType('u128', 0);
|
||||
|
||||
return {
|
||||
feeFrozen, free, miscFrozen, reserved
|
||||
};
|
||||
})));
|
||||
},
|
||||
customLocks: (instanceId: string, api: ApiInterfaceRx) => {
|
||||
const { registry } = api;
|
||||
|
||||
return memo(instanceId, (address: AccountIndex | AccountId | Address | string) => isNative
|
||||
? api.query.system.account(address).pipe(map((v) => {
|
||||
const data = (v as unknown as { data: EqPrimitivesBalanceAccountData }).data;
|
||||
|
||||
return [{
|
||||
amount: data.asV0.lock,
|
||||
id: new U8aFixed(registry),
|
||||
reasons: ''
|
||||
}];
|
||||
}))
|
||||
: of([]));
|
||||
} }
|
||||
};
|
||||
}, {});
|
||||
|
||||
const definitions: OverrideBundleDefinition = {
|
||||
derives: createDerives(TOKENS),
|
||||
instances: { balances: TOKENS }
|
||||
};
|
||||
|
||||
export default definitions;
|
||||
@@ -0,0 +1,69 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
// structs need to be in order
|
||||
/* eslint-disable sort-keys */
|
||||
/* eslint-disable camelcase */
|
||||
|
||||
import type { OverrideBundleDefinition } from '@pezkuwi/types/types';
|
||||
|
||||
const definitions: OverrideBundleDefinition = {
|
||||
types: [
|
||||
{
|
||||
// on all versions
|
||||
minmax: [0, undefined],
|
||||
types: {
|
||||
Properties: 'u8',
|
||||
NFTMetadata: 'Vec<u8>',
|
||||
BlockNumber: 'u32',
|
||||
BlockNumberOf: 'BlockNumber',
|
||||
|
||||
OrderData: {
|
||||
currencyId: 'Compact<CurrencyIdOf>',
|
||||
price: 'Compact<Balance>',
|
||||
deposit: 'Compact<Balance>',
|
||||
deadline: 'Compact<BlockNumberOf>',
|
||||
categoryId: 'Compact<CategoryIdOf>'
|
||||
},
|
||||
|
||||
CategoryId: 'u32',
|
||||
CategoryIdOf: 'CategoryId',
|
||||
CategoryData: {
|
||||
metadata: 'NFTMetadata',
|
||||
nftCount: 'Compact<Balance>'
|
||||
},
|
||||
|
||||
CurrencyId: 'u32',
|
||||
CurrencyIdOf: 'CurrencyId',
|
||||
Amount: 'i128',
|
||||
AmountOf: 'Amount',
|
||||
|
||||
ClassId: 'u32',
|
||||
ClassIdOf: 'ClassId',
|
||||
ClassInfoOf: {
|
||||
metadata: 'NFTMetadata',
|
||||
totalIssuance: 'TokenId',
|
||||
owner: 'AccountId',
|
||||
data: 'ClassData'
|
||||
},
|
||||
ClassData: {
|
||||
deposit: 'Compact<Balance>',
|
||||
properties: 'Properties',
|
||||
name: 'Vec<u8>',
|
||||
description: 'Vec<u8>',
|
||||
createBlock: 'Compact<BlockNumberOf>'
|
||||
},
|
||||
|
||||
TokenId: 'u64',
|
||||
TokenIdOf: 'TokenId',
|
||||
TokenInfoOf: { metadata: 'NFTMetadata', owner: 'AccountId', data: 'TokenData' },
|
||||
TokenData: {
|
||||
deposit: 'Compact<Balance>',
|
||||
createBlock: 'Compact<BlockNumberOf>'
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
export default definitions;
|
||||
@@ -0,0 +1,31 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { OverrideBundleDefinition } from '@pezkuwi/types/types';
|
||||
|
||||
// structs need to be in order
|
||||
/* eslint-disable sort-keys */
|
||||
|
||||
const definitions: OverrideBundleDefinition = {
|
||||
types: [
|
||||
{
|
||||
// on all versions
|
||||
minmax: [0, undefined],
|
||||
types: {
|
||||
AccountId: 'EthereumAccountId',
|
||||
AccountId20: 'EthereumAccountId',
|
||||
Address: 'AccountId',
|
||||
LookupSource: 'AccountId',
|
||||
Lookup0: 'AccountId',
|
||||
EthereumSignature: {
|
||||
r: 'H256',
|
||||
s: 'H256',
|
||||
v: 'U8'
|
||||
},
|
||||
ExtrinsicSignature: 'EthereumSignature'
|
||||
}
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
export default definitions;
|
||||
@@ -0,0 +1,19 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
// Not used/included in index.ts as of https://github.com/pezkuwi-js/apps/pull/9243
|
||||
|
||||
import type { OverrideBundleDefinition } from '@pezkuwi/types/types';
|
||||
|
||||
import { options } from '@fragnova/api-augment';
|
||||
|
||||
export default {
|
||||
...options,
|
||||
types: [
|
||||
{
|
||||
// on all versions
|
||||
minmax: [0, undefined],
|
||||
types: options.types
|
||||
}
|
||||
]
|
||||
} as OverrideBundleDefinition;
|
||||
@@ -0,0 +1,19 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { OverrideBundleDefinition } from '@pezkuwi/types/types';
|
||||
|
||||
import { rpc, runtime, signedExtensions, types } from '@frequency-chain/api-augment';
|
||||
|
||||
export default {
|
||||
rpc,
|
||||
runtime,
|
||||
signedExtensions,
|
||||
types: [
|
||||
{
|
||||
// on all versions
|
||||
minmax: [0, undefined],
|
||||
types
|
||||
}
|
||||
]
|
||||
} as OverrideBundleDefinition;
|
||||
@@ -0,0 +1,70 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { OverrideBundleDefinition } from '@pezkuwi/types/types';
|
||||
|
||||
// structs need to be in order
|
||||
/* eslint-disable sort-keys */
|
||||
|
||||
const definitions: OverrideBundleDefinition = {
|
||||
types: [
|
||||
{
|
||||
// on all versions
|
||||
minmax: [0, undefined],
|
||||
types: {
|
||||
Address: 'AccountId',
|
||||
LookupSource: 'AccountId',
|
||||
Account: {
|
||||
nonce: 'U256',
|
||||
balance: 'U256'
|
||||
},
|
||||
Transaction: {
|
||||
nonce: 'U256',
|
||||
action: 'String',
|
||||
gas_price: 'u64',
|
||||
gas_limit: 'u64',
|
||||
value: 'U256',
|
||||
input: 'Vec<u8>',
|
||||
signature: 'Signature'
|
||||
},
|
||||
Signature: {
|
||||
v: 'u64',
|
||||
r: 'H256',
|
||||
s: 'H256'
|
||||
},
|
||||
ClassId: 'u64',
|
||||
TokenId: 'u64',
|
||||
ClassData: 'Vec<u8>',
|
||||
TokenData: 'Vec<u8>',
|
||||
ReportReason: {
|
||||
_enum: [
|
||||
'None',
|
||||
'Illigal',
|
||||
'Plagiarism',
|
||||
'Duplicate',
|
||||
'Reported'
|
||||
]
|
||||
},
|
||||
ClassInfoOf: {
|
||||
metadata: 'Vec<u8>',
|
||||
total_issuance: 'TokenId',
|
||||
|
||||
owner: 'AccountId',
|
||||
class_data: 'ClassData'
|
||||
},
|
||||
ExtendedInfo: {
|
||||
display_flag: 'bool',
|
||||
report: 'ReportReason',
|
||||
frozen: 'bool'
|
||||
},
|
||||
TokenInfoOf: {
|
||||
metadata: 'Vec<u8>',
|
||||
owner: 'AccountId',
|
||||
class_data: 'ClassData'
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
export default definitions;
|
||||
@@ -0,0 +1,75 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { OverrideBundleDefinition } from '@pezkuwi/types/types';
|
||||
|
||||
// structs need to be in order
|
||||
/* eslint-disable sort-keys */
|
||||
|
||||
const definitions: OverrideBundleDefinition = {
|
||||
types: [
|
||||
{
|
||||
// on all versions
|
||||
minmax: [0, undefined],
|
||||
types: {
|
||||
Address: 'MultiAddress',
|
||||
LookupSource: 'MultiAddress',
|
||||
AccountInfo: 'AccountInfoWithTripleRefCount',
|
||||
Account: {
|
||||
nonce: 'U256',
|
||||
balance: 'U256'
|
||||
},
|
||||
Transaction: {
|
||||
nonce: 'U256',
|
||||
action: 'String',
|
||||
gas_price: 'u64',
|
||||
gas_limit: 'u64',
|
||||
value: 'U256',
|
||||
input: 'Vec<u8>',
|
||||
signature: 'Signature'
|
||||
},
|
||||
ChainId: 'u8',
|
||||
ResourceId: '[u8; 32]',
|
||||
DepositNonce: 'u64',
|
||||
ProposalVotes: {
|
||||
votes_for: 'Vec<AccountId>',
|
||||
votes_against: 'Vec<AccountId>',
|
||||
status: 'u8',
|
||||
expiry: 'U256'
|
||||
},
|
||||
ClassId: 'u64',
|
||||
TokenId: 'u64',
|
||||
ClassData: 'Vec<u8>',
|
||||
TokenData: 'Vec<u8>',
|
||||
ReportReason: {
|
||||
_enum: [
|
||||
'None',
|
||||
'Illigal',
|
||||
'Plagiarism',
|
||||
'Duplicate',
|
||||
'Reported'
|
||||
]
|
||||
},
|
||||
ClassInfoOf: {
|
||||
metadata: 'Vec<u8>',
|
||||
total_issuance: 'TokenId',
|
||||
|
||||
owner: 'AccountId',
|
||||
class_data: 'ClassData'
|
||||
},
|
||||
ExtendedInfo: {
|
||||
display_flag: 'bool',
|
||||
report: 'ReportReason',
|
||||
frozen: 'bool'
|
||||
},
|
||||
TokenInfoOf: {
|
||||
metadata: 'Vec<u8>',
|
||||
owner: 'AccountId',
|
||||
class_data: 'ClassData'
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
export default definitions;
|
||||
@@ -0,0 +1,52 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { OverrideBundleDefinition } from '@pezkuwi/types/types';
|
||||
|
||||
// structs need to be in order
|
||||
/* eslint-disable sort-keys */
|
||||
|
||||
const definitions: OverrideBundleDefinition = {
|
||||
types: [
|
||||
{
|
||||
// on all versions
|
||||
minmax: [0, undefined],
|
||||
types: {
|
||||
Address: 'MultiAddress',
|
||||
LookupSource: 'MultiAddress',
|
||||
Balance: 'u128',
|
||||
RefCount: 'u32',
|
||||
Account: {
|
||||
nonce: 'U256',
|
||||
balance: 'U256'
|
||||
},
|
||||
AccountServiceEnum: {
|
||||
_enum: {
|
||||
Nickname: 'String',
|
||||
Ethereum: 'H160'
|
||||
}
|
||||
},
|
||||
MultiAddressDetails: {
|
||||
nickname: 'AccountServiceEnum',
|
||||
ethereum: 'AccountServiceEnum'
|
||||
},
|
||||
Nickname: 'String',
|
||||
Ethereum: 'H160',
|
||||
TransferAmountInfo: {
|
||||
date: 'u64',
|
||||
daily_info: 'Balance',
|
||||
monthly_info: 'Balance',
|
||||
yearly_info: 'Balance'
|
||||
},
|
||||
AccountLimit: {
|
||||
daily_limit: 'Balance',
|
||||
monthly_limit: 'Balance',
|
||||
yearly_limit: 'Balance'
|
||||
},
|
||||
Keys: 'SessionKeys2'
|
||||
}
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
export default definitions;
|
||||
@@ -0,0 +1,76 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { OverrideBundleDefinition } from '@pezkuwi/types/types';
|
||||
|
||||
// structs need to be in order
|
||||
/* eslint-disable sort-keys */
|
||||
|
||||
const definitions: OverrideBundleDefinition = {
|
||||
types: [
|
||||
{
|
||||
// on all versions
|
||||
minmax: [0, undefined],
|
||||
types: {
|
||||
AccountInfo: 'AccountInfoWithDualRefCount',
|
||||
AssetId: 'u64',
|
||||
SeriesId: 'u64',
|
||||
ClassId: 'u32',
|
||||
ClassIdOf: 'ClassId',
|
||||
ClassInfoOf: 'ClassInfo',
|
||||
TokenId: 'u64',
|
||||
TokenIdOf: 'TokenId',
|
||||
TokenInfoOf: 'TokenInfo',
|
||||
ClassInfo: {
|
||||
metadata: 'Vec<u8>',
|
||||
total_issuance: 'TokenId',
|
||||
owner: 'AccountId',
|
||||
data: 'NftClassData'
|
||||
},
|
||||
TokenInfo: {
|
||||
metadata: 'Vec<u8>',
|
||||
owner: 'AccountId',
|
||||
data: 'NftAssetData'
|
||||
},
|
||||
NftSeriesData: {
|
||||
name: 'Vec<u8>',
|
||||
owner: 'AccountId',
|
||||
properties: 'Vec<u8>'
|
||||
},
|
||||
NftClassData: {
|
||||
deposit: 'Balance',
|
||||
properties: 'Vec<u8>',
|
||||
token_type: 'TokenType',
|
||||
collection_type: 'CollectionType',
|
||||
total_supply: 'u64',
|
||||
initial_supply: 'u64'
|
||||
},
|
||||
NftAssetData: {
|
||||
deposit: 'Balance',
|
||||
name: 'Vec<u8>',
|
||||
description: 'Vec<u8>',
|
||||
properties: 'Vec<u8>'
|
||||
},
|
||||
TokenType: {
|
||||
_enum: [
|
||||
'Transferrable',
|
||||
'BoundToAddress'
|
||||
]
|
||||
},
|
||||
CollectionType: {
|
||||
_enum: [
|
||||
'Collectable',
|
||||
'Wearable',
|
||||
'Executable'
|
||||
]
|
||||
},
|
||||
ClassProperties: {
|
||||
Transferrable: 'bool',
|
||||
Burnable: 'bool'
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
export default definitions;
|
||||
@@ -0,0 +1,15 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { OverrideBundleDefinition } from '@pezkuwi/types/types';
|
||||
|
||||
import { createDerives } from './equilibrium.js';
|
||||
|
||||
const TOKENS = ['gens'];
|
||||
|
||||
const definitions: OverrideBundleDefinition = {
|
||||
derives: createDerives(TOKENS),
|
||||
instances: { balances: TOKENS }
|
||||
};
|
||||
|
||||
export default definitions;
|
||||
@@ -0,0 +1,31 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { OverrideBundleDefinition } from '@pezkuwi/types/types';
|
||||
|
||||
// structs need to be in order
|
||||
/* eslint-disable sort-keys */
|
||||
|
||||
const definitions: OverrideBundleDefinition = {
|
||||
types: [
|
||||
{
|
||||
// on all versions
|
||||
minmax: [0, undefined],
|
||||
types: {
|
||||
Difficulty: 'U256',
|
||||
DifficultyAndTimestamp: {
|
||||
difficulty: 'Difficulty',
|
||||
timestamp: 'Moment'
|
||||
},
|
||||
Era: {
|
||||
genesisBlockHash: 'H256',
|
||||
finalBlockHash: 'H256',
|
||||
finalStateRoot: 'H256'
|
||||
},
|
||||
RefCount: 'u8'
|
||||
}
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
export default definitions;
|
||||
@@ -0,0 +1,22 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { OverrideBundleDefinition } from '@pezkuwi/types/types';
|
||||
|
||||
// structs need to be in order
|
||||
/* eslint-disable sort-keys */
|
||||
|
||||
const definitions: OverrideBundleDefinition = {
|
||||
types: [
|
||||
{
|
||||
// on all versions
|
||||
minmax: [0, undefined],
|
||||
types: {
|
||||
Address: 'AccountId',
|
||||
LookupSource: 'AccountId'
|
||||
}
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
export default definitions;
|
||||
@@ -0,0 +1,60 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { OverrideBundleDefinition } from '@pezkuwi/types/types';
|
||||
|
||||
// structs need to be in order
|
||||
/* eslint-disable sort-keys */
|
||||
|
||||
const definitions: OverrideBundleDefinition = {
|
||||
types: [
|
||||
{
|
||||
// on all versions
|
||||
minmax: [0, undefined],
|
||||
types: {
|
||||
Amount: 'i128',
|
||||
AmountOf: 'Amount',
|
||||
Address: 'AccountId',
|
||||
OrmlAccountData: {
|
||||
free: 'Balance',
|
||||
frozen: 'Balance',
|
||||
reserved: 'Balance'
|
||||
},
|
||||
Fee: {
|
||||
numerator: 'u32',
|
||||
denominator: 'u32'
|
||||
},
|
||||
BalanceInfo: {
|
||||
amount: 'Balance',
|
||||
assetId: 'AssetId'
|
||||
},
|
||||
CurrencyId: 'AssetId',
|
||||
CurrencyIdOf: 'AssetId',
|
||||
Intention: {
|
||||
who: 'AccountId',
|
||||
asset_sell: 'AssetId',
|
||||
asset_buy: 'AssetId',
|
||||
amount: 'Balance',
|
||||
discount: 'bool',
|
||||
sell_or_buy: 'IntentionType'
|
||||
},
|
||||
IntentionId: 'u128',
|
||||
IntentionType: {
|
||||
_enum: [
|
||||
'SELL',
|
||||
'BUY'
|
||||
]
|
||||
},
|
||||
LookupSource: 'AccountId',
|
||||
OrderedSet: 'Vec<AssetId>',
|
||||
Price: 'Balance',
|
||||
Chain: {
|
||||
genesisHash: 'Vec<u8>',
|
||||
lastBlockHash: 'Vec<u8>'
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
export default definitions;
|
||||
@@ -0,0 +1,12 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { OverrideBundleDefinition } from '@pezkuwi/types/types';
|
||||
|
||||
import { keccakAsU8a } from '@pezkuwi/util-crypto';
|
||||
|
||||
const definitions: OverrideBundleDefinition = {
|
||||
hasher: keccakAsU8a
|
||||
};
|
||||
|
||||
export default definitions;
|
||||
@@ -0,0 +1,22 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { OverrideBundleDefinition } from '@pezkuwi/types/types';
|
||||
|
||||
// structs need to be in order
|
||||
/* eslint-disable sort-keys */
|
||||
|
||||
const definitions: OverrideBundleDefinition = {
|
||||
types: [
|
||||
{
|
||||
// on all versions
|
||||
minmax: [0, undefined],
|
||||
types: {
|
||||
Address: 'AccountId',
|
||||
LookupSource: 'AccountId'
|
||||
}
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
export default definitions;
|
||||
@@ -0,0 +1,30 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { OverrideBundleDefinition } from '@pezkuwi/types/types';
|
||||
|
||||
const definitions: OverrideBundleDefinition = {
|
||||
rpc: {
|
||||
proposals: {
|
||||
getProjectKitty: {
|
||||
description: 'Get the escrow address associated with a project',
|
||||
params: [{
|
||||
name: 'project_id',
|
||||
type: 'u32'
|
||||
}],
|
||||
type: 'AccountId'
|
||||
}
|
||||
}
|
||||
},
|
||||
types: [
|
||||
{
|
||||
// on all versions
|
||||
minmax: [0, undefined],
|
||||
types: {
|
||||
Address: 'MultiAddress',
|
||||
LookupSource: 'MultiAddress'
|
||||
}
|
||||
}]
|
||||
};
|
||||
|
||||
export default definitions;
|
||||
@@ -0,0 +1,327 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { OverrideBundleDefinition } from '@pezkuwi/types/types';
|
||||
|
||||
import acala from './acala.js';
|
||||
import ajuna from './ajuna.js';
|
||||
import altair from './altair.js';
|
||||
import apron from './apron.js';
|
||||
import aresGladios from './ares-gladios.js';
|
||||
import aresTeyrchain from './ares-parachain.js';
|
||||
import argon from './argon.js';
|
||||
import astar from './astar.js';
|
||||
import bajun from './bajun.js';
|
||||
import basilisk from './basilisk.js';
|
||||
import beresheet from './beresheet.js';
|
||||
import bifrost from './bifrost.js';
|
||||
import bifrostAsgard from './bifrost-asgard.js';
|
||||
import bifrostTeyrchain from './bifrost-parachain.js';
|
||||
import bitcountry from './bitcountry.js';
|
||||
import bitcountryPioneer from './bitcountry-pioneer.js';
|
||||
import bitcountryTeyrchain from './bitcountry-pezkuwichain.js';
|
||||
import bittensor from './bittensor.js';
|
||||
import centrifuge from './centrifuge.js';
|
||||
import centrifugeChain from './centrifuge-chain.js';
|
||||
import chainx from './chainx.js';
|
||||
import clover from './clover.js';
|
||||
import cloverPezkuwiChain from './clover-pezkuwichain.js';
|
||||
import coinversation from './coinversation.js';
|
||||
import communeai from './communeai.js';
|
||||
import competitorsClub from './competitors-club.js';
|
||||
import contracts from './contracts.js';
|
||||
import crownSterlingChain from './crown-sterling.js';
|
||||
import crust from './crust.js';
|
||||
import testPara from './cumulus-test-parachain.js';
|
||||
import curio from './curio.js';
|
||||
import datahighwayTeyrchain from './datahighway.js';
|
||||
import dockMainnet from './dock-mainnet.js';
|
||||
import dockTestnet from './dock-testnet.js';
|
||||
import dotmog from './dotmog.js';
|
||||
import eave from './eave.js';
|
||||
import edgeware from './edgeware.js';
|
||||
import elysium from './elysium.js';
|
||||
import encointerNodeNotee from './encointer-node-notee.js';
|
||||
import encointerNodeTeeproxy from './encointer-node-teeproxy.js';
|
||||
import encointerPara from './encointer-para.js';
|
||||
import equilibrium from './equilibrium.js';
|
||||
import fantour from './fantour.js';
|
||||
// See https://github.com/pezkuwi-js/apps/pull/9243
|
||||
// import fragnova from './fragnova.js';
|
||||
import ferrum from './ferrum.js';
|
||||
import frequency from './frequency.js';
|
||||
import galital from './galital.js';
|
||||
import galitalTeyrchain from './galital-parachain.js';
|
||||
import galois from './galois.js';
|
||||
import gamepower from './gamepower.js';
|
||||
import genshiro from './genshiro.js';
|
||||
import hanonycash from './hanonycash.js';
|
||||
import heima from './heima.js';
|
||||
import hydrate from './hydrate.js';
|
||||
import hyperbridge from './hyperbridge.js';
|
||||
import idavoll from './idavoll.js';
|
||||
import imbue from './imbue.js';
|
||||
import integritee from './integritee.js';
|
||||
import interbtc from './interbtc.js';
|
||||
import ipse from './ipse.js';
|
||||
import jamton from './jamton.js';
|
||||
import jupiter from './jupiter.js';
|
||||
import jupiterPezkuwiChain from './jupiter-pezkuwichain.js';
|
||||
import jur from './jur.js';
|
||||
import khala from './khala.js';
|
||||
import kilt from './kilt.js';
|
||||
import konomi from './konomi.js';
|
||||
import kpron from './kpron.js';
|
||||
import kulupu from './kulupu.js';
|
||||
import kusari from './kusari.js';
|
||||
import kylin from './kylin.js';
|
||||
import laminar from './laminar.js';
|
||||
import logion from './logion.js';
|
||||
import logionTeyrchain from './logion-parachain.js';
|
||||
import mangata from './mangata.js';
|
||||
import manta from './manta.js';
|
||||
import mathchain from './mathchain.js';
|
||||
import moonbeam from './moonbeam.js';
|
||||
import muse from './muse.js';
|
||||
import mybank from './mybank.js';
|
||||
import mythos from './mythos.js';
|
||||
import neatcoin from './neatcoin.js';
|
||||
import neuroweb from './neuroweb.js';
|
||||
import nftmart from './nftmart.js';
|
||||
import nodle from './nodle.js';
|
||||
import oak from './oak.js';
|
||||
import opal from './opal.js';
|
||||
import opportunity from './opportunity.js';
|
||||
import parallel from './parallel.js';
|
||||
import parami from './parami.js';
|
||||
import peaq from './peaq.js';
|
||||
import peerplays from './peerplays.js';
|
||||
import pendulum from './pendulum.js';
|
||||
import phoenix from './phoenix.js';
|
||||
import pichiu from './pichiu.js';
|
||||
import polkadex from './polkadex.js';
|
||||
import polkafoundry from './polkafoundry.js';
|
||||
import polymeshMainnet from './polymesh-mainnet.js';
|
||||
import polymeshTestnet from './polymesh-testnet.js';
|
||||
import pontem from './pontem.js';
|
||||
import prism from './prism.js';
|
||||
import quartz from './quartz.js';
|
||||
import realis from './realis.js';
|
||||
import riochain from './riochain.js';
|
||||
import robonomics from './robonomics.js';
|
||||
import rootnet from './rootnet.js';
|
||||
import sapphire from './sapphire.js';
|
||||
import shibuya from './shibuya.js';
|
||||
import shiden from './shiden.js';
|
||||
import snowbridge from './snowbridge.js';
|
||||
import soraBizinikiwi from './soraSubstrate.js';
|
||||
import spanner from './spanner.js';
|
||||
import stafi from './stafi.js';
|
||||
import standard from './standard.js';
|
||||
import subdao from './subdao.js';
|
||||
import subgame from './subgame.js';
|
||||
import subsocial from './subsocial.js';
|
||||
import subspace from './subspace.js';
|
||||
import bizinikiwiContractsNode from './substrateContractsNode.js';
|
||||
import swapdex from './swapdex.js';
|
||||
import t0rn from './t0rn.js';
|
||||
import ternoa from './ternoa.js';
|
||||
import torus from './torus.js';
|
||||
import trustbase from './trustbase.js';
|
||||
import turing from './turing.js';
|
||||
import uart from './uart.js';
|
||||
import unique from './unique.js';
|
||||
import unitnetwork from './unitnetwork.js';
|
||||
import unitv from './unitv.js';
|
||||
import vln from './vln.js';
|
||||
import vlnpezkuwichain from './vln-pezkuwichain.js';
|
||||
import vodka from './vodka.js';
|
||||
import web3games from './web3games.js';
|
||||
import westlake from './westlake.js';
|
||||
import zCloak from './zCloak.js';
|
||||
import zeitgeist from './zeitgeist.js';
|
||||
import zenlink from './zenlink.js';
|
||||
import zero from './zero.js';
|
||||
|
||||
// NOTE: The mapping is done from specName in state.getRuntimeVersion
|
||||
const spec: Record<string, OverrideBundleDefinition> = {
|
||||
Equilibrium: equilibrium,
|
||||
Genshiro: genshiro,
|
||||
VLN: vln,
|
||||
'VLN-PC': vlnpezkuwichain,
|
||||
...acala,
|
||||
ajuna,
|
||||
altair,
|
||||
amplitude: pendulum,
|
||||
apron,
|
||||
'ares-gladios': aresGladios,
|
||||
'ares-mars': aresTeyrchain,
|
||||
'ares-odyssey': aresTeyrchain,
|
||||
argon,
|
||||
asgard: bifrostAsgard,
|
||||
astar,
|
||||
bajun,
|
||||
basilisk,
|
||||
beresheet,
|
||||
bifrost,
|
||||
'bifrost-teyrchain': bifrostTeyrchain,
|
||||
'bitcountry-node': bitcountry,
|
||||
'bitcountry-teyrchain': bitcountryTeyrchain,
|
||||
bittensor,
|
||||
centrifuge,
|
||||
'centrifuge-chain': centrifugeChain,
|
||||
chainx,
|
||||
'chainx-teyrchain': chainx,
|
||||
clover,
|
||||
'clover-pezkuwichain': cloverPezkuwiChain,
|
||||
coinversation,
|
||||
communeai,
|
||||
'competitors-club': competitorsClub,
|
||||
'continuum-runtime': bitcountryPioneer,
|
||||
contracts,
|
||||
'crown-sterling': crownSterlingChain,
|
||||
crust,
|
||||
'crust-teyrchain': crust,
|
||||
'cumulus-test-teyrchain': testPara,
|
||||
'curio-mainnet': curio,
|
||||
'curio-testnet': curio,
|
||||
datahighway: westlake,
|
||||
'datahighway-teyrchain': datahighwayTeyrchain,
|
||||
dawn: eave,
|
||||
'dev-teyrchain': zenlink,
|
||||
'dock-pos-main-runtime': dockMainnet,
|
||||
'dock-pos-test-runtime': dockTestnet,
|
||||
'dotmog-node': dotmog,
|
||||
edgeware,
|
||||
elysium,
|
||||
'encointer-node-notee': encointerNodeNotee,
|
||||
'encointer-node-teeproxy': encointerNodeTeeproxy,
|
||||
'encointer-teyrchain': encointerPara,
|
||||
fantour,
|
||||
// See https://github.com/pezkuwi-js/apps/pull/9243
|
||||
// fragnova,
|
||||
// 'fragnova-testnet': fragnova,
|
||||
'ferrum-teyrchain': ferrum,
|
||||
foucoco: pendulum,
|
||||
frequency,
|
||||
'frequency-testnet': frequency,
|
||||
galital,
|
||||
'galital-collator': galitalTeyrchain,
|
||||
gamepower,
|
||||
gargantua: hyperbridge,
|
||||
'hack-hydra-dx': hydrate,
|
||||
halongbay: polkafoundry,
|
||||
hanonycash,
|
||||
heiko: parallel,
|
||||
heima,
|
||||
'hydra-dx': hydrate,
|
||||
hyperbridge,
|
||||
idavoll,
|
||||
imbue,
|
||||
'integritee-teyrchain': integritee,
|
||||
'interbtc-teyrchain': interbtc,
|
||||
'interbtc-standalone': interbtc,
|
||||
'interlay-teyrchain': interbtc,
|
||||
'ipse-node': ipse,
|
||||
'jamton-runtime': jamton,
|
||||
'jupiter-prep': jupiter,
|
||||
'jupiter-pezkuwichain': jupiterPezkuwiChain,
|
||||
'jur-chain': jur,
|
||||
'jur-node': jur,
|
||||
kerria: parallel,
|
||||
khala,
|
||||
...kilt,
|
||||
'kintsugi-teyrchain': interbtc,
|
||||
konomi,
|
||||
kpron,
|
||||
kulupu,
|
||||
kusari,
|
||||
kylin,
|
||||
laminar,
|
||||
logion,
|
||||
'logion-teyrchain': logionTeyrchain,
|
||||
mangata,
|
||||
'mangata-teyrchain': mangata,
|
||||
'manta-node': manta,
|
||||
mathchain,
|
||||
'mathchain-galois': galois,
|
||||
messier: hyperbridge,
|
||||
moonbase: moonbeam,
|
||||
moonbeam,
|
||||
moonriver: moonbeam,
|
||||
moonshadow: moonbeam,
|
||||
muse,
|
||||
'mybank.network Testnet': mybank,
|
||||
mythos,
|
||||
neatcoin,
|
||||
neuroweb,
|
||||
nexus: hyperbridge,
|
||||
nftmart,
|
||||
'node-moonbeam': moonbeam,
|
||||
'node-polkadex': polkadex,
|
||||
'nodle-chain': nodle,
|
||||
oak,
|
||||
opal,
|
||||
opportunity,
|
||||
parallel,
|
||||
parami,
|
||||
'peaq-node': peaq,
|
||||
'peaq-node-dev': peaq,
|
||||
'peaq-node-krest': peaq,
|
||||
peerplays,
|
||||
pendulum,
|
||||
'phoenix-node': phoenix,
|
||||
'phoenix-teyrchain': phoenix,
|
||||
pichiu,
|
||||
'pioneer-runtime': bitcountryPioneer,
|
||||
polymesh_mainnet: polymeshMainnet,
|
||||
polymesh_testnet: polymeshTestnet,
|
||||
'pontem-node': pontem as OverrideBundleDefinition,
|
||||
prism,
|
||||
'quantum-portal-network-teyrchain': ferrum,
|
||||
quartz,
|
||||
realis,
|
||||
'riochain-runtime': riochain,
|
||||
robonomics,
|
||||
root: rootnet,
|
||||
sapphire,
|
||||
shibuya,
|
||||
shiden,
|
||||
snowbridge: snowbridge as OverrideBundleDefinition,
|
||||
'sora-bizinikiwi': soraBizinikiwi,
|
||||
sora_ksm: soraBizinikiwi,
|
||||
'spacewalk-standalone': pendulum,
|
||||
spanner,
|
||||
stafi,
|
||||
standard,
|
||||
steam: eave,
|
||||
subdao,
|
||||
subgame,
|
||||
subsocial: subsocial as OverrideBundleDefinition,
|
||||
subspace,
|
||||
'bizinikiwi-contracts-node': bizinikiwiContractsNode,
|
||||
subzero: zero,
|
||||
swapdex,
|
||||
t0rn,
|
||||
ternoa,
|
||||
'testnet-interlay': interbtc,
|
||||
'testnet-kintsugi': interbtc,
|
||||
torus,
|
||||
trustbase,
|
||||
turing,
|
||||
uart,
|
||||
unique,
|
||||
'unit-node': unitv,
|
||||
'unit-teyrchain': unitv,
|
||||
'unitnetwork-node': unitnetwork,
|
||||
'unitnetwork-teyrchain': unitnetwork,
|
||||
unorthodox: standard,
|
||||
vanilla: parallel,
|
||||
vara: standard,
|
||||
vodka,
|
||||
'web3games-node': web3games,
|
||||
'zcloak-network': zCloak,
|
||||
zeitgeist
|
||||
};
|
||||
|
||||
export default spec;
|
||||
@@ -0,0 +1,33 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { OverrideBundleDefinition } from '@pezkuwi/types/types';
|
||||
|
||||
// structs need to be in order
|
||||
/* eslint-disable sort-keys */
|
||||
|
||||
const definitions: OverrideBundleDefinition = {
|
||||
types: [
|
||||
{
|
||||
// on all versions
|
||||
minmax: [0, undefined],
|
||||
types: {
|
||||
Address: 'MultiAddress',
|
||||
Enclave: {
|
||||
mrenclave: 'Hash',
|
||||
pubkey: 'AccountId',
|
||||
timestamp: 'u64',
|
||||
url: 'Text'
|
||||
},
|
||||
LookupSource: 'MultiAddress',
|
||||
Request: {
|
||||
cyphertext: 'Vec<u8>',
|
||||
shard: 'ShardIdentifier'
|
||||
},
|
||||
ShardIdentifier: 'Hash'
|
||||
}
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
export default definitions;
|
||||
@@ -0,0 +1,80 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
/* eslint-disable @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-assignment */
|
||||
|
||||
import type { Observable } from 'rxjs';
|
||||
import type { ApiInterfaceRx } from '@pezkuwi/api/types';
|
||||
import type { DeriveBalancesAll } from '@pezkuwi/api-derive/types';
|
||||
import type { Balance } from '@pezkuwi/types/interfaces';
|
||||
import type { FrameSystemAccountInfo } from '@pezkuwi/types/lookup';
|
||||
import type { OverrideBundleDefinition } from '@pezkuwi/types/types';
|
||||
|
||||
import interbtc from '@interlay/interbtc-types';
|
||||
import { combineLatest, map } from 'rxjs';
|
||||
|
||||
import { memo } from '@pezkuwi/api-derive/util';
|
||||
import { TypeRegistry, U128 } from '@pezkuwi/types';
|
||||
import { BN, formatBalance } from '@pezkuwi/util';
|
||||
|
||||
function balanceOf (number: number | string): U128 {
|
||||
return new U128(new TypeRegistry(), number);
|
||||
}
|
||||
|
||||
function defaultAccountBalance (): DeriveBalancesAll {
|
||||
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
||||
return {
|
||||
accountNonce: new BN(1),
|
||||
additional: [],
|
||||
availableBalance: balanceOf(0),
|
||||
freeBalance: balanceOf(0),
|
||||
lockedBalance: balanceOf(0),
|
||||
lockedBreakdown: [],
|
||||
namedReserves: [],
|
||||
reservedBalance: balanceOf(0)
|
||||
} as any;
|
||||
}
|
||||
|
||||
interface OrmlAccountData {
|
||||
free: Balance,
|
||||
reserved: Balance,
|
||||
frozen: Balance,
|
||||
}
|
||||
|
||||
export function getBalance (
|
||||
instanceId: string,
|
||||
api: ApiInterfaceRx
|
||||
): () => Observable<DeriveBalancesAll> {
|
||||
const nativeToken = api.registry.chainTokens[0] || formatBalance.getDefaults().unit;
|
||||
|
||||
return memo(
|
||||
instanceId,
|
||||
(account: string): Observable<DeriveBalancesAll> =>
|
||||
combineLatest<[any, any]>([api.query.tokens.accounts(account, { Token: nativeToken }), api.query.system.account(account)]).pipe(
|
||||
map(([data, systemAccount]: [OrmlAccountData, FrameSystemAccountInfo]): DeriveBalancesAll => {
|
||||
return {
|
||||
...defaultAccountBalance(),
|
||||
accountId: api.registry.createType('AccountId', account),
|
||||
accountNonce: systemAccount.nonce,
|
||||
availableBalance: api.registry.createType('Balance', data.free.sub(data.frozen)),
|
||||
freeBalance: data.free,
|
||||
lockedBalance: data.frozen,
|
||||
reservedBalance: data.reserved
|
||||
};
|
||||
})
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
const definitions: OverrideBundleDefinition = {
|
||||
derives: {
|
||||
balances: {
|
||||
account: getBalance,
|
||||
all: getBalance
|
||||
}
|
||||
},
|
||||
|
||||
...interbtc
|
||||
} as any;
|
||||
|
||||
export default definitions;
|
||||
@@ -0,0 +1,122 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { OverrideBundleDefinition } from '@pezkuwi/types/types';
|
||||
|
||||
// structs need to be in order
|
||||
/* eslint-disable sort-keys */
|
||||
|
||||
const definitions: OverrideBundleDefinition = {
|
||||
types: [
|
||||
{
|
||||
// on all versions
|
||||
minmax: [0, undefined],
|
||||
types: {
|
||||
test: 'u64',
|
||||
Address: 'IndicesLookupSource',
|
||||
LookupSource: 'IndicesLookupSource',
|
||||
GIB: 'u64',
|
||||
Amount: 'u128',
|
||||
Miner: {
|
||||
account_id: 'AccountId',
|
||||
nickname: 'Vec<u8>',
|
||||
region: 'Vec<u8>',
|
||||
url: 'Vec<u8>',
|
||||
public_key: 'Vec<u8>',
|
||||
stash_address: 'AccountId',
|
||||
capacity: 'u128',
|
||||
unit_price: 'Balance',
|
||||
violation_times: 'u64',
|
||||
total_staking: 'Balance',
|
||||
create_ts: 'u64',
|
||||
update_ts: 'u64'
|
||||
},
|
||||
Order: {
|
||||
miner: 'AccountId',
|
||||
label: 'Vec<u8>',
|
||||
hash: '[u8; 46]',
|
||||
size: 'u128',
|
||||
user: 'AccountId',
|
||||
orders: 'Vec<MinerOrder<AccountId, Balance>>',
|
||||
status: 'OrderStatus',
|
||||
create_ts: 'u64',
|
||||
update_ts: 'u64',
|
||||
duration: 'u64'
|
||||
},
|
||||
MinerOrder: {
|
||||
miner: 'AccountId',
|
||||
day_price: 'Balance',
|
||||
total_price: 'Balance',
|
||||
verify_result: 'bool',
|
||||
verify_ts: 'u64',
|
||||
confirm_ts: 'u64',
|
||||
url: 'Option<Vec<u8>>'
|
||||
},
|
||||
OrderStatus: {
|
||||
_enum: [
|
||||
'Created',
|
||||
'Confirmed',
|
||||
'Expired',
|
||||
'Deleted'
|
||||
]
|
||||
},
|
||||
MiningInfo: {
|
||||
miner: 'Option<AccountId>',
|
||||
best_dl: 'u64',
|
||||
block: 'u64'
|
||||
},
|
||||
Difficulty: {
|
||||
base_target: 'u64',
|
||||
net_difficulty: 'u64',
|
||||
block: 'u64'
|
||||
},
|
||||
MachineInfo: {
|
||||
plot_size: 'u64',
|
||||
numeric_id: 'u128',
|
||||
update_time: 'BlockNumber',
|
||||
is_stop: 'bool',
|
||||
reward_dest: 'AccountId'
|
||||
},
|
||||
StakingInfo: {
|
||||
miner: 'AccountId',
|
||||
miner_proportion: 'Percent',
|
||||
total_staking: 'Balance',
|
||||
others: 'Vec<(AccountId, Balance, Balance)>'
|
||||
},
|
||||
Oprate: {
|
||||
_enum: [
|
||||
'Add',
|
||||
'Sub'
|
||||
]
|
||||
},
|
||||
MiningHistory: {
|
||||
total_num: 'u64',
|
||||
history: 'Vec<(BlockNumber, Balance)>'
|
||||
},
|
||||
PostTxTransferData: {
|
||||
verify_status: 'u64',
|
||||
irreversible: 'bool',
|
||||
is_post_transfer: 'bool',
|
||||
contract_account: 'Vec<u8>',
|
||||
from: 'Vec<u8>',
|
||||
to: 'Vec<u8>',
|
||||
quantity: 'u64',
|
||||
memo: 'Vec<u8>'
|
||||
},
|
||||
AddressStatus: {
|
||||
_enum: [
|
||||
'active',
|
||||
'inActive'
|
||||
]
|
||||
},
|
||||
FetchFailedOf: {
|
||||
block_num: 'BlockNumber',
|
||||
tx: 'Vec<u8>',
|
||||
err: 'Vec<u8>'
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
export default definitions;
|
||||
@@ -0,0 +1,22 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { OverrideBundleDefinition } from '@pezkuwi/types/types';
|
||||
|
||||
import { rpc, runtime, signedExtensions, types } from '@jamton/teyrchain-ts-interfaces/bundle';
|
||||
|
||||
/* eslint-disable sort-keys */
|
||||
const definitions: OverrideBundleDefinition = {
|
||||
types: [
|
||||
{
|
||||
// on all versions
|
||||
minmax: [0, undefined],
|
||||
types
|
||||
}
|
||||
],
|
||||
runtime,
|
||||
rpc,
|
||||
signedExtensions
|
||||
};
|
||||
|
||||
export default definitions;
|
||||
@@ -0,0 +1,22 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { OverrideBundleDefinition } from '@pezkuwi/types/types';
|
||||
|
||||
// structs need to be in order
|
||||
/* eslint-disable sort-keys */
|
||||
|
||||
const definitions: OverrideBundleDefinition = {
|
||||
types: [
|
||||
{
|
||||
// on all versions
|
||||
minmax: [0, undefined],
|
||||
types: {
|
||||
LookupSource: 'MultiAddress',
|
||||
Address: 'MultiAddress'
|
||||
}
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
export default definitions;
|
||||
@@ -0,0 +1,72 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { OverrideBundleDefinition } from '@pezkuwi/types/types';
|
||||
|
||||
// structs need to be in order
|
||||
/* eslint-disable sort-keys */
|
||||
|
||||
const definitions: OverrideBundleDefinition = {
|
||||
types: [
|
||||
{
|
||||
// on all versions
|
||||
minmax: [0, 2],
|
||||
types: {
|
||||
LookupSource: 'MultiAddress',
|
||||
Address: 'MultiAddress',
|
||||
AccountInfo: 'AccountInfoWithDualRefCount',
|
||||
FullIdentification: 'AccountId',
|
||||
AuthorityState: {
|
||||
_enum: [
|
||||
'Working',
|
||||
'Waiting'
|
||||
]
|
||||
},
|
||||
EraIndex: 'u32',
|
||||
ActiveEraInfo: {
|
||||
index: 'EraIndex',
|
||||
start: 'Option<u64>'
|
||||
},
|
||||
UnappliedSlash: {
|
||||
validator: 'AccountId',
|
||||
reporters: 'Vec<AccountId>'
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
// on all versions
|
||||
minmax: [3, undefined],
|
||||
types: {
|
||||
LookupSource: 'MultiAddress',
|
||||
Address: 'MultiAddress',
|
||||
AccountInfo: 'AccountInfoWithTripleRefCount',
|
||||
AliveContractInfo: {
|
||||
trieId: 'TrieId',
|
||||
storageSize: 'u32',
|
||||
pairCount: 'u32',
|
||||
codeHash: 'CodeHash',
|
||||
rentAllowance: 'Balance',
|
||||
rentPayed: 'Balance',
|
||||
deductBlock: 'BlockNumber',
|
||||
lastWrite: 'Option<BlockNumber>',
|
||||
_reserved: 'Option<Null>'
|
||||
},
|
||||
FullIdentification: 'AccountId',
|
||||
AuthorityState: {
|
||||
_enum: ['Working', 'Waiting']
|
||||
},
|
||||
EraIndex: 'u32',
|
||||
ActiveEraInfo: {
|
||||
index: 'EraIndex',
|
||||
start: 'Option<u64>'
|
||||
},
|
||||
UnappliedSlash: {
|
||||
validator: 'AccountId',
|
||||
reporters: 'Vec<AccountId>'
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
export default definitions;
|
||||
@@ -0,0 +1,16 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { OverrideBundleDefinition } from '@pezkuwi/types/types';
|
||||
|
||||
const definitions: OverrideBundleDefinition = {
|
||||
types: [
|
||||
{
|
||||
// on all versions
|
||||
minmax: [0, undefined],
|
||||
types: {}
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
export default definitions;
|
||||
@@ -0,0 +1,8 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { OverrideBundleDefinition } from '@pezkuwi/types/types';
|
||||
|
||||
import { typesBundle } from '@phala/typedefs';
|
||||
|
||||
export default typesBundle as OverrideBundleDefinition;
|
||||
@@ -0,0 +1,10 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import { typesBundle } from '@kiltprotocol/type-definitions';
|
||||
|
||||
if (!typesBundle.spec) {
|
||||
throw new Error('Unable to find chain definitions');
|
||||
}
|
||||
|
||||
export default typesBundle.spec;
|
||||
@@ -0,0 +1,22 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { OverrideBundleDefinition } from '@pezkuwi/types/types';
|
||||
|
||||
// structs need to be in order
|
||||
/* eslint-disable sort-keys */
|
||||
|
||||
const definitions: OverrideBundleDefinition = {
|
||||
types: [
|
||||
{
|
||||
// on all versions
|
||||
minmax: [0, undefined],
|
||||
types: {
|
||||
Address: 'AccountId',
|
||||
LookupSource: 'AccountId'
|
||||
}
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
export default definitions;
|
||||
@@ -0,0 +1,22 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { OverrideBundleDefinition } from '@pezkuwi/types/types';
|
||||
|
||||
// structs need to be in order
|
||||
/* eslint-disable sort-keys */
|
||||
|
||||
const definitions: OverrideBundleDefinition = {
|
||||
types: [
|
||||
{
|
||||
// on all versions
|
||||
minmax: [0, undefined],
|
||||
types: {
|
||||
Address: 'AccountId',
|
||||
LookupSource: 'AccountId'
|
||||
}
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
export default definitions;
|
||||
@@ -0,0 +1,65 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { OverrideBundleDefinition } from '@pezkuwi/types/types';
|
||||
|
||||
// structs need to be in order
|
||||
/* eslint-disable sort-keys */
|
||||
|
||||
const definitions: OverrideBundleDefinition = {
|
||||
types: [
|
||||
{
|
||||
// on all versions
|
||||
minmax: [0, undefined],
|
||||
types: {
|
||||
CurvePoint: {
|
||||
start: 'BlockNumber',
|
||||
reward: 'Balance',
|
||||
taxation: 'Perbill'
|
||||
},
|
||||
Difficulty: 'U256',
|
||||
DifficultyAndTimestamp: {
|
||||
difficulty: 'Difficulty',
|
||||
timestamp: 'Moment'
|
||||
},
|
||||
Era: {
|
||||
genesisBlockHash: 'H256',
|
||||
finalBlockHash: 'H256',
|
||||
finalStateRoot: 'H256'
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
// swap to MultiAddress in runtime 13
|
||||
minmax: [13, undefined],
|
||||
types: {
|
||||
Address: 'MultiAddress',
|
||||
LookupSource: 'MultiAddress'
|
||||
}
|
||||
},
|
||||
{
|
||||
// enable pallet-lockdrop in runtime 17
|
||||
minmax: [17, undefined],
|
||||
types: {
|
||||
CampaignIdentifier: '[u8; 4]'
|
||||
}
|
||||
},
|
||||
{
|
||||
// enable pallet-atomic-swap in runtime 24
|
||||
minmax: [24, undefined],
|
||||
types: {
|
||||
HashedProof: '[u8; 32]',
|
||||
PendingSwap: {
|
||||
source: 'AccountId',
|
||||
action: 'SwapAction',
|
||||
endBlock: 'BlockNumber'
|
||||
},
|
||||
SwapAction: {
|
||||
value: 'Balance'
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
export default definitions;
|
||||
@@ -0,0 +1,82 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { OverrideBundleDefinition } from '@pezkuwi/types/types';
|
||||
|
||||
// structs need to be in order
|
||||
/* eslint-disable sort-keys */
|
||||
|
||||
const definitions: OverrideBundleDefinition = {
|
||||
types: [
|
||||
{
|
||||
// on all versions
|
||||
minmax: [0, undefined],
|
||||
types: {
|
||||
EvmAddress: 'H160',
|
||||
EthereumTxHash: 'H256',
|
||||
Address: 'MultiAddress',
|
||||
LookupSource: 'MultiAddress',
|
||||
AccountInfo: 'AccountInfoWithTripleRefCount',
|
||||
Account: {
|
||||
nonce: 'U256',
|
||||
balance: 'U256'
|
||||
},
|
||||
Transaction: {
|
||||
nonce: 'U256',
|
||||
action: 'String',
|
||||
gas_price: 'u64',
|
||||
gas_limit: 'u64',
|
||||
value: 'U256',
|
||||
input: 'Vec<u8>',
|
||||
signature: 'Signature'
|
||||
},
|
||||
Signature: {
|
||||
v: 'u64',
|
||||
r: 'H256',
|
||||
s: 'H256'
|
||||
},
|
||||
ClassId: 'u64',
|
||||
TokenId: 'u64',
|
||||
ClassData: 'Vec<u8>',
|
||||
TokenData: 'Vec<u8>',
|
||||
ReportReason: {
|
||||
_enum: [
|
||||
'None',
|
||||
'Illigal',
|
||||
'Plagiarism',
|
||||
'Duplicate',
|
||||
'Reported'
|
||||
]
|
||||
},
|
||||
ClassInfoOf: {
|
||||
metadata: 'Vec<u8>',
|
||||
total_issuance: 'TokenId',
|
||||
|
||||
owner: 'AccountId',
|
||||
class_data: 'ClassData'
|
||||
},
|
||||
ExtendedInfo: {
|
||||
display_flag: 'bool',
|
||||
report: 'ReportReason',
|
||||
frozen: 'bool'
|
||||
},
|
||||
TokenInfoOf: {
|
||||
metadata: 'Vec<u8>',
|
||||
owner: 'AccountId',
|
||||
class_data: 'ClassData'
|
||||
},
|
||||
'bridge::ChainId': 'u8',
|
||||
ChainId: 'u8',
|
||||
ResourceId: '[u8; 32]',
|
||||
DepositNonce: 'u64',
|
||||
ProposalVotes: {
|
||||
votes_for: 'Vec<AccountId>',
|
||||
votes_against: 'Vec<AccountId>',
|
||||
status: 'enum'
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
export default definitions;
|
||||
@@ -0,0 +1,34 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { OverrideBundleDefinition } from '@pezkuwi/types/types';
|
||||
|
||||
// structs need to be in order
|
||||
/* eslint-disable sort-keys */
|
||||
|
||||
const definitions: OverrideBundleDefinition = {
|
||||
types: [
|
||||
{
|
||||
// on all versions
|
||||
minmax: [0, undefined],
|
||||
types: {
|
||||
Address: 'MultiAddress',
|
||||
LookupSource: 'MultiAddress',
|
||||
DataRequest: {
|
||||
para_id: 'Option<ParaId>',
|
||||
account_id: 'Option<AccountId>',
|
||||
requested_block_number: 'BlockNumber',
|
||||
processed_block_number: 'Option<BlockNumber>',
|
||||
requested_timestamp: 'u128',
|
||||
processed_timestamp: 'Option<u128>',
|
||||
payload: 'Text',
|
||||
feed_name: 'Text',
|
||||
is_query: 'bool',
|
||||
url: 'Option<Text>'
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
export default definitions;
|
||||
@@ -0,0 +1,8 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { OverrideBundleDefinition } from '@pezkuwi/types/types';
|
||||
|
||||
import { typesBundleForPezkuwi } from '@laminar/type-definitions';
|
||||
|
||||
export default typesBundleForPezkuwi.spec.laminar as unknown as OverrideBundleDefinition;
|
||||
@@ -0,0 +1,108 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { OverrideBundleDefinition } from '@pezkuwi/types/types';
|
||||
|
||||
// structs need to be in order
|
||||
/* eslint-disable sort-keys */
|
||||
|
||||
const logionDefault = {
|
||||
Address: 'MultiAddress',
|
||||
LookupSource: 'MultiAddress',
|
||||
PeerId: '(Vec<u8>)',
|
||||
AccountInfo: 'AccountInfoWithDualRefCount',
|
||||
TAssetBalance: 'u128',
|
||||
AssetId: 'u64',
|
||||
AssetDetails: {
|
||||
owner: 'AccountId',
|
||||
issuer: 'AccountId',
|
||||
admin: 'AccountId',
|
||||
freezer: 'AccountId',
|
||||
supply: 'Balance',
|
||||
deposit: 'DepositBalance',
|
||||
max_zombies: 'u32',
|
||||
min_balance: 'Balance',
|
||||
zombies: 'u32',
|
||||
accounts: 'u32',
|
||||
is_frozen: 'bool'
|
||||
},
|
||||
AssetMetadata: {
|
||||
deposit: 'DepositBalance',
|
||||
name: 'Vec<u8>',
|
||||
symbol: 'Vec<u8>',
|
||||
decimals: 'u8'
|
||||
},
|
||||
LocId: 'u128',
|
||||
LegalOfficerCaseOf: {
|
||||
owner: 'AccountId',
|
||||
requester: 'Requester',
|
||||
metadata: 'Vec<MetadataItem>',
|
||||
files: 'Vec<File>',
|
||||
closed: 'bool',
|
||||
loc_type: 'LocType',
|
||||
links: 'Vec<LocLink>',
|
||||
void_info: 'Option<LocVoidInfo<LocId>>',
|
||||
replacer_of: 'Option<LocId>',
|
||||
collection_last_block_submission: 'Option<BlockNumber>',
|
||||
collection_max_size: 'Option<CollectionSize>'
|
||||
},
|
||||
MetadataItem: {
|
||||
name: 'Vec<u8>',
|
||||
value: 'Vec<u8>',
|
||||
submitter: 'AccountId'
|
||||
},
|
||||
LocType: {
|
||||
_enum: [
|
||||
'Transaction',
|
||||
'Identity',
|
||||
'Collection'
|
||||
]
|
||||
},
|
||||
LocLink: {
|
||||
id: 'LocId',
|
||||
nature: 'Vec<u8>'
|
||||
},
|
||||
File: {
|
||||
hash: 'Hash',
|
||||
nature: 'Vec<u8>',
|
||||
submitter: 'AccountId'
|
||||
},
|
||||
LocVoidInfo: {
|
||||
replacer: 'Option<LocId>'
|
||||
},
|
||||
StorageVersion: {
|
||||
_enum: [
|
||||
'V1',
|
||||
'V2MakeLocVoid',
|
||||
'V3RequesterEnum',
|
||||
'V4ItemSubmitter',
|
||||
'V5Collection'
|
||||
]
|
||||
},
|
||||
Requester: {
|
||||
_enum: {
|
||||
None: null,
|
||||
Account: 'AccountId',
|
||||
Loc: 'LocId'
|
||||
}
|
||||
},
|
||||
CollectionSize: 'u32',
|
||||
CollectionItemId: 'Hash',
|
||||
CollectionItem: {
|
||||
description: 'Vec<u8>'
|
||||
}
|
||||
};
|
||||
|
||||
const definitions: OverrideBundleDefinition = {
|
||||
types: [
|
||||
{
|
||||
// on all versions
|
||||
minmax: [0, undefined],
|
||||
types: {
|
||||
...logionDefault
|
||||
}
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
export default definitions;
|
||||
@@ -0,0 +1,337 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
// structs need to be in order
|
||||
/* eslint-disable sort-keys */
|
||||
|
||||
import type { OverrideBundleDefinition } from '@pezkuwi/types/types';
|
||||
|
||||
import logionDefault, { runtime as logionRuntime, session as logionSession } from '@logion/node-api/interfaces/definitions';
|
||||
|
||||
const defaultTypesUpTo109 = {
|
||||
Address: 'MultiAddress',
|
||||
LookupSource: 'MultiAddress',
|
||||
PeerId: '(Vec<u8>)',
|
||||
AccountInfo: 'AccountInfoWithDualRefCount',
|
||||
TAssetBalance: 'u128',
|
||||
AssetId: 'u64',
|
||||
AssetDetails: {
|
||||
owner: 'AccountId',
|
||||
issuer: 'AccountId',
|
||||
admin: 'AccountId',
|
||||
freezer: 'AccountId',
|
||||
supply: 'Balance',
|
||||
deposit: 'DepositBalance',
|
||||
max_zombies: 'u32',
|
||||
min_balance: 'Balance',
|
||||
zombies: 'u32',
|
||||
accounts: 'u32',
|
||||
is_frozen: 'bool'
|
||||
},
|
||||
AssetMetadata: {
|
||||
deposit: 'DepositBalance',
|
||||
name: 'Vec<u8>',
|
||||
symbol: 'Vec<u8>',
|
||||
decimals: 'u8'
|
||||
},
|
||||
LocId: 'u128',
|
||||
LegalOfficerCaseOf: {
|
||||
owner: 'AccountId',
|
||||
requester: 'Requester',
|
||||
metadata: 'Vec<MetadataItem>',
|
||||
files: 'Vec<File>',
|
||||
closed: 'bool',
|
||||
loc_type: 'LocType',
|
||||
links: 'Vec<LocLink>',
|
||||
void_info: 'Option<LocVoidInfo<LocId>>',
|
||||
replacer_of: 'Option<LocId>',
|
||||
collection_last_block_submission: 'Option<BlockNumber>',
|
||||
collection_max_size: 'Option<CollectionSize>'
|
||||
},
|
||||
MetadataItem: {
|
||||
name: 'Vec<u8>',
|
||||
value: 'Vec<u8>',
|
||||
submitter: 'AccountId'
|
||||
},
|
||||
LocType: {
|
||||
_enum: [
|
||||
'Transaction',
|
||||
'Identity',
|
||||
'Collection'
|
||||
]
|
||||
},
|
||||
LocLink: {
|
||||
id: 'LocId',
|
||||
nature: 'Vec<u8>'
|
||||
},
|
||||
File: {
|
||||
hash: 'Hash',
|
||||
nature: 'Vec<u8>',
|
||||
submitter: 'AccountId'
|
||||
},
|
||||
LocVoidInfo: {
|
||||
replacer: 'Option<LocId>'
|
||||
},
|
||||
StorageVersion: {
|
||||
_enum: [
|
||||
'V1',
|
||||
'V2MakeLocVoid',
|
||||
'V3RequesterEnum',
|
||||
'V4ItemSubmitter',
|
||||
'V5Collection'
|
||||
]
|
||||
},
|
||||
Requester: {
|
||||
_enum: {
|
||||
None: null,
|
||||
Account: 'AccountId',
|
||||
Loc: 'LocId'
|
||||
}
|
||||
},
|
||||
CollectionSize: 'u32',
|
||||
CollectionItemId: 'Hash',
|
||||
CollectionItem: {
|
||||
description: 'Vec<u8>'
|
||||
}
|
||||
};
|
||||
|
||||
const defaultTypesUpTo111 = {
|
||||
Address: 'MultiAddress',
|
||||
LookupSource: 'MultiAddress',
|
||||
PeerId: '(Vec<u8>)',
|
||||
AccountInfo: 'AccountInfoWithDualRefCount',
|
||||
TAssetBalance: 'u128',
|
||||
AssetId: 'u64',
|
||||
AssetDetails: {
|
||||
owner: 'AccountId',
|
||||
issuer: 'AccountId',
|
||||
admin: 'AccountId',
|
||||
freezer: 'AccountId',
|
||||
supply: 'Balance',
|
||||
deposit: 'DepositBalance',
|
||||
max_zombies: 'u32',
|
||||
min_balance: 'Balance',
|
||||
zombies: 'u32',
|
||||
accounts: 'u32',
|
||||
is_frozen: 'bool'
|
||||
},
|
||||
AssetMetadata: {
|
||||
deposit: 'DepositBalance',
|
||||
name: 'Vec<u8>',
|
||||
symbol: 'Vec<u8>',
|
||||
decimals: 'u8'
|
||||
},
|
||||
LocId: 'u128',
|
||||
LegalOfficerCaseOf: {
|
||||
owner: 'AccountId',
|
||||
requester: 'Requester',
|
||||
metadata: 'Vec<MetadataItem>',
|
||||
files: 'Vec<File>',
|
||||
closed: 'bool',
|
||||
loc_type: 'LocType',
|
||||
links: 'Vec<LocLink>',
|
||||
void_info: 'Option<LocVoidInfo<LocId>>',
|
||||
replacer_of: 'Option<LocId>',
|
||||
collection_last_block_submission: 'Option<BlockNumber>',
|
||||
collection_max_size: 'Option<CollectionSize>',
|
||||
collection_can_upload: 'bool'
|
||||
},
|
||||
MetadataItem: {
|
||||
name: 'Vec<u8>',
|
||||
value: 'Vec<u8>',
|
||||
submitter: 'AccountId'
|
||||
},
|
||||
LocType: {
|
||||
_enum: [
|
||||
'Transaction',
|
||||
'Identity',
|
||||
'Collection'
|
||||
]
|
||||
},
|
||||
LocLink: {
|
||||
id: 'LocId',
|
||||
nature: 'Vec<u8>'
|
||||
},
|
||||
File: {
|
||||
hash: 'Hash',
|
||||
nature: 'Vec<u8>',
|
||||
submitter: 'AccountId'
|
||||
},
|
||||
LocVoidInfo: {
|
||||
replacer: 'Option<LocId>'
|
||||
},
|
||||
StorageVersion: {
|
||||
_enum: [
|
||||
'V1',
|
||||
'V2MakeLocVoid',
|
||||
'V3RequesterEnum',
|
||||
'V4ItemSubmitter',
|
||||
'V5Collection',
|
||||
'V6ItemUpload'
|
||||
]
|
||||
},
|
||||
Requester: {
|
||||
_enum: {
|
||||
None: null,
|
||||
Account: 'AccountId',
|
||||
Loc: 'LocId'
|
||||
}
|
||||
},
|
||||
CollectionSize: 'u32',
|
||||
CollectionItemId: 'Hash',
|
||||
CollectionItem: {
|
||||
description: 'Vec<u8>',
|
||||
files: 'Vec<CollectionItemFile<Hash>>'
|
||||
},
|
||||
CollectionItemFile: {
|
||||
name: 'Vec<u8>',
|
||||
content_type: 'Vec<u8>',
|
||||
fileSize: 'u32',
|
||||
hash: 'Hash'
|
||||
}
|
||||
};
|
||||
|
||||
const defaultTypesUpTo116 = {
|
||||
Address: 'MultiAddress',
|
||||
LookupSource: 'MultiAddress',
|
||||
OpaquePeerId: 'Vec<u8>',
|
||||
AccountInfo: 'AccountInfoWithDualRefCount',
|
||||
TAssetBalance: 'u128',
|
||||
AssetId: 'u64',
|
||||
AssetDetails: {
|
||||
owner: 'AccountId',
|
||||
issuer: 'AccountId',
|
||||
admin: 'AccountId',
|
||||
freezer: 'AccountId',
|
||||
supply: 'Balance',
|
||||
deposit: 'DepositBalance',
|
||||
max_zombies: 'u32',
|
||||
min_balance: 'Balance',
|
||||
zombies: 'u32',
|
||||
accounts: 'u32',
|
||||
is_frozen: 'bool'
|
||||
},
|
||||
AssetMetadata: {
|
||||
deposit: 'DepositBalance',
|
||||
name: 'Vec<u8>',
|
||||
symbol: 'Vec<u8>',
|
||||
decimals: 'u8'
|
||||
},
|
||||
LocId: 'u128',
|
||||
LegalOfficerCaseOf: {
|
||||
owner: 'AccountId',
|
||||
requester: 'Requester',
|
||||
metadata: 'Vec<MetadataItem>',
|
||||
files: 'Vec<File>',
|
||||
closed: 'bool',
|
||||
loc_type: 'LocType',
|
||||
links: 'Vec<LocLink>',
|
||||
void_info: 'Option<LocVoidInfo<LocId>>',
|
||||
replacer_of: 'Option<LocId>',
|
||||
collection_last_block_submission: 'Option<BlockNumber>',
|
||||
collection_max_size: 'Option<CollectionSize>',
|
||||
collection_can_upload: 'bool'
|
||||
},
|
||||
MetadataItem: {
|
||||
name: 'Vec<u8>',
|
||||
value: 'Vec<u8>',
|
||||
submitter: 'AccountId'
|
||||
},
|
||||
LocType: {
|
||||
_enum: [
|
||||
'Transaction',
|
||||
'Identity',
|
||||
'Collection'
|
||||
]
|
||||
},
|
||||
LocLink: {
|
||||
id: 'LocId',
|
||||
nature: 'Vec<u8>'
|
||||
},
|
||||
File: {
|
||||
hash: 'Hash',
|
||||
nature: 'Vec<u8>',
|
||||
submitter: 'AccountId'
|
||||
},
|
||||
LocVoidInfo: {
|
||||
replacer: 'Option<LocId>'
|
||||
},
|
||||
StorageVersion: {
|
||||
_enum: [
|
||||
'V1',
|
||||
'V2MakeLocVoid',
|
||||
'V3RequesterEnum',
|
||||
'V4ItemSubmitter',
|
||||
'V5Collection',
|
||||
'V6ItemUpload',
|
||||
'V7ItemToken'
|
||||
]
|
||||
},
|
||||
Requester: {
|
||||
_enum: {
|
||||
None: null,
|
||||
Account: 'AccountId',
|
||||
Loc: 'LocId'
|
||||
}
|
||||
},
|
||||
CollectionSize: 'u32',
|
||||
CollectionItemId: 'Hash',
|
||||
CollectionItem: {
|
||||
description: 'Vec<u8>',
|
||||
files: 'Vec<CollectionItemFile<Hash>>',
|
||||
token: 'Option<CollectionItemToken>',
|
||||
restricted_delivery: 'bool'
|
||||
},
|
||||
CollectionItemFile: {
|
||||
name: 'Vec<u8>',
|
||||
content_type: 'Vec<u8>',
|
||||
fileSize: 'u32',
|
||||
hash: 'Hash'
|
||||
},
|
||||
CollectionItemToken: {
|
||||
token_type: 'Vec<u8>',
|
||||
token_id: 'Vec<u8>'
|
||||
}
|
||||
};
|
||||
|
||||
const definitions: OverrideBundleDefinition = {
|
||||
alias: {
|
||||
loAuthorityList: {
|
||||
StorageVersion: 'LoAuthorityListStorageVersion'
|
||||
}
|
||||
},
|
||||
types: [
|
||||
{
|
||||
minmax: [0, 109],
|
||||
types: {
|
||||
...defaultTypesUpTo109,
|
||||
...logionSession.types
|
||||
}
|
||||
},
|
||||
{
|
||||
minmax: [110, 111],
|
||||
types: {
|
||||
...defaultTypesUpTo111,
|
||||
...logionSession.types
|
||||
}
|
||||
},
|
||||
{
|
||||
minmax: [112, 116],
|
||||
types: {
|
||||
...defaultTypesUpTo116,
|
||||
...logionSession.types
|
||||
}
|
||||
},
|
||||
{
|
||||
// Latest
|
||||
minmax: [117, undefined],
|
||||
types: {
|
||||
...logionDefault.types,
|
||||
...logionRuntime.types,
|
||||
...logionSession.types
|
||||
}
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
export default definitions;
|
||||
@@ -0,0 +1,79 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
// structs need to be in order
|
||||
/* eslint-disable sort-keys */
|
||||
|
||||
import type { Observable } from 'rxjs';
|
||||
import type { ApiInterfaceRx } from '@pezkuwi/api/types';
|
||||
import type { DeriveBalancesAll } from '@pezkuwi/api-derive/types';
|
||||
import type { Balance } from '@pezkuwi/types/interfaces';
|
||||
import type { FrameSystemAccountInfo } from '@pezkuwi/types/lookup';
|
||||
import type { OverrideBundleDefinition } from '@pezkuwi/types/types';
|
||||
|
||||
import { mangataTypesBundleForPolkadotApps } from '@mangata-finance/type-definitions';
|
||||
import { combineLatest, map } from 'rxjs';
|
||||
|
||||
import { memo } from '@pezkuwi/api-derive/util';
|
||||
import { TypeRegistry, U128 } from '@pezkuwi/types';
|
||||
import { BN } from '@pezkuwi/util';
|
||||
|
||||
function balanceOf (number: number | string): U128 {
|
||||
return new U128(new TypeRegistry(), number);
|
||||
}
|
||||
|
||||
function defaultAccountBalance (): DeriveBalancesAll {
|
||||
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
||||
return {
|
||||
accountNonce: new BN(1),
|
||||
additional: [],
|
||||
availableBalance: balanceOf(0),
|
||||
freeBalance: balanceOf(0),
|
||||
lockedBalance: balanceOf(0),
|
||||
lockedBreakdown: [],
|
||||
namedReserves: [],
|
||||
reservedBalance: balanceOf(0),
|
||||
vestingLocked: balanceOf(0)
|
||||
} as any;
|
||||
}
|
||||
|
||||
interface OrmlAccountData {
|
||||
free: Balance,
|
||||
reserved: Balance,
|
||||
frozen: Balance,
|
||||
}
|
||||
|
||||
export function getBalance (
|
||||
instanceId: string,
|
||||
api: ApiInterfaceRx
|
||||
): () => Observable<DeriveBalancesAll> {
|
||||
return memo(
|
||||
instanceId,
|
||||
(account: string): Observable<DeriveBalancesAll> =>
|
||||
combineLatest<[any, any]>([api.query.tokens.accounts(account, 0), api.query.system.account(account)]).pipe(
|
||||
map(([data, systemAccount]: [OrmlAccountData, FrameSystemAccountInfo]): DeriveBalancesAll => {
|
||||
return {
|
||||
...defaultAccountBalance(),
|
||||
accountId: api.registry.createType('AccountId', account),
|
||||
accountNonce: systemAccount.nonce,
|
||||
availableBalance: api.registry.createType('Balance', data.free.sub(data.frozen)),
|
||||
freeBalance: data.free,
|
||||
lockedBalance: data.frozen,
|
||||
reservedBalance: data.reserved
|
||||
};
|
||||
})
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
const definitions: OverrideBundleDefinition = {
|
||||
derives: {
|
||||
balances: {
|
||||
account: getBalance,
|
||||
all: getBalance
|
||||
}
|
||||
},
|
||||
...mangataTypesBundleForPolkadotApps
|
||||
};
|
||||
|
||||
export default definitions;
|
||||
@@ -0,0 +1,30 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { OverrideBundleDefinition } from '@pezkuwi/types/types';
|
||||
|
||||
// structs need to be in order
|
||||
/* eslint-disable sort-keys */
|
||||
|
||||
const definitions: OverrideBundleDefinition = {
|
||||
types: [
|
||||
{
|
||||
// on all versions
|
||||
minmax: [0, undefined],
|
||||
types:
|
||||
{
|
||||
CurrencyId: {
|
||||
_enum: [
|
||||
'MA'
|
||||
]
|
||||
},
|
||||
CurrencyIdOf: 'CurrencyId',
|
||||
Amount: 'i128',
|
||||
AmountOf: 'Amount',
|
||||
AccountInfo: 'AccountInfoWithDualRefCount'
|
||||
}
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
export default definitions;
|
||||
@@ -0,0 +1,52 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { OverrideBundleDefinition } from '@pezkuwi/types/types';
|
||||
|
||||
// structs need to be in order
|
||||
/* eslint-disable sort-keys */
|
||||
|
||||
const definitions: OverrideBundleDefinition = {
|
||||
types: [
|
||||
{
|
||||
// on all versions
|
||||
minmax: [0, undefined],
|
||||
types: {
|
||||
Address: 'MultiAddress',
|
||||
LookupSource: 'MultiAddress',
|
||||
Balance: 'u128',
|
||||
RefCount: 'u32',
|
||||
Account: {
|
||||
nonce: 'U256',
|
||||
balance: 'U256'
|
||||
},
|
||||
AccountServiceEnum: {
|
||||
_enum: {
|
||||
Nickname: 'String',
|
||||
Ethereum: 'H160'
|
||||
}
|
||||
},
|
||||
MultiAddressDetails: {
|
||||
nickname: 'AccountServiceEnum',
|
||||
ethereum: 'AccountServiceEnum'
|
||||
},
|
||||
Nickname: 'String',
|
||||
Ethereum: 'H160',
|
||||
TransferAmountInfo: {
|
||||
date: 'u64',
|
||||
daily_info: 'Balance',
|
||||
monthly_info: 'Balance',
|
||||
yearly_info: 'Balance'
|
||||
},
|
||||
AccountLimit: {
|
||||
daily_limit: 'Balance',
|
||||
monthly_limit: 'Balance',
|
||||
yearly_limit: 'Balance'
|
||||
},
|
||||
Keys: 'SessionKeys2'
|
||||
}
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
export default definitions;
|
||||
@@ -0,0 +1,6 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import { moonbeamDefinitions } from '@moonbeam-network/types-bundle';
|
||||
|
||||
export default moonbeamDefinitions;
|
||||
@@ -0,0 +1,23 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { OverrideBundleDefinition } from '@pezkuwi/types/types';
|
||||
|
||||
// structs need to be in order
|
||||
/* eslint-disable sort-keys */
|
||||
|
||||
const definitions: OverrideBundleDefinition = {
|
||||
types: [
|
||||
{
|
||||
// on all versions
|
||||
minmax: [0, undefined],
|
||||
types: {
|
||||
AccountId: 'EthereumAccountId',
|
||||
Address: 'AccountId',
|
||||
LookupSource: 'AccountId'
|
||||
}
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
export default definitions;
|
||||
@@ -0,0 +1,83 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { OverrideBundleDefinition } from '@pezkuwi/types/types';
|
||||
|
||||
// structs need to be in order
|
||||
/* eslint-disable sort-keys */
|
||||
|
||||
const definitions: OverrideBundleDefinition = {
|
||||
types: [
|
||||
{
|
||||
// on all versions
|
||||
minmax: [0, undefined],
|
||||
types: {
|
||||
Token: 'u8',
|
||||
DEXShare: '(u8, u8)',
|
||||
CurrencyId: {
|
||||
_enum: {
|
||||
Token: 'Token',
|
||||
DEXShare: 'DEXShare'
|
||||
}
|
||||
},
|
||||
TradingPair: '(CurrencyId, CurrencyId)',
|
||||
CurrencyIds: { _: 'Vec<CurrencyId>' },
|
||||
TradingPairProvisionParameters: {
|
||||
min_contribution: '(Balance, Balance)',
|
||||
target_provision: '(Balance, Balance)',
|
||||
accumulated_provision: '(Balance, Balance)',
|
||||
not_before: 'BlockNumber'
|
||||
},
|
||||
TradingPairStatus: {
|
||||
_enum: {
|
||||
NotEnabled: null,
|
||||
Provisioning: 'TradingPairProvisionParameters',
|
||||
Enabled: null
|
||||
}
|
||||
},
|
||||
PoolId: 'CurrencyId',
|
||||
Price: 'FixedU128',
|
||||
OracleKey: 'u8',
|
||||
OracleValue: 'FixedU128',
|
||||
Amount: 'i128',
|
||||
Balance: 'u128',
|
||||
Ratio: 'FixedU128',
|
||||
InterestInfo: {
|
||||
critical_point: 'Ratio',
|
||||
base: 'Ratio',
|
||||
slope_1: 'Ratio',
|
||||
slope_2: 'Ratio'
|
||||
},
|
||||
AssetPoolInfo: {
|
||||
maximum_total_debit_ratio: 'Ratio',
|
||||
minimum_deposit: 'Balance',
|
||||
minimum_debit: 'Balance',
|
||||
health_ratio: 'Ratio',
|
||||
total_deposit: 'Balance',
|
||||
total_debit: 'Balance',
|
||||
deposit_rate: 'Ratio',
|
||||
debit_rate: 'Ratio',
|
||||
deposit_apy: 'Ratio',
|
||||
debit_apy: 'Ratio',
|
||||
reserve_factor: 'Ratio',
|
||||
interest_info: 'InterestInfo'
|
||||
},
|
||||
LoanInfo: {
|
||||
deposit: 'Balance',
|
||||
debit: 'Balance'
|
||||
},
|
||||
TimestampedValue: {
|
||||
value: 'OracleValue',
|
||||
timestamp: 'u64'
|
||||
},
|
||||
PoolInfo: {
|
||||
total_shares: 'Compact<u128>',
|
||||
total_rewards: 'Compact<u128>',
|
||||
total_withdrawn_rewards: 'Compact<u128>'
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
export default definitions;
|
||||
@@ -0,0 +1,23 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { OverrideBundleDefinition } from '@pezkuwi/types/types';
|
||||
|
||||
// structs need to be in order
|
||||
/* eslint-disable sort-keys */
|
||||
|
||||
const definitions: OverrideBundleDefinition = {
|
||||
types: [
|
||||
{
|
||||
// on all versions
|
||||
minmax: [0, undefined],
|
||||
types: {
|
||||
AccountId: 'EthereumAccountId',
|
||||
Address: 'AccountId',
|
||||
LookupSource: 'AccountId'
|
||||
}
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
export default definitions;
|
||||
@@ -0,0 +1,30 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { OverrideBundleDefinition } from '@pezkuwi/types/types';
|
||||
|
||||
// structs need to be in order
|
||||
/* eslint-disable sort-keys */
|
||||
|
||||
const definitions: OverrideBundleDefinition = {
|
||||
types: [
|
||||
{
|
||||
minmax: [0, undefined],
|
||||
types: {
|
||||
Label: 'Vec<u8>',
|
||||
Name: 'Vec<Label>',
|
||||
NameHash: 'H256',
|
||||
Value: {
|
||||
_enum: {
|
||||
U32: 'U32',
|
||||
U64: 'U64',
|
||||
U128: 'U128',
|
||||
Bool: 'Bool'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
export default definitions;
|
||||
@@ -0,0 +1,22 @@
|
||||
// Copyright 2017-2025 @pezkuwi/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { OverrideBundleDefinition } from '@pezkuwi/types/types';
|
||||
|
||||
// structs need to be in order
|
||||
/* eslint-disable sort-keys */
|
||||
|
||||
const definitions: OverrideBundleDefinition = {
|
||||
types: [
|
||||
{
|
||||
// on all versions
|
||||
minmax: [0, undefined],
|
||||
types: {
|
||||
Address: 'AccountId',
|
||||
LookupSource: 'AccountId'
|
||||
}
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
export default definitions;
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user