From 3d203d4d4afb9d04f92788034b0b3955efa72f8f Mon Sep 17 00:00:00 2001 From: mmaurello <93129175+mmaurello@users.noreply.github.com> Date: Tue, 25 Jun 2024 09:29:07 +0200 Subject: [PATCH] Apillon integration with Moonbeam (#285) * apillon NCTR integration * add changeset * remove TODO --- .changeset/gentle-scissors-work.md | 5 +++++ packages/config/src/assets.ts | 6 +++++ packages/config/src/chains.ts | 10 +++++++++ packages/config/src/configs/moonbeam.ts | 16 ++++++++++++++ .../config/src/configs/polkadotAssetHub.ts | 22 ++++++++++++++++++- 5 files changed, 58 insertions(+), 1 deletion(-) create mode 100644 .changeset/gentle-scissors-work.md diff --git a/.changeset/gentle-scissors-work.md b/.changeset/gentle-scissors-work.md new file mode 100644 index 00000000..48a21580 --- /dev/null +++ b/.changeset/gentle-scissors-work.md @@ -0,0 +1,5 @@ +--- +'@moonbeam-network/xcm-config': patch +--- + +Apillon NCTR integration with Moonbeam diff --git a/packages/config/src/assets.ts b/packages/config/src/assets.ts index 9d2fc1a6..58da5563 100644 --- a/packages/config/src/assets.ts +++ b/packages/config/src/assets.ts @@ -20,6 +20,11 @@ export const ampe = new Asset({ originSymbol: 'AMPE', }); +export const apillon = new Asset({ + key: 'apillon', + originSymbol: 'NCTR', +}); + export const astr = new Asset({ key: 'astr', originSymbol: 'ASTR', @@ -412,6 +417,7 @@ export const assetsList: Asset[] = [ manta, mgx, movr, + apillon, nodl, neuro, otp, diff --git a/packages/config/src/chains.ts b/packages/config/src/chains.ts index 6ee03ae0..3d9d346c 100644 --- a/packages/config/src/chains.ts +++ b/packages/config/src/chains.ts @@ -9,6 +9,7 @@ import { agng, alan, ampe, + apillon, aseed, astr, atom, @@ -1067,6 +1068,10 @@ export const moonbeam = new EvmParachain({ asset: stink, id: '112679793397406599376365943185137098326', }, + { + asset: apillon, + id: '184218609779515850660274730699350567246', + }, ], ecosystem: Ecosystem.Polkadot, genesisHash: @@ -1695,6 +1700,11 @@ export const polkadotAssetHub = new Parachain({ id: 42069, palletInstance: 50, }, + { + asset: apillon, + id: 1024, + palletInstance: 50, + }, ], ecosystem: Ecosystem.Polkadot, genesisHash: diff --git a/packages/config/src/configs/moonbeam.ts b/packages/config/src/configs/moonbeam.ts index 06a47137..d9eddbc6 100644 --- a/packages/config/src/configs/moonbeam.ts +++ b/packages/config/src/configs/moonbeam.ts @@ -1,6 +1,7 @@ import { BalanceBuilder, ContractBuilder } from '@moonbeam-network/xcm-builder'; import { aca, + apillon, aseed, astr, bnc, @@ -535,6 +536,21 @@ export const moonbeamConfig = new ChainConfig({ balance: BalanceBuilder().substrate().system().account(), }, }), + new AssetConfig({ + asset: apillon, + balance: BalanceBuilder().substrate().assets().account(), + contract: ContractBuilder().Xtokens().transferMultiCurrencies(), + destination: polkadotAssetHub, + destinationFee: { + amount: 0.2, + asset: usdt, + balance: BalanceBuilder().substrate().assets().account(), + }, + fee: { + asset: glmr, + balance: BalanceBuilder().substrate().system().account(), + }, + }), new AssetConfig({ asset: hdx, balance: BalanceBuilder().substrate().assets().account(), diff --git a/packages/config/src/configs/polkadotAssetHub.ts b/packages/config/src/configs/polkadotAssetHub.ts index ecedd597..373bf78e 100644 --- a/packages/config/src/configs/polkadotAssetHub.ts +++ b/packages/config/src/configs/polkadotAssetHub.ts @@ -4,7 +4,7 @@ import { ExtrinsicBuilder, FeeBuilder, } from '@moonbeam-network/xcm-builder'; -import { ded, dot, pink, stink, usdc, usdt } from '../assets'; +import { apillon, ded, dot, pink, stink, usdc, usdt } from '../assets'; import { moonbeam, polkadotAssetHub } from '../chains'; import { AssetConfig } from '../types/AssetConfig'; import { ChainConfig } from '../types/ChainConfig'; @@ -113,6 +113,26 @@ export const polkadotAssetHubConfig = new ChainConfig({ }, min: AssetMinBuilder().assets().asset(), }), + new AssetConfig({ + asset: apillon, + balance: BalanceBuilder().substrate().assets().account(), + destination: moonbeam, + destinationFee: { + amount: 0.03, + asset: usdt, + balance: BalanceBuilder().substrate().assets().account(), + }, + extrinsic: ExtrinsicBuilder() + .polkadotXcm() + .limitedReserveTransferAssets() + .X2(), + fee: { + asset: dot, + balance: BalanceBuilder().substrate().system().account(), + xcmDeliveryFeeAmount, + }, + min: AssetMinBuilder().assets().asset(), + }), ], chain: polkadotAssetHub, });