@magicblock-labs/ephemeral-rollups-sdk 0.7.2 → 0.8.0

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 (68) hide show
  1. package/lib/__test__/permission-program.test.js +182 -202
  2. package/lib/__test__/permission-program.test.js.map +1 -1
  3. package/lib/access-control/index.d.ts +1 -0
  4. package/lib/access-control/index.d.ts.map +1 -1
  5. package/lib/access-control/index.js +1 -0
  6. package/lib/access-control/index.js.map +1 -1
  7. package/lib/access-control/types/index.d.ts +4 -0
  8. package/lib/access-control/types/index.d.ts.map +1 -0
  9. package/lib/access-control/types/index.js +20 -0
  10. package/lib/access-control/types/index.js.map +1 -0
  11. package/lib/access-control/types/member.d.ts +19 -0
  12. package/lib/access-control/types/member.d.ts.map +1 -0
  13. package/lib/access-control/types/member.js +47 -0
  14. package/lib/access-control/types/member.js.map +1 -0
  15. package/lib/access-control/types/membersArgs.d.ts +10 -0
  16. package/lib/access-control/types/membersArgs.d.ts.map +1 -0
  17. package/lib/access-control/types/membersArgs.js +62 -0
  18. package/lib/access-control/types/membersArgs.js.map +1 -0
  19. package/lib/access-control/types/undelegateArgs.d.ts +7 -0
  20. package/lib/access-control/types/undelegateArgs.d.ts.map +1 -0
  21. package/lib/access-control/types/undelegateArgs.js +47 -0
  22. package/lib/access-control/types/undelegateArgs.js.map +1 -0
  23. package/lib/constants.js +1 -1
  24. package/lib/index.d.ts +1 -1
  25. package/lib/index.d.ts.map +1 -1
  26. package/lib/index.js +1 -1
  27. package/lib/index.js.map +1 -1
  28. package/lib/instructions/permission-program/closePermission.d.ts +8 -0
  29. package/lib/instructions/permission-program/closePermission.d.ts.map +1 -0
  30. package/lib/instructions/permission-program/closePermission.js +39 -0
  31. package/lib/instructions/permission-program/closePermission.js.map +1 -0
  32. package/lib/instructions/permission-program/commitAndUndelegatePermission.d.ts +7 -0
  33. package/lib/instructions/permission-program/commitAndUndelegatePermission.d.ts.map +1 -0
  34. package/lib/instructions/permission-program/commitAndUndelegatePermission.js +40 -0
  35. package/lib/instructions/permission-program/commitAndUndelegatePermission.js.map +1 -0
  36. package/lib/instructions/permission-program/commitPermission.d.ts +7 -0
  37. package/lib/instructions/permission-program/commitPermission.d.ts.map +1 -0
  38. package/lib/instructions/permission-program/commitPermission.js +40 -0
  39. package/lib/instructions/permission-program/commitPermission.js.map +1 -0
  40. package/lib/instructions/permission-program/createPermission.d.ts +3 -3
  41. package/lib/instructions/permission-program/createPermission.d.ts.map +1 -1
  42. package/lib/instructions/permission-program/createPermission.js +28 -6
  43. package/lib/instructions/permission-program/createPermission.js.map +1 -1
  44. package/lib/instructions/permission-program/delegatePermission.d.ts +13 -0
  45. package/lib/instructions/permission-program/delegatePermission.d.ts.map +1 -0
  46. package/lib/instructions/permission-program/delegatePermission.js +57 -0
  47. package/lib/instructions/permission-program/delegatePermission.js.map +1 -0
  48. package/lib/instructions/permission-program/index.d.ts +5 -1
  49. package/lib/instructions/permission-program/index.d.ts.map +1 -1
  50. package/lib/instructions/permission-program/index.js +11 -3
  51. package/lib/instructions/permission-program/index.js.map +1 -1
  52. package/lib/instructions/permission-program/undelegatePermission.d.ts +11 -0
  53. package/lib/instructions/permission-program/undelegatePermission.d.ts.map +1 -0
  54. package/lib/instructions/permission-program/undelegatePermission.js +49 -0
  55. package/lib/instructions/permission-program/undelegatePermission.js.map +1 -0
  56. package/lib/instructions/permission-program/updatePermission.d.ts +4 -3
  57. package/lib/instructions/permission-program/updatePermission.d.ts.map +1 -1
  58. package/lib/instructions/permission-program/updatePermission.js +33 -6
  59. package/lib/instructions/permission-program/updatePermission.js.map +1 -1
  60. package/lib/pda.d.ts +1 -1
  61. package/lib/pda.d.ts.map +1 -1
  62. package/lib/pda.js +3 -7
  63. package/lib/pda.js.map +1 -1
  64. package/package.json +1 -1
  65. package/lib/instructions/permission-program/createGroup.d.ts +0 -11
  66. package/lib/instructions/permission-program/createGroup.d.ts.map +0 -1
  67. package/lib/instructions/permission-program/createGroup.js +0 -35
  68. package/lib/instructions/permission-program/createGroup.js.map +0 -1
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ACCOUNT_SIGNATURES_FLAG = exports.TX_MESSAGE_FLAG = exports.TX_BALANCES_FLAG = exports.TX_LOGS_FLAG = exports.AUTHORITY_FLAG = void 0;
4
+ exports.serializeMember = serializeMember;
5
+ exports.deserializeMember = deserializeMember;
6
+ exports.isAuthority = isAuthority;
7
+ exports.canSeeTxLogs = canSeeTxLogs;
8
+ exports.canSeeTxBalances = canSeeTxBalances;
9
+ exports.canSeeTxMessages = canSeeTxMessages;
10
+ exports.canSeeAccountSignatures = canSeeAccountSignatures;
11
+ const web3_js_1 = require("@solana/web3.js");
12
+ exports.AUTHORITY_FLAG = 1 << 0;
13
+ exports.TX_LOGS_FLAG = 1 << 1;
14
+ exports.TX_BALANCES_FLAG = 1 << 2;
15
+ exports.TX_MESSAGE_FLAG = 1 << 3;
16
+ exports.ACCOUNT_SIGNATURES_FLAG = 1 << 4;
17
+ function serializeMember(member) {
18
+ const buffer = Buffer.alloc(33);
19
+ let offset = 0;
20
+ buffer[offset++] = member.flags;
21
+ buffer.set(member.pubkey.toBuffer(), offset);
22
+ offset += 32;
23
+ return buffer.subarray(0, offset);
24
+ }
25
+ function deserializeMember(buffer, offset = 0) {
26
+ const flags = buffer[offset];
27
+ offset += 1;
28
+ const pubkey = new web3_js_1.PublicKey(buffer.subarray(offset, offset + 32));
29
+ offset += 32;
30
+ return { flags, pubkey };
31
+ }
32
+ function isAuthority(member, user) {
33
+ return (member.flags & exports.AUTHORITY_FLAG) !== 0 && member.pubkey.equals(user);
34
+ }
35
+ function canSeeTxLogs(member, user) {
36
+ return (member.flags & exports.TX_LOGS_FLAG) !== 0 && member.pubkey.equals(user);
37
+ }
38
+ function canSeeTxBalances(member, user) {
39
+ return (member.flags & exports.TX_BALANCES_FLAG) !== 0 && member.pubkey.equals(user);
40
+ }
41
+ function canSeeTxMessages(member, user) {
42
+ return (member.flags & exports.TX_MESSAGE_FLAG) !== 0 && member.pubkey.equals(user);
43
+ }
44
+ function canSeeAccountSignatures(member, user) {
45
+ return ((member.flags & exports.ACCOUNT_SIGNATURES_FLAG) !== 0 && member.pubkey.equals(user));
46
+ }
47
+ //# sourceMappingURL=member.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"member.js","sourceRoot":"","sources":["../../../src/access-control/types/member.ts"],"names":[],"mappings":";;;AAgBA,0CAYC;AAED,8CAUC;AAKD,kCAEC;AAKD,oCAEC;AAKD,4CAEC;AAKD,4CAEC;AAKD,0DAOC;AAhFD,6CAA4C;AAG/B,QAAA,cAAc,GAAW,CAAC,IAAI,CAAC,CAAC;AAChC,QAAA,YAAY,GAAW,CAAC,IAAI,CAAC,CAAC;AAC9B,QAAA,gBAAgB,GAAW,CAAC,IAAI,CAAC,CAAC;AAClC,QAAA,eAAe,GAAW,CAAC,IAAI,CAAC,CAAC;AACjC,QAAA,uBAAuB,GAAW,CAAC,IAAI,CAAC,CAAC;AAStD,SAAgB,eAAe,CAAC,MAAkB;IAChD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAChC,IAAI,MAAM,GAAG,CAAC,CAAC;IAGf,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;IAGhC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC,CAAC;IAC7C,MAAM,IAAI,EAAE,CAAC;IAEb,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AACpC,CAAC;AAED,SAAgB,iBAAiB,CAAC,MAAc,EAAE,SAAiB,CAAC;IAElE,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAC7B,MAAM,IAAI,CAAC,CAAC;IAGZ,MAAM,MAAM,GAAG,IAAI,mBAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC;IACnE,MAAM,IAAI,EAAE,CAAC;IAEb,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AAC3B,CAAC;AAKD,SAAgB,WAAW,CAAC,MAAc,EAAE,IAAe;IACzD,OAAO,CAAC,MAAM,CAAC,KAAK,GAAG,sBAAc,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAC7E,CAAC;AAKD,SAAgB,YAAY,CAAC,MAAc,EAAE,IAAe;IAC1D,OAAO,CAAC,MAAM,CAAC,KAAK,GAAG,oBAAY,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAC3E,CAAC;AAKD,SAAgB,gBAAgB,CAAC,MAAc,EAAE,IAAe;IAC9D,OAAO,CAAC,MAAM,CAAC,KAAK,GAAG,wBAAgB,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAC/E,CAAC;AAKD,SAAgB,gBAAgB,CAAC,MAAc,EAAE,IAAe;IAC9D,OAAO,CAAC,MAAM,CAAC,KAAK,GAAG,uBAAe,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAC9E,CAAC;AAKD,SAAgB,uBAAuB,CACrC,MAAc,EACd,IAAe;IAEf,OAAO,CACL,CAAC,MAAM,CAAC,KAAK,GAAG,+BAAuB,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAC7E,CAAC;AACJ,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { type Member, type MemberArgs } from "./member";
2
+ export interface MembersArgs {
3
+ members: Member[] | null;
4
+ }
5
+ export interface MembersArgsArgs {
6
+ members: MemberArgs[] | null;
7
+ }
8
+ export declare function serializeMembersArgs(args: MembersArgsArgs): Buffer;
9
+ export declare function deserializeMembersArgs(buffer: Buffer, offset?: number): MembersArgs;
10
+ //# sourceMappingURL=membersArgs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"membersArgs.d.ts","sourceRoot":"","sources":["../../../src/access-control/types/membersArgs.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,MAAM,EACX,KAAK,UAAU,EAChB,MAAM,UAAU,CAAC;AAKlB,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;CAC9B;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM,CAiClE;AAED,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,EACd,MAAM,GAAE,MAAU,GACjB,WAAW,CA2Cb"}
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.serializeMembersArgs = serializeMembersArgs;
4
+ exports.deserializeMembersArgs = deserializeMembersArgs;
5
+ const member_1 = require("./member");
6
+ const MEMBER_SIZE = 33;
7
+ function serializeMembersArgs(args) {
8
+ let requiredSize = 1;
9
+ if (args.members !== null) {
10
+ requiredSize += 4 + args.members.length * MEMBER_SIZE;
11
+ }
12
+ const buffer = Buffer.alloc(requiredSize);
13
+ let offset = 0;
14
+ if (args.members === null) {
15
+ buffer[offset++] = 0;
16
+ }
17
+ else {
18
+ buffer[offset++] = 1;
19
+ buffer.writeUInt32LE(args.members.length, offset);
20
+ offset += 4;
21
+ for (const member of args.members) {
22
+ const memberBuffer = (0, member_1.serializeMember)(member);
23
+ if (memberBuffer.length !== MEMBER_SIZE) {
24
+ throw new Error(`Member serialization mismatch: expected ${MEMBER_SIZE} bytes, got ${memberBuffer.length}`);
25
+ }
26
+ buffer.set(memberBuffer, offset);
27
+ offset += MEMBER_SIZE;
28
+ }
29
+ }
30
+ return buffer.subarray(0, offset);
31
+ }
32
+ function deserializeMembersArgs(buffer, offset = 0) {
33
+ if (offset + 1 > buffer.length) {
34
+ throw new Error("Buffer underflow: insufficient bytes to read members discriminant");
35
+ }
36
+ const discriminant = buffer[offset++];
37
+ let members = null;
38
+ if (discriminant === 0) {
39
+ members = null;
40
+ }
41
+ else if (discriminant === 1) {
42
+ if (offset + 4 > buffer.length) {
43
+ throw new Error("Buffer underflow: insufficient bytes to read members length");
44
+ }
45
+ const len = buffer.readUInt32LE(offset);
46
+ offset += 4;
47
+ members = [];
48
+ for (let i = 0; i < len; i++) {
49
+ if (offset + MEMBER_SIZE > buffer.length) {
50
+ throw new Error(`Buffer underflow: insufficient bytes to read member ${i} (expected ${MEMBER_SIZE} bytes)`);
51
+ }
52
+ const member = (0, member_1.deserializeMember)(buffer, offset);
53
+ members.push(member);
54
+ offset += MEMBER_SIZE;
55
+ }
56
+ }
57
+ else {
58
+ throw new Error(`Invalid discriminant for MembersArgs: expected 0 (None) or 1 (Some), got ${discriminant}`);
59
+ }
60
+ return { members };
61
+ }
62
+ //# sourceMappingURL=membersArgs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"membersArgs.js","sourceRoot":"","sources":["../../../src/access-control/types/membersArgs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export interface UndelegateArgs {
2
+ pdaSeeds: number[][];
3
+ }
4
+ export type UndelegateArgsArgs = UndelegateArgs;
5
+ export declare function serializeUndelegateArgs(args: UndelegateArgsArgs): Buffer;
6
+ export declare function deserializeUndelegateArgs(buffer: Buffer, offset?: number): UndelegateArgs;
7
+ //# sourceMappingURL=undelegateArgs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"undelegateArgs.d.ts","sourceRoot":"","sources":["../../../src/access-control/types/undelegateArgs.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC;CACtB;AAED,MAAM,MAAM,kBAAkB,GAAG,cAAc,CAAC;AAEhD,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,kBAAkB,GAAG,MAAM,CAwBxE;AAED,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,MAAM,EACd,MAAM,GAAE,MAAU,GACjB,cAAc,CAoChB"}
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.serializeUndelegateArgs = serializeUndelegateArgs;
4
+ exports.deserializeUndelegateArgs = deserializeUndelegateArgs;
5
+ function serializeUndelegateArgs(args) {
6
+ let requiredSize = 4;
7
+ for (const seed of args.pdaSeeds) {
8
+ requiredSize += 4 + seed.length;
9
+ }
10
+ const buffer = Buffer.alloc(requiredSize);
11
+ let offset = 0;
12
+ buffer.writeUInt32LE(args.pdaSeeds.length, offset);
13
+ offset += 4;
14
+ for (const seed of args.pdaSeeds) {
15
+ buffer.writeUInt32LE(seed.length, offset);
16
+ offset += 4;
17
+ for (const byte of seed) {
18
+ buffer[offset++] = byte;
19
+ }
20
+ }
21
+ return buffer.subarray(0, offset);
22
+ }
23
+ function deserializeUndelegateArgs(buffer, offset = 0) {
24
+ if (offset + 4 > buffer.length) {
25
+ throw new Error("Buffer underflow: insufficient bytes to read pdaSeeds length");
26
+ }
27
+ const seedsLen = buffer.readUInt32LE(offset);
28
+ offset += 4;
29
+ const pdaSeeds = [];
30
+ for (let i = 0; i < seedsLen; i++) {
31
+ if (offset + 4 > buffer.length) {
32
+ throw new Error(`Buffer underflow: insufficient bytes to read seed ${i} length`);
33
+ }
34
+ const seedLen = buffer.readUInt32LE(offset);
35
+ offset += 4;
36
+ if (offset + seedLen > buffer.length) {
37
+ throw new Error(`Buffer underflow: insufficient bytes to read seed ${i} data (expected ${seedLen} bytes)`);
38
+ }
39
+ const seed = [];
40
+ for (let j = 0; j < seedLen; j++) {
41
+ seed.push(buffer[offset++]);
42
+ }
43
+ pdaSeeds.push(seed);
44
+ }
45
+ return { pdaSeeds };
46
+ }
47
+ //# sourceMappingURL=undelegateArgs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"undelegateArgs.js","sourceRoot":"","sources":["../../../src/access-control/types/undelegateArgs.ts"],"names":[],"mappings":";;AAMA,0DAwBC;AAED,8DAuCC;AAjED,SAAgB,uBAAuB,CAAC,IAAwB;IAG9D,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QACjC,YAAY,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;IAClC,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAC1C,IAAI,MAAM,GAAG,CAAC,CAAC;IAGf,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnD,MAAM,IAAI,CAAC,CAAC;IAEZ,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QACjC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC1C,MAAM,IAAI,CAAC,CAAC;QACZ,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;YACxB,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AACpC,CAAC;AAED,SAAgB,yBAAyB,CACvC,MAAc,EACd,SAAiB,CAAC;IAGlB,IAAI,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CACb,8DAA8D,CAC/D,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,IAAI,CAAC,CAAC;IACZ,MAAM,QAAQ,GAAe,EAAE,CAAC;IAEhC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,IAAI,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CACb,qDAAqD,CAAC,SAAS,CAChE,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,IAAI,CAAC,CAAC;QAEZ,IAAI,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CACb,qDAAqD,CAAC,mBAAmB,OAAO,SAAS,CAC1F,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC;YACjC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC9B,CAAC;QACD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,CAAC;AACtB,CAAC"}
package/lib/constants.js CHANGED
@@ -5,5 +5,5 @@ const web3_js_1 = require("@solana/web3.js");
5
5
  exports.DELEGATION_PROGRAM_ID = new web3_js_1.PublicKey("DELeGGvXpWV2fqJUhqcF5ZSYMS4JTLjteaAMARRSaeSh");
