@paraspell/sdk-pjs 12.1.2 → 12.2.1
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 +5 -2
- package/dist/index.mjs +213 -178
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -298,7 +298,7 @@ const result = await Builder(/*chain api/builder_config/ws_url_string/ws_url_arr
|
|
|
298
298
|
```ts
|
|
299
299
|
const builder = await Builder({
|
|
300
300
|
development: true, // Optional: Enforces overrides for all chains used
|
|
301
|
-
decimalAbstraction: true //Abstracts decimals, so 1 as input amount equals 10_000_000_000 if selected asset is DOT.
|
|
301
|
+
decimalAbstraction: true // Abstracts decimals, so 1 as input amount equals 10_000_000_000 if selected asset is DOT.
|
|
302
302
|
apiOverrides: {
|
|
303
303
|
Hydration: // "wsEndpointString" | papiClient
|
|
304
304
|
BridgeHubPolkadot: // "wsEndpointString" | papiClient
|
|
@@ -308,9 +308,12 @@ const builder = await Builder({
|
|
|
308
308
|
.from(TSubstrateChain)
|
|
309
309
|
.to(TChain)
|
|
310
310
|
.currency({id: currencyID, amount: amount /*Use "ALL" to transfer everything*/} | {symbol: currencySymbol, amount: amount /*Use "ALL" to transfer everything*/} | {symbol: Native('currencySymbol'), amount: amount /*Use "ALL" to transfer everything*/} | {symbol: Foreign('currencySymbol'), amount: amount /*Use "ALL" to transfer everything*/} | {symbol: ForeignAbstract('currencySymbol'), amount: amount /*Use "ALL" to transfer everything*/} | {location: AssetLocationString, amount: amount /*Use "ALL" to transfer everything*/ | AssetLocationJson, amount: amount /*Use "ALL" to transfer everything*/} | {location: Override('Custom Location'), amount: amount /*Use "ALL" to transfer everything*/} | [{currencySelection, isFeeAsset?: true /* for example symbol: symbol or id: id, or Location: Location*/, amount: amount /*Use "ALL" to transfer everything*/}])
|
|
311
|
-
.address(address)
|
|
311
|
+
.address(address) //You can also use prederived accounts - //Alice, //Bob... //Alith, //Balthathar...
|
|
312
|
+
.senderAddress(address) //You can also use prederived accounts //Alice, //Bob... //Alith, //Balthathar...
|
|
312
313
|
|
|
313
314
|
const tx = await builder.build()
|
|
315
|
+
//Or if you use prederived account as senderAddress:
|
|
316
|
+
//await builder.signAndSubmit()
|
|
314
317
|
|
|
315
318
|
//Disconnect API after TX
|
|
316
319
|
await builder.disconnect()
|
package/dist/index.mjs
CHANGED
|
@@ -1,11 +1,28 @@
|
|
|
1
|
-
import { isConfig, BatchMode, findNativeAssetInfoOrThrow, MissingChainApiError,
|
|
1
|
+
import { getEvmPrivateKeyHex, createClientCache, createClientPoolHelpers, isConfig, getChainProviders, BatchMode, findNativeAssetInfoOrThrow, MissingChainApiError, UnsupportedOperationError, findAssetInfoOrThrow, computeFeeFromDryRunPjs, hasXcmPaymentApiSupport, resolveModuleError, getAssetsObject, RuntimeApiUnavailableError, wrapTxBypass, assertHasLocation, localizeLocation, isAssetXcEqual, addXcmVersionHeader, Version, RELAY_LOCATION, getRelayChainOf, createChainClient as createChainClient$1, getBalance as getBalance$1, claimAssets as claimAssets$1, Foreign, ForeignAbstract, Native, Override, findAssetInfo, getAllAssetsSymbols, getAssetDecimals, getAssetId, getAssets, getExistentialDeposit, getNativeAssetSymbol, getNativeAssets, getOtherAssets, getRelayChainSymbol, getSupportedAssets, getTChain, hasSupportForAsset, isChainEvm, convertSs58 as convertSs58$1, getParaId, ETH_CHAIN_ID, RoutingResolutionError, abstractDecimals, assertHasId, MissingParameterError, isOverrideLocationSpecifier, transferMoonbeamEvm, transferMoonbeamToEth, validateAddress as validateAddress$1, Builder as Builder$1, getParaEthTransferFees as getParaEthTransferFees$1, DRY_RUN_CLIENT_TIMEOUT_MS, getBridgeStatus as getBridgeStatus$1, send as send$1, dryRun as dryRun$1, dryRunOrigin as dryRunOrigin$1 } from '@paraspell/sdk-core';
|
|
2
2
|
export * from '@paraspell/sdk-core';
|
|
3
|
-
import { WsProvider, ApiPromise } from '@polkadot/api';
|
|
3
|
+
import { Keyring, WsProvider, ApiPromise } from '@polkadot/api';
|
|
4
4
|
import { isHex, u8aToHex, hexToU8a, stringToU8a } from '@polkadot/util';
|
|
5
5
|
import { decodeAddress, blake2AsHex, validateAddress } from '@polkadot/util-crypto';
|
|
6
6
|
import { environment, Context, toPolkadotV2, assetsV2 } from '@snowbridge/api';
|
|
7
7
|
import { WETH9__factory } from '@snowbridge/contract-types';
|
|
8
8
|
|
|
9
|
+
var createKeyringPair = function createKeyringPair(path) {
|
|
10
|
+
var evmPrivateKey = getEvmPrivateKeyHex(path);
|
|
11
|
+
var keyring = evmPrivateKey ? new Keyring() : new Keyring({
|
|
12
|
+
type: 'sr25519'
|
|
13
|
+
});
|
|
14
|
+
return evmPrivateKey ? keyring.createFromUri(evmPrivateKey, undefined, 'ethereum') : keyring.addFromUri(path);
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
var lowercaseFirstLetter = function lowercaseFirstLetter(value) {
|
|
18
|
+
return value.charAt(0).toLowerCase() + value.slice(1);
|
|
19
|
+
};
|
|
20
|
+
var snakeToCamel = function snakeToCamel(str) {
|
|
21
|
+
return str.toLowerCase().replace(/([-_][a-z])/g, function (group) {
|
|
22
|
+
return group.toUpperCase().replace('-', '').replace('_', '');
|
|
23
|
+
});
|
|
24
|
+
};
|
|
25
|
+
|
|
9
26
|
function _arrayLikeToArray(r, a) {
|
|
10
27
|
(null == a || a > r.length) && (a = r.length);
|
|
11
28
|
for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
|
|
@@ -230,17 +247,53 @@ function _unsupportedIterableToArray(r, a) {
|
|
|
230
247
|
}
|
|
231
248
|
}
|
|
232
249
|
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
var
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
250
|
+
// Cache settings
|
|
251
|
+
var DEFAULT_TTL_MS = 60000; // 1 minute
|
|
252
|
+
var MAX_CLIENTS = 100;
|
|
253
|
+
var EXTENSION_MS = 5 * 60000; // 5 minutes
|
|
254
|
+
|
|
255
|
+
var clientPool = createClientCache(MAX_CLIENTS, /*#__PURE__*/function () {
|
|
256
|
+
var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(client) {
|
|
257
|
+
return _regenerator().w(function (_context) {
|
|
258
|
+
while (1) switch (_context.n) {
|
|
259
|
+
case 0:
|
|
260
|
+
_context.n = 1;
|
|
261
|
+
return client.rpc.system.properties();
|
|
262
|
+
case 1:
|
|
263
|
+
return _context.a(2);
|
|
264
|
+
}
|
|
265
|
+
}, _callee);
|
|
266
|
+
}));
|
|
267
|
+
return function (_x) {
|
|
268
|
+
return _ref.apply(this, arguments);
|
|
269
|
+
};
|
|
270
|
+
}(), function (_key, entry) {
|
|
271
|
+
void entry.client.disconnect();
|
|
272
|
+
}, EXTENSION_MS);
|
|
273
|
+
var createPolkadotJsClient = /*#__PURE__*/function () {
|
|
274
|
+
var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(ws) {
|
|
275
|
+
var wsProvider;
|
|
276
|
+
return _regenerator().w(function (_context2) {
|
|
277
|
+
while (1) switch (_context2.n) {
|
|
278
|
+
case 0:
|
|
279
|
+
wsProvider = new WsProvider(ws);
|
|
280
|
+
return _context2.a(2, ApiPromise.create({
|
|
281
|
+
provider: wsProvider
|
|
282
|
+
}));
|
|
283
|
+
}
|
|
284
|
+
}, _callee2);
|
|
285
|
+
}));
|
|
286
|
+
return function createPolkadotJsClient(_x2) {
|
|
287
|
+
return _ref2.apply(this, arguments);
|
|
288
|
+
};
|
|
289
|
+
}();
|
|
290
|
+
var _createClientPoolHelp = createClientPoolHelpers(clientPool, createPolkadotJsClient),
|
|
291
|
+
leaseClient = _createClientPoolHelp.leaseClient,
|
|
292
|
+
releaseClient = _createClientPoolHelp.releaseClient;
|
|
241
293
|
var PolkadotJsApi = /*#__PURE__*/function () {
|
|
242
294
|
function PolkadotJsApi(config) {
|
|
243
295
|
_classCallCheck(this, PolkadotJsApi);
|
|
296
|
+
this._ttlMs = DEFAULT_TTL_MS;
|
|
244
297
|
this.initialized = false;
|
|
245
298
|
this.disconnectAllowed = true;
|
|
246
299
|
this._config = config;
|
|
@@ -258,36 +311,40 @@ var PolkadotJsApi = /*#__PURE__*/function () {
|
|
|
258
311
|
}, {
|
|
259
312
|
key: "init",
|
|
260
313
|
value: function () {
|
|
261
|
-
var _init = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function
|
|
262
|
-
var
|
|
263
|
-
|
|
264
|
-
|
|
314
|
+
var _init = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(chain) {
|
|
315
|
+
var clientTtlMs,
|
|
316
|
+
apiConfig,
|
|
317
|
+
_args = arguments;
|
|
318
|
+
return _regenerator().w(function (_context3) {
|
|
319
|
+
while (1) switch (_context3.n) {
|
|
265
320
|
case 0:
|
|
321
|
+
clientTtlMs = _args.length > 1 && _args[1] !== undefined ? _args[1] : DEFAULT_TTL_MS;
|
|
266
322
|
if (!(this.initialized || chain === 'Ethereum')) {
|
|
267
|
-
|
|
323
|
+
_context3.n = 1;
|
|
268
324
|
break;
|
|
269
325
|
}
|
|
270
|
-
return
|
|
326
|
+
return _context3.a(2);
|
|
271
327
|
case 1:
|
|
328
|
+
this._ttlMs = clientTtlMs;
|
|
272
329
|
this._chain = chain;
|
|
273
330
|
apiConfig = this.getApiConfigForChain(chain);
|
|
274
331
|
if (!(isConfig(this._config) && this._config.development && !apiConfig)) {
|
|
275
|
-
|
|
332
|
+
_context3.n = 2;
|
|
276
333
|
break;
|
|
277
334
|
}
|
|
278
335
|
throw new MissingChainApiError(chain);
|
|
279
336
|
case 2:
|
|
280
|
-
|
|
337
|
+
_context3.n = 3;
|
|
281
338
|
return this.resolveApi(apiConfig, chain);
|
|
282
339
|
case 3:
|
|
283
|
-
this.api =
|
|
340
|
+
this.api = _context3.v;
|
|
284
341
|
this.initialized = true;
|
|
285
342
|
case 4:
|
|
286
|
-
return
|
|
343
|
+
return _context3.a(2);
|
|
287
344
|
}
|
|
288
|
-
},
|
|
345
|
+
}, _callee3, this);
|
|
289
346
|
}));
|
|
290
|
-
function init(
|
|
347
|
+
function init(_x3) {
|
|
291
348
|
return _init.apply(this, arguments);
|
|
292
349
|
}
|
|
293
350
|
return init;
|
|
@@ -303,54 +360,21 @@ var PolkadotJsApi = /*#__PURE__*/function () {
|
|
|
303
360
|
}
|
|
304
361
|
}, {
|
|
305
362
|
key: "resolveApi",
|
|
306
|
-
value: function () {
|
|
307
|
-
|
|
308
|
-
var wsUrl;
|
|
309
|
-
return
|
|
310
|
-
while (1) switch (_context2.n) {
|
|
311
|
-
case 0:
|
|
312
|
-
if (apiConfig) {
|
|
313
|
-
_context2.n = 1;
|
|
314
|
-
break;
|
|
315
|
-
}
|
|
316
|
-
wsUrl = getChainProviders(chain);
|
|
317
|
-
return _context2.a(2, this.createApiInstance(wsUrl, chain));
|
|
318
|
-
case 1:
|
|
319
|
-
if (!(typeof apiConfig === 'string' || apiConfig instanceof Array)) {
|
|
320
|
-
_context2.n = 2;
|
|
321
|
-
break;
|
|
322
|
-
}
|
|
323
|
-
return _context2.a(2, this.createApiInstance(apiConfig, chain));
|
|
324
|
-
case 2:
|
|
325
|
-
return _context2.a(2, apiConfig);
|
|
326
|
-
}
|
|
327
|
-
}, _callee2, this);
|
|
328
|
-
}));
|
|
329
|
-
function resolveApi(_x3, _x4) {
|
|
330
|
-
return _resolveApi.apply(this, arguments);
|
|
363
|
+
value: function resolveApi(apiConfig, chain) {
|
|
364
|
+
if (!apiConfig) {
|
|
365
|
+
var wsUrl = getChainProviders(chain);
|
|
366
|
+
return this.createApiInstance(wsUrl, chain);
|
|
331
367
|
}
|
|
332
|
-
|
|
333
|
-
|
|
368
|
+
if (typeof apiConfig === 'string' || apiConfig instanceof Array) {
|
|
369
|
+
return this.createApiInstance(apiConfig, chain);
|
|
370
|
+
}
|
|
371
|
+
return Promise.resolve(apiConfig);
|
|
372
|
+
}
|
|
334
373
|
}, {
|
|
335
374
|
key: "createApiInstance",
|
|
336
|
-
value: function () {
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
return _regenerator().w(function (_context3) {
|
|
340
|
-
while (1) switch (_context3.n) {
|
|
341
|
-
case 0:
|
|
342
|
-
wsProvider = new WsProvider(wsUrl);
|
|
343
|
-
return _context3.a(2, ApiPromise.create({
|
|
344
|
-
provider: wsProvider
|
|
345
|
-
}));
|
|
346
|
-
}
|
|
347
|
-
}, _callee3);
|
|
348
|
-
}));
|
|
349
|
-
function createApiInstance(_x5, _x6) {
|
|
350
|
-
return _createApiInstance.apply(this, arguments);
|
|
351
|
-
}
|
|
352
|
-
return createApiInstance;
|
|
353
|
-
}()
|
|
375
|
+
value: function createApiInstance(wsUrl, _chain) {
|
|
376
|
+
return leaseClient(wsUrl, this._ttlMs, false);
|
|
377
|
+
}
|
|
354
378
|
}, {
|
|
355
379
|
key: "accountToHex",
|
|
356
380
|
value: function accountToHex(address) {
|
|
@@ -366,9 +390,9 @@ var PolkadotJsApi = /*#__PURE__*/function () {
|
|
|
366
390
|
}
|
|
367
391
|
}, {
|
|
368
392
|
key: "convertToPjsCall",
|
|
369
|
-
value: function convertToPjsCall(
|
|
370
|
-
var module =
|
|
371
|
-
method =
|
|
393
|
+
value: function convertToPjsCall(_ref3) {
|
|
394
|
+
var module = _ref3.module,
|
|
395
|
+
method = _ref3.method;
|
|
372
396
|
return {
|
|
373
397
|
module: lowercaseFirstLetter(module),
|
|
374
398
|
method: snakeToCamel(method)
|
|
@@ -404,7 +428,7 @@ var PolkadotJsApi = /*#__PURE__*/function () {
|
|
|
404
428
|
}
|
|
405
429
|
}, _callee4, this);
|
|
406
430
|
}));
|
|
407
|
-
function queryState(
|
|
431
|
+
function queryState(_x4) {
|
|
408
432
|
return _queryState.apply(this, arguments);
|
|
409
433
|
}
|
|
410
434
|
return queryState;
|
|
@@ -467,7 +491,7 @@ var PolkadotJsApi = /*#__PURE__*/function () {
|
|
|
467
491
|
}
|
|
468
492
|
}, _callee5);
|
|
469
493
|
}));
|
|
470
|
-
function calculateTransactionFee(
|
|
494
|
+
function calculateTransactionFee(_x5, _x6) {
|
|
471
495
|
return _calculateTransactionFee.apply(this, arguments);
|
|
472
496
|
}
|
|
473
497
|
return calculateTransactionFee;
|
|
@@ -478,11 +502,11 @@ var PolkadotJsApi = /*#__PURE__*/function () {
|
|
|
478
502
|
var _quoteAhPrice = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee6(fromMl, toMl, amountIn) {
|
|
479
503
|
var includeFee,
|
|
480
504
|
quoted,
|
|
481
|
-
|
|
505
|
+
_args4 = arguments;
|
|
482
506
|
return _regenerator().w(function (_context6) {
|
|
483
507
|
while (1) switch (_context6.n) {
|
|
484
508
|
case 0:
|
|
485
|
-
includeFee =
|
|
509
|
+
includeFee = _args4.length > 3 && _args4[3] !== undefined ? _args4[3] : true;
|
|
486
510
|
_context6.n = 1;
|
|
487
511
|
return this.api.call.assetConversionApi.quotePriceExactTokensForTokens(fromMl, toMl, amountIn.toString(), includeFee);
|
|
488
512
|
case 1:
|
|
@@ -491,7 +515,7 @@ var PolkadotJsApi = /*#__PURE__*/function () {
|
|
|
491
515
|
}
|
|
492
516
|
}, _callee6, this);
|
|
493
517
|
}));
|
|
494
|
-
function quoteAhPrice(
|
|
518
|
+
function quoteAhPrice(_x7, _x8, _x9) {
|
|
495
519
|
return _quoteAhPrice.apply(this, arguments);
|
|
496
520
|
}
|
|
497
521
|
return quoteAhPrice;
|
|
@@ -544,7 +568,7 @@ var PolkadotJsApi = /*#__PURE__*/function () {
|
|
|
544
568
|
}
|
|
545
569
|
}, _callee7, this);
|
|
546
570
|
}));
|
|
547
|
-
function getFromRpc(
|
|
571
|
+
function getFromRpc(_x0, _x1, _x10) {
|
|
548
572
|
return _getFromRpc.apply(this, arguments);
|
|
549
573
|
}
|
|
550
574
|
return getFromRpc;
|
|
@@ -575,16 +599,16 @@ var PolkadotJsApi = /*#__PURE__*/function () {
|
|
|
575
599
|
}
|
|
576
600
|
}, _callee8);
|
|
577
601
|
}));
|
|
578
|
-
function createApiForChain(
|
|
602
|
+
function createApiForChain(_x11) {
|
|
579
603
|
return _createApiForChain.apply(this, arguments);
|
|
580
604
|
}
|
|
581
605
|
return createApiForChain;
|
|
582
606
|
}()
|
|
583
607
|
}, {
|
|
584
608
|
key: "resolveDefaultFeeAsset",
|
|
585
|
-
value: function resolveDefaultFeeAsset(
|
|
586
|
-
var chain =
|
|
587
|
-
feeAsset =
|
|
609
|
+
value: function resolveDefaultFeeAsset(_ref4) {
|
|
610
|
+
var chain = _ref4.chain,
|
|
611
|
+
feeAsset = _ref4.feeAsset;
|
|
588
612
|
return feeAsset !== null && feeAsset !== void 0 ? feeAsset : findNativeAssetInfoOrThrow(chain);
|
|
589
613
|
}
|
|
590
614
|
}, {
|
|
@@ -628,7 +652,7 @@ var PolkadotJsApi = /*#__PURE__*/function () {
|
|
|
628
652
|
}
|
|
629
653
|
}, _callee9, this);
|
|
630
654
|
}));
|
|
631
|
-
function resolveFeeAsset(
|
|
655
|
+
function resolveFeeAsset(_x12) {
|
|
632
656
|
return _resolveFeeAsset.apply(this, arguments);
|
|
633
657
|
}
|
|
634
658
|
return resolveFeeAsset;
|
|
@@ -681,7 +705,7 @@ var PolkadotJsApi = /*#__PURE__*/function () {
|
|
|
681
705
|
case 5:
|
|
682
706
|
resolvedFeeAsset = _context10.v;
|
|
683
707
|
performDryRunCall = /*#__PURE__*/function () {
|
|
684
|
-
var
|
|
708
|
+
var _ref5 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee0(includeVersion) {
|
|
685
709
|
var _this$api$call$dryRun;
|
|
686
710
|
return _regenerator().w(function (_context0) {
|
|
687
711
|
while (1) switch (_context0.n) {
|
|
@@ -690,8 +714,8 @@ var PolkadotJsApi = /*#__PURE__*/function () {
|
|
|
690
714
|
}
|
|
691
715
|
}, _callee0);
|
|
692
716
|
}));
|
|
693
|
-
return function performDryRunCall(
|
|
694
|
-
return
|
|
717
|
+
return function performDryRunCall(_x14) {
|
|
718
|
+
return _ref5.apply(this, arguments);
|
|
695
719
|
};
|
|
696
720
|
}();
|
|
697
721
|
getExecutionSuccessFromResult = function getExecutionSuccessFromResult(resultHuman) {
|
|
@@ -699,7 +723,7 @@ var PolkadotJsApi = /*#__PURE__*/function () {
|
|
|
699
723
|
return Boolean((resultHuman === null || resultHuman === void 0 ? void 0 : resultHuman.Ok) && ((_resultHuman$Ok$execu = resultHuman.Ok.executionResult) === null || _resultHuman$Ok$execu === void 0 ? void 0 : _resultHuman$Ok$execu.Ok));
|
|
700
724
|
};
|
|
701
725
|
extractFailureReasonFromResult = function extractFailureReasonFromResult(resultHuman, resultJson) {
|
|
702
|
-
var _resultHuman$Ok, _resultHuman$Ok2, _resultJson$ok,
|
|
726
|
+
var _resultHuman$Ok, _resultHuman$Ok2, _resultJson$ok, _ref6;
|
|
703
727
|
var modErrHuman = resultHuman === null || resultHuman === void 0 || (_resultHuman$Ok = resultHuman.Ok) === null || _resultHuman$Ok === void 0 || (_resultHuman$Ok = _resultHuman$Ok.executionResult) === null || _resultHuman$Ok === void 0 || (_resultHuman$Ok = _resultHuman$Ok.Err) === null || _resultHuman$Ok === void 0 || (_resultHuman$Ok = _resultHuman$Ok.error) === null || _resultHuman$Ok === void 0 ? void 0 : _resultHuman$Ok.Module;
|
|
704
728
|
if (modErrHuman) {
|
|
705
729
|
return resolveModuleError(chain, modErrHuman);
|
|
@@ -720,7 +744,7 @@ var PolkadotJsApi = /*#__PURE__*/function () {
|
|
|
720
744
|
};
|
|
721
745
|
}
|
|
722
746
|
return {
|
|
723
|
-
failureReason: JSON.stringify((
|
|
747
|
+
failureReason: JSON.stringify((_ref6 = resultJson !== null && resultJson !== void 0 ? resultJson : resultHuman) !== null && _ref6 !== void 0 ? _ref6 : 'Unknown error')
|
|
724
748
|
};
|
|
725
749
|
}; // Attempt 1: WITHOUT version
|
|
726
750
|
isSuccess = false;
|
|
@@ -810,15 +834,15 @@ var PolkadotJsApi = /*#__PURE__*/function () {
|
|
|
810
834
|
} : undefined;
|
|
811
835
|
nativeAsset = findNativeAssetInfoOrThrow(chain);
|
|
812
836
|
hasLocation = feeAsset ? Boolean(feeAsset.location) : Boolean(nativeAsset === null || nativeAsset === void 0 ? void 0 : nativeAsset.location);
|
|
813
|
-
destParaId = forwardedXcms.length === 0 ? undefined : function (i,
|
|
814
|
-
return i.here === null ? 0 : (
|
|
837
|
+
destParaId = forwardedXcms.length === 0 ? undefined : function (i, _ref7) {
|
|
838
|
+
return i.here === null ? 0 : (_ref7 = Array.isArray(i.x1) ? i.x1[0] : i.x1) === null || _ref7 === void 0 ? void 0 : _ref7.parachain;
|
|
815
839
|
}(Object.values(forwardedXcms[0])[0].interior);
|
|
816
840
|
if (!(hasXcmPaymentApiSupport(chain) && resultJson.ok.local_xcm && hasLocation && (feeAsset || chain.startsWith('AssetHub') && destination === 'Ethereum') || resolvedFeeAsset.isCustomAsset)) {
|
|
817
841
|
_context10.n = 21;
|
|
818
842
|
break;
|
|
819
843
|
}
|
|
820
844
|
getPaymentInfoWeight = /*#__PURE__*/function () {
|
|
821
|
-
var
|
|
845
|
+
var _ref8 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee1() {
|
|
822
846
|
var _yield$tx$paymentInfo2, weight;
|
|
823
847
|
return _regenerator().w(function (_context1) {
|
|
824
848
|
while (1) switch (_context1.n) {
|
|
@@ -833,7 +857,7 @@ var PolkadotJsApi = /*#__PURE__*/function () {
|
|
|
833
857
|
}, _callee1);
|
|
834
858
|
}));
|
|
835
859
|
return function getPaymentInfoWeight() {
|
|
836
|
-
return
|
|
860
|
+
return _ref8.apply(this, arguments);
|
|
837
861
|
};
|
|
838
862
|
}();
|
|
839
863
|
if (resultJson.ok.local_xcm) {
|
|
@@ -888,7 +912,7 @@ var PolkadotJsApi = /*#__PURE__*/function () {
|
|
|
888
912
|
}
|
|
889
913
|
}, _callee10, this, [[11, 13], [6, 8]]);
|
|
890
914
|
}));
|
|
891
|
-
function getDryRunCall(
|
|
915
|
+
function getDryRunCall(_x13) {
|
|
892
916
|
return _getDryRunCall.apply(this, arguments);
|
|
893
917
|
}
|
|
894
918
|
return getDryRunCall;
|
|
@@ -897,7 +921,7 @@ var PolkadotJsApi = /*#__PURE__*/function () {
|
|
|
897
921
|
key: "getXcmPaymentApiFee",
|
|
898
922
|
value: function () {
|
|
899
923
|
var _getXcmPaymentApiFee = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee11(chain, localXcm, forwardedXcm, asset) {
|
|
900
|
-
var
|
|
924
|
+
var _ref9, _deliveryFeeResJson$o, _deliveryFeeResJson$o2, _deliveryFeeResJson$o3, _ref0, _deliveryFeeResJson$o4, _deliveryFeeResJson$o5, _deliveryFeeResJson$o6;
|
|
901
925
|
var overridenWeight,
|
|
902
926
|
weight,
|
|
903
927
|
assetLocalizedLoc,
|
|
@@ -913,13 +937,13 @@ var PolkadotJsApi = /*#__PURE__*/function () {
|
|
|
913
937
|
nativeAsset,
|
|
914
938
|
deliveryFee,
|
|
915
939
|
res,
|
|
916
|
-
|
|
940
|
+
_args1 = arguments,
|
|
917
941
|
_t5,
|
|
918
942
|
_t6;
|
|
919
943
|
return _regenerator().w(function (_context11) {
|
|
920
944
|
while (1) switch (_context11.p = _context11.n) {
|
|
921
945
|
case 0:
|
|
922
|
-
overridenWeight =
|
|
946
|
+
overridenWeight = _args1.length > 5 ? _args1[5] : undefined;
|
|
923
947
|
if (!(overridenWeight !== null && overridenWeight !== void 0)) {
|
|
924
948
|
_context11.n = 1;
|
|
925
949
|
break;
|
|
@@ -971,7 +995,7 @@ var PolkadotJsApi = /*#__PURE__*/function () {
|
|
|
971
995
|
case 9:
|
|
972
996
|
deliveryFeeRes = _t6;
|
|
973
997
|
deliveryFeeResJson = deliveryFeeRes === null || deliveryFeeRes === void 0 ? void 0 : deliveryFeeRes.toJSON();
|
|
974
|
-
deliveryFeeResolved = deliveryFeeRes && ((
|
|
998
|
+
deliveryFeeResolved = deliveryFeeRes && ((_ref9 = (_deliveryFeeResJson$o = (_deliveryFeeResJson$o2 = deliveryFeeResJson.ok) === null || _deliveryFeeResJson$o2 === void 0 ? void 0 : _deliveryFeeResJson$o2.v4) !== null && _deliveryFeeResJson$o !== void 0 ? _deliveryFeeResJson$o : (_deliveryFeeResJson$o3 = deliveryFeeResJson.ok) === null || _deliveryFeeResJson$o3 === void 0 ? void 0 : _deliveryFeeResJson$o3.v3) === null || _ref9 === void 0 ? void 0 : _ref9.length) > 0 ? BigInt((_ref0 = (_deliveryFeeResJson$o4 = deliveryFeeResJson === null || deliveryFeeResJson === void 0 || (_deliveryFeeResJson$o5 = deliveryFeeResJson.ok) === null || _deliveryFeeResJson$o5 === void 0 ? void 0 : _deliveryFeeResJson$o5.v4) !== null && _deliveryFeeResJson$o4 !== void 0 ? _deliveryFeeResJson$o4 : deliveryFeeResJson === null || deliveryFeeResJson === void 0 || (_deliveryFeeResJson$o6 = deliveryFeeResJson.ok) === null || _deliveryFeeResJson$o6 === void 0 ? void 0 : _deliveryFeeResJson$o6.v3) === null || _ref0 === void 0 || (_ref0 = _ref0[0]) === null || _ref0 === void 0 || (_ref0 = _ref0.fun) === null || _ref0 === void 0 ? void 0 : _ref0.fungible) : 0n;
|
|
975
999
|
nativeAsset = findNativeAssetInfoOrThrow(chain);
|
|
976
1000
|
if (!isAssetXcEqual(asset, nativeAsset)) {
|
|
977
1001
|
_context11.n = 10;
|
|
@@ -999,7 +1023,7 @@ var PolkadotJsApi = /*#__PURE__*/function () {
|
|
|
999
1023
|
}
|
|
1000
1024
|
}, _callee11, this, [[10, 12]]);
|
|
1001
1025
|
}));
|
|
1002
|
-
function getXcmPaymentApiFee(
|
|
1026
|
+
function getXcmPaymentApiFee(_x15, _x16, _x17, _x18) {
|
|
1003
1027
|
return _getXcmPaymentApiFee.apply(this, arguments);
|
|
1004
1028
|
}
|
|
1005
1029
|
return getXcmPaymentApiFee;
|
|
@@ -1046,7 +1070,7 @@ var PolkadotJsApi = /*#__PURE__*/function () {
|
|
|
1046
1070
|
}
|
|
1047
1071
|
}, _callee12, this);
|
|
1048
1072
|
}));
|
|
1049
|
-
function getBridgeHubFallbackExecFee(
|
|
1073
|
+
function getBridgeHubFallbackExecFee(_x19, _x20, _x21) {
|
|
1050
1074
|
return _getBridgeHubFallbackExecFee.apply(this, arguments);
|
|
1051
1075
|
}
|
|
1052
1076
|
return getBridgeHubFallbackExecFee;
|
|
@@ -1068,7 +1092,7 @@ var PolkadotJsApi = /*#__PURE__*/function () {
|
|
|
1068
1092
|
}
|
|
1069
1093
|
}, _callee13, this);
|
|
1070
1094
|
}));
|
|
1071
|
-
function getXcmWeight(
|
|
1095
|
+
function getXcmWeight(_x22) {
|
|
1072
1096
|
return _getXcmWeight.apply(this, arguments);
|
|
1073
1097
|
}
|
|
1074
1098
|
return getXcmWeight;
|
|
@@ -1076,13 +1100,13 @@ var PolkadotJsApi = /*#__PURE__*/function () {
|
|
|
1076
1100
|
}, {
|
|
1077
1101
|
key: "getDryRunXcm",
|
|
1078
1102
|
value: function () {
|
|
1079
|
-
var _getDryRunXcm = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee14(
|
|
1080
|
-
var
|
|
1103
|
+
var _getDryRunXcm = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee14(_ref1) {
|
|
1104
|
+
var _ref11, _ref12, _ref13;
|
|
1081
1105
|
var originLocation, xcm, asset, chain, origin, supportsDryRunApi, response, result, resultJson, isSuccess, error, failureReason, forwardedXcms, actualWeight, weight, destParaId, _fee, emitted, reversedEvents, palletsWithIssued, feeEvent, feeAmount, fee;
|
|
1082
1106
|
return _regenerator().w(function (_context14) {
|
|
1083
1107
|
while (1) switch (_context14.n) {
|
|
1084
1108
|
case 0:
|
|
1085
|
-
originLocation =
|
|
1109
|
+
originLocation = _ref1.originLocation, xcm = _ref1.xcm, asset = _ref1.asset, chain = _ref1.chain, origin = _ref1.origin;
|
|
1086
1110
|
supportsDryRunApi = getAssetsObject(chain).supportsDryRunApi;
|
|
1087
1111
|
if (supportsDryRunApi) {
|
|
1088
1112
|
_context14.n = 1;
|
|
@@ -1115,8 +1139,8 @@ var PolkadotJsApi = /*#__PURE__*/function () {
|
|
|
1115
1139
|
refTime: BigInt(actualWeight.refTime),
|
|
1116
1140
|
proofSize: BigInt(actualWeight.proofSize)
|
|
1117
1141
|
} : undefined;
|
|
1118
|
-
destParaId = forwardedXcms.length === 0 ? undefined : function (i,
|
|
1119
|
-
return i.Here ? 0 : (
|
|
1142
|
+
destParaId = forwardedXcms.length === 0 ? undefined : function (i, _ref10) {
|
|
1143
|
+
return i.Here ? 0 : (_ref10 = Array.isArray(i.x1) ? i.x1[0] : i.x1) === null || _ref10 === void 0 ? void 0 : _ref10.parachain;
|
|
1120
1144
|
}(Object.values(forwardedXcms[0])[0].interior);
|
|
1121
1145
|
if (!(hasXcmPaymentApiSupport(chain) && asset)) {
|
|
1122
1146
|
_context14.n = 5;
|
|
@@ -1142,17 +1166,17 @@ var PolkadotJsApi = /*#__PURE__*/function () {
|
|
|
1142
1166
|
emitted = result.Ok.emittedEvents; // We want to look for the last event
|
|
1143
1167
|
reversedEvents = _toConsumableArray(emitted).reverse();
|
|
1144
1168
|
palletsWithIssued = ['balances', 'foreignAssets', 'assets'];
|
|
1145
|
-
feeEvent = (
|
|
1169
|
+
feeEvent = (_ref11 = (_ref12 = (_ref13 = origin === 'Mythos' ? reversedEvents.find(function (event) {
|
|
1146
1170
|
return event.section === 'assetConversion' && event.method === 'SwapCreditExecuted';
|
|
1147
|
-
}) : undefined) !== null &&
|
|
1171
|
+
}) : undefined) !== null && _ref13 !== void 0 ? _ref13 :
|
|
1148
1172
|
// Prefer an Issued event
|
|
1149
1173
|
reversedEvents.find(function (event) {
|
|
1150
1174
|
return palletsWithIssued.includes(event.section) && event.method === 'Issued';
|
|
1151
|
-
})) !== null &&
|
|
1175
|
+
})) !== null && _ref12 !== void 0 ? _ref12 :
|
|
1152
1176
|
// Fallback to Minted event
|
|
1153
1177
|
reversedEvents.find(function (event) {
|
|
1154
1178
|
return ['balances', 'foreignAssets'].includes(event.section) && event.method === 'Minted';
|
|
1155
|
-
})) !== null &&
|
|
1179
|
+
})) !== null && _ref11 !== void 0 ? _ref11 : reversedEvents.find(function (event) {
|
|
1156
1180
|
return ['currencies', 'tokens'].includes(event.section) && event.method === 'Deposited';
|
|
1157
1181
|
});
|
|
1158
1182
|
if (feeEvent) {
|
|
@@ -1178,7 +1202,7 @@ var PolkadotJsApi = /*#__PURE__*/function () {
|
|
|
1178
1202
|
}
|
|
1179
1203
|
}, _callee14, this);
|
|
1180
1204
|
}));
|
|
1181
|
-
function getDryRunXcm(
|
|
1205
|
+
function getDryRunXcm(_x23) {
|
|
1182
1206
|
return _getDryRunXcm.apply(this, arguments);
|
|
1183
1207
|
}
|
|
1184
1208
|
return getDryRunXcm;
|
|
@@ -1216,45 +1240,27 @@ var PolkadotJsApi = /*#__PURE__*/function () {
|
|
|
1216
1240
|
}
|
|
1217
1241
|
}, {
|
|
1218
1242
|
key: "disconnect",
|
|
1219
|
-
value: function () {
|
|
1220
|
-
var
|
|
1221
|
-
|
|
1222
|
-
|
|
1223
|
-
|
|
1224
|
-
|
|
1225
|
-
|
|
1226
|
-
|
|
1227
|
-
|
|
1228
|
-
force = _args16.length > 0 && _args16[0] !== undefined ? _args16[0] : false;
|
|
1229
|
-
if (this.initialized) {
|
|
1230
|
-
_context16.n = 1;
|
|
1231
|
-
break;
|
|
1232
|
-
}
|
|
1233
|
-
return _context16.a(2, Promise.resolve());
|
|
1234
|
-
case 1:
|
|
1235
|
-
if (!(!force && !this.disconnectAllowed)) {
|
|
1236
|
-
_context16.n = 2;
|
|
1237
|
-
break;
|
|
1238
|
-
}
|
|
1239
|
-
return _context16.a(2);
|
|
1240
|
-
case 2:
|
|
1241
|
-
api = isConfig(this._config) ? (_this$_config$apiOver2 = this._config.apiOverrides) === null || _this$_config$apiOver2 === void 0 ? void 0 : _this$_config$apiOver2[this._chain] : this._config; // Disconnect api only if it was created automatically
|
|
1242
|
-
if (!(force || typeof api === 'string' || api === undefined)) {
|
|
1243
|
-
_context16.n = 3;
|
|
1244
|
-
break;
|
|
1245
|
-
}
|
|
1246
|
-
_context16.n = 3;
|
|
1247
|
-
return this.api.disconnect();
|
|
1248
|
-
case 3:
|
|
1249
|
-
return _context16.a(2);
|
|
1250
|
-
}
|
|
1251
|
-
}, _callee16, this);
|
|
1252
|
-
}));
|
|
1253
|
-
function disconnect() {
|
|
1254
|
-
return _disconnect.apply(this, arguments);
|
|
1243
|
+
value: function disconnect() {
|
|
1244
|
+
var _this$_config$apiOver2;
|
|
1245
|
+
var force = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
1246
|
+
if (!this.initialized) return Promise.resolve();
|
|
1247
|
+
if (!force && !this.disconnectAllowed) return Promise.resolve();
|
|
1248
|
+
var api = isConfig(this._config) ? (_this$_config$apiOver2 = this._config.apiOverrides) === null || _this$_config$apiOver2 === void 0 ? void 0 : _this$_config$apiOver2[this._chain] : this._config;
|
|
1249
|
+
// Own client provided, destroy only if force true
|
|
1250
|
+
if (force && _typeof(api) === 'object') {
|
|
1251
|
+
void this.api.disconnect();
|
|
1255
1252
|
}
|
|
1256
|
-
|
|
1257
|
-
|
|
1253
|
+
// Client created automatically
|
|
1254
|
+
if (typeof api === 'string' || Array.isArray(api) || api === undefined) {
|
|
1255
|
+
if (force) {
|
|
1256
|
+
void this.api.disconnect();
|
|
1257
|
+
} else {
|
|
1258
|
+
var key = api === undefined ? getChainProviders(this._chain) : api;
|
|
1259
|
+
releaseClient(key);
|
|
1260
|
+
}
|
|
1261
|
+
}
|
|
1262
|
+
return Promise.resolve();
|
|
1263
|
+
}
|
|
1258
1264
|
}, {
|
|
1259
1265
|
key: "validateSubstrateAddress",
|
|
1260
1266
|
value: function validateSubstrateAddress(address) {
|
|
@@ -1265,6 +1271,35 @@ var PolkadotJsApi = /*#__PURE__*/function () {
|
|
|
1265
1271
|
return false;
|
|
1266
1272
|
}
|
|
1267
1273
|
}
|
|
1274
|
+
}, {
|
|
1275
|
+
key: "deriveAddress",
|
|
1276
|
+
value: function deriveAddress(path) {
|
|
1277
|
+
var _createKeyringPair = createKeyringPair(path),
|
|
1278
|
+
address = _createKeyringPair.address;
|
|
1279
|
+
return address;
|
|
1280
|
+
}
|
|
1281
|
+
}, {
|
|
1282
|
+
key: "signAndSubmit",
|
|
1283
|
+
value: function () {
|
|
1284
|
+
var _signAndSubmit = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee16(tx, path) {
|
|
1285
|
+
var pair, hash;
|
|
1286
|
+
return _regenerator().w(function (_context16) {
|
|
1287
|
+
while (1) switch (_context16.n) {
|
|
1288
|
+
case 0:
|
|
1289
|
+
pair = createKeyringPair(path);
|
|
1290
|
+
_context16.n = 1;
|
|
1291
|
+
return tx.signAndSend(pair);
|
|
1292
|
+
case 1:
|
|
1293
|
+
hash = _context16.v;
|
|
1294
|
+
return _context16.a(2, hash.toHex());
|
|
1295
|
+
}
|
|
1296
|
+
}, _callee16);
|
|
1297
|
+
}));
|
|
1298
|
+
function signAndSubmit(_x24, _x25) {
|
|
1299
|
+
return _signAndSubmit.apply(this, arguments);
|
|
1300
|
+
}
|
|
1301
|
+
return signAndSubmit;
|
|
1302
|
+
}()
|
|
1268
1303
|
}]);
|
|
1269
1304
|
}();
|
|
1270
1305
|
|
|
@@ -1310,28 +1345,28 @@ var getBalance = createPolkadotJsApiCall(getBalance$1);
|
|
|
1310
1345
|
var claimAssets = createPolkadotJsApiCall(claimAssets$1);
|
|
1311
1346
|
|
|
1312
1347
|
var assets = /*#__PURE__*/Object.freeze({
|
|
1313
|
-
|
|
1314
|
-
|
|
1315
|
-
|
|
1316
|
-
|
|
1317
|
-
|
|
1318
|
-
|
|
1319
|
-
|
|
1320
|
-
|
|
1321
|
-
|
|
1322
|
-
|
|
1323
|
-
|
|
1324
|
-
|
|
1325
|
-
|
|
1326
|
-
|
|
1327
|
-
|
|
1328
|
-
|
|
1329
|
-
|
|
1330
|
-
|
|
1331
|
-
|
|
1332
|
-
|
|
1333
|
-
|
|
1334
|
-
|
|
1348
|
+
__proto__: null,
|
|
1349
|
+
Foreign: Foreign,
|
|
1350
|
+
ForeignAbstract: ForeignAbstract,
|
|
1351
|
+
Native: Native,
|
|
1352
|
+
Override: Override,
|
|
1353
|
+
claimAssets: claimAssets,
|
|
1354
|
+
findAssetInfo: findAssetInfo,
|
|
1355
|
+
getAllAssetsSymbols: getAllAssetsSymbols,
|
|
1356
|
+
getAssetDecimals: getAssetDecimals,
|
|
1357
|
+
getAssetId: getAssetId,
|
|
1358
|
+
getAssets: getAssets,
|
|
1359
|
+
getAssetsObject: getAssetsObject,
|
|
1360
|
+
getBalance: getBalance,
|
|
1361
|
+
getExistentialDeposit: getExistentialDeposit,
|
|
1362
|
+
getNativeAssetSymbol: getNativeAssetSymbol,
|
|
1363
|
+
getNativeAssets: getNativeAssets,
|
|
1364
|
+
getOtherAssets: getOtherAssets,
|
|
1365
|
+
getRelayChainSymbol: getRelayChainSymbol,
|
|
1366
|
+
getSupportedAssets: getSupportedAssets,
|
|
1367
|
+
getTChain: getTChain,
|
|
1368
|
+
hasSupportForAsset: hasSupportForAsset,
|
|
1369
|
+
isChainEvm: isChainEvm
|
|
1335
1370
|
});
|
|
1336
1371
|
|
|
1337
1372
|
var convertSs58 = function convertSs58(address, chain) {
|
|
@@ -1871,16 +1906,16 @@ var getBridgeStatus = /*#__PURE__*/function () {
|
|
|
1871
1906
|
}();
|
|
1872
1907
|
|
|
1873
1908
|
var transfer = /*#__PURE__*/Object.freeze({
|
|
1874
|
-
|
|
1875
|
-
|
|
1876
|
-
|
|
1877
|
-
|
|
1878
|
-
|
|
1879
|
-
|
|
1880
|
-
|
|
1881
|
-
|
|
1882
|
-
|
|
1883
|
-
|
|
1909
|
+
__proto__: null,
|
|
1910
|
+
approveToken: approveToken,
|
|
1911
|
+
depositToken: depositToken,
|
|
1912
|
+
dryRun: dryRun,
|
|
1913
|
+
dryRunOrigin: dryRunOrigin,
|
|
1914
|
+
getBridgeStatus: getBridgeStatus,
|
|
1915
|
+
getParaEthTransferFees: getParaEthTransferFees,
|
|
1916
|
+
getTokenBalance: getTokenBalance,
|
|
1917
|
+
send: send,
|
|
1918
|
+
transferEthToPolkadot: transferEthToPolkadot
|
|
1884
1919
|
});
|
|
1885
1920
|
|
|
1886
1921
|
export { Builder, EvmBuilder, approveToken, assets, claimAssets, convertSs58, createChainClient, depositToken, dryRun, dryRunOrigin, getBalance, getBridgeStatus, getParaEthTransferFees, getTokenBalance, send, transferEthToPolkadot, transfer as xcmPallet };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@paraspell/sdk-pjs",
|
|
3
|
-
"version": "12.1
|
|
3
|
+
"version": "12.2.1",
|
|
4
4
|
"description": "Polkadot.js based SDK for ParaSpell XCM/XCMP tool for developers",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"@snowbridge/contract-types": "0.2.20",
|
|
28
28
|
"ethers": "6.15.0",
|
|
29
29
|
"viem": "2.40.3",
|
|
30
|
-
"@paraspell/sdk-core": "12.1
|
|
30
|
+
"@paraspell/sdk-core": "12.2.1"
|
|
31
31
|
},
|
|
32
32
|
"peerDependencies": {
|
|
33
33
|
"@polkadot/api": ">= 16.0 < 17",
|