Skip to content
This repository was archived by the owner on Mar 11, 2025. It is now read-only.

Commit d5b6652

Browse files
Update JS client to bigint
1 parent ed9e014 commit d5b6652

File tree

5 files changed

+22
-22
lines changed

5 files changed

+22
-22
lines changed

token-group/js/src/instruction.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import {
55
getBytesEncoder,
66
getStructEncoder,
77
getTupleEncoder,
8-
getU32Encoder,
8+
getU64Encoder,
99
transformEncoder,
1010
} from '@solana/codecs';
1111
import { splDiscriminate } from '@solana/spl-type-length-value';
@@ -28,7 +28,7 @@ export interface InitializeGroupInstruction {
2828
mint: PublicKey;
2929
mintAuthority: PublicKey;
3030
updateAuthority: PublicKey | null;
31-
maxSize: number;
31+
maxSize: bigint;
3232
}
3333

3434
export function createInitializeGroupInstruction(args: InitializeGroupInstruction): TransactionInstruction {
@@ -46,7 +46,7 @@ export function createInitializeGroupInstruction(args: InitializeGroupInstructio
4646
splDiscriminate('spl_token_group_interface:initialize_token_group'),
4747
getStructEncoder([
4848
['updateAuthority', getPublicKeyEncoder()],
49-
['maxSize', getU32Encoder()],
49+
['maxSize', getU64Encoder()],
5050
]),
5151
).encode({ updateAuthority: updateAuthority ?? SystemProgram.programId, maxSize }),
5252
),
@@ -57,7 +57,7 @@ export interface UpdateGroupMaxSize {
5757
programId: PublicKey;
5858
group: PublicKey;
5959
updateAuthority: PublicKey;
60-
maxSize: number;
60+
maxSize: bigint;
6161
}
6262

6363
export function createUpdateGroupMaxSizeInstruction(args: UpdateGroupMaxSize): TransactionInstruction {
@@ -71,7 +71,7 @@ export function createUpdateGroupMaxSizeInstruction(args: UpdateGroupMaxSize): T
7171
data: Buffer.from(
7272
getInstructionEncoder(
7373
splDiscriminate('spl_token_group_interface:update_group_max_size'),
74-
getStructEncoder([['maxSize', getU32Encoder()]]),
74+
getStructEncoder([['maxSize', getU64Encoder()]]),
7575
).encode({ maxSize }),
7676
),
7777
});

token-group/js/src/state/tokenGroup.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
import { PublicKey } from '@solana/web3.js';
22
import type { ReadonlyUint8Array } from '@solana/codecs';
3-
import { fixCodecSize, getBytesCodec, getStructCodec, getU32Codec } from '@solana/codecs';
3+
import { fixCodecSize, getBytesCodec, getStructCodec, getU64Codec } from '@solana/codecs';
44

55
const tokenGroupCodec = getStructCodec([
66
['updateAuthority', fixCodecSize(getBytesCodec(), 32)],
77
['mint', fixCodecSize(getBytesCodec(), 32)],
8-
['size', getU32Codec()],
9-
['maxSize', getU32Codec()],
8+
['size', getU64Codec()],
9+
['maxSize', getU64Codec()],
1010
]);
1111

1212
export const TOKEN_GROUP_SIZE = tokenGroupCodec.fixedSize;
@@ -17,9 +17,9 @@ export interface TokenGroup {
1717
/** The associated mint, used to counter spoofing to be sure that group belongs to a particular mint */
1818
mint: PublicKey;
1919
/** The current number of group members */
20-
size: number;
20+
size: bigint;
2121
/** The maximum number of group members */
22-
maxSize: number;
22+
maxSize: bigint;
2323
}
2424

2525
// Checks if all elements in the array are 0

token-group/js/src/state/tokenGroupMember.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
import { PublicKey } from '@solana/web3.js';
22
import type { ReadonlyUint8Array } from '@solana/codecs';
3-
import { fixCodecSize, getBytesCodec, getStructCodec, getU32Codec } from '@solana/codecs';
3+
import { fixCodecSize, getBytesCodec, getStructCodec, getU64Codec } from '@solana/codecs';
44

