@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
|
@@ -1,10 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
var createGroup_1 = require("./createGroup");
|
|
5
|
-
Object.defineProperty(exports, "createCreateGroupInstruction", { enumerable: true, get: function () { return createGroup_1.createCreateGroupInstruction; } });
|
|
3
|
+
exports.createUndelegatePermissionInstruction = exports.createCommitAndUndelegatePermissionInstruction = exports.createCommitPermissionInstruction = exports.createDelegatePermissionInstruction = exports.createClosePermissionInstruction = exports.createUpdatePermissionInstruction = exports.createCreatePermissionInstruction = void 0;
|
|
6
4
|
var createPermission_1 = require("./createPermission");
|
|
7
5
|
Object.defineProperty(exports, "createCreatePermissionInstruction", { enumerable: true, get: function () { return createPermission_1.createCreatePermissionInstruction; } });
|
|
8
6
|
var updatePermission_1 = require("./updatePermission");
|
|
9
7
|
Object.defineProperty(exports, "createUpdatePermissionInstruction", { enumerable: true, get: function () { return updatePermission_1.createUpdatePermissionInstruction; } });
|
|
8
|
+
var closePermission_1 = require("./closePermission");
|
|
9
|
+
Object.defineProperty(exports, "createClosePermissionInstruction", { enumerable: true, get: function () { return closePermission_1.createClosePermissionInstruction; } });
|
|
10
|
+
var delegatePermission_1 = require("./delegatePermission");
|
|
11
|
+
Object.defineProperty(exports, "createDelegatePermissionInstruction", { enumerable: true, get: function () { return delegatePermission_1.createDelegatePermissionInstruction; } });
|
|
12
|
+
var commitPermission_1 = require("./commitPermission");
|
|
13
|
+
Object.defineProperty(exports, "createCommitPermissionInstruction", { enumerable: true, get: function () { return commitPermission_1.createCommitPermissionInstruction; } });
|
|
14
|
+
var commitAndUndelegatePermission_1 = require("./commitAndUndelegatePermission");
|
|
15
|
+
Object.defineProperty(exports, "createCommitAndUndelegatePermissionInstruction", { enumerable: true, get: function () { return commitAndUndelegatePermission_1.createCommitAndUndelegatePermissionInstruction; } });
|
|
16
|
+
var undelegatePermission_1 = require("./undelegatePermission");
|
|
17
|
+
Object.defineProperty(exports, "createUndelegatePermissionInstruction", { enumerable: true, get: function () { return undelegatePermission_1.createUndelegatePermissionInstruction; } });
|
|
10
18
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/instructions/permission-program/index.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/instructions/permission-program/index.ts"],"names":[],"mappings":";;;AAAA,uDAG4B;AAF1B,qIAAA,iCAAiC,OAAA;AAGnC,uDAG4B;AAF1B,qIAAA,iCAAiC,OAAA;AAGnC,qDAAqE;AAA5D,mIAAA,gCAAgC,OAAA;AACzC,2DAG8B;AAF5B,yIAAA,mCAAmC,OAAA;AAGrC,uDAAuE;AAA9D,qIAAA,iCAAiC,OAAA;AAC1C,iFAAiG;AAAxF,+JAAA,8CAA8C,OAAA;AACvD,+DAGgC;AAF9B,6IAAA,qCAAqC,OAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { PublicKey, TransactionInstruction } from "@solana/web3.js";
|
|
2
|
+
export interface UndelegatePermissionInstructionArgs {
|
|
3
|
+
pdaSeeds?: Uint8Array[];
|
|
4
|
+
}
|
|
5
|
+
export declare function createUndelegatePermissionInstruction(accounts: {
|
|
6
|
+
delegatedPermission: PublicKey;
|
|
7
|
+
delegationBuffer: PublicKey;
|
|
8
|
+
validator: PublicKey;
|
|
9
|
+
}, args?: UndelegatePermissionInstructionArgs): TransactionInstruction;
|
|
10
|
+
export declare function serializeUndelegatePermissionInstructionData(args?: UndelegatePermissionInstructionArgs): Buffer;
|
|
11
|
+
//# sourceMappingURL=undelegatePermission.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"undelegatePermission.d.ts","sourceRoot":"","sources":["../../../src/instructions/permission-program/undelegatePermission.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,sBAAsB,EAGvB,MAAM,iBAAiB,CAAC;AAMzB,MAAM,WAAW,mCAAmC;IAClD,QAAQ,CAAC,EAAE,UAAU,EAAE,CAAC;CACzB;AAMD,wBAAgB,qCAAqC,CACnD,QAAQ,EAAE;IACR,mBAAmB,EAAE,SAAS,CAAC;IAC/B,gBAAgB,EAAE,SAAS,CAAC;IAC5B,SAAS,EAAE,SAAS,CAAC;CACtB,EACD,IAAI,CAAC,EAAE,mCAAmC,GACzC,sBAAsB,CAexB;AAED,wBAAgB,4CAA4C,CAC1D,IAAI,CAAC,EAAE,mCAAmC,GACzC,MAAM,CA0CR"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createUndelegatePermissionInstruction = createUndelegatePermissionInstruction;
|
|
4
|
+
exports.serializeUndelegatePermissionInstructionData = serializeUndelegatePermissionInstructionData;
|
|
5
|
+
const web3_js_1 = require("@solana/web3.js");
|
|
6
|
+
const constants_1 = require("../../constants");
|
|
7
|
+
function createUndelegatePermissionInstruction(accounts, args) {
|
|
8
|
+
const keys = [
|
|
9
|
+
{ pubkey: accounts.delegatedPermission, isWritable: true, isSigner: false },
|
|
10
|
+
{ pubkey: accounts.delegationBuffer, isWritable: true, isSigner: false },
|
|
11
|
+
{ pubkey: accounts.validator, isWritable: false, isSigner: true },
|
|
12
|
+
{ pubkey: web3_js_1.SystemProgram.programId, isWritable: false, isSigner: false },
|
|
13
|
+
];
|
|
14
|
+
const instructionData = serializeUndelegatePermissionInstructionData(args);
|
|
15
|
+
return new web3_js_1.TransactionInstruction({
|
|
16
|
+
programId: constants_1.PERMISSION_PROGRAM_ID,
|
|
17
|
+
keys,
|
|
18
|
+
data: instructionData,
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
function serializeUndelegatePermissionInstructionData(args) {
|
|
22
|
+
const MAX_SEED_LENGTH = 32;
|
|
23
|
+
const discriminator = [0xa4, 0xa7, 0x5c, 0xcc, 0x04, 0x8a, 0xa9, 0xa6];
|
|
24
|
+
const pdaSeeds = args?.pdaSeeds ?? [];
|
|
25
|
+
for (let i = 0; i < pdaSeeds.length; i++) {
|
|
26
|
+
if (pdaSeeds[i].length > MAX_SEED_LENGTH) {
|
|
27
|
+
throw new Error(`PDA seed ${i} exceeds maximum length of ${MAX_SEED_LENGTH} bytes (got ${pdaSeeds[i].length})`);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
let requiredSize = 8 + 4;
|
|
31
|
+
for (const seed of pdaSeeds) {
|
|
32
|
+
requiredSize += 4 + seed.length;
|
|
33
|
+
}
|
|
34
|
+
const buffer = Buffer.alloc(requiredSize);
|
|
35
|
+
let offset = 0;
|
|
36
|
+
for (let i = 0; i < 8; i++) {
|
|
37
|
+
buffer[offset++] = discriminator[i];
|
|
38
|
+
}
|
|
39
|
+
buffer.writeUInt32LE(pdaSeeds.length, offset);
|
|
40
|
+
offset += 4;
|
|
41
|
+
for (const seed of pdaSeeds) {
|
|
42
|
+
buffer.writeUInt32LE(seed.length, offset);
|
|
43
|
+
offset += 4;
|
|
44
|
+
buffer.set(seed, offset);
|
|
45
|
+
offset += seed.length;
|
|
46
|
+
}
|
|
47
|
+
return buffer;
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=undelegatePermission.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"undelegatePermission.js","sourceRoot":"","sources":["../../../src/instructions/permission-program/undelegatePermission.ts"],"names":[],"mappings":";;AAmBA,sFAsBC;AAED,oGA4CC;AAvFD,6CAKyB;AACzB,+CAAwD;AAaxD,SAAgB,qCAAqC,CACnD,QAIC,EACD,IAA0C;IAE1C,MAAM,IAAI,GAAkB;QAC1B,EAAE,MAAM,EAAE,QAAQ,CAAC,mBAAmB,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE;QAC3E,EAAE,MAAM,EAAE,QAAQ,CAAC,gBAAgB,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE;QACxE,EAAE,MAAM,EAAE,QAAQ,CAAC,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE;QACjE,EAAE,MAAM,EAAE,uBAAa,CAAC,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE;KACxE,CAAC;IAEF,MAAM,eAAe,GAAG,4CAA4C,CAAC,IAAI,CAAC,CAAC;IAE3E,OAAO,IAAI,gCAAsB,CAAC;QAChC,SAAS,EAAE,iCAAqB;QAChC,IAAI;QACJ,IAAI,EAAE,eAAe;KACtB,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,4CAA4C,CAC1D,IAA0C;IAE1C,MAAM,eAAe,GAAG,EAAE,CAAC;IAE3B,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACvE,MAAM,QAAQ,GAAG,IAAI,EAAE,QAAQ,IAAI,EAAE,CAAC;IAGtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,eAAe,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CACb,YAAY,CAAC,8BAA8B,eAAe,eAAe,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAC/F,CAAC;QACJ,CAAC;IACH,CAAC;IAID,IAAI,YAAY,GAAG,CAAC,GAAG,CAAC,CAAC;IACzB,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,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,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,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9C,MAAM,IAAI,CAAC,CAAC;IAEZ,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC1C,MAAM,IAAI,CAAC,CAAC;QACZ,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACzB,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC;IACxB,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { PublicKey, TransactionInstruction } from "@solana/web3.js";
|
|
2
|
+
import type { Member } from "../../access-control/types";
|
|
2
3
|
export interface UpdatePermissionInstructionArgs {
|
|
4
|
+
members?: Member[];
|
|
3
5
|
}
|
|
4
6
|
export declare function createUpdatePermissionInstruction(accounts: {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
group: PublicKey;
|
|
7
|
+
authority: [PublicKey, boolean];
|
|
8
|
+
permissionedAccount: [PublicKey, boolean];
|
|
8
9
|
}, args?: UpdatePermissionInstructionArgs): TransactionInstruction;
|
|
9
10
|
export declare function serializeUpdatePermissionInstructionData(args?: UpdatePermissionInstructionArgs): Buffer;
|
|
10
11
|
//# sourceMappingURL=updatePermission.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updatePermission.d.ts","sourceRoot":"","sources":["../../../src/instructions/permission-program/updatePermission.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,sBAAsB,EAEvB,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"updatePermission.d.ts","sourceRoot":"","sources":["../../../src/instructions/permission-program/updatePermission.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,sBAAsB,EAEvB,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;AAcD,wBAAgB,iCAAiC,CAC/C,QAAQ,EAAE;IACR,SAAS,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAChC,mBAAmB,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;CAC3C,EACD,IAAI,CAAC,EAAE,+BAA+B,GACrC,sBAAsB,CAwBxB;AAED,wBAAgB,wCAAwC,CACtD,IAAI,CAAC,EAAE,+BAA+B,GACrC,MAAM,CAoCR"}
|
|
@@ -4,11 +4,21 @@ exports.createUpdatePermissionInstruction = createUpdatePermissionInstruction;
|
|
|
4
4
|
exports.serializeUpdatePermissionInstructionData = serializeUpdatePermissionInstructionData;
|
|
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 createUpdatePermissionInstruction(accounts, args) {
|
|
9
|
+
const permission = (0, pda_1.permissionPdaFromAccount)(accounts.permissionedAccount[0]);
|
|
8
10
|
const keys = [
|
|
9
|
-
{
|
|
10
|
-
|
|
11
|
-
|
|
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: accounts.permissionedAccount[1],
|
|
19
|
+
isSigner: accounts.permissionedAccount[1],
|
|
20
|
+
},
|
|
21
|
+
{ pubkey: permission, isWritable: true, isSigner: false },
|
|
12
22
|
];
|
|
13
23
|
const instructionData = serializeUpdatePermissionInstructionData(args);
|
|
14
24
|
return new web3_js_1.TransactionInstruction({
|
|
@@ -18,10 +28,27 @@ function createUpdatePermissionInstruction(accounts, args) {
|
|
|
18
28
|
});
|
|
19
29
|
}
|
|
20
30
|
function serializeUpdatePermissionInstructionData(args) {
|
|
21
|
-
const
|
|
22
|
-
const
|
|
31
|
+
const MAX_BUFFER_SIZE = 2048;
|
|
32
|
+
const discriminator = [1, 0, 0, 0, 0, 0, 0, 0];
|
|
33
|
+
const members = args?.members ?? [];
|
|
34
|
+
const buffer = Buffer.alloc(MAX_BUFFER_SIZE);
|
|
23
35
|
let offset = 0;
|
|
24
|
-
|
|
36
|
+
for (let i = 0; i < 8; i++) {
|
|
37
|
+
buffer[offset++] = discriminator[i];
|
|
38
|
+
}
|
|
39
|
+
if (offset + 4 > MAX_BUFFER_SIZE) {
|
|
40
|
+
throw new Error(`Serialized data exceeds buffer size (${MAX_BUFFER_SIZE} bytes)`);
|
|
41
|
+
}
|
|
42
|
+
buffer.writeUInt32LE(members.length, offset);
|
|
43
|
+
offset += 4;
|
|
44
|
+
for (const member of members) {
|
|
45
|
+
if (offset + 33 > MAX_BUFFER_SIZE) {
|
|
46
|
+
throw new Error(`Serialized data exceeds buffer size (${MAX_BUFFER_SIZE} bytes)`);
|
|
47
|
+
}
|
|
48
|
+
buffer[offset++] = member.flags;
|
|
49
|
+
buffer.set(member.pubkey.toBuffer(), offset);
|
|
50
|
+
offset += 32;
|
|
51
|
+
}
|
|
25
52
|
return buffer.subarray(0, offset);
|
|
26
53
|
}
|
|
27
54
|
//# sourceMappingURL=updatePermission.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updatePermission.js","sourceRoot":"","sources":["../../../src/instructions/permission-program/updatePermission.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"updatePermission.js","sourceRoot":"","sources":["../../../src/instructions/permission-program/updatePermission.ts"],"names":[],"mappings":";;AA4BA,8EA8BC;AAED,4FAsCC;AAlGD,6CAIyB;AACzB,+CAAwD;AACxD,mCAAqD;AAsBrD,SAAgB,iCAAiC,CAC/C,QAGC,EACD,IAAsC;IAEtC,MAAM,UAAU,GAAG,IAAA,8BAAwB,EAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC;IAE7E,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,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,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,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"}
|
package/lib/pda.d.ts
CHANGED
|
@@ -8,6 +8,6 @@ export declare function feesVaultPda(): PublicKey;
|
|
|
8
8
|
export declare function validatorFeesVaultPdaFromValidator(validator: PublicKey): PublicKey;
|
|
9
9
|
export declare function commitStatePdaFromDelegatedAccount(delegatedAccount: PublicKey): PublicKey;
|
|
10
10
|
export declare function commitRecordPdaFromDelegatedAccount(delegatedAccount: PublicKey): PublicKey;
|
|
11
|
+
export declare const PERMISSION_SEED: Buffer;
|
|
11
12
|
export declare function permissionPdaFromAccount(account: PublicKey): PublicKey;
|
|
12
|
-
export declare function groupPdaFromId(id: PublicKey): PublicKey;
|
|
13
13
|
//# sourceMappingURL=pda.d.ts.map
|
package/lib/pda.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pda.d.ts","sourceRoot":"","sources":["../src/pda.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAa5C,wBAAgB,uCAAuC,CACrD,gBAAgB,EAAE,SAAS,aAM5B;AAOD,wBAAgB,yCAAyC,CACvD,gBAAgB,EAAE,SAAS,aAM5B;AAQD,wBAAgB,oDAAoD,CAClE,gBAAgB,EAAE,SAAS,EAC3B,cAAc,EAAE,SAAS,aAM1B;AAQD,wBAAgB,4BAA4B,CAC1C,eAAe,EAAE,SAAS,EAC1B,KAAK,GAAE,MAAY,aASpB;AAOD,wBAAgB,uCAAuC,CACrD,gBAAgB,EAAE,SAAS,aAM5B;AAMD,wBAAgB,YAAY,cAK3B;AAOD,wBAAgB,kCAAkC,CAAC,SAAS,EAAE,SAAS,aAKtE;AAOD,wBAAgB,kCAAkC,CAChD,gBAAgB,EAAE,SAAS,aAM5B;AAOD,wBAAgB,mCAAmC,CACjD,gBAAgB,EAAE,SAAS,aAM5B;
|
|
1
|
+
{"version":3,"file":"pda.d.ts","sourceRoot":"","sources":["../src/pda.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAa5C,wBAAgB,uCAAuC,CACrD,gBAAgB,EAAE,SAAS,aAM5B;AAOD,wBAAgB,yCAAyC,CACvD,gBAAgB,EAAE,SAAS,aAM5B;AAQD,wBAAgB,oDAAoD,CAClE,gBAAgB,EAAE,SAAS,EAC3B,cAAc,EAAE,SAAS,aAM1B;AAQD,wBAAgB,4BAA4B,CAC1C,eAAe,EAAE,SAAS,EAC1B,KAAK,GAAE,MAAY,aASpB;AAOD,wBAAgB,uCAAuC,CACrD,gBAAgB,EAAE,SAAS,aAM5B;AAMD,wBAAgB,YAAY,cAK3B;AAOD,wBAAgB,kCAAkC,CAAC,SAAS,EAAE,SAAS,aAKtE;AAOD,wBAAgB,kCAAkC,CAChD,gBAAgB,EAAE,SAAS,aAM5B;AAOD,wBAAgB,mCAAmC,CACjD,gBAAgB,EAAE,SAAS,aAM5B;AAMD,eAAO,MAAM,eAAe,QAA6B,CAAC;AAO1D,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,SAAS,aAK1D"}
|
package/lib/pda.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PERMISSION_SEED = void 0;
|
|
3
4
|
exports.delegationRecordPdaFromDelegatedAccount = delegationRecordPdaFromDelegatedAccount;
|
|
4
5
|
exports.delegationMetadataPdaFromDelegatedAccount = delegationMetadataPdaFromDelegatedAccount;
|
|
5
6
|
exports.delegateBufferPdaFromDelegatedAccountAndOwnerProgram = delegateBufferPdaFromDelegatedAccountAndOwnerProgram;
|
|
@@ -10,7 +11,6 @@ exports.validatorFeesVaultPdaFromValidator = validatorFeesVaultPdaFromValidator;
|
|
|
10
11
|
exports.commitStatePdaFromDelegatedAccount = commitStatePdaFromDelegatedAccount;
|
|
11
12
|
exports.commitRecordPdaFromDelegatedAccount = commitRecordPdaFromDelegatedAccount;
|
|
12
13
|
exports.permissionPdaFromAccount = permissionPdaFromAccount;
|
|
13
|
-
exports.groupPdaFromId = groupPdaFromId;
|
|
14
14
|
const web3_js_1 = require("@solana/web3.js");
|
|
15
15
|
const constants_js_1 = require("./constants.js");
|
|
16
16
|
function delegationRecordPdaFromDelegatedAccount(delegatedAccount) {
|
|
@@ -43,12 +43,8 @@ function commitStatePdaFromDelegatedAccount(delegatedAccount) {
|
|
|
43
43
|
function commitRecordPdaFromDelegatedAccount(delegatedAccount) {
|
|
44
44
|
return web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("commit-state-record"), delegatedAccount.toBytes()], constants_js_1.DELEGATION_PROGRAM_ID)[0];
|
|
45
45
|
}
|
|
46
|
-
|
|
47
|
-
const GROUP_SEED = Buffer.from("group:");
|
|
46
|
+
exports.PERMISSION_SEED = Buffer.from("permission:");
|
|
48
47
|
function permissionPdaFromAccount(account) {
|
|
49
|
-
return web3_js_1.PublicKey.findProgramAddressSync([PERMISSION_SEED, account.toBuffer()], constants_js_1.PERMISSION_PROGRAM_ID)[0];
|
|
50
|
-
}
|
|
51
|
-
function groupPdaFromId(id) {
|
|
52
|
-
return web3_js_1.PublicKey.findProgramAddressSync([GROUP_SEED, id.toBuffer()], constants_js_1.PERMISSION_PROGRAM_ID)[0];
|
|
48
|
+
return web3_js_1.PublicKey.findProgramAddressSync([exports.PERMISSION_SEED, account.toBuffer()], constants_js_1.PERMISSION_PROGRAM_ID)[0];
|
|
53
49
|
}
|
|
54
50
|
//# sourceMappingURL=pda.js.map
|
package/lib/pda.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pda.js","sourceRoot":"","sources":["../src/pda.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"pda.js","sourceRoot":"","sources":["../src/pda.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { PublicKey, TransactionInstruction } from "@solana/web3.js";
|
|
2
|
-
export interface CreateGroupInstructionArgs {
|
|
3
|
-
id: PublicKey;
|
|
4
|
-
members: PublicKey[];
|
|
5
|
-
}
|
|
6
|
-
export declare function createCreateGroupInstruction(accounts: {
|
|
7
|
-
group: PublicKey;
|
|
8
|
-
payer: PublicKey;
|
|
9
|
-
}, args: CreateGroupInstructionArgs): TransactionInstruction;
|
|
10
|
-
export declare function serializeCreateGroupInstructionData(args: CreateGroupInstructionArgs): Buffer;
|
|
11
|
-
//# sourceMappingURL=createGroup.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"createGroup.d.ts","sourceRoot":"","sources":["../../../src/instructions/permission-program/createGroup.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,sBAAsB,EAGvB,MAAM,iBAAiB,CAAC;AAMzB,MAAM,WAAW,0BAA0B;IACzC,EAAE,EAAE,SAAS,CAAC;IACd,OAAO,EAAE,SAAS,EAAE,CAAC;CACtB;AAMD,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE;IACR,KAAK,EAAE,SAAS,CAAC;IACjB,KAAK,EAAE,SAAS,CAAC;CAClB,EACD,IAAI,EAAE,0BAA0B,GAC/B,sBAAsB,CAcxB;AAED,wBAAgB,mCAAmC,CACjD,IAAI,EAAE,0BAA0B,GAC/B,MAAM,CAuBR"}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createCreateGroupInstruction = createCreateGroupInstruction;
|
|
4
|
-
exports.serializeCreateGroupInstructionData = serializeCreateGroupInstructionData;
|
|
5
|
-
const web3_js_1 = require("@solana/web3.js");
|
|
6
|
-
const constants_1 = require("../../constants");
|
|
7
|
-
function createCreateGroupInstruction(accounts, args) {
|
|
8
|
-
const keys = [
|
|
9
|
-
{ pubkey: accounts.group, isWritable: true, isSigner: false },
|
|
10
|
-
{ pubkey: accounts.payer, isWritable: true, isSigner: true },
|
|
11
|
-
{ pubkey: web3_js_1.SystemProgram.programId, isWritable: false, isSigner: false },
|
|
12
|
-
];
|
|
13
|
-
const instructionData = serializeCreateGroupInstructionData(args);
|
|
14
|
-
return new web3_js_1.TransactionInstruction({
|
|
15
|
-
programId: constants_1.PERMISSION_PROGRAM_ID,
|
|
16
|
-
keys,
|
|
17
|
-
data: instructionData,
|
|
18
|
-
});
|
|
19
|
-
}
|
|
20
|
-
function serializeCreateGroupInstructionData(args) {
|
|
21
|
-
const discriminator = 0;
|
|
22
|
-
const buffer = Buffer.alloc(10000);
|
|
23
|
-
let offset = 0;
|
|
24
|
-
buffer[offset++] = discriminator;
|
|
25
|
-
buffer.set(args.id.toBuffer(), offset);
|
|
26
|
-
offset += 32;
|
|
27
|
-
buffer.writeUInt32LE(args.members.length, offset);
|
|
28
|
-
offset += 4;
|
|
29
|
-
for (const member of args.members) {
|
|
30
|
-
buffer.set(member.toBuffer(), offset);
|
|
31
|
-
offset += 32;
|
|
32
|
-
}
|
|
33
|
-
return buffer.subarray(0, offset);
|
|
34
|
-
}
|
|
35
|
-
//# sourceMappingURL=createGroup.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"createGroup.js","sourceRoot":"","sources":["../../../src/instructions/permission-program/createGroup.ts"],"names":[],"mappings":";;AAoBA,oEAoBC;AAED,kFAyBC;AAnED,6CAKyB;AACzB,+CAAwD;AAcxD,SAAgB,4BAA4B,CAC1C,QAGC,EACD,IAAgC;IAEhC,MAAM,IAAI,GAAkB;QAC1B,EAAE,MAAM,EAAE,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE;QAC7D,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,mCAAmC,CAAC,IAAI,CAAC,CAAC;IAElE,OAAO,IAAI,gCAAsB,CAAC;QAChC,SAAS,EAAE,iCAAqB;QAChC,IAAI;QACJ,IAAI,EAAE,eAAe;KACtB,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,mCAAmC,CACjD,IAAgC;IAEhC,MAAM,aAAa,GAAG,CAAC,CAAC;IACxB,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACnC,IAAI,MAAM,GAAG,CAAC,CAAC;IAGf,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,aAAa,CAAC;IAGjC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC,CAAC;IACvC,MAAM,IAAI,EAAE,CAAC;IAGb,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClD,MAAM,IAAI,CAAC,CAAC;IAGZ,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QAClC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC,CAAC;QACtC,MAAM,IAAI,EAAE,CAAC;IACf,CAAC;IAED,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AACpC,CAAC"}
|