diff --git a/src/smartcontracts/codec/managedDecimal.ts b/src/smartcontracts/codec/managedDecimal.ts index b5a494b0..0e2c5e43 100644 --- a/src/smartcontracts/codec/managedDecimal.ts +++ b/src/smartcontracts/codec/managedDecimal.ts @@ -40,17 +40,12 @@ export class ManagedDecimalCodec { encodeNested(value: ManagedDecimalValue): Buffer { let buffers: Buffer[] = []; + const rawValue = new BigUIntValue(value.valueOf().shiftedBy(value.getScale())); if (value.isVariable()) { - buffers.push( - Buffer.from( - this.binaryCodec.encodeNested(new BigUIntValue(value.valueOf().shiftedBy(value.getScale()))), - ), - ); + buffers.push(Buffer.from(this.binaryCodec.encodeNested(rawValue))); buffers.push(Buffer.from(this.binaryCodec.encodeNested(new U32Value(value.getScale())))); } else { - buffers.push( - this.binaryCodec.encodeTopLevel(new BigUIntValue(value.valueOf().shiftedBy(value.getScale()))), - ); + buffers.push(this.binaryCodec.encodeTopLevel(rawValue)); } return Buffer.concat(buffers); } diff --git a/src/smartcontracts/codec/managedDecimalSigned.ts b/src/smartcontracts/codec/managedDecimalSigned.ts index 0f92fd7e..181d275b 100644 --- a/src/smartcontracts/codec/managedDecimalSigned.ts +++ b/src/smartcontracts/codec/managedDecimalSigned.ts @@ -41,21 +41,12 @@ export class ManagedDecimalSignedCodec { encodeNested(value: ManagedDecimalSignedValue): Buffer { let buffers: Buffer[] = []; + const rawValue = new BigIntValue(value.valueOf().shiftedBy(value.getScale())); if (value.isVariable()) { - buffers.push( - Buffer.from( - this.binaryCodec.encodeNested( - new BigIntValue(new BigNumber(value.valueOf().shiftedBy(value.getScale()))), - ), - ), - ); + buffers.push(Buffer.from(this.binaryCodec.encodeNested(rawValue))); buffers.push(Buffer.from(this.binaryCodec.encodeNested(new U32Value(value.getScale())))); } else { - buffers.push( - Buffer.from( - this.binaryCodec.encodeTopLevel(new BigIntValue(value.valueOf().shiftedBy(value.getScale()))), - ), - ); + buffers.push(Buffer.from(this.binaryCodec.encodeTopLevel(rawValue))); } return Buffer.concat(buffers); } diff --git a/src/smartcontracts/interaction.local.net.spec.ts b/src/smartcontracts/interaction.local.net.spec.ts index e1b546da..05b8a810 100644 --- a/src/smartcontracts/interaction.local.net.spec.ts +++ b/src/smartcontracts/interaction.local.net.spec.ts @@ -232,7 +232,7 @@ describe("test smart contract interactor", function () { .withSender(alice.address) .withValue(0); - // addition(); + // addition() let additionTransaction = additionInteraction .withSender(alice.address) .useThenIncrementNonceOf(alice.account)