@moonbeam-network/xcm-sdk 0.0.17 → 0.0.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +95 -0
- package/build/cjs/examples/simple/package.json +21 -0
- package/build/cjs/examples/simple/tsconfig.json +10 -0
- package/build/cjs/src/polkadot/PolkadotService.js +2 -5
- package/build/cjs/src/polkadot/PolkadotService.js.map +1 -1
- package/build/cjs/src/polkadot/polkadot.interfaces.d.ts +2 -7
- package/build/cjs/src/sdk/index.d.ts +1 -1
- package/build/cjs/src/sdk/index.js +2 -1
- package/build/cjs/src/sdk/index.js.map +1 -1
- package/build/cjs/src/sdk/sdk.deposit.d.ts +3 -3
- package/build/cjs/src/sdk/sdk.deposit.js +3 -2
- package/build/cjs/src/sdk/sdk.deposit.js.map +1 -1
- package/build/cjs/src/sdk/sdk.interfaces.d.ts +12 -9
- package/build/cjs/src/sdk/sdk.interfaces.js.map +1 -1
- package/build/cjs/src/sdk/sdk.js +6 -3
- package/build/cjs/src/sdk/sdk.js.map +1 -1
- package/build/cjs/src/sdk/sdk.utils.d.ts +1 -0
- package/build/cjs/src/sdk/sdk.utils.js +16 -7
- package/build/cjs/src/sdk/sdk.utils.js.map +1 -1
- package/build/cjs/src/sdk/sdk.withdraw.d.ts +2 -0
- package/build/cjs/src/sdk/sdk.withdraw.js +19 -4
- package/build/cjs/src/sdk/sdk.withdraw.js.map +1 -1
- package/build/mjs/examples/simple/package.json +21 -0
- package/build/mjs/examples/simple/tsconfig.json +10 -0
- package/build/mjs/src/polkadot/PolkadotService.js +2 -5
- package/build/mjs/src/polkadot/PolkadotService.js.map +1 -1
- package/build/mjs/src/polkadot/polkadot.interfaces.d.ts +2 -7
- package/build/mjs/src/sdk/index.d.ts +1 -1
- package/build/mjs/src/sdk/index.js +2 -1
- package/build/mjs/src/sdk/index.js.map +1 -1
- package/build/mjs/src/sdk/sdk.deposit.d.ts +3 -3
- package/build/mjs/src/sdk/sdk.deposit.js +3 -2
- package/build/mjs/src/sdk/sdk.deposit.js.map +1 -1
- package/build/mjs/src/sdk/sdk.interfaces.d.ts +12 -9
- package/build/mjs/src/sdk/sdk.interfaces.js.map +1 -1
- package/build/mjs/src/sdk/sdk.js +6 -3
- package/build/mjs/src/sdk/sdk.js.map +1 -1
- package/build/mjs/src/sdk/sdk.utils.d.ts +1 -0
- package/build/mjs/src/sdk/sdk.utils.js +16 -7
- package/build/mjs/src/sdk/sdk.utils.js.map +1 -1
- package/build/mjs/src/sdk/sdk.withdraw.d.ts +2 -0
- package/build/mjs/src/sdk/sdk.withdraw.js +19 -4
- package/build/mjs/src/sdk/sdk.withdraw.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1,3 +1,98 @@
|
|
|
1
1
|
# XCM-SDK
|
|
2
2
|
|
|
3
3
|
## :warning: This package is not production ready and is in heavy development!
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm i @moonbeam-network/xcm-config @moonbeam-network/xcm-sdk
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Usage
|
|
12
|
+
|
|
13
|
+
### Init
|
|
14
|
+
|
|
15
|
+
```typescript
|
|
16
|
+
import { init } from '@moonbeam-network/xcm-sdk';
|
|
17
|
+
|
|
18
|
+
const { moonbeam } = init();
|
|
19
|
+
|
|
20
|
+
// Optionally you can provide signers or do it on get()
|
|
21
|
+
const { moonbeam } = init({
|
|
22
|
+
ethersSigner,
|
|
23
|
+
polkadotSigner,
|
|
24
|
+
});
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
### Accounts
|
|
28
|
+
|
|
29
|
+
```typescript
|
|
30
|
+
const moonbeamAddress = '0xeF46c7649270C912704fB09B75097f6E32208b85';
|
|
31
|
+
const substrateAddress = '5DG5Fn3ww3KPza1RLoap6QJNzQfEvRebxypDGp35YuMX5y2K';
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
### Deposit
|
|
35
|
+
|
|
36
|
+
```typescript
|
|
37
|
+
// moonbeam.symbols is a list of asset symbols that you can deposit/withdraw
|
|
38
|
+
// chains is a list of chains from which you can deposit asset
|
|
39
|
+
const { chains, from } = moonbeam.deposit(moonbeam.symbols[0]);
|
|
40
|
+
|
|
41
|
+
const { min, send } = await from(chains[0]).get(
|
|
42
|
+
moonbeamAddress,
|
|
43
|
+
substrateAddress,
|
|
44
|
+
// if you haven't provided on init
|
|
45
|
+
{ polkadotSigner },
|
|
46
|
+
);
|
|
47
|
+
|
|
48
|
+
await send(min, (event) => console.log(event));
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### Withdraw
|
|
52
|
+
|
|
53
|
+
```typescript
|
|
54
|
+
const { chains, to } = moonbeam.withdraw(moonbeam.symbols[0]);
|
|
55
|
+
|
|
56
|
+
const { min, send } = await to(chains[0]).get(
|
|
57
|
+
substrateAddress,
|
|
58
|
+
// if you haven't provided on init
|
|
59
|
+
{ ethersSigner },
|
|
60
|
+
);
|
|
61
|
+
|
|
62
|
+
await send(min, (event) => console.log(event));
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
### Get balances
|
|
66
|
+
|
|
67
|
+
```typescript
|
|
68
|
+
const unsubscribe = await moonbeam.subscribeToAssetsBalanceInfo(
|
|
69
|
+
moonbeamAddress,
|
|
70
|
+
(balances) => {
|
|
71
|
+
balances.forEach(({ asset, balance, origin }) => {
|
|
72
|
+
// xcDOT: 0.073742 (Polkadot DOT)
|
|
73
|
+
// ...
|
|
74
|
+
console.log(
|
|
75
|
+
`${balance.symbol}: ${toDecimal(balance.balance, balance.decimals)} (${
|
|
76
|
+
origin.name
|
|
77
|
+
} ${asset.originSymbol})`,
|
|
78
|
+
);
|
|
79
|
+
});
|
|
80
|
+
},
|
|
81
|
+
);
|
|
82
|
+
|
|
83
|
+
unsubscribe();
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
## Examples
|
|
87
|
+
|
|
88
|
+
- [simple](https://github.com/PureStake/xcm-sdk/blob/main/packages/sdk/examples/simple)
|
|
89
|
+
|
|
90
|
+
```bash
|
|
91
|
+
git clone git@github.com:PureStake/xcm-sdk.git
|
|
92
|
+
cd packages/sdk/examples/simple/
|
|
93
|
+
npm i
|
|
94
|
+
|
|
95
|
+
// edit index.ts by adding your accounts
|
|
96
|
+
|
|
97
|
+
npm start
|
|
98
|
+
```
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "simple",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "",
|
|
5
|
+
"main": "src/index.js",
|
|
6
|
+
"scripts": {
|
|
7
|
+
"start": "ts-node index.ts"
|
|
8
|
+
},
|
|
9
|
+
"keywords": [],
|
|
10
|
+
"author": "",
|
|
11
|
+
"license": "ISC",
|
|
12
|
+
"dependencies": {
|
|
13
|
+
"@moonbeam-network/xcm-config": "^0.0.19",
|
|
14
|
+
"@moonbeam-network/xcm-sdk": "^0.0.19",
|
|
15
|
+
"@polkadot/api": "^9.3.2",
|
|
16
|
+
"ethers": "^5.7.0"
|
|
17
|
+
},
|
|
18
|
+
"devDependencies": {
|
|
19
|
+
"ts-node": "^10.9.1"
|
|
20
|
+
}
|
|
21
|
+
}
|
|
@@ -99,17 +99,14 @@ class PolkadotService {
|
|
|
99
99
|
const { origin } = from(chain.key);
|
|
100
100
|
return {
|
|
101
101
|
asset,
|
|
102
|
-
balance:
|
|
103
|
-
|
|
102
|
+
balance: {
|
|
103
|
+
balance: balance.balance.toBigInt(),
|
|
104
104
|
decimals: asset.isNative
|
|
105
105
|
? origin.decimals
|
|
106
106
|
: meta.decimals.toNumber(),
|
|
107
107
|
symbol: asset.isNative
|
|
108
108
|
? asset.originSymbol
|
|
109
109
|
: meta.symbol.toHuman()?.toString() || '',
|
|
110
|
-
originSymbol: asset.isNative
|
|
111
|
-
? asset.originSymbol
|
|
112
|
-
: meta.name.toHuman()?.toString(),
|
|
113
110
|
},
|
|
114
111
|
origin,
|
|
115
112
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PolkadotService.js","sourceRoot":"","sources":["../../../../src/polkadot/PolkadotService.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"PolkadotService.js","sourceRoot":"","sources":["../../../../src/polkadot/PolkadotService.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,7 @@
|
|
|
1
1
|
import { Asset, AssetSymbol, Chain, ChainKey, MoonChain } from '@moonbeam-network/xcm-config';
|
|
2
|
-
|
|
3
|
-
decimals: number;
|
|
4
|
-
symbol: string;
|
|
5
|
-
originSymbol?: Symbols;
|
|
6
|
-
}
|
|
2
|
+
import { Balance } from '../sdk';
|
|
7
3
|
export interface AssetBalanceInfo<Symbols extends AssetSymbol = AssetSymbol, ChainKeys extends ChainKey = ChainKey> {
|
|
8
4
|
asset: Asset<Symbols>;
|
|
9
|
-
balance:
|
|
10
|
-
meta: AssetMetadata<Symbols>;
|
|
5
|
+
balance: Balance<string>;
|
|
11
6
|
origin: Chain<ChainKeys> | MoonChain;
|
|
12
7
|
}
|
|
@@ -14,10 +14,11 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.isXcmSdkWithdraw = exports.isXcmSdkDeposit = void 0;
|
|
17
|
+
exports.toDecimal = exports.isXcmSdkWithdraw = exports.isXcmSdkDeposit = void 0;
|
|
18
18
|
__exportStar(require("./sdk"), exports);
|
|
19
19
|
__exportStar(require("./sdk.interfaces"), exports);
|
|
20
20
|
var sdk_utils_1 = require("./sdk.utils");
|
|
21
21
|
Object.defineProperty(exports, "isXcmSdkDeposit", { enumerable: true, get: function () { return sdk_utils_1.isXcmSdkDeposit; } });
|
|
22
22
|
Object.defineProperty(exports, "isXcmSdkWithdraw", { enumerable: true, get: function () { return sdk_utils_1.isXcmSdkWithdraw; } });
|
|
23
|
+
Object.defineProperty(exports, "toDecimal", { enumerable: true, get: function () { return sdk_utils_1.toDecimal; } });
|
|
23
24
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/sdk/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,wCAAsB;AACtB,mDAAiC;AACjC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/sdk/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,wCAAsB;AACtB,mDAAiC;AACjC,yCAA2E;AAAlE,4GAAA,eAAe,OAAA;AAAE,6GAAA,gBAAgB,OAAA;AAAE,sGAAA,SAAS,OAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Asset, AssetSymbol, Chain, ChainKey, DepositConfig, MoonChain } from '@moonbeam-network/xcm-config';
|
|
2
2
|
import { Signer as PolkadotSigner } from '@polkadot/api/types';
|
|
3
|
-
import { ISubmittableResult } from '@polkadot/types/types';
|
|
3
|
+
import { IKeyringPair, ISubmittableResult } from '@polkadot/types/types';
|
|
4
4
|
import { PolkadotService } from '../polkadot';
|
|
5
5
|
import { DepositTransferData, ExtrinsicEventsCallback } from './sdk.interfaces';
|
|
6
6
|
export declare function createExtrinsicEventHandler<Symbols extends AssetSymbol>(config: DepositConfig<Symbols>, cb: ExtrinsicEventsCallback): ({ events, status, txHash }: ISubmittableResult) => void;
|
|
@@ -22,9 +22,9 @@ export interface GetDepositDataParams<Symbols extends AssetSymbol, ChainKeys ext
|
|
|
22
22
|
nativeAsset: Asset<Symbols>;
|
|
23
23
|
origin: MoonChain | Chain<ChainKeys>;
|
|
24
24
|
polkadot: PolkadotService<Symbols, ChainKeys>;
|
|
25
|
-
polkadotSigner
|
|
25
|
+
polkadotSigner?: PolkadotSigner;
|
|
26
26
|
primaryAccount?: string;
|
|
27
|
-
sourceAccount: string;
|
|
27
|
+
sourceAccount: string | IKeyringPair;
|
|
28
28
|
}
|
|
29
29
|
export declare function getDepositData<Symbols extends AssetSymbol, ChainKeys extends ChainKey>({ account, asset, config, foreignPolkadot, moonChain, nativeAsset, origin, polkadot, polkadotSigner, primaryAccount, sourceAccount, }: GetDepositDataParams<Symbols, ChainKeys>): Promise<DepositTransferData<Symbols>>;
|
|
30
30
|
export interface GetMinParams<Symbols extends AssetSymbol, ChainKeys extends ChainKey> {
|
|
@@ -57,6 +57,7 @@ function getCreateExtrinsic({ account, config, foreignPolkadot, nativeAsset, pol
|
|
|
57
57
|
}
|
|
58
58
|
exports.getCreateExtrinsic = getCreateExtrinsic;
|
|
59
59
|
async function getDepositData({ account, asset, config, foreignPolkadot, moonChain, nativeAsset, origin, polkadot, polkadotSigner, primaryAccount, sourceAccount, }) {
|
|
60
|
+
const sourceAddress = typeof sourceAccount === 'string' ? sourceAccount : sourceAccount.address;
|
|
60
61
|
const meta = foreignPolkadot.getMetadata();
|
|
61
62
|
const createExtrinsic = getCreateExtrinsic({
|
|
62
63
|
account,
|
|
@@ -68,10 +69,10 @@ async function getDepositData({ account, asset, config, foreignPolkadot, moonCha
|
|
|
68
69
|
});
|
|
69
70
|
const [decimals, sourceBalance, existentialDeposit, sourceFeeBalance, moonChainFee, sourceMinBalance = 0n, min,] = await Promise.all([
|
|
70
71
|
polkadot.getAssetDecimals(asset.id),
|
|
71
|
-
foreignPolkadot.getGenericBalance(primaryAccount ||
|
|
72
|
+
foreignPolkadot.getGenericBalance(primaryAccount || sourceAddress, config.balance),
|
|
72
73
|
foreignPolkadot.getExistentialDeposit(),
|
|
73
74
|
config.sourceFeeBalance
|
|
74
|
-
? foreignPolkadot.getGenericBalance(
|
|
75
|
+
? foreignPolkadot.getGenericBalance(sourceAddress, config.sourceFeeBalance)
|
|
75
76
|
: undefined,
|
|
76
77
|
config.isNativeAssetPayingMoonFee
|
|
77
78
|
? polkadot.getAssetFee(nativeAsset.id, config.origin.weight)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk.deposit.js","sourceRoot":"","sources":["../../../../src/sdk/sdk.deposit.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"sdk.deposit.js","sourceRoot":"","sources":["../../../../src/sdk/sdk.deposit.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { Asset, AssetSymbol, Chain, ChainKey, MoonbaseAssets, MoonbaseChains, MoonbeamAssets, MoonbeamChains, MoonChain, MoonriverAssets, MoonriverChains } from '@moonbeam-network/xcm-config';
|
|
1
|
+
import { Asset, AssetsMap, AssetSymbol, Chain, ChainKey, MoonbaseAssets, MoonbaseChains, MoonbeamAssets, MoonbeamChains, MoonChain, MoonriverAssets, MoonriverChains } from '@moonbeam-network/xcm-config';
|
|
2
2
|
import { Signer as PolkadotSigner, UnsubscribePromise } from '@polkadot/api/types';
|
|
3
|
+
import { IKeyringPair } from '@polkadot/types/types';
|
|
3
4
|
import { Signer as EthersSigner } from 'ethers';
|
|
4
5
|
import { AssetBalanceInfo } from '../polkadot';
|
|
5
6
|
export declare type Hash = string;
|
|
@@ -13,6 +14,8 @@ export declare type MoonbaseXcmSdk = XcmSdk<MoonbaseAssets, MoonbaseChains>;
|
|
|
13
14
|
export declare type MoonbeamXcmSdk = XcmSdk<MoonbeamAssets, MoonbeamChains>;
|
|
14
15
|
export declare type MoonriverXcmSdk = XcmSdk<MoonriverAssets, MoonriverChains>;
|
|
15
16
|
export interface XcmSdk<Symbols extends AssetSymbol = AssetSymbol, ChainKeys extends ChainKey = ChainKey> {
|
|
17
|
+
symbols: Symbols[];
|
|
18
|
+
assets: AssetsMap<Symbols>;
|
|
16
19
|
moonAsset: Asset<Symbols>;
|
|
17
20
|
moonChain: MoonChain;
|
|
18
21
|
subscribeToAssetsBalanceInfo: (account: string, cb: (data: AssetBalanceInfo<Symbols>[]) => void) => UnsubscribePromise;
|
|
@@ -28,7 +31,7 @@ export interface XcmSdkWithdraw<Symbols extends AssetSymbol = AssetSymbol, Chain
|
|
|
28
31
|
to: (chain: ChainKeys) => XcmSdkWithdrawTo<Symbols>;
|
|
29
32
|
}
|
|
30
33
|
export interface XcmSdkDepositFrom<Symbols extends AssetSymbol = AssetSymbol> {
|
|
31
|
-
get: (account: string, sourceAccount: string, params?: DepositGetParams) => Promise<DepositTransferData<Symbols>>;
|
|
34
|
+
get: (account: string, sourceAccount: string | IKeyringPair, params?: DepositGetParams) => Promise<DepositTransferData<Symbols>>;
|
|
32
35
|
}
|
|
33
36
|
export interface DepositGetParams {
|
|
34
37
|
polkadotSigner?: PolkadotSigner;
|
|
@@ -41,36 +44,36 @@ export interface WithdrawGetParams {
|
|
|
41
44
|
ethersSigner?: EthersSigner;
|
|
42
45
|
}
|
|
43
46
|
export interface DepositTransferData<Symbols extends AssetSymbol = AssetSymbol, ChainKeys extends ChainKey = ChainKey> {
|
|
44
|
-
asset:
|
|
47
|
+
asset: AssetWithDecimals<Symbols>;
|
|
45
48
|
existentialDeposit: bigint;
|
|
46
49
|
min: bigint;
|
|
47
50
|
moonChainFee?: bigint;
|
|
48
|
-
native:
|
|
51
|
+
native: AssetWithDecimals<Symbols>;
|
|
49
52
|
origin: MoonChain | Chain<ChainKeys>;
|
|
50
53
|
source: Chain<ChainKeys>;
|
|
51
54
|
sourceBalance: bigint;
|
|
52
|
-
sourceFeeBalance?:
|
|
55
|
+
sourceFeeBalance?: Balance<Symbols>;
|
|
53
56
|
sourceMinBalance: bigint;
|
|
54
57
|
getFee: (amount?: bigint) => Promise<bigint>;
|
|
55
58
|
send: (amount: bigint, cb?: ExtrinsicEventsCallback) => Promise<Hash>;
|
|
56
59
|
}
|
|
57
60
|
export interface WithdrawTransferData<Symbols extends AssetSymbol = AssetSymbol, ChainKeys extends ChainKey = ChainKey> {
|
|
58
|
-
asset:
|
|
61
|
+
asset: AssetWithDecimals<Symbols>;
|
|
59
62
|
destination: Chain<ChainKeys>;
|
|
60
63
|
destinationBalance: bigint;
|
|
61
64
|
destinationFee: bigint;
|
|
62
65
|
existentialDeposit: bigint;
|
|
63
66
|
min: bigint;
|
|
64
|
-
native:
|
|
67
|
+
native: AssetWithDecimals<Symbols>;
|
|
65
68
|
origin: MoonChain | Chain<ChainKeys>;
|
|
66
69
|
getFee: (amount: bigint) => Promise<bigint>;
|
|
67
70
|
send: (amount: bigint, cb?: ExtrinsicEventsCallback) => Promise<Hash>;
|
|
68
71
|
}
|
|
69
72
|
export declare type ExtrinsicEventsCallback = (event: ExtrinsicEvent) => void;
|
|
70
|
-
export interface
|
|
73
|
+
export interface AssetWithDecimals<Symbols extends AssetSymbol = AssetSymbol> extends Asset<Symbols> {
|
|
71
74
|
decimals: number;
|
|
72
75
|
}
|
|
73
|
-
export interface
|
|
76
|
+
export interface Balance<Symbols extends string | AssetSymbol = AssetSymbol> {
|
|
74
77
|
balance: bigint;
|
|
75
78
|
decimals: number;
|
|
76
79
|
symbol: Symbols;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk.interfaces.js","sourceRoot":"","sources":["../../../../src/sdk/sdk.interfaces.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"sdk.interfaces.js","sourceRoot":"","sources":["../../../../src/sdk/sdk.interfaces.ts"],"names":[],"mappings":";;;AAuKA,IAAY,eAIX;AAJD,WAAY,eAAe;IACzB,oCAAiB,CAAA;IACjB,gCAAa,CAAA;IACb,sCAAmB,CAAA;AACrB,CAAC,EAJW,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAI1B"}
|
package/build/cjs/src/sdk/sdk.js
CHANGED
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.init = void 0;
|
|
4
4
|
/* eslint-disable @typescript-eslint/no-use-before-define */
|
|
5
5
|
const xcm_config_1 = require("@moonbeam-network/xcm-config");
|
|
6
|
+
const lodash_1 = require("lodash");
|
|
6
7
|
const contracts_1 = require("../contracts");
|
|
7
8
|
const polkadot_1 = require("../polkadot");
|
|
8
9
|
const sdk_deposit_1 = require("./sdk.deposit");
|
|
@@ -17,8 +18,10 @@ function init(options) {
|
|
|
17
18
|
}
|
|
18
19
|
exports.init = init;
|
|
19
20
|
function initByChain(configBuilder, options) {
|
|
20
|
-
const { moonAsset, moonChain } = configBuilder;
|
|
21
|
+
const { symbols, assets, moonAsset, moonChain } = configBuilder;
|
|
21
22
|
return {
|
|
23
|
+
symbols,
|
|
24
|
+
assets,
|
|
22
25
|
moonAsset,
|
|
23
26
|
moonChain,
|
|
24
27
|
subscribeToAssetsBalanceInfo: async (account, cb) => {
|
|
@@ -41,8 +44,8 @@ function initByChain(configBuilder, options) {
|
|
|
41
44
|
return {
|
|
42
45
|
get: async (account, sourceAccount, { primaryAccount, polkadotSigner } = {}) => {
|
|
43
46
|
const signer = polkadotSigner || options?.polkadotSigner;
|
|
44
|
-
if (!signer) {
|
|
45
|
-
throw new Error('Polkadot
|
|
47
|
+
if ((0, lodash_1.isString)(sourceAccount) && !signer) {
|
|
48
|
+
throw new Error('Polkadot Signer/KeyringPair are not provided to XCM-SDK');
|
|
46
49
|
}
|
|
47
50
|
const [polkadot, foreignPolkadot] = await (0, polkadot_1.createPolkadotServices)([configBuilder.moonChain.ws, config.origin.ws]);
|
|
48
51
|
const meta = foreignPolkadot.getMetadata();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk.js","sourceRoot":"","sources":["../../../../src/sdk/sdk.ts"],"names":[],"mappings":";;;AAAA,4DAA4D;AAC5D,6DAasC;
|
|
1
|
+
{"version":3,"file":"sdk.js","sourceRoot":"","sources":["../../../../src/sdk/sdk.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ import { AssetBalanceInfo, PolkadotService } from '../polkadot';
|
|
|
4
4
|
import { XcmSdkDeposit, XcmSdkWithdraw } from './sdk.interfaces';
|
|
5
5
|
export declare function isXcmSdkDeposit(config: XcmSdkDeposit | XcmSdkWithdraw): config is XcmSdkDeposit;
|
|
6
6
|
export declare function isXcmSdkWithdraw(config: XcmSdkDeposit | XcmSdkWithdraw): config is XcmSdkWithdraw;
|
|
7
|
+
export declare function toDecimal(number: bigint, decimals: number, maxDecimal?: number): number;
|
|
7
8
|
export declare function sortByBalanceAndChainName<Symbols extends AssetSymbol>(a: AssetBalanceInfo<Symbols>, b: AssetBalanceInfo<Symbols>): number;
|
|
8
9
|
export interface SubscribeToAssetsBalanceInfoParams<Symbols extends AssetSymbol, ChainKeys extends ChainKey> {
|
|
9
10
|
account: string;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.subscribeToAssetsBalanceInfo = exports.sortByBalanceAndChainName = exports.isXcmSdkWithdraw = exports.isXcmSdkDeposit = void 0;
|
|
3
|
+
exports.subscribeToAssetsBalanceInfo = exports.sortByBalanceAndChainName = exports.toDecimal = exports.isXcmSdkWithdraw = exports.isXcmSdkDeposit = void 0;
|
|
4
4
|
function isXcmSdkDeposit(config) {
|
|
5
5
|
return !!config.from;
|
|
6
6
|
}
|
|
@@ -9,6 +9,13 @@ function isXcmSdkWithdraw(config) {
|
|
|
9
9
|
return !!config.to;
|
|
10
10
|
}
|
|
11
11
|
exports.isXcmSdkWithdraw = isXcmSdkWithdraw;
|
|
12
|
+
function toDecimal(number, decimals, maxDecimal = 6) {
|
|
13
|
+
const decimalMultiplier = 10 ** maxDecimal;
|
|
14
|
+
const dividend = number * BigInt(decimalMultiplier);
|
|
15
|
+
const divisor = 10n ** BigInt(decimals);
|
|
16
|
+
return Number(dividend / divisor) / decimalMultiplier;
|
|
17
|
+
}
|
|
18
|
+
exports.toDecimal = toDecimal;
|
|
12
19
|
function sortByBalanceAndChainName(a, b) {
|
|
13
20
|
if (a.asset.isNative) {
|
|
14
21
|
return -1;
|
|
@@ -16,10 +23,10 @@ function sortByBalanceAndChainName(a, b) {
|
|
|
16
23
|
if (b.asset.isNative) {
|
|
17
24
|
return 1;
|
|
18
25
|
}
|
|
19
|
-
const
|
|
20
|
-
const
|
|
21
|
-
if (
|
|
22
|
-
return
|
|
26
|
+
const aDecimal = toDecimal(a.balance.balance, a.balance.decimals);
|
|
27
|
+
const bDecimal = toDecimal(b.balance.balance, b.balance.decimals);
|
|
28
|
+
if (aDecimal || bDecimal) {
|
|
29
|
+
return bDecimal - aDecimal;
|
|
23
30
|
}
|
|
24
31
|
const aName = (a.origin.name + a.asset.originSymbol).toLowerCase();
|
|
25
32
|
const bName = (b.origin.name + b.asset.originSymbol).toLowerCase();
|
|
@@ -42,12 +49,14 @@ async function subscribeToAssetsBalanceInfo({ account, polkadot, configBuilder,
|
|
|
42
49
|
.map((info) => {
|
|
43
50
|
if (info.asset.isNative) {
|
|
44
51
|
// eslint-disable-next-line no-param-reassign
|
|
45
|
-
info.balance = lastBalance;
|
|
52
|
+
info.balance.balance = lastBalance;
|
|
46
53
|
}
|
|
47
54
|
return info;
|
|
48
55
|
})
|
|
49
56
|
.sort(sortByBalanceAndChainName);
|
|
50
|
-
|
|
57
|
+
if (lastInfo.length) {
|
|
58
|
+
cb(lastInfo);
|
|
59
|
+
}
|
|
51
60
|
};
|
|
52
61
|
const unsubscribeBalance = await polkadot.subscribeToBalance(account, handler);
|
|
53
62
|
const unsubscribeInfo = await polkadot.subscribeToAssetsBalanceInfo(account, configBuilder, handler);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk.utils.js","sourceRoot":"","sources":["../../../../src/sdk/sdk.utils.ts"],"names":[],"mappings":";;;AASA,SAAgB,eAAe,CAC7B,MAAsC;IAEtC,OAAO,CAAC,CAAE,MAAwB,CAAC,IAAI,CAAC;AAC1C,CAAC;AAJD,0CAIC;AAED,SAAgB,gBAAgB,CAC9B,MAAsC;IAEtC,OAAO,CAAC,CAAE,MAAyB,CAAC,EAAE,CAAC;AACzC,CAAC;AAJD,4CAIC;AAED,SAAgB,yBAAyB,CACvC,CAA4B,EAC5B,CAA4B;IAE5B,IAAI,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE;QACpB,OAAO,CAAC,CAAC,CAAC;KACX;IAED,IAAI,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE;QACpB,OAAO,CAAC,CAAC;KACV;IAED,MAAM,QAAQ,
|
|
1
|
+
{"version":3,"file":"sdk.utils.js","sourceRoot":"","sources":["../../../../src/sdk/sdk.utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,3 +17,5 @@ export interface GetWithdrawDataParams<Symbols extends AssetSymbol, ChainKeys ex
|
|
|
17
17
|
polkadot: PolkadotService<Symbols, ChainKeys>;
|
|
18
18
|
}
|
|
19
19
|
export declare function getWithdrawData<Symbols extends AssetSymbol, ChainKeys extends ChainKey>({ asset, config, contract, destinationAccount, destinationPolkadot, ethersSigner, moonChain, nativeAsset, origin, polkadot, }: GetWithdrawDataParams<Symbols, ChainKeys>): Promise<WithdrawTransferData<Symbols>>;
|
|
20
|
+
export declare function getFee<Symbols extends AssetSymbol>(assetMinBalance: bigint, config: WithdrawConfig<Symbols>): bigint;
|
|
21
|
+
export declare function getMin(balanceNeeded: bigint, destinationBalance: bigint, destinationFee: bigint): bigint;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getWithdrawData = exports.createTransactionEventHandler = void 0;
|
|
3
|
+
exports.getMin = exports.getFee = exports.getWithdrawData = exports.createTransactionEventHandler = void 0;
|
|
4
4
|
const sdk_interfaces_1 = require("./sdk.interfaces");
|
|
5
5
|
async function createTransactionEventHandler(ethersSigner, txHash, cb, skipSentEvent = false) {
|
|
6
6
|
if (!ethersSigner.provider) {
|
|
@@ -32,13 +32,16 @@ async function createTransactionEventHandler(ethersSigner, txHash, cb, skipSentE
|
|
|
32
32
|
exports.createTransactionEventHandler = createTransactionEventHandler;
|
|
33
33
|
async function getWithdrawData({ asset, config, contract, destinationAccount, destinationPolkadot, ethersSigner, moonChain, nativeAsset, origin, polkadot, }) {
|
|
34
34
|
const meta = destinationPolkadot.getMetadata();
|
|
35
|
-
const [decimals, destinationBalance, existentialDeposit] = await Promise.all([
|
|
35
|
+
const [decimals, destinationBalance, existentialDeposit, assetMinBalance] = await Promise.all([
|
|
36
36
|
asset.isNative ? moonChain.decimals : polkadot.getAssetDecimals(asset.id),
|
|
37
37
|
destinationPolkadot.getGenericBalance(destinationAccount, config.balance),
|
|
38
38
|
destinationPolkadot.getExistentialDeposit(),
|
|
39
|
+
config.sourceMinBalance
|
|
40
|
+
? destinationPolkadot.getAssetMinBalance(config.sourceMinBalance)
|
|
41
|
+
: 0n,
|
|
39
42
|
]);
|
|
40
|
-
const destinationFee =
|
|
41
|
-
const min =
|
|
43
|
+
const destinationFee = getFee(assetMinBalance, config);
|
|
44
|
+
const min = getMin(assetMinBalance || existentialDeposit, destinationBalance, destinationFee);
|
|
42
45
|
return {
|
|
43
46
|
asset: { ...asset, decimals },
|
|
44
47
|
destination: config.destination,
|
|
@@ -59,4 +62,16 @@ async function getWithdrawData({ asset, config, contract, destinationAccount, de
|
|
|
59
62
|
};
|
|
60
63
|
}
|
|
61
64
|
exports.getWithdrawData = getWithdrawData;
|
|
65
|
+
function getFee(assetMinBalance, config) {
|
|
66
|
+
const calculatedFee = BigInt(config.weight * config.feePerWeight);
|
|
67
|
+
return assetMinBalance > calculatedFee ? assetMinBalance : calculatedFee;
|
|
68
|
+
}
|
|
69
|
+
exports.getFee = getFee;
|
|
70
|
+
function getMin(balanceNeeded, destinationBalance, destinationFee) {
|
|
71
|
+
const extra = destinationBalance >= balanceNeeded
|
|
72
|
+
? 0n
|
|
73
|
+
: balanceNeeded - destinationBalance;
|
|
74
|
+
return destinationFee + extra;
|
|
75
|
+
}
|
|
76
|
+
exports.getMin = getMin;
|
|
62
77
|
//# sourceMappingURL=sdk.withdraw.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk.withdraw.js","sourceRoot":"","sources":["../../../../src/sdk/sdk.withdraw.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"sdk.withdraw.js","sourceRoot":"","sources":["../../../../src/sdk/sdk.withdraw.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "simple",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "",
|
|
5
|
+
"main": "src/index.js",
|
|
6
|
+
"scripts": {
|
|
7
|
+
"start": "ts-node index.ts"
|
|
8
|
+
},
|
|
9
|
+
"keywords": [],
|
|
10
|
+
"author": "",
|
|
11
|
+
"license": "ISC",
|
|
12
|
+
"dependencies": {
|
|
13
|
+
"@moonbeam-network/xcm-config": "^0.0.19",
|
|
14
|
+
"@moonbeam-network/xcm-sdk": "^0.0.19",
|
|
15
|
+
"@polkadot/api": "^9.3.2",
|
|
16
|
+
"ethers": "^5.7.0"
|
|
17
|
+
},
|
|
18
|
+
"devDependencies": {
|
|
19
|
+
"ts-node": "^10.9.1"
|
|
20
|
+
}
|
|
21
|
+
}
|
|
@@ -99,17 +99,14 @@ class PolkadotService {
|
|
|
99
99
|
const { origin } = from(chain.key);
|
|
100
100
|
return {
|
|
101
101
|
asset,
|
|
102
|
-
balance:
|
|
103
|
-
|
|
102
|
+
balance: {
|
|
103
|
+
balance: balance.balance.toBigInt(),
|
|
104
104
|
decimals: asset.isNative
|
|
105
105
|
? origin.decimals
|
|
106
106
|
: meta.decimals.toNumber(),
|
|
107
107
|
symbol: asset.isNative
|
|
108
108
|
? asset.originSymbol
|
|
109
109
|
: meta.symbol.toHuman()?.toString() || '',
|
|
110
|
-
originSymbol: asset.isNative
|
|
111
|
-
? asset.originSymbol
|
|
112
|
-
: meta.name.toHuman()?.toString(),
|
|
113
110
|
},
|
|
114
111
|
origin,
|
|
115
112
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PolkadotService.js","sourceRoot":"","sources":["../../../../src/polkadot/PolkadotService.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"PolkadotService.js","sourceRoot":"","sources":["../../../../src/polkadot/PolkadotService.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,7 @@
|
|
|
1
1
|
import { Asset, AssetSymbol, Chain, ChainKey, MoonChain } from '@moonbeam-network/xcm-config';
|
|
2
|
-
|
|
3
|
-
decimals: number;
|
|
4
|
-
symbol: string;
|
|
5
|
-
originSymbol?: Symbols;
|
|
6
|
-
}
|
|
2
|
+
import { Balance } from '../sdk';
|
|
7
3
|
export interface AssetBalanceInfo<Symbols extends AssetSymbol = AssetSymbol, ChainKeys extends ChainKey = ChainKey> {
|
|
8
4
|
asset: Asset<Symbols>;
|
|
9
|
-
balance:
|
|
10
|
-
meta: AssetMetadata<Symbols>;
|
|
5
|
+
balance: Balance<string>;
|
|
11
6
|
origin: Chain<ChainKeys> | MoonChain;
|
|
12
7
|
}
|
|
@@ -14,10 +14,11 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.isXcmSdkWithdraw = exports.isXcmSdkDeposit = void 0;
|
|
17
|
+
exports.toDecimal = exports.isXcmSdkWithdraw = exports.isXcmSdkDeposit = void 0;
|
|
18
18
|
__exportStar(require("./sdk"), exports);
|
|
19
19
|
__exportStar(require("./sdk.interfaces"), exports);
|
|
20
20
|
var sdk_utils_1 = require("./sdk.utils");
|
|
21
21
|
Object.defineProperty(exports, "isXcmSdkDeposit", { enumerable: true, get: function () { return sdk_utils_1.isXcmSdkDeposit; } });
|
|
22
22
|
Object.defineProperty(exports, "isXcmSdkWithdraw", { enumerable: true, get: function () { return sdk_utils_1.isXcmSdkWithdraw; } });
|
|
23
|
+
Object.defineProperty(exports, "toDecimal", { enumerable: true, get: function () { return sdk_utils_1.toDecimal; } });
|
|
23
24
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/sdk/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,wCAAsB;AACtB,mDAAiC;AACjC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/sdk/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,wCAAsB;AACtB,mDAAiC;AACjC,yCAA2E;AAAlE,4GAAA,eAAe,OAAA;AAAE,6GAAA,gBAAgB,OAAA;AAAE,sGAAA,SAAS,OAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Asset, AssetSymbol, Chain, ChainKey, DepositConfig, MoonChain } from '@moonbeam-network/xcm-config';
|
|
2
2
|
import { Signer as PolkadotSigner } from '@polkadot/api/types';
|
|
3
|
-
import { ISubmittableResult } from '@polkadot/types/types';
|
|
3
|
+
import { IKeyringPair, ISubmittableResult } from '@polkadot/types/types';
|
|
4
4
|
import { PolkadotService } from '../polkadot';
|
|
5
5
|
import { DepositTransferData, ExtrinsicEventsCallback } from './sdk.interfaces';
|
|
6
6
|
export declare function createExtrinsicEventHandler<Symbols extends AssetSymbol>(config: DepositConfig<Symbols>, cb: ExtrinsicEventsCallback): ({ events, status, txHash }: ISubmittableResult) => void;
|
|
@@ -22,9 +22,9 @@ export interface GetDepositDataParams<Symbols extends AssetSymbol, ChainKeys ext
|
|
|
22
22
|
nativeAsset: Asset<Symbols>;
|
|
23
23
|
origin: MoonChain | Chain<ChainKeys>;
|
|
24
24
|
polkadot: PolkadotService<Symbols, ChainKeys>;
|
|
25
|
-
polkadotSigner
|
|
25
|
+
polkadotSigner?: PolkadotSigner;
|
|
26
26
|
primaryAccount?: string;
|
|
27
|
-
sourceAccount: string;
|
|
27
|
+
sourceAccount: string | IKeyringPair;
|
|
28
28
|
}
|
|
29
29
|
export declare function getDepositData<Symbols extends AssetSymbol, ChainKeys extends ChainKey>({ account, asset, config, foreignPolkadot, moonChain, nativeAsset, origin, polkadot, polkadotSigner, primaryAccount, sourceAccount, }: GetDepositDataParams<Symbols, ChainKeys>): Promise<DepositTransferData<Symbols>>;
|
|
30
30
|
export interface GetMinParams<Symbols extends AssetSymbol, ChainKeys extends ChainKey> {
|
|
@@ -57,6 +57,7 @@ function getCreateExtrinsic({ account, config, foreignPolkadot, nativeAsset, pol
|
|
|
57
57
|
}
|
|
58
58
|
exports.getCreateExtrinsic = getCreateExtrinsic;
|
|
59
59
|
async function getDepositData({ account, asset, config, foreignPolkadot, moonChain, nativeAsset, origin, polkadot, polkadotSigner, primaryAccount, sourceAccount, }) {
|
|
60
|
+
const sourceAddress = typeof sourceAccount === 'string' ? sourceAccount : sourceAccount.address;
|
|
60
61
|
const meta = foreignPolkadot.getMetadata();
|
|
61
62
|
const createExtrinsic = getCreateExtrinsic({
|
|
62
63
|
account,
|
|
@@ -68,10 +69,10 @@ async function getDepositData({ account, asset, config, foreignPolkadot, moonCha
|
|
|
68
69
|
});
|
|
69
70
|
const [decimals, sourceBalance, existentialDeposit, sourceFeeBalance, moonChainFee, sourceMinBalance = 0n, min,] = await Promise.all([
|
|
70
71
|
polkadot.getAssetDecimals(asset.id),
|
|
71
|
-
foreignPolkadot.getGenericBalance(primaryAccount ||
|
|
72
|
+
foreignPolkadot.getGenericBalance(primaryAccount || sourceAddress, config.balance),
|
|
72
73
|
foreignPolkadot.getExistentialDeposit(),
|
|
73
74
|
config.sourceFeeBalance
|
|
74
|
-
? foreignPolkadot.getGenericBalance(
|
|
75
|
+
? foreignPolkadot.getGenericBalance(sourceAddress, config.sourceFeeBalance)
|
|
75
76
|
: undefined,
|
|
76
77
|
config.isNativeAssetPayingMoonFee
|
|
77
78
|
? polkadot.getAssetFee(nativeAsset.id, config.origin.weight)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk.deposit.js","sourceRoot":"","sources":["../../../../src/sdk/sdk.deposit.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"sdk.deposit.js","sourceRoot":"","sources":["../../../../src/sdk/sdk.deposit.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { Asset, AssetSymbol, Chain, ChainKey, MoonbaseAssets, MoonbaseChains, MoonbeamAssets, MoonbeamChains, MoonChain, MoonriverAssets, MoonriverChains } from '@moonbeam-network/xcm-config';
|
|
1
|
+
import { Asset, AssetsMap, AssetSymbol, Chain, ChainKey, MoonbaseAssets, MoonbaseChains, MoonbeamAssets, MoonbeamChains, MoonChain, MoonriverAssets, MoonriverChains } from '@moonbeam-network/xcm-config';
|
|
2
2
|
import { Signer as PolkadotSigner, UnsubscribePromise } from '@polkadot/api/types';
|
|
3
|
+
import { IKeyringPair } from '@polkadot/types/types';
|
|
3
4
|
import { Signer as EthersSigner } from 'ethers';
|
|
4
5
|
import { AssetBalanceInfo } from '../polkadot';
|
|
5
6
|
export declare type Hash = string;
|
|
@@ -13,6 +14,8 @@ export declare type MoonbaseXcmSdk = XcmSdk<MoonbaseAssets, MoonbaseChains>;
|
|
|
13
14
|
export declare type MoonbeamXcmSdk = XcmSdk<MoonbeamAssets, MoonbeamChains>;
|
|
14
15
|
export declare type MoonriverXcmSdk = XcmSdk<MoonriverAssets, MoonriverChains>;
|
|
15
16
|
export interface XcmSdk<Symbols extends AssetSymbol = AssetSymbol, ChainKeys extends ChainKey = ChainKey> {
|
|
17
|
+
symbols: Symbols[];
|
|
18
|
+
assets: AssetsMap<Symbols>;
|
|
16
19
|
moonAsset: Asset<Symbols>;
|
|
17
20
|
moonChain: MoonChain;
|
|
18
21
|
subscribeToAssetsBalanceInfo: (account: string, cb: (data: AssetBalanceInfo<Symbols>[]) => void) => UnsubscribePromise;
|
|
@@ -28,7 +31,7 @@ export interface XcmSdkWithdraw<Symbols extends AssetSymbol = AssetSymbol, Chain
|
|
|
28
31
|
to: (chain: ChainKeys) => XcmSdkWithdrawTo<Symbols>;
|
|
29
32
|
}
|
|
30
33
|
export interface XcmSdkDepositFrom<Symbols extends AssetSymbol = AssetSymbol> {
|
|
31
|
-
get: (account: string, sourceAccount: string, params?: DepositGetParams) => Promise<DepositTransferData<Symbols>>;
|
|
34
|
+
get: (account: string, sourceAccount: string | IKeyringPair, params?: DepositGetParams) => Promise<DepositTransferData<Symbols>>;
|
|
32
35
|
}
|
|
33
36
|
export interface DepositGetParams {
|
|
34
37
|
polkadotSigner?: PolkadotSigner;
|
|
@@ -41,36 +44,36 @@ export interface WithdrawGetParams {
|
|
|
41
44
|
ethersSigner?: EthersSigner;
|
|
42
45
|
}
|
|
43
46
|
export interface DepositTransferData<Symbols extends AssetSymbol = AssetSymbol, ChainKeys extends ChainKey = ChainKey> {
|
|
44
|
-
asset:
|
|
47
|
+
asset: AssetWithDecimals<Symbols>;
|
|
45
48
|
existentialDeposit: bigint;
|
|
46
49
|
min: bigint;
|
|
47
50
|
moonChainFee?: bigint;
|
|
48
|
-
native:
|
|
51
|
+
native: AssetWithDecimals<Symbols>;
|
|
49
52
|
origin: MoonChain | Chain<ChainKeys>;
|
|
50
53
|
source: Chain<ChainKeys>;
|
|
51
54
|
sourceBalance: bigint;
|
|
52
|
-
sourceFeeBalance?:
|
|
55
|
+
sourceFeeBalance?: Balance<Symbols>;
|
|
53
56
|
sourceMinBalance: bigint;
|
|
54
57
|
getFee: (amount?: bigint) => Promise<bigint>;
|
|
55
58
|
send: (amount: bigint, cb?: ExtrinsicEventsCallback) => Promise<Hash>;
|
|
56
59
|
}
|
|
57
60
|
export interface WithdrawTransferData<Symbols extends AssetSymbol = AssetSymbol, ChainKeys extends ChainKey = ChainKey> {
|
|
58
|
-
asset:
|
|
61
|
+
asset: AssetWithDecimals<Symbols>;
|
|
59
62
|
destination: Chain<ChainKeys>;
|
|
60
63
|
destinationBalance: bigint;
|
|
61
64
|
destinationFee: bigint;
|
|
62
65
|
existentialDeposit: bigint;
|
|
63
66
|
min: bigint;
|
|
64
|
-
native:
|
|
67
|
+
native: AssetWithDecimals<Symbols>;
|
|
65
68
|
origin: MoonChain | Chain<ChainKeys>;
|
|
66
69
|
getFee: (amount: bigint) => Promise<bigint>;
|
|
67
70
|
send: (amount: bigint, cb?: ExtrinsicEventsCallback) => Promise<Hash>;
|
|
68
71
|
}
|
|
69
72
|
export declare type ExtrinsicEventsCallback = (event: ExtrinsicEvent) => void;
|
|
70
|
-
export interface
|
|
73
|
+
export interface AssetWithDecimals<Symbols extends AssetSymbol = AssetSymbol> extends Asset<Symbols> {
|
|
71
74
|
decimals: number;
|
|
72
75
|
}
|
|
73
|
-
export interface
|
|
76
|
+
export interface Balance<Symbols extends string | AssetSymbol = AssetSymbol> {
|
|
74
77
|
balance: bigint;
|
|
75
78
|
decimals: number;
|
|
76
79
|
symbol: Symbols;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk.interfaces.js","sourceRoot":"","sources":["../../../../src/sdk/sdk.interfaces.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"sdk.interfaces.js","sourceRoot":"","sources":["../../../../src/sdk/sdk.interfaces.ts"],"names":[],"mappings":";;;AAuKA,IAAY,eAIX;AAJD,WAAY,eAAe;IACzB,oCAAiB,CAAA;IACjB,gCAAa,CAAA;IACb,sCAAmB,CAAA;AACrB,CAAC,EAJW,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAI1B"}
|
package/build/mjs/src/sdk/sdk.js
CHANGED
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.init = void 0;
|
|
4
4
|
/* eslint-disable @typescript-eslint/no-use-before-define */
|
|
5
5
|
const xcm_config_1 = require("@moonbeam-network/xcm-config");
|
|
6
|
+
const lodash_1 = require("lodash");
|
|
6
7
|
const contracts_1 = require("../contracts");
|
|
7
8
|
const polkadot_1 = require("../polkadot");
|
|
8
9
|
const sdk_deposit_1 = require("./sdk.deposit");
|
|
@@ -17,8 +18,10 @@ function init(options) {
|
|
|
17
18
|
}
|
|
18
19
|
exports.init = init;
|
|
19
20
|
function initByChain(configBuilder, options) {
|
|
20
|
-
const { moonAsset, moonChain } = configBuilder;
|
|
21
|
+
const { symbols, assets, moonAsset, moonChain } = configBuilder;
|
|
21
22
|
return {
|
|
23
|
+
symbols,
|
|
24
|
+
assets,
|
|
22
25
|
moonAsset,
|
|
23
26
|
moonChain,
|
|
24
27
|
subscribeToAssetsBalanceInfo: async (account, cb) => {
|
|
@@ -41,8 +44,8 @@ function initByChain(configBuilder, options) {
|
|
|
41
44
|
return {
|
|
42
45
|
get: async (account, sourceAccount, { primaryAccount, polkadotSigner } = {}) => {
|
|
43
46
|
const signer = polkadotSigner || options?.polkadotSigner;
|
|
44
|
-
if (!signer) {
|
|
45
|
-
throw new Error('Polkadot
|
|
47
|
+
if ((0, lodash_1.isString)(sourceAccount) && !signer) {
|
|
48
|
+
throw new Error('Polkadot Signer/KeyringPair are not provided to XCM-SDK');
|
|
46
49
|
}
|
|
47
50
|
const [polkadot, foreignPolkadot] = await (0, polkadot_1.createPolkadotServices)([configBuilder.moonChain.ws, config.origin.ws]);
|
|
48
51
|
const meta = foreignPolkadot.getMetadata();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk.js","sourceRoot":"","sources":["../../../../src/sdk/sdk.ts"],"names":[],"mappings":";;;AAAA,4DAA4D;AAC5D,6DAasC;
|
|
1
|
+
{"version":3,"file":"sdk.js","sourceRoot":"","sources":["../../../../src/sdk/sdk.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ import { AssetBalanceInfo, PolkadotService } from '../polkadot';
|
|
|
4
4
|
import { XcmSdkDeposit, XcmSdkWithdraw } from './sdk.interfaces';
|
|
5
5
|
export declare function isXcmSdkDeposit(config: XcmSdkDeposit | XcmSdkWithdraw): config is XcmSdkDeposit;
|
|
6
6
|
export declare function isXcmSdkWithdraw(config: XcmSdkDeposit | XcmSdkWithdraw): config is XcmSdkWithdraw;
|
|
7
|
+
export declare function toDecimal(number: bigint, decimals: number, maxDecimal?: number): number;
|
|
7
8
|
export declare function sortByBalanceAndChainName<Symbols extends AssetSymbol>(a: AssetBalanceInfo<Symbols>, b: AssetBalanceInfo<Symbols>): number;
|
|
8
9
|
export interface SubscribeToAssetsBalanceInfoParams<Symbols extends AssetSymbol, ChainKeys extends ChainKey> {
|
|
9
10
|
account: string;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.subscribeToAssetsBalanceInfo = exports.sortByBalanceAndChainName = exports.isXcmSdkWithdraw = exports.isXcmSdkDeposit = void 0;
|
|
3
|
+
exports.subscribeToAssetsBalanceInfo = exports.sortByBalanceAndChainName = exports.toDecimal = exports.isXcmSdkWithdraw = exports.isXcmSdkDeposit = void 0;
|
|
4
4
|
function isXcmSdkDeposit(config) {
|
|
5
5
|
return !!config.from;
|
|
6
6
|
}
|
|
@@ -9,6 +9,13 @@ function isXcmSdkWithdraw(config) {
|
|
|
9
9
|
return !!config.to;
|
|
10
10
|
}
|
|
11
11
|
exports.isXcmSdkWithdraw = isXcmSdkWithdraw;
|
|
12
|
+
function toDecimal(number, decimals, maxDecimal = 6) {
|
|
13
|
+
const decimalMultiplier = 10 ** maxDecimal;
|
|
14
|
+
const dividend = number * BigInt(decimalMultiplier);
|
|
15
|
+
const divisor = 10n ** BigInt(decimals);
|
|
16
|
+
return Number(dividend / divisor) / decimalMultiplier;
|
|
17
|
+
}
|
|
18
|
+
exports.toDecimal = toDecimal;
|
|
12
19
|
function sortByBalanceAndChainName(a, b) {
|
|
13
20
|
if (a.asset.isNative) {
|
|
14
21
|
return -1;
|
|
@@ -16,10 +23,10 @@ function sortByBalanceAndChainName(a, b) {
|
|
|
16
23
|
if (b.asset.isNative) {
|
|
17
24
|
return 1;
|
|
18
25
|
}
|
|
19
|
-
const
|
|
20
|
-
const
|
|
21
|
-
if (
|
|
22
|
-
return
|
|
26
|
+
const aDecimal = toDecimal(a.balance.balance, a.balance.decimals);
|
|
27
|
+
const bDecimal = toDecimal(b.balance.balance, b.balance.decimals);
|
|
28
|
+
if (aDecimal || bDecimal) {
|
|
29
|
+
return bDecimal - aDecimal;
|
|
23
30
|
}
|
|
24
31
|
const aName = (a.origin.name + a.asset.originSymbol).toLowerCase();
|
|
25
32
|
const bName = (b.origin.name + b.asset.originSymbol).toLowerCase();
|
|
@@ -42,12 +49,14 @@ async function subscribeToAssetsBalanceInfo({ account, polkadot, configBuilder,
|
|
|
42
49
|
.map((info) => {
|
|
43
50
|
if (info.asset.isNative) {
|
|
44
51
|
// eslint-disable-next-line no-param-reassign
|
|
45
|
-
info.balance = lastBalance;
|
|
52
|
+
info.balance.balance = lastBalance;
|
|
46
53
|
}
|
|
47
54
|
return info;
|
|
48
55
|
})
|
|
49
56
|
.sort(sortByBalanceAndChainName);
|
|
50
|
-
|
|
57
|
+
if (lastInfo.length) {
|
|
58
|
+
cb(lastInfo);
|
|
59
|
+
}
|
|
51
60
|
};
|
|
52
61
|
const unsubscribeBalance = await polkadot.subscribeToBalance(account, handler);
|
|
53
62
|
const unsubscribeInfo = await polkadot.subscribeToAssetsBalanceInfo(account, configBuilder, handler);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk.utils.js","sourceRoot":"","sources":["../../../../src/sdk/sdk.utils.ts"],"names":[],"mappings":";;;AASA,SAAgB,eAAe,CAC7B,MAAsC;IAEtC,OAAO,CAAC,CAAE,MAAwB,CAAC,IAAI,CAAC;AAC1C,CAAC;AAJD,0CAIC;AAED,SAAgB,gBAAgB,CAC9B,MAAsC;IAEtC,OAAO,CAAC,CAAE,MAAyB,CAAC,EAAE,CAAC;AACzC,CAAC;AAJD,4CAIC;AAED,SAAgB,yBAAyB,CACvC,CAA4B,EAC5B,CAA4B;IAE5B,IAAI,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE;QACpB,OAAO,CAAC,CAAC,CAAC;KACX;IAED,IAAI,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE;QACpB,OAAO,CAAC,CAAC;KACV;IAED,MAAM,QAAQ,
|
|
1
|
+
{"version":3,"file":"sdk.utils.js","sourceRoot":"","sources":["../../../../src/sdk/sdk.utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,3 +17,5 @@ export interface GetWithdrawDataParams<Symbols extends AssetSymbol, ChainKeys ex
|
|
|
17
17
|
polkadot: PolkadotService<Symbols, ChainKeys>;
|
|
18
18
|
}
|
|
19
19
|
export declare function getWithdrawData<Symbols extends AssetSymbol, ChainKeys extends ChainKey>({ asset, config, contract, destinationAccount, destinationPolkadot, ethersSigner, moonChain, nativeAsset, origin, polkadot, }: GetWithdrawDataParams<Symbols, ChainKeys>): Promise<WithdrawTransferData<Symbols>>;
|
|
20
|
+
export declare function getFee<Symbols extends AssetSymbol>(assetMinBalance: bigint, config: WithdrawConfig<Symbols>): bigint;
|
|
21
|
+
export declare function getMin(balanceNeeded: bigint, destinationBalance: bigint, destinationFee: bigint): bigint;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getWithdrawData = exports.createTransactionEventHandler = void 0;
|
|
3
|
+
exports.getMin = exports.getFee = exports.getWithdrawData = exports.createTransactionEventHandler = void 0;
|
|
4
4
|
const sdk_interfaces_1 = require("./sdk.interfaces");
|
|
5
5
|
async function createTransactionEventHandler(ethersSigner, txHash, cb, skipSentEvent = false) {
|
|
6
6
|
if (!ethersSigner.provider) {
|
|
@@ -32,13 +32,16 @@ async function createTransactionEventHandler(ethersSigner, txHash, cb, skipSentE
|
|
|
32
32
|
exports.createTransactionEventHandler = createTransactionEventHandler;
|
|
33
33
|
async function getWithdrawData({ asset, config, contract, destinationAccount, destinationPolkadot, ethersSigner, moonChain, nativeAsset, origin, polkadot, }) {
|
|
34
34
|
const meta = destinationPolkadot.getMetadata();
|
|
35
|
-
const [decimals, destinationBalance, existentialDeposit] = await Promise.all([
|
|
35
|
+
const [decimals, destinationBalance, existentialDeposit, assetMinBalance] = await Promise.all([
|
|
36
36
|
asset.isNative ? moonChain.decimals : polkadot.getAssetDecimals(asset.id),
|
|
37
37
|
destinationPolkadot.getGenericBalance(destinationAccount, config.balance),
|
|
38
38
|
destinationPolkadot.getExistentialDeposit(),
|
|
39
|
+
config.sourceMinBalance
|
|
40
|
+
? destinationPolkadot.getAssetMinBalance(config.sourceMinBalance)
|
|
41
|
+
: 0n,
|
|
39
42
|
]);
|
|
40
|
-
const destinationFee =
|
|
41
|
-
const min =
|
|
43
|
+
const destinationFee = getFee(assetMinBalance, config);
|
|
44
|
+
const min = getMin(assetMinBalance || existentialDeposit, destinationBalance, destinationFee);
|
|
42
45
|
return {
|
|
43
46
|
asset: { ...asset, decimals },
|
|
44
47
|
destination: config.destination,
|
|
@@ -59,4 +62,16 @@ async function getWithdrawData({ asset, config, contract, destinationAccount, de
|
|
|
59
62
|
};
|
|
60
63
|
}
|
|
61
64
|
exports.getWithdrawData = getWithdrawData;
|
|
65
|
+
function getFee(assetMinBalance, config) {
|
|
66
|
+
const calculatedFee = BigInt(config.weight * config.feePerWeight);
|
|
67
|
+
return assetMinBalance > calculatedFee ? assetMinBalance : calculatedFee;
|
|
68
|
+
}
|
|
69
|
+
exports.getFee = getFee;
|
|
70
|
+
function getMin(balanceNeeded, destinationBalance, destinationFee) {
|
|
71
|
+
const extra = destinationBalance >= balanceNeeded
|
|
72
|
+
? 0n
|
|
73
|
+
: balanceNeeded - destinationBalance;
|
|
74
|
+
return destinationFee + extra;
|
|
75
|
+
}
|
|
76
|
+
exports.getMin = getMin;
|
|
62
77
|
//# sourceMappingURL=sdk.withdraw.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk.withdraw.js","sourceRoot":"","sources":["../../../../src/sdk/sdk.withdraw.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"sdk.withdraw.js","sourceRoot":"","sources":["../../../../src/sdk/sdk.withdraw.ts"],"names":[],"mappings":";;;AAYA,qDAK0B;AAEnB,KAAK,UAAU,6BAA6B,CACjD,YAA0B,EAC1B,MAAY,EACZ,EAA2B,EAC3B,aAAa,GAAG,KAAK;IAErB,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE;QAC1B,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;KAC1D;IAED,IAAI,CAAC,aAAa,EAAE;QAClB,EAAE,CAAC,EAAE,MAAM,EAAE,gCAAe,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;KAC9C;IAED,MAAM,EAAE,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAErE,IAAI,CAAC,EAAE,EAAE;QACP,UAAU,CACR,GAAG,EAAE,CAAC,6BAA6B,CAAC,YAAY,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC,EACnE,IAAI,CACL,CAAC;QACF,OAAO;KACR;IAED,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE;QACnB,EAAE,CAAC;YACD,MAAM,EAAE,gCAAe,CAAC,OAAO;YAC/B,SAAS,EAAE,EAAE,CAAC,SAAS;YACvB,MAAM;SACP,CAAC,CAAC;KACJ;SAAM;QACL,EAAE,CAAC;YACD,MAAM,EAAE,gCAAe,CAAC,MAAM;YAC9B,SAAS,EAAE,EAAE,CAAC,SAAS;YACvB,MAAM;SACP,CAAC,CAAC;KACJ;AACH,CAAC;AArCD,sEAqCC;AAkBM,KAAK,UAAU,eAAe,CAGnC,EACA,KAAK,EACL,MAAM,EACN,QAAQ,EACR,kBAAkB,EAClB,mBAAmB,EACnB,YAAY,EACZ,SAAS,EACT,WAAW,EACX,MAAM,EACN,QAAQ,GACkC;IAG1C,MAAM,IAAI,GAAG,mBAAmB,CAAC,WAAW,EAAE,CAAC;IAC/C,MAAM,CAAC,QAAQ,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,eAAe,CAAC,GACvE,MAAM,OAAO,CAAC,GAAG,CAAC;QAChB,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;QACzE,mBAAmB,CAAC,iBAAiB,CAAC,kBAAkB,EAAE,MAAM,CAAC,OAAO,CAAC;QACzE,mBAAmB,CAAC,qBAAqB,EAAE;QAC3C,MAAM,CAAC,gBAAgB;YACrB,CAAC,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,MAAM,CAAC,gBAAgB,CAAC;YACjE,CAAC,CAAC,EAAE;KACP,CAAC,CAAC;IAEL,MAAM,cAAc,GAAG,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;IACvD,MAAM,GAAG,GAAG,MAAM,CAChB,eAAe,IAAI,kBAAkB,EACrC,kBAAkB,EAClB,cAAc,CACf,CAAC;IAEF,OAAO;QACL,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE;QAC7B,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,kBAAkB;QAClB,cAAc;QACd,kBAAkB;QAClB,GAAG;QACH,MAAM,EAAE,EAAE,GAAG,WAAW,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE;QACnD,MAAM;QACN,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CACvB,QAAQ,CAAC,eAAe,CAAC,kBAAkB,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC;QACrE,IAAI,EAAE,KAAK,EAAE,MAAc,EAAE,EAA4B,EAAE,EAAE;YAC3D,MAAM,EAAE,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAChC,kBAAkB,EAClB,MAAM,EACN,KAAK,EACL,MAAM,CACP,CAAC;YAEF,IAAI,EAAE,EAAE;gBACN,6BAA6B,CAAC,YAAY,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;aAC1D;YAED,OAAO,EAAE,CAAC,IAAI,CAAC;QACjB,CAAC;KACF,CAAC;AACJ,CAAC;AA7DD,0CA6DC;AAED,SAAgB,MAAM,CACpB,eAAuB,EACvB,MAA+B;IAE/B,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;IAElE,OAAO,eAAe,GAAG,aAAa,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,aAAa,CAAC;AAC3E,CAAC;AAPD,wBAOC;AAED,SAAgB,MAAM,CACpB,aAAqB,EACrB,kBAA0B,EAC1B,cAAsB;IAEtB,MAAM,KAAK,GACT,kBAAkB,IAAI,aAAa;QACjC,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,aAAa,GAAG,kBAAkB,CAAC;IAEzC,OAAO,cAAc,GAAG,KAAK,CAAC;AAChC,CAAC;AAXD,wBAWC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@moonbeam-network/xcm-sdk",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.20",
|
|
4
4
|
"description": "",
|
|
5
5
|
"author": "PureStake",
|
|
6
6
|
"license": "GPL-3.0-only",
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
"main": "./build/cjs/src/index.js",
|
|
39
39
|
"dependencies": {
|
|
40
40
|
"@moonbeam-network/api-augment": "^0.1700.0",
|
|
41
|
-
"@moonbeam-network/xcm-config": "^0.0.
|
|
41
|
+
"@moonbeam-network/xcm-config": "^0.0.20",
|
|
42
42
|
"@polkadot/api": "^9.1.1",
|
|
43
43
|
"@polkadot/types": "^9.1.1",
|
|
44
44
|
"@polkadot/util": "^10.1.3",
|