Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Non native tokens transfer b/w Astar & Polkadex #282

Merged
merged 25 commits into from
Jun 7, 2024
Merged
Show file tree
Hide file tree
Changes from 22 commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
9679926
feat: more assets added for Astar
ap211unitech May 2, 2024
7961894
Merge branch 'main' into feat/thea-enhancements-ii
ap211unitech Jun 5, 2024
cf7fe7e
feat: GLMR transfer from Astar to Polkadex
ap211unitech Jun 5, 2024
aa2df08
feat: UNQ transfer from Astar to Polkadex
ap211unitech Jun 5, 2024
2fe0811
chore: PHA transfer config added
ap211unitech Jun 5, 2024
9f01aae
feat: PHA transfer from Astar to Polkadex
ap211unitech Jun 6, 2024
033e40d
chore: PINK transfer config added
ap211unitech Jun 6, 2024
2bab390
feat: BNC transfer from Astar to Polkadex
ap211unitech Jun 6, 2024
984835b
feat: DOT transfer from Astar to Polkadex
ap211unitech Jun 6, 2024
18334e9
chore: removed PINK support
ap211unitech Jun 6, 2024
e785d1c
feat: vDOT transfer from Astar to Polkadex
ap211unitech Jun 6, 2024
3bc0f75
feat: IBTC transfer from Astar to Polkadex
ap211unitech Jun 7, 2024
de54fa7
chore: removed comments
ap211unitech Jun 7, 2024
c228d21
chore: tested DOT from Polkadex to Astar
ap211unitech Jun 7, 2024
67b6ac8
feat: tested GLMR from Polkadex to Astar
ap211unitech Jun 7, 2024
71bceb7
feat: tested UNQ from Polkadex to Astar
ap211unitech Jun 7, 2024
a899d3e
feat: tested PHA from Polkadex to Astar
ap211unitech Jun 7, 2024
34983a8
feat: tested BNC from Polkadex to Astar
ap211unitech Jun 7, 2024
93acaaf
feat: tested vDOT from Polkadex to Astar
ap211unitech Jun 7, 2024
85cff06
feat: tested IBTC from Polkadex to Astar
ap211unitech Jun 7, 2024
83d0d45
chore: removed comments
ap211unitech Jun 7, 2024
c12d819
chore: added changeset
ap211unitech Jun 7, 2024
709e6e2
Merge branch 'main' into feat/thea-enhancements-ii
ap211unitech Jun 7, 2024
ebccf2a
chore: minor change
ap211unitech Jun 7, 2024
8538be3
Merge branch 'main' into feat/thea-enhancements-ii
ap211unitech Jun 7, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .changeset/stupid-dryers-invite.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@polkadex/thea": minor
---

Added support for more tokens between Astar and Polkadex
35 changes: 35 additions & 0 deletions packages/thea/src/config/substrate/chains.ts
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,41 @@ export const astar = new Parachain({
asset: astr,
decimals: 18,
},
{
asset: dot,
decimals: 10,
id: "340282366920938463463374607431768211455",
},
{
asset: glmr,
decimals: 18,
id: "18446744073709551619",
},
{
asset: unq,
decimals: 18,
id: "18446744073709551631",
},
{
asset: pha,
decimals: 12,
id: "18446744073709551622",
},
{
asset: ibtc,
decimals: 8,
id: "18446744073709551620",
},
{
asset: bnc,
decimals: 12,
id: "18446744073709551623",
},
{
asset: vdot,
decimals: 10,
id: "18446744073709551624",
},
],
ecosystem: Ecosystem.Polkadot,
genesisHash: ASTAR_GENESIS,
Expand Down
123 changes: 121 additions & 2 deletions packages/thea/src/config/substrate/config/astar.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import { AssetConfig, ChainConfig } from "@moonbeam-network/xcm-config";
import { BalanceBuilder } from "@moonbeam-network/xcm-builder";
import { BalanceBuilder, AssetMinBuilder } from "@moonbeam-network/xcm-builder";

import { ExtrinsicBuilderV2 } from "../builders";
import { astar, polkadex } from "../chains";
import { astr } from "../assets";
import { astr, dot, glmr, unq, pha, bnc, vdot, ibtc } from "../assets";