6
6
  exports.MAGIC_PROGRAM_ID = new web3_js_1.PublicKey("Magic11111111111111111111111111111111111111");
7
7
  exports.MAGIC_CONTEXT_ID = new web3_js_1.PublicKey("MagicContext1111111111111111111111111111111");
8
- exports.PERMISSION_PROGRAM_ID = new web3_js_1.PublicKey("BTWAqWNBmF2TboMh3fxMJfgR16xGHYD7Kgr2dPwbRPBi");
8
+ exports.PERMISSION_PROGRAM_ID = new web3_js_1.PublicKey("ACLseoPoyC3cBqoUtkbjZ4aDrkurZW86v19pXz2XQnp1");
9
9
  //# sourceMappingURL=constants.js.map
package/lib/index.d.ts CHANGED
@@ -4,6 +4,6 @@ export * from "./utils.js";
4
4
  export * from "./resolver.js";
5
5
  export * from "./magic-router.js";
6
6
  export * from "./instructions/index.js";
7
- export * from "./access-control/index.js";
8
7
  export * from "./spl/index.js";
8
+ export * from "./access-control/index.js";
9
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,2BAA2B,CAAC"}
package/lib/index.js CHANGED
@@ -20,6 +20,6 @@ __exportStar(require("./utils.js"), exports);
20
20
  __exportStar(require("./resolver.js"), exports);
