@magicblock-labs/ephemeral-rollups-kit 0.5.0 → 0.6.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (121) hide show
  1. package/lib/__test__/access-control.test.d.ts +2 -0
  2. package/lib/__test__/access-control.test.d.ts.map +1 -0
  3. package/lib/__test__/access-control.test.js +148 -0
  4. package/lib/__test__/access-control.test.js.map +1 -0
  5. package/lib/__test__/connection.test.js +20 -1
  6. package/lib/__test__/connection.test.js.map +1 -1
  7. package/lib/__test__/instructions.test.js +249 -35
  8. package/lib/__test__/instructions.test.js.map +1 -1
  9. package/lib/__test__/permission-program.test.d.ts +2 -0
  10. package/lib/__test__/permission-program.test.d.ts.map +1 -0
  11. package/lib/__test__/permission-program.test.js +268 -0
  12. package/lib/__test__/permission-program.test.js.map +1 -0
  13. package/lib/{privacy → access-control}/auth.d.ts +4 -1
  14. package/lib/access-control/auth.d.ts.map +1 -0
  15. package/lib/{privacy → access-control}/auth.js +3 -1
  16. package/lib/access-control/auth.js.map +1 -0
  17. package/lib/access-control/index.d.ts +4 -0
  18. package/lib/access-control/index.d.ts.map +1 -0
  19. package/lib/{privacy → access-control}/index.js +1 -2
  20. package/lib/access-control/index.js.map +1 -0
  21. package/lib/access-control/permission.d.ts +7 -0
  22. package/lib/access-control/permission.d.ts.map +1 -0
  23. package/lib/access-control/permission.js +84 -0
  24. package/lib/access-control/permission.js.map +1 -0
  25. package/lib/access-control/verify.d.ts.map +1 -0
  26. package/lib/access-control/verify.js.map +1 -0
  27. package/lib/connection.d.ts +4 -1
  28. package/lib/connection.d.ts.map +1 -1
  29. package/lib/connection.js +8 -0
  30. package/lib/connection.js.map +1 -1
  31. package/lib/constants.d.ts +1 -0
  32. package/lib/constants.d.ts.map +1 -1
  33. package/lib/constants.js +2 -1
  34. package/lib/constants.js.map +1 -1
  35. package/lib/index.d.ts +2 -1
  36. package/lib/index.d.ts.map +1 -1
  37. package/lib/index.js +2 -1
  38. package/lib/index.js.map +1 -1
  39. package/lib/instructions/delegation-program/closeEphemeralBalance.d.ts +4 -0
  40. package/lib/instructions/delegation-program/closeEphemeralBalance.d.ts.map +1 -1
  41. package/lib/instructions/delegation-program/closeEphemeralBalance.js +35 -5
  42. package/lib/instructions/delegation-program/closeEphemeralBalance.js.map +1 -1
  43. package/lib/instructions/delegation-program/delegate.d.ts +10 -3
  44. package/lib/instructions/delegation-program/delegate.d.ts.map +1 -1
  45. package/lib/instructions/delegation-program/delegate.js +60 -14
  46. package/lib/instructions/delegation-program/delegate.js.map +1 -1
  47. package/lib/instructions/delegation-program/index.d.ts +1 -1
  48. package/lib/instructions/delegation-program/topUpEphemeralBalance.d.ts +5 -0
  49. package/lib/instructions/delegation-program/topUpEphemeralBalance.d.ts.map +1 -1
  50. package/lib/instructions/delegation-program/topUpEphemeralBalance.js +29 -6
  51. package/lib/instructions/delegation-program/topUpEphemeralBalance.js.map +1 -1
  52. package/lib/instructions/index.d.ts +2 -0
  53. package/lib/instructions/index.d.ts.map +1 -1
  54. package/lib/instructions/index.js +2 -0
  55. package/lib/instructions/index.js.map +1 -1
  56. package/lib/instructions/magic-program/index.d.ts +3 -0
  57. package/lib/instructions/magic-program/index.d.ts.map +1 -0
  58. package/lib/instructions/magic-program/index.js +8 -0
  59. package/lib/instructions/magic-program/index.js.map +1 -0
  60. package/lib/instructions/magic-program/scheduleCommit.d.ts +3 -0
  61. package/lib/instructions/magic-program/scheduleCommit.d.ts.map +1 -0
  62. package/lib/instructions/magic-program/scheduleCommit.js +24 -0
  63. package/lib/instructions/magic-program/scheduleCommit.js.map +1 -0
  64. package/lib/instructions/magic-program/scheduleCommitAndUndelegate.d.ts +3 -0
  65. package/lib/instructions/magic-program/scheduleCommitAndUndelegate.d.ts.map +1 -0
  66. package/lib/instructions/magic-program/scheduleCommitAndUndelegate.js +24 -0
  67. package/lib/instructions/magic-program/scheduleCommitAndUndelegate.js.map +1 -0
  68. package/lib/instructions/permission-program/createGroup.d.ts +11 -0
  69. package/lib/instructions/permission-program/createGroup.d.ts.map +1 -0
  70. package/lib/instructions/permission-program/createGroup.js +42 -0
  71. package/lib/instructions/permission-program/createGroup.js.map +1 -0
  72. package/lib/instructions/permission-program/createPermission.d.ts +11 -0
  73. package/lib/instructions/permission-program/createPermission.d.ts.map +1 -0
  74. package/lib/instructions/permission-program/createPermission.js +31 -0
  75. package/lib/instructions/permission-program/createPermission.js.map +1 -0
  76. package/lib/instructions/permission-program/index.d.ts +4 -0
  77. package/lib/instructions/permission-program/index.d.ts.map +1 -0
  78. package/lib/instructions/permission-program/index.js +10 -0
  79. package/lib/instructions/permission-program/index.js.map +1 -0
  80. package/lib/instructions/permission-program/updatePermission.d.ts +10 -0
  81. package/lib/instructions/permission-program/updatePermission.d.ts.map +1 -0
  82. package/lib/instructions/permission-program/updatePermission.js +28 -0
  83. package/lib/instructions/permission-program/updatePermission.js.map +1 -0
  84. package/lib/pda.d.ts +7 -0
  85. package/lib/pda.d.ts.map +1 -1
  86. package/lib/pda.js +70 -0
  87. package/lib/pda.js.map +1 -1
  88. package/package.json +2 -3
  89. package/lib/generated/delegation-program-instructions/closeEphemeralBalance.d.ts +0 -10
  90. package/lib/generated/delegation-program-instructions/closeEphemeralBalance.d.ts.map +0 -1
  91. package/lib/generated/delegation-program-instructions/closeEphemeralBalance.js +0 -40
  92. package/lib/generated/delegation-program-instructions/closeEphemeralBalance.js.map +0 -1
  93. package/lib/generated/delegation-program-instructions/delegate.d.ts +0 -17
  94. package/lib/generated/delegation-program-instructions/delegate.d.ts.map +0 -1
  95. package/lib/generated/delegation-program-instructions/delegate.js +0 -75
  96. package/lib/generated/delegation-program-instructions/delegate.js.map +0 -1
  97. package/lib/generated/delegation-program-instructions/index.d.ts +0 -4
  98. package/lib/generated/delegation-program-instructions/index.d.ts.map +0 -1
  99. package/lib/generated/delegation-program-instructions/index.js +0 -20
  100. package/lib/generated/delegation-program-instructions/index.js.map +0 -1
  101. package/lib/generated/delegation-program-instructions/topUpEphemeralBalance.d.ts +0 -12
  102. package/lib/generated/delegation-program-instructions/topUpEphemeralBalance.d.ts.map +0 -1
  103. package/lib/generated/delegation-program-instructions/topUpEphemeralBalance.js +0 -47
  104. package/lib/generated/delegation-program-instructions/topUpEphemeralBalance.js.map +0 -1
  105. package/lib/privacy/auth.d.ts.map +0 -1
  106. package/lib/privacy/auth.js.map +0 -1
  107. package/lib/privacy/constants.d.ts +0 -4
  108. package/lib/privacy/constants.d.ts.map +0 -1
  109. package/lib/privacy/constants.js +0 -7
  110. package/lib/privacy/constants.js.map +0 -1
  111. package/lib/privacy/index.d.ts +0 -5
  112. package/lib/privacy/index.d.ts.map +0 -1
  113. package/lib/privacy/index.js.map +0 -1
  114. package/lib/privacy/pda.d.ts +0 -4
  115. package/lib/privacy/pda.d.ts.map +0 -1
  116. package/lib/privacy/pda.js +0 -25
  117. package/lib/privacy/pda.js.map +0 -1
  118. package/lib/privacy/verify.d.ts.map +0 -1
  119. package/lib/privacy/verify.js.map +0 -1
  120. /package/lib/{privacy → access-control}/verify.d.ts +0 -0
  121. /package/lib/{privacy → access-control}/verify.js +0 -0
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=access-control.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"access-control.test.d.ts","sourceRoot":"","sources":["../../src/__test__/access-control.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,148 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const vitest_1 = require("vitest");
4
+ const kit_1 = require("@solana/kit");
5
+ const auth_1 = require("../access-control/auth");
6
+ (0, vitest_1.describe)("Access Control (@solana/kit)", () => {
7
+ const mockRpcUrl = "http://localhost:8899";
8
+ const mockAddress = (0, kit_1.address)("11111111111111111111111111111111");
9
+ (0, vitest_1.beforeEach)(() => {
10
+ vitest_1.vi.clearAllMocks();
11
+ });
12
+ (0, vitest_1.describe)("getAuthToken", () => {
13
+ (0, vitest_1.it)("should request a challenge and return token with expiration", async () => {
14
+ const mockChallenge = "test-challenge";
15
+ const mockToken = "test-token";
16
+ const mockSignature = new Uint8Array([1, 2, 3]);
17
+ global.fetch = vitest_1.vi
18
+ .fn()
19
+ .mockResolvedValueOnce({
20
+ json: async () => ({ challenge: mockChallenge }),
21
+ })
22
+ .mockResolvedValueOnce({
23
+ status: 200,
24
+ json: async () => ({ token: mockToken }),
25
+ });
26
+ const signMessage = vitest_1.vi.fn().mockResolvedValue(mockSignature);
27
+ const result = await (0, auth_1.getAuthToken)(mockRpcUrl, mockAddress, signMessage);
28
+ (0, vitest_1.expect)(result).toHaveProperty("token");
29
+ (0, vitest_1.expect)(result).toHaveProperty("expiresAt");
30
+ (0, vitest_1.expect)(result.token).toBe(mockToken);
31
+ (0, vitest_1.expect)(typeof result.expiresAt).toBe("number");
32
+ (0, vitest_1.expect)(result.expiresAt).toBeGreaterThan(Date.now());
33
+ });
34
+ (0, vitest_1.it)("should use expiresAt from server response if provided", async () => {
35
+ const mockChallenge = "test-challenge";
36
+ const mockToken = "test-token";
37
+ const mockServerExpiresAt = Date.now() + 7200000;
38
+ const mockSignature = new Uint8Array([1, 2, 3]);
39
+ global.fetch = vitest_1.vi
40
+ .fn()
41
+ .mockResolvedValueOnce({
42
+ json: async () => ({ challenge: mockChallenge }),
43
+ })
44
+ .mockResolvedValueOnce({
45
+ status: 200,
46
+ json: async () => ({
47
+ token: mockToken,
48
+ expiresAt: mockServerExpiresAt,
49
+ }),
50
+ });
51
+ const signMessage = vitest_1.vi.fn().mockResolvedValue(mockSignature);
52
+ const result = await (0, auth_1.getAuthToken)(mockRpcUrl, mockAddress, signMessage);
53
+ (0, vitest_1.expect)(result.expiresAt).toBe(mockServerExpiresAt);
54
+ });
55
+ (0, vitest_1.it)("should throw error on authentication failure", async () => {
56
+ const mockChallenge = "test-challenge";
57
+ const mockError = "Invalid signature";
58
+ global.fetch = vitest_1.vi
59
+ .fn()
60
+ .mockResolvedValueOnce({
61
+ json: async () => ({ challenge: mockChallenge }),
62
+ })
63
+ .mockResolvedValueOnce({
64
+ status: 401,
65
+ json: async () => ({ error: mockError }),
66
+ });
67
+ const signMessage = vitest_1.vi.fn().mockResolvedValue(new Uint8Array([1, 2, 3]));
68
+ await (0, vitest_1.expect)((0, auth_1.getAuthToken)(mockRpcUrl, mockAddress, signMessage)).rejects.toThrow("Failed to authenticate");
69
+ });
70
+ (0, vitest_1.it)("should call signMessage with the challenge", async () => {
71
+ const mockChallenge = "test-challenge";
72
+ const mockToken = "test-token";
73
+ const mockSignature = new Uint8Array([1, 2, 3]);
74
+ global.fetch = vitest_1.vi
75
+ .fn()
76
+ .mockResolvedValueOnce({
77
+ json: async () => ({ challenge: mockChallenge }),
78
+ })
79
+ .mockResolvedValueOnce({
80
+ status: 200,
81
+ json: async () => ({ token: mockToken }),
82
+ });
83
+ const signMessage = vitest_1.vi.fn().mockResolvedValue(mockSignature);
84
+ await (0, auth_1.getAuthToken)(mockRpcUrl, mockAddress, signMessage);
85
+ (0, vitest_1.expect)(signMessage).toHaveBeenCalledWith(new Uint8Array(Buffer.from(mockChallenge, "utf-8")));
86
+ });
87
+ (0, vitest_1.it)("should send correct request to auth/challenge endpoint", async () => {
88
+ const mockChallenge = "test-challenge";
89
+ const mockToken = "test-token";
90
+ global.fetch = vitest_1.vi
91
+ .fn()
92
+ .mockResolvedValueOnce({
93
+ json: async () => ({ challenge: mockChallenge }),
94
+ })
95
+ .mockResolvedValueOnce({
96
+ status: 200,
97
+ json: async () => ({ token: mockToken }),
98
+ });
99
+ const signMessage = vitest_1.vi.fn().mockResolvedValue(new Uint8Array([1, 2, 3]));
100
+ await (0, auth_1.getAuthToken)(mockRpcUrl, mockAddress, signMessage);
101
+ const firstCall = global.fetch.mock.calls[0];
102
+ (0, vitest_1.expect)(firstCall[0]).toContain(`${mockRpcUrl}/auth/challenge`);
103
+ (0, vitest_1.expect)(firstCall[0]).toContain(`pubkey=${mockAddress.toString()}`);
104
+ });
105
+ (0, vitest_1.it)("should send POST request to auth/login with signature", async () => {
106
+ const mockChallenge = "test-challenge";
107
+ const mockToken = "test-token";
108
+ global.fetch = vitest_1.vi
109
+ .fn()
110
+ .mockResolvedValueOnce({
111
+ json: async () => ({ challenge: mockChallenge }),
112
+ })
113
+ .mockResolvedValueOnce({
114
+ status: 200,
115
+ json: async () => ({ token: mockToken }),
116
+ });
117
+ const signMessage = vitest_1.vi.fn().mockResolvedValue(new Uint8Array([1, 2, 3]));
118
+ await (0, auth_1.getAuthToken)(mockRpcUrl, mockAddress, signMessage);
119
+ const secondCall = global.fetch.mock.calls[1];
120
+ (0, vitest_1.expect)(secondCall[0]).toContain(`${mockRpcUrl}/auth/login`);
121
+ (0, vitest_1.expect)(secondCall[1].method).toBe("POST");
122
+ (0, vitest_1.expect)(secondCall[1].headers["Content-Type"]).toBe("application/json");
123
+ });
124
+ (0, vitest_1.it)("should include pubkey, challenge, and signature in login request", async () => {
125
+ const mockChallenge = "test-challenge";
126
+ const mockToken = "test-token";
127
+ global.fetch = vitest_1.vi
128
+ .fn()
129
+ .mockResolvedValueOnce({
130
+ json: async () => ({ challenge: mockChallenge }),
131
+ })
132
+ .mockResolvedValueOnce({
133
+ status: 200,
134
+ json: async () => ({ token: mockToken }),
135
+ });
136
+ const signMessage = vitest_1.vi.fn().mockResolvedValue(new Uint8Array([1, 2, 3]));
137
+ await (0, auth_1.getAuthToken)(mockRpcUrl, mockAddress, signMessage);
138
+ const secondCall = global.fetch.mock.calls[1];
139
+ const body = JSON.parse(secondCall[1].body);
140
+ (0, vitest_1.expect)(body).toHaveProperty("pubkey");
141
+ (0, vitest_1.expect)(body).toHaveProperty("challenge");
142
+ (0, vitest_1.expect)(body).toHaveProperty("signature");
143
+ (0, vitest_1.expect)(body.pubkey).toBe(mockAddress.toString());
144
+ (0, vitest_1.expect)(body.challenge).toBe(mockChallenge);
145
+ });
146
+ });
147
+ });
148
+ //# sourceMappingURL=access-control.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"access-control.test.js","sourceRoot":"","sources":["../../src/__test__/access-control.test.ts"],"names":[],"mappings":"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"}
@@ -56,9 +56,11 @@ const mockRpc = {
56
56
  value: { blockhash: "blockhash", lastValidBlockHeight: 100n },
57
57
  })),