55
const tokenGroupMemberCodec = getStructCodec([
66
['mint', fixCodecSize(getBytesCodec(), 32)],
77
['group', fixCodecSize(getBytesCodec(), 32)],
8-
['memberNumber', getU32Codec()],
8+
['memberNumber', getU64Codec()],
99
]);
1010

1111
export const TOKEN_GROUP_MEMBER_SIZE = tokenGroupMemberCodec.fixedSize;
@@ -16,7 +16,7 @@ export interface TokenGroupMember {
1616
/** The pubkey of the `TokenGroup` */
1717
group: PublicKey;
1818
/** The member number */
19-
memberNumber: number;
19+
memberNumber: bigint;
2020
}
2121

2222
// Pack TokenGroupMember into byte slab

token-group/js/test/instruction.test.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { expect } from 'chai';
22
import type { Decoder } from '@solana/codecs';
3-
import { fixDecoderSize, getBytesDecoder, getStructDecoder, getU32Decoder } from '@solana/codecs';
3+
import { fixDecoderSize, getBytesDecoder, getStructDecoder, getU64Decoder } from '@solana/codecs';
44
import { splDiscriminate } from '@solana/spl-type-length-value';
55
import { PublicKey, type TransactionInstruction } from '@solana/web3.js';
66

@@ -28,7 +28,7 @@ describe('Token Group Instructions', () => {
2828
const updateAuthority = new PublicKey('44444444444444444444444444444444444444444444');
2929
const mint = new PublicKey('55555555555555555555555555555555555555555555');
3030
const mintAuthority = new PublicKey('66666666666666666666666666666666666666666666');
31-
const maxSize = 100;
31+
const maxSize = BigInt(100);
3232

3333
it('Can create InitializeGroup Instruction', () => {
3434
checkPackUnpack(
@@ -43,7 +43,7 @@ describe('Token Group Instructions', () => {
4343
splDiscriminate('spl_token_group_interface:initialize_token_group'),
4444
getStructDecoder([
4545
['updateAuthority', fixDecoderSize(getBytesDecoder(), 32)],
46-
['maxSize', getU32Decoder()],
46+
['maxSize', getU64Decoder()],
4747
]),
4848
{ updateAuthority: Uint8Array.from(updateAuthority.toBuffer()), maxSize },
4949
);
@@ -58,7 +58,7 @@ describe('Token Group Instructions', () => {
5858
maxSize,
5959
}),
6060
splDiscriminate('spl_token_group_interface:update_group_max_size'),
61-
getStructDecoder([['maxSize', getU32Decoder()]]),
61+
getStructDecoder([['maxSize', getU64Decoder()]]),
6262
{ maxSize },
6363
);
6464
});

token-group/js/test/state.test.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,16 +16,16 @@ describe('Token Group State', () => {
1616
checkPackUnpack({
1717
mint: new PublicKey('44444444444444444444444444444444444444444444'),
1818
updateAuthority: new PublicKey('55555555555555555555555555555555555555555555'),
19-
size: 10,
20-
maxSize: 20,
19+
size: BigInt(10),
20+
maxSize: BigInt(20),
2121
});
2222
});
2323

2424
it('Can pack and unpack TokenGroup without updateAuthoritygroup', () => {
2525
checkPackUnpack({
2626
mint: new PublicKey('44444444444444444444444444444444444444444444'),
27-
size: 10,
28-
maxSize: 20,
27+
size: BigInt(10),
28+
maxSize: BigInt(20),
2929
});
3030
});
3131
});
@@ -40,7 +40,7 @@ describe('Token Group State', () => {
4040
checkPackUnpack({
4141
mint: new PublicKey('55555555555555555555555555555555555555555555'),
4242
group: new PublicKey('66666666666666666666666666666666666666666666'),
43-
memberNumber: 8,
43+
memberNumber: BigInt(8),
4444
});
4545
});
4646
});

0 commit comments

Comments
 (0)