@magicblock-labs/ephemeral-rollups-sdk 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 (115) 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__/instructions.test.js +251 -27
  6. package/lib/__test__/instructions.test.js.map +1 -1
  7. package/lib/__test__/permission-program.test.d.ts +2 -0
  8. package/lib/__test__/permission-program.test.d.ts.map +1 -0
  9. package/lib/__test__/permission-program.test.js +282 -0
  10. package/lib/__test__/permission-program.test.js.map +1 -0
  11. package/lib/{privacy → access-control}/auth.d.ts +4 -1
  12. package/lib/access-control/auth.d.ts.map +1 -0
  13. package/lib/{privacy → access-control}/auth.js +3 -1
  14. package/lib/access-control/auth.js.map +1 -0
  15. package/lib/access-control/index.d.ts +4 -0
  16. package/lib/access-control/index.d.ts.map +1 -0
  17. package/lib/{privacy → access-control}/index.js +1 -2
  18. package/lib/access-control/index.js.map +1 -0
  19. package/lib/access-control/permission.d.ts +7 -0
  20. package/lib/access-control/permission.d.ts.map +1 -0
  21. package/lib/access-control/permission.js +84 -0
  22. package/lib/access-control/permission.js.map +1 -0
  23. package/lib/access-control/verify.d.ts.map +1 -0
  24. package/lib/access-control/verify.js.map +1 -0
  25. package/lib/constants.d.ts +1 -0
  26. package/lib/constants.d.ts.map +1 -1
  27. package/lib/constants.js +2 -1
  28. package/lib/constants.js.map +1 -1
  29. package/lib/index.d.ts +2 -1
  30. package/lib/index.d.ts.map +1 -1
  31. package/lib/index.js +2 -1
  32. package/lib/index.js.map +1 -1
  33. package/lib/instructions/delegation-program/closeEphemeralBalance.d.ts +4 -0
  34. package/lib/instructions/delegation-program/closeEphemeralBalance.d.ts.map +1 -1
  35. package/lib/instructions/delegation-program/closeEphemeralBalance.js +24 -6
  36. package/lib/instructions/delegation-program/closeEphemeralBalance.js.map +1 -1
  37. package/lib/instructions/delegation-program/delegate.d.ts +10 -3
  38. package/lib/instructions/delegation-program/delegate.d.ts.map +1 -1
  39. package/lib/instructions/delegation-program/delegate.js +54 -15
  40. package/lib/instructions/delegation-program/delegate.js.map +1 -1
  41. package/lib/instructions/delegation-program/index.d.ts +1 -1
  42. package/lib/instructions/delegation-program/topUpEphemeralBalance.d.ts +5 -0
  43. package/lib/instructions/delegation-program/topUpEphemeralBalance.d.ts.map +1 -1
  44. package/lib/instructions/delegation-program/topUpEphemeralBalance.js +27 -7
  45. package/lib/instructions/delegation-program/topUpEphemeralBalance.js.map +1 -1
  46. package/lib/instructions/index.d.ts +2 -0
  47. package/lib/instructions/index.d.ts.map +1 -1
  48. package/lib/instructions/index.js +2 -0
  49. package/lib/instructions/index.js.map +1 -1
  50. package/lib/instructions/magic-program/index.d.ts +3 -0
  51. package/lib/instructions/magic-program/index.d.ts.map +1 -0
  52. package/lib/instructions/magic-program/index.js +8 -0
  53. package/lib/instructions/magic-program/index.js.map +1 -0
  54. package/lib/instructions/magic-program/scheduleCommit.d.ts +3 -0
  55. package/lib/instructions/magic-program/scheduleCommit.d.ts.map +1 -0
  56. package/lib/instructions/magic-program/scheduleCommit.js +24 -0
  57. package/lib/instructions/magic-program/scheduleCommit.js.map +1 -0
  58. package/lib/instructions/magic-program/scheduleCommitAndUndelegate.d.ts +3 -0
  59. package/lib/instructions/magic-program/scheduleCommitAndUndelegate.d.ts.map +1 -0
  60. package/lib/instructions/magic-program/scheduleCommitAndUndelegate.js +24 -0
  61. package/lib/instructions/magic-program/scheduleCommitAndUndelegate.js.map +1 -0
  62. package/lib/instructions/permission-program/createGroup.d.ts +11 -0
  63. package/lib/instructions/permission-program/createGroup.d.ts.map +1 -0
  64. package/lib/instructions/permission-program/createGroup.js +35 -0
  65. package/lib/instructions/permission-program/createGroup.js.map +1 -0
  66. package/lib/instructions/permission-program/createPermission.d.ts +11 -0
  67. package/lib/instructions/permission-program/createPermission.d.ts.map +1 -0
  68. package/lib/instructions/permission-program/createPermission.js +29 -0
  69. package/lib/instructions/permission-program/createPermission.js.map +1 -0
  70. package/lib/instructions/permission-program/index.d.ts +4 -0
  71. package/lib/instructions/permission-program/index.d.ts.map +1 -0
  72. package/lib/instructions/permission-program/index.js +10 -0
  73. package/lib/instructions/permission-program/index.js.map +1 -0
  74. package/lib/instructions/permission-program/updatePermission.d.ts +10 -0
  75. package/lib/instructions/permission-program/updatePermission.d.ts.map +1 -0
  76. package/lib/instructions/permission-program/updatePermission.js +27 -0
  77. package/lib/instructions/permission-program/updatePermission.js.map +1 -0
  78. package/lib/pda.d.ts +7 -0
  79. package/lib/pda.d.ts.map +1 -1
  80. package/lib/pda.js +30 -0
  81. package/lib/pda.js.map +1 -1
  82. package/package.json +2 -5
  83. package/lib/generated/delegation-program-instructions/closeEphemeralBalance.d.ts +0 -10
  84. package/lib/generated/delegation-program-instructions/closeEphemeralBalance.d.ts.map +0 -1
  85. package/lib/generated/delegation-program-instructions/closeEphemeralBalance.js +0 -34
  86. package/lib/generated/delegation-program-instructions/closeEphemeralBalance.js.map +0 -1
  87. package/lib/generated/delegation-program-instructions/delegate.d.ts +0 -17
  88. package/lib/generated/delegation-program-instructions/delegate.d.ts.map +0 -1
  89. package/lib/generated/delegation-program-instructions/delegate.js +0 -63
  90. package/lib/generated/delegation-program-instructions/delegate.js.map +0 -1
  91. package/lib/generated/delegation-program-instructions/index.d.ts +0 -4
  92. package/lib/generated/delegation-program-instructions/index.d.ts.map +0 -1
  93. package/lib/generated/delegation-program-instructions/index.js +0 -20
  94. package/lib/generated/delegation-program-instructions/index.js.map +0 -1
  95. package/lib/generated/delegation-program-instructions/topUpEphemeralBalance.d.ts +0 -12
  96. package/lib/generated/delegation-program-instructions/topUpEphemeralBalance.d.ts.map +0 -1
  97. package/lib/generated/delegation-program-instructions/topUpEphemeralBalance.js +0 -37
  98. package/lib/generated/delegation-program-instructions/topUpEphemeralBalance.js.map +0 -1
  99. package/lib/privacy/auth.d.ts.map +0 -1
  100. package/lib/privacy/auth.js.map +0 -1
  101. package/lib/privacy/constants.d.ts +0 -4
  102. package/lib/privacy/constants.d.ts.map +0 -1
  103. package/lib/privacy/constants.js +0 -7
  104. package/lib/privacy/constants.js.map +0 -1
  105. package/lib/privacy/index.d.ts +0 -5
  106. package/lib/privacy/index.d.ts.map +0 -1
  107. package/lib/privacy/index.js.map +0 -1
  108. package/lib/privacy/pda.d.ts +0 -4
  109. package/lib/privacy/pda.d.ts.map +0 -1
  110. package/lib/privacy/pda.js +0 -15
  111. package/lib/privacy/pda.js.map +0 -1
  112. package/lib/privacy/verify.d.ts.map +0 -1
  113. package/lib/privacy/verify.js.map +0 -1
  114. /package/lib/{privacy → access-control}/verify.d.ts +0 -0
  115. /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 web3_js_1 = require("@solana/web3.js");
