@paraspell/sdk 8.13.1 → 8.14.0
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 +494 -235
- package/dist/index.mjs +495 -236
- package/package.json +4 -3
package/dist/index.cjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var sdkCore = require('@paraspell/sdk-core');
|
|
4
|
-
var
|
|
4
|
+
var blake2 = require('@noble/hashes/blake2');
|
|
5
5
|
var utils = require('@noble/hashes/utils');
|
|
6
6
|
var ethers = require('ethers');
|
|
7
7
|
var polkadotApi = require('polkadot-api');
|
|
@@ -628,6 +628,269 @@ var _transform = function transform(obj) {
|
|
|
628
628
|
}
|
|
629
629
|
};
|
|
630
630
|
|
|
631
|
+
function createClientCache(maxSize, onEviction) {
|
|
632
|
+
var extensionMs = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 5 * 60000;
|
|
633
|
+
var data = new Map();
|
|
634
|
+
var timers = new Map();
|
|
635
|
+
var now = function now() {
|
|
636
|
+
return Date.now();
|
|
637
|
+
};
|
|
638
|
+
var timeLeft = function timeLeft(w) {
|
|
639
|
+
return Math.max(w.expireAt - now(), 0);
|
|
640
|
+
};
|
|
641
|
+
var schedule = function schedule(k, delay) {
|
|
642
|
+
if (timers.has(k)) clearTimeout(timers.get(k));
|
|
643
|
+
timers.set(k, setTimeout(function () {
|
|
644
|
+
return handleTimeout(k);
|
|
645
|
+
}, delay));
|
|
646
|
+
};
|
|
647
|
+
var handleTimeout = function handleTimeout(k) {
|
|
648
|
+
var w = data.get(k);
|
|
649
|
+
if (!w) return;
|
|
650
|
+
if (!w.extended && w.value.refs > 0) {
|
|
651
|
+
// first expiry while still in use - Extend grace period
|
|
652
|
+
// Call rpc.properties to keep the connection alive
|
|
653
|
+
void _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
654
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
655
|
+
while (1) switch (_context.prev = _context.next) {
|
|
656
|
+
case 0:
|
|
657
|
+
_context.prev = 0;
|
|
658
|
+
_context.next = 3;
|
|
659
|
+
return w.value.client.getChainSpecData();
|
|
660
|
+
case 3:
|
|
661
|
+
_context.next = 7;
|
|
662
|
+
break;
|
|
663
|
+
case 5:
|
|
664
|
+
_context.prev = 5;
|
|
665
|
+
_context.t0 = _context["catch"](0);
|
|
666
|
+
case 7:
|
|
667
|
+
case "end":
|
|
668
|
+
return _context.stop();
|
|
669
|
+
}
|
|
670
|
+
}, _callee, null, [[0, 5]]);
|
|
671
|
+
}))();
|
|
672
|
+
w.value.destroyWanted = true;
|
|
673
|
+
w.extended = true;
|
|
674
|
+
w.expireAt = now() + extensionMs;
|
|
675
|
+
schedule(k, extensionMs);
|
|
676
|
+
return;
|
|
677
|
+
}
|
|
678
|
+
evict(k); // second expiry or unused - real eviction
|
|
679
|
+
};
|
|
680
|
+
var evict = function evict(k) {
|
|
681
|
+
var w = data.get(k);
|
|
682
|
+
if (!w) return;
|
|
683
|
+
clearTimeout(timers.get(k));
|
|
684
|
+
timers["delete"](k);
|
|
685
|
+
data["delete"](k);
|
|
686
|
+
onEviction === null || onEviction === void 0 || onEviction(k, w.value);
|
|
687
|
+
};
|
|
688
|
+
var evictIfNeeded = function evictIfNeeded() {
|
|
689
|
+
if (data.size <= maxSize) return;
|
|
690
|
+
var victimKey;
|
|
691
|
+
var victim;
|
|
692
|
+
var _iterator = _createForOfIteratorHelper(data),
|
|
693
|
+
_step;
|
|
694
|
+
try {
|
|
695
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
696
|
+
var _step$value = _slicedToArray(_step.value, 2),
|
|
697
|
+
k = _step$value[0],
|
|
698
|
+
w = _step$value[1];
|
|
699
|
+
if (!victim) {
|
|
700
|
+
victimKey = k;
|
|
701
|
+
victim = w;
|
|
702
|
+
continue;
|
|
703
|
+
}
|
|
704
|
+
var better = w.extended && !victim.extended ||
|
|
705
|
+
// Prefer extended over normal
|
|
706
|
+
w.extended === victim.extended && w.value.destroyWanted && !victim.value.destroyWanted || w.extended === victim.extended && w.value.destroyWanted === victim.value.destroyWanted && timeLeft(w) < timeLeft(victim) || w.extended === victim.extended && w.value.destroyWanted === victim.value.destroyWanted && timeLeft(w) === timeLeft(victim) && w.value.refs < victim.value.refs; // Prefer with less refs
|
|
707
|
+
if (better) {
|
|
708
|
+
victimKey = k;
|
|
709
|
+
victim = w;
|
|
710
|
+
}
|
|
711
|
+
}
|
|
712
|
+
} catch (err) {
|
|
713
|
+
_iterator.e(err);
|
|
714
|
+
} finally {
|
|
715
|
+
_iterator.f();
|
|
716
|
+
}
|
|
717
|
+
if (victimKey !== undefined) evict(victimKey);
|
|
718
|
+
};
|
|
719
|
+
var set = function set(k, v, ttl) {
|
|
720
|
+
var existing = data.get(k);
|
|
721
|
+
if (existing) {
|
|
722
|
+
existing.value = v;
|
|
723
|
+
existing.ttl = ttl;
|
|
724
|
+
existing.extended = false;
|
|
725
|
+
existing.expireAt = now() + ttl;
|
|
726
|
+
schedule(k, ttl);
|
|
727
|
+
} else {
|
|
728
|
+
data.set(k, {
|
|
729
|
+
value: v,
|
|
730
|
+
ttl: ttl,
|
|
731
|
+
extended: false,
|
|
732
|
+
expireAt: now() + ttl
|
|
733
|
+
});
|
|
734
|
+
schedule(k, ttl);
|
|
735
|
+
}
|
|
736
|
+
evictIfNeeded();
|
|
737
|
+
};
|
|
738
|
+
var get = function get(k) {
|
|
739
|
+
var w = data.get(k);
|
|
740
|
+
if (!w) return undefined;
|
|
741
|
+
if (!w.extended && timeLeft(w) < w.ttl) {
|
|
742
|
+
w.expireAt = now() + w.ttl; // refresh normal life
|
|
743
|
+
schedule(k, w.ttl);
|
|
744
|
+
}
|
|
745
|
+
return w.value;
|
|
746
|
+
};
|
|
747
|
+
var revive = function revive(k, ttl) {
|
|
748
|
+
var w = data.get(k);
|
|
749
|
+
if (!w) return;
|
|
750
|
+
var remaining = timeLeft(w);
|
|
751
|
+
w.extended = false;
|
|
752
|
+
if (ttl < remaining) {
|
|
753
|
+
w.ttl = ttl;
|
|
754
|
+
w.expireAt = now() + ttl;
|
|
755
|
+
schedule(k, ttl);
|
|
756
|
+
}
|
|
757
|
+
// if ttl ≥ remaining - keep current timer
|
|
758
|
+
};
|
|
759
|
+
var del = function del(k) {
|
|
760
|
+
if (!data.has(k)) return false;
|
|
761
|
+
evict(k);
|
|
762
|
+
return true;
|
|
763
|
+
};
|
|
764
|
+
var clear = function clear() {
|
|
765
|
+
var _iterator2 = _createForOfIteratorHelper(timers.values()),
|
|
766
|
+
_step2;
|
|
767
|
+
try {
|
|
768
|
+
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
769
|
+
var t = _step2.value;
|
|
770
|
+
clearTimeout(t);
|
|
771
|
+
}
|
|
772
|
+
} catch (err) {
|
|
773
|
+
_iterator2.e(err);
|
|
774
|
+
} finally {
|
|
775
|
+
_iterator2.f();
|
|
776
|
+
}
|
|
777
|
+
timers.clear();
|
|
778
|
+
data.clear();
|
|
779
|
+
};
|
|
780
|
+
return {
|
|
781
|
+
set: set,
|
|
782
|
+
get: get,
|
|
783
|
+
"delete": del,
|
|
784
|
+
has: function has(k) {
|
|
785
|
+
return data.has(k);
|
|
786
|
+
},
|
|
787
|
+
clear: clear,
|
|
788
|
+
peek: function peek(k) {
|
|
789
|
+
var _data$get;
|
|
790
|
+
return (_data$get = data.get(k)) === null || _data$get === void 0 ? void 0 : _data$get.value;
|
|
791
|
+
},
|
|
792
|
+
remainingTtl: function remainingTtl(k) {
|
|
793
|
+
var w = data.get(k);
|
|
794
|
+
return w ? timeLeft(w) : undefined;
|
|
795
|
+
},
|
|
796
|
+
revive: revive
|
|
797
|
+
};
|
|
798
|
+
}
|
|
799
|
+
|
|
800
|
+
var DEFAULT_TTL_MS = 60000; // 1 minute
|
|
801
|
+
var MAX_CLIENTS = 100;
|
|
802
|
+
var EXTENSION_MS = 5 * 60000; // 5 minutes
|
|
803
|
+
var clientPool = createClientCache(MAX_CLIENTS, function (_key, entry) {
|
|
804
|
+
entry.client.destroy();
|
|
805
|
+
}, EXTENSION_MS);
|
|
806
|
+
var keyFromWs = function keyFromWs(ws) {
|
|
807
|
+
return Array.isArray(ws) ? JSON.stringify(ws) : ws;
|
|
808
|
+
};
|
|
809
|
+
var createPolkadotClient = /*#__PURE__*/function () {
|
|
810
|
+
var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(ws) {
|
|
811
|
+
var isNodeJs, _ref2, getWsProvider, provider;
|
|
812
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
813
|
+
while (1) switch (_context.prev = _context.next) {
|
|
814
|
+
case 0:
|
|
815
|
+
isNodeJs = typeof window === 'undefined';
|
|
816
|
+
if (!isNodeJs) {
|
|
817
|
+
_context.next = 7;
|
|
818
|
+
break;
|
|
819
|
+
}
|
|
820
|
+
_context.next = 4;
|
|
821
|
+
return import('polkadot-api/ws-provider/node');
|
|
822
|
+
case 4:
|
|
823
|
+
_context.t0 = _context.sent;
|
|
824
|
+
_context.next = 10;
|
|
825
|
+
break;
|
|
826
|
+
case 7:
|
|
827
|
+
_context.next = 9;
|
|
828
|
+
return import('polkadot-api/ws-provider/web');
|
|
829
|
+
case 9:
|
|
830
|
+
_context.t0 = _context.sent;
|
|
831
|
+
case 10:
|
|
832
|
+
_ref2 = _context.t0;
|
|
833
|
+
getWsProvider = _ref2.getWsProvider;
|
|
834
|
+
provider = Array.isArray(ws) ? getWsProvider(ws) : getWsProvider(ws);
|
|
835
|
+
return _context.abrupt("return", polkadotApi.createClient(polkadotSdkCompat.withPolkadotSdkCompat(provider)));
|
|
836
|
+
case 14:
|
|
837
|
+
case "end":
|
|
838
|
+
return _context.stop();
|
|
839
|
+
}
|
|
840
|
+
}, _callee);
|
|
841
|
+
}));
|
|
842
|
+
return function createPolkadotClient(_x) {
|
|
843
|
+
return _ref.apply(this, arguments);
|
|
844
|
+
};
|
|
845
|
+
}();
|
|
846
|
+
var leasePolkadotClient = /*#__PURE__*/function () {
|
|
847
|
+
var _ref3 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(ws, ttlMs) {
|
|
848
|
+
var key, entry;
|
|
849
|
+
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
850
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
851
|
+
case 0:
|
|
852
|
+
key = keyFromWs(ws);
|
|
853
|
+
entry = clientPool.peek(key);
|
|
854
|
+
if (entry) {
|
|
855
|
+
_context2.next = 8;
|
|
856
|
+
break;
|
|
857
|
+
}
|
|
858
|
+
_context2.next = 5;
|
|
859
|
+
return createPolkadotClient(ws);
|
|
860
|
+
case 5:
|
|
861
|
+
_context2.t0 = _context2.sent;
|
|
862
|
+
entry = {
|
|
863
|
+
client: _context2.t0,
|
|
864
|
+
refs: 0,
|
|
865
|
+
destroyWanted: false
|
|
866
|
+
};
|
|
867
|
+
clientPool.set(key, entry, ttlMs);
|
|
868
|
+
case 8:
|
|
869
|
+
entry.refs += 1;
|
|
870
|
+
clientPool.revive(key, ttlMs);
|
|
871
|
+
entry.destroyWanted = false;
|
|
872
|
+
return _context2.abrupt("return", entry.client);
|
|
873
|
+
case 12:
|
|
874
|
+
case "end":
|
|
875
|
+
return _context2.stop();
|
|
876
|
+
}
|
|
877
|
+
}, _callee2);
|
|
878
|
+
}));
|
|
879
|
+
return function leasePolkadotClient(_x2, _x3) {
|
|
880
|
+
return _ref3.apply(this, arguments);
|
|
881
|
+
};
|
|
882
|
+
}();
|
|
883
|
+
var releasePolkadotClient = function releasePolkadotClient(ws) {
|
|
884
|
+
var key = keyFromWs(ws);
|
|
885
|
+
var entry = clientPool.peek(key);
|
|
886
|
+
if (!entry) {
|
|
887
|
+
return;
|
|
888
|
+
}
|
|
889
|
+
entry.refs -= 1;
|
|
890
|
+
if (entry.refs === 0 && entry.destroyWanted) {
|
|
891
|
+
clientPool["delete"](key);
|
|
892
|
+
}
|
|
893
|
+
};
|
|
631
894
|
var unsupportedNodes = ['ComposableFinance', 'Interlay', 'CrustShadow', 'Kintsugi', 'RobonomicsKusama', 'Turing', 'Pendulum', 'Subsocial'];
|
|
632
895
|
var isHex = function isHex(str) {
|
|
633
896
|
return typeof str === 'string' && /^0x[0-9a-fA-F]+$/.test(str);
|
|
@@ -635,6 +898,7 @@ var isHex = function isHex(str) {
|
|
|
635
898
|
var PapiApi = /*#__PURE__*/function () {
|
|
636
899
|
function PapiApi() {
|
|
637
900
|
_classCallCheck(this, PapiApi);
|
|
901
|
+
this._ttlMs = DEFAULT_TTL_MS;
|
|
638
902
|
this.initialized = false;
|
|
639
903
|
this.disconnectAllowed = true;
|
|
640
904
|
}
|
|
@@ -656,57 +920,62 @@ var PapiApi = /*#__PURE__*/function () {
|
|
|
656
920
|
}, {
|
|
657
921
|
key: "init",
|
|
658
922
|
value: function () {
|
|
659
|
-
var _init = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function
|
|
660
|
-
var
|
|
661
|
-
|
|
662
|
-
|
|
923
|
+
var _init = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3(node) {
|
|
924
|
+
var clientTtlMs,
|
|
925
|
+
_this$_api,
|
|
926
|
+
_args3 = arguments;
|
|
927
|
+
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
928
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
663
929
|
case 0:
|
|
930
|
+
clientTtlMs = _args3.length > 1 && _args3[1] !== undefined ? _args3[1] : DEFAULT_TTL_MS;
|
|
664
931
|
if (!this.initialized) {
|
|
665
|
-
|
|
932
|
+
_context3.next = 3;
|
|
666
933
|
break;
|
|
667
934
|
}
|
|
668
|
-
return
|
|
669
|
-
case
|
|
935
|
+
return _context3.abrupt("return");
|
|
936
|
+
case 3:
|
|
670
937
|
if (!unsupportedNodes.includes(node)) {
|
|
671
|
-
|
|
938
|
+
_context3.next = 5;
|
|
672
939
|
break;
|
|
673
940
|
}
|
|
674
941
|
throw new sdkCore.NodeNotSupportedError("The node ".concat(node, " is not yet supported by the Polkadot API."));
|
|
675
|
-
case
|
|
942
|
+
case 5:
|
|
943
|
+
this._ttlMs = clientTtlMs;
|
|
676
944
|
if (!(typeof this._api === 'string' || this._api instanceof Array)) {
|
|
677
|
-
|
|
945
|
+
_context3.next = 12;
|
|
678
946
|
break;
|
|
679
947
|
}
|
|
680
|
-
|
|
948
|
+
_context3.next = 9;
|
|
681
949
|
return this.createApiInstance(this._api);
|
|
682
|
-
case
|
|
683
|
-
this.api =
|
|
684
|
-
|
|
950
|
+
case 9:
|
|
951
|
+
this.api = _context3.sent;
|
|
952
|
+
_context3.next = 20;
|
|
685
953
|
break;
|
|
686
|
-
case
|
|
954
|
+
case 12:
|
|
687
955
|
if (!((_this$_api = this._api) !== null && _this$_api !== void 0)) {
|
|
688
|
-
|
|
956
|
+
_context3.next = 16;
|
|
689
957
|
break;
|
|
690
958
|
}
|
|
691
|
-
|
|
692
|
-
|
|
959
|
+
_context3.t0 = _this$_api;
|
|
960
|
+
_context3.next = 19;
|
|
693
961
|
break;
|
|
694
|
-
case 14:
|
|
695
|
-
_context.next = 16;
|
|
696
|
-
return sdkCore.createApiInstanceForNode(this, node);
|
|
697
962
|
case 16:
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
this.api = _context.t0;
|
|
963
|
+
_context3.next = 18;
|
|
964
|
+
return sdkCore.createApiInstanceForNode(this, node);
|
|
701
965
|
case 18:
|
|
702
|
-
|
|
966
|
+
_context3.t0 = _context3.sent;
|
|
703
967
|
case 19:
|
|
968
|
+
this.api = _context3.t0;
|
|
969
|
+
case 20:
|
|
970
|
+
this._node = node;
|
|
971
|
+
this.initialized = true;
|
|
972
|
+
case 22:
|
|
704
973
|
case "end":
|
|
705
|
-
return
|
|
974
|
+
return _context3.stop();
|
|
706
975
|
}
|
|
707
|
-
},
|
|
976
|
+
}, _callee3, this);
|
|
708
977
|
}));
|
|
709
|
-
function init(
|
|
978
|
+
function init(_x4) {
|
|
710
979
|
return _init.apply(this, arguments);
|
|
711
980
|
}
|
|
712
981
|
return init;
|
|
@@ -714,37 +983,18 @@ var PapiApi = /*#__PURE__*/function () {
|
|
|
714
983
|
}, {
|
|
715
984
|
key: "createApiInstance",
|
|
716
985
|
value: function () {
|
|
717
|
-
var _createApiInstance = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
while (1) switch (_context2.prev = _context2.next) {
|
|
986
|
+
var _createApiInstance = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee4(wsUrl) {
|
|
987
|
+
return _regeneratorRuntime().wrap(function _callee4$(_context4) {
|
|
988
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
721
989
|
case 0:
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
_context2.next = 7;
|
|
725
|
-
break;
|
|
726
|
-
}
|
|
727
|
-
_context2.next = 4;
|
|
728
|
-
return import('polkadot-api/ws-provider/node');
|
|
729
|
-
case 4:
|
|
730
|
-
getWsProvider = _context2.sent.getWsProvider;
|
|
731
|
-
_context2.next = 10;
|
|
732
|
-
break;
|
|
733
|
-
case 7:
|
|
734
|
-
_context2.next = 9;
|
|
735
|
-
return import('polkadot-api/ws-provider/web');
|
|
736
|
-
case 9:
|
|
737
|
-
getWsProvider = _context2.sent.getWsProvider;
|
|
738
|
-
case 10:
|
|
739
|
-
provider = wsUrl instanceof Array ? getWsProvider(wsUrl) : getWsProvider(wsUrl);
|
|
740
|
-
return _context2.abrupt("return", Promise.resolve(polkadotApi.createClient(polkadotSdkCompat.withPolkadotSdkCompat(provider))));
|
|
741
|
-
case 12:
|
|
990
|
+
return _context4.abrupt("return", leasePolkadotClient(wsUrl, this._ttlMs));
|
|
991
|
+
case 1:
|
|
742
992
|
case "end":
|
|
743
|
-
return
|
|
993
|
+
return _context4.stop();
|
|
744
994
|
}
|
|
745
|
-
},
|
|
995
|
+
}, _callee4, this);
|
|
746
996
|
}));
|
|
747
|
-
function createApiInstance(
|
|
997
|
+
function createApiInstance(_x5) {
|
|
748
998
|
return _createApiInstance.apply(this, arguments);
|
|
749
999
|
}
|
|
750
1000
|
return createApiInstance;
|
|
@@ -759,10 +1009,10 @@ var PapiApi = /*#__PURE__*/function () {
|
|
|
759
1009
|
}
|
|
760
1010
|
}, {
|
|
761
1011
|
key: "callTxMethod",
|
|
762
|
-
value: function callTxMethod(
|
|
763
|
-
var module =
|
|
764
|
-
section =
|
|
765
|
-
parameters =
|
|
1012
|
+
value: function callTxMethod(_ref4) {
|
|
1013
|
+
var module = _ref4.module,
|
|
1014
|
+
section = _ref4.section,
|
|
1015
|
+
parameters = _ref4.parameters;
|
|
766
1016
|
var transformedParameters = _transform(parameters);
|
|
767
1017
|
return this.api.getUnsafeApi().tx[module][section](transformedParameters);
|
|
768
1018
|
}
|
|
@@ -779,10 +1029,10 @@ var PapiApi = /*#__PURE__*/function () {
|
|
|
779
1029
|
}, {
|
|
780
1030
|
key: "objectToHex",
|
|
781
1031
|
value: function () {
|
|
782
|
-
var _objectToHex = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function
|
|
1032
|
+
var _objectToHex = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee5(obj) {
|
|
783
1033
|
var transformedObj, tx, removeFirst5Bytes, encodedData;
|
|
784
|
-
return _regeneratorRuntime().wrap(function
|
|
785
|
-
while (1) switch (
|
|
1034
|
+
return _regeneratorRuntime().wrap(function _callee5$(_context5) {
|
|
1035
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
786
1036
|
case 0:
|
|
787
1037
|
transformedObj = _transform(obj);
|
|
788
1038
|
tx = this.api.getUnsafeApi().tx.PolkadotXcm.send({
|
|
@@ -800,18 +1050,18 @@ var PapiApi = /*#__PURE__*/function () {
|
|
|
800
1050
|
removeFirst5Bytes = function removeFirst5Bytes(hexString) {
|
|
801
1051
|
return '0x' + hexString.slice(12);
|
|
802
1052
|
};
|
|
803
|
-
|
|
1053
|
+
_context5.next = 5;
|
|
804
1054
|
return tx.getEncodedData();
|
|
805
1055
|
case 5:
|
|
806
|
-
encodedData =
|
|
807
|
-
return
|
|
1056
|
+
encodedData = _context5.sent;
|
|
1057
|
+
return _context5.abrupt("return", removeFirst5Bytes(encodedData.asHex()));
|
|
808
1058
|
case 7:
|
|
809
1059
|
case "end":
|
|
810
|
-
return
|
|
1060
|
+
return _context5.stop();
|
|
811
1061
|
}
|
|
812
|
-
},
|
|
1062
|
+
}, _callee5, this);
|
|
813
1063
|
}));
|
|
814
|
-
function objectToHex(
|
|
1064
|
+
function objectToHex(_x6) {
|
|
815
1065
|
return _objectToHex.apply(this, arguments);
|
|
816
1066
|
}
|
|
817
1067
|
return objectToHex;
|
|
@@ -829,25 +1079,25 @@ var PapiApi = /*#__PURE__*/function () {
|
|
|
829
1079
|
}, {
|
|
830
1080
|
key: "blake2AsHex",
|
|
831
1081
|
value: function blake2AsHex(data) {
|
|
832
|
-
return "0x".concat(utils.bytesToHex(
|
|
1082
|
+
return "0x".concat(utils.bytesToHex(blake2.blake2b(data, {
|
|
833
1083
|
dkLen: 32
|
|
834
1084
|
})));
|
|
835
1085
|
}
|
|
836
1086
|
}, {
|
|
837
1087
|
key: "calculateTransactionFee",
|
|
838
1088
|
value: function () {
|
|
839
|
-
var _calculateTransactionFee = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function
|
|
840
|
-
return _regeneratorRuntime().wrap(function
|
|
841
|
-
while (1) switch (
|
|
1089
|
+
var _calculateTransactionFee = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee6(tx, address) {
|
|
1090
|
+
return _regeneratorRuntime().wrap(function _callee6$(_context6) {
|
|
1091
|
+
while (1) switch (_context6.prev = _context6.next) {
|
|
842
1092
|
case 0:
|
|
843
|
-
return
|
|
1093
|
+
return _context6.abrupt("return", tx.getEstimatedFees(address));
|
|
844
1094
|
case 1:
|
|
845
1095
|
case "end":
|
|
846
|
-
return
|
|
1096
|
+
return _context6.stop();
|
|
847
1097
|
}
|
|
848
|
-
},
|
|
1098
|
+
}, _callee6);
|
|
849
1099
|
}));
|
|
850
|
-
function calculateTransactionFee(
|
|
1100
|
+
function calculateTransactionFee(_x7, _x8) {
|
|
851
1101
|
return _calculateTransactionFee.apply(this, arguments);
|
|
852
1102
|
}
|
|
853
1103
|
return calculateTransactionFee;
|
|
@@ -855,30 +1105,30 @@ var PapiApi = /*#__PURE__*/function () {
|
|
|
855
1105
|
}, {
|
|
856
1106
|
key: "quoteAhPrice",
|
|
857
1107
|
value: function () {
|
|
858
|
-
var _quoteAhPrice = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function
|
|
1108
|
+
var _quoteAhPrice = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee7(fromMl, toMl, amountIn) {
|
|
859
1109
|
var includeFee,
|
|
860
1110
|
transformedFromMl,
|
|
861
1111
|
transformedToMl,
|
|
862
1112
|
response,
|
|
863
|
-
|
|
864
|
-
return _regeneratorRuntime().wrap(function
|
|
865
|
-
while (1) switch (
|
|
1113
|
+
_args7 = arguments;
|
|
1114
|
+
return _regeneratorRuntime().wrap(function _callee7$(_context7) {
|
|
1115
|
+
while (1) switch (_context7.prev = _context7.next) {
|
|
866
1116
|
case 0:
|
|
867
|
-
includeFee =
|
|
1117
|
+
includeFee = _args7.length > 3 && _args7[3] !== undefined ? _args7[3] : true;
|
|
868
1118
|
transformedFromMl = _transform(fromMl);
|
|
869
1119
|
transformedToMl = _transform(toMl);
|
|
870
|
-
|
|
1120
|
+
_context7.next = 5;
|
|
871
1121
|
return this.api.getUnsafeApi().apis.AssetConversionApi.quote_price_exact_tokens_for_tokens(transformedFromMl, transformedToMl, amountIn, includeFee);
|
|
872
1122
|
case 5:
|
|
873
|
-
response =
|
|
874
|
-
return
|
|
1123
|
+
response = _context7.sent;
|
|
1124
|
+
return _context7.abrupt("return", response ? BigInt(response) : undefined);
|
|
875
1125
|
case 7:
|
|
876
1126
|
case "end":
|
|
877
|
-
return
|
|
1127
|
+
return _context7.stop();
|
|
878
1128
|
}
|
|
879
|
-
},
|
|
1129
|
+
}, _callee7, this);
|
|
880
1130
|
}));
|
|
881
|
-
function quoteAhPrice(
|
|
1131
|
+
function quoteAhPrice(_x9, _x0, _x1) {
|
|
882
1132
|
return _quoteAhPrice.apply(this, arguments);
|
|
883
1133
|
}
|
|
884
1134
|
return quoteAhPrice;
|
|
@@ -886,23 +1136,23 @@ var PapiApi = /*#__PURE__*/function () {
|
|
|
886
1136
|
}, {
|
|
887
1137
|
key: "getBalanceNative",
|
|
888
1138
|
value: function () {
|
|
889
|
-
var _getBalanceNative = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function
|
|
1139
|
+
var _getBalanceNative = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee8(address) {
|
|
890
1140
|
var res;
|
|
891
|
-
return _regeneratorRuntime().wrap(function
|
|
892
|
-
while (1) switch (
|
|
1141
|
+
return _regeneratorRuntime().wrap(function _callee8$(_context8) {
|
|
1142
|
+
while (1) switch (_context8.prev = _context8.next) {
|
|
893
1143
|
case 0:
|
|
894
|
-
|
|
1144
|
+
_context8.next = 2;
|
|
895
1145
|
return this.api.getUnsafeApi().query.System.Account.getValue(address);
|
|
896
1146
|
case 2:
|
|
897
|
-
res =
|
|
898
|
-
return
|
|
1147
|
+
res = _context8.sent;
|
|
1148
|
+
return _context8.abrupt("return", res.data.free);
|
|
899
1149
|
case 4:
|
|
900
1150
|
case "end":
|
|
901
|
-
return
|
|
1151
|
+
return _context8.stop();
|
|
902
1152
|
}
|
|
903
|
-
},
|
|
1153
|
+
}, _callee8, this);
|
|
904
1154
|
}));
|
|
905
|
-
function getBalanceNative(
|
|
1155
|
+
function getBalanceNative(_x10) {
|
|
906
1156
|
return _getBalanceNative.apply(this, arguments);
|
|
907
1157
|
}
|
|
908
1158
|
return getBalanceNative;
|
|
@@ -910,23 +1160,23 @@ var PapiApi = /*#__PURE__*/function () {
|
|
|
910
1160
|
}, {
|
|
911
1161
|
key: "getBalanceForeignPolkadotXcm",
|
|
912
1162
|
value: function () {
|
|
913
|
-
var _getBalanceForeignPolkadotXcm = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function
|
|
1163
|
+
var _getBalanceForeignPolkadotXcm = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee9(address, id) {
|
|
914
1164
|
var res;
|
|
915
|
-
return _regeneratorRuntime().wrap(function
|
|
916
|
-
while (1) switch (
|
|
1165
|
+
return _regeneratorRuntime().wrap(function _callee9$(_context9) {
|
|
1166
|
+
while (1) switch (_context9.prev = _context9.next) {
|
|
917
1167
|
case 0:
|
|
918
|
-
|
|
1168
|
+
_context9.next = 2;
|
|
919
1169
|
return this.api.getUnsafeApi().query.Assets.Account.getValue(id, address);
|
|
920
1170
|
case 2:
|
|
921
|
-
res =
|
|
922
|
-
return
|
|
1171
|
+
res = _context9.sent;
|
|
1172
|
+
return _context9.abrupt("return", res && res.balance ? BigInt(res.balance) : 0n);
|
|
923
1173
|
case 4:
|
|
924
1174
|
case "end":
|
|
925
|
-
return
|
|
1175
|
+
return _context9.stop();
|
|
926
1176
|
}
|
|
927
|
-
},
|
|
1177
|
+
}, _callee9, this);
|
|
928
1178
|
}));
|
|
929
|
-
function getBalanceForeignPolkadotXcm(
|
|
1179
|
+
function getBalanceForeignPolkadotXcm(_x11, _x12) {
|
|
930
1180
|
return _getBalanceForeignPolkadotXcm.apply(this, arguments);
|
|
931
1181
|
}
|
|
932
1182
|
return getBalanceForeignPolkadotXcm;
|
|
@@ -934,23 +1184,23 @@ var PapiApi = /*#__PURE__*/function () {
|
|
|
934
1184
|
}, {
|
|
935
1185
|
key: "getMythosForeignBalance",
|
|
936
1186
|
value: function () {
|
|
937
|
-
var _getMythosForeignBalance = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function
|
|
1187
|
+
var _getMythosForeignBalance = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee0(address) {
|
|
938
1188
|
var res;
|
|
939
|
-
return _regeneratorRuntime().wrap(function
|
|
940
|
-
while (1) switch (
|
|
1189
|
+
return _regeneratorRuntime().wrap(function _callee0$(_context0) {
|
|
1190
|
+
while (1) switch (_context0.prev = _context0.next) {
|
|
941
1191
|
case 0:
|
|
942
|
-
|
|
1192
|
+
_context0.next = 2;
|
|
943
1193
|
return this.api.getUnsafeApi().query.Balances.Account.getValue(address);
|
|
944
1194
|
case 2:
|
|
945
|
-
res =
|
|
946
|
-
return
|
|
1195
|
+
res = _context0.sent;
|
|
1196
|
+
return _context0.abrupt("return", res && res.free ? BigInt(res.free) : 0n);
|
|
947
1197
|
case 4:
|
|
948
1198
|
case "end":
|
|
949
|
-
return
|
|
1199
|
+
return _context0.stop();
|
|
950
1200
|
}
|
|
951
|
-
},
|
|
1201
|
+
}, _callee0, this);
|
|
952
1202
|
}));
|
|
953
|
-
function getMythosForeignBalance(
|
|
1203
|
+
function getMythosForeignBalance(_x13) {
|
|
954
1204
|
return _getMythosForeignBalance.apply(this, arguments);
|
|
955
1205
|
}
|
|
956
1206
|
return getMythosForeignBalance;
|
|
@@ -958,24 +1208,24 @@ var PapiApi = /*#__PURE__*/function () {
|
|
|
958
1208
|
}, {
|
|
959
1209
|
key: "getBalanceForeignAssetsPallet",
|
|
960
1210
|
value: function () {
|
|
961
|
-
var _getBalanceForeignAssetsPallet = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function
|
|
1211
|
+
var _getBalanceForeignAssetsPallet = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee1(address, multiLocation) {
|
|
962
1212
|
var transformedMultiLocation, res;
|
|
963
|
-
return _regeneratorRuntime().wrap(function
|
|
964
|
-
while (1) switch (
|
|
1213
|
+
return _regeneratorRuntime().wrap(function _callee1$(_context1) {
|
|
1214
|
+
while (1) switch (_context1.prev = _context1.next) {
|
|
965
1215
|
case 0:
|
|
966
1216
|
transformedMultiLocation = _transform(multiLocation);
|
|
967
|
-
|
|
1217
|
+
_context1.next = 3;
|
|
968
1218
|
return this.api.getUnsafeApi().query.ForeignAssets.Account.getValue(transformedMultiLocation, address);
|
|
969
1219
|
case 3:
|
|
970
|
-
res =
|
|
971
|
-
return
|
|
1220
|
+
res = _context1.sent;
|
|
1221
|
+
return _context1.abrupt("return", BigInt(res === undefined ? 0 : res.balance));
|
|
972
1222
|
case 5:
|
|
973
1223
|
case "end":
|
|
974
|
-
return
|
|
1224
|
+
return _context1.stop();
|
|
975
1225
|
}
|
|
976
|
-
},
|
|
1226
|
+
}, _callee1, this);
|
|
977
1227
|
}));
|
|
978
|
-
function getBalanceForeignAssetsPallet(
|
|
1228
|
+
function getBalanceForeignAssetsPallet(_x14, _x15) {
|
|
979
1229
|
return _getBalanceForeignAssetsPallet.apply(this, arguments);
|
|
980
1230
|
}
|
|
981
1231
|
return getBalanceForeignAssetsPallet;
|
|
@@ -983,23 +1233,23 @@ var PapiApi = /*#__PURE__*/function () {
|
|
|
983
1233
|
}, {
|
|
984
1234
|
key: "getForeignAssetsByIdBalance",
|
|
985
1235
|
value: function () {
|
|
986
|
-
var _getForeignAssetsByIdBalance = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function
|
|
1236
|
+
var _getForeignAssetsByIdBalance = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee10(address, assetId) {
|
|
987
1237
|
var res;
|
|
988
|
-
return _regeneratorRuntime().wrap(function
|
|
989
|
-
while (1) switch (
|
|
1238
|
+
return _regeneratorRuntime().wrap(function _callee10$(_context10) {
|
|
1239
|
+
while (1) switch (_context10.prev = _context10.next) {
|
|
990
1240
|
case 0:
|
|
991
|
-
|
|
1241
|
+
_context10.next = 2;
|
|
992
1242
|
return this.api.getUnsafeApi().query.ForeignAssets.Account.getValue(assetId, address);
|
|
993
1243
|
case 2:
|
|
994
|
-
res =
|
|
995
|
-
return
|
|
1244
|
+
res = _context10.sent;
|
|
1245
|
+
return _context10.abrupt("return", BigInt(res === undefined ? 0 : res.balance));
|
|
996
1246
|
case 4:
|
|
997
1247
|
case "end":
|
|
998
|
-
return
|
|
1248
|
+
return _context10.stop();
|
|
999
1249
|
}
|
|
1000
|
-
},
|
|
1250
|
+
}, _callee10, this);
|
|
1001
1251
|
}));
|
|
1002
|
-
function getForeignAssetsByIdBalance(
|
|
1252
|
+
function getForeignAssetsByIdBalance(_x16, _x17) {
|
|
1003
1253
|
return _getForeignAssetsByIdBalance.apply(this, arguments);
|
|
1004
1254
|
}
|
|
1005
1255
|
return getForeignAssetsByIdBalance;
|
|
@@ -1007,26 +1257,26 @@ var PapiApi = /*#__PURE__*/function () {
|
|
|
1007
1257
|
}, {
|
|
1008
1258
|
key: "getBalanceForeignBifrost",
|
|
1009
1259
|
value: function () {
|
|
1010
|
-
var _getBalanceForeignBifrost = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function
|
|
1260
|
+
var _getBalanceForeignBifrost = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee11(address, asset) {
|
|
1011
1261
|
var currencySelection, transformedParameters, response, accountData;
|
|
1012
|
-
return _regeneratorRuntime().wrap(function
|
|
1013
|
-
while (1) switch (
|
|
1262
|
+
return _regeneratorRuntime().wrap(function _callee11$(_context11) {
|
|
1263
|
+
while (1) switch (_context11.prev = _context11.next) {
|
|
1014
1264
|
case 0:
|
|
1015
1265
|
currencySelection = sdkCore.getNode('BifrostPolkadot').getCurrencySelection(asset);
|
|
1016
1266
|
transformedParameters = _transform(currencySelection);
|
|
1017
|
-
|
|
1267
|
+
_context11.next = 4;
|
|
1018
1268
|
return this.api.getUnsafeApi().query.Tokens.Accounts.getValue(address, transformedParameters);
|
|
1019
1269
|
case 4:
|
|
1020
|
-
response =
|
|
1270
|
+
response = _context11.sent;
|
|
1021
1271
|
accountData = response ? response : null;
|
|
1022
|
-
return
|
|
1272
|
+
return _context11.abrupt("return", accountData ? BigInt(accountData.free.toString()) : 0n);
|
|
1023
1273
|
case 7:
|
|
1024
1274
|
case "end":
|
|
1025
|
-
return
|
|
1275
|
+
return _context11.stop();
|
|
1026
1276
|
}
|
|
1027
|
-
},
|
|
1277
|
+
}, _callee11, this);
|
|
1028
1278
|
}));
|
|
1029
|
-
function getBalanceForeignBifrost(
|
|
1279
|
+
function getBalanceForeignBifrost(_x18, _x19) {
|
|
1030
1280
|
return _getBalanceForeignBifrost.apply(this, arguments);
|
|
1031
1281
|
}
|
|
1032
1282
|
return getBalanceForeignBifrost;
|
|
@@ -1034,27 +1284,27 @@ var PapiApi = /*#__PURE__*/function () {
|
|
|
1034
1284
|
}, {
|
|
1035
1285
|
key: "getBalanceNativeAcala",
|
|
1036
1286
|
value: function () {
|
|
1037
|
-
var _getBalanceNativeAcala = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function
|
|
1287
|
+
var _getBalanceNativeAcala = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee12(address, symbol) {
|
|
1038
1288
|
var transformedParameters, response, accountData;
|
|
1039
|
-
return _regeneratorRuntime().wrap(function
|
|
1040
|
-
while (1) switch (
|
|
1289
|
+
return _regeneratorRuntime().wrap(function _callee12$(_context12) {
|
|
1290
|
+
while (1) switch (_context12.prev = _context12.next) {
|
|
1041
1291
|
case 0:
|
|
1042
1292
|
transformedParameters = _transform({
|
|
1043
1293
|
Token: symbol
|
|
1044
1294
|
});
|
|
1045
|
-
|
|
1295
|
+
_context12.next = 3;
|
|
1046
1296
|
return this.api.getUnsafeApi().query.Tokens.Accounts.getValue(address, transformedParameters);
|
|
1047
1297
|
case 3:
|
|
1048
|
-
response =
|
|
1298
|
+
response = _context12.sent;
|
|
1049
1299
|
accountData = response ? response : null;
|
|
1050
|
-
return
|
|
1300
|
+
return _context12.abrupt("return", accountData ? BigInt(accountData.free.toString()) : 0n);
|
|
1051
1301
|
case 6:
|
|
1052
1302
|
case "end":
|
|
1053
|
-
return
|
|
1303
|
+
return _context12.stop();
|
|
1054
1304
|
}
|
|
1055
|
-
},
|
|
1305
|
+
}, _callee12, this);
|
|
1056
1306
|
}));
|
|
1057
|
-
function getBalanceNativeAcala(
|
|
1307
|
+
function getBalanceNativeAcala(_x20, _x21) {
|
|
1058
1308
|
return _getBalanceNativeAcala.apply(this, arguments);
|
|
1059
1309
|
}
|
|
1060
1310
|
return getBalanceNativeAcala;
|
|
@@ -1062,35 +1312,35 @@ var PapiApi = /*#__PURE__*/function () {
|
|
|
1062
1312
|
}, {
|
|
1063
1313
|
key: "getBalanceForeignXTokens",
|
|
1064
1314
|
value: function () {
|
|
1065
|
-
var _getBalanceForeignXTokens = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function
|
|
1315
|
+
var _getBalanceForeignXTokens = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee13(node, address, asset) {
|
|
1066
1316
|
var pallet, response, entry;
|
|
1067
|
-
return _regeneratorRuntime().wrap(function
|
|
1068
|
-
while (1) switch (
|
|
1317
|
+
return _regeneratorRuntime().wrap(function _callee13$(_context13) {
|
|
1318
|
+
while (1) switch (_context13.prev = _context13.next) {
|
|
1069
1319
|
case 0:
|
|
1070
1320
|
pallet = 'Tokens';
|
|
1071
1321
|
if (node === 'Centrifuge' || node === 'Altair') {
|
|
1072
1322
|
pallet = 'OrmlTokens';
|
|
1073
1323
|
}
|
|
1074
|
-
|
|
1324
|
+
_context13.next = 4;
|
|
1075
1325
|
return this.api.getUnsafeApi().query[pallet].Accounts.getEntries(address);
|
|
1076
1326
|
case 4:
|
|
1077
|
-
response =
|
|
1078
|
-
entry = response.find(function (
|
|
1327
|
+
response = _context13.sent;
|
|
1328
|
+
entry = response.find(function (_ref5) {
|
|
1079
1329
|
var _asset$symbol, _asset$assetId, _asset$symbol2, _asset$assetId2;
|
|
1080
|
-
var keyArgs =
|
|
1330
|
+
var keyArgs = _ref5.keyArgs;
|
|
1081
1331
|
var _keyArgs = _slicedToArray(keyArgs, 2);
|
|
1082
1332
|
_keyArgs[0];
|
|
1083
1333
|
var assetItem = _keyArgs[1];
|
|
1084
1334
|
return assetItem.toString().toLowerCase() === ((_asset$symbol = asset.symbol) === null || _asset$symbol === void 0 ? void 0 : _asset$symbol.toLowerCase()) || sdkCore.isForeignAsset(asset) && assetItem.toString().toLowerCase() === ((_asset$assetId = asset.assetId) === null || _asset$assetId === void 0 ? void 0 : _asset$assetId.toLowerCase()) || _typeof(assetItem) === 'object' && 'value' in assetItem && assetItem.value.toString().toLowerCase() === ((_asset$symbol2 = asset.symbol) === null || _asset$symbol2 === void 0 ? void 0 : _asset$symbol2.toLowerCase()) || _typeof(assetItem) === 'object' && 'value' in assetItem && sdkCore.isForeignAsset(asset) && assetItem.value.toString().toLowerCase() === ((_asset$assetId2 = asset.assetId) === null || _asset$assetId2 === void 0 ? void 0 : _asset$assetId2.toLowerCase());
|
|
1085
1335
|
});
|
|
1086
|
-
return
|
|
1336
|
+
return _context13.abrupt("return", entry !== null && entry !== void 0 && entry.value ? BigInt(entry.value.free.toString()) : 0n);
|
|
1087
1337
|
case 7:
|
|
1088
1338
|
case "end":
|
|
1089
|
-
return
|
|
1339
|
+
return _context13.stop();
|
|
1090
1340
|
}
|
|
1091
|
-
},
|
|
1341
|
+
}, _callee13, this);
|
|
1092
1342
|
}));
|
|
1093
|
-
function getBalanceForeignXTokens(
|
|
1343
|
+
function getBalanceForeignXTokens(_x22, _x23, _x24) {
|
|
1094
1344
|
return _getBalanceForeignXTokens.apply(this, arguments);
|
|
1095
1345
|
}
|
|
1096
1346
|
return getBalanceForeignXTokens;
|
|
@@ -1098,23 +1348,23 @@ var PapiApi = /*#__PURE__*/function () {
|
|
|
1098
1348
|
}, {
|
|
1099
1349
|
key: "getBalanceAssetsPallet",
|
|
1100
1350
|
value: function () {
|
|
1101
|
-
var _getBalanceAssetsPallet = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function
|
|
1351
|
+
var _getBalanceAssetsPallet = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee14(address, assetId) {
|
|
1102
1352
|
var response;
|
|
1103
|
-
return _regeneratorRuntime().wrap(function
|
|
1104
|
-
while (1) switch (
|
|
1353
|
+
return _regeneratorRuntime().wrap(function _callee14$(_context14) {
|
|
1354
|
+
while (1) switch (_context14.prev = _context14.next) {
|
|
1105
1355
|
case 0:
|
|
1106
|
-
|
|
1356
|
+
_context14.next = 2;
|
|
1107
1357
|
return this.api.getUnsafeApi().query.Assets.Account.getValue(assetId, address);
|
|
1108
1358
|
case 2:
|
|
1109
|
-
response =
|
|
1110
|
-
return
|
|
1359
|
+
response = _context14.sent;
|
|
1360
|
+
return _context14.abrupt("return", BigInt(response === undefined ? 0 : response.balance));
|
|
1111
1361
|
case 4:
|
|
1112
1362
|
case "end":
|
|
1113
|
-
return
|
|
1363
|
+
return _context14.stop();
|
|
1114
1364
|
}
|
|
1115
|
-
},
|
|
1365
|
+
}, _callee14, this);
|
|
1116
1366
|
}));
|
|
1117
|
-
function getBalanceAssetsPallet(
|
|
1367
|
+
function getBalanceAssetsPallet(_x25, _x26) {
|
|
1118
1368
|
return _getBalanceAssetsPallet.apply(this, arguments);
|
|
1119
1369
|
}
|
|
1120
1370
|
return getBalanceAssetsPallet;
|
|
@@ -1122,24 +1372,24 @@ var PapiApi = /*#__PURE__*/function () {
|
|
|
1122
1372
|
}, {
|
|
1123
1373
|
key: "getFromRpc",
|
|
1124
1374
|
value: function () {
|
|
1125
|
-
var _getFromRpc = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function
|
|
1375
|
+
var _getFromRpc = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee15(module, method, key) {
|
|
1126
1376
|
var toSS58, value;
|
|
1127
|
-
return _regeneratorRuntime().wrap(function
|
|
1128
|
-
while (1) switch (
|
|
1377
|
+
return _regeneratorRuntime().wrap(function _callee15$(_context15) {
|
|
1378
|
+
while (1) switch (_context15.prev = _context15.next) {
|
|
1129
1379
|
case 0:
|
|
1130
1380
|
toSS58 = polkadotApi.AccountId().dec;
|
|
1131
|
-
|
|
1381
|
+
_context15.next = 3;
|
|
1132
1382
|
return this.api._request("".concat(module, "_").concat(method), [module === 'system' && isHex(key) && !ethers.ethers.isAddress(key) ? toSS58(key) : key]);
|
|
1133
1383
|
case 3:
|
|
1134
|
-
value =
|
|
1135
|
-
return
|
|
1384
|
+
value = _context15.sent;
|
|
1385
|
+
return _context15.abrupt("return", isHex(value) ? value : '0x' + value.toString(16).padStart(8, '0'));
|
|
1136
1386
|
case 5:
|
|
1137
1387
|
case "end":
|
|
1138
|
-
return
|
|
1388
|
+
return _context15.stop();
|
|
1139
1389
|
}
|
|
1140
|
-
},
|
|
1390
|
+
}, _callee15, this);
|
|
1141
1391
|
}));
|
|
1142
|
-
function getFromRpc(
|
|
1392
|
+
function getFromRpc(_x27, _x28, _x29) {
|
|
1143
1393
|
return _getFromRpc.apply(this, arguments);
|
|
1144
1394
|
}
|
|
1145
1395
|
return getFromRpc;
|
|
@@ -1152,23 +1402,23 @@ var PapiApi = /*#__PURE__*/function () {
|
|
|
1152
1402
|
}, {
|
|
1153
1403
|
key: "createApiForNode",
|
|
1154
1404
|
value: function () {
|
|
1155
|
-
var _createApiForNode = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function
|
|
1405
|
+
var _createApiForNode = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee16(node) {
|
|
1156
1406
|
var api;
|
|
1157
|
-
return _regeneratorRuntime().wrap(function
|
|
1158
|
-
while (1) switch (
|
|
1407
|
+
return _regeneratorRuntime().wrap(function _callee16$(_context16) {
|
|
1408
|
+
while (1) switch (_context16.prev = _context16.next) {
|
|
1159
1409
|
case 0:
|
|
1160
1410
|
api = new PapiApi();
|
|
1161
|
-
|
|
1411
|
+
_context16.next = 3;
|
|
1162
1412
|
return api.init(node);
|
|
1163
1413
|
case 3:
|
|
1164
|
-
return
|
|
1414
|
+
return _context16.abrupt("return", api);
|
|
1165
1415
|
case 4:
|
|
1166
1416
|
case "end":
|
|
1167
|
-
return
|
|
1417
|
+
return _context16.stop();
|
|
1168
1418
|
}
|
|
1169
|
-
},
|
|
1419
|
+
}, _callee16);
|
|
1170
1420
|
}));
|
|
1171
|
-
function createApiForNode(
|
|
1421
|
+
function createApiForNode(_x30) {
|
|
1172
1422
|
return _createApiForNode.apply(this, arguments);
|
|
1173
1423
|
}
|
|
1174
1424
|
return createApiForNode;
|
|
@@ -1176,24 +1426,24 @@ var PapiApi = /*#__PURE__*/function () {
|
|
|
1176
1426
|
}, {
|
|
1177
1427
|
key: "getDryRunCall",
|
|
1178
1428
|
value: function () {
|
|
1179
|
-
var _getDryRunCall = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function
|
|
1429
|
+
var _getDryRunCall = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee17(_ref6) {
|
|
1180
1430
|
var _this$api$getUnsafeAp;
|
|
1181
1431
|
var tx, address, node, supportsDryRunApi, isBifrost, DEFAULT_XCM_VERSION, result, isSuccess, failureReason, executionFee, fee, actualWeight, weight, forwardedXcms, destParaId;
|
|
1182
|
-
return _regeneratorRuntime().wrap(function
|
|
1183
|
-
while (1) switch (
|
|
1432
|
+
return _regeneratorRuntime().wrap(function _callee17$(_context17) {
|
|
1433
|
+
while (1) switch (_context17.prev = _context17.next) {
|
|
1184
1434
|
case 0:
|
|
1185
|
-
tx =
|
|
1435
|
+
tx = _ref6.tx, address = _ref6.address, node = _ref6.node;
|
|
1186
1436
|
supportsDryRunApi = sdkCore.getAssetsObject(node).supportsDryRunApi;
|
|
1187
1437
|
if (supportsDryRunApi) {
|
|
1188
|
-
|
|
1438
|
+
_context17.next = 4;
|
|
1189
1439
|
break;
|
|
1190
1440
|
}
|
|
1191
1441
|
throw new sdkCore.NodeNotSupportedError("DryRunApi is not available on node ".concat(node));
|
|
1192
1442
|
case 4:
|
|
1193
|
-
//
|
|
1194
|
-
isBifrost = node === 'BifrostPolkadot' || node === 'BifrostKusama';
|
|
1443
|
+
// These nodes require a third parameter XCM version
|
|
1444
|
+
isBifrost = node === 'BifrostPolkadot' || node === 'BifrostKusama' || node === 'AssetHubKusama';
|
|
1195
1445
|
DEFAULT_XCM_VERSION = 3;
|
|
1196
|
-
|
|
1446
|
+
_context17.next = 8;
|
|
1197
1447
|
return (_this$api$getUnsafeAp = this.api.getUnsafeApi().apis.DryRunApi).dry_run_call.apply(_this$api$getUnsafeAp, [{
|
|
1198
1448
|
type: 'system',
|
|
1199
1449
|
value: {
|
|
@@ -1202,22 +1452,22 @@ var PapiApi = /*#__PURE__*/function () {
|
|
|
1202
1452
|
}
|
|
1203
1453
|
}, tx.decodedCall].concat(_toConsumableArray(isBifrost ? [DEFAULT_XCM_VERSION] : [])));
|
|
1204
1454
|
case 8:
|
|
1205
|
-
result =
|
|
1455
|
+
result = _context17.sent;
|
|
1206
1456
|
isSuccess = result.success && result.value.execution_result.success;
|
|
1207
1457
|
if (isSuccess) {
|
|
1208
|
-
|
|
1458
|
+
_context17.next = 13;
|
|
1209
1459
|
break;
|
|
1210
1460
|
}
|
|
1211
1461
|
failureReason = result.value.execution_result.value.error.value.value.type;
|
|
1212
|
-
return
|
|
1462
|
+
return _context17.abrupt("return", Promise.resolve({
|
|
1213
1463
|
success: false,
|
|
1214
1464
|
failureReason: failureReason
|
|
1215
1465
|
}));
|
|
1216
1466
|
case 13:
|
|
1217
|
-
|
|
1467
|
+
_context17.next = 15;
|
|
1218
1468
|
return this.calculateTransactionFee(tx, address);
|
|
1219
1469
|
case 15:
|
|
1220
|
-
executionFee =
|
|
1470
|
+
executionFee = _context17.sent;
|
|
1221
1471
|
fee = sdkCore.computeFeeFromDryRun(result, node, executionFee);
|
|
1222
1472
|
actualWeight = result.value.execution_result.value.actual_weight;
|
|
1223
1473
|
weight = actualWeight ? {
|
|
@@ -1226,7 +1476,7 @@ var PapiApi = /*#__PURE__*/function () {
|
|
|
1226
1476
|
} : undefined;
|
|
1227
1477
|
forwardedXcms = result.value.forwarded_xcms.length > 0 ? result.value.forwarded_xcms[0] : [];
|
|
1228
1478
|
destParaId = forwardedXcms.length === 0 ? undefined : forwardedXcms[0].value.interior.type === 'Here' ? 0 : forwardedXcms[0].value.interior.value.value;
|
|
1229
|
-
return
|
|
1479
|
+
return _context17.abrupt("return", Promise.resolve({
|
|
1230
1480
|
success: true,
|
|
1231
1481
|
fee: fee,
|
|
1232
1482
|
weight: weight,
|
|
@@ -1235,11 +1485,11 @@ var PapiApi = /*#__PURE__*/function () {
|
|
|
1235
1485
|
}));
|
|
1236
1486
|
case 22:
|
|
1237
1487
|
case "end":
|
|
1238
|
-
return
|
|
1488
|
+
return _context17.stop();
|
|
1239
1489
|
}
|
|
1240
|
-
},
|
|
1490
|
+
}, _callee17, this);
|
|
1241
1491
|
}));
|
|
1242
|
-
function getDryRunCall(
|
|
1492
|
+
function getDryRunCall(_x31) {
|
|
1243
1493
|
return _getDryRunCall.apply(this, arguments);
|
|
1244
1494
|
}
|
|
1245
1495
|
return getDryRunCall;
|
|
@@ -1247,32 +1497,32 @@ var PapiApi = /*#__PURE__*/function () {
|
|
|
1247
1497
|
}, {
|
|
1248
1498
|
key: "getDryRunXcm",
|
|
1249
1499
|
value: function () {
|
|
1250
|
-
var _getDryRunXcm = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function
|
|
1251
|
-
var
|
|
1500
|
+
var _getDryRunXcm = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee18(_ref7) {
|
|
1501
|
+
var _ref8, _ref9, _ref0;
|
|
1252
1502
|
var originLocation, xcm, node, origin, supportsDryRunApi, transformedOriginLocation, result, isSuccess, failureReason, emitted, reversedEvents, palletsWithIssued, feeEvent, fee, actualWeight, weight, forwardedXcms, destParaId;
|
|
1253
|
-
return _regeneratorRuntime().wrap(function
|
|
1254
|
-
while (1) switch (
|
|
1503
|
+
return _regeneratorRuntime().wrap(function _callee18$(_context18) {
|
|
1504
|
+
while (1) switch (_context18.prev = _context18.next) {
|
|
1255
1505
|
case 0:
|
|
1256
|
-
originLocation =
|
|
1506
|
+
originLocation = _ref7.originLocation, xcm = _ref7.xcm, node = _ref7.node, origin = _ref7.origin;
|
|
1257
1507
|
supportsDryRunApi = sdkCore.getAssetsObject(node).supportsDryRunApi;
|
|
1258
1508
|
if (supportsDryRunApi) {
|
|
1259
|
-
|
|
1509
|
+
_context18.next = 4;
|
|
1260
1510
|
break;
|
|
1261
1511
|
}
|
|
1262
1512
|
throw new sdkCore.NodeNotSupportedError("DryRunApi is not available on node ".concat(node));
|
|
1263
1513
|
case 4:
|
|
1264
1514
|
transformedOriginLocation = _transform(originLocation);
|
|
1265
|
-
|
|
1515
|
+
_context18.next = 7;
|
|
1266
1516
|
return this.api.getUnsafeApi().apis.DryRunApi.dry_run_xcm(transformedOriginLocation, xcm);
|
|
1267
1517
|
case 7:
|
|
1268
|
-
result =
|
|
1518
|
+
result = _context18.sent;
|
|
1269
1519
|
isSuccess = result.success && result.value.execution_result.type === 'Complete';
|
|
1270
1520
|
if (isSuccess) {
|
|
1271
|
-
|
|
1521
|
+
_context18.next = 12;
|
|
1272
1522
|
break;
|
|
1273
1523
|
}
|
|
1274
1524
|
failureReason = result.value.execution_result.value.error.type;
|
|
1275
|
-
return
|
|
1525
|
+
return _context18.abrupt("return", Promise.resolve({
|
|
1276
1526
|
success: false,
|
|
1277
1527
|
failureReason: failureReason
|
|
1278
1528
|
}));
|
|
@@ -1280,24 +1530,24 @@ var PapiApi = /*#__PURE__*/function () {
|
|
|
1280
1530
|
emitted = result.value.emitted_events; // We want to look for the last event
|
|
1281
1531
|
reversedEvents = _toConsumableArray(emitted).reverse();
|
|
1282
1532
|
palletsWithIssued = ['Balances', 'ForeignAssets', 'Assets'];
|
|
1283
|
-
feeEvent = (
|
|
1533
|
+
feeEvent = (_ref8 = (_ref9 = (_ref0 = origin === 'Mythos' ? reversedEvents.find(function (event) {
|
|
1284
1534
|
return event.type === 'AssetConversion' && event.value.type === 'SwapCreditExecuted';
|
|
1285
|
-
}) : undefined) !== null &&
|
|
1535
|
+
}) : undefined) !== null && _ref0 !== void 0 ? _ref0 :
|
|
1286
1536
|
// Prefer an Issued event
|
|
1287
1537
|
reversedEvents.find(function (event) {
|
|
1288
1538
|
return palletsWithIssued.includes(event.type) && event.value.type === 'Issued';
|
|
1289
|
-
})) !== null &&
|
|
1539
|
+
})) !== null && _ref9 !== void 0 ? _ref9 :
|
|
1290
1540
|
// Fallback to Minted event
|
|
1291
1541
|
reversedEvents.find(function (event) {
|
|
1292
1542
|
return ['Balances', 'ForeignAssets'].includes(event.type) && event.value.type === 'Minted';
|
|
1293
|
-
})) !== null &&
|
|
1543
|
+
})) !== null && _ref8 !== void 0 ? _ref8 : reversedEvents.find(function (event) {
|
|
1294
1544
|
return ['Currencies', 'Tokens'].includes(event.type) && event.value.type === 'Deposited';
|
|
1295
1545
|
});
|
|
1296
1546
|
if (feeEvent) {
|
|
1297
|
-
|
|
1547
|
+
_context18.next = 18;
|
|
1298
1548
|
break;
|
|
1299
1549
|
}
|
|
1300
|
-
return
|
|
1550
|
+
return _context18.abrupt("return", Promise.resolve({
|
|
1301
1551
|
success: false,
|
|
1302
1552
|
failureReason: 'Cannot determine destination fee. No Issued event found'
|
|
1303
1553
|
}));
|
|
@@ -1310,7 +1560,7 @@ var PapiApi = /*#__PURE__*/function () {
|
|
|
1310
1560
|
} : undefined;
|
|
1311
1561
|
forwardedXcms = result.value.forwarded_xcms.length > 0 ? result.value.forwarded_xcms[0] : [];
|
|
1312
1562
|
destParaId = forwardedXcms.length === 0 ? undefined : forwardedXcms[0].value.interior.type === 'Here' ? 0 : forwardedXcms[0].value.interior.value.value;
|
|
1313
|
-
return
|
|
1563
|
+
return _context18.abrupt("return", Promise.resolve({
|
|
1314
1564
|
success: true,
|
|
1315
1565
|
fee: fee,
|
|
1316
1566
|
weight: weight,
|
|
@@ -1319,11 +1569,11 @@ var PapiApi = /*#__PURE__*/function () {
|
|
|
1319
1569
|
}));
|
|
1320
1570
|
case 24:
|
|
1321
1571
|
case "end":
|
|
1322
|
-
return
|
|
1572
|
+
return _context18.stop();
|
|
1323
1573
|
}
|
|
1324
|
-
},
|
|
1574
|
+
}, _callee18, this);
|
|
1325
1575
|
}));
|
|
1326
|
-
function getDryRunXcm(
|
|
1576
|
+
function getDryRunXcm(_x32) {
|
|
1327
1577
|
return _getDryRunXcm.apply(this, arguments);
|
|
1328
1578
|
}
|
|
1329
1579
|
return getDryRunXcm;
|
|
@@ -1331,21 +1581,21 @@ var PapiApi = /*#__PURE__*/function () {
|
|
|
1331
1581
|
}, {
|
|
1332
1582
|
key: "getBridgeStatus",
|
|
1333
1583
|
value: function () {
|
|
1334
|
-
var _getBridgeStatus = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function
|
|
1584
|
+
var _getBridgeStatus = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee19() {
|
|
1335
1585
|
var outboundOperatingMode;
|
|
1336
|
-
return _regeneratorRuntime().wrap(function
|
|
1337
|
-
while (1) switch (
|
|
1586
|
+
return _regeneratorRuntime().wrap(function _callee19$(_context19) {
|
|
1587
|
+
while (1) switch (_context19.prev = _context19.next) {
|
|
1338
1588
|
case 0:
|
|
1339
|
-
|
|
1589
|
+
_context19.next = 2;
|
|
1340
1590
|
return this.api.getUnsafeApi().query.EthereumOutboundQueue.OperatingMode.getValue();
|
|
1341
1591
|
case 2:
|
|
1342
|
-
outboundOperatingMode =
|
|
1343
|
-
return
|
|
1592
|
+
outboundOperatingMode = _context19.sent;
|
|
1593
|
+
return _context19.abrupt("return", outboundOperatingMode.type);
|
|
1344
1594
|
case 4:
|
|
1345
1595
|
case "end":
|
|
1346
|
-
return
|
|
1596
|
+
return _context19.stop();
|
|
1347
1597
|
}
|
|
1348
|
-
},
|
|
1598
|
+
}, _callee19, this);
|
|
1349
1599
|
}));
|
|
1350
1600
|
function getBridgeStatus() {
|
|
1351
1601
|
return _getBridgeStatus.apply(this, arguments);
|
|
@@ -1368,10 +1618,19 @@ var PapiApi = /*#__PURE__*/function () {
|
|
|
1368
1618
|
var force = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
1369
1619
|
if (!this.initialized) return Promise.resolve();
|
|
1370
1620
|
if (!force && !this.disconnectAllowed) return Promise.resolve();
|
|
1371
|
-
//
|
|
1372
|
-
if (force
|
|
1621
|
+
// Own client provided, destroy only if force true
|
|
1622
|
+
if (force && _typeof(this._api) === 'object') {
|
|
1373
1623
|
this.api.destroy();
|
|
1374
1624
|
}
|
|
1625
|
+
// Client created automatically
|
|
1626
|
+
if (typeof this._api === 'string' || Array.isArray(this._api) || this._api === undefined) {
|
|
1627
|
+
if (force) {
|
|
1628
|
+
this.api.destroy();
|
|
1629
|
+
} else {
|
|
1630
|
+
var key = this._api === undefined ? sdkCore.getNodeProviders(this._node) : this._api;
|
|
1631
|
+
releasePolkadotClient(key);
|
|
1632
|
+
}
|
|
1633
|
+
}
|
|
1375
1634
|
return Promise.resolve();
|
|
1376
1635
|
}
|
|
1377
1636
|
}]);
|