@paraspell/sdk 1.1.10 → 1.1.12

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 CHANGED
@@ -4,6 +4,19 @@ require('@polkadot/api');
4
4
  var ethers = require('ethers');
5
5
  require('@polkadot/apps-config/endpoints');
6
6
 
7
+ // derrived from https://github.com/kodadot/packages/blob/main/minimark/src/common/types.ts
8
+ exports.TType = void 0;
9
+ (function (TType) {
10
+ TType["CONSTS"] = "consts";
11
+ TType["QUERY"] = "query";
12
+ TType["TX"] = "tx";
13
+ })(exports.TType || (exports.TType = {}));
14
+ exports.Version = void 0;
15
+ (function (Version) {
16
+ Version[Version["V1"] = 0] = "V1";
17
+ Version[Version["V3"] = 1] = "V3";
18
+ })(exports.Version || (exports.Version = {}));
19
+
7
20
  function _classCallCheck(instance, Constructor) {
8
21
  if (!(instance instanceof Constructor)) {
9
22
  throw new TypeError("Cannot call a class as a function");
@@ -3682,11 +3695,12 @@ var supportsPolkadotXCM = function supportsPolkadotXCM(obj) {
3682
3695
  return 'transferPolkadotXCM' in obj;
3683
3696
  };
3684
3697
  var ParachainNode = /*#__PURE__*/function () {
3685
- function ParachainNode(node, name, type) {
3698
+ function ParachainNode(node, name, type, version) {
3686
3699
  _classCallCheck(this, ParachainNode);
3687
3700
  this._name = name;
3688
3701
  this._type = type;
3689
3702
  this._node = node;
3703
+ this._version = version;
3690
3704
  }
3691
3705
  _createClass(ParachainNode, [{
3692
3706
  key: "name",
@@ -3703,9 +3717,15 @@ var ParachainNode = /*#__PURE__*/function () {
3703
3717
  get: function get() {
3704
3718
  return this._node;
3705
3719
  }
3720
+ }, {
3721
+ key: "version",
3722
+ get: function get() {
3723
+ return this._version;
3724
+ }
3706
3725
  }, {
3707
3726
  key: "transfer",
3708
3727
  value: function transfer(api, currencySymbol, currencyId, amount, to, destination) {
3728
+ var serializedApiCallEnabled = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : false;
3709
3729
  var scenario = destination ? 'ParaToPara' : 'ParaToRelay';
3710
3730
  var paraId = destination ? getParaId(destination) : undefined;
3711
3731
  if (supportsXTokens(this)) {
@@ -3714,16 +3734,18 @@ var ParachainNode = /*#__PURE__*/function () {
3714
3734
  currency: currencySymbol,
3715
3735
  currencyID: currencyId,
3716
3736
  amount: amount,
3717
- addressSelection: handleAddress(scenario, 'xTokens', api, to, paraId, this._node),
3718
- fees: getFees(scenario)
3737
+ addressSelection: handleAddress(scenario, 'xTokens', api, to, this.version, paraId),
3738
+ fees: getFees(scenario),
3739
+ serializedApiCallEnabled: serializedApiCallEnabled
3719
3740
  });
3720
3741
  } else if (supportsPolkadotXCM(this)) {
3721
3742
  return this.transferPolkadotXCM({
3722
3743
  api: api,
3723
- header: createHeaderPolkadotXCM(scenario, paraId, this._node),
3724
- addressSelection: handleAddress(scenario, 'polkadotXCM', api, to, paraId, this._node),
3725
- currencySelection: createCurrencySpecification(amount, scenario, this._node, currencyId),
3726
- scenario: scenario
3744
+ header: createHeaderPolkadotXCM(scenario, this.version, paraId),
3745
+ addressSelection: handleAddress(scenario, 'polkadotXCM', api, to, this.version, paraId),
3746
+ currencySelection: createCurrencySpecification(amount, scenario, this.version, this._node, currencyId),
3747
+ scenario: scenario,
3748
+ serializedApiCallEnabled: serializedApiCallEnabled
3727
3749
  });
3728
3750
  } else {
3729
3751
  throw new NoXCMSupportImplementedError(this._node);
@@ -3742,10 +3764,20 @@ var XTokensTransferImpl = /*#__PURE__*/function () {
3742
3764
  value: function transferXTokens(_ref, currencySelection) {
3743
3765
  var api = _ref.api,
3744
3766
  amount = _ref.amount,
3745
- addressSelection = _ref.addressSelection;
3767
+ addressSelection = _ref.addressSelection,
3768
+ serializedApiCallEnabled = _ref.serializedApiCallEnabled;
3746
3769
  var fees = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'Unlimited';
3747
3770
  var pallet = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 'XTokens';
3748
- return api.tx[lowercaseFirstLetter(pallet.toString())].transfer(currencySelection, amount, addressSelection, fees);
3771
+ var module = lowercaseFirstLetter(pallet.toString());
3772
+ if (serializedApiCallEnabled) {
3773
+ return {
3774
+ type: exports.TType.TX,
3775
+ module: module,
3776
+ section: 'transfer',
3777
+ parameters: [currencySelection, amount, addressSelection, fees]
3778
+ };
3779
+ }
3780
+ return api.tx[module].transfer(currencySelection, amount, addressSelection, fees);
3749
3781
  }
3750
3782
  }]);
3751
3783
  return XTokensTransferImpl;
@@ -3756,7 +3788,7 @@ var Acala$1 = /*#__PURE__*/function (_ParachainNode) {
3756
3788
  var _super = _createSuper(Acala);
3757
3789
  function Acala() {
3758
3790
  _classCallCheck(this, Acala);
3759
- return _super.call(this, 'Acala', 'acala', 'polkadot');
3791
+ return _super.call(this, 'Acala', 'acala', 'polkadot', exports.Version.V1);
3760
3792
  }
3761
3793
  _createClass(Acala, [{
3762
3794
  key: "transferXTokens",
@@ -3779,7 +3811,7 @@ var Unique$1 = /*#__PURE__*/function (_ParachainNode) {
3779
3811
  var _super = _createSuper(Unique);
3780
3812
  function Unique() {
3781
3813
  _classCallCheck(this, Unique);
3782
- return _super.call(this, 'Unique', 'unique', 'polkadot');
3814
+ return _super.call(this, 'Unique', 'unique', 'polkadot', exports.Version.V3);
3783
3815
  }
3784
3816
  _createClass(Unique, [{
3785
3817
  key: "transferXTokens",
@@ -3811,7 +3843,7 @@ var Crust$1 = /*#__PURE__*/function (_ParachainNode) {
3811
3843
  var _super = _createSuper(Crust);
3812
3844
  function Crust() {
3813
3845
  _classCallCheck(this, Crust);
3814
- return _super.call(this, 'Crust', 'crustParachain', 'polkadot');
3846
+ return _super.call(this, 'Crust', 'crustParachain', 'polkadot', exports.Version.V1);
3815
3847
  }
3816
3848
  _createClass(Crust, [{
3817
3849
  key: "getCurrencySelection",
@@ -3842,7 +3874,7 @@ var Efinity$1 = /*#__PURE__*/function (_ParachainNode) {
3842
3874
  var _super = _createSuper(Efinity);
3843
3875
  function Efinity() {
3844
3876
  _classCallCheck(this, Efinity);
3845
- return _super.call(this, 'Efinity', 'efinity', 'polkadot');
3877
+ return _super.call(this, 'Efinity', 'efinity', 'polkadot', exports.Version.V3);
3846
3878
  }
3847
3879
  _createClass(Efinity, [{
3848
3880
  key: "transferXTokens",
@@ -3861,7 +3893,7 @@ var BifrostPolkadot$1 = /*#__PURE__*/function (_ParachainNode) {
3861
3893
  var _super = _createSuper(BifrostPolkadot);
3862
3894
  function BifrostPolkadot() {
3863
3895
  _classCallCheck(this, BifrostPolkadot);
3864
- return _super.call(this, 'BifrostPolkadot', 'bifrost', 'polkadot');
3896
+ return _super.call(this, 'BifrostPolkadot', 'bifrost', 'polkadot', exports.Version.V3);
3865
3897
  }
3866
3898
  _createClass(BifrostPolkadot, [{
3867
3899
  key: "transferXTokens",
@@ -3881,7 +3913,7 @@ var Bitgreen$1 = /*#__PURE__*/function (_ParachainNode) {
3881
3913
  var _super = _createSuper(Bitgreen);
3882
3914
  function Bitgreen() {
3883
3915
  _classCallCheck(this, Bitgreen);
3884
- return _super.call(this, 'Bitgreen', 'bitgreen', 'polkadot');
3916
+ return _super.call(this, 'Bitgreen', 'bitgreen', 'polkadot', exports.Version.V1);
3885
3917
  }
3886
3918
  return _createClass(Bitgreen);
3887
3919
  }(ParachainNode);
@@ -3891,7 +3923,7 @@ var Centrifuge$1 = /*#__PURE__*/function (_ParachainNode) {
3891
3923
  var _super = _createSuper(Centrifuge);
3892
3924
  function Centrifuge() {
3893
3925
  _classCallCheck(this, Centrifuge);
3894
- return _super.call(this, 'Centrifuge', 'centrifuge', 'polkadot');
3926
+ return _super.call(this, 'Centrifuge', 'centrifuge', 'polkadot', exports.Version.V1);
3895
3927
  }
3896
3928
  _createClass(Centrifuge, [{
3897
3929
  key: "transferXTokens",
@@ -3912,7 +3944,7 @@ var Clover$1 = /*#__PURE__*/function (_ParachainNode) {
3912
3944
  var _super = _createSuper(Clover);
3913
3945
  function Clover() {
3914
3946
  _classCallCheck(this, Clover);
3915
- return _super.call(this, 'Clover', 'clover', 'polkadot');
3947
+ return _super.call(this, 'Clover', 'clover', 'polkadot', exports.Version.V1);
3916
3948
  }
3917
3949
  _createClass(Clover, [{
3918
3950
  key: "getCurrencySelection",
@@ -3943,7 +3975,7 @@ var ComposableFinance$1 = /*#__PURE__*/function (_ParachainNode) {
3943
3975
  var _super = _createSuper(ComposableFinance);
3944
3976
  function ComposableFinance() {
3945
3977
  _classCallCheck(this, ComposableFinance);
3946
- return _super.call(this, 'ComposableFinance', 'composableFinance', 'polkadot');
3978
+ return _super.call(this, 'ComposableFinance', 'composableFinance', 'polkadot', exports.Version.V3);
3947
3979
  }
3948
3980
  return _createClass(ComposableFinance);
3949
3981
  }(ParachainNode);
@@ -3953,14 +3985,14 @@ var HydraDX$1 = /*#__PURE__*/function (_ParachainNode) {
3953
3985
  var _super = _createSuper(HydraDX);
3954
3986
  function HydraDX() {
3955
3987
  _classCallCheck(this, HydraDX);
3956
- return _super.call(this, 'HydraDX', 'hydra', 'polkadot');
3988
+ return _super.call(this, 'HydraDX', 'hydra', 'polkadot', exports.Version.V3);
3957
3989
  }
3958
3990
  _createClass(HydraDX, [{
3959
3991
  key: "transferXTokens",
3960
3992
  value: function transferXTokens(input) {
3961
- var currencyID = input.currencyID,
3962
- fees = input.fees;
3963
- return XTokensTransferImpl.transferXTokens(input, currencyID, fees);
3993
+ var currencyID = input.currencyID;
3994
+ input.fees;
3995
+ return XTokensTransferImpl.transferXTokens(input, currencyID);
3964
3996
  }
3965
3997
  }]);
3966
3998
  return HydraDX;
@@ -3971,7 +4003,7 @@ var Interlay$1 = /*#__PURE__*/function (_ParachainNode) {
3971
4003
  var _super = _createSuper(Interlay);
3972
4004
  function Interlay() {
3973
4005
  _classCallCheck(this, Interlay);
3974
- return _super.call(this, 'Interlay', 'interlay', 'polkadot');
4006
+ return _super.call(this, 'Interlay', 'interlay', 'polkadot', exports.Version.V3);
3975
4007
  }
3976
4008
  _createClass(Interlay, [{
3977
4009
  key: "transferXTokens",
@@ -3994,7 +4026,7 @@ var Kylin$1 = /*#__PURE__*/function (_ParachainNode) {
3994
4026
  var _super = _createSuper(Kylin);
3995
4027
  function Kylin() {
3996
4028
  _classCallCheck(this, Kylin);
3997
- return _super.call(this, 'Kylin', 'kylin', 'polkadot');
4029
+ return _super.call(this, 'Kylin', 'kylin', 'polkadot', exports.Version.V1);
3998
4030
  }
3999
4031
  _createClass(Kylin, [{
4000
4032
  key: "transferXTokens",
@@ -4012,7 +4044,7 @@ var Litentry$1 = /*#__PURE__*/function (_ParachainNode) {
4012
4044
  var _super = _createSuper(Litentry);
4013
4045
  function Litentry() {
4014
4046
  _classCallCheck(this, Litentry);
4015
- return _super.call(this, 'Litentry', 'litentry', 'polkadot');
4047
+ return _super.call(this, 'Litentry', 'litentry', 'polkadot', exports.Version.V1);
4016
4048
  }
4017
4049
  _createClass(Litentry, [{
4018
4050
  key: "transferXTokens",
@@ -4028,7 +4060,7 @@ var Moonbeam$1 = /*#__PURE__*/function (_ParachainNode) {
4028
4060
  var _super = _createSuper(Moonbeam);
4029
4061
  function Moonbeam() {
4030
4062
  _classCallCheck(this, Moonbeam);
4031
- return _super.call(this, 'Moonbeam', 'moonbeam', 'polkadot');
4063
+ return _super.call(this, 'Moonbeam', 'moonbeam', 'polkadot', exports.Version.V3);
4032
4064
  }
4033
4065
  _createClass(Moonbeam, [{
4034
4066
  key: "transferXTokens",
@@ -4049,7 +4081,7 @@ var Parallel$1 = /*#__PURE__*/function (_ParachainNode) {
4049
4081
  var _super = _createSuper(Parallel);
4050
4082
  function Parallel() {
4051
4083
  _classCallCheck(this, Parallel);
4052
- return _super.call(this, 'Parallel', 'parallel', 'polkadot');
4084
+ return _super.call(this, 'Parallel', 'parallel', 'polkadot', exports.Version.V1);
4053
4085
  }
4054
4086
  _createClass(Parallel, [{
4055
4087
  key: "transferXTokens",
@@ -4065,7 +4097,7 @@ var Altair$1 = /*#__PURE__*/function (_ParachainNode) {
4065
4097
  var _super = _createSuper(Altair);
4066
4098
  function Altair() {
4067
4099
  _classCallCheck(this, Altair);
4068
- return _super.call(this, 'Altair', 'altair', 'kusama');
4100
+ return _super.call(this, 'Altair', 'altair', 'kusama', exports.Version.V1);
4069
4101
  }
4070
4102
  _createClass(Altair, [{
4071
4103
  key: "transferXTokens",
@@ -4093,7 +4125,7 @@ var Amplitude$1 = /*#__PURE__*/function (_ParachainNode) {
4093
4125
  var _super = _createSuper(Amplitude);
4094
4126
  function Amplitude() {
4095
4127
  _classCallCheck(this, Amplitude);
4096
- return _super.call(this, 'Amplitude', 'amplitude', 'kusama');
4128
+ return _super.call(this, 'Amplitude', 'amplitude', 'kusama', exports.Version.V1);
4097
4129
  }
4098
4130
  _createClass(Amplitude, [{
4099
4131
  key: "transferXTokens",
@@ -4111,7 +4143,7 @@ var Bajun$1 = /*#__PURE__*/function (_ParachainNode) {
4111
4143
  var _super = _createSuper(Bajun);
4112
4144
  function Bajun() {
4113
4145
  _classCallCheck(this, Bajun);
4114
- return _super.call(this, 'Bajun', 'bajun', 'kusama');
4146
+ return _super.call(this, 'Bajun', 'bajun', 'kusama', exports.Version.V1);
4115
4147
  }
4116
4148
  return _createClass(Bajun);
4117
4149
  }(ParachainNode);
@@ -4121,14 +4153,13 @@ var Basilisk$1 = /*#__PURE__*/function (_ParachainNode) {
4121
4153
  var _super = _createSuper(Basilisk);
4122
4154
  function Basilisk() {
4123
4155
  _classCallCheck(this, Basilisk);
4124
- return _super.call(this, 'Basilisk', 'basilisk', 'kusama');
4156
+ return _super.call(this, 'Basilisk', 'basilisk', 'kusama', exports.Version.V3);
4125
4157
  }
4126
4158
  _createClass(Basilisk, [{
4127
4159
  key: "transferXTokens",
4128
4160
  value: function transferXTokens(input) {
4129
- var currencyID = input.currencyID,
4130
- fees = input.fees;
4131
- return XTokensTransferImpl.transferXTokens(input, currencyID, fees);
4161
+ var currencyID = input.currencyID;
4162
+ return XTokensTransferImpl.transferXTokens(input, currencyID);
4132
4163
  }
4133
4164
  }]);
4134
4165
  return Basilisk;
@@ -4139,7 +4170,7 @@ var BifrostKusama$1 = /*#__PURE__*/function (_ParachainNode) {
4139
4170
  var _super = _createSuper(BifrostKusama);
4140
4171
  function BifrostKusama() {
4141
4172
  _classCallCheck(this, BifrostKusama);
4142
- return _super.call(this, 'BifrostKusama', 'bifrost', 'kusama');
4173
+ return _super.call(this, 'BifrostKusama', 'bifrost', 'kusama', exports.Version.V3);
4143
4174
  }
4144
4175
  _createClass(BifrostKusama, [{
4145
4176
  key: "transferXTokens",
@@ -4158,7 +4189,7 @@ var Pioneer$1 = /*#__PURE__*/function (_ParachainNode) {
4158
4189
  var _super = _createSuper(Pioneer);
4159
4190
  function Pioneer() {
4160
4191
  _classCallCheck(this, Pioneer);
4161
- return _super.call(this, 'Pioneer', 'bitcountryPioneer', 'kusama');
4192
+ return _super.call(this, 'Pioneer', 'bitcountryPioneer', 'kusama', exports.Version.V1);
4162
4193
  }
4163
4194
  _createClass(Pioneer, [{
4164
4195
  key: "transferXTokens",
@@ -4175,14 +4206,14 @@ var Turing$1 = /*#__PURE__*/function (_ParachainNode) {
4175
4206
  var _super = _createSuper(Turing);
4176
4207
  function Turing() {
4177
4208
  _classCallCheck(this, Turing);
4178
- return _super.call(this, 'Turing', 'turing', 'kusama');
4209
+ return _super.call(this, 'Turing', 'turing', 'kusama', exports.Version.V3);
4179
4210
  }
4180
4211
  _createClass(Turing, [{
4181
4212
  key: "transferXTokens",
4182
4213
  value: function transferXTokens(input) {
4183
- var currencyID = input.currencyID,
4184
- fees = input.fees;
4185
- return XTokensTransferImpl.transferXTokens(input, currencyID, fees);
4214
+ var currencyID = input.currencyID;
4215
+ input.fees;
4216
+ return XTokensTransferImpl.transferXTokens(input, currencyID);
4186
4217
  }
4187
4218
  }]);
4188
4219
  return Turing;
@@ -4193,7 +4224,7 @@ var Pichiu$1 = /*#__PURE__*/function (_ParachainNode) {
4193
4224
  var _super = _createSuper(Pichiu);
4194
4225
  function Pichiu() {
4195
4226
  _classCallCheck(this, Pichiu);
4196
- return _super.call(this, 'Pichiu', 'pichiu', 'kusama');
4227
+ return _super.call(this, 'Pichiu', 'pichiu', 'kusama', exports.Version.V1);
4197
4228
  }
4198
4229
  _createClass(Pichiu, [{
4199
4230
  key: "transferXTokens",
@@ -4211,7 +4242,7 @@ var Picasso$1 = /*#__PURE__*/function (_ParachainNode) {
4211
4242
  var _super = _createSuper(Picasso);
4212
4243
  function Picasso() {
4213
4244
  _classCallCheck(this, Picasso);
4214
- return _super.call(this, 'Picasso', 'picasso', 'kusama');
4245
+ return _super.call(this, 'Picasso', 'picasso', 'kusama', exports.Version.V3);
4215
4246
  }
4216
4247
  _createClass(Picasso, [{
4217
4248
  key: "transferXTokens",
@@ -4227,7 +4258,7 @@ var ParallelHeiko$1 = /*#__PURE__*/function (_ParachainNode) {
4227
4258
  var _super = _createSuper(ParallelHeiko);
4228
4259
  function ParallelHeiko() {
4229
4260
  _classCallCheck(this, ParallelHeiko);
4230
- return _super.call(this, 'ParallelHeiko', 'heiko', 'kusama');
4261
+ return _super.call(this, 'ParallelHeiko', 'heiko', 'kusama', exports.Version.V1);
4231
4262
  }
4232
4263
  _createClass(ParallelHeiko, [{
4233
4264
  key: "transferXTokens",
@@ -4243,7 +4274,7 @@ var Moonriver$1 = /*#__PURE__*/function (_ParachainNode) {
4243
4274
  var _super = _createSuper(Moonriver);
4244
4275
  function Moonriver() {
4245
4276
  _classCallCheck(this, Moonriver);
4246
- return _super.call(this, 'Moonriver', 'moonriver', 'kusama');
4277
+ return _super.call(this, 'Moonriver', 'moonriver', 'kusama', exports.Version.V3);
4247
4278
  }
4248
4279
  _createClass(Moonriver, [{
4249
4280
  key: "transferXTokens",
@@ -4264,7 +4295,7 @@ var Mangata$1 = /*#__PURE__*/function (_ParachainNode) {
4264
4295
  var _super = _createSuper(Mangata);
4265
4296
  function Mangata() {
4266
4297
  _classCallCheck(this, Mangata);
4267
- return _super.call(this, 'Mangata', 'mangata', 'kusama');
4298
+ return _super.call(this, 'Mangata', 'mangata', 'kusama', exports.Version.V3);
4268
4299
  }
4269
4300
  _createClass(Mangata, [{
4270
4301
  key: "transferXTokens",
@@ -4280,7 +4311,7 @@ var Litmus$1 = /*#__PURE__*/function (_ParachainNode) {
4280
4311
  var _super = _createSuper(Litmus);
4281
4312
  function Litmus() {
4282
4313
  _classCallCheck(this, Litmus);
4283
- return _super.call(this, 'Litmus', 'litmus', 'kusama');
4314
+ return _super.call(this, 'Litmus', 'litmus', 'kusama', exports.Version.V1);
4284
4315
  }
4285
4316
  _createClass(Litmus, [{
4286
4317
  key: "transferXTokens",
@@ -4297,7 +4328,7 @@ var Kintsugi$1 = /*#__PURE__*/function (_ParachainNode) {
4297
4328
  var _super = _createSuper(Kintsugi);
4298
4329
  function Kintsugi() {
4299
4330
  _classCallCheck(this, Kintsugi);
4300
- return _super.call(this, 'Kintsugi', 'kintsugi', 'kusama');
4331
+ return _super.call(this, 'Kintsugi', 'kintsugi', 'kusama', exports.Version.V3);
4301
4332
  }
4302
4333
  _createClass(Kintsugi, [{
4303
4334
  key: "transferXTokens",
@@ -4320,7 +4351,7 @@ var Kico$1 = /*#__PURE__*/function (_ParachainNode) {
4320
4351
  var _super = _createSuper(Kico);
4321
4352
  function Kico() {
4322
4353
  _classCallCheck(this, Kico);
4323
- return _super.call(this, 'Kico', 'kico', 'kusama');
4354
+ return _super.call(this, 'Kico', 'kico', 'kusama', exports.Version.V1);
4324
4355
  }
4325
4356
  _createClass(Kico, [{
4326
4357
  key: "transferXTokens",
@@ -4338,7 +4369,7 @@ var Calamari$1 = /*#__PURE__*/function (_ParachainNode) {
4338
4369
  var _super = _createSuper(Calamari);
4339
4370
  function Calamari() {
4340
4371
  _classCallCheck(this, Calamari);
4341
- return _super.call(this, 'Calamari', 'calamari', 'kusama');
4372
+ return _super.call(this, 'Calamari', 'calamari', 'kusama', exports.Version.V1);
4342
4373
  }
4343
4374
  _createClass(Calamari, [{
4344
4375
  key: "transferXTokens",
@@ -4359,7 +4390,7 @@ var CrustShadow$1 = /*#__PURE__*/function (_ParachainNode) {
4359
4390
  var _super = _createSuper(CrustShadow);
4360
4391
  function CrustShadow() {
4361
4392
  _classCallCheck(this, CrustShadow);
4362
- return _super.call(this, 'CrustShadow', 'shadow', 'kusama');
4393
+ return _super.call(this, 'CrustShadow', 'shadow', 'kusama', exports.Version.V1);
4363
4394
  }
4364
4395
  _createClass(CrustShadow, [{
4365
4396
  key: "getCurrencySelection",
@@ -4390,7 +4421,7 @@ var Dorafactory$1 = /*#__PURE__*/function (_ParachainNode) {
4390
4421
  var _super = _createSuper(Dorafactory);
4391
4422
  function Dorafactory() {
4392
4423
  _classCallCheck(this, Dorafactory);
4393
- return _super.call(this, 'Dorafactory', 'dorafactory', 'kusama');
4424
+ return _super.call(this, 'Dorafactory', 'dorafactory', 'kusama', exports.Version.V1);
4394
4425
  }
4395
4426
  _createClass(Dorafactory, [{
4396
4427
  key: "transferXTokens",
@@ -4408,14 +4439,14 @@ var Imbue$1 = /*#__PURE__*/function (_ParachainNode) {
4408
4439
  var _super = _createSuper(Imbue);
4409
4440
  function Imbue() {
4410
4441
  _classCallCheck(this, Imbue);
4411
- return _super.call(this, 'Imbue', 'imbue', 'kusama');
4442
+ return _super.call(this, 'Imbue', 'imbue', 'kusama', exports.Version.V3);
4412
4443
  }
4413
4444
  _createClass(Imbue, [{
4414
4445
  key: "transferXTokens",
4415
4446
  value: function transferXTokens(input) {
4416
- var currency = input.currency,
4417
- fees = input.fees;
4418
- return XTokensTransferImpl.transferXTokens(input, currency, fees);
4447
+ var currency = input.currency;
4448
+ input.fees;
4449
+ return XTokensTransferImpl.transferXTokens(input, currency);
4419
4450
  }
4420
4451
  }]);
4421
4452
  return Imbue;
@@ -4426,7 +4457,7 @@ var Integritee$1 = /*#__PURE__*/function (_ParachainNode) {
4426
4457
  var _super = _createSuper(Integritee);
4427
4458
  function Integritee() {
4428
4459
  _classCallCheck(this, Integritee);
4429
- return _super.call(this, 'Integritee', 'integritee', 'kusama');
4460
+ return _super.call(this, 'Integritee', 'integritee', 'kusama', exports.Version.V1);
4430
4461
  }
4431
4462
  _createClass(Integritee, [{
4432
4463
  key: "transferXTokens",
@@ -4442,7 +4473,7 @@ var InvArchTinker$1 = /*#__PURE__*/function (_ParachainNode) {
4442
4473
  var _super = _createSuper(InvArchTinker);
4443
4474
  function InvArchTinker() {
4444
4475
  _classCallCheck(this, InvArchTinker);
4445
- return _super.call(this, 'InvArchTinker', 'tinker', 'kusama');
4476
+ return _super.call(this, 'InvArchTinker', 'tinker', 'kusama', exports.Version.V1);
4446
4477
  }
4447
4478
  _createClass(InvArchTinker, [{
4448
4479
  key: "transferXTokens",
@@ -4460,7 +4491,7 @@ var Karura$1 = /*#__PURE__*/function (_ParachainNode) {
4460
4491
  var _super = _createSuper(Karura);
4461
4492
  function Karura() {
4462
4493
  _classCallCheck(this, Karura);
4463
- return _super.call(this, 'Karura', 'karura', 'kusama');
4494
+ return _super.call(this, 'Karura', 'karura', 'kusama', exports.Version.V3);
4464
4495
  }
4465
4496
  _createClass(Karura, [{
4466
4497
  key: "transferXTokens",
@@ -4478,7 +4509,6 @@ var Karura$1 = /*#__PURE__*/function (_ParachainNode) {
4478
4509
  return Karura;
4479
4510
  }(ParachainNode);
4480
4511
 
4481
- // Contains basic structure of polkadotXCM call
4482
4512
  var PolkadotXCMTransferImpl = /*#__PURE__*/function () {
4483
4513
  function PolkadotXCMTransferImpl() {
4484
4514
  _classCallCheck(this, PolkadotXCMTransferImpl);
@@ -4489,8 +4519,17 @@ var PolkadotXCMTransferImpl = /*#__PURE__*/function () {
4489
4519
  var api = _ref.api,
4490
4520
  header = _ref.header,
4491
4521
  addressSelection = _ref.addressSelection,
4492
- currencySelection = _ref.currencySelection;
4522
+ currencySelection = _ref.currencySelection,
4523
+ serializedApiCallEnabled = _ref.serializedApiCallEnabled;
4493
4524
  var fees = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : undefined;
4525
+ if (serializedApiCallEnabled) {
4526
+ return {
4527
+ type: exports.TType.TX,
4528
+ module: 'polkadotXcm',
4529
+ section: method,
4530
+ parameters: [header, addressSelection, currencySelection, 0].concat(_toConsumableArray(fees ? [fees] : []))
4531
+ };
4532
+ }
4494
4533
  return fees ? api.tx.polkadotXcm[method](header, addressSelection, currencySelection, 0, fees) : api.tx.polkadotXcm[method](header, addressSelection, currencySelection, 0);
4495
4534
  }
4496
4535
  }]);
@@ -4502,7 +4541,7 @@ var Statemint$1 = /*#__PURE__*/function (_ParachainNode) {
4502
4541
  var _super = _createSuper(Statemint);
4503
4542
  function Statemint() {
4504
4543
  _classCallCheck(this, Statemint);
4505
- return _super.call(this, 'Statemint', 'statemint', 'polkadot');
4544
+ return _super.call(this, 'Statemint', 'statemint', 'polkadot', exports.Version.V3);
4506
4545
  }
4507
4546
  _createClass(Statemint, [{
4508
4547
  key: "transferPolkadotXCM",
@@ -4521,7 +4560,7 @@ var Statemine$1 = /*#__PURE__*/function (_ParachainNode) {
4521
4560
  var _super = _createSuper(Statemine);
4522
4561
  function Statemine() {
4523
4562
  _classCallCheck(this, Statemine);
4524
- return _super.call(this, 'Statemine', 'statemine', 'kusama');
4563
+ return _super.call(this, 'Statemine', 'statemine', 'kusama', exports.Version.V3);
4525
4564
  }
4526
4565
  _createClass(Statemine, [{
4527
4566
  key: "transferPolkadotXCM",
@@ -4554,7 +4593,7 @@ var Encointer$1 = /*#__PURE__*/function (_ParachainNode) {
4554
4593
  var _super = _createSuper(Encointer);
4555
4594
  function Encointer() {
4556
4595
  _classCallCheck(this, Encointer);
4557
- return _super.call(this, 'Encointer', 'encointer', 'kusama');
4596
+ return _super.call(this, 'Encointer', 'encointer', 'kusama', exports.Version.V1);
4558
4597
  }
4559
4598
  _createClass(Encointer, [{
4560
4599
  key: "transferPolkadotXCM",
@@ -4575,7 +4614,7 @@ var Robonomics$1 = /*#__PURE__*/function (_ParachainNode) {
4575
4614
  var _super = _createSuper(Robonomics);
4576
4615
  function Robonomics() {
4577
4616
  _classCallCheck(this, Robonomics);
4578
- return _super.call(this, 'Robonomics', 'robonomics', 'kusama');
4617
+ return _super.call(this, 'Robonomics', 'robonomics', 'kusama', exports.Version.V1);
4579
4618
  }
4580
4619
  _createClass(Robonomics, [{
4581
4620
  key: "transferPolkadotXCM",
@@ -4599,7 +4638,7 @@ var Astar$1 = /*#__PURE__*/function (_ParachainNode) {
4599
4638
  var _super = _createSuper(Astar);
4600
4639
  function Astar() {
4601
4640
  _classCallCheck(this, Astar);
4602
- return _super.call(this, 'Astar', 'astar', 'polkadot');
4641
+ return _super.call(this, 'Astar', 'astar', 'polkadot', exports.Version.V3);
4603
4642
  }
4604
4643
  _createClass(Astar, [{
4605
4644
  key: "transferPolkadotXCM",
@@ -4617,7 +4656,7 @@ var Equilibrium$1 = /*#__PURE__*/function (_ParachainNode) {
4617
4656
  var _super = _createSuper(Equilibrium);
4618
4657
  function Equilibrium() {
4619
4658
  _classCallCheck(this, Equilibrium);
4620
- return _super.call(this, 'Equilibrium', 'equilibrium', 'polkadot');
4659
+ return _super.call(this, 'Equilibrium', 'equilibrium', 'polkadot', exports.Version.V1);
4621
4660
  }
4622
4661
  _createClass(Equilibrium, [{
4623
4662
  key: "transferPolkadotXCM",
@@ -4634,7 +4673,7 @@ var Darwinia$1 = /*#__PURE__*/function (_ParachainNode) {
4634
4673
  var _super = _createSuper(Darwinia);
4635
4674
  function Darwinia() {
4636
4675
  _classCallCheck(this, Darwinia);
4637
- return _super.call(this, 'Darwinia', 'darwinia', 'polkadot');
4676
+ return _super.call(this, 'Darwinia', 'darwinia', 'polkadot', exports.Version.V3);
4638
4677
  }
4639
4678
  _createClass(Darwinia, [{
4640
4679
  key: "transferPolkadotXCM",
@@ -4654,7 +4693,7 @@ var Crab$1 = /*#__PURE__*/function (_ParachainNode) {
4654
4693
  var _super = _createSuper(Crab);
4655
4694
  function Crab() {
4656
4695
  _classCallCheck(this, Crab);
4657
- return _super.call(this, 'Crab', 'crab', 'kusama');
4696
+ return _super.call(this, 'Crab', 'crab', 'kusama', exports.Version.V3);
4658
4697
  }
4659
4698
  _createClass(Crab, [{
4660
4699
  key: "transferPolkadotXCM",
@@ -4674,13 +4713,13 @@ var Ipci$1 = /*#__PURE__*/function (_ParachainNode) {
4674
4713
  var _super = _createSuper(Ipci);
4675
4714
  function Ipci() {
4676
4715
  _classCallCheck(this, Ipci);
4677
- return _super.call(this, 'Ipci', 'ipci', 'kusama');
4716
+ return _super.call(this, 'Ipci', 'ipci', 'kusama', exports.Version.V1);
4678
4717
  }
4679
4718
  _createClass(Ipci, [{
4680
4719
  key: "transferPolkadotXCM",
4681
4720
  value: function transferPolkadotXCM(input) {
4682
4721
  // UNTESTED, ONLY HAS CHANNELS W ROBONOMICS & 0 TRANSACTIONS
4683
- if (input.scenario == 'ParaToPara') {
4722
+ if (input.scenario === 'ParaToPara') {
4684
4723
  return PolkadotXCMTransferImpl.transferPolkadotXCM(input, 'reserveTransferAssets');
4685
4724
  }
4686
4725
  throw new ScenarioNotSupportedError(this.node, input.scenario);
@@ -4694,7 +4733,7 @@ var Quartz$1 = /*#__PURE__*/function (_ParachainNode) {
4694
4733
  var _super = _createSuper(Quartz);
4695
4734
  function Quartz() {
4696
4735
  _classCallCheck(this, Quartz);
4697
- return _super.call(this, 'Quartz', 'quartz', 'kusama');
4736
+ return _super.call(this, 'Quartz', 'quartz', 'kusama', exports.Version.V3);
4698
4737
  }
4699
4738
  _createClass(Quartz, [{
4700
4739
  key: "transferPolkadotXCM",
@@ -4714,7 +4753,7 @@ var Shiden$1 = /*#__PURE__*/function (_ParachainNode) {
4714
4753
  var _super = _createSuper(Shiden);
4715
4754
  function Shiden() {
4716
4755
  _classCallCheck(this, Shiden);
4717
- return _super.call(this, 'Shiden', 'shiden', 'kusama');
4756
+ return _super.call(this, 'Shiden', 'shiden', 'kusama', exports.Version.V3);
4718
4757
  }
4719
4758
  _createClass(Shiden, [{
4720
4759
  key: "transferPolkadotXCM",
@@ -4796,10 +4835,10 @@ function getFees(scenario) {
4796
4835
  }
4797
4836
  throw new Error("Fees for scenario ".concat(scenario, " are not defined."));
4798
4837
  }
4799
- function handleAddress(scenario, pallet, api, to, nodeId, node) {
4838
+ function handleAddress(scenario, pallet, api, to, version, nodeId) {
4800
4839
  if (scenario === 'ParaToRelay' && pallet === 'xTokens') {
4801
4840
  console.log('AccountId32 transfer');
4802
- if (node === 'BifrostKusama') {
4841
+ if (version === exports.Version.V3) {
4803
4842
  return {
4804
4843
  V3: {
4805
4844
  parents: 1,
@@ -4830,10 +4869,10 @@ function handleAddress(scenario, pallet, api, to, nodeId, node) {
4830
4869
  if (scenario === 'ParaToPara' && pallet === 'xTokens') {
4831
4870
  if (ethers.ethers.utils.isAddress(to)) {
4832
4871
  console.log('AccountKey20 transfer');
4833
- if (node === 'BifrostKusama') {
4872
+ if (version === exports.Version.V3) {
4834
4873
  return {
4835
4874
  V3: {
4836
- parents: 0,
4875
+ parents: 1,
4837
4876
  interior: {
4838
4877
  X2: [{
4839
4878
  Parachain: nodeId
@@ -4863,6 +4902,22 @@ function handleAddress(scenario, pallet, api, to, nodeId, node) {
4863
4902
  };
4864
4903
  } else {
4865
4904
  console.log('AccountId32 transfer');
4905
+ if (version === exports.Version.V3) {
4906
+ return {
4907
+ V3: {
4908
+ parents: 1,
4909
+ interior: {
4910
+ X2: [{
4911
+ Parachain: nodeId
4912
+ }, {
4913
+ AccountId32: {
4914
+ id: createAccID(api, to)
4915
+ }
4916
+ }]
4917
+ }
4918
+ }
4919
+ };
4920
+ }
4866
4921
  return {
4867
4922
  V1: {
4868
4923
  parents: 1,
@@ -4882,7 +4937,7 @@ function handleAddress(scenario, pallet, api, to, nodeId, node) {
4882
4937
  }
4883
4938
  if (scenario === 'ParaToRelay' && pallet === 'polkadotXCM') {
4884
4939
  console.log('AccountId32 transfer');
4885
- if (node === 'Statemine' || node === 'Statemint') {
4940
+ if (version === exports.Version.V3) {
4886
4941
  return {
4887
4942
  V3: {
4888
4943
  parents: 0,
@@ -4912,21 +4967,9 @@ function handleAddress(scenario, pallet, api, to, nodeId, node) {
4912
4967
  }
4913
4968
  }
4914
4969
  if (scenario === 'ParaToPara' && pallet === 'polkadotXCM') {
4915
- if (node === 'Quartz') {
4916
- return {
4917
- V0: {
4918
- X1: {
4919
- AccountId32: {
4920
- network: 'Any',
4921
- id: createAccID(api, to)
4922
- }
4923
- }
4924
- }
4925
- };
4926
- }
4927
4970
  if (ethers.ethers.utils.isAddress(to)) {
4928
4971
  console.log('AccountKey20 transfer');
4929
- if (node === 'Statemine' || node === 'Statemint') {
4972
+ if (version === exports.Version.V3) {
4930
4973
  return {
4931
4974
  V3: {
4932
4975
  parents: 0,
@@ -4956,7 +4999,7 @@ function handleAddress(scenario, pallet, api, to, nodeId, node) {
4956
4999
  }
4957
5000
  } else {
4958
5001
  console.log('AccountId32 transfer');
4959
- if (node === 'Statemine' || node === 'Statemint') {
5002
+ if (version === exports.Version.V3) {
4960
5003
  return {
4961
5004
  V3: {
4962
5005
  parents: 0,
@@ -5018,10 +5061,10 @@ function handleAddress(scenario, pallet, api, to, nodeId, node) {
5018
5061
  }
5019
5062
  }
5020
5063
  }
5021
- function createCurrencySpecification(amount, scenario, node, cur) {
5064
+ function createCurrencySpecification(amount, scenario, version, node, cur) {
5022
5065
  if (scenario === 'ParaToRelay') {
5023
5066
  console.log('polkadotXCM transfer in native currency to Relay chain');
5024
- if (node === 'Statemine' || node === 'Statemint') {
5067
+ if (version === exports.Version.V3) {
5025
5068
  return {
5026
5069
  V3: [{
5027
5070
  id: {
@@ -5053,20 +5096,10 @@ function createCurrencySpecification(amount, scenario, node, cur) {
5053
5096
  }
5054
5097
  if (scenario === 'RelayToPara' || scenario === 'ParaToPara') {
5055
5098
  console.log('polkadotXCM Native currency to sender chain transfer');
5056
- if (node === 'Quartz' && scenario === 'ParaToPara') {
5057
- return {
5058
- V0: [{
5059
- ConcreteFungible: {
5060
- id: null,
5061
- amount: amount
5062
- }
5063
- }]
5064
- };
5065
- }
5066
5099
  if ((node === 'Darwinia' || node === 'Crab') && scenario === 'ParaToPara') {
5067
5100
  // Special case for Darwinia&Crab node
5068
5101
  return {
5069
- V1: [{
5102
+ V3: [{
5070
5103
  id: {
5071
5104
  Concrete: {
5072
5105
  parents: 0,
@@ -5082,49 +5115,27 @@ function createCurrencySpecification(amount, scenario, node, cur) {
5082
5115
  }
5083
5116
  }]
5084
5117
  };
5085
- } else if ((node === 'Statemint' || node === 'Statemine') && scenario === 'ParaToPara') {
5118
+ } else if ((node === 'Statemine' || node === 'Statemint') && scenario === 'ParaToPara') {
5086
5119
  // Another specific case for Statemint & Statemine to send for example USDt
5087
- if (node === 'Statemine' || node === 'Statemint') {
5088
- return {
5089
- V3: [{
5090
- id: {
5091
- Concrete: {
5092
- parents: 0,
5093
- interior: {
5094
- X2: [{
5095
- PalletInstance: 50
5096
- }, {
5097
- GeneralIndex: cur
5098
- }]
5099
- }
5100
- }
5101
- },
5102
- fun: {
5103
- Fungible: amount
5104
- }
5105
- }]
5106
- };
5107
- } else {
5108
- return {
5109
- V1: [{
5110
- id: {
5111
- Concrete: {
5112
- parents: 0,
5113
- interior: {
5114
- X2: [{
5115
- PalletInstance: 50
5116
- }, {
5117
- GeneralIndex: cur
5118
- }]
5119
- }
5120
+ return {
5121
+ V3: [{
5122
+ id: {
5123
+ Concrete: {
5124
+ parents: 0,
5125
+ interior: {
5126
+ X2: [{
5127
+ PalletInstance: 50
5128
+ }, {
5129
+ GeneralIndex: cur
5130
+ }]
5120
5131
  }
5121
- },
5122
- fun: {
5123
- Fungible: amount
5124
5132
  }
5125
- }]
5126
- };
5127
- }
5133
+ },
5134
+ fun: {
5135
+ Fungible: amount
5136
+ }
5137
+ }]
5138
+ };
5128
5139
  }
5129
5140
  // Otherwise
5130
5141
  return {
@@ -5142,10 +5153,10 @@ function createCurrencySpecification(amount, scenario, node, cur) {
5142
5153
  };
5143
5154
  }
5144
5155
  }
5145
- function createHeaderPolkadotXCM(scenario, nodeId, node) {
5156
+ function createHeaderPolkadotXCM(scenario, version, nodeId) {
5146
5157
  console.log('Generating header for polkadotXCM transfer');
5147
5158
  if (scenario === 'ParaToRelay') {
5148
- if (node === 'Statemine' || node === 'Statemint') {
5159
+ if (version === exports.Version.V3) {
5149
5160
  return {
5150
5161
  V3: {
5151
5162
  parents: 1,
@@ -5162,25 +5173,29 @@ function createHeaderPolkadotXCM(scenario, nodeId, node) {
5162
5173
  }
5163
5174
  }
5164
5175
  if (scenario === 'ParaToPara') {
5165
- if (node === 'Quartz') {
5176
+ if (version === exports.Version.V3) {
5166
5177
  return {
5167
- V0: {
5168
- X2: ['Parent', {
5169
- Parachain: nodeId
5170
- }]
5178
+ V3: {
5179
+ parents: 1,
5180
+ interior: {
5181
+ X1: {
5182
+ Parachain: nodeId
5183
+ }
5184
+ }
5171
5185
  }
5172
5186
  };
5173
- }
5174
- return {
5175
- V1: {
5176
- parents: 1,
5177
- interior: {
5178
- X1: {
5179
- Parachain: nodeId
5187
+ } else {
5188
+ return {
5189
+ V1: {
5190
+ parents: 1,
5191
+ interior: {
5192
+ X1: {
5193
+ Parachain: nodeId
5194
+ }
5180
5195
  }
5181
5196
  }
5182
- }
5183
- };
5197
+ };
5198
+ }
5184
5199
  }
5185
5200
  if (scenario === 'RelayToPara') {
5186
5201
  return {
@@ -5240,8 +5255,9 @@ var NodeNotSupportedError = /*#__PURE__*/function (_Error) {
5240
5255
  return _createClass(NodeNotSupportedError);
5241
5256
  }( /*#__PURE__*/_wrapNativeSuper(Error));
5242
5257
 
5243
- //Contains basic call formatting for different XCM Palletss
5244
- function send(api, origin, currencySymbolOrId, amount, to, destination) {
5258
+ // Contains basic call formatting for different XCM Palletss
5259
+ var sendCommon = function sendCommon(api, origin, currencySymbolOrId, amount, to, destination) {
5260
+ var serializedApiCallEnabled = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : false;
5245
5261
  var asset = getAssetBySymbolOrId(origin, currencySymbolOrId.toString());
5246
5262
  if (!asset) {
5247
5263
  throw new InvalidCurrencyError("Origin node ".concat(origin, " does not support currency or currencyId ").concat(currencySymbolOrId, "."));
@@ -5251,23 +5267,32 @@ function send(api, origin, currencySymbolOrId, amount, to, destination) {
5251
5267
  }
5252
5268
  var currencySymbol = asset.symbol,
5253
5269
  currencyId = asset.assetId;
5254
- return getNode(origin).transfer(api, currencySymbol, currencyId, amount, to, destination);
5270
+ return getNode(origin).transfer(api, currencySymbol, currencyId, amount, to, destination, serializedApiCallEnabled);
5271
+ };
5272
+ var sendSerializedApiCall = function sendSerializedApiCall(api, origin, currencySymbolOrId, amount, to, destination) {
5273
+ return sendCommon(api, origin, currencySymbolOrId, amount, to, destination, true);
5274
+ };
5275
+ function send(api, origin, currencySymbolOrId, amount, to, destination) {
5276
+ return sendCommon(api, origin, currencySymbolOrId, amount, to, destination);
5255
5277
  }
5256
5278
  function transferRelayToPara(api, destination, amount, to) {
5257
5279
  var paraId = getParaId(destination);
5258
- if (destination === 'Statemint' || destination === 'Statemine' || destination === 'Encointer') {
5280
+ if (destination === 'Statemint' || destination === 'Statemine') {
5259
5281
  // Same for Statemint, Statemine and Encoiter
5260
- return api.tx.xcmPallet.limitedTeleportAssets(createHeaderPolkadotXCM('RelayToPara', paraId, destination), handleAddress('RelayToPara', '', api, to, paraId, destination), createCurrencySpecification(amount, 'RelayToPara', destination), 0, 'Unlimited');
5261
- } else if (destination === 'Darwinia' || destination === 'Crab' || destination === 'Quartz') {
5262
- // Do not do anything because Darwinia and Crab does not have DOT and KSM registered Quartz does not work with UMP & DMP too
5282
+ return api.tx.xcmPallet.limitedTeleportAssets(createHeaderPolkadotXCM('RelayToPara', exports.Version.V3, paraId), handleAddress('RelayToPara', '', api, to, exports.Version.V3, paraId), createCurrencySpecification(amount, 'RelayToPara', exports.Version.V3, destination), 0, 'Unlimited');
5283
+ } else if (destination === 'Encointer') {
5284
+ return api.tx.xcmPallet.limitedTeleportAssets(createHeaderPolkadotXCM('RelayToPara', exports.Version.V1, paraId), handleAddress('RelayToPara', '', api, to, exports.Version.V1, paraId), createCurrencySpecification(amount, 'RelayToPara', exports.Version.V1, destination), 0, 'Unlimited');
5285
+ } else if (destination === 'Darwinia' || destination === 'Crab') {
5286
+ // Do not do anything because Darwinia and Crab does not have DOT and KSM registered
5263
5287
  throw new NodeNotSupportedError('These nodes do not support XCM transfers from Relay / to Relay chain.');
5264
5288
  }
5265
- return api.tx.xcmPallet.reserveTransferAssets(createHeaderPolkadotXCM('RelayToPara', paraId, destination), handleAddress('RelayToPara', '', api, to, paraId, destination), createCurrencySpecification(amount, 'RelayToPara', destination), 0);
5289
+ return api.tx.xcmPallet.reserveTransferAssets(createHeaderPolkadotXCM('RelayToPara', exports.Version.V3, paraId), handleAddress('RelayToPara', '', api, to, exports.Version.V3, paraId), createCurrencySpecification(amount, 'RelayToPara', exports.Version.V3, destination), 0);
5266
5290
  }
5267
5291
 
5268
5292
  var index$3 = /*#__PURE__*/Object.freeze({
5269
5293
  __proto__: null,
5270
5294
  send: send,
5295
+ sendSerializedApiCall: sendSerializedApiCall,
5271
5296
  transferRelayToPara: transferRelayToPara
5272
5297
  });
5273
5298
 
@@ -5660,6 +5685,11 @@ var SendBuilder = /*#__PURE__*/function () {
5660
5685
  value: function build() {
5661
5686
  return send(this.api, this.from, this.currency, this._amount, this._address, this.to);
5662
5687
  }
5688
+ }, {
5689
+ key: "buildSerializedApiCall",
5690
+ value: function buildSerializedApiCall() {
5691
+ return sendSerializedApiCall(this.api, this.from, this.currency, this._amount, this._address, this.to);
5692
+ }
5663
5693
  }], [{
5664
5694
  key: "createParaToRelay",
5665
5695
  value: function createParaToRelay(api, from, currency) {
@@ -5695,10 +5725,11 @@ var ToGeneralBuilder = /*#__PURE__*/function () {
5695
5725
  return ToGeneralBuilder;
5696
5726
  }();
5697
5727
  var FromGeneralBuilder = /*#__PURE__*/function () {
5698
- function FromGeneralBuilder(api, from) {
5728
+ function FromGeneralBuilder(api, from, version) {
5699
5729
  _classCallCheck(this, FromGeneralBuilder);
5700
5730
  this.api = api;
5701
5731
  this.from = from;
5732
+ this.version = version;
5702
5733
  }
5703
5734
  _createClass(FromGeneralBuilder, [{
5704
5735
  key: "to",
@@ -5726,7 +5757,7 @@ var GeneralBuilder = /*#__PURE__*/function () {
5726
5757
  _createClass(GeneralBuilder, [{
5727
5758
  key: "from",
5728
5759
  value: function from(node) {
5729
- return new FromGeneralBuilder(this.api, node);
5760
+ return new FromGeneralBuilder(this.api, node, this.version);
5730
5761
  }
5731
5762
  }, {
5732
5763
  key: "to",
@@ -5812,9 +5843,10 @@ var Clover = {
5812
5843
  ]
5813
5844
  };
5814
5845
  var ComposableFinance = {
5815
- defaultPallet: "RelayerXcm",
5846
+ defaultPallet: "XTokens",
5816
5847
  supportedPallets: [
5817
- "RelayerXcm"
5848
+ "PolkadotXcm",
5849
+ "XTokens"
5818
5850
  ]
5819
5851
  };
5820
5852
  var Darwinia = {
@@ -6018,7 +6050,7 @@ var ParallelHeiko = {
6018
6050
  var Picasso = {
6019
6051
  defaultPallet: "XTokens",
6020
6052
  supportedPallets: [
6021
- "RelayerXcm",
6053
+ "PolkadotXcm",
6022
6054
  "XTokens"
6023
6055
  ]
6024
6056
  };