@moonbeam-network/xcm-sdk 0.0.14 → 0.0.17

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.
Files changed (59) hide show
  1. package/build/cjs/src/contracts/XTokensContract/XTokensContract.d.ts +4 -4
  2. package/build/cjs/src/contracts/XTokensContract/XTokensContract.js.map +1 -1
  3. package/build/cjs/src/polkadot/PolkadotService.d.ts +7 -7
  4. package/build/cjs/src/polkadot/PolkadotService.js +4 -7
  5. package/build/cjs/src/polkadot/PolkadotService.js.map +1 -1
  6. package/build/cjs/src/polkadot/index.d.ts +1 -0
  7. package/build/cjs/src/polkadot/index.js +1 -0
  8. package/build/cjs/src/polkadot/index.js.map +1 -1
  9. package/build/cjs/src/polkadot/polkadot.factory.d.ts +3 -0
  10. package/build/cjs/src/polkadot/polkadot.factory.js +9 -0
  11. package/build/cjs/src/polkadot/polkadot.factory.js.map +1 -0
  12. package/build/cjs/src/polkadot/polkadot.interfaces.d.ts +7 -7
  13. package/build/cjs/src/polkadot/polkadot.utils.d.ts +0 -3
  14. package/build/cjs/src/polkadot/polkadot.utils.js +1 -24
  15. package/build/cjs/src/polkadot/polkadot.utils.js.map +1 -1
  16. package/build/cjs/src/sdk/sdk.d.ts +1 -1
  17. package/build/cjs/src/sdk/sdk.deposit.d.ts +36 -0
  18. package/build/cjs/src/sdk/sdk.deposit.js +122 -0
  19. package/build/cjs/src/sdk/sdk.deposit.js.map +1 -0
  20. package/build/cjs/src/sdk/sdk.interfaces.d.ts +43 -35
  21. package/build/cjs/src/sdk/sdk.interfaces.js.map +1 -1
  22. package/build/cjs/src/sdk/sdk.js +63 -123
  23. package/build/cjs/src/sdk/sdk.js.map +1 -1
  24. package/build/cjs/src/sdk/sdk.utils.d.ts +10 -14
  25. package/build/cjs/src/sdk/sdk.utils.js +41 -74
  26. package/build/cjs/src/sdk/sdk.utils.js.map +1 -1
  27. package/build/cjs/src/sdk/sdk.withdraw.d.ts +19 -0
  28. package/build/cjs/src/sdk/sdk.withdraw.js +62 -0
  29. package/build/cjs/src/sdk/sdk.withdraw.js.map +1 -0
  30. package/build/mjs/src/contracts/XTokensContract/XTokensContract.d.ts +4 -4
  31. package/build/mjs/src/contracts/XTokensContract/XTokensContract.js.map +1 -1
  32. package/build/mjs/src/polkadot/PolkadotService.d.ts +7 -7
  33. package/build/mjs/src/polkadot/PolkadotService.js +4 -7
  34. package/build/mjs/src/polkadot/PolkadotService.js.map +1 -1
  35. package/build/mjs/src/polkadot/index.d.ts +1 -0
  36. package/build/mjs/src/polkadot/index.js +1 -0
  37. package/build/mjs/src/polkadot/index.js.map +1 -1
  38. package/build/mjs/src/polkadot/polkadot.factory.d.ts +3 -0
  39. package/build/mjs/src/polkadot/polkadot.factory.js +9 -0
  40. package/build/mjs/src/polkadot/polkadot.factory.js.map +1 -0
  41. package/build/mjs/src/polkadot/polkadot.interfaces.d.ts +7 -7
  42. package/build/mjs/src/polkadot/polkadot.utils.d.ts +0 -3
  43. package/build/mjs/src/polkadot/polkadot.utils.js +1 -24
  44. package/build/mjs/src/polkadot/polkadot.utils.js.map +1 -1
  45. package/build/mjs/src/sdk/sdk.d.ts +1 -1
  46. package/build/mjs/src/sdk/sdk.deposit.d.ts +36 -0
  47. package/build/mjs/src/sdk/sdk.deposit.js +122 -0
  48. package/build/mjs/src/sdk/sdk.deposit.js.map +1 -0
  49. package/build/mjs/src/sdk/sdk.interfaces.d.ts +43 -35
  50. package/build/mjs/src/sdk/sdk.interfaces.js.map +1 -1
  51. package/build/mjs/src/sdk/sdk.js +63 -123
  52. package/build/mjs/src/sdk/sdk.js.map +1 -1
  53. package/build/mjs/src/sdk/sdk.utils.d.ts +10 -14
  54. package/build/mjs/src/sdk/sdk.utils.js +41 -74
  55. package/build/mjs/src/sdk/sdk.utils.js.map +1 -1
  56. package/build/mjs/src/sdk/sdk.withdraw.d.ts +19 -0
  57. package/build/mjs/src/sdk/sdk.withdraw.js +62 -0
  58. package/build/mjs/src/sdk/sdk.withdraw.js.map +1 -0
  59. package/package.json +2 -2
@@ -1,11 +1,11 @@
1
1
  import type { TransactionResponse } from '@ethersproject/abstract-provider';
