diff --git a/packages/apps-config/src/api/spec/eave.ts b/packages/apps-config/src/api/spec/eave.ts new file mode 100644 index 0000000000..a68f06f1ac --- /dev/null +++ b/packages/apps-config/src/api/spec/eave.ts @@ -0,0 +1,427 @@ +// Copyright 2017-2021 @polkadot/apps-config authors & contributors +// SPDX-License-Identifier: Apache-2.0 + +import type { OverrideBundleDefinition } from '@polkadot/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' + }, + AuthoritysOriginId: { + _enum: [ + 'Root', + 'EaveTreasury', + 'CdpTreasury', + 'ElpTreasury', + 'DSWF' + ] + }, + BalanceInfo: { + amount: 'Balance' + }, + BalanceRequest: { + amount: 'Balance' + }, + BalanceWrapper: { + amount: 'Balance' + }, + BondingLedger: { + total: 'Compact', + active: 'Compact', + unlocking: 'Vec' + }, + CID: 'Vec', + CallOf: 'Call', + CallRequest: { + from: 'Option', + to: 'Option', + gasLimit: 'Option', + storageLimit: 'Option', + value: 'Option', + data: 'Option' + }, + 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', + amount: 'Compact', + target: 'Compact', + startTime: 'BlockNumber' + }, + CurrencyId: { + _enum: { + Token: 'TokenSymbol', + DEXShare: '(TokenSymbol, TokenSymbol)', + ERC20: 'EvmAddress' + } + }, + CurrencyIdOf: 'CurrencyId', + DataProviderId: { + _enum: [ + 'Aggregated', + 'Eave', + 'Band' + ] + }, + DebitAuctionItem: { + initialAmount: 'Compact', + amount: 'Compact', + fix: 'Compact', + startTime: 'BlockNumber' + }, + DelayedDispatchTime: { + _enum: { + At: 'BlockNumber', + After: 'BlockNumber' + } + }, + DelayedOrigin: { + delay: 'BlockNumber', + origin: 'PalletsOrigin' + }, + DestAddress: 'Vec', + DispatchId: 'u32', + DispatchTime: { + _enum: { + At: 'BlockNumber', + After: 'BlockNumber' + } + }, + ElpUnlockChunk: { + value: 'Compact', + era: 'Compact' + }, + EvmAccountInfo: { + nonce: 'Index', + contractInfo: 'Option', + developerDeposit: 'Option' + }, + 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', + lp_token_id: 'AssetId', + pool_config_id: 'u32', + pool_reserves: 'Vec' + }, + LiquidityPoolConfig_: 'PoolConfig', + LiquidityPool_: 'LiquidityPool', + LookupSource: 'MultiAddress', + NFTBalance: 'u128', + OptionRate: 'Option', + OptionRatio: 'Option', + OracleKey: 'CurrencyId', + OracleValue: 'Price', + OrderedSet: 'Vec', + OrmlAccountData: { + free: 'Balance', + frozen: 'Balance', + reserved: 'Balance' + }, + OrmlBalanceLock: { + amount: 'Balance', + id: 'LockIdentifier' + }, + OrmlVestingSchedule: { + start: 'BlockNumber', + period: 'BlockNumber', + periodCount: 'u32', + perPeriod: 'Compact' + }, + 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', + PolkadotBridge: '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' + }, + PolkadotAccountId: 'AccountId', + PolkadotAccountIdOf: 'PolkadotAccountId', + PoolId: { + _enum: { + Loans: 'CurrencyId', + DexIncentive: 'CurrencyId', + DexSaving: 'CurrencyId', + Elp: 'Null' + } + }, + PoolInfo: { + totalShares: 'Compact', + totalRewards: 'Compact', + totalWithdrawnRewards: 'Compact' + }, + 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' + } + }, + RiskManagementParams: { + maximumTotalDebitValue: 'Balance', + stabilityFee: 'Option', + liquidationRatio: 'Option', + liquidationPenalty: 'Option', + requiredCollateralRatio: 'Option' + }, + RpcDataProviderId: 'Text', + ScheduleTaskIndex: 'u32', + Share: 'u128', + StorageKeyBytes: 'Vec', + StorageValue: 'Vec', + StorageValueBytes: 'Vec', + SubAccountStatus: { + bonded: 'Balance', + available: 'Balance', + unbonding: 'Vec<(EraIndex,Balance)>', + mockRewardRate: 'Rate' + }, + SurplusAuctionItem: { + amount: 'Compact', + 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, + DOT: 2, + LDOT: 3, + XBTC: 4, + RENBTC: 5, + POLKABTC: 6, + PLM: 7, + PHA: 8, + HDT: 9, + ICE: 128, + IUSD: 129, + KSM: 130, + LKSM: 131, + SDN: 135 + } + }, + 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' + } + } + } + ] +}; + +export default definitions; diff --git a/packages/apps-config/src/api/spec/index.ts b/packages/apps-config/src/api/spec/index.ts index adaf16b58e..4a93f19585 100644 --- a/packages/apps-config/src/api/spec/index.ts +++ b/packages/apps-config/src/api/spec/index.ts @@ -22,6 +22,7 @@ import datahighwayParachain from './datahighway'; import dock from './dock'; import dotmog from './dotmog'; import dusty from './dusty'; +import eave from './eave'; import edgeware from './edgeware'; import encointerNodeNotee from './encointer-node-notee'; import encointerNodeTeeproxy from './encointer-node-teeproxy'; @@ -92,6 +93,7 @@ const spec: Record = { 'cumulus-subsocial-parachain': subsocial, 'cumulus-test-parachain': testPara, 'datahighway-parachain': datahighwayParachain, + dawn: eave, 'dev-parachain': zenlink, 'dock-main-runtime': dock, 'dock-testnet': dock, diff --git a/packages/apps-config/src/endpoints/testingRococo.ts b/packages/apps-config/src/endpoints/testingRococo.ts index 68d9997675..56539af9bd 100644 --- a/packages/apps-config/src/endpoints/testingRococo.ts +++ b/packages/apps-config/src/endpoints/testingRococo.ts @@ -263,6 +263,14 @@ export function createRococo (t: TFunction): LinkOption[] { Airalab: 'wss://rococo.parachain.robonomics.network' } }, + { + info: 'rococoEave', + paraId: 77, + text: t('rpc.rococo.eave', 'Steam PC', { ns: 'apps-config' }), + providers: { + EAVE: 'wss://steamcollator.eave.network' + } + }, { info: 'rococoSubDAO', paraId: 888, diff --git a/packages/apps-config/src/ui/colors.ts b/packages/apps-config/src/ui/colors.ts index fdd37b0824..a15e90c7b3 100644 --- a/packages/apps-config/src/ui/colors.ts +++ b/packages/apps-config/src/ui/colors.ts @@ -39,6 +39,7 @@ const chainRoccoAres = '#70FF8B'; const chainRoccoBifrost = '#002cc3'; const chainRoccoDarwinia = 'linear-gradient(-45deg, #FE3876 0%, #7C30DD 71%, #3A30DD 100%)'; const chainRoccoDataHighway = 'linear-gradient(-90deg, #9400D3 0%, #5A5CA9 50%, #00BFFF 100%)'; +const chainRococoEave = '#900048'; const chainRococoLaminar = '#004FFF'; const chainRoccoTick = '#22bb22'; const chainRoccoTrack = '#bb2222'; @@ -108,6 +109,7 @@ export const chainColors: Record = [ ['Darwinia PC2', chainRoccoDarwinia], ['DataHighway', chainRoccoDataHighway], ['DOTMog.com NET', chainDotMog], + ['Steam PC', chainRococoEave], ['Encointer PC1', nodeEncointerNotee], ['Galital', chainGalital], ['Galois', chainGalois], diff --git a/packages/apps-config/src/ui/logos/index.ts b/packages/apps-config/src/ui/logos/index.ts index 5db6230432..ff771283c5 100644 --- a/packages/apps-config/src/ui/logos/index.ts +++ b/packages/apps-config/src/ui/logos/index.ts @@ -37,6 +37,7 @@ import nodeDataHighway from './nodes/datahighway.png'; import nodeDockMainnet from './nodes/dock-mainnet.png'; import nodeDockTestnet from './nodes/dock-testnet.png'; import nodeDotMog from './nodes/dotmog.svg'; +import nodeEave from './nodes/eave.svg'; import nodeEdgeware from './nodes/edgeware-circle.svg'; import nodeEncointerNotee from './nodes/encointer-notee.svg'; import nodeEncointerTeeproxy from './nodes/encointer-teeproxy.svg'; @@ -94,6 +95,7 @@ export const chainLogos: Record = [ ['Darwinia PC2', nodeDarwinia], ['DataHighway', nodeDataHighway], ['Dusty', chainDusty], + ['Steam PC', nodeEave], ['Galital', nodeGalital], ['Galois', nodeMath], ['HydraDX Hydrate', chainHydrate], @@ -169,6 +171,7 @@ export const nodeLogos: Record = [ ['DataHighway Parachain Collator', nodeDataHighway], ['Dock Full Node', nodeDockMainnet], ['DOTMog Node', nodeDotMog], + ['Eave Node', nodeEave], ['Edgeware Node', nodeEdgeware], ['Encointer Node', nodeEncointerNotee], ['Encointer Node noTEE', nodeEncointerNotee], @@ -250,6 +253,7 @@ export const namedLogos: Record = { 'dock-testnet': nodeDockTestnet, dotmog: nodeDotMog, dusty: chainDusty, + eave: nodeEave, edgeware: nodeEdgeware, empty: emptyLogo, encointer_cantillon: nodeEncointerTeeproxy, @@ -287,6 +291,7 @@ export const namedLogos: Record = { rococoCrust: nodeCrust, rococoDarwinia: nodeDarwinia, rococoDataHighway: nodeDataHighway, + rococoEave: nodeEave, rococoEncointer: nodeEncointerNotee, rococoEquilibrium: nodeEquilibrium, rococoGalital: nodeGalital, diff --git a/packages/apps-config/src/ui/logos/nodes/eave.svg b/packages/apps-config/src/ui/logos/nodes/eave.svg new file mode 100644 index 0000000000..13c9e0a585 --- /dev/null +++ b/packages/apps-config/src/ui/logos/nodes/eave.svg @@ -0,0 +1,13 @@ + + + + background + + + + Layer 1 + + + e + + \ No newline at end of file diff --git a/packages/apps/public/locales/en/apps-config.json b/packages/apps/public/locales/en/apps-config.json index 426e944985..df8751706b 100644 --- a/packages/apps/public/locales/en/apps-config.json +++ b/packages/apps/public/locales/en/apps-config.json @@ -22,6 +22,7 @@ "rpc.dock-testnet": "Dock", "rpc.dotmog": "DOTMog", "rpc.dusty": "Dusty", + "rpc.eave": "EAVE", "rpc.edgeware": "Edgeware", "rpc.encointer.cantillon": "Encointer Cantillon", "rpc.encointer.gesell": "Encointer Gesell",