diff --git a/.changeset/serious-guests-provide.md b/.changeset/serious-guests-provide.md new file mode 100644 index 00000000..9952e25d --- /dev/null +++ b/.changeset/serious-guests-provide.md @@ -0,0 +1,5 @@ +--- +'@moonbeam-network/xcm-config': patch +--- + +Tinkernet integration diff --git a/packages/config/src/assets.ts b/packages/config/src/assets.ts index b20b3abb..e2967242 100644 --- a/packages/config/src/assets.ts +++ b/packages/config/src/assets.ts @@ -260,6 +260,11 @@ export const teer = new Asset({ originSymbol: 'TEER', }); +export const tnkr = new Asset({ + key: 'tnkr', + originSymbol: 'TNKR', +}); + export const tt1 = new Asset({ key: 'tt1', originSymbol: 'TT1', @@ -418,6 +423,7 @@ export const assetsList: Asset[] = [ soon, sub, teer, + tnkr, tt1, tur, unit, diff --git a/packages/config/src/chains.ts b/packages/config/src/chains.ts index 4e318ca8..09689fa7 100644 --- a/packages/config/src/chains.ts +++ b/packages/config/src/chains.ts @@ -57,6 +57,7 @@ import { sdn, sub, teer, + tnkr, tt1, tur, unit, @@ -1093,6 +1094,10 @@ export const moonriver = new EvmParachain({ asset: teer, id: '105075627293246237499203909093923548958', }, + { + asset: tnkr, + id: '138512078356357941985706694377215053953', + }, { asset: tur, id: '133300872918374599700079037156071917454', @@ -1647,6 +1652,23 @@ export const subsocial = new Parachain({ ws: 'wss://para.subsocial.network', }); +export const tinkernet = new Parachain({ + assetsData: [ + { + asset: tnkr, + id: 0, + }, + ], + ecosystem: Ecosystem.Kusama, + genesisHash: + '0xd42e9606a995dfe433dc7955dc2a70f495f350f373daa200098ae84437816ad2', + key: 'tinkernet', + name: 'InvArch Tinkernet', + parachainId: 2125, + ss58Format: 117, + ws: 'wss://tinkernet-rpc.dwellir.com', +}); + export const turing = new Parachain({ assetsData: [ { @@ -1780,6 +1802,7 @@ export const chainsList: AnyChain[] = [ alphanetAssetHub, polkadotAssetHub, subsocial, + tinkernet, turing, turingAlphanet, uniqueAlpha, diff --git a/packages/config/src/configs/index.ts b/packages/config/src/configs/index.ts index b775b167..ebb3ee07 100644 --- a/packages/config/src/configs/index.ts +++ b/packages/config/src/configs/index.ts @@ -47,6 +47,7 @@ import { polkadotAssetHubConfig } from './polkadotAssetHub'; import { robonomicsConfig } from './robonomics'; import { shidenConfig } from './shiden'; import { subsocialConfig } from './subsocial'; +import { tinkernetConfig } from './tinkernet'; import { turingConfig } from './turing'; import { turingAlphanetConfig } from './turingAlphanet'; import { uniqueAlphaConfig } from './uniqueAlpha'; @@ -100,6 +101,7 @@ export const chainsConfigList: ChainConfig[] = [ kusamaAssetHubConfig, polkadotAssetHubConfig, subsocialConfig, + tinkernetConfig, turingConfig, turingAlphanetConfig, uniqueAlphaConfig, diff --git a/packages/config/src/configs/moonriver.ts b/packages/config/src/configs/moonriver.ts index c9aed0a8..9dd1dc33 100644 --- a/packages/config/src/configs/moonriver.ts +++ b/packages/config/src/configs/moonriver.ts @@ -18,6 +18,7 @@ import { rmrk, sdn, teer, + tnkr, tur, usdt, vbnc, @@ -43,6 +44,7 @@ import { picasso, robonomics, shiden, + tinkernet, turing, } from '../chains'; import { AssetConfig } from '../types/AssetConfig'; @@ -415,6 +417,21 @@ export const moonriverConfig = new ChainConfig({ balance: BalanceBuilder().substrate().system().account(), }, }), + new AssetConfig({ + asset: tnkr, + balance: BalanceBuilder().substrate().assets().account(), + contract: ContractBuilder().Xtokens().transfer(), + destination: tinkernet, + destinationFee: { + amount: 0.4, + asset: tnkr, + balance: BalanceBuilder().substrate().assets().account(), + }, + fee: { + asset: movr, + balance: BalanceBuilder().substrate().system().account(), + }, + }), new AssetConfig({ asset: tur, balance: BalanceBuilder().substrate().assets().account(), diff --git a/packages/config/src/configs/tinkernet.ts b/packages/config/src/configs/tinkernet.ts new file mode 100644 index 00000000..fc13ae8f --- /dev/null +++ b/packages/config/src/configs/tinkernet.ts @@ -0,0 +1,26 @@ +import { + BalanceBuilder, + ExtrinsicBuilder, + FeeBuilder, +} from '@moonbeam-network/xcm-builder'; +import { tnkr } from '../assets'; +import { moonriver, tinkernet } from '../chains'; +import { AssetConfig } from '../types/AssetConfig'; +import { ChainConfig } from '../types/ChainConfig'; + +export const tinkernetConfig = new ChainConfig({ + assets: [ + new AssetConfig({ + asset: tnkr, + balance: BalanceBuilder().substrate().system().account(), + destination: moonriver, + destinationFee: { + amount: FeeBuilder().assetManager().assetTypeUnitsPerSecond(), + asset: tnkr, + balance: BalanceBuilder().substrate().system().account(), + }, + extrinsic: ExtrinsicBuilder().xTokens().transfer(), + }), + ], + chain: tinkernet, +});