2
- import { Asset, AssetConfig, WithdrawXTokensConfig } from '@moonbeam-network/xcm-config';
2
+ import { Asset, AssetSymbol, WithdrawXTokensConfig } from '@moonbeam-network/xcm-config';
3
3
  import { Signer } from 'ethers';
4
- export declare class XTokensContract<Assets extends Asset = Asset> {
4
+ export declare class XTokensContract<Symbols extends AssetSymbol = AssetSymbol> {
5
5
  #private;
6
6
  readonly address: string;
7
7
  constructor(signer: Signer);
8
- transfer(account: string, amount: bigint, asset: AssetConfig<Assets>, config: WithdrawXTokensConfig<Assets>): Promise<TransactionResponse>;
9
- getTransferFees(account: string, amount: bigint, asset: AssetConfig<Assets>, config: WithdrawXTokensConfig<Assets>): Promise<bigint>;
8
+ transfer(account: string, amount: bigint, asset: Asset<Symbols>, config: WithdrawXTokensConfig<Symbols>): Promise<TransactionResponse>;
9
+ getTransferFees(account: string, amount: bigint, asset: Asset<Symbols>, config: WithdrawXTokensConfig<Symbols>): Promise<bigint>;
10
10
  private getGasPrice;
11
11
  }
@@ -1 +1 @@
1
- {"version":3,"file":"XTokensContract.js","sourceRoot":"","sources":["../../../../../src/contracts/XTokensContract/XTokensContract.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAMA,mCAA0C;AAE1C,wEAAkD;AAElD,MAAa,eAAe;IAO1B,YAAY,MAAc;QANjB,YAAO,GAAW,4CAA4C,CAAC;QAExE,4CAA6B;QAE7B,0CAAyB;QAGvB,uBAAA,IAAI,2BAAW,MAAM,MAAA,CAAC;QACtB,uBAAA,IAAI,6BAAa,IAAI,iBAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,yBAAiB,EAAE,MAAM,CAAC,MAAA,CAAC;IACzE,CAAC;IAED,KAAK,CAAC,QAAQ,CACZ,OAAe,EACf,MAAc,EACd,KAA0B,EAC1B,MAAqC;QAErC,OAAO,uBAAA,IAAI,iCAAU,CAAC,QAAQ,CAC5B,KAAK,CAAC,OAAO,EACb,MAAM,EACN,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,EACzB,MAAM,CAAC,MAAM,CACd,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,OAAe,EACf,MAAc,EACd,KAA0B,EAC1B,MAAqC;QAErC,MAAM,YAAY,GAAG,CACnB,MAAM,uBAAA,IAAI,iCAAU,CAAC,WAAW,CAAC,QAAQ,CACvC,KAAK,CAAC,OAAO,EACb,MAAM,EACN,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,EACzB,MAAM,CAAC,MAAM,CACd,CACF,CAAC,QAAQ,EAAE,CAAC;QACb,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAE1C,OAAO,YAAY,GAAG,QAAQ,CAAC;IACjC,CAAC;IAEO,KAAK,CAAC,WAAW;QACvB,MAAM,EAAE,QAAQ,EAAE,oBAAoB,EAAE,GAAG,MAAM,uBAAA,IAAI,+BAAQ,CAAC,UAAU,EAAE,CAAC;QAE3E,OAAO,CACL,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,oBAAoB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CACxE,CAAC;IACJ,CAAC;CACF;AApDD,0CAoDC"}
1
+ {"version":3,"file":"XTokensContract.js","sourceRoot":"","sources":["../../../../../src/contracts/XTokensContract/XTokensContract.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAMA,mCAA0C;AAE1C,wEAAkD;AAElD,MAAa,eAAe;IAO1B,YAAY,MAAc;QANjB,YAAO,GAAW,4CAA4C,CAAC;QAExE,4CAA6B;QAE7B,0CAAyB;QAGvB,uBAAA,IAAI,2BAAW,MAAM,MAAA,CAAC;QACtB,uBAAA,IAAI,6BAAa,IAAI,iBAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,yBAAiB,EAAE,MAAM,CAAC,MAAA,CAAC;IACzE,CAAC;IAED,KAAK,CAAC,QAAQ,CACZ,OAAe,EACf,MAAc,EACd,KAAqB,EACrB,MAAsC;QAEtC,OAAO,uBAAA,IAAI,iCAAU,CAAC,QAAQ,CAC5B,KAAK,CAAC,OAAO,EACb,MAAM,EACN,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,EACzB,MAAM,CAAC,MAAM,CACd,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,OAAe,EACf,MAAc,EACd,KAAqB,EACrB,MAAsC;QAEtC,MAAM,YAAY,GAAG,CACnB,MAAM,uBAAA,IAAI,iCAAU,CAAC,WAAW,CAAC,QAAQ,CACvC,KAAK,CAAC,OAAO,EACb,MAAM,EACN,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,EACzB,MAAM,CAAC,MAAM,CACd,CACF,CAAC,QAAQ,EAAE,CAAC;QACb,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAE1C,OAAO,YAAY,GAAG,QAAQ,CAAC;IACjC,CAAC;IAEO,KAAK,CAAC,WAAW;QACvB,MAAM,EAAE,QAAQ,EAAE,oBAAoB,EAAE,GAAG,MAAM,uBAAA,IAAI,+BAAQ,CAAC,UAAU,EAAE,CAAC;QAE3E,OAAO,CACL,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,oBAAoB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CACxE,CAAC;IACJ,CAAC;CACF;AApDD,0CAoDC"}
@@ -1,29 +1,29 @@
1
1
  import '@moonbeam-network/api-augment';
2
- import { Asset, BalanceConfig, Chain, ConfigGetter, ExtrinsicConfig, MinBalanceConfig } from '@moonbeam-network/xcm-config';
2
+ import { AssetSymbol, BalanceConfig, ChainKey, ExtrinsicConfig, MinBalanceConfig, XcmConfigBuilder } from '@moonbeam-network/xcm-config';
3
3
  import { ApiPromise } from '@polkadot/api';
4
4
  import { SubmittableExtrinsic, UnsubscribePromise } from '@polkadot/api/types';
5
5
  import { AccountInfo } from '@polkadot/types/interfaces';
6
6
  import { MoonbeamRuntimeXcmConfigAssetType, PalletAssetsAssetAccount, PalletAssetsAssetMetadata } from '@polkadot/types/lookup';
7
7
  import { AssetBalanceInfo } from './polkadot.interfaces';
8
- export declare class PolkadotService<Assets extends Asset = Asset, Chains extends Chain = Chain> {
8
+ export declare class PolkadotService<Symbols extends AssetSymbol = AssetSymbol, ChainKeys extends ChainKey = ChainKey> {
9
9
  #private;
10
10
  constructor(api: ApiPromise);
11
- static create<Assets extends Asset = Asset, Chains extends Chain = Chain>(ws: string): Promise<PolkadotService<Assets, Chains>>;
11
+ static create<Symbols extends AssetSymbol = AssetSymbol, ChainKeys extends ChainKey = ChainKey>(ws: string): Promise<PolkadotService<Symbols, ChainKeys>>;
12
12
  static getChainMin(weight: number, unitsPerSecond: bigint): bigint;
13
13
  getMetadata(): {
14
14
  decimals: number;
15
- symbol: Assets;
15
+ symbol: Symbols;
16
16
  };
17
17
  getExistentialDeposit(): bigint;
18
18
  getAssetDecimals(assetId: string): Promise<number>;
19
19
  getAssetMeta(assetId: string): Promise<PalletAssetsAssetMetadata>;
20
20
  subscribeToAccountInfo(account: string, callback: (info: AccountInfo) => void): UnsubscribePromise;
21
21
  subscribeToBalance(account: string, callback: (balance: bigint) => void): UnsubscribePromise;
22
- getGenericBalance(account: string, { pallet, function: fn, getParams, path, calc }: BalanceConfig<Assets>): Promise<bigint>;
22
+ getGenericBalance(account: string, { pallet, function: fn, getParams, path, calc }: BalanceConfig<Symbols>): Promise<bigint>;
23
23
  getAssetMinBalance({ pallet, function: fn, params, path, }: MinBalanceConfig): Promise<bigint>;
24
- getXcmExtrinsic(account: string, amount: bigint, { pallet, extrinsic, getParams }: ExtrinsicConfig<Assets>, fee?: bigint, primaryAccount?: string): SubmittableExtrinsic<'promise'>;
24
+ getXcmExtrinsic(account: string, amount: bigint, { pallet, extrinsic, getParams }: ExtrinsicConfig<Symbols>, fee?: bigint, primaryAccount?: string): SubmittableExtrinsic<'promise'>;
25
25
  getAssetFee(id: string, weight: number): Promise<bigint>;
26
26
  getAssetType(id: string): Promise<MoonbeamRuntimeXcmConfigAssetType | undefined>;
27
- subscribeToAssetsBalanceInfo(account: string, configGetter: ConfigGetter<Assets, Chains>, callback: (data: AssetBalanceInfo<Assets>[]) => void): UnsubscribePromise;
27
+ subscribeToAssetsBalanceInfo(account: string, config: XcmConfigBuilder<Symbols, ChainKeys>, callback: (data: AssetBalanceInfo<Symbols>[]) => void): UnsubscribePromise;
28
28
  subscribeToAccountBalances(account: string, ids: string[], callback: (balances: PalletAssetsAssetAccount[]) => void): UnsubscribePromise;
29
29
  }
@@ -42,7 +42,6 @@ class PolkadotService {
42
42
  return meta.decimals.toNumber();
43
43
  }
44
44
  async getAssetMeta(assetId) {
45
- // TODO: how to fix any?
46
45
  return __classPrivateFieldGet(this, _PolkadotService_api, "f").query.assets.metadata(assetId);
47
46
  }
48
47
  async subscribeToAccountInfo(account, callback) {
@@ -56,7 +55,6 @@ class PolkadotService {
56
55
  if (response.isEmpty) {
57
56
  return 0n;
58
57
  }
59
- // TODO: improve types here and in balance interfaces
60
58
  const unwrapped = response.unwrap?.() || response;
61
59
  return calc(path.length ? (0, lodash_1.get)(unwrapped, path) : unwrapped);
62
60
  }
@@ -89,17 +87,16 @@ class PolkadotService {
89
87
  const type = await __classPrivateFieldGet(this, _PolkadotService_api, "f").query.assetManager.assetIdType(id);
90
88
  return type.unwrapOr(undefined);
91
89
  }
92
- async subscribeToAssetsBalanceInfo(account, configGetter, callback) {
93
- const assetsArray = Object.values(configGetter.assets);
90
+ async subscribeToAssetsBalanceInfo(account, config, callback) {
91
+ const assetsArray = Object.values(config.assets);
94
92
  const ids = assetsArray.map((asset) => asset.id);
95
93
  const metadata = (await __classPrivateFieldGet(this, _PolkadotService_api, "f").query.assets.metadata.multi(ids));
96
94
  return this.subscribeToAccountBalances(account, ids, (data) => {
97
95
  callback(data.map((balance, index) => {
98
96
  const asset = assetsArray[index];
99
97
  const meta = metadata[index];
100
- const { chains: [chain], from, } = configGetter.deposit(asset.originSymbol);
101
- // TODO: remove as
102
- const { origin } = from(chain.chain);
98
+ const { chains: [chain], from, } = config.deposit(asset.originSymbol);
99
+ const { origin } = from(chain.key);
103
100
  return {
104
101
  asset,
105
102
  balance: balance.balance.toBigInt(),
@@ -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,3 +1,4 @@
1
1
  export * from './polkadot.api';
2
+ export * from './polkadot.factory';
2
3
  export * from './polkadot.interfaces';
3
4
  export * from './PolkadotService';
@@ -15,6 +15,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./polkadot.api"), exports);
18
+ __exportStar(require("./polkadot.factory"), exports);
18
19
  __exportStar(require("./polkadot.interfaces"), exports);
19
20
  __exportStar(require("./PolkadotService"), exports);
20
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/polkadot/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B;AAC/B,wDAAsC;AACtC,oDAAkC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/polkadot/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B;AAC/B,qDAAmC;AACnC,wDAAsC;AACtC,oDAAkC"}
@@ -0,0 +1,3 @@
1
+ import { AssetSymbol, ChainKey } from '@moonbeam-network/xcm-config';
2
+ import { PolkadotService } from './PolkadotService';
3
+ export declare function createPolkadotServices<Symbols extends AssetSymbol, ChainKeys extends ChainKey>(ws: string[]): Promise<PolkadotService<Symbols, ChainKeys>[]>;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createPolkadotServices = void 0;
4
+ const PolkadotService_1 = require("./PolkadotService");
5
+ async function createPolkadotServices(ws) {
6
+ return Promise.all(ws.map((url) => PolkadotService_1.PolkadotService.create(url)));
7
+ }
8
+ exports.createPolkadotServices = createPolkadotServices;
9
+ //# sourceMappingURL=polkadot.factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"polkadot.factory.js","sourceRoot":"","sources":["../../../../src/polkadot/polkadot.factory.ts"],"names":[],"mappings":";;;AACA,uDAAoD;AAE7C,KAAK,UAAU,sBAAsB,CAG1C,EAAY;IACZ,OAAO,OAAO,CAAC,GAAG,CAChB,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,iCAAe,CAAC,MAAM,CAAqB,GAAG,CAAC,CAAC,CACjE,CAAC;AACJ,CAAC;AAPD,wDAOC"}
@@ -1,12 +1,12 @@
1
- import { Asset, AssetConfig, ChainConfig, MoonChainConfig } from '@moonbeam-network/xcm-config';
2
- export interface AssetMetadata<Assets extends Asset = Asset> {
1
+ import { Asset, AssetSymbol, Chain, ChainKey, MoonChain } from '@moonbeam-network/xcm-config';
2
+ export interface AssetMetadata<Symbols extends AssetSymbol = AssetSymbol> {
3
3
  decimals: number;
4
4
  symbol: string;
5
- originSymbol?: Assets;
5
+ originSymbol?: Symbols;
6
6
  }
7
- export interface AssetBalanceInfo<Assets extends Asset = Asset> {
8
- asset: AssetConfig<Assets>;
7
+ export interface AssetBalanceInfo<Symbols extends AssetSymbol = AssetSymbol, ChainKeys extends ChainKey = ChainKey> {
8
+ asset: Asset<Symbols>;
9
9
  balance: bigint;
10
- meta: AssetMetadata<Assets>;
11
- origin: ChainConfig | MoonChainConfig;
10
+ meta: AssetMetadata<Symbols>;
11
+ origin: Chain<ChainKeys> | MoonChain;
12
12
  }
@@ -1,4 +1 @@
1
- import { Asset } from '@moonbeam-network/xcm-config';
2
- import { AssetBalanceInfo } from './polkadot.interfaces';
3
1
  export declare function calculateMin(weight: number, unitsPerSecond: bigint): bigint;
4
- export declare function sortByBalanceAndChainName<Assets extends Asset = Asset>(a: AssetBalanceInfo<Assets>, b: AssetBalanceInfo<Assets>): number;
@@ -1,32 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.sortByBalanceAndChainName = exports.calculateMin = void 0;
3
+ exports.calculateMin = void 0;
4
4
  function calculateMin(weight, unitsPerSecond) {
5
5
  // 10**12 weight = 1 second
6
6
  return (BigInt(weight) * unitsPerSecond) / BigInt(10 ** 12);
7
7
  }
8
8
  exports.calculateMin = calculateMin;
9
- function sortByBalanceAndChainName(a, b) {
10
- if (a.asset.isNative) {
11
- return -1;
12
- }
13
- if (b.asset.isNative) {
14
- return 1;
15
- }
16
- const aBalance = Number((a.balance * 1000000n) / 10n ** BigInt(a.meta.decimals)) / 1000000;
17
- const bBalance = Number((b.balance * 1000000n) / 10n ** BigInt(b.meta.decimals)) / 1000000;
18
- if (aBalance || bBalance) {
19
- return bBalance - aBalance;
20
- }
21
- const aName = (a.origin.name + a.asset.originSymbol).toLowerCase();
22
- const bName = (b.origin.name + b.asset.originSymbol).toLowerCase();
23
- if (aName < bName) {
24
- return -1;
25
- }
26
- if (aName > bName) {
27
- return 1;
28
- }
29
- return 0;
30
- }
31
- exports.sortByBalanceAndChainName = sortByBalanceAndChainName;
32
9
  //# sourceMappingURL=polkadot.utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"polkadot.utils.js","sourceRoot":"","sources":["../../../../src/polkadot/polkadot.utils.ts"],"names":[],"mappings":";;;AAGA,SAAgB,YAAY,CAAC,MAAc,EAAE,cAAsB;IACjE,2BAA2B;IAC3B,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,cAAc,CAAC,GAAG,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,CAAC;AAHD,oCAGC;AAED,SAAgB,yBAAyB,CACvC,CAA2B,EAC3B,CAA2B;IAE3B,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,GACZ,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,QAAQ,CAAC,GAAG,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,OAAO,CAAC;IAC5E,MAAM,QAAQ,GACZ,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,QAAQ,CAAC,GAAG,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,OAAO,CAAC;IAE5E,IAAI,QAAQ,IAAI,QAAQ,EAAE;QACxB,OAAO,QAAQ,GAAG,QAAQ,CAAC;KAC5B;IAED,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC;IACnE,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC;IAEnE,IAAI,KAAK,GAAG,KAAK,EAAE;QACjB,OAAO,CAAC,CAAC,CAAC;KACX;IAED,IAAI,KAAK,GAAG,KAAK,EAAE;QACjB,OAAO,CAAC,CAAC;KACV;IAED,OAAO,CAAC,CAAC;AACX,CAAC;AAjCD,8DAiCC"}
1
+ {"version":3,"file":"polkadot.utils.js","sourceRoot":"","sources":["../../../../src/polkadot/polkadot.utils.ts"],"names":[],"mappings":";;;AAAA,SAAgB,YAAY,CAAC,MAAc,EAAE,cAAsB;IACjE,2BAA2B;IAC3B,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,cAAc,CAAC,GAAG,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,CAAC;AAHD,oCAGC"}
@@ -1,2 +1,2 @@
1
1
  import { SdkOptions, XcmSdkByChain } from './sdk.interfaces';
2
- export declare function create(options: SdkOptions): Promise<XcmSdkByChain>;
2
+ export declare function init(options?: SdkOptions): XcmSdkByChain;
@@ -0,0 +1,36 @@
1
+ import { Asset, AssetSymbol, Chain, ChainKey, DepositConfig, MoonChain } from '@moonbeam-network/xcm-config';
2
+ import { Signer as PolkadotSigner } from '@polkadot/api/types';
3
+ import { ISubmittableResult } from '@polkadot/types/types';
4
+ import { PolkadotService } from '../polkadot';
5
+ import { DepositTransferData, ExtrinsicEventsCallback } from './sdk.interfaces';
6
+ export declare function createExtrinsicEventHandler<Symbols extends AssetSymbol>(config: DepositConfig<Symbols>, cb: ExtrinsicEventsCallback): ({ events, status, txHash }: ISubmittableResult) => void;
7
+ export interface CreateExtrinsicOptions<Symbols extends AssetSymbol, ChainKeys extends ChainKey> {
8
+ account: string;
9
+ config: DepositConfig<Symbols>;
10
+ foreignPolkadot: PolkadotService<Symbols, ChainKeys>;
11
+ nativeAsset: Asset<Symbols>;
12
+ polkadot: PolkadotService<Symbols, ChainKeys>;
13
+ primaryAccount?: string;
14
+ }
15
+ export declare function getCreateExtrinsic<Symbols extends AssetSymbol, ChainKeys extends ChainKey>({ account, config, foreignPolkadot, nativeAsset, polkadot, primaryAccount, }: CreateExtrinsicOptions<Symbols, ChainKeys>): (amount: bigint) => Promise<import("@polkadot/api/types").SubmittableExtrinsic<"promise", ISubmittableResult>>;
16
+ export interface GetDepositDataParams<Symbols extends AssetSymbol, ChainKeys extends ChainKey> {
17
+ account: string;
18
+ asset: Asset<Symbols>;
19
+ config: DepositConfig<Symbols>;
20
+ foreignPolkadot: PolkadotService<Symbols, ChainKeys>;
21
+ moonChain: MoonChain;
22
+ nativeAsset: Asset<Symbols>;
23
+ origin: MoonChain | Chain<ChainKeys>;
24
+ polkadot: PolkadotService<Symbols, ChainKeys>;
25
+ polkadotSigner: PolkadotSigner;
26
+ primaryAccount?: string;
27
+ sourceAccount: string;
28
+ }
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
+ export interface GetMinParams<Symbols extends AssetSymbol, ChainKeys extends ChainKey> {
31
+ asset: Asset<Symbols>;
32
+ config: DepositConfig<Symbols>;
33
+ moonChain: MoonChain;
34
+ polkadot: PolkadotService<Symbols, ChainKeys>;
35
+ }
36
+ export declare function getMin<Symbols extends AssetSymbol, ChainKeys extends ChainKey>({ asset, config, moonChain, polkadot, }: GetMinParams<Symbols, ChainKeys>): Promise<bigint>;
@@ -0,0 +1,122 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getMin = exports.getDepositData = exports.getCreateExtrinsic = exports.createExtrinsicEventHandler = void 0;
4
+ const xcm_config_1 = require("@moonbeam-network/xcm-config");
5
+ const util_1 = require("@polkadot/util");
6
+ const polkadot_1 = require("../polkadot");
7
+ const sdk_interfaces_1 = require("./sdk.interfaces");
8
+ function createExtrinsicEventHandler(config, cb) {
9
+ return ({ events = [], status, txHash }) => {
10
+ const hash = txHash.toHex();
11
+ if (status.isReady) {
12
+ cb({ status: sdk_interfaces_1.ExtrinsicStatus.Sent, txHash: hash });
13
+ }
14
+ if (status.isInBlock) {
15
+ const block = status.asInBlock.toString();
16
+ events.forEach(({ event: { data, method, section } }) => {
17
+ if (section === config.extrinsic.pallet &&
18
+ method === config.extrinsic.successEvent) {
19
+ if (method === xcm_config_1.PolkadotXcmExtrinsicSuccessEvent.Attempted) {
20
+ const eventData = data.at(0);
21
+ if (eventData.isIncomplete) {
22
+ cb({
23
+ status: sdk_interfaces_1.ExtrinsicStatus.Failed,
24
+ blockHash: block,
25
+ txHash: hash,
26
+ message: eventData.asIncomplete.toHuman().join('; '),
27
+ });
28
+ return;
29
+ }
30
+ }
31
+ cb({
32
+ status: sdk_interfaces_1.ExtrinsicStatus.Success,
33
+ blockHash: block,
34
+ txHash: hash,
35
+ });
36
+ }
37
+ if (section === 'system' && method === 'ExtrinsicFailed') {
38
+ cb({
39
+ status: sdk_interfaces_1.ExtrinsicStatus.Failed,
40
+ blockHash: block,
41
+ txHash: hash,
42
+ message: data.join('; '),
43
+ });
44
+ }
45
+ });
46
+ }
47
+ };
48
+ }
49
+ exports.createExtrinsicEventHandler = createExtrinsicEventHandler;
50
+ function getCreateExtrinsic({ account, config, foreignPolkadot, nativeAsset, polkadot, primaryAccount, }) {
51
+ return async (amount) => {
52
+ const fee = (0, xcm_config_1.isMultiCurrency)(config.extrinsic)
53
+ ? await polkadot.getAssetFee(nativeAsset.id, config.origin.weight)
54
+ : 0n;
55
+ return foreignPolkadot.getXcmExtrinsic(account, amount, config.extrinsic, fee, primaryAccount);
56
+ };
57
+ }
58
+ exports.getCreateExtrinsic = getCreateExtrinsic;
59
+ async function getDepositData({ account, asset, config, foreignPolkadot, moonChain, nativeAsset, origin, polkadot, polkadotSigner, primaryAccount, sourceAccount, }) {
60
+ const meta = foreignPolkadot.getMetadata();
61
+ const createExtrinsic = getCreateExtrinsic({
62
+ account,
63
+ config,
64
+ foreignPolkadot,
65
+ nativeAsset,
66
+ polkadot,
67
+ primaryAccount,
68
+ });
69
+ const [decimals, sourceBalance, existentialDeposit, sourceFeeBalance, moonChainFee, sourceMinBalance = 0n, min,] = await Promise.all([
70
+ polkadot.getAssetDecimals(asset.id),
71
+ foreignPolkadot.getGenericBalance(primaryAccount || sourceAccount, config.balance),
72
+ foreignPolkadot.getExistentialDeposit(),
73
+ config.sourceFeeBalance
74
+ ? foreignPolkadot.getGenericBalance(sourceAccount, config.sourceFeeBalance)
75
+ : undefined,
76
+ config.isNativeAssetPayingMoonFee
77
+ ? polkadot.getAssetFee(nativeAsset.id, config.origin.weight)
78
+ : undefined,
79
+ config.sourceMinBalance
80
+ ? foreignPolkadot.getAssetMinBalance(config.sourceMinBalance)
81
+ : undefined,
82
+ // eslint-disable-next-line @typescript-eslint/no-use-before-define
83
+ getMin({ asset, config, moonChain, polkadot }),
84
+ ]);
85
+ return {
86
+ asset: { ...asset, decimals },
87
+ existentialDeposit,
88
+ min,
89
+ moonChainFee,
90
+ native: { ...nativeAsset, decimals: meta.decimals },
91
+ origin,
92
+ source: config.origin,
93
+ sourceBalance,
94
+ sourceFeeBalance: !(0, util_1.isUndefined)(sourceFeeBalance)
95
+ ? { ...meta, balance: sourceFeeBalance }
96
+ : undefined,
97
+ sourceMinBalance,
98
+ getFee: async (amount = sourceBalance) => {
99
+ const extrinsic = await createExtrinsic(amount);
100
+ const info = await extrinsic.paymentInfo(sourceAccount);
101
+ return info.partialFee.toBigInt();
102
+ },
103
+ send: async (amount, cb) => {
104
+ const extrinsic = await createExtrinsic(amount);
105
+ const hash = await extrinsic.signAndSend(sourceAccount, {
106
+ signer: polkadotSigner,
107
+ }, cb && createExtrinsicEventHandler(config, cb));
108
+ return hash.toString();
109
+ },
110
+ };
111
+ }
112
+ exports.getDepositData = getDepositData;
113
+ async function getMin({ asset, config, moonChain, polkadot, }) {
114
+ if (config.sourceFeeBalance && config.isNativeAssetPayingMoonFee) {
115
+ return 0n;
116
+ }
117
+ return asset.isNative
118
+ ? polkadot_1.PolkadotService.getChainMin(config.origin.weight, moonChain.unitsPerSecond)
119
+ : polkadot.getAssetFee(asset.id, config.origin.weight);
120
+ }
121
+ exports.getMin = getMin;
122
+ //# sourceMappingURL=sdk.deposit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk.deposit.js","sourceRoot":"","sources":["../../../../src/sdk/sdk.deposit.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { Asset, AssetConfig, Chain, ChainConfig, MoonbaseAssets, MoonbaseChains, MoonbeamAssets, MoonbeamChains, MoonChainConfig, MoonriverAssets, MoonriverChains } from '@moonbeam-network/xcm-config';
1
+ import { Asset, 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
3
  import { Signer as EthersSigner } from 'ethers';
4
4
  import { AssetBalanceInfo } from '../polkadot';
@@ -12,64 +12,72 @@ export declare type MoonXcmSdk = MoonbaseXcmSdk | MoonbeamXcmSdk | MoonriverXcmS
12
12
  export declare type MoonbaseXcmSdk = XcmSdk<MoonbaseAssets, MoonbaseChains>;
13
13
  export declare type MoonbeamXcmSdk = XcmSdk<MoonbeamAssets, MoonbeamChains>;
14
14
  export declare type MoonriverXcmSdk = XcmSdk<MoonriverAssets, MoonriverChains>;
15
- export interface XcmSdk<Assets extends Asset = Asset, Chains extends Chain = Chain> {
16
- asset: AssetConfig<Assets>;
17
- chain: MoonChainConfig;
18
- subscribeToAssetsBalanceInfo: (account: string, cb: (data: AssetBalanceInfo<Assets>[]) => void) => UnsubscribePromise;
19
- deposit: (asset: Assets) => XcmSdkDeposit<Assets, Chains>;
20
- withdraw: (asset: Assets) => XcmSdkWithdraw<Assets, Chains>;
15
+ export interface XcmSdk<Symbols extends AssetSymbol = AssetSymbol, ChainKeys extends ChainKey = ChainKey> {
16
+ moonAsset: Asset<Symbols>;
17
+ moonChain: MoonChain;
18
+ subscribeToAssetsBalanceInfo: (account: string, cb: (data: AssetBalanceInfo<Symbols>[]) => void) => UnsubscribePromise;
19
+ deposit: (symbol: Symbols) => XcmSdkDeposit<Symbols, ChainKeys>;
20
+ withdraw: (symbol: Symbols) => XcmSdkWithdraw<Symbols, ChainKeys>;
21
21
  }
22
- export interface XcmSdkDeposit<Assets extends Asset = Asset, Chains extends Chain = Chain> {
23
- chains: ChainConfig[];
24
- from: (chain: Chains) => XcmSdkDepositFrom<Assets>;
22
+ export interface XcmSdkDeposit<Symbols extends AssetSymbol = AssetSymbol, ChainKeys extends ChainKey = ChainKey> {
23
+ chains: Chain<ChainKeys>[];
24
+ from: (chain: ChainKeys) => XcmSdkDepositFrom<Symbols>;
25
25
  }
26
- export interface XcmSdkWithdraw<Assets extends Asset = Asset, Chains extends Chain = Chain> {
27
- chains: ChainConfig[];
28
- to: (chain: Chains) => XcmSdkWithdrawTo<Assets>;
26
+ export interface XcmSdkWithdraw<Symbols extends AssetSymbol = AssetSymbol, ChainKeys extends ChainKey = ChainKey> {
27
+ chains: Chain<ChainKeys>[];
28
+ to: (chain: ChainKeys) => XcmSdkWithdrawTo<Symbols>;
29
29
  }
30
- export interface XcmSdkDepositFrom<Assets extends Asset = Asset> {
31
- get: (account: string, sourceAccount: string, primaryAccount?: string) => Promise<DepositTransferData<Assets>>;
30
+ export interface XcmSdkDepositFrom<Symbols extends AssetSymbol = AssetSymbol> {
31
+ get: (account: string, sourceAccount: string, params?: DepositGetParams) => Promise<DepositTransferData<Symbols>>;
32
32
  }
33
- export interface XcmSdkWithdrawTo<Assets extends Asset = Asset> {
34
- get: (account: string) => Promise<WithdrawTransferData<Assets>>;
33
+ export interface DepositGetParams {
34
+ polkadotSigner?: PolkadotSigner;
35
+ primaryAccount?: string;
35
36
  }
36
- export interface DepositTransferData<Assets extends Asset = Asset> {
37
- asset: AssetConfigWithDecimals<Assets>;
37
+ export interface XcmSdkWithdrawTo<Symbols extends AssetSymbol = AssetSymbol> {
38
+ get: (account: string, params?: WithdrawGetParams) => Promise<WithdrawTransferData<Symbols>>;
39
+ }
40
+ export interface WithdrawGetParams {
41
+ ethersSigner?: EthersSigner;
42
+ }
43
+ export interface DepositTransferData<Symbols extends AssetSymbol = AssetSymbol, ChainKeys extends ChainKey = ChainKey> {
44
+ asset: AssetConfigWithDecimals<Symbols>;
38
45
  existentialDeposit: bigint;
39
46
  min: bigint;
40
47
  moonChainFee?: bigint;
41
- native: AssetConfigWithDecimals<Assets>;
42
- origin: MoonChainConfig | ChainConfig;
43
- source: ChainConfig;
48
+ native: AssetConfigWithDecimals<Symbols>;
49
+ origin: MoonChain | Chain<ChainKeys>;
50
+ source: Chain<ChainKeys>;
44
51
  sourceBalance: bigint;
45
- sourceFeeBalance?: FeeBalance<Assets>;
52
+ sourceFeeBalance?: FeeBalance<Symbols>;
46
53
  sourceMinBalance: bigint;
47
54
  getFee: (amount?: bigint) => Promise<bigint>;
48
- send: (amount: bigint, cb?: (event: ExtrinsicEvent) => void) => Promise<Hash>;
55
+ send: (amount: bigint, cb?: ExtrinsicEventsCallback) => Promise<Hash>;
49
56
  }
50
- export interface WithdrawTransferData<Assets extends Asset = Asset> {
51
- asset: AssetConfigWithDecimals<Assets>;
52
- destination: ChainConfig;
57
+ export interface WithdrawTransferData<Symbols extends AssetSymbol = AssetSymbol, ChainKeys extends ChainKey = ChainKey> {
58
+ asset: AssetConfigWithDecimals<Symbols>;
59
+ destination: Chain<ChainKeys>;
53
60
  destinationBalance: bigint;
54
61
  destinationFee: bigint;
55
62
  existentialDeposit: bigint;
56
63
  min: bigint;
57
- native: AssetConfigWithDecimals<Assets>;
58
- origin: MoonChainConfig | ChainConfig;
64
+ native: AssetConfigWithDecimals<Symbols>;
65
+ origin: MoonChain | Chain<ChainKeys>;
59
66
  getFee: (amount: bigint) => Promise<bigint>;
60
- send: (amount: bigint, cb?: (event: ExtrinsicEvent) => void) => Promise<Hash>;
67
+ send: (amount: bigint, cb?: ExtrinsicEventsCallback) => Promise<Hash>;
61
68
  }
62
- export interface AssetConfigWithDecimals<Assets extends Asset = Asset> extends AssetConfig<Assets> {
69
+ export declare type ExtrinsicEventsCallback = (event: ExtrinsicEvent) => void;
70
+ export interface AssetConfigWithDecimals<Symbols extends AssetSymbol = AssetSymbol> extends Asset<Symbols> {
63
71
  decimals: number;
64
72
  }
65
- export interface FeeBalance<Assets extends Asset = Asset> {
73
+ export interface FeeBalance<Symbols extends AssetSymbol = AssetSymbol> {
66
74
  balance: bigint;
67
75
  decimals: number;
68
- symbol: Assets;
76
+ symbol: Symbols;
69
77
  }
70
78
  export interface SdkOptions {
71
- ethersSigner: EthersSigner;
72
- polkadotSigner: PolkadotSigner;
79
+ ethersSigner?: EthersSigner;
80
+ polkadotSigner?: PolkadotSigner;
73
81
  }
74
82
  export declare type ExtrinsicEvent = ExtrinsicFailedEvent | ExtrinsicSentEvent | ExtrinsicSuccessEvent;
75
83
  export interface ExtrinsicFailedEvent {
@@ -1 +1 @@
1
- {"version":3,"file":"sdk.interfaces.js","sourceRoot":"","sources":["../../../../src/sdk/sdk.interfaces.ts"],"names":[],"mappings":";;;AA+IA,IAAY,eAIX;AAJD,WAAY,eAAe;IACzB,oCAAiB,CAAA;IACjB,gCAAa,CAAA;IACb,sCAAmB,CAAA;AACrB,CAAC,EAJW,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAI1B"}
1
+ {"version":3,"file":"sdk.interfaces.js","sourceRoot":"","sources":["../../../../src/sdk/sdk.interfaces.ts"],"names":[],"mappings":";;;AAoKA,IAAY,eAIX;AAJD,WAAY,eAAe;IACzB,oCAAiB,CAAA;IACjB,gCAAa,CAAA;IACb,sCAAmB,CAAA;AACrB,CAAC,EAJW,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAI1B"}