diff --git a/modules/sdk-coin-vet/src/lib/constants.ts b/modules/sdk-coin-vet/src/lib/constants.ts index e7331aaf0a..aabf047108 100644 --- a/modules/sdk-coin-vet/src/lib/constants.ts +++ b/modules/sdk-coin-vet/src/lib/constants.ts @@ -4,7 +4,7 @@ export const VET_BLOCK_ID_LENGTH = 64; export const TRANSFER_TOKEN_METHOD_ID = '0xa9059cbb'; export const STAKING_METHOD_ID = '0xa694fc3a'; -export const EXIT_DELEGATION_METHOD_ID = '0x32b7006d'; +export const EXIT_DELEGATION_METHOD_ID = '0x3fb7a871'; export const BURN_NFT_METHOD_ID = '0x42966c68'; export const TRANSFER_NFT_METHOD_ID = '0x23b872dd'; diff --git a/modules/sdk-coin-vet/src/lib/transaction/burnNftTransaction.ts b/modules/sdk-coin-vet/src/lib/transaction/burnNftTransaction.ts index e325c8174f..86232e7f61 100644 --- a/modules/sdk-coin-vet/src/lib/transaction/burnNftTransaction.ts +++ b/modules/sdk-coin-vet/src/lib/transaction/burnNftTransaction.ts @@ -116,7 +116,7 @@ export class BurnNftTransaction extends Transaction { } // Set sender address - if (signedTx.origin) { + if (signedTx.signature && signedTx.origin) { this.sender = signedTx.origin.toString().toLowerCase(); } diff --git a/modules/sdk-coin-vet/src/lib/transaction/exitDelegation.ts b/modules/sdk-coin-vet/src/lib/transaction/exitDelegation.ts index 2e9b678c70..f98f4fb639 100644 --- a/modules/sdk-coin-vet/src/lib/transaction/exitDelegation.ts +++ b/modules/sdk-coin-vet/src/lib/transaction/exitDelegation.ts @@ -116,7 +116,7 @@ export class ExitDelegationTransaction extends Transaction { } // Set sender address - if (signedTx.origin) { + if (signedTx.signature && signedTx.origin) { this.sender = signedTx.origin.toString().toLowerCase(); } diff --git a/modules/sdk-coin-vet/src/lib/transactionBuilder/exitDelegationBuilder.ts b/modules/sdk-coin-vet/src/lib/transactionBuilder/exitDelegationBuilder.ts index f11d8be77b..e7dba3fe0a 100644 --- a/modules/sdk-coin-vet/src/lib/transactionBuilder/exitDelegationBuilder.ts +++ b/modules/sdk-coin-vet/src/lib/transactionBuilder/exitDelegationBuilder.ts @@ -120,6 +120,8 @@ export class ExitDelegationBuilder extends TransactionBuilder { /** @inheritdoc */ protected async buildImplementation(): Promise { this.transaction.type = this.transactionType; + // Set the transaction data before building + this.exitDelegationTransaction.transactionData = this.getExitDelegationData(); await this.exitDelegationTransaction.build(); return this.transaction; } diff --git a/modules/sdk-coin-vet/test/transactionBuilder/burnNftBuilder.ts b/modules/sdk-coin-vet/test/transactionBuilder/burnNftBuilder.ts index 4e9e8fc275..501b63e686 100644 --- a/modules/sdk-coin-vet/test/transactionBuilder/burnNftBuilder.ts +++ b/modules/sdk-coin-vet/test/transactionBuilder/burnNftBuilder.ts @@ -92,11 +92,9 @@ describe('Vet Burn NFT Transaction', () => { const txBuilder = factory.getBurnNftBuilder(); // Should throw error when building without required fields - await should(txBuilder.build()).be.rejectedWith('transaction not defined'); - - txBuilder.sender(testData.addresses.validAddresses[0]); await should(txBuilder.build()).be.rejectedWith('NFT contract address is required'); + txBuilder.sender(testData.addresses.validAddresses[0]); txBuilder.nftContract(); await should(txBuilder.build()).be.rejectedWith('Token ID is required'); diff --git a/modules/sdk-coin-vet/test/transactionBuilder/exitDelegationBuilder.ts b/modules/sdk-coin-vet/test/transactionBuilder/exitDelegationBuilder.ts index 9db1135b01..0f180fac43 100644 --- a/modules/sdk-coin-vet/test/transactionBuilder/exitDelegationBuilder.ts +++ b/modules/sdk-coin-vet/test/transactionBuilder/exitDelegationBuilder.ts @@ -97,11 +97,9 @@ describe('Vet Exit Delegation Transaction', () => { const txBuilder = factory.getExitDelegationBuilder(); // Should throw error when building without required fields - await should(txBuilder.build()).be.rejectedWith('transaction not defined'); - - txBuilder.sender(testData.addresses.validAddresses[0]); await should(txBuilder.build()).be.rejectedWith('Delegation contract address is required'); + txBuilder.sender(testData.addresses.validAddresses[0]); txBuilder.delegationContract(); await should(txBuilder.build()).be.rejectedWith('Token ID is required');