21
21
  __exportStar(require("./magic-router.js"), exports);
22
22
  __exportStar(require("./instructions/index.js"), exports);
23
- __exportStar(require("./access-control/index.js"), exports);
24
23
  __exportStar(require("./spl/index.js"), exports);
24
+ __exportStar(require("./access-control/index.js"), exports);
25
25
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B;AAC/B,2CAAyB;AACzB,6CAA2B;AAC3B,gDAA8B;AAC9B,oDAAkC;AAClC,0DAAwC;AACxC,4DAA0C;AAC1C,iDAA+B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B;AAC/B,2CAAyB;AACzB,6CAA2B;AAC3B,gDAA8B;AAC9B,oDAAkC;AAClC,0DAAwC;AACxC,iDAA+B;AAC/B,4DAA0C"}
@@ -0,0 +1,8 @@
1
+ import { PublicKey, TransactionInstruction } from "@solana/web3.js";
2
+ export declare function createClosePermissionInstruction(accounts: {
3
+ payer: PublicKey;
4
+ authority: [PublicKey, boolean];
5
+ permissionedAccount: [PublicKey, boolean];
6
+ }): TransactionInstruction;
7
+ export declare function serializeClosePermissionInstructionData(): Buffer;
8
+ //# sourceMappingURL=closePermission.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"closePermission.d.ts","sourceRoot":"","sources":["../../../src/instructions/permission-program/closePermission.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,sBAAsB,EAEvB,MAAM,iBAAiB,CAAC;AAiBzB,wBAAgB,gCAAgC,CAAC,QAAQ,EAAE;IACzD,KAAK,EAAE,SAAS,CAAC;IACjB,SAAS,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAChC,mBAAmB,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;CAC3C,GAAG,sBAAsB,CAyBzB;AAED,wBAAgB,uCAAuC,IAAI,MAAM,CAUhE"}
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createClosePermissionInstruction = createClosePermissionInstruction;
4
+ exports.serializeClosePermissionInstructionData = serializeClosePermissionInstructionData;
5
+ const web3_js_1 = require("@solana/web3.js");
6
+ const constants_1 = require("../../constants");
7
+ const pda_1 = require("../../pda");
8
+ function createClosePermissionInstruction(accounts) {
9
+ const permission = (0, pda_1.permissionPdaFromAccount)(accounts.permissionedAccount[0]);
10
+ const keys = [
11
+ { pubkey: accounts.payer, isWritable: true, isSigner: true },
12
+ {
13
+ pubkey: accounts.authority[0],
14
+ isWritable: accounts.authority[1],
15
+ isSigner: accounts.authority[1],
16
+ },
17
+ {
18
+ pubkey: accounts.permissionedAccount[0],
19
+ isWritable: accounts.permissionedAccount[1],
20
+ isSigner: accounts.permissionedAccount[1],
21
+ },
22
+ { pubkey: permission, isWritable: true, isSigner: false },
23
+ ];
24
+ const instructionData = serializeClosePermissionInstructionData();
25
+ return new web3_js_1.TransactionInstruction({
26
+ programId: constants_1.PERMISSION_PROGRAM_ID,
27
+ keys,
28
+ data: instructionData,
29
+ });
30
+ }
31
+ function serializeClosePermissionInstructionData() {
32
+ const discriminator = [2, 0, 0, 0, 0, 0, 0, 0];
33
+ const buffer = Buffer.alloc(8);
34
+ for (let i = 0; i < 8; i++) {
35
+ buffer[i] = discriminator[i];
36
+ }
37
+ return buffer;
38
+ }
39
+ //# sourceMappingURL=closePermission.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"closePermission.js","sourceRoot":"","sources":["../../../src/instructions/permission-program/closePermission.ts"],"names":[],"mappings":";;AAqBA,4EA6BC;AAED,0FAUC;AA9DD,6CAIyB;AACzB,+CAAwD;AACxD,mCAAqD;AAerD,SAAgB,gCAAgC,CAAC,QAIhD;IACC,MAAM,UAAU,GAAG,IAAA,8BAAwB,EAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC;IAE7E,MAAM,IAAI,GAAkB;QAC1B,EAAE,MAAM,EAAE,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC5D;YACE,MAAM,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;YAC7B,UAAU,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;YACjC,QAAQ,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;SAChC;QACD;YACE,MAAM,EAAE,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC;YACvC,UAAU,EAAE,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC;YAC3C,QAAQ,EAAE,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC;SAC1C;QACD,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE;KAC1D,CAAC;IAEF,MAAM,eAAe,GAAG,uCAAuC,EAAE,CAAC;IAElE,OAAO,IAAI,gCAAsB,CAAC;QAChC,SAAS,EAAE,iCAAqB;QAChC,IAAI;QACJ,IAAI,EAAE,eAAe;KACtB,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,uCAAuC;IACrD,MAAM,aAAa,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAG/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,MAAM,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;IAC/B,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { PublicKey, TransactionInstruction } from "@solana/web3.js";
2
+ export declare function createCommitAndUndelegatePermissionInstruction(accounts: {
3
+ authority: [PublicKey, boolean];
4
+ permissionedAccount: [PublicKey, boolean];
5
+ }): TransactionInstruction;
6
+ export declare function serializeCommitAndUndelegatePermissionInstructionData(): Buffer;
7
+ //# sourceMappingURL=commitAndUndelegatePermission.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commitAndUndelegatePermission.d.ts","sourceRoot":"","sources":["../../../src/instructions/permission-program/commitAndUndelegatePermission.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,sBAAsB,EAEvB,MAAM,iBAAiB,CAAC;AAsBzB,wBAAgB,8CAA8C,CAAC,QAAQ,EAAE;IACvE,SAAS,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAChC,mBAAmB,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;CAC3C,GAAG,sBAAsB,CA4BzB;AAED,wBAAgB,qDAAqD,IAAI,MAAM,CAU9E"}
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createCommitAndUndelegatePermissionInstruction = createCommitAndUndelegatePermissionInstruction;
4
+ exports.serializeCommitAndUndelegatePermissionInstructionData = serializeCommitAndUndelegatePermissionInstructionData;
5
+ const web3_js_1 = require("@solana/web3.js");
6
+ const constants_1 = require("../../constants");
7
+ const pda_1 = require("../../pda");
8
+ function createCommitAndUndelegatePermissionInstruction(accounts) {
9
+ const permission = (0, pda_1.permissionPdaFromAccount)(accounts.permissionedAccount[0]);
10
+ const keys = [
11
+ {
12
+ pubkey: accounts.authority[0],
13
+ isWritable: accounts.authority[1],
14
+ isSigner: accounts.authority[1],
15
+ },
16
+ {
17
+ pubkey: accounts.permissionedAccount[0],
18
+ isWritable: true,
19
+ isSigner: accounts.permissionedAccount[1],
20
+ },
21
+ { pubkey: permission, isWritable: true, isSigner: false },
22
+ { pubkey: constants_1.MAGIC_PROGRAM_ID, isWritable: false, isSigner: false },
23
+ { pubkey: constants_1.MAGIC_CONTEXT_ID, isWritable: true, isSigner: false },
24
+ ];
25
+ const instructionData = serializeCommitAndUndelegatePermissionInstructionData();
26
+ return new web3_js_1.TransactionInstruction({
27
+ programId: constants_1.PERMISSION_PROGRAM_ID,
28
+ keys,
29
+ data: instructionData,
30
+ });
31
+ }
32
+ function serializeCommitAndUndelegatePermissionInstructionData() {
33
+ const discriminator = [5, 0, 0, 0, 0, 0, 0, 0];
34
+ const buffer = Buffer.alloc(8);
35
+ for (let i = 0; i < 8; i++) {
36
+ buffer[i] = discriminator[i];
37
+ }
38
+ return buffer;
39
+ }
40
+ //# sourceMappingURL=commitAndUndelegatePermission.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commitAndUndelegatePermission.js","sourceRoot":"","sources":["../../../src/instructions/permission-program/commitAndUndelegatePermission.ts"],"names":[],"mappings":";;AA0BA,wGA+BC;AAED,sHAUC;AArED,6CAIyB;AACzB,+CAIyB;AACzB,mCAAqD;AAgBrD,SAAgB,8CAA8C,CAAC,QAG9D;IACC,MAAM,UAAU,GAAG,IAAA,8BAAwB,EAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC;IAG7E,MAAM,IAAI,GAAkB;QAC1B;YACE,MAAM,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;YAC7B,UAAU,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;YACjC,QAAQ,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;SAChC;QACD;YACE,MAAM,EAAE,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC;YACvC,UAAU,EAAE,IAAI;YAChB,QAAQ,EAAE,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC;SAC1C;QACD,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE;QACzD,EAAE,MAAM,EAAE,4BAAgB,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE;QAChE,EAAE,MAAM,EAAE,4BAAgB,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE;KAChE,CAAC;IAEF,MAAM,eAAe,GACnB,qDAAqD,EAAE,CAAC;IAE1D,OAAO,IAAI,gCAAsB,CAAC;QAChC,SAAS,EAAE,iCAAqB;QAChC,IAAI;QACJ,IAAI,EAAE,eAAe;KACtB,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,qDAAqD;IACnE,MAAM,aAAa,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAG/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,MAAM,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;IAC/B,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { PublicKey, TransactionInstruction } from "@solana/web3.js";
2
+ export declare function createCommitPermissionInstruction(accounts: {
3
+ authority: [PublicKey, boolean];
4
+ permissionedAccount: [PublicKey, boolean];
5
+ }): TransactionInstruction;
6
+ export declare function serializeCommitPermissionInstructionData(): Buffer;
7
+ //# sourceMappingURL=commitPermission.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commitPermission.d.ts","sourceRoot":"","sources":["../../../src/instructions/permission-program/commitPermission.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,sBAAsB,EAEvB,MAAM,iBAAiB,CAAC;AAsBzB,wBAAgB,iCAAiC,CAAC,QAAQ,EAAE;IAC1D,SAAS,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAChC,mBAAmB,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;CAC3C,GAAG,sBAAsB,CA2BzB;AAED,wBAAgB,wCAAwC,IAAI,MAAM,CAUjE"}
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createCommitPermissionInstruction = createCommitPermissionInstruction;
4
+ exports.serializeCommitPermissionInstructionData = serializeCommitPermissionInstructionData;
5
+ const web3_js_1 = require("@solana/web3.js");
6
+ const constants_1 = require("../../constants");
7
+ const pda_1 = require("../../pda");
8
+ function createCommitPermissionInstruction(accounts) {
9
+ const permission = (0, pda_1.permissionPdaFromAccount)(accounts.permissionedAccount[0]);
10
+ const keys = [
11
+ {
12
+ pubkey: accounts.authority[0],
13
+ isWritable: accounts.authority[1],
14
+ isSigner: accounts.authority[1],
15
+ },
16
+ {
17
+ pubkey: accounts.permissionedAccount[0],
18
+ isWritable: true,
19
+ isSigner: accounts.permissionedAccount[1],
20
+ },
21
+ { pubkey: permission, isWritable: true, isSigner: false },
22
+ { pubkey: constants_1.MAGIC_PROGRAM_ID, isWritable: false, isSigner: false },
23
+ { pubkey: constants_1.MAGIC_CONTEXT_ID, isWritable: true, isSigner: false },
24
+ ];
25
+ const instructionData = serializeCommitPermissionInstructionData();
26
+ return new web3_js_1.TransactionInstruction({
27
+ programId: constants_1.PERMISSION_PROGRAM_ID,
28
+ keys,
29
+ data: instructionData,
30
+ });
31
+ }
32
+ function serializeCommitPermissionInstructionData() {
33
+ const discriminator = [4, 0, 0, 0, 0, 0, 0, 0];
34
+ const buffer = Buffer.alloc(8);
35
+ for (let i = 0; i < 8; i++) {
36
+ buffer[i] = discriminator[i];
37
+ }
38
+ return buffer;
39
+ }
40
+ //# sourceMappingURL=commitPermission.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commitPermission.js","sourceRoot":"","sources":["../../../src/instructions/permission-program/commitPermission.ts"],"names":[],"mappings":";;AA0BA,8EA8BC;AAED,4FAUC;AApED,6CAIyB;AACzB,+CAIyB;AACzB,mCAAqD;AAgBrD,SAAgB,iCAAiC,CAAC,QAGjD;IACC,MAAM,UAAU,GAAG,IAAA,8BAAwB,EAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC;IAG7E,MAAM,IAAI,GAAkB;QAC1B;YACE,MAAM,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;YAC7B,UAAU,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;YACjC,QAAQ,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;SAChC;QACD;YACE,MAAM,EAAE,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC;YACvC,UAAU,EAAE,IAAI;YAChB,QAAQ,EAAE,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC;SAC1C;QACD,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE;QACzD,EAAE,MAAM,EAAE,4BAAgB,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE;QAChE,EAAE,MAAM,EAAE,4BAAgB,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE;KAChE,CAAC;IAEF,MAAM,eAAe,GAAG,wCAAwC,EAAE,CAAC;IAEnE,OAAO,IAAI,gCAAsB,CAAC;QAChC,SAAS,EAAE,iCAAqB;QAChC,IAAI;QACJ,IAAI,EAAE,eAAe;KACtB,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,wCAAwC;IACtD,MAAM,aAAa,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAG/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,MAAM,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;IAC/B,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -1,10 +1,10 @@
1
1
  import { PublicKey, TransactionInstruction } from "@solana/web3.js";
