diff --git a/src/nodes/PolkadotXCMTransferImpl.ts b/src/nodes/PolkadotXCMTransferImpl.ts index a1d198d5..6a253707 100644 --- a/src/nodes/PolkadotXCMTransferImpl.ts +++ b/src/nodes/PolkadotXCMTransferImpl.ts @@ -13,7 +13,7 @@ class PolkadotXCMTransferImpl { serializedApiCallEnabled }: PolkadotXCMTransferInput, method: string, - fees: 'Unlimited' | undefined = undefined + fees: 'Unlimited' | { Limited: string } | undefined = undefined ): Extrinsic | TSerializedApiCall { if (serializedApiCallEnabled === true) { return { diff --git a/src/nodes/supported/BifrostKusama.ts b/src/nodes/supported/BifrostKusama.ts index 99142f4d..756f1b09 100644 --- a/src/nodes/supported/BifrostKusama.ts +++ b/src/nodes/supported/BifrostKusama.ts @@ -17,7 +17,8 @@ class BifrostKusama extends ParachainNode implements IXTokensTransfer { transferXTokens(input: XTokensTransferInput): Extrinsic | TSerializedApiCall { // Multiple asset options need addressing - return XTokensTransferImpl.transferXTokens(input, { Token: input.currency }) + const currencySelection = { Native: input.currency } + return XTokensTransferImpl.transferXTokens(input, currencySelection) } } diff --git a/src/nodes/supported/BifrostPolkadot.ts b/src/nodes/supported/BifrostPolkadot.ts index 59815e33..06d6e860 100644 --- a/src/nodes/supported/BifrostPolkadot.ts +++ b/src/nodes/supported/BifrostPolkadot.ts @@ -17,7 +17,7 @@ export class BifrostPolkadot extends ParachainNode implements IXTokensTransfer { transferXTokens(input: XTokensTransferInput): Extrinsic | TSerializedApiCall { // Multiple asset options need addressing - const currencySelection = { Token: input.currency } + const currencySelection = { Native: input.currency } return XTokensTransferImpl.transferXTokens(input, currencySelection) } } diff --git a/src/nodes/supported/Robonomics.ts b/src/nodes/supported/Robonomics.ts index 235abf89..622bc6a7 100644 --- a/src/nodes/supported/Robonomics.ts +++ b/src/nodes/supported/Robonomics.ts @@ -15,12 +15,15 @@ class Robonomics extends ParachainNode implements IPolkadotXCMTransfer { super('Robonomics', 'robonomics', 'kusama', Version.V1) } + private static readonly FEE = '400000000' + transferPolkadotXCM(input: PolkadotXCMTransferInput): Extrinsic | TSerializedApiCall { - // TESTED https://robonomics.subscan.io/xcm_message/kusama-e9641113dae59920e5cc0e012f1510ea0e2d0455 - // TESTED https://robonomics.subscan.io/xcm_message/kusama-20b03208c99f2ef29d2d4b4cd4bc5659e54311ea - const method = - input.scenario === 'ParaToPara' ? 'reserveTransferAssets' : 'reserveWithdrawAssets' - return PolkadotXCMTransferImpl.transferPolkadotXCM(input, method) + if (input.scenario === 'ParaToPara') { + return PolkadotXCMTransferImpl.transferPolkadotXCM(input, 'limitedReserveTransferAssets', { + Limited: Robonomics.FEE + }) + } + return PolkadotXCMTransferImpl.transferPolkadotXCM(input, 'reserveWithdrawAssets') } }