58
58
  })),
59
+ getBalance: vitest_1.vi.fn(() => ({
60
+ send: vitest_1.vi.fn(async () => ({ value: 5000000n })),
61
+ })),
59
62
  requestAirdrop: vitest_1.vi.fn(),
60
63
  getAccountInfo: vitest_1.vi.fn(),
61
- getBalance: vitest_1.vi.fn(),
62
64
  getBlock: vitest_1.vi.fn(),
63
65
  getBlockHeight: vitest_1.vi.fn(),
64
66
  getMultipleAccounts: vitest_1.vi.fn(),
@@ -254,5 +256,22 @@ vitest_1.vi.mock("@solana/transaction-confirmation", () => ({
254
256
  const sig = await connection.getCommitmentSignature(mockSignature);
255
257
  (0, vitest_1.expect)(sig).toBe(mockSignature);
256
258
  });
259
+ (0, vitest_1.it)("should getBalance", async () => {
260
+ const connection = await connection_1.Connection.create("http://localhost");
261
+ const testAddress = "11111111111111111111111111111111";
262
+ const balance = await connection.getBalance(testAddress);
263
+ (0, vitest_1.expect)(balance).toBe(5000000n);
264
+ });
265
+ (0, vitest_1.it)("should getBalance with commitment", async () => {
266
+ const connection = await connection_1.Connection.create("http://localhost");
267
+ const testAddress = "11111111111111111111111111111111";
268
+ const balance = await connection.getBalance(testAddress, {
269
+ commitment: "finalized",
270
+ });
271
+ (0, vitest_1.expect)(balance).toBe(5000000n);
272
+ (0, vitest_1.expect)(mockRpc.getBalance).toHaveBeenCalledWith(testAddress, {
273
+ commitment: "finalized",
274
+ });
275
+ });
257
276
  });
