@magicblock-labs/ephemeral-rollups-sdk 0.7.2 → 0.8.1
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.
- package/lib/__test__/permission-program.test.js +182 -202
- package/lib/__test__/permission-program.test.js.map +1 -1
- package/lib/access-control/index.d.ts +1 -0
- package/lib/access-control/index.d.ts.map +1 -1
- package/lib/access-control/index.js +1 -0
- package/lib/access-control/index.js.map +1 -1
- package/lib/access-control/types/index.d.ts +4 -0
- package/lib/access-control/types/index.d.ts.map +1 -0
- package/lib/access-control/types/index.js +20 -0
- package/lib/access-control/types/index.js.map +1 -0
- package/lib/access-control/types/member.d.ts +19 -0
- package/lib/access-control/types/member.d.ts.map +1 -0
- package/lib/access-control/types/member.js +47 -0
- package/lib/access-control/types/member.js.map +1 -0
- package/lib/access-control/types/membersArgs.d.ts +10 -0
- package/lib/access-control/types/membersArgs.d.ts.map +1 -0
- package/lib/access-control/types/membersArgs.js +62 -0
- package/lib/access-control/types/membersArgs.js.map +1 -0
- package/lib/access-control/types/undelegateArgs.d.ts +7 -0
- package/lib/access-control/types/undelegateArgs.d.ts.map +1 -0
- package/lib/access-control/types/undelegateArgs.js +47 -0
- package/lib/access-control/types/undelegateArgs.js.map +1 -0
- package/lib/constants.js +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/instructions/permission-program/closePermission.d.ts +8 -0
- package/lib/instructions/permission-program/closePermission.d.ts.map +1 -0
- package/lib/instructions/permission-program/closePermission.js +39 -0
- package/lib/instructions/permission-program/closePermission.js.map +1 -0
- package/lib/instructions/permission-program/commitAndUndelegatePermission.d.ts +7 -0
- package/lib/instructions/permission-program/commitAndUndelegatePermission.d.ts.map +1 -0
- package/lib/instructions/permission-program/commitAndUndelegatePermission.js +40 -0
- package/lib/instructions/permission-program/commitAndUndelegatePermission.js.map +1 -0
- package/lib/instructions/permission-program/commitPermission.d.ts +7 -0
- package/lib/instructions/permission-program/commitPermission.d.ts.map +1 -0
- package/lib/instructions/permission-program/commitPermission.js +40 -0
- package/lib/instructions/permission-program/commitPermission.js.map +1 -0
- package/lib/instructions/permission-program/createPermission.d.ts +3 -3
- package/lib/instructions/permission-program/createPermission.d.ts.map +1 -1
- package/lib/instructions/permission-program/createPermission.js +28 -6
- package/lib/instructions/permission-program/createPermission.js.map +1 -1
- package/lib/instructions/permission-program/delegatePermission.d.ts +13 -0
- package/lib/instructions/permission-program/delegatePermission.d.ts.map +1 -0
- package/lib/instructions/permission-program/delegatePermission.js +57 -0
- package/lib/instructions/permission-program/delegatePermission.js.map +1 -0
- package/lib/instructions/permission-program/index.d.ts +5 -1
- package/lib/instructions/permission-program/index.d.ts.map +1 -1
- package/lib/instructions/permission-program/index.js +11 -3
- package/lib/instructions/permission-program/index.js.map +1 -1
- package/lib/instructions/permission-program/undelegatePermission.d.ts +11 -0
- package/lib/instructions/permission-program/undelegatePermission.d.ts.map +1 -0
- package/lib/instructions/permission-program/undelegatePermission.js +49 -0
- package/lib/instructions/permission-program/undelegatePermission.js.map +1 -0
- package/lib/instructions/permission-program/updatePermission.d.ts +4 -3
- package/lib/instructions/permission-program/updatePermission.d.ts.map +1 -1
- package/lib/instructions/permission-program/updatePermission.js +33 -6
- package/lib/instructions/permission-program/updatePermission.js.map +1 -1
- package/lib/pda.d.ts +1 -1
- package/lib/pda.d.ts.map +1 -1
- package/lib/pda.js +3 -7
- package/lib/pda.js.map +1 -1
- package/package.json +1 -1
- package/lib/instructions/permission-program/createGroup.d.ts +0 -11
- package/lib/instructions/permission-program/createGroup.d.ts.map +0 -1
- package/lib/instructions/permission-program/createGroup.js +0 -35
- 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("
|
|
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
|
package/lib/index.d.ts.map
CHANGED
|
@@ -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,
|
|
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,
|
|
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
|
-
|
|
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;
|
|
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.
|
|
10
|
-
{ pubkey:
|
|
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
|
|
24
|
-
const
|
|
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
|
-
|
|
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":";;
|
|
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":";;AAsCA,kFA6DC;AAED,gGAUC;AA/GD,6CAKyB;AACzB,+CAA+E;AAC/E,mCAKmB;AA0BnB,SAAgB,mCAAmC,CACjD,QAMC,EACD,IAAwC;IAExC,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY,IAAI,iCAAqB,CAAC;IACpE,MAAM,aAAa,GAAG,IAAA,8BAAwB,EAC5C,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAChC,CAAC;IACF,MAAM,cAAc,GAAG,IAAA,0DAAoD,EACzE,aAAa,EACb,YAAY,CACb,CAAC;IACF,MAAM,gBAAgB,GACpB,IAAA,6CAAuC,EAAC,aAAa,CAAC,CAAC;IACzD,MAAM,kBAAkB,GACtB,IAAA,+CAAyC,EAAC,aAAa,CAAC,CAAC;IAE3D,MAAM,SAAS,GAAG,IAAI,EAAE,SAAS,IAAI,QAAQ,CAAC,SAAS,CAAC;IAExD,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,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE;QAC5D,EAAE,MAAM,EAAE,uBAAa,CAAC,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE;QACvE,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE;QAC5D,EAAE,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE;QAC7D,EAAE,MAAM,EAAE,gBAAgB,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE;QAC/D,EAAE,MAAM,EAAE,kBAAkB,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE;QACjE,EAAE,MAAM,EAAE,iCAAqB,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE;KACtE,CAAC;IAEF,IAAI,SAAS,EAAE,CAAC;QACd,IAAI,CAAC,IAAI,CAAC;YACR,MAAM,EAAE,SAAS;YACjB,UAAU,EAAE,KAAK;YACjB,QAAQ,EAAE,KAAK;SAChB,CAAC,CAAC;IACL,CAAC;IAED,MAAM,eAAe,GAAG,0CAA0C,EAAE,CAAC;IAErE,OAAO,IAAI,gCAAsB,CAAC;QAChC,SAAS,EAAE,iCAAqB;QAChC,IAAI;QACJ,IAAI,EAAE,eAAe;KACtB,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,0CAA0C;IACxD,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,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,
|
|
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"}
|