diff --git a/src/rmrk2.0.0/tools/consolidator/interactions/buy.ts b/src/rmrk2.0.0/tools/consolidator/interactions/buy.ts index 2543e00c..0f86a6b3 100644 --- a/src/rmrk2.0.0/tools/consolidator/interactions/buy.ts +++ b/src/rmrk2.0.0/tools/consolidator/interactions/buy.ts @@ -118,7 +118,7 @@ const getExtraBalanceTransfers = ( const extraTransfers: ChangeExtraBalanceTransfer[] = []; remark.extra_ex?.forEach((el: BlockCall) => { - if (el.call === "balances.transfer") { + if (el.call === "balances.transfer" || el.call === "balances.transfer_keep_alive") { const [owner, forsale] = el.value.split(","); const ownerEncoded = ss58Format ? encodeAddress(owner, ss58Format) @@ -141,7 +141,7 @@ const isTransferValid = (remark: Remark, nft: NFT, ss58Format?: number) => { let transferValid = false; let transferValue = ""; remark.extra_ex?.forEach((el: BlockCall) => { - if (el.call === "balances.transfer") { + if (el.call === "balances.transfer" || el.call === "balances.transfer_keep_alive") { const [owner, forsale] = el.value.split(","); const ownerEncoded = ss58Format ? encodeAddress(owner, ss58Format) @@ -166,9 +166,9 @@ const validate = ( nft, ss58Format ); - + validateTransferability(nft, remark, OP_TYPES.BUY); - + switch (true) { case Boolean(nft.burned): throw new Error( diff --git a/src/rmrk2.0.0/tools/utils.ts b/src/rmrk2.0.0/tools/utils.ts index 4db540ac..c9a79dae 100644 --- a/src/rmrk2.0.0/tools/utils.ts +++ b/src/rmrk2.0.0/tools/utils.ts @@ -315,8 +315,10 @@ export const getBlockCallsFromSignedBlock = async ( caller: encodeAddress(extrinsic.signer.toString(), ss58Format), } as BlockCall); } else { - const isBalanceTransfer = - `${el.section}.${el.method}` === `balances.transfer`; + const isBalanceTransfer = [ + `balances.transfer_keep_alive`, + `balances.transfer`, + ].includes(`${el.section}.${el.method}`); const extraCall = { call: `${el.section}.${el.method}`,