Skip to content

Commit ac72093

Browse files
authored
fixed CPoolSwap not to use bigint to parse (#169)
1 parent 4569f64 commit ac72093

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

packages/jellyfish-transaction/src/script/defi/dftx_pool.ts

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { BufferComposer, ComposableBuffer } from '../../buffer/buffer_composer'
33
import { Script } from '../../tx'
44
import { CScript } from '../../tx_composer'
55
import { SmartBuffer } from 'smart-buffer'
6+
import { readBigNumberUInt64, writeBigNumberUInt64 } from '../../buffer/buffer_bignumber'
67

78
// Disabling no-return-assign makes the code cleaner with the setter and getter */
89
/* eslint-disable no-return-assign */
@@ -39,14 +40,14 @@ export class CPoolSwap extends ComposableBuffer<PoolSwap> {
3940
ComposableBuffer.varUInt(() => ps.toTokenId, v => ps.toTokenId = v),
4041
{
4142
fromBuffer (buffer: SmartBuffer) {
42-
const integer = new BigNumber(buffer.readBigUInt64LE().toString())
43-
const fraction = new BigNumber(buffer.readBigUInt64LE().toString())
43+
const integer = readBigNumberUInt64(buffer)
44+
const fraction = readBigNumberUInt64(buffer)
4445
ps.maxPrice = { integer, fraction }
4546
},
4647
toBuffer (buffer: SmartBuffer) {
4748
const { integer, fraction } = ps.maxPrice
48-
buffer.writeBigUInt64LE(BigInt(integer.toString(10)))
49-
buffer.writeBigUInt64LE(BigInt(fraction.toString(10)))
49+
writeBigNumberUInt64(integer, buffer)
50+
writeBigNumberUInt64(fraction, buffer)
5051
}
5152
}
5253
]

0 commit comments

Comments
 (0)