@paraspell/sdk-pjs 8.6.0 → 8.6.2
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/dist/index.cjs +998 -1020
- package/dist/index.d.ts +72 -75
- package/dist/index.mjs +802 -823
- package/package.json +3 -3
package/dist/index.cjs
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var sdkCore = require('@paraspell/sdk-core');
|
|
4
|
-
var api = require('@
|
|
5
|
-
var contractTypes = require('@snowbridge/contract-types');
|
|
6
|
-
var api$1 = require('@polkadot/api');
|
|
4
|
+
var api = require('@polkadot/api');
|
|
7
5
|
var types = require('@polkadot/types');
|
|
8
|
-
var utilCrypto = require('@polkadot/util-crypto');
|
|
9
6
|
var util = require('@polkadot/util');
|
|
7
|
+
var utilCrypto = require('@polkadot/util-crypto');
|
|
8
|
+
var api$1 = require('@snowbridge/api');
|
|
9
|
+
var contractTypes = require('@snowbridge/contract-types');
|
|
10
10
|
|
|
11
11
|
function _arrayLikeToArray(r, a) {
|
|
12
12
|
(null == a || a > r.length) && (a = r.length);
|
|
@@ -437,1075 +437,1028 @@ function _unsupportedIterableToArray(r, a) {
|
|
|
437
437
|
}
|
|
438
438
|
}
|
|
439
439
|
|
|
440
|
-
var
|
|
441
|
-
return
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
polkadot: {
|
|
447
|
-
assetHubParaId: config.ASSET_HUB_PARAID,
|
|
448
|
-
bridgeHubParaId: config.BRIDGE_HUB_PARAID,
|
|
449
|
-
parachains: config.PARACHAINS,
|
|
450
|
-
relaychain: config.RELAY_CHAIN_URL
|
|
451
|
-
},
|
|
452
|
-
appContracts: {
|
|
453
|
-
gateway: config.GATEWAY_CONTRACT,
|
|
454
|
-
beefy: config.BEEFY_CONTRACT
|
|
455
|
-
}
|
|
440
|
+
var lowercaseFirstLetter = function lowercaseFirstLetter(value) {
|
|
441
|
+
return value.charAt(0).toLowerCase() + value.slice(1);
|
|
442
|
+
};
|
|
443
|
+
var snakeToCamel = function snakeToCamel(str) {
|
|
444
|
+
return str.toLowerCase().replace(/([-_][a-z])/g, function (group) {
|
|
445
|
+
return group.toUpperCase().replace('-', '').replace('_', '');
|
|
456
446
|
});
|
|
457
447
|
};
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
448
|
+
var PolkadotJsApi = /*#__PURE__*/function () {
|
|
449
|
+
function PolkadotJsApi() {
|
|
450
|
+
_classCallCheck(this, PolkadotJsApi);
|
|
451
|
+
this.initialized = false;
|
|
452
|
+
this.disconnectAllowed = true;
|
|
453
|
+
}
|
|
454
|
+
return _createClass(PolkadotJsApi, [{
|
|
455
|
+
key: "setApi",
|
|
456
|
+
value: function setApi(api) {
|
|
457
|
+
this._api = api;
|
|
458
|
+
}
|
|
459
|
+
}, {
|
|
460
|
+
key: "getApiOrUrl",
|
|
461
|
+
value: function getApiOrUrl() {
|
|
462
|
+
return this._api;
|
|
463
|
+
}
|
|
464
|
+
}, {
|
|
465
|
+
key: "getApi",
|
|
466
|
+
value: function getApi() {
|
|
467
|
+
return this.api;
|
|
468
|
+
}
|
|
469
|
+
}, {
|
|
470
|
+
key: "init",
|
|
471
|
+
value: function () {
|
|
472
|
+
var _init = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(node) {
|
|
473
|
+
var _this$_api;
|
|
474
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
475
|
+
while (1) switch (_context.prev = _context.next) {
|
|
476
|
+
case 0:
|
|
477
|
+
if (!this.initialized) {
|
|
478
|
+
_context.next = 2;
|
|
479
|
+
break;
|
|
480
|
+
}
|
|
481
|
+
return _context.abrupt("return");
|
|
482
|
+
case 2:
|
|
483
|
+
if (!(typeof this._api === 'string' || this._api instanceof Array)) {
|
|
484
|
+
_context.next = 8;
|
|
485
|
+
break;
|
|
486
|
+
}
|
|
487
|
+
_context.next = 5;
|
|
488
|
+
return this.createApiInstance(this._api);
|
|
489
|
+
case 5:
|
|
490
|
+
this.api = _context.sent;
|
|
491
|
+
_context.next = 16;
|
|
492
|
+
break;
|
|
493
|
+
case 8:
|
|
494
|
+
if (!((_this$_api = this._api) !== null && _this$_api !== void 0)) {
|
|
495
|
+
_context.next = 12;
|
|
496
|
+
break;
|
|
497
|
+
}
|
|
498
|
+
_context.t0 = _this$_api;
|
|
499
|
+
_context.next = 15;
|
|
500
|
+
break;
|
|
501
|
+
case 12:
|
|
502
|
+
_context.next = 14;
|
|
503
|
+
return sdkCore.createApiInstanceForNode(this, node);
|
|
504
|
+
case 14:
|
|
505
|
+
_context.t0 = _context.sent;
|
|
506
|
+
case 15:
|
|
507
|
+
this.api = _context.t0;
|
|
508
|
+
case 16:
|
|
509
|
+
this.initialized = true;
|
|
510
|
+
case 17:
|
|
511
|
+
case "end":
|
|
512
|
+
return _context.stop();
|
|
491
513
|
}
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
514
|
+
}, _callee, this);
|
|
515
|
+
}));
|
|
516
|
+
function init(_x) {
|
|
517
|
+
return _init.apply(this, arguments);
|
|
518
|
+
}
|
|
519
|
+
return init;
|
|
520
|
+
}()
|
|
521
|
+
}, {
|
|
522
|
+
key: "createApiInstance",
|
|
523
|
+
value: function () {
|
|
524
|
+
var _createApiInstance = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(wsUrl) {
|
|
525
|
+
var wsProvider;
|
|
526
|
+
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
527
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
528
|
+
case 0:
|
|
529
|
+
wsProvider = new api.WsProvider(wsUrl);
|
|
530
|
+
return _context2.abrupt("return", api.ApiPromise.create({
|
|
531
|
+
provider: wsProvider
|
|
532
|
+
}));
|
|
533
|
+
case 2:
|
|
534
|
+
case "end":
|
|
535
|
+
return _context2.stop();
|
|
497
536
|
}
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
537
|
+
}, _callee2);
|
|
538
|
+
}));
|
|
539
|
+
function createApiInstance(_x2) {
|
|
540
|
+
return _createApiInstance.apply(this, arguments);
|
|
541
|
+
}
|
|
542
|
+
return createApiInstance;
|
|
543
|
+
}()
|
|
544
|
+
}, {
|
|
545
|
+
key: "accountToHex",
|
|
546
|
+
value: function accountToHex(address) {
|
|
547
|
+
var isPrefixed = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
548
|
+
if (util.isHex(address)) return address;
|
|
549
|
+
var uint8Array = utilCrypto.decodeAddress(address);
|
|
550
|
+
return util.u8aToHex(uint8Array, -1, isPrefixed);
|
|
551
|
+
}
|
|
552
|
+
}, {
|
|
553
|
+
key: "callTxMethod",
|
|
554
|
+
value: function callTxMethod(_ref) {
|
|
555
|
+
var _this$api$tx$moduleLo;
|
|
556
|
+
var module = _ref.module,
|
|
557
|
+
section = _ref.section,
|
|
558
|
+
parameters = _ref.parameters;
|
|
559
|
+
var values = Object.values(parameters);
|
|
560
|
+
var moduleLowerCase = lowercaseFirstLetter(module);
|
|
561
|
+
var sectionCamelCase = snakeToCamel(section);
|
|
562
|
+
return (_this$api$tx$moduleLo = this.api.tx[moduleLowerCase])[sectionCamelCase].apply(_this$api$tx$moduleLo, values);
|
|
563
|
+
}
|
|
564
|
+
}, {
|
|
565
|
+
key: "callBatchMethod",
|
|
566
|
+
value: function callBatchMethod(calls, mode) {
|
|
567
|
+
var section = mode === sdkCore.BatchMode.BATCH_ALL ? 'batchAll' : 'batch';
|
|
568
|
+
return this.api.tx.utility[section](calls);
|
|
569
|
+
}
|
|
570
|
+
}, {
|
|
571
|
+
key: "objectToHex",
|
|
572
|
+
value: function objectToHex(obj, typeName) {
|
|
573
|
+
return Promise.resolve(this.api.createType(typeName, obj).toHex());
|
|
574
|
+
}
|
|
575
|
+
}, {
|
|
576
|
+
key: "hexToUint8a",
|
|
577
|
+
value: function hexToUint8a(hex) {
|
|
578
|
+
return util.hexToU8a(hex);
|
|
579
|
+
}
|
|
580
|
+
}, {
|
|
581
|
+
key: "stringToUint8a",
|
|
582
|
+
value: function stringToUint8a(str) {
|
|
583
|
+
return util.stringToU8a(str);
|
|
584
|
+
}
|
|
585
|
+
}, {
|
|
586
|
+
key: "calculateTransactionFee",
|
|
587
|
+
value: function () {
|
|
588
|
+
var _calculateTransactionFee = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3(tx, address) {
|
|
589
|
+
var _yield$tx$paymentInfo, partialFee;
|
|
590
|
+
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
591
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
592
|
+
case 0:
|
|
593
|
+
_context3.next = 2;
|
|
594
|
+
return tx.paymentInfo(address);
|
|
595
|
+
case 2:
|
|
596
|
+
_yield$tx$paymentInfo = _context3.sent;
|
|
597
|
+
partialFee = _yield$tx$paymentInfo.partialFee;
|
|
598
|
+
return _context3.abrupt("return", partialFee.toBigInt());
|
|
599
|
+
case 5:
|
|
600
|
+
case "end":
|
|
601
|
+
return _context3.stop();
|
|
504
602
|
}
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
603
|
+
}, _callee3);
|
|
604
|
+
}));
|
|
605
|
+
function calculateTransactionFee(_x3, _x4) {
|
|
606
|
+
return _calculateTransactionFee.apply(this, arguments);
|
|
607
|
+
}
|
|
608
|
+
return calculateTransactionFee;
|
|
609
|
+
}()
|
|
610
|
+
}, {
|
|
611
|
+
key: "getBalanceNative",
|
|
612
|
+
value: function () {
|
|
613
|
+
var _getBalanceNative = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee4(address) {
|
|
614
|
+
var response;
|
|
615
|
+
return _regeneratorRuntime().wrap(function _callee4$(_context4) {
|
|
616
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
617
|
+
case 0:
|
|
618
|
+
_context4.next = 2;
|
|
619
|
+
return this.api.query.system.account(address);
|
|
620
|
+
case 2:
|
|
621
|
+
response = _context4.sent;
|
|
622
|
+
return _context4.abrupt("return", response.data.free.toBigInt());
|
|
623
|
+
case 4:
|
|
624
|
+
case "end":
|
|
625
|
+
return _context4.stop();
|
|
513
626
|
}
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
return api.assetsV2.fromContext(context);
|
|
540
|
-
case 24:
|
|
541
|
-
_context.t4 = _context.sent;
|
|
542
|
-
_context.t5 = (0, _context.t2)(_context.t3, _context.t4);
|
|
543
|
-
_context.t6 = overrides;
|
|
544
|
-
_context.t7 = (0, _context.t1)(_context.t5, _context.t6);
|
|
545
|
-
_context.next = 30;
|
|
546
|
-
return _context.t0.buildRegistry.call(_context.t0, _context.t7);
|
|
547
|
-
case 30:
|
|
548
|
-
registry = _context.sent;
|
|
549
|
-
_context.next = 33;
|
|
550
|
-
return api.toPolkadotV2.getDeliveryFee(context.gateway(), registry, ethAsset.assetId, destParaId);
|
|
551
|
-
case 33:
|
|
552
|
-
fee = _context.sent;
|
|
553
|
-
_context.next = 36;
|
|
554
|
-
return signer.getAddress();
|
|
555
|
-
case 36:
|
|
556
|
-
sourceAddress = _context.sent;
|
|
557
|
-
_context.next = 39;
|
|
558
|
-
return api.toPolkadotV2.createTransfer(registry, sourceAddress, address, ethAsset.assetId, destParaId, BigInt(currency.amount), fee);
|
|
559
|
-
case 39:
|
|
560
|
-
transfer = _context.sent;
|
|
561
|
-
_context.t8 = api.toPolkadotV2;
|
|
562
|
-
_context.t9 = context.ethereum();
|
|
563
|
-
_context.t10 = context.gateway();
|
|
564
|
-
_context.next = 45;
|
|
565
|
-
return context.bridgeHub();
|
|
566
|
-
case 45:
|
|
567
|
-
_context.t11 = _context.sent;
|
|
568
|
-
_context.next = 48;
|
|
569
|
-
return context.assetHub();
|
|
570
|
-
case 48:
|
|
571
|
-
_context.t12 = _context.sent;
|
|
572
|
-
if (!(destParaId !== sdkCore.getParaId('AssetHubPolkadot'))) {
|
|
573
|
-
_context.next = 55;
|
|
574
|
-
break;
|
|
575
|
-
}
|
|
576
|
-
_context.next = 52;
|
|
577
|
-
return context.parachain(destParaId);
|
|
578
|
-
case 52:
|
|
579
|
-
_context.t13 = _context.sent;
|
|
580
|
-
_context.next = 56;
|
|
581
|
-
break;
|
|
582
|
-
case 55:
|
|
583
|
-
_context.t13 = undefined;
|
|
584
|
-
case 56:
|
|
585
|
-
_context.t14 = _context.t13;
|
|
586
|
-
_context.t15 = {
|
|
587
|
-
ethereum: _context.t9,
|
|
588
|
-
gateway: _context.t10,
|
|
589
|
-
bridgeHub: _context.t11,
|
|
590
|
-
assetHub: _context.t12,
|
|
591
|
-
destParachain: _context.t14
|
|
592
|
-
};
|
|
593
|
-
_context.t16 = transfer;
|
|
594
|
-
_context.next = 61;
|
|
595
|
-
return _context.t8.validateTransfer.call(_context.t8, _context.t15, _context.t16);
|
|
596
|
-
case 61:
|
|
597
|
-
validation = _context.sent;
|
|
598
|
-
if (!validation.logs.find(function (l) {
|
|
599
|
-
return l.kind == api.toPolkadotV2.ValidationKind.Error;
|
|
600
|
-
})) {
|
|
601
|
-
_context.next = 64;
|
|
602
|
-
break;
|
|
627
|
+
}, _callee4, this);
|
|
628
|
+
}));
|
|
629
|
+
function getBalanceNative(_x5) {
|
|
630
|
+
return _getBalanceNative.apply(this, arguments);
|
|
631
|
+
}
|
|
632
|
+
return getBalanceNative;
|
|
633
|
+
}()
|
|
634
|
+
}, {
|
|
635
|
+
key: "getBalanceForeignPolkadotXcm",
|
|
636
|
+
value: function () {
|
|
637
|
+
var _getBalanceForeignPolkadotXcm = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee5(address, id) {
|
|
638
|
+
var parsedId, response, obj;
|
|
639
|
+
return _regeneratorRuntime().wrap(function _callee5$(_context5) {
|
|
640
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
641
|
+
case 0:
|
|
642
|
+
parsedId = new types.u32(this.api.registry, id);
|
|
643
|
+
_context5.next = 3;
|
|
644
|
+
return this.api.query.assets.account(parsedId, address);
|
|
645
|
+
case 3:
|
|
646
|
+
response = _context5.sent;
|
|
647
|
+
obj = response.toJSON();
|
|
648
|
+
return _context5.abrupt("return", obj.balance ? BigInt(obj.balance) : 0n);
|
|
649
|
+
case 6:
|
|
650
|
+
case "end":
|
|
651
|
+
return _context5.stop();
|
|
603
652
|
}
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
653
|
+
}, _callee5, this);
|
|
654
|
+
}));
|
|
655
|
+
function getBalanceForeignPolkadotXcm(_x6, _x7) {
|
|
656
|
+
return _getBalanceForeignPolkadotXcm.apply(this, arguments);
|
|
657
|
+
}
|
|
658
|
+
return getBalanceForeignPolkadotXcm;
|
|
659
|
+
}()
|
|
660
|
+
}, {
|
|
661
|
+
key: "getMythosForeignBalance",
|
|
662
|
+
value: function () {
|
|
663
|
+
var _getMythosForeignBalance = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee6(address) {
|
|
664
|
+
var response, obj;
|
|
665
|
+
return _regeneratorRuntime().wrap(function _callee6$(_context6) {
|
|
666
|
+
while (1) switch (_context6.prev = _context6.next) {
|
|
667
|
+
case 0:
|
|
668
|
+
_context6.next = 2;
|
|
669
|
+
return this.api.query.balances.account(address);
|
|
670
|
+
case 2:
|
|
671
|
+
response = _context6.sent;
|
|
672
|
+
obj = response.toJSON();
|
|
673
|
+
return _context6.abrupt("return", obj.free ? BigInt(obj.free) : 0n);
|
|
674
|
+
case 5:
|
|
675
|
+
case "end":
|
|
676
|
+
return _context6.stop();
|
|
622
677
|
}
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
678
|
+
}, _callee6, this);
|
|
679
|
+
}));
|
|
680
|
+
function getMythosForeignBalance(_x8) {
|
|
681
|
+
return _getMythosForeignBalance.apply(this, arguments);
|
|
682
|
+
}
|
|
683
|
+
return getMythosForeignBalance;
|
|
684
|
+
}()
|
|
685
|
+
}, {
|
|
686
|
+
key: "getAssetHubForeignBalance",
|
|
687
|
+
value: function () {
|
|
688
|
+
var _getAssetHubForeignBalance = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee7(address, multiLocation) {
|
|
689
|
+
var response, obj;
|
|
690
|
+
return _regeneratorRuntime().wrap(function _callee7$(_context7) {
|
|
691
|
+
while (1) switch (_context7.prev = _context7.next) {
|
|
692
|
+
case 0:
|
|
693
|
+
_context7.next = 2;
|
|
694
|
+
return this.api.query.foreignAssets.account(multiLocation, address);
|
|
695
|
+
case 2:
|
|
696
|
+
response = _context7.sent;
|
|
697
|
+
obj = response.toJSON();
|
|
698
|
+
return _context7.abrupt("return", BigInt(obj === null || !obj.balance ? 0 : obj.balance));
|
|
699
|
+
case 5:
|
|
700
|
+
case "end":
|
|
701
|
+
return _context7.stop();
|
|
632
702
|
}
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
messageReceipt: messageReceipt
|
|
638
|
-
});
|
|
639
|
-
case 79:
|
|
640
|
-
case "end":
|
|
641
|
-
return _context.stop();
|
|
703
|
+
}, _callee7, this);
|
|
704
|
+
}));
|
|
705
|
+
function getAssetHubForeignBalance(_x9, _x10) {
|
|
706
|
+
return _getAssetHubForeignBalance.apply(this, arguments);
|
|
642
707
|
}
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
break;
|
|
708
|
+
return getAssetHubForeignBalance;
|
|
709
|
+
}()
|
|
710
|
+
}, {
|
|
711
|
+
key: "getForeignAssetsByIdBalance",
|
|
712
|
+
value: function () {
|
|
713
|
+
var _getForeignAssetsByIdBalance = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee8(address, assetId) {
|
|
714
|
+
var response, obj;
|
|
715
|
+
return _regeneratorRuntime().wrap(function _callee8$(_context8) {
|
|
716
|
+
while (1) switch (_context8.prev = _context8.next) {
|
|
717
|
+
case 0:
|
|
718
|
+
_context8.next = 2;
|
|
719
|
+
return this.api.query.foreignAssets.account(assetId, address);
|
|
720
|
+
case 2:
|
|
721
|
+
response = _context8.sent;
|
|
722
|
+
obj = response.toJSON();
|
|
723
|
+
return _context8.abrupt("return", BigInt(obj === null || !obj.balance ? 0 : obj.balance));
|
|
724
|
+
case 5:
|
|
725
|
+
case "end":
|
|
726
|
+
return _context8.stop();
|
|
663
727
|
}
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
return weth9.deposit({
|
|
669
|
-
value: amount
|
|
670
|
-
});
|
|
671
|
-
case 7:
|
|
672
|
-
result = _context.sent;
|
|
673
|
-
_context.next = 10;
|
|
674
|
-
return result.wait();
|
|
675
|
-
case 10:
|
|
676
|
-
receipt = _context.sent;
|
|
677
|
-
return _context.abrupt("return", {
|
|
678
|
-
result: result,
|
|
679
|
-
receipt: receipt
|
|
680
|
-
});
|
|
681
|
-
case 12:
|
|
682
|
-
case "end":
|
|
683
|
-
return _context.stop();
|
|
728
|
+
}, _callee8, this);
|
|
729
|
+
}));
|
|
730
|
+
function getForeignAssetsByIdBalance(_x11, _x12) {
|
|
731
|
+
return _getForeignAssetsByIdBalance.apply(this, arguments);
|
|
684
732
|
}
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
733
|
+
return getForeignAssetsByIdBalance;
|
|
734
|
+
}()
|
|
735
|
+
}, {
|
|
736
|
+
key: "getBalanceForeignBifrost",
|
|
737
|
+
value: function () {
|
|
738
|
+
var _getBalanceForeignBifrost = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee9(address, asset) {
|
|
739
|
+
var currencySelection, response, accountData;
|
|
740
|
+
return _regeneratorRuntime().wrap(function _callee9$(_context9) {
|
|
741
|
+
while (1) switch (_context9.prev = _context9.next) {
|
|
742
|
+
case 0:
|
|
743
|
+
currencySelection = sdkCore.getNode('BifrostPolkadot').getCurrencySelection(asset);
|
|
744
|
+
_context9.next = 3;
|
|
745
|
+
return this.api.query.tokens.accounts(address, currencySelection);
|
|
746
|
+
case 3:
|
|
747
|
+
response = _context9.sent;
|
|
748
|
+
accountData = response ? response : null;
|
|
749
|
+
return _context9.abrupt("return", accountData ? BigInt(accountData.free.toString()) : 0n);
|
|
750
|
+
case 6:
|
|
751
|
+
case "end":
|
|
752
|
+
return _context9.stop();
|
|
705
753
|
}
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
return weth9.approve(env.config.GATEWAY_CONTRACT, amount);
|
|
711
|
-
case 7:
|
|
712
|
-
result = _context.sent;
|
|
713
|
-
_context.next = 10;
|
|
714
|
-
return result.wait();
|
|
715
|
-
case 10:
|
|
716
|
-
receipt = _context.sent;
|
|
717
|
-
return _context.abrupt("return", {
|
|
718
|
-
result: result,
|
|
719
|
-
receipt: receipt
|
|
720
|
-
});
|
|
721
|
-
case 12:
|
|
722
|
-
case "end":
|
|
723
|
-
return _context.stop();
|
|
754
|
+
}, _callee9, this);
|
|
755
|
+
}));
|
|
756
|
+
function getBalanceForeignBifrost(_x13, _x14) {
|
|
757
|
+
return _getBalanceForeignBifrost.apply(this, arguments);
|
|
724
758
|
}
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
759
|
+
return getBalanceForeignBifrost;
|
|
760
|
+
}()
|
|
761
|
+
}, {
|
|
762
|
+
key: "getBalanceNativeAcala",
|
|
763
|
+
value: function () {
|
|
764
|
+
var _getBalanceNativeAcala = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee10(address, symbol) {
|
|
765
|
+
var response, accountData;
|
|
766
|
+
return _regeneratorRuntime().wrap(function _callee10$(_context10) {
|
|
767
|
+
while (1) switch (_context10.prev = _context10.next) {
|
|
768
|
+
case 0:
|
|
769
|
+
_context10.next = 2;
|
|
770
|
+
return this.api.query.tokens.accounts(address, {
|
|
771
|
+
Token: symbol
|
|
772
|
+
});
|
|
773
|
+
case 2:
|
|
774
|
+
response = _context10.sent;
|
|
775
|
+
accountData = response ? response : null;
|
|
776
|
+
return _context10.abrupt("return", accountData ? BigInt(accountData.free.toString()) : 0n);
|
|
777
|
+
case 5:
|
|
778
|
+
case "end":
|
|
779
|
+
return _context10.stop();
|
|
745
780
|
}
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
return signer.getAddress();
|
|
751
|
-
case 7:
|
|
752
|
-
address = _context.sent;
|
|
753
|
-
return _context.abrupt("return", weth9.balanceOf(address));
|
|
754
|
-
case 9:
|
|
755
|
-
case "end":
|
|
756
|
-
return _context.stop();
|
|
781
|
+
}, _callee10, this);
|
|
782
|
+
}));
|
|
783
|
+
function getBalanceNativeAcala(_x15, _x16) {
|
|
784
|
+
return _getBalanceNativeAcala.apply(this, arguments);
|
|
757
785
|
}
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
return function getTokenBalance(_x, _x2) {
|
|
761
|
-
return _ref.apply(this, arguments);
|
|
762
|
-
};
|
|
763
|
-
}();
|
|
764
|
-
|
|
765
|
-
var lowercaseFirstLetter = function lowercaseFirstLetter(value) {
|
|
766
|
-
return value.charAt(0).toLowerCase() + value.slice(1);
|
|
767
|
-
};
|
|
768
|
-
var snakeToCamel = function snakeToCamel(str) {
|
|
769
|
-
return str.toLowerCase().replace(/([-_][a-z])/g, function (group) {
|
|
770
|
-
return group.toUpperCase().replace('-', '').replace('_', '');
|
|
771
|
-
});
|
|
772
|
-
};
|
|
773
|
-
var PolkadotJsApi = /*#__PURE__*/function () {
|
|
774
|
-
function PolkadotJsApi() {
|
|
775
|
-
_classCallCheck(this, PolkadotJsApi);
|
|
776
|
-
this.initialized = false;
|
|
777
|
-
this.disconnectAllowed = true;
|
|
778
|
-
}
|
|
779
|
-
return _createClass(PolkadotJsApi, [{
|
|
780
|
-
key: "setApi",
|
|
781
|
-
value: function setApi(api) {
|
|
782
|
-
this._api = api;
|
|
783
|
-
}
|
|
784
|
-
}, {
|
|
785
|
-
key: "getApiOrUrl",
|
|
786
|
-
value: function getApiOrUrl() {
|
|
787
|
-
return this._api;
|
|
788
|
-
}
|
|
789
|
-
}, {
|
|
790
|
-
key: "getApi",
|
|
791
|
-
value: function getApi() {
|
|
792
|
-
return this.api;
|
|
793
|
-
}
|
|
786
|
+
return getBalanceNativeAcala;
|
|
787
|
+
}()
|
|
794
788
|
}, {
|
|
795
|
-
key: "
|
|
789
|
+
key: "getBalanceForeignXTokens",
|
|
796
790
|
value: function () {
|
|
797
|
-
var
|
|
798
|
-
var
|
|
799
|
-
return _regeneratorRuntime().wrap(function
|
|
800
|
-
while (1) switch (
|
|
791
|
+
var _getBalanceForeignXTokens = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee11(node, address, asset) {
|
|
792
|
+
var pallet, response, entry, accountData;
|
|
793
|
+
return _regeneratorRuntime().wrap(function _callee11$(_context11) {
|
|
794
|
+
while (1) switch (_context11.prev = _context11.next) {
|
|
801
795
|
case 0:
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
}
|
|
806
|
-
return _context.abrupt("return");
|
|
807
|
-
case 2:
|
|
808
|
-
if (!(typeof this._api === 'string' || this._api instanceof Array)) {
|
|
809
|
-
_context.next = 8;
|
|
810
|
-
break;
|
|
796
|
+
pallet = 'tokens';
|
|
797
|
+
if (node === 'Centrifuge' || node === 'Altair') {
|
|
798
|
+
pallet = 'ormlTokens';
|
|
811
799
|
}
|
|
812
|
-
|
|
813
|
-
return this.
|
|
814
|
-
case
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
800
|
+
_context11.next = 4;
|
|
801
|
+
return this.api.query[pallet].accounts.entries(address);
|
|
802
|
+
case 4:
|
|
803
|
+
response = _context11.sent;
|
|
804
|
+
entry = response.find(function (_ref2) {
|
|
805
|
+
var _asset$symbol, _asset$assetId, _assetItem$toHuman, _asset$symbol2, _assetItem$toHuman2, _asset$assetId2;
|
|
806
|
+
var _ref3 = _slicedToArray(_ref2, 2),
|
|
807
|
+
_ref3$0$args = _slicedToArray(_ref3[0].args, 2);
|
|
808
|
+
_ref3$0$args[0];
|
|
809
|
+
var assetItem = _ref3$0$args[1];
|
|
810
|
+
_ref3[1];
|
|
811
|
+
var assetSymbol = assetItem.toString().toLowerCase();
|
|
812
|
+
return assetSymbol === ((_asset$symbol = asset.symbol) === null || _asset$symbol === void 0 ? void 0 : _asset$symbol.toLowerCase()) || sdkCore.isForeignAsset(asset) && assetSymbol === ((_asset$assetId = asset.assetId) === null || _asset$assetId === void 0 ? void 0 : _asset$assetId.toLowerCase()) || Object.values((_assetItem$toHuman = assetItem.toHuman()) !== null && _assetItem$toHuman !== void 0 ? _assetItem$toHuman : {}).toString().toLowerCase() === ((_asset$symbol2 = asset.symbol) === null || _asset$symbol2 === void 0 ? void 0 : _asset$symbol2.toLowerCase()) || sdkCore.isForeignAsset(asset) && Object.values((_assetItem$toHuman2 = assetItem.toHuman()) !== null && _assetItem$toHuman2 !== void 0 ? _assetItem$toHuman2 : {}).toString().toLowerCase() === ((_asset$assetId2 = asset.assetId) === null || _asset$assetId2 === void 0 ? void 0 : _asset$assetId2.toLowerCase());
|
|
813
|
+
});
|
|
814
|
+
accountData = entry ? entry[1] : null;
|
|
815
|
+
return _context11.abrupt("return", accountData ? BigInt(accountData.free.toString()) : 0n);
|
|
818
816
|
case 8:
|
|
819
|
-
if (!((_this$_api = this._api) !== null && _this$_api !== void 0)) {
|
|
820
|
-
_context.next = 12;
|
|
821
|
-
break;
|
|
822
|
-
}
|
|
823
|
-
_context.t0 = _this$_api;
|
|
824
|
-
_context.next = 15;
|
|
825
|
-
break;
|
|
826
|
-
case 12:
|
|
827
|
-
_context.next = 14;
|
|
828
|
-
return sdkCore.createApiInstanceForNode(this, node);
|
|
829
|
-
case 14:
|
|
830
|
-
_context.t0 = _context.sent;
|
|
831
|
-
case 15:
|
|
832
|
-
this.api = _context.t0;
|
|
833
|
-
case 16:
|
|
834
|
-
this.initialized = true;
|
|
835
|
-
case 17:
|
|
836
817
|
case "end":
|
|
837
|
-
return
|
|
818
|
+
return _context11.stop();
|
|
838
819
|
}
|
|
839
|
-
},
|
|
820
|
+
}, _callee11, this);
|
|
840
821
|
}));
|
|
841
|
-
function
|
|
842
|
-
return
|
|
822
|
+
function getBalanceForeignXTokens(_x17, _x18, _x19) {
|
|
823
|
+
return _getBalanceForeignXTokens.apply(this, arguments);
|
|
843
824
|
}
|
|
844
|
-
return
|
|
825
|
+
return getBalanceForeignXTokens;
|
|
845
826
|
}()
|
|
846
827
|
}, {
|
|
847
|
-
key: "
|
|
828
|
+
key: "getBalanceForeignAssetsAccount",
|
|
848
829
|
value: function () {
|
|
849
|
-
var
|
|
850
|
-
var
|
|
851
|
-
return _regeneratorRuntime().wrap(function
|
|
852
|
-
while (1) switch (
|
|
830
|
+
var _getBalanceForeignAssetsAccount = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee12(address, assetId) {
|
|
831
|
+
var response, obj;
|
|
832
|
+
return _regeneratorRuntime().wrap(function _callee12$(_context12) {
|
|
833
|
+
while (1) switch (_context12.prev = _context12.next) {
|
|
853
834
|
case 0:
|
|
854
|
-
|
|
855
|
-
return
|
|
856
|
-
provider: wsProvider
|
|
857
|
-
}));
|
|
835
|
+
_context12.next = 2;
|
|
836
|
+
return this.api.query.assets.account(assetId, address);
|
|
858
837
|
case 2:
|
|
838
|
+
response = _context12.sent;
|
|
839
|
+
obj = response.toJSON();
|
|
840
|
+
return _context12.abrupt("return", BigInt(obj === null || !obj.balance ? 0 : obj.balance));
|
|
841
|
+
case 5:
|
|
859
842
|
case "end":
|
|
860
|
-
return
|
|
843
|
+
return _context12.stop();
|
|
861
844
|
}
|
|
862
|
-
},
|
|
845
|
+
}, _callee12, this);
|
|
863
846
|
}));
|
|
864
|
-
function
|
|
865
|
-
return
|
|
847
|
+
function getBalanceForeignAssetsAccount(_x20, _x21) {
|
|
848
|
+
return _getBalanceForeignAssetsAccount.apply(this, arguments);
|
|
866
849
|
}
|
|
867
|
-
return
|
|
850
|
+
return getBalanceForeignAssetsAccount;
|
|
868
851
|
}()
|
|
869
852
|
}, {
|
|
870
|
-
key: "
|
|
871
|
-
value: function accountToHex(address) {
|
|
872
|
-
var isPrefixed = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
873
|
-
if (util.isHex(address)) return address;
|
|
874
|
-
var uint8Array = utilCrypto.decodeAddress(address);
|
|
875
|
-
return util.u8aToHex(uint8Array, -1, isPrefixed);
|
|
876
|
-
}
|
|
877
|
-
}, {
|
|
878
|
-
key: "callTxMethod",
|
|
879
|
-
value: function callTxMethod(_ref) {
|
|
880
|
-
var _this$api$tx$moduleLo;
|
|
881
|
-
var module = _ref.module,
|
|
882
|
-
section = _ref.section,
|
|
883
|
-
parameters = _ref.parameters;
|
|
884
|
-
var values = Object.values(parameters);
|
|
885
|
-
var moduleLowerCase = lowercaseFirstLetter(module);
|
|
886
|
-
var sectionCamelCase = snakeToCamel(section);
|
|
887
|
-
return (_this$api$tx$moduleLo = this.api.tx[moduleLowerCase])[sectionCamelCase].apply(_this$api$tx$moduleLo, values);
|
|
888
|
-
}
|
|
889
|
-
}, {
|
|
890
|
-
key: "callBatchMethod",
|
|
891
|
-
value: function callBatchMethod(calls, mode) {
|
|
892
|
-
var section = mode === sdkCore.BatchMode.BATCH_ALL ? 'batchAll' : 'batch';
|
|
893
|
-
return this.api.tx.utility[section](calls);
|
|
894
|
-
}
|
|
895
|
-
}, {
|
|
896
|
-
key: "objectToHex",
|
|
897
|
-
value: function objectToHex(obj, typeName) {
|
|
898
|
-
return Promise.resolve(this.api.createType(typeName, obj).toHex());
|
|
899
|
-
}
|
|
900
|
-
}, {
|
|
901
|
-
key: "hexToUint8a",
|
|
902
|
-
value: function hexToUint8a(hex) {
|
|
903
|
-
return util.hexToU8a(hex);
|
|
904
|
-
}
|
|
905
|
-
}, {
|
|
906
|
-
key: "stringToUint8a",
|
|
907
|
-
value: function stringToUint8a(str) {
|
|
908
|
-
return util.stringToU8a(str);
|
|
909
|
-
}
|
|
910
|
-
}, {
|
|
911
|
-
key: "calculateTransactionFee",
|
|
853
|
+
key: "getFromRpc",
|
|
912
854
|
value: function () {
|
|
913
|
-
var
|
|
914
|
-
var
|
|
915
|
-
return _regeneratorRuntime().wrap(function
|
|
916
|
-
while (1) switch (
|
|
855
|
+
var _getFromRpc = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee13(module, method, key) {
|
|
856
|
+
var rpcModule, response;
|
|
857
|
+
return _regeneratorRuntime().wrap(function _callee13$(_context13) {
|
|
858
|
+
while (1) switch (_context13.prev = _context13.next) {
|
|
917
859
|
case 0:
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
|
|
860
|
+
rpcModule = this.api.rpc[module];
|
|
861
|
+
if (!(!rpcModule || !rpcModule[method])) {
|
|
862
|
+
_context13.next = 3;
|
|
863
|
+
break;
|
|
864
|
+
}
|
|
865
|
+
throw new Error("RPC method ".concat(module, ".").concat(method, " not available"));
|
|
866
|
+
case 3:
|
|
867
|
+
_context13.next = 5;
|
|
868
|
+
return rpcModule[method](key);
|
|
924
869
|
case 5:
|
|
870
|
+
response = _context13.sent;
|
|
871
|
+
return _context13.abrupt("return", response.toHex());
|
|
872
|
+
case 7:
|
|
925
873
|
case "end":
|
|
926
|
-
return
|
|
874
|
+
return _context13.stop();
|
|
927
875
|
}
|
|
928
|
-
},
|
|
876
|
+
}, _callee13, this);
|
|
929
877
|
}));
|
|
930
|
-
function
|
|
931
|
-
return
|
|
878
|
+
function getFromRpc(_x22, _x23, _x24) {
|
|
879
|
+
return _getFromRpc.apply(this, arguments);
|
|
932
880
|
}
|
|
933
|
-
return
|
|
881
|
+
return getFromRpc;
|
|
934
882
|
}()
|
|
935
883
|
}, {
|
|
936
|
-
key: "
|
|
884
|
+
key: "blake2AsHex",
|
|
885
|
+
value: function blake2AsHex(data) {
|
|
886
|
+
return utilCrypto.blake2AsHex(data);
|
|
887
|
+
}
|
|
888
|
+
}, {
|
|
889
|
+
key: "clone",
|
|
890
|
+
value: function clone() {
|
|
891
|
+
return new PolkadotJsApi();
|
|
892
|
+
}
|
|
893
|
+
}, {
|
|
894
|
+
key: "createApiForNode",
|
|
937
895
|
value: function () {
|
|
938
|
-
var
|
|
939
|
-
var
|
|
940
|
-
return _regeneratorRuntime().wrap(function
|
|
941
|
-
while (1) switch (
|
|
896
|
+
var _createApiForNode = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee14(node) {
|
|
897
|
+
var api;
|
|
898
|
+
return _regeneratorRuntime().wrap(function _callee14$(_context14) {
|
|
899
|
+
while (1) switch (_context14.prev = _context14.next) {
|
|
942
900
|
case 0:
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
return
|
|
901
|
+
api = new PolkadotJsApi();
|
|
902
|
+
_context14.next = 3;
|
|
903
|
+
return api.init(node);
|
|
904
|
+
case 3:
|
|
905
|
+
return _context14.abrupt("return", api);
|
|
948
906
|
case 4:
|
|
949
907
|
case "end":
|
|
950
|
-
return
|
|
908
|
+
return _context14.stop();
|
|
951
909
|
}
|
|
952
|
-
},
|
|
910
|
+
}, _callee14);
|
|
953
911
|
}));
|
|
954
|
-
function
|
|
955
|
-
return
|
|
912
|
+
function createApiForNode(_x25) {
|
|
913
|
+
return _createApiForNode.apply(this, arguments);
|
|
956
914
|
}
|
|
957
|
-
return
|
|
915
|
+
return createApiForNode;
|
|
958
916
|
}()
|
|
959
917
|
}, {
|
|
960
|
-
key: "
|
|
918
|
+
key: "getDryRun",
|
|
961
919
|
value: function () {
|
|
962
|
-
var
|
|
963
|
-
var
|
|
964
|
-
return _regeneratorRuntime().wrap(function
|
|
965
|
-
while (1) switch (
|
|
920
|
+
var _getDryRun = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee15(_ref4) {
|
|
921
|
+
var tx, address, node, supportsDryRunApi, result, isSuccess, moduleError, failureReason, executionFee, fee;
|
|
922
|
+
return _regeneratorRuntime().wrap(function _callee15$(_context15) {
|
|
923
|
+
while (1) switch (_context15.prev = _context15.next) {
|
|
966
924
|
case 0:
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
925
|
+
tx = _ref4.tx, address = _ref4.address, node = _ref4.node;
|
|
926
|
+
supportsDryRunApi = sdkCore.getAssetsObject(node).supportsDryRunApi;
|
|
927
|
+
if (supportsDryRunApi) {
|
|
928
|
+
_context15.next = 4;
|
|
929
|
+
break;
|
|
930
|
+
}
|
|
931
|
+
throw new Error("DryRunApi is not available on node ".concat(node));
|
|
932
|
+
case 4:
|
|
933
|
+
_context15.next = 6;
|
|
934
|
+
return this.api.call.dryRunApi.dryRunCall({
|
|
935
|
+
system: {
|
|
936
|
+
Signed: address
|
|
937
|
+
}
|
|
938
|
+
}, tx);
|
|
974
939
|
case 6:
|
|
940
|
+
result = _context15.sent.toHuman();
|
|
941
|
+
isSuccess = result.Ok && result.Ok.executionResult.Ok;
|
|
942
|
+
if (isSuccess) {
|
|
943
|
+
_context15.next = 12;
|
|
944
|
+
break;
|
|
945
|
+
}
|
|
946
|
+
moduleError = result.Ok.executionResult.Err.error.Module;
|
|
947
|
+
failureReason = sdkCore.resolveModuleError(node, moduleError);
|
|
948
|
+
return _context15.abrupt("return", {
|
|
949
|
+
success: false,
|
|
950
|
+
failureReason: failureReason
|
|
951
|
+
});
|
|
952
|
+
case 12:
|
|
953
|
+
_context15.next = 14;
|
|
954
|
+
return this.calculateTransactionFee(tx, address);
|
|
955
|
+
case 14:
|
|
956
|
+
executionFee = _context15.sent;
|
|
957
|
+
fee = sdkCore.computeFeeFromDryRunPjs(result, node, executionFee);
|
|
958
|
+
return _context15.abrupt("return", {
|
|
959
|
+
success: true,
|
|
960
|
+
fee: fee
|
|
961
|
+
});
|
|
962
|
+
case 17:
|
|
975
963
|
case "end":
|
|
976
|
-
return
|
|
964
|
+
return _context15.stop();
|
|
977
965
|
}
|
|
978
|
-
},
|
|
966
|
+
}, _callee15, this);
|
|
979
967
|
}));
|
|
980
|
-
function
|
|
981
|
-
return
|
|
968
|
+
function getDryRun(_x26) {
|
|
969
|
+
return _getDryRun.apply(this, arguments);
|
|
982
970
|
}
|
|
983
|
-
return
|
|
971
|
+
return getDryRun;
|
|
984
972
|
}()
|
|
985
973
|
}, {
|
|
986
|
-
key: "
|
|
987
|
-
value: function () {
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
return _regeneratorRuntime().wrap(function _callee6$(_context6) {
|
|
991
|
-
while (1) switch (_context6.prev = _context6.next) {
|
|
992
|
-
case 0:
|
|
993
|
-
_context6.next = 2;
|
|
994
|
-
return this.api.query.balances.account(address);
|
|
995
|
-
case 2:
|
|
996
|
-
response = _context6.sent;
|
|
997
|
-
obj = response.toJSON();
|
|
998
|
-
return _context6.abrupt("return", obj.free ? BigInt(obj.free) : 0n);
|
|
999
|
-
case 5:
|
|
1000
|
-
case "end":
|
|
1001
|
-
return _context6.stop();
|
|
1002
|
-
}
|
|
1003
|
-
}, _callee6, this);
|
|
1004
|
-
}));
|
|
1005
|
-
function getMythosForeignBalance(_x8) {
|
|
1006
|
-
return _getMythosForeignBalance.apply(this, arguments);
|
|
1007
|
-
}
|
|
1008
|
-
return getMythosForeignBalance;
|
|
1009
|
-
}()
|
|
974
|
+
key: "setDisconnectAllowed",
|
|
975
|
+
value: function setDisconnectAllowed(allowed) {
|
|
976
|
+
this.disconnectAllowed = allowed;
|
|
977
|
+
}
|
|
1010
978
|
}, {
|
|
1011
|
-
key: "
|
|
979
|
+
key: "getDisconnectAllowed",
|
|
980
|
+
value: function getDisconnectAllowed() {
|
|
981
|
+
return this.disconnectAllowed;
|
|
982
|
+
}
|
|
983
|
+
}, {
|
|
984
|
+
key: "disconnect",
|
|
1012
985
|
value: function () {
|
|
1013
|
-
var
|
|
1014
|
-
var
|
|
1015
|
-
|
|
1016
|
-
|
|
986
|
+
var _disconnect = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee16() {
|
|
987
|
+
var force,
|
|
988
|
+
_args16 = arguments;
|
|
989
|
+
return _regeneratorRuntime().wrap(function _callee16$(_context16) {
|
|
990
|
+
while (1) switch (_context16.prev = _context16.next) {
|
|
1017
991
|
case 0:
|
|
1018
|
-
|
|
1019
|
-
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
return
|
|
992
|
+
force = _args16.length > 0 && _args16[0] !== undefined ? _args16[0] : false;
|
|
993
|
+
if (this.initialized) {
|
|
994
|
+
_context16.next = 3;
|
|
995
|
+
break;
|
|
996
|
+
}
|
|
997
|
+
return _context16.abrupt("return", Promise.resolve());
|
|
998
|
+
case 3:
|
|
999
|
+
if (!(!force && !this.disconnectAllowed)) {
|
|
1000
|
+
_context16.next = 5;
|
|
1001
|
+
break;
|
|
1002
|
+
}
|
|
1003
|
+
return _context16.abrupt("return");
|
|
1024
1004
|
case 5:
|
|
1005
|
+
if (!(force || typeof this._api === 'string' || this._api === undefined)) {
|
|
1006
|
+
_context16.next = 8;
|
|
1007
|
+
break;
|
|
1008
|
+
}
|
|
1009
|
+
_context16.next = 8;
|
|
1010
|
+
return this.api.disconnect();
|
|
1011
|
+
case 8:
|
|
1025
1012
|
case "end":
|
|
1026
|
-
return
|
|
1013
|
+
return _context16.stop();
|
|
1027
1014
|
}
|
|
1028
|
-
},
|
|
1015
|
+
}, _callee16, this);
|
|
1029
1016
|
}));
|
|
1030
|
-
function
|
|
1031
|
-
return
|
|
1017
|
+
function disconnect() {
|
|
1018
|
+
return _disconnect.apply(this, arguments);
|
|
1032
1019
|
}
|
|
1033
|
-
return
|
|
1020
|
+
return disconnect;
|
|
1034
1021
|
}()
|
|
1035
|
-
}
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
|
|
1055
|
-
|
|
1056
|
-
|
|
1057
|
-
|
|
1058
|
-
|
|
1059
|
-
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
|
|
1063
|
-
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
|
|
1067
|
-
|
|
1068
|
-
|
|
1069
|
-
|
|
1070
|
-
|
|
1071
|
-
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
|
|
1022
|
+
}]);
|
|
1023
|
+
}();
|
|
1024
|
+
|
|
1025
|
+
var createApiInstanceForNode = function createApiInstanceForNode(node) {
|
|
1026
|
+
var pjsApi = new PolkadotJsApi();
|
|
1027
|
+
return sdkCore.createApiInstanceForNode(pjsApi, node);
|
|
1028
|
+
};
|
|
1029
|
+
var createPolkadotJsApiCall = function createPolkadotJsApiCall(apiCall) {
|
|
1030
|
+
return /*#__PURE__*/function () {
|
|
1031
|
+
var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(options) {
|
|
1032
|
+
var pjsApi, optionsWithApi;
|
|
1033
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
1034
|
+
while (1) switch (_context.prev = _context.next) {
|
|
1035
|
+
case 0:
|
|
1036
|
+
pjsApi = new PolkadotJsApi();
|
|
1037
|
+
pjsApi.setApi(options.api);
|
|
1038
|
+
optionsWithApi = _objectSpread2(_objectSpread2({}, options), {}, {
|
|
1039
|
+
api: pjsApi
|
|
1040
|
+
});
|
|
1041
|
+
return _context.abrupt("return", apiCall(optionsWithApi));
|
|
1042
|
+
case 4:
|
|
1043
|
+
case "end":
|
|
1044
|
+
return _context.stop();
|
|
1045
|
+
}
|
|
1046
|
+
}, _callee);
|
|
1047
|
+
}));
|
|
1048
|
+
return function (_x) {
|
|
1049
|
+
return _ref.apply(this, arguments);
|
|
1050
|
+
};
|
|
1051
|
+
}();
|
|
1052
|
+
};
|
|
1053
|
+
|
|
1054
|
+
/**
|
|
1055
|
+
* Retrieves the native balance for a given account on a specified node.
|
|
1056
|
+
*
|
|
1057
|
+
* @returns The native balance as a bigint.
|
|
1058
|
+
*/
|
|
1059
|
+
var getBalanceNative = createPolkadotJsApiCall(sdkCore.getBalanceNative);
|
|
1060
|
+
/**
|
|
1061
|
+
* Retrieves the balance of a foreign asset for a given account on a specified node.
|
|
1062
|
+
*
|
|
1063
|
+
* @returns The balance of the foreign asset as a bigint, or null if not found.
|
|
1064
|
+
*/
|
|
1065
|
+
var getBalanceForeign = createPolkadotJsApiCall(sdkCore.getBalanceForeign);
|
|
1066
|
+
/**
|
|
1067
|
+
* Retrieves detailed transfer information for a cross-chain transfer.
|
|
1068
|
+
*
|
|
1069
|
+
* @returns A Promise that resolves to the transfer information.
|
|
1070
|
+
*/
|
|
1071
|
+
var getTransferInfo = createPolkadotJsApiCall(sdkCore.getTransferInfo);
|
|
1072
|
+
/**
|
|
1073
|
+
* Retrieves the asset balance for a given account on a specified node.
|
|
1074
|
+
*
|
|
1075
|
+
* @returns The asset balance as a bigint.
|
|
1076
|
+
*/
|
|
1077
|
+
var getAssetBalance = createPolkadotJsApiCall(sdkCore.getAssetBalance);
|
|
1078
|
+
/**
|
|
1079
|
+
* Claims assets from a parachain.
|
|
1080
|
+
*
|
|
1081
|
+
* @returns An extrinsic representing the claim transaction.
|
|
1082
|
+
*/
|
|
1083
|
+
var claimAssets = createPolkadotJsApiCall(sdkCore.claimAssets);
|
|
1084
|
+
var getOriginFeeDetails = createPolkadotJsApiCall(sdkCore.getOriginFeeDetails);
|
|
1085
|
+
var getMaxNativeTransferableAmount = createPolkadotJsApiCall(sdkCore.getMaxNativeTransferableAmount);
|
|
1086
|
+
var getMaxForeignTransferableAmount = createPolkadotJsApiCall(sdkCore.getMaxForeignTransferableAmount);
|
|
1087
|
+
var getTransferableAmount = createPolkadotJsApiCall(sdkCore.getTransferableAmount);
|
|
1088
|
+
var verifyEdOnDestination = createPolkadotJsApiCall(sdkCore.verifyEdOnDestination);
|
|
1089
|
+
|
|
1090
|
+
var assets = /*#__PURE__*/Object.freeze({
|
|
1091
|
+
__proto__: null,
|
|
1092
|
+
Foreign: sdkCore.Foreign,
|
|
1093
|
+
ForeignAbstract: sdkCore.ForeignAbstract,
|
|
1094
|
+
Native: sdkCore.Native,
|
|
1095
|
+
Override: sdkCore.Override,
|
|
1096
|
+
claimAssets: claimAssets,
|
|
1097
|
+
getAllAssetsSymbols: sdkCore.getAllAssetsSymbols,
|
|
1098
|
+
getAssetBalance: getAssetBalance,
|
|
1099
|
+
getAssetBySymbolOrId: sdkCore.getAssetBySymbolOrId,
|
|
1100
|
+
getAssetDecimals: sdkCore.getAssetDecimals,
|
|
1101
|
+
getAssetId: sdkCore.getAssetId,
|
|
1102
|
+
getAssets: sdkCore.getAssets,
|
|
1103
|
+
getAssetsObject: sdkCore.getAssetsObject,
|
|
1104
|
+
getBalanceForeign: getBalanceForeign,
|
|
1105
|
+
getBalanceNative: getBalanceNative,
|
|
1106
|
+
getExistentialDeposit: sdkCore.getExistentialDeposit,
|
|
1107
|
+
getMaxForeignTransferableAmount: getMaxForeignTransferableAmount,
|
|
1108
|
+
getMaxNativeTransferableAmount: getMaxNativeTransferableAmount,
|
|
1109
|
+
getNativeAssetSymbol: sdkCore.getNativeAssetSymbol,
|
|
1110
|
+
getNativeAssets: sdkCore.getNativeAssets,
|
|
1111
|
+
getOriginFeeDetails: getOriginFeeDetails,
|
|
1112
|
+
getOtherAssets: sdkCore.getOtherAssets,
|
|
1113
|
+
getRelayChainSymbol: sdkCore.getRelayChainSymbol,
|
|
1114
|
+
getSupportedAssets: sdkCore.getSupportedAssets,
|
|
1115
|
+
getTNode: sdkCore.getTNode,
|
|
1116
|
+
getTransferInfo: getTransferInfo,
|
|
1117
|
+
getTransferableAmount: getTransferableAmount,
|
|
1118
|
+
hasSupportForAsset: sdkCore.hasSupportForAsset,
|
|
1119
|
+
isNodeEvm: sdkCore.isNodeEvm,
|
|
1120
|
+
verifyEdOnDestination: verifyEdOnDestination
|
|
1121
|
+
});
|
|
1122
|
+
|
|
1123
|
+
var approveToken = /*#__PURE__*/function () {
|
|
1124
|
+
var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(signer, amount, symbol) {
|
|
1125
|
+
var env, contract, weth9, result, receipt;
|
|
1126
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
1127
|
+
while (1) switch (_context.prev = _context.next) {
|
|
1128
|
+
case 0:
|
|
1129
|
+
env = api$1.environment.SNOWBRIDGE_ENV['polkadot_mainnet'];
|
|
1130
|
+
contract = env.locations[0].erc20tokensReceivable.find(function (t) {
|
|
1131
|
+
return t.id === symbol;
|
|
1132
|
+
});
|
|
1133
|
+
if (contract) {
|
|
1134
|
+
_context.next = 4;
|
|
1135
|
+
break;
|
|
1078
1136
|
}
|
|
1079
|
-
|
|
1080
|
-
|
|
1081
|
-
|
|
1082
|
-
|
|
1137
|
+
throw new Error("Token ".concat(symbol, " not supported"));
|
|
1138
|
+
case 4:
|
|
1139
|
+
weth9 = contractTypes.WETH9__factory.connect(contract.address, signer);
|
|
1140
|
+
_context.next = 7;
|
|
1141
|
+
return weth9.approve(env.config.GATEWAY_CONTRACT, amount);
|
|
1142
|
+
case 7:
|
|
1143
|
+
result = _context.sent;
|
|
1144
|
+
_context.next = 10;
|
|
1145
|
+
return result.wait();
|
|
1146
|
+
case 10:
|
|
1147
|
+
receipt = _context.sent;
|
|
1148
|
+
return _context.abrupt("return", {
|
|
1149
|
+
result: result,
|
|
1150
|
+
receipt: receipt
|
|
1151
|
+
});
|
|
1152
|
+
case 12:
|
|
1153
|
+
case "end":
|
|
1154
|
+
return _context.stop();
|
|
1083
1155
|
}
|
|
1084
|
-
|
|
1085
|
-
|
|
1086
|
-
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
|
|
1093
|
-
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
|
|
1099
|
-
|
|
1100
|
-
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
|
-
|
|
1104
|
-
return _context10.stop();
|
|
1156
|
+
}, _callee);
|
|
1157
|
+
}));
|
|
1158
|
+
return function approveToken(_x, _x2, _x3) {
|
|
1159
|
+
return _ref.apply(this, arguments);
|
|
1160
|
+
};
|
|
1161
|
+
}();
|
|
1162
|
+
|
|
1163
|
+
var depositToken = /*#__PURE__*/function () {
|
|
1164
|
+
var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(signer, amount, symbol) {
|
|
1165
|
+
var env, contract, weth9, result, receipt;
|
|
1166
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
1167
|
+
while (1) switch (_context.prev = _context.next) {
|
|
1168
|
+
case 0:
|
|
1169
|
+
env = api$1.environment.SNOWBRIDGE_ENV['polkadot_mainnet'];
|
|
1170
|
+
contract = env.locations[0].erc20tokensReceivable.find(function (t) {
|
|
1171
|
+
return t.id === symbol;
|
|
1172
|
+
});
|
|
1173
|
+
if (contract) {
|
|
1174
|
+
_context.next = 4;
|
|
1175
|
+
break;
|
|
1105
1176
|
}
|
|
1106
|
-
|
|
1107
|
-
|
|
1108
|
-
|
|
1109
|
-
|
|
1177
|
+
throw new Error("Token ".concat(symbol, " not supported"));
|
|
1178
|
+
case 4:
|
|
1179
|
+
weth9 = contractTypes.WETH9__factory.connect(contract.address, signer);
|
|
1180
|
+
_context.next = 7;
|
|
1181
|
+
return weth9.deposit({
|
|
1182
|
+
value: amount
|
|
1183
|
+
});
|
|
1184
|
+
case 7:
|
|
1185
|
+
result = _context.sent;
|
|
1186
|
+
_context.next = 10;
|
|
1187
|
+
return result.wait();
|
|
1188
|
+
case 10:
|
|
1189
|
+
receipt = _context.sent;
|
|
1190
|
+
return _context.abrupt("return", {
|
|
1191
|
+
result: result,
|
|
1192
|
+
receipt: receipt
|
|
1193
|
+
});
|
|
1194
|
+
case 12:
|
|
1195
|
+
case "end":
|
|
1196
|
+
return _context.stop();
|
|
1110
1197
|
}
|
|
1111
|
-
|
|
1112
|
-
|
|
1113
|
-
|
|
1114
|
-
|
|
1115
|
-
|
|
1116
|
-
|
|
1117
|
-
|
|
1118
|
-
|
|
1119
|
-
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
|
|
1123
|
-
|
|
1124
|
-
|
|
1125
|
-
|
|
1126
|
-
|
|
1127
|
-
|
|
1128
|
-
|
|
1129
|
-
|
|
1130
|
-
|
|
1131
|
-
|
|
1132
|
-
|
|
1133
|
-
|
|
1134
|
-
|
|
1135
|
-
|
|
1136
|
-
|
|
1137
|
-
|
|
1138
|
-
|
|
1139
|
-
|
|
1140
|
-
|
|
1141
|
-
|
|
1142
|
-
|
|
1143
|
-
|
|
1198
|
+
}, _callee);
|
|
1199
|
+
}));
|
|
1200
|
+
return function depositToken(_x, _x2, _x3) {
|
|
1201
|
+
return _ref.apply(this, arguments);
|
|
1202
|
+
};
|
|
1203
|
+
}();
|
|
1204
|
+
|
|
1205
|
+
var createContext = function createContext(executionUrl, config) {
|
|
1206
|
+
return new api$1.Context({
|
|
1207
|
+
ethereum: {
|
|
1208
|
+
execution_url: executionUrl,
|
|
1209
|
+
beacon_url: config.BEACON_HTTP_API
|
|
1210
|
+
},
|
|
1211
|
+
polkadot: {
|
|
1212
|
+
assetHubParaId: config.ASSET_HUB_PARAID,
|
|
1213
|
+
bridgeHubParaId: config.BRIDGE_HUB_PARAID,
|
|
1214
|
+
parachains: config.PARACHAINS,
|
|
1215
|
+
relaychain: config.RELAY_CHAIN_URL
|
|
1216
|
+
},
|
|
1217
|
+
appContracts: {
|
|
1218
|
+
gateway: config.GATEWAY_CONTRACT,
|
|
1219
|
+
beefy: config.BEEFY_CONTRACT
|
|
1220
|
+
}
|
|
1221
|
+
});
|
|
1222
|
+
};
|
|
1223
|
+
|
|
1224
|
+
/**
|
|
1225
|
+
* Transfers an Ethereum asset to a Polkadot account.
|
|
1226
|
+
*
|
|
1227
|
+
* @param provider - The Ethereum provider instance to interact with the Ethereum network.
|
|
1228
|
+
* @param options - The options for the transfer.
|
|
1229
|
+
*
|
|
1230
|
+
* @returns A Promise that resolves to an object containing the result and the plan of the transfer.
|
|
1231
|
+
*
|
|
1232
|
+
* @throws Will throw an error if the transfer validation fails or if the transfer cannot be completed.
|
|
1233
|
+
*/
|
|
1234
|
+
var transferEthToPolkadot$1 = /*#__PURE__*/function () {
|
|
1235
|
+
var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(_ref) {
|
|
1236
|
+
var provider, signer, address, to, currency, ethAsset, env, context, destParaId, overrides, registry, fee, sourceAddress, transfer, validation, tx, response, receipt, messageReceipt;
|
|
1237
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
1238
|
+
while (1) switch (_context.prev = _context.next) {
|
|
1239
|
+
case 0:
|
|
1240
|
+
provider = _ref.provider, signer = _ref.signer, address = _ref.address, to = _ref.to, currency = _ref.currency;
|
|
1241
|
+
if (!('multiasset' in currency)) {
|
|
1242
|
+
_context.next = 3;
|
|
1243
|
+
break;
|
|
1144
1244
|
}
|
|
1145
|
-
|
|
1146
|
-
|
|
1147
|
-
|
|
1148
|
-
|
|
1149
|
-
|
|
1150
|
-
return getBalanceForeignXTokens;
|
|
1151
|
-
}()
|
|
1152
|
-
}, {
|
|
1153
|
-
key: "getBalanceForeignAssetsAccount",
|
|
1154
|
-
value: function () {
|
|
1155
|
-
var _getBalanceForeignAssetsAccount = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee12(address, assetId) {
|
|
1156
|
-
var response, obj;
|
|
1157
|
-
return _regeneratorRuntime().wrap(function _callee12$(_context12) {
|
|
1158
|
-
while (1) switch (_context12.prev = _context12.next) {
|
|
1159
|
-
case 0:
|
|
1160
|
-
_context12.next = 2;
|
|
1161
|
-
return this.api.query.assets.account(assetId, address);
|
|
1162
|
-
case 2:
|
|
1163
|
-
response = _context12.sent;
|
|
1164
|
-
obj = response.toJSON();
|
|
1165
|
-
return _context12.abrupt("return", BigInt(obj === null || !obj.balance ? 0 : obj.balance));
|
|
1166
|
-
case 5:
|
|
1167
|
-
case "end":
|
|
1168
|
-
return _context12.stop();
|
|
1245
|
+
throw new Error('Multiassets syntax is not supported for Evm transfers');
|
|
1246
|
+
case 3:
|
|
1247
|
+
if (!('multilocation' in currency && sdkCore.isOverrideMultiLocationSpecifier(currency.multilocation))) {
|
|
1248
|
+
_context.next = 5;
|
|
1249
|
+
break;
|
|
1169
1250
|
}
|
|
1170
|
-
|
|
1171
|
-
|
|
1172
|
-
|
|
1173
|
-
|
|
1174
|
-
|
|
1175
|
-
return getBalanceForeignAssetsAccount;
|
|
1176
|
-
}()
|
|
1177
|
-
}, {
|
|
1178
|
-
key: "getFromRpc",
|
|
1179
|
-
value: function () {
|
|
1180
|
-
var _getFromRpc = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee13(module, method, key) {
|
|
1181
|
-
var rpcModule, response;
|
|
1182
|
-
return _regeneratorRuntime().wrap(function _callee13$(_context13) {
|
|
1183
|
-
while (1) switch (_context13.prev = _context13.next) {
|
|
1184
|
-
case 0:
|
|
1185
|
-
rpcModule = this.api.rpc[module];
|
|
1186
|
-
if (!(!rpcModule || !rpcModule[method])) {
|
|
1187
|
-
_context13.next = 3;
|
|
1188
|
-
break;
|
|
1189
|
-
}
|
|
1190
|
-
throw new Error("RPC method ".concat(module, ".").concat(method, " not available"));
|
|
1191
|
-
case 3:
|
|
1192
|
-
_context13.next = 5;
|
|
1193
|
-
return rpcModule[method](key);
|
|
1194
|
-
case 5:
|
|
1195
|
-
response = _context13.sent;
|
|
1196
|
-
return _context13.abrupt("return", response.toHex());
|
|
1197
|
-
case 7:
|
|
1198
|
-
case "end":
|
|
1199
|
-
return _context13.stop();
|
|
1251
|
+
throw new Error('Override multilocation is not supported for Evm transfers');
|
|
1252
|
+
case 5:
|
|
1253
|
+
if (provider) {
|
|
1254
|
+
_context.next = 7;
|
|
1255
|
+
break;
|
|
1200
1256
|
}
|
|
1201
|
-
|
|
1202
|
-
|
|
1203
|
-
|
|
1204
|
-
|
|
1205
|
-
|
|
1206
|
-
return getFromRpc;
|
|
1207
|
-
}()
|
|
1208
|
-
}, {
|
|
1209
|
-
key: "blake2AsHex",
|
|
1210
|
-
value: function blake2AsHex(data) {
|
|
1211
|
-
return utilCrypto.blake2AsHex(data);
|
|
1212
|
-
}
|
|
1213
|
-
}, {
|
|
1214
|
-
key: "clone",
|
|
1215
|
-
value: function clone() {
|
|
1216
|
-
return new PolkadotJsApi();
|
|
1217
|
-
}
|
|
1218
|
-
}, {
|
|
1219
|
-
key: "createApiForNode",
|
|
1220
|
-
value: function () {
|
|
1221
|
-
var _createApiForNode = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee14(node) {
|
|
1222
|
-
var api;
|
|
1223
|
-
return _regeneratorRuntime().wrap(function _callee14$(_context14) {
|
|
1224
|
-
while (1) switch (_context14.prev = _context14.next) {
|
|
1225
|
-
case 0:
|
|
1226
|
-
api = new PolkadotJsApi();
|
|
1227
|
-
_context14.next = 3;
|
|
1228
|
-
return api.init(node);
|
|
1229
|
-
case 3:
|
|
1230
|
-
return _context14.abrupt("return", api);
|
|
1231
|
-
case 4:
|
|
1232
|
-
case "end":
|
|
1233
|
-
return _context14.stop();
|
|
1257
|
+
throw new Error('provider parameter is required for Snowbridge transfers.');
|
|
1258
|
+
case 7:
|
|
1259
|
+
if (sdkCore.isEthersSigner(signer)) {
|
|
1260
|
+
_context.next = 9;
|
|
1261
|
+
break;
|
|
1234
1262
|
}
|
|
1235
|
-
|
|
1236
|
-
|
|
1237
|
-
|
|
1238
|
-
|
|
1239
|
-
|
|
1240
|
-
|
|
1241
|
-
}()
|
|
1242
|
-
}, {
|
|
1243
|
-
key: "getDryRun",
|
|
1244
|
-
value: function () {
|
|
1245
|
-
var _getDryRun = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee15(_ref4) {
|
|
1246
|
-
var tx, address, node, supportsDryRunApi, result, isSuccess, moduleError, failureReason, executionFee, fee;
|
|
1247
|
-
return _regeneratorRuntime().wrap(function _callee15$(_context15) {
|
|
1248
|
-
while (1) switch (_context15.prev = _context15.next) {
|
|
1249
|
-
case 0:
|
|
1250
|
-
tx = _ref4.tx, address = _ref4.address, node = _ref4.node;
|
|
1251
|
-
supportsDryRunApi = sdkCore.getAssetsObject(node).supportsDryRunApi;
|
|
1252
|
-
if (supportsDryRunApi) {
|
|
1253
|
-
_context15.next = 4;
|
|
1254
|
-
break;
|
|
1255
|
-
}
|
|
1256
|
-
throw new Error("DryRunApi is not available on node ".concat(node));
|
|
1257
|
-
case 4:
|
|
1258
|
-
_context15.next = 6;
|
|
1259
|
-
return this.api.call.dryRunApi.dryRunCall({
|
|
1260
|
-
system: {
|
|
1261
|
-
Signed: address
|
|
1262
|
-
}
|
|
1263
|
-
}, tx);
|
|
1264
|
-
case 6:
|
|
1265
|
-
result = _context15.sent.toHuman();
|
|
1266
|
-
isSuccess = result.Ok && result.Ok.executionResult.Ok;
|
|
1267
|
-
if (isSuccess) {
|
|
1268
|
-
_context15.next = 12;
|
|
1269
|
-
break;
|
|
1270
|
-
}
|
|
1271
|
-
moduleError = result.Ok.executionResult.Err.error.Module;
|
|
1272
|
-
failureReason = sdkCore.resolveModuleError(node, moduleError);
|
|
1273
|
-
return _context15.abrupt("return", {
|
|
1274
|
-
success: false,
|
|
1275
|
-
failureReason: failureReason
|
|
1276
|
-
});
|
|
1277
|
-
case 12:
|
|
1278
|
-
_context15.next = 14;
|
|
1279
|
-
return this.calculateTransactionFee(tx, address);
|
|
1280
|
-
case 14:
|
|
1281
|
-
executionFee = _context15.sent;
|
|
1282
|
-
fee = sdkCore.computeFeeFromDryRunPjs(result, node, executionFee);
|
|
1283
|
-
return _context15.abrupt("return", {
|
|
1284
|
-
success: true,
|
|
1285
|
-
fee: fee
|
|
1286
|
-
});
|
|
1287
|
-
case 17:
|
|
1288
|
-
case "end":
|
|
1289
|
-
return _context15.stop();
|
|
1263
|
+
throw new Error('Snowbridge does not support Viem provider yet.');
|
|
1264
|
+
case 9:
|
|
1265
|
+
ethAsset = sdkCore.getAssetBySymbolOrId('Ethereum', currency, to);
|
|
1266
|
+
if (!(ethAsset === null)) {
|
|
1267
|
+
_context.next = 12;
|
|
1268
|
+
break;
|
|
1290
1269
|
}
|
|
1291
|
-
|
|
1292
|
-
|
|
1293
|
-
|
|
1294
|
-
|
|
1295
|
-
|
|
1296
|
-
|
|
1297
|
-
|
|
1298
|
-
|
|
1299
|
-
|
|
1300
|
-
|
|
1301
|
-
|
|
1302
|
-
|
|
1303
|
-
|
|
1304
|
-
|
|
1305
|
-
|
|
1306
|
-
|
|
1307
|
-
|
|
1308
|
-
|
|
1309
|
-
|
|
1310
|
-
|
|
1311
|
-
|
|
1312
|
-
|
|
1313
|
-
|
|
1314
|
-
|
|
1315
|
-
|
|
1316
|
-
|
|
1317
|
-
|
|
1318
|
-
|
|
1319
|
-
|
|
1320
|
-
|
|
1321
|
-
|
|
1322
|
-
|
|
1323
|
-
|
|
1324
|
-
|
|
1325
|
-
|
|
1326
|
-
|
|
1327
|
-
|
|
1328
|
-
|
|
1329
|
-
|
|
1330
|
-
|
|
1331
|
-
|
|
1332
|
-
|
|
1333
|
-
|
|
1334
|
-
|
|
1335
|
-
|
|
1336
|
-
|
|
1337
|
-
|
|
1338
|
-
|
|
1270
|
+
throw new sdkCore.InvalidCurrencyError("Origin node Ethereum does not support currency ".concat(JSON.stringify(currency), "."));
|
|
1271
|
+
case 12:
|
|
1272
|
+
env = api$1.environment.SNOWBRIDGE_ENV['polkadot_mainnet'];
|
|
1273
|
+
context = createContext(provider, env.config);
|
|
1274
|
+
destParaId = sdkCore.getParaId(to);
|
|
1275
|
+
if (!(!sdkCore.isForeignAsset(ethAsset) || ethAsset.assetId === undefined)) {
|
|
1276
|
+
_context.next = 17;
|
|
1277
|
+
break;
|
|
1278
|
+
}
|
|
1279
|
+
throw new sdkCore.InvalidCurrencyError('Selected asset has no asset id');
|
|
1280
|
+
case 17:
|
|
1281
|
+
overrides = {
|
|
1282
|
+
precompiles: {
|
|
1283
|
+
'2004': '0x000000000000000000000000000000000000081A'
|
|
1284
|
+
},
|
|
1285
|
+
destinationFeeOverrides: {
|
|
1286
|
+
'3369': 500000000n
|
|
1287
|
+
},
|
|
1288
|
+
assetOverrides: {
|
|
1289
|
+
'3369': [{
|
|
1290
|
+
token: '0xba41ddf06b7ffd89d1267b5a93bfef2424eb2003'.toLowerCase(),
|
|
1291
|
+
name: 'Mythos',
|
|
1292
|
+
minimumBalance: 10000000000000000n,
|
|
1293
|
+
symbol: 'MYTH',
|
|
1294
|
+
decimals: 18,
|
|
1295
|
+
isSufficient: true
|
|
1296
|
+
}]
|
|
1297
|
+
}
|
|
1298
|
+
};
|
|
1299
|
+
_context.t0 = api$1.assetsV2;
|
|
1300
|
+
_context.t1 = _objectSpread2;
|
|
1301
|
+
_context.t2 = _objectSpread2;
|
|
1302
|
+
_context.t3 = {};
|
|
1303
|
+
_context.next = 24;
|
|
1304
|
+
return api$1.assetsV2.fromContext(context);
|
|
1305
|
+
case 24:
|
|
1306
|
+
_context.t4 = _context.sent;
|
|
1307
|
+
_context.t5 = (0, _context.t2)(_context.t3, _context.t4);
|
|
1308
|
+
_context.t6 = overrides;
|
|
1309
|
+
_context.t7 = (0, _context.t1)(_context.t5, _context.t6);
|
|
1310
|
+
_context.next = 30;
|
|
1311
|
+
return _context.t0.buildRegistry.call(_context.t0, _context.t7);
|
|
1312
|
+
case 30:
|
|
1313
|
+
registry = _context.sent;
|
|
1314
|
+
_context.next = 33;
|
|
1315
|
+
return api$1.toPolkadotV2.getDeliveryFee(context.gateway(), registry, ethAsset.assetId, destParaId);
|
|
1316
|
+
case 33:
|
|
1317
|
+
fee = _context.sent;
|
|
1318
|
+
_context.next = 36;
|
|
1319
|
+
return signer.getAddress();
|
|
1320
|
+
case 36:
|
|
1321
|
+
sourceAddress = _context.sent;
|
|
1322
|
+
_context.next = 39;
|
|
1323
|
+
return api$1.toPolkadotV2.createTransfer(registry, sourceAddress, address, ethAsset.assetId, destParaId, BigInt(currency.amount), fee);
|
|
1324
|
+
case 39:
|
|
1325
|
+
transfer = _context.sent;
|
|
1326
|
+
_context.t8 = api$1.toPolkadotV2;
|
|
1327
|
+
_context.t9 = context.ethereum();
|
|
1328
|
+
_context.t10 = context.gateway();
|
|
1329
|
+
_context.next = 45;
|
|
1330
|
+
return context.bridgeHub();
|
|
1331
|
+
case 45:
|
|
1332
|
+
_context.t11 = _context.sent;
|
|
1333
|
+
_context.next = 48;
|
|
1334
|
+
return context.assetHub();
|
|
1335
|
+
case 48:
|
|
1336
|
+
_context.t12 = _context.sent;
|
|
1337
|
+
if (!(destParaId !== sdkCore.getParaId('AssetHubPolkadot'))) {
|
|
1338
|
+
_context.next = 55;
|
|
1339
|
+
break;
|
|
1340
|
+
}
|
|
1341
|
+
_context.next = 52;
|
|
1342
|
+
return context.parachain(destParaId);
|
|
1343
|
+
case 52:
|
|
1344
|
+
_context.t13 = _context.sent;
|
|
1345
|
+
_context.next = 56;
|
|
1346
|
+
break;
|
|
1347
|
+
case 55:
|
|
1348
|
+
_context.t13 = undefined;
|
|
1349
|
+
case 56:
|
|
1350
|
+
_context.t14 = _context.t13;
|
|
1351
|
+
_context.t15 = {
|
|
1352
|
+
ethereum: _context.t9,
|
|
1353
|
+
gateway: _context.t10,
|
|
1354
|
+
bridgeHub: _context.t11,
|
|
1355
|
+
assetHub: _context.t12,
|
|
1356
|
+
destParachain: _context.t14
|
|
1357
|
+
};
|
|
1358
|
+
_context.t16 = transfer;
|
|
1359
|
+
_context.next = 61;
|
|
1360
|
+
return _context.t8.validateTransfer.call(_context.t8, _context.t15, _context.t16);
|
|
1361
|
+
case 61:
|
|
1362
|
+
validation = _context.sent;
|
|
1363
|
+
if (!validation.logs.find(function (l) {
|
|
1364
|
+
return l.kind == api$1.toPolkadotV2.ValidationKind.Error;
|
|
1365
|
+
})) {
|
|
1366
|
+
_context.next = 64;
|
|
1367
|
+
break;
|
|
1368
|
+
}
|
|
1369
|
+
throw Error("Validation failed with following errors: \n\n ".concat(validation.logs.filter(function (l) {
|
|
1370
|
+
return l.kind == api$1.toPolkadotV2.ValidationKind.Error;
|
|
1371
|
+
}).map(function (l) {
|
|
1372
|
+
return l.message;
|
|
1373
|
+
}).join('\n\n')));
|
|
1374
|
+
case 64:
|
|
1375
|
+
tx = transfer.tx;
|
|
1376
|
+
_context.next = 67;
|
|
1377
|
+
return signer.sendTransaction(tx);
|
|
1378
|
+
case 67:
|
|
1379
|
+
response = _context.sent;
|
|
1380
|
+
_context.next = 70;
|
|
1381
|
+
return response.wait(1);
|
|
1382
|
+
case 70:
|
|
1383
|
+
receipt = _context.sent;
|
|
1384
|
+
if (receipt) {
|
|
1385
|
+
_context.next = 73;
|
|
1386
|
+
break;
|
|
1339
1387
|
}
|
|
1340
|
-
|
|
1341
|
-
|
|
1342
|
-
|
|
1343
|
-
|
|
1388
|
+
throw Error("Transaction ".concat(response.hash, " not included."));
|
|
1389
|
+
case 73:
|
|
1390
|
+
_context.next = 75;
|
|
1391
|
+
return api$1.toPolkadotV2.getMessageReceipt(receipt);
|
|
1392
|
+
case 75:
|
|
1393
|
+
messageReceipt = _context.sent;
|
|
1394
|
+
if (messageReceipt) {
|
|
1395
|
+
_context.next = 78;
|
|
1396
|
+
break;
|
|
1397
|
+
}
|
|
1398
|
+
throw Error("Transaction ".concat(receipt.hash, " did not emit a message."));
|
|
1399
|
+
case 78:
|
|
1400
|
+
return _context.abrupt("return", {
|
|
1401
|
+
response: response,
|
|
1402
|
+
messageReceipt: messageReceipt
|
|
1403
|
+
});
|
|
1404
|
+
case 79:
|
|
1405
|
+
case "end":
|
|
1406
|
+
return _context.stop();
|
|
1344
1407
|
}
|
|
1345
|
-
|
|
1346
|
-
|
|
1347
|
-
|
|
1408
|
+
}, _callee);
|
|
1409
|
+
}));
|
|
1410
|
+
return function transferEthToPolkadot(_x) {
|
|
1411
|
+
return _ref2.apply(this, arguments);
|
|
1412
|
+
};
|
|
1348
1413
|
}();
|
|
1349
1414
|
|
|
1350
|
-
var
|
|
1351
|
-
var
|
|
1352
|
-
|
|
1353
|
-
};
|
|
1354
|
-
var createPolkadotJsApiCall = function createPolkadotJsApiCall(apiCall) {
|
|
1355
|
-
return /*#__PURE__*/function () {
|
|
1356
|
-
var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(options) {
|
|
1357
|
-
var pjsApi, optionsWithApi;
|
|
1358
|
-
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
1359
|
-
while (1) switch (_context.prev = _context.next) {
|
|
1360
|
-
case 0:
|
|
1361
|
-
pjsApi = new PolkadotJsApi();
|
|
1362
|
-
pjsApi.setApi(options.api);
|
|
1363
|
-
optionsWithApi = _objectSpread2(_objectSpread2({}, options), {}, {
|
|
1364
|
-
api: pjsApi
|
|
1365
|
-
});
|
|
1366
|
-
return _context.abrupt("return", apiCall(optionsWithApi));
|
|
1367
|
-
case 4:
|
|
1368
|
-
case "end":
|
|
1369
|
-
return _context.stop();
|
|
1370
|
-
}
|
|
1371
|
-
}, _callee);
|
|
1372
|
-
}));
|
|
1373
|
-
return function (_x) {
|
|
1374
|
-
return _ref.apply(this, arguments);
|
|
1375
|
-
};
|
|
1376
|
-
}();
|
|
1377
|
-
};
|
|
1378
|
-
|
|
1379
|
-
/**
|
|
1380
|
-
* Transfers assets from parachain to another parachain or from/to relay chain.
|
|
1381
|
-
* @param options - The transfer options.
|
|
1382
|
-
* @returns An extrinsic to be signed and sent.
|
|
1383
|
-
*/
|
|
1384
|
-
var send = createPolkadotJsApiCall(sdkCore.send);
|
|
1385
|
-
var getDryRun = createPolkadotJsApiCall(sdkCore.getDryRun);
|
|
1386
|
-
var transferEthToPolkadot = function transferEthToPolkadot(options) {
|
|
1387
|
-
return transferEthToPolkadot$1(_objectSpread2(_objectSpread2({}, options), {}, {
|
|
1388
|
-
api: new PolkadotJsApi()
|
|
1389
|
-
}));
|
|
1390
|
-
};
|
|
1391
|
-
var getParaEthTransferFees = /*#__PURE__*/function () {
|
|
1392
|
-
var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(api) {
|
|
1393
|
-
var pjsApi;
|
|
1415
|
+
var getTokenBalance = /*#__PURE__*/function () {
|
|
1416
|
+
var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(signer, symbol) {
|
|
1417
|
+
var env, contract, weth9, address;
|
|
1394
1418
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
1395
1419
|
while (1) switch (_context.prev = _context.next) {
|
|
1396
1420
|
case 0:
|
|
1397
|
-
|
|
1398
|
-
|
|
1399
|
-
|
|
1400
|
-
|
|
1421
|
+
env = api$1.environment.SNOWBRIDGE_ENV['polkadot_mainnet'];
|
|
1422
|
+
contract = env.locations[0].erc20tokensReceivable.find(function (t) {
|
|
1423
|
+
return t.id === symbol;
|
|
1424
|
+
});
|
|
1425
|
+
if (contract) {
|
|
1426
|
+
_context.next = 4;
|
|
1427
|
+
break;
|
|
1428
|
+
}
|
|
1429
|
+
throw new Error("Token ".concat(symbol, " not supported"));
|
|
1401
1430
|
case 4:
|
|
1402
|
-
|
|
1403
|
-
|
|
1431
|
+
weth9 = contractTypes.WETH9__factory.connect(contract.address, signer);
|
|
1432
|
+
_context.next = 7;
|
|
1433
|
+
return signer.getAddress();
|
|
1434
|
+
case 7:
|
|
1435
|
+
address = _context.sent;
|
|
1436
|
+
return _context.abrupt("return", weth9.balanceOf(address));
|
|
1437
|
+
case 9:
|
|
1404
1438
|
case "end":
|
|
1405
1439
|
return _context.stop();
|
|
1406
1440
|
}
|
|
1407
1441
|
}, _callee);
|
|
1408
1442
|
}));
|
|
1409
|
-
return function
|
|
1443
|
+
return function getTokenBalance(_x, _x2) {
|
|
1410
1444
|
return _ref.apply(this, arguments);
|
|
1411
1445
|
};
|
|
1412
1446
|
}();
|
|
1413
1447
|
|
|
1414
|
-
var transfer = /*#__PURE__*/Object.freeze({
|
|
1415
|
-
__proto__: null,
|
|
1416
|
-
approveToken: approveToken,
|
|
1417
|
-
depositToken: depositToken,
|
|
1418
|
-
getDryRun: getDryRun,
|
|
1419
|
-
getParaEthTransferFees: getParaEthTransferFees,
|
|
1420
|
-
getTokenBalance: getTokenBalance,
|
|
1421
|
-
send: send,
|
|
1422
|
-
transferEthToPolkadot: transferEthToPolkadot
|
|
1423
|
-
});
|
|
1424
|
-
|
|
1425
|
-
/**
|
|
1426
|
-
* Retrieves the native balance for a given account on a specified node.
|
|
1427
|
-
*
|
|
1428
|
-
* @returns The native balance as a bigint.
|
|
1429
|
-
*/
|
|
1430
|
-
var getBalanceNative = createPolkadotJsApiCall(sdkCore.getBalanceNative);
|
|
1431
|
-
/**
|
|
1432
|
-
* Retrieves the balance of a foreign asset for a given account on a specified node.
|
|
1433
|
-
*
|
|
1434
|
-
* @returns The balance of the foreign asset as a bigint, or null if not found.
|
|
1435
|
-
*/
|
|
1436
|
-
var getBalanceForeign = createPolkadotJsApiCall(sdkCore.getBalanceForeign);
|
|
1437
|
-
/**
|
|
1438
|
-
* Retrieves detailed transfer information for a cross-chain transfer.
|
|
1439
|
-
*
|
|
1440
|
-
* @returns A Promise that resolves to the transfer information.
|
|
1441
|
-
*/
|
|
1442
|
-
var getTransferInfo = createPolkadotJsApiCall(sdkCore.getTransferInfo);
|
|
1443
|
-
/**
|
|
1444
|
-
* Retrieves the asset balance for a given account on a specified node.
|
|
1445
|
-
*
|
|
1446
|
-
* @returns The asset balance as a bigint.
|
|
1447
|
-
*/
|
|
1448
|
-
var getAssetBalance = createPolkadotJsApiCall(sdkCore.getAssetBalance);
|
|
1449
|
-
/**
|
|
1450
|
-
* Claims assets from a parachain.
|
|
1451
|
-
*
|
|
1452
|
-
* @returns An extrinsic representing the claim transaction.
|
|
1453
|
-
*/
|
|
1454
|
-
var claimAssets = createPolkadotJsApiCall(sdkCore.claimAssets);
|
|
1455
|
-
var getOriginFeeDetails = createPolkadotJsApiCall(sdkCore.getOriginFeeDetails);
|
|
1456
|
-
var getMaxNativeTransferableAmount = createPolkadotJsApiCall(sdkCore.getMaxNativeTransferableAmount);
|
|
1457
|
-
var getMaxForeignTransferableAmount = createPolkadotJsApiCall(sdkCore.getMaxForeignTransferableAmount);
|
|
1458
|
-
var getTransferableAmount = createPolkadotJsApiCall(sdkCore.getTransferableAmount);
|
|
1459
|
-
var verifyEdOnDestination = createPolkadotJsApiCall(sdkCore.verifyEdOnDestination);
|
|
1460
|
-
|
|
1461
|
-
var assets = /*#__PURE__*/Object.freeze({
|
|
1462
|
-
__proto__: null,
|
|
1463
|
-
Foreign: sdkCore.Foreign,
|
|
1464
|
-
ForeignAbstract: sdkCore.ForeignAbstract,
|
|
1465
|
-
Native: sdkCore.Native,
|
|
1466
|
-
Override: sdkCore.Override,
|
|
1467
|
-
claimAssets: claimAssets,
|
|
1468
|
-
getAllAssetsSymbols: sdkCore.getAllAssetsSymbols,
|
|
1469
|
-
getAssetBalance: getAssetBalance,
|
|
1470
|
-
getAssetBySymbolOrId: sdkCore.getAssetBySymbolOrId,
|
|
1471
|
-
getAssetDecimals: sdkCore.getAssetDecimals,
|
|
1472
|
-
getAssetId: sdkCore.getAssetId,
|
|
1473
|
-
getAssets: sdkCore.getAssets,
|
|
1474
|
-
getAssetsObject: sdkCore.getAssetsObject,
|
|
1475
|
-
getBalanceForeign: getBalanceForeign,
|
|
1476
|
-
getBalanceNative: getBalanceNative,
|
|
1477
|
-
getExistentialDeposit: sdkCore.getExistentialDeposit,
|
|
1478
|
-
getMaxForeignTransferableAmount: getMaxForeignTransferableAmount,
|
|
1479
|
-
getMaxNativeTransferableAmount: getMaxNativeTransferableAmount,
|
|
1480
|
-
getNativeAssetSymbol: sdkCore.getNativeAssetSymbol,
|
|
1481
|
-
getNativeAssets: sdkCore.getNativeAssets,
|
|
1482
|
-
getOriginFeeDetails: getOriginFeeDetails,
|
|
1483
|
-
getOtherAssets: sdkCore.getOtherAssets,
|
|
1484
|
-
getRelayChainSymbol: sdkCore.getRelayChainSymbol,
|
|
1485
|
-
getSupportedAssets: sdkCore.getSupportedAssets,
|
|
1486
|
-
getTNode: sdkCore.getTNode,
|
|
1487
|
-
getTransferInfo: getTransferInfo,
|
|
1488
|
-
getTransferableAmount: getTransferableAmount,
|
|
1489
|
-
hasSupportForAsset: sdkCore.hasSupportForAsset,
|
|
1490
|
-
isNodeEvm: sdkCore.isNodeEvm,
|
|
1491
|
-
verifyEdOnDestination: verifyEdOnDestination
|
|
1492
|
-
});
|
|
1493
|
-
|
|
1494
1448
|
/**
|
|
1495
1449
|
* Builder class for constructing transfers from Ethereum to Polkadot.
|
|
1496
1450
|
*/
|
|
1497
|
-
var
|
|
1498
|
-
function
|
|
1499
|
-
_classCallCheck(this,
|
|
1500
|
-
this._options =
|
|
1501
|
-
this._options.api = api;
|
|
1502
|
-
this._options.provider = provider;
|
|
1451
|
+
var EvmBuilderCore = /*#__PURE__*/function () {
|
|
1452
|
+
function EvmBuilderCore(options) {
|
|
1453
|
+
_classCallCheck(this, EvmBuilderCore);
|
|
1454
|
+
this._options = options;
|
|
1503
1455
|
}
|
|
1504
|
-
return _createClass(
|
|
1456
|
+
return _createClass(EvmBuilderCore, [{
|
|
1505
1457
|
key: "from",
|
|
1506
1458
|
value: function from(node) {
|
|
1507
|
-
this._options
|
|
1508
|
-
|
|
1459
|
+
return new EvmBuilderCore(_objectSpread2(_objectSpread2({}, this._options), {}, {
|
|
1460
|
+
from: node
|
|
1461
|
+
}));
|
|
1509
1462
|
}
|
|
1510
1463
|
/**
|
|
1511
1464
|
* Specifies the destination node on Polkadot.
|
|
@@ -1516,8 +1469,9 @@ var EvmBuilderClass = /*#__PURE__*/function () {
|
|
|
1516
1469
|
}, {
|
|
1517
1470
|
key: "to",
|
|
1518
1471
|
value: function to(node) {
|
|
1519
|
-
this._options
|
|
1520
|
-
|
|
1472
|
+
return new EvmBuilderCore(_objectSpread2(_objectSpread2({}, this._options), {}, {
|
|
1473
|
+
to: node
|
|
1474
|
+
}));
|
|
1521
1475
|
}
|
|
1522
1476
|
/**
|
|
1523
1477
|
* Specifies the currency to transfer.
|
|
@@ -1528,8 +1482,9 @@ var EvmBuilderClass = /*#__PURE__*/function () {
|
|
|
1528
1482
|
}, {
|
|
1529
1483
|
key: "currency",
|
|
1530
1484
|
value: function currency(_currency) {
|
|
1531
|
-
this._options
|
|
1532
|
-
|
|
1485
|
+
return new EvmBuilderCore(_objectSpread2(_objectSpread2({}, this._options), {}, {
|
|
1486
|
+
currency: _currency
|
|
1487
|
+
}));
|
|
1533
1488
|
}
|
|
1534
1489
|
/**
|
|
1535
1490
|
* Specifies the recipient address on Polkadot.
|
|
@@ -1540,9 +1495,10 @@ var EvmBuilderClass = /*#__PURE__*/function () {
|
|
|
1540
1495
|
}, {
|
|
1541
1496
|
key: "address",
|
|
1542
1497
|
value: function address(_address, ahAddress) {
|
|
1543
|
-
this._options
|
|
1544
|
-
|
|
1545
|
-
|
|
1498
|
+
return new EvmBuilderCore(_objectSpread2(_objectSpread2({}, this._options), {}, {
|
|
1499
|
+
address: _address,
|
|
1500
|
+
ahAddress: ahAddress
|
|
1501
|
+
}));
|
|
1546
1502
|
}
|
|
1547
1503
|
/**
|
|
1548
1504
|
* Specifies the signer for the Ethereum transaction.
|
|
@@ -1553,8 +1509,9 @@ var EvmBuilderClass = /*#__PURE__*/function () {
|
|
|
1553
1509
|
}, {
|
|
1554
1510
|
key: "signer",
|
|
1555
1511
|
value: function signer(_signer) {
|
|
1556
|
-
this._options
|
|
1557
|
-
|
|
1512
|
+
return new EvmBuilderCore(_objectSpread2(_objectSpread2({}, this._options), {}, {
|
|
1513
|
+
signer: _signer
|
|
1514
|
+
}));
|
|
1558
1515
|
}
|
|
1559
1516
|
/**
|
|
1560
1517
|
* Builds and executes the transfer from Ethereum to Polkadot.
|
|
@@ -1565,57 +1522,31 @@ var EvmBuilderClass = /*#__PURE__*/function () {
|
|
|
1565
1522
|
key: "build",
|
|
1566
1523
|
value: (function () {
|
|
1567
1524
|
var _build = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
1568
|
-
var
|
|
1525
|
+
var _this$_options, from, to, address, _yield$transferEthToP, response;
|
|
1569
1526
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
1570
1527
|
while (1) switch (_context.prev = _context.next) {
|
|
1571
1528
|
case 0:
|
|
1572
|
-
|
|
1573
|
-
|
|
1574
|
-
|
|
1575
|
-
|
|
1576
|
-
_context.next = 9;
|
|
1577
|
-
break;
|
|
1578
|
-
}
|
|
1579
|
-
param = _requiredParams[_i];
|
|
1580
|
-
if (!(this._options[param] === undefined)) {
|
|
1581
|
-
_context.next = 6;
|
|
1582
|
-
break;
|
|
1583
|
-
}
|
|
1584
|
-
throw new Error("Builder object is missing parameter: ".concat(param));
|
|
1585
|
-
case 6:
|
|
1586
|
-
_i++;
|
|
1587
|
-
_context.next = 2;
|
|
1588
|
-
break;
|
|
1589
|
-
case 9:
|
|
1590
|
-
sdkCore.validateAddress(this._options.address, this._options.to);
|
|
1591
|
-
if (!(this._options.from === 'Moonbeam' && this._options.to === 'Ethereum')) {
|
|
1592
|
-
_context.next = 12;
|
|
1529
|
+
_this$_options = this._options, from = _this$_options.from, to = _this$_options.to, address = _this$_options.address;
|
|
1530
|
+
sdkCore.validateAddress(address, to);
|
|
1531
|
+
if (!(from === 'Moonbeam' && to === 'Ethereum')) {
|
|
1532
|
+
_context.next = 4;
|
|
1593
1533
|
break;
|
|
1594
1534
|
}
|
|
1595
1535
|
return _context.abrupt("return", sdkCore.transferMoonbeamToEth(this._options));
|
|
1596
|
-
case
|
|
1597
|
-
if (!(
|
|
1598
|
-
_context.next =
|
|
1599
|
-
break;
|
|
1600
|
-
}
|
|
1601
|
-
_context.next = 15;
|
|
1602
|
-
return sdkCore.transferMoonbeamEvm(this._options);
|
|
1603
|
-
case 15:
|
|
1604
|
-
return _context.abrupt("return", _context.sent);
|
|
1605
|
-
case 16:
|
|
1606
|
-
if (!(this._options.from === 'Ethereum')) {
|
|
1607
|
-
_context.next = 22;
|
|
1536
|
+
case 4:
|
|
1537
|
+
if (!(from === 'Moonbeam' || from === 'Moonriver' || from === 'Darwinia')) {
|
|
1538
|
+
_context.next = 8;
|
|
1608
1539
|
break;
|
|
1609
1540
|
}
|
|
1610
|
-
_context.
|
|
1541
|
+
return _context.abrupt("return", sdkCore.transferMoonbeamEvm(this._options));
|
|
1542
|
+
case 8:
|
|
1543
|
+
_context.next = 10;
|
|
1611
1544
|
return transferEthToPolkadot$1(this._options);
|
|
1612
|
-
case
|
|
1545
|
+
case 10:
|
|
1613
1546
|
_yield$transferEthToP = _context.sent;
|
|
1614
1547
|
response = _yield$transferEthToP.response;
|
|
1615
1548
|
return _context.abrupt("return", response.hash);
|
|
1616
|
-
case
|
|
1617
|
-
throw new Error('Scenario not supported');
|
|
1618
|
-
case 23:
|
|
1549
|
+
case 13:
|
|
1619
1550
|
case "end":
|
|
1620
1551
|
return _context.stop();
|
|
1621
1552
|
}
|
|
@@ -1635,7 +1566,10 @@ var EvmBuilderClass = /*#__PURE__*/function () {
|
|
|
1635
1566
|
* @returns An instance of EvmBuilder class
|
|
1636
1567
|
*/
|
|
1637
1568
|
var EvmBuilder$1 = function EvmBuilder(api, provider) {
|
|
1638
|
-
return new
|
|
1569
|
+
return new EvmBuilderCore({
|
|
1570
|
+
api: api,
|
|
1571
|
+
provider: provider
|
|
1572
|
+
});
|
|
1639
1573
|
};
|
|
1640
1574
|
|
|
1641
1575
|
/**
|
|
@@ -1649,15 +1583,59 @@ var Builder = function Builder(api) {
|
|
|
1649
1583
|
pjsApi.setApi(api);
|
|
1650
1584
|
return sdkCore.Builder(pjsApi);
|
|
1651
1585
|
};
|
|
1652
|
-
var GeneralBuilder = sdkCore.GeneralBuilder;
|
|
1653
1586
|
var EvmBuilder = function EvmBuilder(provider) {
|
|
1654
1587
|
var pjsApi = new PolkadotJsApi();
|
|
1655
1588
|
return EvmBuilder$1(pjsApi, provider);
|
|
1656
1589
|
};
|
|
1657
1590
|
|
|
1591
|
+
/**
|
|
1592
|
+
* Transfers assets from parachain to another parachain or from/to relay chain.
|
|
1593
|
+
* @param options - The transfer options.
|
|
1594
|
+
* @returns An extrinsic to be signed and sent.
|
|
1595
|
+
*/
|
|
1596
|
+
var send = createPolkadotJsApiCall(sdkCore.send);
|
|
1597
|
+
var getDryRun = createPolkadotJsApiCall(sdkCore.getDryRun);
|
|
1598
|
+
var transferEthToPolkadot = function transferEthToPolkadot(options) {
|
|
1599
|
+
return transferEthToPolkadot$1(_objectSpread2(_objectSpread2({}, options), {}, {
|
|
1600
|
+
api: new PolkadotJsApi()
|
|
1601
|
+
}));
|
|
1602
|
+
};
|
|
1603
|
+
var getParaEthTransferFees = /*#__PURE__*/function () {
|
|
1604
|
+
var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(api) {
|
|
1605
|
+
var pjsApi;
|
|
1606
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
1607
|
+
while (1) switch (_context.prev = _context.next) {
|
|
1608
|
+
case 0:
|
|
1609
|
+
pjsApi = new PolkadotJsApi();
|
|
1610
|
+
pjsApi.setApi(api);
|
|
1611
|
+
_context.next = 4;
|
|
1612
|
+
return pjsApi.init('AssetHubPolkadot');
|
|
1613
|
+
case 4:
|
|
1614
|
+
return _context.abrupt("return", sdkCore.getParaEthTransferFees(pjsApi));
|
|
1615
|
+
case 5:
|
|
1616
|
+
case "end":
|
|
1617
|
+
return _context.stop();
|
|
1618
|
+
}
|
|
1619
|
+
}, _callee);
|
|
1620
|
+
}));
|
|
1621
|
+
return function getParaEthTransferFees(_x) {
|
|
1622
|
+
return _ref.apply(this, arguments);
|
|
1623
|
+
};
|
|
1624
|
+
}();
|
|
1625
|
+
|
|
1626
|
+
var transfer = /*#__PURE__*/Object.freeze({
|
|
1627
|
+
__proto__: null,
|
|
1628
|
+
approveToken: approveToken,
|
|
1629
|
+
depositToken: depositToken,
|
|
1630
|
+
getDryRun: getDryRun,
|
|
1631
|
+
getParaEthTransferFees: getParaEthTransferFees,
|
|
1632
|
+
getTokenBalance: getTokenBalance,
|
|
1633
|
+
send: send,
|
|
1634
|
+
transferEthToPolkadot: transferEthToPolkadot
|
|
1635
|
+
});
|
|
1636
|
+
|
|
1658
1637
|
exports.Builder = Builder;
|
|
1659
1638
|
exports.EvmBuilder = EvmBuilder;
|
|
1660
|
-
exports.GeneralBuilder = GeneralBuilder;
|
|
1661
1639
|
exports.approveToken = approveToken;
|
|
1662
1640
|
exports.assets = assets;
|
|
1663
1641
|
exports.claimAssets = claimAssets;
|