5
+ const auth_1 = require("../access-control/auth");
6
+ (0, vitest_1.describe)("Access Control (web3.js)", () => {
7
+ const mockRpcUrl = "http://localhost:8899";
8
+ const mockPublicKey = new web3_js_1.PublicKey("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, mockPublicKey, 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, mockPublicKey, 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, mockPublicKey, 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, mockPublicKey, 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, mockPublicKey, 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=${mockPublicKey.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, mockPublicKey, 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, mockPublicKey, 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(mockPublicKey.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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"}
@@ -3,36 +3,51 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const vitest_1 = require("vitest");
4
4
  const web3_js_1 = require("@solana/web3.js");
5
5
  const delegation_program_1 = require("../instructions/delegation-program");
6
+ const magic_program_1 = require("../instructions/magic-program");
6
7
  const constants_1 = require("../constants");
7
8
  (0, vitest_1.describe)("Exposed Instructions (web3.js)", () => {
8
9
  const mockPublicKey = new web3_js_1.PublicKey("11111111111111111111111111111111");
9
10
  const differentKey = new web3_js_1.PublicKey("11111111111111111111111111111112");
10
11
  (0, vitest_1.describe)("delegate instruction", () => {
11
12
  (0, vitest_1.it)("should create a delegate instruction with correct parameters", () => {
12
- const data = {
13
+ const args = {
13
14
  commitFrequencyMs: 1000,
14
- validator: mockPublicKey,
15
+ seeds: [],
15
16
  };
16
- const instruction = (0, delegation_program_1.createDelegateInstruction)(mockPublicKey, [new Uint8Array([1, 2, 3])], mockPublicKey, mockPublicKey, mockPublicKey, mockPublicKey, mockPublicKey, data);
17
+ const instruction = (0, delegation_program_1.createDelegateInstruction)({
18
+ payer: mockPublicKey,
19
+ delegatedAccount: mockPublicKey,
20
+ ownerProgram: mockPublicKey,
21
+ }, args);
17
22
  (0, vitest_1.expect)(instruction.keys).toHaveLength(7);
18
23
  (0, vitest_1.expect)(instruction.data).toBeDefined();
19
24
  (0, vitest_1.expect)(instruction.data.length).toBeGreaterThan(0);
20
25
  (0, vitest_1.expect)(instruction.programId.toBase58()).toBe(constants_1.DELEGATION_PROGRAM_ID.toBase58());
21
26
  });
22
27
  (0, vitest_1.it)("should create a delegate instruction without validator", () => {
23
- const data = {
28
+ const args = {
24
29
  commitFrequencyMs: 1000,
30
+ seeds: [],
25
31
  };
26
- const instruction = (0, delegation_program_1.createDelegateInstruction)(mockPublicKey, [new Uint8Array([1, 2, 3])], mockPublicKey, mockPublicKey, mockPublicKey, mockPublicKey, mockPublicKey, data);
32
+ const instruction = (0, delegation_program_1.createDelegateInstruction)({
33
+ payer: mockPublicKey,
34
+ delegatedAccount: mockPublicKey,
35
+ ownerProgram: mockPublicKey,
36
+ }, args);
27
37
  (0, vitest_1.expect)(instruction.keys).toHaveLength(7);
28
38
  (0, vitest_1.expect)(instruction.data).toBeDefined();
29
39
  (0, vitest_1.expect)(instruction.data.length).toBeGreaterThan(0);
30
40
  });
31
41
  (0, vitest_1.it)("should include all required account keys", () => {
32
- const data = {
42
+ const args = {
33
43
  commitFrequencyMs: 1000,
44
+ seeds: [],
34
45
  };
35
- const instruction = (0, delegation_program_1.createDelegateInstruction)(mockPublicKey, [new Uint8Array([1, 2, 3])], mockPublicKey, mockPublicKey, mockPublicKey, mockPublicKey, mockPublicKey, data);
46
+ const instruction = (0, delegation_program_1.createDelegateInstruction)({
47
+ payer: mockPublicKey,
48
+ delegatedAccount: mockPublicKey,
49
+ ownerProgram: mockPublicKey,
50
+ }, args);
36
51
  const keyCount = instruction.keys.length;
37
52
  (0, vitest_1.expect)(keyCount).toBe(7);
38
53
  instruction.keys.forEach((key) => {
@@ -41,51 +56,127 @@ const constants_1 = require("../constants");
41
56
  (0, vitest_1.expect)(key.isWritable).toBeDefined();
42
57
  });
43
58
  });
44
- (0, vitest_1.it)("should handle null validator parameter", () => {
45
- const data = {
59
+ (0, vitest_1.it)("should serialize validator in args when provided in accounts", () => {
60
+ const args = {
46
61
  commitFrequencyMs: 1000,
47
- validator: null,
62
+ seeds: [],
48
63
  };
49
- const instruction = (0, delegation_program_1.createDelegateInstruction)(mockPublicKey, [new Uint8Array([1, 2, 3])], mockPublicKey, mockPublicKey, mockPublicKey, mockPublicKey, mockPublicKey, data);
64
+ const instruction = (0, delegation_program_1.createDelegateInstruction)({
65
+ payer: mockPublicKey,
66
+ delegatedAccount: mockPublicKey,
67
+ ownerProgram: mockPublicKey,
68
+ validator: mockPublicKey,
69
+ }, args);
70
+ (0, vitest_1.expect)(instruction.keys).toHaveLength(7);
71
+ (0, vitest_1.expect)(instruction.data).toBeDefined();
72
+ (0, vitest_1.expect)(instruction.data.length).toBeGreaterThanOrEqual(8 + 4 + 4 + 1 + 32);
73
+ });
74
+ (0, vitest_1.it)("should allow validator override via args", () => {
75
+ const validatorFromArgs = new web3_js_1.PublicKey("11111111111111111111111111111112");
76
+ const instruction = (0, delegation_program_1.createDelegateInstruction)({
77
+ payer: mockPublicKey,
78
+ delegatedAccount: mockPublicKey,
79
+ ownerProgram: mockPublicKey,
80
+ validator: mockPublicKey,
81
+ }, {
82
+ commitFrequencyMs: 1000,
83
+ seeds: [],
84
+ validator: validatorFromArgs,
85
+ });
50
86
  (0, vitest_1.expect)(instruction.keys).toHaveLength(7);
51
87
  (0, vitest_1.expect)(instruction.data).toBeDefined();
52
88
  });
53
89
  (0, vitest_1.it)("should support different account addresses", () => {
54
- const data = {
90
+ const args = {
55
91
  commitFrequencyMs: 1000,
92
+ seeds: [],
56
93
  };
57
- const instruction1 = (0, delegation_program_1.createDelegateInstruction)(mockPublicKey, [new Uint8Array([1, 2, 3])], mockPublicKey, mockPublicKey, mockPublicKey, mockPublicKey, mockPublicKey, data);
58
- const instruction2 = (0, delegation_program_1.createDelegateInstruction)(differentKey, [new Uint8Array([1, 2, 3])], mockPublicKey, mockPublicKey, mockPublicKey, mockPublicKey, mockPublicKey, data);
94
+ const instruction1 = (0, delegation_program_1.createDelegateInstruction)({
95
+ payer: mockPublicKey,
96
+ delegatedAccount: mockPublicKey,
97
+ ownerProgram: mockPublicKey,
98
+ }, args);
99
+ const instruction2 = (0, delegation_program_1.createDelegateInstruction)({
100
+ payer: mockPublicKey,
101
+ delegatedAccount: differentKey,
102
+ ownerProgram: mockPublicKey,
103
+ }, args);
59
104
  (0, vitest_1.expect)(instruction1.data).toBeDefined();
60
105
  (0, vitest_1.expect)(instruction2.data).toBeDefined();
61
106
  });
62
107
  (0, vitest_1.it)("should handle various commitFrequencyMs values", () => {
63
108
  const frequencies = [0, 1000, 5000, 60000];
64
109
  frequencies.forEach((freq) => {
65
- const data = {
110
+ const args = {
66
111
  commitFrequencyMs: freq,
112
+ seeds: [],
67
113
  };
68
- const instruction = (0, delegation_program_1.createDelegateInstruction)(mockPublicKey, [new Uint8Array([1, 2, 3])], mockPublicKey, mockPublicKey, mockPublicKey, mockPublicKey, mockPublicKey, data);
114
+ const instruction = (0, delegation_program_1.createDelegateInstruction)({
115
+ payer: mockPublicKey,
116
+ delegatedAccount: mockPublicKey,
117
+ ownerProgram: mockPublicKey,
118
+ }, args);
69
119
  (0, vitest_1.expect)(instruction.data).toBeDefined();
70
120
  });
71
121
  });
122
+ (0, vitest_1.it)("should use default commitFrequencyMs when args not provided", () => {
123
+ const instruction = (0, delegation_program_1.createDelegateInstruction)({
124
+ payer: mockPublicKey,
125
+ delegatedAccount: mockPublicKey,
126
+ ownerProgram: mockPublicKey,
127
+ });
128
+ (0, vitest_1.expect)(instruction.data).toBeDefined();
129
+ (0, vitest_1.expect)(instruction.keys).toHaveLength(7);
130
+ (0, vitest_1.expect)(instruction.programId.toBase58()).toBe(constants_1.DELEGATION_PROGRAM_ID.toBase58());
131
+ });
72
132
  (0, vitest_1.it)("should handle multiple seeds", () => {
73
- const data = {
133
+ const args = {
134
+ commitFrequencyMs: 1000,
135
+ seeds: [new Uint8Array([1, 2, 3]), new Uint8Array([4, 5, 6])],
136
+ };
137
+ const instruction = (0, delegation_program_1.createDelegateInstruction)({
138
+ payer: mockPublicKey,
139
+ delegatedAccount: mockPublicKey,
140
+ ownerProgram: mockPublicKey,
141
+ }, args);
142
+ (0, vitest_1.expect)(instruction.data).toBeDefined();
143
+ });
144
+ (0, vitest_1.it)("should serialize commitFrequencyMs as u32", () => {
145
+ const args = {
74
146
  commitFrequencyMs: 1000,
147
+ seeds: [],
75
148
  };
76
- const instruction = (0, delegation_program_1.createDelegateInstruction)(mockPublicKey, [
77
- new Uint8Array([1, 2, 3]),
78
- new Uint8Array([4, 5, 6]),
79
- new Uint8Array([7, 8, 9]),
80
- ], mockPublicKey, mockPublicKey, mockPublicKey, mockPublicKey, mockPublicKey, data);
149
+ const instruction = (0, delegation_program_1.createDelegateInstruction)({
150
+ payer: mockPublicKey,
151
+ delegatedAccount: mockPublicKey,
152
+ ownerProgram: mockPublicKey,
153
+ }, args);
154
+ (0, vitest_1.expect)(instruction.data).toBeDefined();
155
+ const minSize = 8 + 4 + 4;
156
+ (0, vitest_1.expect)(instruction.data.length).toBeGreaterThanOrEqual(minSize);
157
+ (0, vitest_1.expect)(instruction.data.readUInt32LE(8)).toBe(1000);
158
+ });
159
+ (0, vitest_1.it)("should serialize with default commitFrequencyMs as max u32", () => {
160
+ const instruction = (0, delegation_program_1.createDelegateInstruction)({
161
+ payer: mockPublicKey,
162
+ delegatedAccount: mockPublicKey,
163
+ ownerProgram: mockPublicKey,
164
+ });
81
165
  (0, vitest_1.expect)(instruction.data).toBeDefined();
166
+ (0, vitest_1.expect)(instruction.data.readUInt32LE(8)).toBe(0xffffffff);
82
167
  });
83
- (0, vitest_1.it)("should handle empty seeds array", () => {
84
- const data = {
168
+ (0, vitest_1.it)("should serialize seeds array correctly", () => {
169
+ const args = {
85
170
  commitFrequencyMs: 1000,
171
+ seeds: [new Uint8Array([1, 2, 3]), new Uint8Array([4, 5, 6])],
86
172
  };
87
- const instruction = (0, delegation_program_1.createDelegateInstruction)(mockPublicKey, [], mockPublicKey, mockPublicKey, mockPublicKey, mockPublicKey, mockPublicKey, data);
173
+ const instruction = (0, delegation_program_1.createDelegateInstruction)({
174
+ payer: mockPublicKey,
175
+ delegatedAccount: mockPublicKey,
176
+ ownerProgram: mockPublicKey,
177
+ }, args);
88
178
  (0, vitest_1.expect)(instruction.data).toBeDefined();
179
+ (0, vitest_1.expect)(instruction.data.readUInt32LE(12)).toBe(2);
89
180
  });
90
181
  });
91
182
  (0, vitest_1.describe)("topUpEscrow instruction", () => {
@@ -194,10 +285,15 @@ const constants_1 = require("../constants");
194
285
  });
195
286
  (0, vitest_1.describe)("Cross-instruction consistency", () => {
196
287
  (0, vitest_1.it)("should all target the same delegation program", () => {
197
- const delegateData = {
288
+ const delegateArgs = {
198
289
  commitFrequencyMs: 1000,
290
+ seeds: [],
199
291
  };
200
- const delegateInstr = (0, delegation_program_1.createDelegateInstruction)(mockPublicKey, [], mockPublicKey, mockPublicKey, mockPublicKey, mockPublicKey, mockPublicKey, delegateData);
292
+ const delegateInstr = (0, delegation_program_1.createDelegateInstruction)({
293
+ payer: mockPublicKey,
294
+ delegatedAccount: mockPublicKey,
295
+ ownerProgram: mockPublicKey,
296
+ }, delegateArgs);
201
297
  const topUpInstr = (0, delegation_program_1.createTopUpEscrowInstruction)(mockPublicKey, mockPublicKey, mockPublicKey, 1000000);
202
298
  const closeInstr = (0, delegation_program_1.createCloseEscrowInstruction)(mockPublicKey, mockPublicKey);
203
299
  const programId = constants_1.DELEGATION_PROGRAM_ID.toBase58();
@@ -206,5 +302,133 @@ const constants_1 = require("../constants");
206
302
  (0, vitest_1.expect)(closeInstr.programId.toBase58()).toBe(programId);
207
303
  });
208
304
  });
305
+ (0, vitest_1.describe)("scheduleCommit instruction (Magic Program)", () => {
306
+ (0, vitest_1.it)("should create a scheduleCommit instruction with required parameters", () => {
307
+ const instruction = (0, magic_program_1.createCommitInstruction)(mockPublicKey, [
308
+ mockPublicKey,
309
+ ]);
310
+ (0, vitest_1.expect)(instruction.keys).toHaveLength(3);
311
+ (0, vitest_1.expect)(instruction.data).toBeDefined();
312
+ (0, vitest_1.expect)(instruction.data.length).toBe(4);
313
+ (0, vitest_1.expect)(instruction.programId.toBase58()).toBe(constants_1.MAGIC_PROGRAM_ID.toBase58());
314
+ });
315
+ (0, vitest_1.it)("should have correct discriminator", () => {
316
+ const instruction = (0, magic_program_1.createCommitInstruction)(mockPublicKey, [
317
+ mockPublicKey,
318
+ ]);
319
+ (0, vitest_1.expect)(instruction.data.readUInt32LE(0)).toBe(1);
320
+ });
321
+ (0, vitest_1.it)("should include payer as signer and writable", () => {
322
+ const instruction = (0, magic_program_1.createCommitInstruction)(mockPublicKey, [
323
+ mockPublicKey,
324
+ ]);
325
+ (0, vitest_1.expect)(instruction.keys[0].pubkey.toBase58()).toBe(mockPublicKey.toBase58());
326
+ (0, vitest_1.expect)(instruction.keys[0].isSigner).toBe(true);
327
+ (0, vitest_1.expect)(instruction.keys[0].isWritable).toBe(true);
328
+ });
329
+ (0, vitest_1.it)("should include magic context as writable", () => {
330
+ const instruction = (0, magic_program_1.createCommitInstruction)(mockPublicKey, [
331
+ mockPublicKey,
332
+ ]);
333
+ (0, vitest_1.expect)(instruction.keys[1].pubkey.toBase58()).toBe(constants_1.MAGIC_CONTEXT_ID.toBase58());
334
+ (0, vitest_1.expect)(instruction.keys[1].isSigner).toBe(false);
335
+ (0, vitest_1.expect)(instruction.keys[1].isWritable).toBe(true);
336
+ });
337
+ (0, vitest_1.it)("should include accounts to commit as readonly", () => {
338
+ const accountsToCommit = [
339
+ new web3_js_1.PublicKey("11111111111111111111111111111113"),
340
+ new web3_js_1.PublicKey("11111111111111111111111111111114"),
341
+ ];
342
+ const instruction = (0, magic_program_1.createCommitInstruction)(mockPublicKey, accountsToCommit);
343
+ (0, vitest_1.expect)(instruction.keys).toHaveLength(4);
344
+ (0, vitest_1.expect)(instruction.keys[2].pubkey.toBase58()).toBe(accountsToCommit[0].toBase58());
345
+ (0, vitest_1.expect)(instruction.keys[2].isSigner).toBe(false);
346
+ (0, vitest_1.expect)(instruction.keys[2].isWritable).toBe(false);
347
+ (0, vitest_1.expect)(instruction.keys[3].pubkey.toBase58()).toBe(accountsToCommit[1].toBase58());
348
+ });
349
+ (0, vitest_1.it)("should handle single account to commit", () => {
350
+ const instruction = (0, magic_program_1.createCommitInstruction)(mockPublicKey, [
351
+ differentKey,
352
+ ]);
353
+ (0, vitest_1.expect)(instruction.keys).toHaveLength(3);
354
+ (0, vitest_1.expect)(instruction.keys[2].pubkey.toBase58()).toBe(differentKey.toBase58());
355
+ });
356
+ (0, vitest_1.it)("should handle multiple accounts to commit", () => {
357
+ const accounts = [
358
+ new web3_js_1.PublicKey("11111111111111111111111111111113"),
359
+ new web3_js_1.PublicKey("11111111111111111111111111111114"),
360
+ new web3_js_1.PublicKey("11111111111111111111111111111115"),
361
+ ];
362
+ const instruction = (0, magic_program_1.createCommitInstruction)(mockPublicKey, accounts);
363
+ (0, vitest_1.expect)(instruction.keys).toHaveLength(5);
364
+ accounts.forEach((account, index) => {
365
+ (0, vitest_1.expect)(instruction.keys[2 + index].pubkey.toBase58()).toBe(account.toBase58());
366
+ });
367
+ });
368
+ });
369
+ (0, vitest_1.describe)("scheduleCommitAndUndelegate instruction (Magic Program)", () => {
370
+ (0, vitest_1.it)("should create a scheduleCommitAndUndelegate instruction with required parameters", () => {
371
+ const instruction = (0, magic_program_1.createCommitAndUndelegateInstruction)(mockPublicKey, [
372
+ mockPublicKey,
373
+ ]);
374
+ (0, vitest_1.expect)(instruction.keys).toHaveLength(3);
375
+ (0, vitest_1.expect)(instruction.data).toBeDefined();
376
+ (0, vitest_1.expect)(instruction.data.length).toBe(4);
377
+ (0, vitest_1.expect)(instruction.programId.toBase58()).toBe(constants_1.MAGIC_PROGRAM_ID.toBase58());
378
+ });
379
+ (0, vitest_1.it)("should have correct discriminator", () => {
380
+ const instruction = (0, magic_program_1.createCommitAndUndelegateInstruction)(mockPublicKey, [
381
+ mockPublicKey,
382
+ ]);
383
+ (0, vitest_1.expect)(instruction.data.readUInt32LE(0)).toBe(2);
384
+ });
385
+ (0, vitest_1.it)("should include payer as signer and writable", () => {
386
+ const instruction = (0, magic_program_1.createCommitAndUndelegateInstruction)(mockPublicKey, [
387
+ mockPublicKey,
388
+ ]);
389
+ (0, vitest_1.expect)(instruction.keys[0].pubkey.toBase58()).toBe(mockPublicKey.toBase58());
390
+ (0, vitest_1.expect)(instruction.keys[0].isSigner).toBe(true);
391
+ (0, vitest_1.expect)(instruction.keys[0].isWritable).toBe(true);
392
+ });
393
+ (0, vitest_1.it)("should include magic context as writable", () => {
394
+ const instruction = (0, magic_program_1.createCommitAndUndelegateInstruction)(mockPublicKey, [
395
+ mockPublicKey,
396
+ ]);
397
+ (0, vitest_1.expect)(instruction.keys[1].pubkey.toBase58()).toBe(constants_1.MAGIC_CONTEXT_ID.toBase58());
398
+ (0, vitest_1.expect)(instruction.keys[1].isSigner).toBe(false);
399
+ (0, vitest_1.expect)(instruction.keys[1].isWritable).toBe(true);
400
+ });
401
+ (0, vitest_1.it)("should include accounts to commit and undelegate as readonly", () => {
402
+ const accountsToCommitAndUndelegate = [
403
+ new web3_js_1.PublicKey("11111111111111111111111111111113"),
404
+ new web3_js_1.PublicKey("11111111111111111111111111111114"),
405
+ ];
406
+ const instruction = (0, magic_program_1.createCommitAndUndelegateInstruction)(mockPublicKey, accountsToCommitAndUndelegate);
407
+ (0, vitest_1.expect)(instruction.keys).toHaveLength(4);
408
+ (0, vitest_1.expect)(instruction.keys[2].pubkey.toBase58()).toBe(accountsToCommitAndUndelegate[0].toBase58());
409
+ (0, vitest_1.expect)(instruction.keys[2].isSigner).toBe(false);
410
+ (0, vitest_1.expect)(instruction.keys[2].isWritable).toBe(false);
411
+ (0, vitest_1.expect)(instruction.keys[3].pubkey.toBase58()).toBe(accountsToCommitAndUndelegate[1].toBase58());
412
+ });
413
+ (0, vitest_1.it)("should handle single account to commit and undelegate", () => {
414
+ const instruction = (0, magic_program_1.createCommitAndUndelegateInstruction)(mockPublicKey, [
415
+ differentKey,
416
+ ]);
417
+ (0, vitest_1.expect)(instruction.keys).toHaveLength(3);
418
+ (0, vitest_1.expect)(instruction.keys[2].pubkey.toBase58()).toBe(differentKey.toBase58());
419
+ });
420
+ (0, vitest_1.it)("should handle multiple accounts to commit and undelegate", () => {
421
+ const accounts = [
422
+ new web3_js_1.PublicKey("11111111111111111111111111111113"),
423
+ new web3_js_1.PublicKey("11111111111111111111111111111114"),
424
+ new web3_js_1.PublicKey("11111111111111111111111111111115"),
425
+ ];
426
+ const instruction = (0, magic_program_1.createCommitAndUndelegateInstruction)(mockPublicKey, accounts);
427
+ (0, vitest_1.expect)(instruction.keys).toHaveLength(5);
428
+ accounts.forEach((account, index) => {
429
+ (0, vitest_1.expect)(instruction.keys[2 + index].pubkey.toBase58()).toBe(account.toBase58());
430
+ });
431
+ });
432
+ });
209
433
  });
210
434
  //# sourceMappingURL=instructions.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"instructions.test.js","sourceRoot":"","sources":["../../src/__test__/instructions.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"instructions.test.js","sourceRoot":"","sources":["../../src/__test__/instructions.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=permission-program.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"permission-program.test.d.ts","sourceRoot":"","sources":["../../src/__test__/permission-program.test.ts"],"names":[],"mappings":""}