const toPolkadex: AssetConfig[] = [
new AssetConfig({
Expand All @@ -21,6 +21,125 @@ const toPolkadex: AssetConfig[] = [
balance: BalanceBuilder().substrate().system().account(),
},
}),

new AssetConfig({
asset: dot,
balance: BalanceBuilder().substrate().assets().account(),
destination: polkadex,
destinationFee: {
amount: 0.05,
asset: dot,
balance: BalanceBuilder().substrate().system().account(),
},
extrinsic: ExtrinsicBuilderV2().xTokens().transfer().X3(),
min: AssetMinBuilder().assets().asset(),
fee: {
asset: astr,
balance: BalanceBuilder().substrate().system().account(),
},
}),

new AssetConfig({
asset: glmr,
balance: BalanceBuilder().substrate().assets().account(),
destination: polkadex,
destinationFee: {
amount: 0.1,
asset: glmr,
balance: BalanceBuilder().substrate().assets().account(),
},
extrinsic: ExtrinsicBuilderV2().xTokens().transfer().X3(),
min: AssetMinBuilder().assets().asset(),
fee: {
asset: astr,
balance: BalanceBuilder().substrate().system().account(),
},
}),

new AssetConfig({
asset: unq,
balance: BalanceBuilder().substrate().assets().account(),
destination: polkadex,
destinationFee: {
amount: 0,
asset: unq,
balance: BalanceBuilder().substrate().assets().account(),
},
extrinsic: ExtrinsicBuilderV2().xTokens().transfer().X3(),
min: AssetMinBuilder().assets().asset(),
fee: {
asset: astr,
balance: BalanceBuilder().substrate().system().account(),
},
}),

new AssetConfig({
asset: pha,
balance: BalanceBuilder().substrate().assets().account(),
destination: polkadex,
destinationFee: {
amount: 0.1,
asset: pha,
balance: BalanceBuilder().substrate().assets().account(),
},
extrinsic: ExtrinsicBuilderV2().xTokens().transfer().X3(),
min: AssetMinBuilder().assets().asset(),
fee: {
asset: astr,
balance: BalanceBuilder().substrate().system().account(),
},
}),

new AssetConfig({
asset: bnc,
balance: BalanceBuilder().substrate().assets().account(),
destination: polkadex,
destinationFee: {
amount: 0.0006,
asset: bnc,
balance: BalanceBuilder().substrate().assets().account(),
},
extrinsic: ExtrinsicBuilderV2().xTokens().transfer().X3(),
min: AssetMinBuilder().assets().asset(),
fee: {
asset: astr,
balance: BalanceBuilder().substrate().system().account(),
},
}),

new AssetConfig({
asset: vdot,
balance: BalanceBuilder().substrate().assets().account(),
destination: polkadex,
destinationFee: {
amount: 0.00000007,
asset: vdot,
balance: BalanceBuilder().substrate().assets().account(),
},
extrinsic: ExtrinsicBuilderV2().xTokens().transfer().X3(),
min: AssetMinBuilder().assets().asset(),
fee: {
asset: astr,
balance: BalanceBuilder().substrate().system().account(),
},
}),

new AssetConfig({
asset: ibtc,
balance: BalanceBuilder().substrate().assets().account(),
destination: polkadex,
destinationFee: {
amount: 0.00000063,
asset: ibtc,
balance: BalanceBuilder().substrate().assets().account(),
},
extrinsic: ExtrinsicBuilderV2().xTokens().transfer().X3(),
min: AssetMinBuilder().assets().asset(),
fee: {
asset: astr,
balance: BalanceBuilder().substrate().system().account(),
},
}),
ap211unitech marked this conversation as resolved.
Show resolved Hide resolved
];

export const astarConfig = new ChainConfig({
Expand Down
156 changes: 155 additions & 1 deletion packages/thea/src/config/substrate/config/polkadex.ts
Original file line number Diff line number Diff line change
Expand Up @@ -168,6 +168,160 @@ const toAstar: AssetConfig[] = [
xcmDeliveryFeeAmount,
},
}),

