mirror of
https://github.com/pezkuwichain/pezkuwi-sdk-ui.git
synced 2026-04-21 23:47:59 +00:00
d949863789
Comprehensive web interface for interacting with Pezkuwi blockchain. Features: - Blockchain explorer - Wallet management - Staking interface - Governance participation - Developer tools Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
209 lines
5.9 KiB
TypeScript
209 lines
5.9 KiB
TypeScript
// Copyright 2017-2026 @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: 'DOT'
|
|
});
|
|
|
|
// https://github.com/paritytech/polkadot/blob/6e3f2c5b4b6e6927915de2f784e1d831717760fa/runtime/kusama/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/paritytech/polkadot/blob/6e3f2c5b4b6e6927915de2f784e1d831717760fa/runtime/kusama/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 polkadot: 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 Polkadot 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 Polkadot 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 Polkadot 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`
|
|
}
|
|
]
|
|
};
|