From 13cb30d0dbc923be256925f6a19fade7114aac25 Mon Sep 17 00:00:00 2001 From: Paras Garg Date: Thu, 20 Nov 2025 19:44:01 +0530 Subject: [PATCH] feat(sdk-coin-iota): updating explain transaction Ticket: WIN-7977 TICKET: WIN-7977 --- modules/sdk-coin-iota/src/iota.ts | 13 +++++++++++-- modules/sdk-coin-iota/src/lib/iface.ts | 2 ++ modules/sdk-coin-iota/src/lib/transaction.ts | 2 ++ 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/modules/sdk-coin-iota/src/iota.ts b/modules/sdk-coin-iota/src/iota.ts index ee4c577c32..782df2419b 100644 --- a/modules/sdk-coin-iota/src/iota.ts +++ b/modules/sdk-coin-iota/src/iota.ts @@ -166,13 +166,22 @@ export class Iota extends BaseCoin { fee = new BigNumber(transactionExplanation.fee.fee); } - // assume 1 sender, who is also the fee payer + const outputAmount = transactionExplanation.sponsor + ? new BigNumber(transactionExplanation.outputAmount).toFixed() + : new BigNumber(transactionExplanation.outputAmount).plus(fee).toFixed(); // assume 1 sender, who is also the fee payer + const inputs = [ { address: senderAddress, - amount: new BigNumber(transactionExplanation.outputAmount).plus(fee).toFixed(), + amount: outputAmount, }, ]; + if (transactionExplanation.sponsor) { + inputs.push({ + address: transactionExplanation.sponsor, + amount: fee.toFixed(), + }); + } const outputs: { address: string; diff --git a/modules/sdk-coin-iota/src/lib/iface.ts b/modules/sdk-coin-iota/src/lib/iface.ts index 4855739ef6..f3755aab50 100644 --- a/modules/sdk-coin-iota/src/lib/iface.ts +++ b/modules/sdk-coin-iota/src/lib/iface.ts @@ -8,6 +8,8 @@ import { export interface TransactionExplanation extends BaseTransactionExplanation { type: BitGoTransactionType; + sender: string; + sponsor?: string; } export type TransactionObjectInput = { diff --git a/modules/sdk-coin-iota/src/lib/transaction.ts b/modules/sdk-coin-iota/src/lib/transaction.ts index 7f536ea9f1..dd3baa20e5 100644 --- a/modules/sdk-coin-iota/src/lib/transaction.ts +++ b/modules/sdk-coin-iota/src/lib/transaction.ts @@ -229,6 +229,8 @@ export abstract class Transaction extends BaseTransaction { changeOutputs: [], changeAmount: '0', fee: { fee: this.gasBudget ? this.gasBudget.toString() : '' }, + sender: this.sender, + sponsor: this.gasSponsor, type: this.type, };