new AssetConfig({
asset: dot,
balance: BalanceBuilder().substrate().assets().account(),
destination: astar,
destinationFee: {
amount: 0.05,
asset: dot,
balance: BalanceBuilder().substrate().assets().account(),
},
extrinsic: ExtrinsicBuilderV2()
.theaExecuter()
.parachainWithdraw()
.X2()
.sufficient(),
min: AssetMinBuilder().assets().asset(),
fee: {
asset: pdex,
balance: BalanceBuilder().substrate().system().account(),
xcmDeliveryFeeAmount,
},
}),

new AssetConfig({
asset: glmr,
balance: BalanceBuilder().substrate().assets().account(),
destination: astar,
destinationFee: {
amount: 0.0035,
asset: glmr,
balance: BalanceBuilder().substrate().assets().account(),
},
extrinsic: ExtrinsicBuilderV2()
.theaExecuter()
.parachainWithdraw()
.X2()
.sufficient(),
min: AssetMinBuilder().assets().asset(),
fee: {
asset: pdex,
balance: BalanceBuilder().substrate().system().account(),
xcmDeliveryFeeAmount,
},
}),

new AssetConfig({
asset: unq,
balance: BalanceBuilder().substrate().assets().account(),
destination: astar,
destinationFee: {
amount: 0.01,
asset: unq,
balance: BalanceBuilder().substrate().assets().account(),
},
extrinsic: ExtrinsicBuilderV2()
.theaExecuter()
.parachainWithdraw()
.X2()
.sufficient(),
min: AssetMinBuilder().assets().asset(),
fee: {
asset: pdex,
balance: BalanceBuilder().substrate().system().account(),
xcmDeliveryFeeAmount,
},
}),

new AssetConfig({
asset: pha,
balance: BalanceBuilder().substrate().assets().account(),
destination: astar,
destinationFee: {
amount: 0.065,
asset: pha,
balance: BalanceBuilder().substrate().assets().account(),
},
extrinsic: ExtrinsicBuilderV2()
.theaExecuter()
.parachainWithdraw()
.X2()
.sufficient(),
min: AssetMinBuilder().assets().asset(),
fee: {
asset: pdex,
balance: BalanceBuilder().substrate().system().account(),
xcmDeliveryFeeAmount,
},
}),

new AssetConfig({
asset: bnc,
balance: BalanceBuilder().substrate().assets().account(),
destination: astar,
destinationFee: {
amount: 0.001,
asset: bnc,
balance: BalanceBuilder().substrate().assets().account(),
},
extrinsic: ExtrinsicBuilderV2()
.theaExecuter()
.parachainWithdraw()
.X2()
.sufficient(),
min: AssetMinBuilder().assets().asset(),
fee: {
asset: pdex,
balance: BalanceBuilder().substrate().system().account(),
xcmDeliveryFeeAmount,
},
}),

new AssetConfig({
asset: vdot,
balance: BalanceBuilder().substrate().assets().account(),
destination: astar,
destinationFee: {
amount: 0.0000085,
asset: vdot,
balance: BalanceBuilder().substrate().assets().account(),
},
extrinsic: ExtrinsicBuilderV2()
.theaExecuter()
.parachainWithdraw()
.X2()
.sufficient(),
min: AssetMinBuilder().assets().asset(),
fee: {
asset: pdex,
balance: BalanceBuilder().substrate().system().account(),
xcmDeliveryFeeAmount,
},
}),

new AssetConfig({
asset: ibtc,
balance: BalanceBuilder().substrate().assets().account(),
destination: astar,
destinationFee: {
amount: 0.0000063,
asset: ibtc,
balance: BalanceBuilder().substrate().assets().account(),
},
extrinsic: ExtrinsicBuilderV2()
.theaExecuter()
.parachainWithdraw()
.X2()
.sufficient(),
min: AssetMinBuilder().assets().asset(),
fee: {
asset: pdex,
balance: BalanceBuilder().substrate().system().account(),
xcmDeliveryFeeAmount,
},
}),
];

const toPhala: AssetConfig[] = [
Expand All @@ -176,7 +330,7 @@ const toPhala: AssetConfig[] = [
balance: BalanceBuilder().substrate().assets().account(),
destination: phala,
destinationFee: {
amount: 0.064296,
amount: 0.065,
asset: pha,
balance: BalanceBuilder().substrate().system().account(),
},
Expand Down
Loading