From 412a20605611b6e601bab9c54ea7759929def410 Mon Sep 17 00:00:00 2001 From: Abhishek Agrawal Date: Wed, 12 Nov 2025 14:57:34 +0530 Subject: [PATCH] fix(sdk-coin-xtz): use fee if specified in reveal operation TICKET: WIN-6256 --- modules/sdk-coin-xtz/src/lib/transactionBuilder.ts | 12 ++++++++++-- modules/sdk-coin-xtz/test/unit/transactionBuilder.ts | 10 +++++----- 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/modules/sdk-coin-xtz/src/lib/transactionBuilder.ts b/modules/sdk-coin-xtz/src/lib/transactionBuilder.ts index 48ffbd979b..25913383f9 100644 --- a/modules/sdk-coin-xtz/src/lib/transactionBuilder.ts +++ b/modules/sdk-coin-xtz/src/lib/transactionBuilder.ts @@ -319,12 +319,20 @@ export class TransactionBuilder extends BaseTransactionBuilder { } /** - * Build a reveal operation for the source account with default fees. + * Build a reveal operation for the source account using the set fee parameters, + * or default fees if not specified. * * @returns {RevealOp} A Tezos reveal operation */ private buildPublicKeyRevelationOperation(): RevealOp { - const operation = revealOperation(this._counter.toString(), this._sourceAddress, this._publicKeyToReveal); + const operation = revealOperation( + this._counter.toString(), + this._sourceAddress, + this._publicKeyToReveal, + this._fee?.fee, + this._fee?.gasLimit, + this._fee?.storageLimit + ); this._counter = this._counter.plus(1); return operation; } diff --git a/modules/sdk-coin-xtz/test/unit/transactionBuilder.ts b/modules/sdk-coin-xtz/test/unit/transactionBuilder.ts index 398fd356a6..9d613f2083 100644 --- a/modules/sdk-coin-xtz/test/unit/transactionBuilder.ts +++ b/modules/sdk-coin-xtz/test/unit/transactionBuilder.ts @@ -96,7 +96,7 @@ describe('Tezos Transaction builder', function () { should.equal(tx.inputs.length, 1); should.equal(tx.outputs.length, 0); tx.inputs[0].address.should.equal('tz2PtJ9zgEgFVTRqy6GXsst54tH3ksEnYvvS'); - tx.inputs[0].value.should.equal('1420'); + tx.inputs[0].value.should.equal('10'); should.not.exist(tx.delegate); tx.signature.length.should.equal(0); Object.keys(tx.getIndexesByTransactionType()).length.should.equal(1); @@ -186,21 +186,21 @@ describe('Tezos Transaction builder', function () { txBuilder.sign({ key: defaultKeyPair.getKeys().prv }); const tx = await txBuilder.build(); - tx.id.should.equal('onpN4Zq664YTriyVmBbgEZAReHbucvD31XwvnpP5T9qzfhbanbx'); + tx.id.should.equal('oo2KFqWUTKZq6se9hjfegaMaPbXoh54ZdqMCczLMx5EFBFir61k'); tx.type.should.equal(TransactionType.WalletInitialization); tx.source.should.equal('tz2PtJ9zgEgFVTRqy6GXsst54tH3ksEnYvvS'); should.equal(tx.inputs.length, 2); should.equal(tx.outputs.length, 1); tx.inputs[0].address.should.equal('tz2PtJ9zgEgFVTRqy6GXsst54tH3ksEnYvvS'); - tx.inputs[0].value.should.equal('1420'); + tx.inputs[0].value.should.equal('4764'); tx.inputs[1].address.should.equal('tz2PtJ9zgEgFVTRqy6GXsst54tH3ksEnYvvS'); tx.inputs[1].value.should.equal('1004764'); - tx.outputs[0].address.should.equal('KT1Hdttpv7CBaJ8igdkhCudMHBWUqNviJCTf'); + tx.outputs[0].address.should.equal('KT1A9heCJqvJ3JUci8mngHd233d5vCZFp7Kn'); tx.outputs[0].value.should.equal('1000000'); tx.delegate.should.equal('tz1KpbK5v1NB2vg3JHBxXJZhyQ7ur83Xp7iC'); tx.signature.length.should.equal(1); tx.signature[0].should.equal( - 'sigtJtqVf7FJVqkDPyPW878FfCnpCPNb6JJdXAxezepe4t97BwfouYJ6GMqHGSNhevu4uiLSQ2h374a4NxMnA9E9qLXa4j93' + 'sigvD51ih2buKJk18C67QkaWgA4gaWfzz4NwTewpbPkNvBokeXonyVER8PykorqZrjNcr1WGB1QY1wTXeGWaVtHXBg4WhGd7' ); const indexesByTransactionType = tx.getIndexesByTransactionType(); Object.keys(indexesByTransactionType).length.should.equal(2);