2
+ import type { Member } from "../../access-control/types";
2
3
  export interface CreatePermissionInstructionArgs {
4
+ members?: Member[];
3
5
  }
4
6
  export declare function createCreatePermissionInstruction(accounts: {
5
- permission: PublicKey;
6
- delegatedAccount: PublicKey;
7
- group: PublicKey;
7
+ permissionedAccount: PublicKey;
8
8
  payer: PublicKey;
9
9
  }, args?: CreatePermissionInstructionArgs): TransactionInstruction;
10
10
  export declare function serializeCreatePermissionInstructionData(args?: CreatePermissionInstructionArgs): Buffer;
@@ -1 +1 @@
1
- {"version":3,"file":"createPermission.d.ts","sourceRoot":"","sources":["../../../src/instructions/permission-program/createPermission.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,sBAAsB,EAGvB,MAAM,iBAAiB,CAAC;AAOzB,MAAM,WAAW,+BAA+B;CAAG;AAMnD,wBAAgB,iCAAiC,CAC/C,QAAQ,EAAE;IACR,UAAU,EAAE,SAAS,CAAC;IACtB,gBAAgB,EAAE,SAAS,CAAC;IAC5B,KAAK,EAAE,SAAS,CAAC;IACjB,KAAK,EAAE,SAAS,CAAC;CAClB,EACD,IAAI,CAAC,EAAE,+BAA+B,GACrC,sBAAsB,CAgBxB;AAED,wBAAgB,wCAAwC,CACtD,IAAI,CAAC,EAAE,+BAA+B,GACrC,MAAM,CASR"}
1
+ {"version":3,"file":"createPermission.d.ts","sourceRoot":"","sources":["../../../src/instructions/permission-program/createPermission.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,sBAAsB,EAGvB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAKzD,MAAM,WAAW,+BAA+B;IAC9C,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAMD,wBAAgB,iCAAiC,CAC/C,QAAQ,EAAE;IACR,mBAAmB,EAAE,SAAS,CAAC;IAC/B,KAAK,EAAE,SAAS,CAAC;CAClB,EACD,IAAI,CAAC,EAAE,+BAA+B,GACrC,sBAAsB,CAiBxB;AAED,wBAAgB,wCAAwC,CACtD,IAAI,CAAC,EAAE,+BAA+B,GACrC,MAAM,CA4CR"}
@@ -4,11 +4,12 @@ exports.createCreatePermissionInstruction = createCreatePermissionInstruction;
4
4
  exports.serializeCreatePermissionInstructionData = serializeCreatePermissionInstructionData;
5
5
  const web3_js_1 = require("@solana/web3.js");
6
6
  const constants_1 = require("../../constants");
7
+ const pda_1 = require("../../pda");
7
8
  function createCreatePermissionInstruction(accounts, args) {
9
+ const permission = (0, pda_1.permissionPdaFromAccount)(accounts.permissionedAccount);
8
10
  const keys = [
9
- { pubkey: accounts.permission, isWritable: true, isSigner: false },
10
- { pubkey: accounts.delegatedAccount, isWritable: false, isSigner: true },
11
- { pubkey: accounts.group, isWritable: false, isSigner: false },
11
+ { pubkey: accounts.permissionedAccount, isWritable: false, isSigner: true },
12
+ { pubkey: permission, isWritable: true, isSigner: false },
12
13
  { pubkey: accounts.payer, isWritable: true, isSigner: true },
13
14
  { pubkey: web3_js_1.SystemProgram.programId, isWritable: false, isSigner: false },
14
15
  ];
@@ -20,10 +21,31 @@ function createCreatePermissionInstruction(accounts, args) {
20
21
  });
21
22
  }
22
23
  function serializeCreatePermissionInstructionData(args) {
23
- const discriminator = 1;
24
- const buffer = Buffer.alloc(1);
24
+ const MAX_BUFFER_SIZE = 2048;
25
+ const discriminator = [0, 0, 0, 0, 0, 0, 0, 0];
26
+ const members = args?.members ?? [];
27
+ const buffer = Buffer.alloc(MAX_BUFFER_SIZE);
25
28
  let offset = 0;
26
- buffer[offset++] = discriminator;
29
+ for (let i = 0; i < 8; i++) {
30
+ buffer[offset++] = discriminator[i];
31
+ }
32
+ if (offset + 1 > MAX_BUFFER_SIZE) {
33
+ throw new Error(`Serialized data exceeds buffer size (${MAX_BUFFER_SIZE} bytes)`);
34
+ }
35
+ buffer[offset++] = members.length > 0 ? 1 : 0;
36
+ if (offset + 4 > MAX_BUFFER_SIZE) {
37
+ throw new Error(`Serialized data exceeds buffer size (${MAX_BUFFER_SIZE} bytes)`);
38
+ }
39
+ buffer.writeUInt32LE(members.length, offset);
40
+ offset += 4;
41
+ for (const member of members) {
42
+ if (offset + 33 > MAX_BUFFER_SIZE) {
43
+ throw new Error(`Serialized data exceeds buffer size (${MAX_BUFFER_SIZE} bytes)`);
44
+ }
45
+ buffer[offset++] = member.flags;
46
+ buffer.set(member.pubkey.toBuffer(), offset);
47
+ offset += 32;
48
+ }
27
49
  return buffer.subarray(0, offset);
28
50
  }
29
51
  //# sourceMappingURL=createPermission.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"createPermission.js","sourceRoot":"","sources":["../../../src/instructions/permission-program/createPermission.ts"],"names":[],"mappings":";;AAkBA,8EAwBC;AAED,4FAWC;AAvDD,6CAKyB;AACzB,+CAAwD;AAYxD,SAAgB,iCAAiC,CAC/C,QAKC,EACD,IAAsC;IAEtC,MAAM,IAAI,GAAkB;QAC1B,EAAE,MAAM,EAAE,QAAQ,CAAC,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE;QAClE,EAAE,MAAM,EAAE,QAAQ,CAAC,gBAAgB,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE;QACxE,EAAE,MAAM,EAAE,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE;QAC9D,EAAE,MAAM,EAAE,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC5D,EAAE,MAAM,EAAE,uBAAa,CAAC,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE;KACxE,CAAC;IAEF,MAAM,eAAe,GAAG,wCAAwC,CAAC,IAAI,CAAC,CAAC;IAEvE,OAAO,IAAI,gCAAsB,CAAC;QAChC,SAAS,EAAE,iCAAqB;QAChC,IAAI;QACJ,IAAI,EAAE,eAAe;KACtB,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,wCAAwC,CACtD,IAAsC;IAEtC,MAAM,aAAa,GAAG,CAAC,CAAC;IACxB,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC/B,IAAI,MAAM,GAAG,CAAC,CAAC;IAGf,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,aAAa,CAAC;IAEjC,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AACpC,CAAC"}
1
+ {"version":3,"file":"createPermission.js","sourceRoot":"","sources":["../../../src/instructions/permission-program/createPermission.ts"],"names":[],"mappings":";;AAqBA,8EAuBC;AAED,4FA8CC;AA5FD,6CAKyB;AACzB,+CAAwD;AACxD,mCAAqD;AAcrD,SAAgB,iCAAiC,CAC/C,QAGC,EACD,IAAsC;IAEtC,MAAM,UAAU,GAAG,IAAA,8BAAwB,EAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;IAE1E,MAAM,IAAI,GAAkB;QAC1B,EAAE,MAAM,EAAE,QAAQ,CAAC,mBAAmB,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC3E,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE;QACzD,EAAE,MAAM,EAAE,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC5D,EAAE,MAAM,EAAE,uBAAa,CAAC,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE;KACxE,CAAC;IAEF,MAAM,eAAe,GAAG,wCAAwC,CAAC,IAAI,CAAC,CAAC;IAEvE,OAAO,IAAI,gCAAsB,CAAC;QAChC,SAAS,EAAE,iCAAqB;QAChC,IAAI;QACJ,IAAI,EAAE,eAAe;KACtB,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,wCAAwC,CACtD,IAAsC;IAEtC,MAAM,eAAe,GAAG,IAAI,CAAC;IAC7B,MAAM,aAAa,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,IAAI,EAAE,OAAO,IAAI,EAAE,CAAC;IACpC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IAC7C,IAAI,MAAM,GAAG,CAAC,CAAC;IAGf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;IACtC,CAAC;IAGD,IAAI,MAAM,GAAG,CAAC,GAAG,eAAe,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CACb,wCAAwC,eAAe,SAAS,CACjE,CAAC;IACJ,CAAC;IACD,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAG9C,IAAI,MAAM,GAAG,CAAC,GAAG,eAAe,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CACb,wCAAwC,eAAe,SAAS,CACjE,CAAC;IACJ,CAAC;IACD,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7C,MAAM,IAAI,CAAC,CAAC;IAGZ,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,MAAM,GAAG,EAAE,GAAG,eAAe,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CACb,wCAAwC,eAAe,SAAS,CACjE,CAAC;QACJ,CAAC;QAED,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;QAEhC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC,CAAC;QAC7C,MAAM,IAAI,EAAE,CAAC;IACf,CAAC;IAED,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AACpC,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { PublicKey, TransactionInstruction } from "@solana/web3.js";
2
+ export interface DelegatePermissionInstructionArgs {
3
+ validator?: PublicKey | null;
4
+ }
5
+ export declare function createDelegatePermissionInstruction(accounts: {
6
+ payer: PublicKey;
7
+ authority: [PublicKey, boolean];
8
+ permissionedAccount: [PublicKey, boolean];
9
+ ownerProgram?: PublicKey;
10
+ validator?: PublicKey | null;
11
+ }, args?: DelegatePermissionInstructionArgs): TransactionInstruction;
12
+ export declare function serializeDelegatePermissionInstructionData(): Buffer;
13
+ //# sourceMappingURL=delegatePermission.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delegatePermission.d.ts","sourceRoot":"","sources":["../../../src/instructions/permission-program/delegatePermission.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,sBAAsB,EAGvB,MAAM,iBAAiB,CAAC;AAYzB,MAAM,WAAW,iCAAiC;IAChD,SAAS,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;CAC9B;AAmBD,wBAAgB,mCAAmC,CACjD,QAAQ,EAAE;IACR,KAAK,EAAE,SAAS,CAAC;IACjB,SAAS,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAChC,mBAAmB,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC1C,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,SAAS,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;CAC9B,EACD,IAAI,CAAC,EAAE,iCAAiC,GACvC,sBAAsB,CAoDxB;AAED,wBAAgB,0CAA0C,IAAI,MAAM,CAUnE"}
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createDelegatePermissionInstruction = createDelegatePermissionInstruction;
4
+ exports.serializeDelegatePermissionInstructionData = serializeDelegatePermissionInstructionData;
5
+ const web3_js_1 = require("@solana/web3.js");
6
+ const constants_1 = require("../../constants");
7
+ const pda_1 = require("../../pda");
8
+ function createDelegatePermissionInstruction(accounts, args) {
9
+ const ownerProgram = accounts.ownerProgram ?? constants_1.PERMISSION_PROGRAM_ID;
10
+ const permissionPda = (0, pda_1.permissionPdaFromAccount)(accounts.permissionedAccount[0]);
11
+ const delegateBuffer = (0, pda_1.delegateBufferPdaFromDelegatedAccountAndOwnerProgram)(permissionPda, ownerProgram);
12
+ const delegationRecord = (0, pda_1.delegationRecordPdaFromDelegatedAccount)(permissionPda);
13
+ const delegationMetadata = (0, pda_1.delegationMetadataPdaFromDelegatedAccount)(permissionPda);
14
+ const validator = args?.validator ?? accounts.validator;
15
+ const keys = [
16
+ { pubkey: accounts.payer, isWritable: true, isSigner: true },
17
+ {
18
+ pubkey: accounts.authority[0],
19
+ isWritable: accounts.authority[1],
20
+ isSigner: accounts.authority[1],
21
+ },
22
+ {
23
+ pubkey: accounts.permissionedAccount[0],
24
+ isWritable: accounts.permissionedAccount[1],
25
+ isSigner: accounts.permissionedAccount[1],
26
+ },
27
+ { pubkey: permissionPda, isWritable: true, isSigner: false },
28
+ { pubkey: web3_js_1.SystemProgram.programId, isWritable: false, isSigner: false },
29
+ { pubkey: ownerProgram, isWritable: false, isSigner: false },
30
+ { pubkey: delegateBuffer, isWritable: true, isSigner: false },
31
+ { pubkey: delegationRecord, isWritable: true, isSigner: false },
32
+ { pubkey: delegationMetadata, isWritable: true, isSigner: false },
33
+ { pubkey: constants_1.DELEGATION_PROGRAM_ID, isWritable: false, isSigner: false },
34
+ ];
35
+ if (validator) {
36
+ keys.push({
37
+ pubkey: validator,
38
+ isWritable: false,
39
+ isSigner: false,
40
+ });
41
+ }
42
+ const instructionData = serializeDelegatePermissionInstructionData();
43
+ return new web3_js_1.TransactionInstruction({
44
+ programId: constants_1.PERMISSION_PROGRAM_ID,
45
+ keys,
46
+ data: instructionData,
47
+ });
48
+ }
49
+ function serializeDelegatePermissionInstructionData() {
50
+ const discriminator = [3, 0, 0, 0, 0, 0, 0, 0];
51
+ const buffer = Buffer.alloc(8);
52
+ for (let i = 0; i < 8; i++) {
53
+ buffer[i] = discriminator[i];
54
+ }
55
+ return buffer;
56
+ }
57
+ //# sourceMappingURL=delegatePermission.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delegatePermission.js","sourceRoot":"","sources":["../../../src/instructions/permission-program/delegatePermission.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,8 @@
1
- export { createCreateGroupInstruction, type CreateGroupInstructionArgs, } from "./createGroup";
2
1
  export { createCreatePermissionInstruction, type CreatePermissionInstructionArgs, } from "./createPermission";
3
2
  export { createUpdatePermissionInstruction, type UpdatePermissionInstructionArgs, } from "./updatePermission";
3
+ export { createClosePermissionInstruction } from "./closePermission";
4
+ export { createDelegatePermissionInstruction, type DelegatePermissionInstructionArgs, } from "./delegatePermission";
5
+ export { createCommitPermissionInstruction } from "./commitPermission";
6
+ export { createCommitAndUndelegatePermissionInstruction } from "./commitAndUndelegatePermission";
7
+ export { createUndelegatePermissionInstruction, type UndelegatePermissionInstructionArgs, } from "./undelegatePermission";
4
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/instructions/permission-program/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,4BAA4B,EAC5B,KAAK,0BAA0B,GAChC,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,iCAAiC,EACjC,KAAK,+BAA+B,GACrC,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,iCAAiC,EACjC,KAAK,+BAA+B,GACrC,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/instructions/permission-program/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iCAAiC,EACjC,KAAK,+BAA+B,GACrC,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,iCAAiC,EACjC,KAAK,+BAA+B,GACrC,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,gCAAgC,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EACL,mCAAmC,EACnC,KAAK,iCAAiC,GACvC,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,iCAAiC,EAAE,MAAM,oBAAoB,CAAC;AACvE,OAAO,EAAE,8CAA8C,EAAE,MAAM,iCAAiC,CAAC;AACjG,OAAO,EACL,qCAAqC,EACrC,KAAK,mCAAmC,GACzC,MAAM,wBAAwB,CAAC"}