258
277
  //# sourceMappingURL=connection.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"connection.test.js","sourceRoot":"","sources":["../../src/__test__/connection.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connection.test.js","sourceRoot":"","sources":["../../src/__test__/connection.test.ts"],"names":[],"mappings":"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"}
@@ -1,33 +1,50 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const vitest_1 = require("vitest");
4
+ const instructions_1 = require("@solana/instructions");
4
5
  const delegation_program_1 = require("../instructions/delegation-program");
6
+ const magic_program_1 = require("../instructions/magic-program");
7
+ const constants_1 = require("../constants");
5
8
  (0, vitest_1.describe)("Exposed Instructions (@solana/kit)", () => {
6
9
  const mockAddress = "11111111111111111111111111111111";
7
10
  const differentAddress = "11111111111111111111111111111112";
8
11
  (0, vitest_1.describe)("delegate instruction", () => {
9
- (0, vitest_1.it)("should create a delegate instruction with correct parameters", () => {
10
- const data = {
12
+ (0, vitest_1.it)("should create a delegate instruction with correct parameters", async () => {
13
+ const args = {
11
14
  commitFrequencyMs: 1000,
12
- validator: mockAddress,
15
+ seeds: [],
13
16
  };
14
- const instruction = (0, delegation_program_1.createDelegateInstruction)(mockAddress, [new Uint8Array([1, 2, 3])], mockAddress, mockAddress, mockAddress, mockAddress, mockAddress, data);
17
+ const instruction = await (0, delegation_program_1.createDelegateInstruction)({
18
+ payer: mockAddress,
19
+ delegatedAccount: mockAddress,
20
+ ownerProgram: mockAddress,
21
+ }, args);
15
22
  (0, vitest_1.expect)(instruction.accounts).toHaveLength(7);
16
23
  (0, vitest_1.expect)(instruction.data).toBeDefined();
17
24
  });
18
- (0, vitest_1.it)("should create a delegate instruction without validator", () => {
19
- const data = {
25
+ (0, vitest_1.it)("should create a delegate instruction without validator", async () => {
26
+ const args = {
20
27
  commitFrequencyMs: 1000,
28
+ seeds: [],
21
29
  };
22
- const instruction = (0, delegation_program_1.createDelegateInstruction)(mockAddress, [new Uint8Array([1, 2, 3])], mockAddress, mockAddress, mockAddress, mockAddress, mockAddress, data);
30
+ const instruction = await (0, delegation_program_1.createDelegateInstruction)({
31
+ payer: mockAddress,
32
+ delegatedAccount: mockAddress,
33
+ ownerProgram: mockAddress,
34
+ }, args);
23
35
  (0, vitest_1.expect)(instruction.accounts).toHaveLength(7);
24
36
  (0, vitest_1.expect)(instruction.data).toBeDefined();
25
37
  });
26
- (0, vitest_1.it)("should include all required account keys", () => {
27
- const data = {
38
+ (0, vitest_1.it)("should include all required account keys", async () => {
39
+ const args = {
28
40
  commitFrequencyMs: 1000,
41
+ seeds: [],
29
42
  };
30
- const instruction = (0, delegation_program_1.createDelegateInstruction)(mockAddress, [new Uint8Array([1, 2, 3])], mockAddress, mockAddress, mockAddress, mockAddress, mockAddress, data);
43
+ const instruction = await (0, delegation_program_1.createDelegateInstruction)({
44
+ payer: mockAddress,
45
+ delegatedAccount: mockAddress,
46
+ ownerProgram: mockAddress,
47
+ }, args);
31
48
  (0, vitest_1.expect)(instruction.accounts).toBeDefined();
32
49
  (0, vitest_1.expect)(instruction.accounts).toHaveLength(7);
33
50
  instruction.accounts?.forEach((account) => {
@@ -35,51 +52,129 @@ const delegation_program_1 = require("../instructions/delegation-program");
35
52
  (0, vitest_1.expect)(account.address).toBeDefined();
36
53
  });
37
54
  });
38
- (0, vitest_1.it)("should handle null validator parameter", () => {
39
- const data = {
55
+ (0, vitest_1.it)("should serialize validator in args when provided in accounts", async () => {
56
+ const args = {
40
57
  commitFrequencyMs: 1000,
41
- validator: null,
58
+ seeds: [],
42
59
  };
43
- const instruction = (0, delegation_program_1.createDelegateInstruction)(mockAddress, [new Uint8Array([1, 2, 3])], mockAddress, mockAddress, mockAddress, mockAddress, mockAddress, data);
60
+ const instruction = await (0, delegation_program_1.createDelegateInstruction)({
61
+ payer: mockAddress,
62
+ delegatedAccount: mockAddress,
63
+ ownerProgram: mockAddress,
64
+ validator: mockAddress,
65
+ }, args);
66
+ (0, vitest_1.expect)(instruction.accounts).toHaveLength(7);
67
+ (0, vitest_1.expect)(instruction.data).toBeDefined();
68
+ (0, vitest_1.expect)(instruction.data?.length).toBeGreaterThanOrEqual(8 + 4 + 4 + 1 + 32);
69
+ });
70
+ (0, vitest_1.it)("should allow validator override via args", async () => {
71
+ const validatorFromArgs = "11111111111111111111111111111115";
72
+ const instruction = await (0, delegation_program_1.createDelegateInstruction)({
73
+ payer: mockAddress,
74
+ delegatedAccount: mockAddress,
75
+ ownerProgram: mockAddress,
76
+ validator: mockAddress,
77
+ }, {
78
+ commitFrequencyMs: 1000,
79
+ seeds: [],
80
+ validator: validatorFromArgs,
81
+ });
44
82
  (0, vitest_1.expect)(instruction.accounts).toHaveLength(7);
45
83
  (0, vitest_1.expect)(instruction.data).toBeDefined();
46
84
  });
47
- (0, vitest_1.it)("should support different account addresses", () => {
48
- const data = {
85
+ (0, vitest_1.it)("should support different account addresses", async () => {
86
+ const args = {
49
87
  commitFrequencyMs: 1000,
88
+ seeds: [],
50
89
  };
51
- const instruction1 = (0, delegation_program_1.createDelegateInstruction)(mockAddress, [new Uint8Array([1, 2, 3])], mockAddress, mockAddress, mockAddress, mockAddress, mockAddress, data);
52
- const instruction2 = (0, delegation_program_1.createDelegateInstruction)(differentAddress, [new Uint8Array([1, 2, 3])], mockAddress, mockAddress, mockAddress, mockAddress, mockAddress, data);
90
+ const instruction1 = await (0, delegation_program_1.createDelegateInstruction)({
91
+ payer: mockAddress,
92
+ delegatedAccount: mockAddress,
93
+ ownerProgram: mockAddress,
94
+ }, args);
95
+ const instruction2 = await (0, delegation_program_1.createDelegateInstruction)({
96
+ payer: mockAddress,
97
+ delegatedAccount: differentAddress,
98
+ ownerProgram: mockAddress,
99
+ }, args);
53
100
  (0, vitest_1.expect)(instruction1.data).toBeDefined();
54
101
  (0, vitest_1.expect)(instruction2.data).toBeDefined();
55
102
  });
56
- (0, vitest_1.it)("should handle various commitFrequencyMs values", () => {
103
+ (0, vitest_1.it)("should handle various commitFrequencyMs values", async () => {
57
104
  const frequencies = [0, 1000, 5000, 60000];
58
- frequencies.forEach((freq) => {
59
- const data = {
105
+ for (const freq of frequencies) {
106
+ const args = {
60
107
  commitFrequencyMs: freq,
108
+ seeds: [],
61
109
  };
62
- const instruction = (0, delegation_program_1.createDelegateInstruction)(mockAddress, [new Uint8Array([1, 2, 3])], mockAddress, mockAddress, mockAddress, mockAddress, mockAddress, data);
110
+ const instruction = await (0, delegation_program_1.createDelegateInstruction)({
111
+ payer: mockAddress,
112
+ delegatedAccount: mockAddress,
113
+ ownerProgram: mockAddress,
114
+ }, args);
63
115
  (0, vitest_1.expect)(instruction.data).toBeDefined();
116
+ }
117
+ });
118
+ (0, vitest_1.it)("should use default commitFrequencyMs when args not provided", async () => {
119
+ const instruction = await (0, delegation_program_1.createDelegateInstruction)({
120
+ payer: mockAddress,
121
+ delegatedAccount: mockAddress,
122
+ ownerProgram: mockAddress,
64
123
  });
124
+ (0, vitest_1.expect)(instruction.data).toBeDefined();
125
+ (0, vitest_1.expect)(instruction.accounts).toHaveLength(7);
65
126
  });
66
- (0, vitest_1.it)("should handle multiple seeds", () => {
67
- const data = {
127
+ (0, vitest_1.it)("should handle multiple seeds", async () => {
128
+ const args = {
68
129
  commitFrequencyMs: 1000,
130
+ seeds: [new Uint8Array([1, 2, 3]), new Uint8Array([4, 5, 6])],
69
131
  };
70
- const instruction = (0, delegation_program_1.createDelegateInstruction)(mockAddress, [
71
- new Uint8Array([1, 2, 3]),
72
- new Uint8Array([4, 5, 6]),
73
- new Uint8Array([7, 8, 9]),
74
- ], mockAddress, mockAddress, mockAddress, mockAddress, mockAddress, data);
132
+ const instruction = await (0, delegation_program_1.createDelegateInstruction)({
133
+ payer: mockAddress,
134
+ delegatedAccount: mockAddress,
135
+ ownerProgram: mockAddress,
136
+ }, args);
75
137
  (0, vitest_1.expect)(instruction.data).toBeDefined();
76
138
  });
77
- (0, vitest_1.it)("should handle empty seeds array", () => {
78
- const data = {
139
+ (0, vitest_1.it)("should serialize commitFrequencyMs as u32", async () => {
140
+ const args = {
79
141
  commitFrequencyMs: 1000,
142
+ seeds: [],
80
143
  };
81
- const instruction = (0, delegation_program_1.createDelegateInstruction)(mockAddress, [], mockAddress, mockAddress, mockAddress, mockAddress, mockAddress, data);
144
+ const instruction = await (0, delegation_program_1.createDelegateInstruction)({
145
+ payer: mockAddress,
146
+ delegatedAccount: mockAddress,
147
+ ownerProgram: mockAddress,
148
+ }, args);
82
149
  (0, vitest_1.expect)(instruction.data).toBeDefined();
150
+ const minSize = 8 + 4 + 4;
151
+ (0, vitest_1.expect)(instruction.data?.length).toBeGreaterThanOrEqual(minSize);
152
+ const view = new DataView(instruction.data?.buffer, 8, 4);
153
+ (0, vitest_1.expect)(view.getUint32(0, true)).toBe(1000);
154
+ });
155
+ (0, vitest_1.it)("should serialize with default commitFrequencyMs as max u32", async () => {
156
+ const instruction = await (0, delegation_program_1.createDelegateInstruction)({
157
+ payer: mockAddress,
158
+ delegatedAccount: mockAddress,
159
+ ownerProgram: mockAddress,
160
+ });
161
+ (0, vitest_1.expect)(instruction.data).toBeDefined();
162
+ const view = new DataView(instruction.data?.buffer, 8, 4);
163
+ (0, vitest_1.expect)(view.getUint32(0, true)).toBe(0xffffffff);
164
+ });
165
+ (0, vitest_1.it)("should serialize seeds array correctly", async () => {
166
+ const args = {
167
+ commitFrequencyMs: 1000,
168
+ seeds: [new Uint8Array([1, 2, 3]), new Uint8Array([4, 5, 6])],
169
+ };
170
+ const instruction = await (0, delegation_program_1.createDelegateInstruction)({
171
+ payer: mockAddress,
172
+ delegatedAccount: mockAddress,
173
+ ownerProgram: mockAddress,
174
+ }, args);
175
+ (0, vitest_1.expect)(instruction.data).toBeDefined();
176
+ const view = new DataView(instruction.data?.buffer, 12, 4);
177
+ (0, vitest_1.expect)(view.getUint32(0, true)).toBe(2);
83
178
  });
84
179
  });
85
180
  (0, vitest_1.describe)("topUpEscrow instruction", () => {
@@ -191,11 +286,16 @@ const delegation_program_1 = require("../instructions/delegation-program");
191
286
  });
192
287
  });
193
288
  (0, vitest_1.describe)("Cross-instruction consistency", () => {
194
- (0, vitest_1.it)("should all return valid instruction objects", () => {
195
- const delegateData = {
289
+ (0, vitest_1.it)("should all return valid instruction objects", async () => {
290
+ const delegateArgs = {
196
291
  commitFrequencyMs: 1000,
292
+ seeds: [],
197
293
  };
198
- const delegateInstr = (0, delegation_program_1.createDelegateInstruction)(mockAddress, [], mockAddress, mockAddress, mockAddress, mockAddress, mockAddress, delegateData);
294
+ const delegateInstr = await (0, delegation_program_1.createDelegateInstruction)({
295
+ payer: mockAddress,
296
+ delegatedAccount: mockAddress,
297
+ ownerProgram: mockAddress,
298
+ }, delegateArgs);
199
299
  const topUpInstr = (0, delegation_program_1.createTopUpEscrowInstruction)(mockAddress, mockAddress, mockAddress, 1000000);
200
300
  const closeInstr = (0, delegation_program_1.createCloseEscrowInstruction)(mockAddress, mockAddress);
201
301
  (0, vitest_1.expect)(delegateInstr.accounts).toBeDefined();
@@ -206,5 +306,119 @@ const delegation_program_1 = require("../instructions/delegation-program");
206
306
  (0, vitest_1.expect)(closeInstr.data).toBeDefined();
207
307
  });
208
308
  });
309
+ (0, vitest_1.describe)("scheduleCommit instruction (Magic Program)", () => {
310
+ (0, vitest_1.it)("should create a scheduleCommit instruction with required parameters", () => {
311
+ const instruction = (0, magic_program_1.createCommitInstruction)(mockAddress, [mockAddress]);
312
+ (0, vitest_1.expect)(instruction.accounts).toHaveLength(3);
313
+ (0, vitest_1.expect)(instruction.data).toBeDefined();
314
+ (0, vitest_1.expect)(instruction.data?.length).toBe(4);
315
+ (0, vitest_1.expect)(instruction.programAddress).toBe(constants_1.MAGIC_PROGRAM_ID);
316
+ });
317
+ (0, vitest_1.it)("should have correct discriminator", () => {
318
+ const instruction = (0, magic_program_1.createCommitInstruction)(mockAddress, [mockAddress]);
319
+ (0, vitest_1.expect)(new DataView(instruction.data?.buffer).getUint32(0, true)).toBe(1);
320
+ });
321
+ (0, vitest_1.it)("should include payer as signer and writable", () => {
322
+ const instruction = (0, magic_program_1.createCommitInstruction)(mockAddress, [mockAddress]);
323
+ (0, vitest_1.expect)(instruction.accounts?.[0].address).toBe(mockAddress);
324
+ (0, vitest_1.expect)(instruction.accounts?.[0].role).toBe(instructions_1.AccountRole.WRITABLE_SIGNER);
325
+ });
326
+ (0, vitest_1.it)("should include magic context as writable", () => {
327
+ const instruction = (0, magic_program_1.createCommitInstruction)(mockAddress, [mockAddress]);
328
+ (0, vitest_1.expect)(instruction.accounts?.[1].address).toBe(constants_1.MAGIC_CONTEXT_ID);
329
+ (0, vitest_1.expect)(instruction.accounts?.[1].role).toBe(instructions_1.AccountRole.WRITABLE);
330
+ });
331
+ (0, vitest_1.it)("should include accounts to commit as readonly", () => {
332
+ const accountsToCommit = [
333
+ "11111111111111111111111111111113",
334
+ "11111111111111111111111111111114",
335
+ ];
336
+ const instruction = (0, magic_program_1.createCommitInstruction)(mockAddress, accountsToCommit);
337
+ (0, vitest_1.expect)(instruction.accounts).toHaveLength(4);
338
+ (0, vitest_1.expect)(instruction.accounts?.[2].address).toBe(accountsToCommit[0]);
339
+ (0, vitest_1.expect)(instruction.accounts?.[2].role).toBe(instructions_1.AccountRole.READONLY);
340
+ (0, vitest_1.expect)(instruction.accounts?.[3].address).toBe(accountsToCommit[1]);
341
+ });
342
+ (0, vitest_1.it)("should handle single account to commit", () => {
343
+ const instruction = (0, magic_program_1.createCommitInstruction)(mockAddress, [
344
+ differentAddress,
345
+ ]);
346
+ (0, vitest_1.expect)(instruction.accounts).toHaveLength(3);
347
+ (0, vitest_1.expect)(instruction.accounts?.[2].address).toBe(differentAddress);
348
+ });
349
+ (0, vitest_1.it)("should handle multiple accounts to commit", () => {
350
+ const accounts = [
351
+ "22222222222222222222222222222222",
352
+ "33333333333333333333333333333333",
353
+ "44444444444444444444444444444444",
354
+ ];
355
+ const instruction = (0, magic_program_1.createCommitInstruction)(mockAddress, accounts);
356
+ (0, vitest_1.expect)(instruction.accounts).toHaveLength(5);
357
+ accounts.forEach((account, index) => {
358
+ (0, vitest_1.expect)(instruction.accounts?.[2 + index].address).toBe(account);
359
+ });
360
+ });
361
+ });
362
+ (0, vitest_1.describe)("scheduleCommitAndUndelegate instruction (Magic Program)", () => {
363
+ (0, vitest_1.it)("should create a scheduleCommitAndUndelegate instruction with required parameters", () => {
364
+ const instruction = (0, magic_program_1.createCommitAndUndelegateInstruction)(mockAddress, [
365
+ mockAddress,
366
+ ]);
367
+ (0, vitest_1.expect)(instruction.accounts).toHaveLength(3);
368
+ (0, vitest_1.expect)(instruction.data).toBeDefined();
369
+ (0, vitest_1.expect)(instruction.data?.length).toBe(4);
370
+ (0, vitest_1.expect)(instruction.programAddress).toBe(constants_1.MAGIC_PROGRAM_ID);
371
+ });
372
+ (0, vitest_1.it)("should have correct discriminator", () => {
373
+ const instruction = (0, magic_program_1.createCommitAndUndelegateInstruction)(mockAddress, [
374
+ mockAddress,
375
+ ]);
376
+ (0, vitest_1.expect)(new DataView(instruction.data?.buffer).getUint32(0, true)).toBe(2);
377
+ });
378
+ (0, vitest_1.it)("should include payer as signer and writable", () => {
379
+ const instruction = (0, magic_program_1.createCommitAndUndelegateInstruction)(mockAddress, [
380
+ mockAddress,
381
+ ]);
382
+ (0, vitest_1.expect)(instruction.accounts?.[0].address).toBe(mockAddress);
383
+ (0, vitest_1.expect)(instruction.accounts?.[0].role).toBe(instructions_1.AccountRole.WRITABLE_SIGNER);
384
+ });
385
+ (0, vitest_1.it)("should include magic context as writable", () => {
386
+ const instruction = (0, magic_program_1.createCommitAndUndelegateInstruction)(mockAddress, [
387
+ mockAddress,
388
+ ]);
389
+ (0, vitest_1.expect)(instruction.accounts?.[1].address).toBe(constants_1.MAGIC_CONTEXT_ID);
390
+ (0, vitest_1.expect)(instruction.accounts?.[1].role).toBe(instructions_1.AccountRole.WRITABLE);
391
+ });
392
+ (0, vitest_1.it)("should include accounts to commit and undelegate as readonly", () => {
393
+ const accountsToCommitAndUndelegate = [
394
+ "11111111111111111111111111111113",
395
+ "11111111111111111111111111111114",
396
+ ];
397
+ const instruction = (0, magic_program_1.createCommitAndUndelegateInstruction)(mockAddress, accountsToCommitAndUndelegate);
398
+ (0, vitest_1.expect)(instruction.accounts).toHaveLength(4);
399
+ (0, vitest_1.expect)(instruction.accounts?.[2].address).toBe(accountsToCommitAndUndelegate[0]);
400
+ (0, vitest_1.expect)(instruction.accounts?.[2].role).toBe(instructions_1.AccountRole.READONLY);
401
+ (0, vitest_1.expect)(instruction.accounts?.[3].address).toBe(accountsToCommitAndUndelegate[1]);
402
+ });
403
+ (0, vitest_1.it)("should handle single account to commit and undelegate", () => {
404
+ const instruction = (0, magic_program_1.createCommitAndUndelegateInstruction)(mockAddress, [
405
+ differentAddress,
406
+ ]);
407
+ (0, vitest_1.expect)(instruction.accounts).toHaveLength(3);
408
+ (0, vitest_1.expect)(instruction.accounts?.[2].address).toBe(differentAddress);
409
+ });
410
+ (0, vitest_1.it)("should handle multiple accounts to commit and undelegate", () => {
411
+ const accounts = [
412
+ "22222222222222222222222222222222",
413
+ "33333333333333333333333333333333",
414
+ "44444444444444444444444444444444",
415
+ ];
416
+ const instruction = (0, magic_program_1.createCommitAndUndelegateInstruction)(mockAddress, accounts);
417
+ (0, vitest_1.expect)(instruction.accounts).toHaveLength(5);
418
+ accounts.forEach((account, index) => {
419
+ (0, vitest_1.expect)(instruction.accounts?.[2 + index].address).toBe(account);
420
+ });
421
+ });
422
+ });
209
423
  });
210
424
  //# sourceMappingURL=instructions.test.js.map