Skip to content

Commit 9619db1

Browse files
authored
fix dftx TokenMint (#183)
* bug fix on dftx TokenMint
1 parent 3fb5abc commit 9619db1

File tree

2 files changed

+13
-13
lines changed

2 files changed

+13
-13
lines changed

packages/jellyfish-transaction/__tests__/script/defi/dftx_token/TokenMint.test.ts

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,8 @@ import { OP_CODES, toBuffer, toOPCodes } from '../../../../src/script'
66

77
it('should bi-directional buffer-object-buffer', () => {
88
const fixtures = [
9-
'6a0e446654784d016050da6001000000',
10-
'6a0e446654784d035fc05c7302000000',
11-
'6a0e446654784d03a45ce23902000000',
12-
'6a0e446654784d06ede2e73001040000'
9+
'6a12446654784d010200000000ca9a3b00000000',
10+
'6a12446654784d010200000000ea56fa00000000'
1311
]
1412

1513
fixtures.forEach(hex => {
@@ -22,11 +20,15 @@ it('should bi-directional buffer-object-buffer', () => {
2220
})
2321
})
2422

25-
const header = '6a0e446654784d' // OP_RETURN, PUSH_DATA(44665478, 4d)
26-
const data = '016050da6001000000'
23+
const header = '6a12446654784d' // OP_RETURN, PUSH_DATA(44665478, 4d)
24+
const data = '01010000006050da6001000000'
2725
const tokenMint: TokenMint = {
28-
tokenId: 1,
29-
amount: new BigNumber('59.19887456')
26+
balances: [
27+
{
28+
token: 1,
29+
amount: new BigNumber('59.19887456')
30+
}
31+
]
3032
}
3133

3234
it('should craft dftx with OP_CODES._()', () => {

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

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import BigNumber from 'bignumber.js'
21
import { BufferComposer, ComposableBuffer } from '../../buffer/buffer_composer'
2+
import { TokenBalance, CTokenBalance } from './dftx_balance'
33

44
// Disabling no-return-assign makes the code cleaner with the setter and getter */
55
/* eslint-disable no-return-assign */
@@ -8,8 +8,7 @@ import { BufferComposer, ComposableBuffer } from '../../buffer/buffer_composer'
88
* TokenMint DeFi Transaction
99
*/
1010
export interface TokenMint {
11-
tokenId: number // -------------------| VarUInt{1-9 bytes}
12-
amount: BigNumber // -----------------| 8 bytes
11+
balances: TokenBalance[] // ----------| c = VarUInt{1-9 bytes}, + c x TokenBalance
1312
}
1413

1514
/**
@@ -22,8 +21,7 @@ export class CTokenMint extends ComposableBuffer<TokenMint> {
2221

2322
composers (tm: TokenMint): BufferComposer[] {
2423
return [
25-
ComposableBuffer.varUInt(() => tm.tokenId, v => tm.tokenId = v),
26-
ComposableBuffer.satoshiAsBigNumber(() => tm.amount, v => tm.amount = v)
24+
ComposableBuffer.varUIntArray(() => tm.balances, v => tm.balances = v, v => new CTokenBalance(v))
2725
]
2826
}
2927
}

0 commit comments

Comments
 (0)