Skip to content

Commit 9f84e9d

Browse files
committed
✨ Update client SDK to use default component id
1 parent 9d348f2 commit 9f84e9d

File tree

8 files changed

+39
-65
lines changed

8 files changed

+39
-65
lines changed

clients/bolt-sdk/lib/index.d.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,6 @@ export declare function FindEntityPda(
1616
export declare function FindComponentPda(
1717
componentProgramId: PublicKey,
1818
entity: PublicKey,
19-
componentId: string
19+
componentId?: string
2020
): PublicKey;
2121
//# sourceMappingURL=index.d.ts.map

clients/bolt-sdk/lib/index.d.ts.map

+1-1
Original file line numberDiff line numberDiff line change

clients/bolt-sdk/lib/index.js

+3
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

clients/bolt-sdk/lib/index.js.map

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

clients/bolt-sdk/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "bolt-sdk",
3-
"version": "0.0.9",
3+
"version": "0.0.10",
44
"description": "Bolt typescript SDK",
55
"author": "[email protected]",
66
"license": "MIT",

clients/bolt-sdk/src/generated/index.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ export function FindEntityPda(
5757
export function FindComponentPda(
5858
componentProgramId: PublicKey,
5959
entity: PublicKey,
60-
componentId: string
60+
componentId: string = ""
6161
) {
6262
return PublicKey.findProgramAddressSync(
6363
[Buffer.from(componentId), entity.toBytes()],

crates/bolt-lang/attribute/account/src/lib.rs

+1-2
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ pub fn bolt_account(attr: TokenStream, item: TokenStream) -> TokenStream {
2121
let mut component_id_value = None;
2222

2323
if !attr.is_empty() {
24-
2524
let attr_meta = parse_macro_input!(attr as Meta);
2625

2726
component_id_value = match attr_meta {
@@ -48,7 +47,7 @@ pub fn bolt_account(attr: TokenStream, item: TokenStream) -> TokenStream {
4847
None
4948
}
5049
}),
51-
_ => None
50+
_ => None,
5251
};
5352
}
5453

tests/bolt.ts

+30-58
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,12 @@ import { SystemApplyVelocity } from "../target/types/system_apply_velocity";
1010
import { World } from "../target/types/world";
1111
import { expect } from "chai";
1212
import BN from "bn.js";
13+
import {
14+
FindComponentPda,
15+
FindEntityPda,
16+
FindWorldPda,
17+
FindWorldRegistryPda,
18+
} from "../clients/bolt-sdk";
1319

1420
enum Direction {
1521
Left = "Left",
@@ -57,7 +63,7 @@ describe("bolt", () => {
5763
let componentVelocityEntity1: PublicKey;
5864

5965
it("InitializeWorldsRegistry", async () => {
60-
const registryPda = FindWorldRegistryPda(worldProgram);
66+
const registryPda = FindWorldRegistryPda(worldProgram.programId);
6167
await worldProgram.methods
6268
.initializeRegistry()
6369
.accounts({
@@ -68,9 +74,9 @@ describe("bolt", () => {
6874
});
6975

7076
it("InitializeNewWorld", async () => {
71-
const registryPda = FindWorldRegistryPda(worldProgram);
77+
const registryPda = FindWorldRegistryPda(worldProgram.programId);
7278

73-
const worldPda = FindWorldPda(worldProgram, new BN(0));
79+
const worldPda = FindWorldPda(new BN(0), worldProgram.programId);
7480
await worldProgram.methods
7581
.initializeNewWorld()
7682
.accounts({
@@ -82,9 +88,9 @@ describe("bolt", () => {
8288
});
8389

8490
it("InitializeNewWorld 2", async () => {
85-
const registryPda = FindWorldRegistryPda(worldProgram);
91+
const registryPda = FindWorldRegistryPda(worldProgram.programId);
8692

87-
const worldPda = FindWorldPda(worldProgram, new BN(1));
93+
const worldPda = FindWorldPda(new BN(1), worldProgram.programId);
8894
await worldProgram.methods
8995
.initializeNewWorld()
9096
.accounts({
@@ -96,8 +102,8 @@ describe("bolt", () => {
96102
});
97103

98104
it("Add entity 1", async () => {
99-
const worldPda = FindWorldPda(worldProgram, new BN(0));
100-
entity1 = FindEntityPda(worldProgram, new BN(0), new BN(0));
105+
const worldPda = FindWorldPda(new BN(0), worldProgram.programId);
106+
entity1 = FindEntityPda(new BN(0), new BN(0), null, worldProgram.programId);
101107
await worldProgram.methods
102108
.addEntity(null)
103109
.accounts({
@@ -109,9 +115,9 @@ describe("bolt", () => {
109115
});
110116

111117
it("Add entity 2", async () => {
112-
const worldPda = FindWorldPda(worldProgram, new BN(0));
118+
const worldPda = FindWorldPda(new BN(0), worldProgram.programId);
113119

114-
entity2 = FindEntityPda(worldProgram, new BN(0), new BN(1));
120+
entity2 = FindEntityPda(new BN(0), new BN(1), null, worldProgram.programId);
115121
await worldProgram.methods
116122
.addEntity(null)
117123
.accounts({
@@ -123,9 +129,14 @@ describe("bolt", () => {
123129
});
124130

125131
it("Add entity 3", async () => {
126-
const worldPda = FindWorldPda(worldProgram, new BN(0));
132+
const worldPda = FindWorldPda(new BN(0), worldProgram.programId);
127133

128-
const entityPda = FindEntityPda(worldProgram, new BN(0), new BN(2));
134+
const entityPda = FindEntityPda(
135+
new BN(0),
136+
new BN(2),
137+
null,
138+
worldProgram.programId
139+
);
129140
await worldProgram.methods
130141
.addEntity(null)
131142
.accounts({
@@ -137,9 +148,14 @@ describe("bolt", () => {
137148
});
138149

139150
it("Add entity 4 with extra seeds", async () => {
140-
const worldPda = FindWorldPda(worldProgram, new BN(0));
151+
const worldPda = FindWorldPda(new BN(0), worldProgram.programId);
141152
const seed = "extra-seed";
142-
let entity3 = FindEntityPda(worldProgram, new BN(0), new BN(3), seed);
153+
let entity3 = FindEntityPda(
154+
new BN(0),
155+
new BN(3),
156+
seed,
157+
worldProgram.programId
158+
);
143159

144160
await worldProgram.methods
145161
.addEntity(seed)
@@ -188,8 +204,7 @@ describe("bolt", () => {
188204
it("Initialize Position Component on Entity 1", async () => {
189205
componentPositionEntity1 = FindComponentPda(
190206
boltComponentPositionProgram.programId,
191-
entity1,
192-
""
207+
entity1
193208
);
194209

195210
console.log("Component Position E1: ", componentPositionEntity1.toBase58());
@@ -464,47 +479,4 @@ describe("bolt", () => {
464479
console.log("| |");
465480
console.log("+-----------------------------+");
466481
});
467-
468-
// Utils
469-
470-
function FindWorldRegistryPda(program: Program<World>) {
471-
return PublicKey.findProgramAddressSync(
472-
[Buffer.from("registry")],
473-
program.programId
474-
)[0];
475-
}
476-
477-
function FindWorldPda(program: Program<World>, id: BN) {
478-
return PublicKey.findProgramAddressSync(
479-
[Buffer.from("world"), id.toBuffer("be", 8)],
480-
program.programId
481-
)[0];
482-
}
483-
484-
function FindEntityPda(
485-
program: Program<World>,
486-
worldId: BN,
487-
entityId: BN,
488-
extraSeed?: string
489-
) {
490-
let seeds = [Buffer.from("entity"), worldId.toBuffer("be", 8)];
491-
if (extraSeed) {
492-
seeds.push(Buffer.from(new Uint8Array(8)));
493-
seeds.push(Buffer.from(extraSeed));
494-
} else {
495-
seeds.push(entityId.toBuffer("be", 8));
496-
}
497-
return PublicKey.findProgramAddressSync(seeds, program.programId)[0];
498-
}
499-
500-
function FindComponentPda(
501-
program: PublicKey,
502-
entity: PublicKey,
503-
seed: string = "component"
504-
) {
505-
return PublicKey.findProgramAddressSync(
506-
[Buffer.from(seed), entity.toBytes()],
507-
program
508-
)[0];
509-
}
510482
});

0 commit comments

Comments
 (0)