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

Commit cc3a5d1

Browse files
authored
Hardcode the discriminators so that you don't have to compute them at runtime (#7360)
* Hardcode the discriminators so that you don't have to compute them at runtime * Don't run tests in libraries on Node older than v20 * Update versions
1 parent a2de58f commit cc3a5d1

File tree

12 files changed

+92
-162
lines changed

12 files changed

+92
-162
lines changed

.github/workflows/pull-request-js.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,6 @@ jobs:
4848
name-service,
4949
stake-pool,
5050
token,
51-
token-group,
52-
token-metadata,
5351
token-swap,
5452
]
5553
include:
@@ -58,8 +56,12 @@ jobs:
5856
node-version: 20.x
5957
- package: single-pool
6058
node-version: 20.5
59+
- package: token-group
60+
node-version: 20.x
6161
- package: token-lending
6262
node-version: 18.5
63+
- package: token-metadata
64+
node-version: 20.x
6365
runs-on: ubuntu-latest
6466
steps:
6567
- uses: actions/checkout@v4

pnpm-lock.yaml

Lines changed: 19 additions & 116 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

stake-pool/js/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@
4444
"license": "ISC",
4545
"dependencies": {
4646
"@solana/buffer-layout": "^4.0.1",
47-
"@solana/spl-token": "0.4.6",
47+
"@solana/spl-token": "0.4.9",
4848
"@solana/web3.js": "^1.95.3",
4949
"bn.js": "^5.2.0",
5050
"buffer": "^6.0.3",

token-group/js/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "@solana/spl-token-group",
33
"description": "SPL Token Group Interface JS API",
4-
"version": "0.0.6",
4+
"version": "0.0.7",
55
"author": "Solana Labs Maintainers <[email protected]>",
66
"repository": "https://github.com/solana-labs/solana-program-library",
77
"license": "Apache-2.0",
@@ -46,10 +46,10 @@
4646
"@solana/web3.js": "^1.95.3"
4747
},
4848
"dependencies": {
49-
"@solana/codecs": "2.0.0-rc.1",
50-
"@solana/spl-type-length-value": "0.1.0"
49+
"@solana/codecs": "2.0.0-rc.1"
5150
},
5251
"devDependencies": {
52+
"@solana/spl-type-length-value": "0.2.0",
5353
"@solana/web3.js": "^1.95.3",
5454
"@types/chai": "^5.0.0",
5555
"@types/mocha": "^10.0.9",

token-group/js/src/instruction.ts

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ import {
88
getU64Encoder,
99
transformEncoder,
1010
} from '@solana/codecs';
11-
import { splDiscriminate } from '@solana/spl-type-length-value';
1211
import { SystemProgram, TransactionInstruction } from '@solana/web3.js';
1312

1413
function getInstructionEncoder<T extends object>(discriminator: Uint8Array, dataEncoder: Encoder<T>): Encoder<T> {
@@ -43,7 +42,10 @@ export function createInitializeGroupInstruction(args: InitializeGroupInstructio
4342
],
4443
data: Buffer.from(
4544
getInstructionEncoder(
46-
splDiscriminate('spl_token_group_interface:initialize_token_group'),
45+
new Uint8Array([
46+
/* await splDiscriminate('spl_token_group_interface:initialize_token_group') */
47+
121, 113, 108, 39, 54, 51, 0, 4,
48+
]),
4749
getStructEncoder([
4850
['updateAuthority', getPublicKeyEncoder()],
4951
['maxSize', getU64Encoder()],
@@ -70,7 +72,10 @@ export function createUpdateGroupMaxSizeInstruction(args: UpdateGroupMaxSize): T
7072
],
7173
data: Buffer.from(
7274
getInstructionEncoder(
73-
splDiscriminate('spl_token_group_interface:update_group_max_size'),
75+
new Uint8Array([
76+
/* await splDiscriminate('spl_token_group_interface:update_group_max_size') */
77+
108, 37, 171, 143, 248, 30, 18, 110,
78+
]),
7479
getStructEncoder([['maxSize', getU64Encoder()]]),
7580
).encode({ maxSize }),
7681
),
@@ -95,7 +100,10 @@ export function createUpdateGroupAuthorityInstruction(args: UpdateGroupAuthority
95100
],
96101
data: Buffer.from(
97102
getInstructionEncoder(
98-
splDiscriminate('spl_token_group_interface:update_authority'),
103+
new Uint8Array([
104+
/* await splDiscriminate('spl_token_group_interface:update_authority') */
105+
161, 105, 88, 1, 237, 221, 216, 203,
106+
]),
99107
getStructEncoder([['newAuthority', getPublicKeyEncoder()]]),
100108
).encode({ newAuthority: newAuthority ?? SystemProgram.programId }),
101109
),
@@ -125,7 +133,10 @@ export function createInitializeMemberInstruction(args: InitializeMember): Trans
125133
],
126134
data: Buffer.from(
127135
getInstructionEncoder(
128-
splDiscriminate('spl_token_group_interface:initialize_member'),
136+
new Uint8Array([
137+
/* await splDiscriminate('spl_token_group_interface:initialize_member') */
138+
152, 32, 222, 176, 223, 237, 116, 134,
139+
]),
129140
getStructEncoder([]),
130141
).encode({}),
131142
),

0 commit comments

Comments
 (0)