@magicblock-labs/ephemeral-rollups-sdk 0.7.1 → 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.
- 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/permission.js +1 -1
- package/lib/access-control/permission.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/lib/spl/eata.d.ts.map +1 -1
- package/lib/spl/eata.js +31 -8
- package/lib/spl/eata.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<ArrayBuffer>;
|
|
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,qBAA6B,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/lib/spl/eata.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eata.d.ts","sourceRoot":"","sources":["../../src/spl/eata.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,sBAAsB,EAEvB,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"eata.d.ts","sourceRoot":"","sources":["../../src/spl/eata.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,sBAAsB,EAEvB,MAAM,iBAAiB,CAAC;AA6EzB,eAAO,MAAM,eAAe,WAE3B,CAAC;AAMF,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,SAAS,GACd,CAAC,SAAS,EAAE,MAAM,CAAC,CAKrB;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,SAAS,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAEhE;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,GAAG,SAAS,CAE3E;AAOD,wBAAgB,kBAAkB,CAChC,YAAY,EAAE,SAAS,EACvB,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,MAAM,GACX,sBAAsB,CAYxB;AAGD,wBAAgB,cAAc,CAC5B,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,SAAS,EACnB,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,SAAS,GACd,sBAAsB,CAOxB;AAGD,wBAAgB,WAAW,CACzB,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,MAAM,GACX,sBAAsB,CAWxB;AAGD,wBAAgB,iBAAiB,CAC/B,YAAY,EAAE,SAAS,EACvB,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,SAAS,EACf,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,SAAS,EACnB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,MAAM,GACb,sBAAsB,CAcxB;AAGD,wBAAgB,UAAU,CACxB,KAAK,EAAE,SAAS,EAChB,YAAY,EAAE,SAAS,EACvB,IAAI,EAAE,MAAM,EACZ,SAAS,CAAC,EAAE,SAAS,GACpB,sBAAsB,CAiCxB;AAID,wBAAgB,aAAa,CAC3B,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,SAAS,EACf,MAAM,EAAE,MAAM,GACb,sBAAsB,CAoBxB;AAGD,wBAAgB,YAAY,CAC1B,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,SAAS,GACd,sBAAsB,CAmCxB;AAMD,wBAAsB,WAAW,CAC/B,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,SAAS,EACf,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE;IACL,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,GACA,OAAO,CAAC,sBAAsB,EAAE,CAAC,CAoCnC"}
|
package/lib/spl/eata.js
CHANGED
|
@@ -13,9 +13,32 @@ exports.withdrawSplIx = withdrawSplIx;
|
|
|
13
13
|
exports.undelegateIx = undelegateIx;
|
|
14
14
|
exports.delegateSpl = delegateSpl;
|
|
15
15
|
const web3_js_1 = require("@solana/web3.js");
|
|
16
|
-
const spl_token_1 = require("@solana/spl-token");
|
|
17
16
|
const constants_js_1 = require("../constants.js");
|
|
18
17
|
const pda_js_1 = require("../pda.js");
|
|
18
|
+
const TOKEN_PROGRAM_ID = new web3_js_1.PublicKey("TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA");
|
|
19
|
+
const ASSOCIATED_TOKEN_PROGRAM_ID = new web3_js_1.PublicKey("ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL");
|
|
20
|
+
function getAssociatedTokenAddressSync(mint, owner, allowOwnerOffCurve = false, programId = TOKEN_PROGRAM_ID, associatedTokenProgramId = ASSOCIATED_TOKEN_PROGRAM_ID) {
|
|
21
|
+
if (!allowOwnerOffCurve && !web3_js_1.PublicKey.isOnCurve(owner)) {
|
|
22
|
+
throw new Error("Owner public key is off-curve");
|
|
23
|
+
}
|
|
24
|
+
const [ata] = web3_js_1.PublicKey.findProgramAddressSync([owner.toBuffer(), programId.toBuffer(), mint.toBuffer()], associatedTokenProgramId);
|
|
25
|
+
return ata;
|
|
26
|
+
}
|
|
27
|
+
function createAssociatedTokenAccountIdempotentInstruction(payer, associatedToken, owner, mint, programId = TOKEN_PROGRAM_ID, associatedTokenProgramId = ASSOCIATED_TOKEN_PROGRAM_ID) {
|
|
28
|
+
const data = Buffer.from([1]);
|
|
29
|
+
return new web3_js_1.TransactionInstruction({
|
|
30
|
+
programId: associatedTokenProgramId,
|
|
31
|
+
keys: [
|
|
32
|
+
{ pubkey: payer, isSigner: true, isWritable: true },
|
|
33
|
+
{ pubkey: associatedToken, isSigner: false, isWritable: true },
|
|
34
|
+
{ pubkey: owner, isSigner: false, isWritable: false },
|
|
35
|
+
{ pubkey: mint, isSigner: false, isWritable: false },
|
|
36
|
+
{ pubkey: web3_js_1.SystemProgram.programId, isSigner: false, isWritable: false },
|
|
37
|
+
{ pubkey: programId, isSigner: false, isWritable: false },
|
|
38
|
+
],
|
|
39
|
+
data,
|
|
40
|
+
});
|
|
41
|
+
}
|
|
19
42
|
exports.EATA_PROGRAM_ID = new web3_js_1.PublicKey("SPLxh1LVZzEkX99H6rqYizhytLWPZVV296zyYDPagv2");
|
|
20
43
|
function deriveEphemeralAta(owner, mint) {
|
|
21
44
|
return web3_js_1.PublicKey.findProgramAddressSync([owner.toBuffer(), mint.toBuffer()], exports.EATA_PROGRAM_ID);
|
|
@@ -24,7 +47,7 @@ function deriveVault(mint) {
|
|
|
24
47
|
return web3_js_1.PublicKey.findProgramAddressSync([mint.toBuffer()], exports.EATA_PROGRAM_ID);
|
|
25
48
|
}
|
|
26
49
|
function deriveVaultAta(mint, vault) {
|
|
27
|
-
return
|
|
50
|
+
return getAssociatedTokenAddressSync(mint, vault, true);
|
|
28
51
|
}
|
|
29
52
|
function initEphemeralAtaIx(ephemeralAta, owner, mint, payer, bump) {
|
|
30
53
|
return new web3_js_1.TransactionInstruction({
|
|
@@ -40,7 +63,7 @@ function initEphemeralAtaIx(ephemeralAta, owner, mint, payer, bump) {
|
|
|
40
63
|
});
|
|
41
64
|
}
|
|
42
65
|
function initVaultAtaIx(payer, vaultAta, vault, mint) {
|
|
43
|
-
return
|
|
66
|
+
return createAssociatedTokenAccountIdempotentInstruction(payer, vaultAta, vault, mint);
|
|
44
67
|
}
|
|
45
68
|
function initVaultIx(vault, mint, payer, bump) {
|
|
46
69
|
return new web3_js_1.TransactionInstruction({
|
|
@@ -64,7 +87,7 @@ function transferToVaultIx(ephemeralAta, vault, mint, sourceAta, vaultAta, owner
|
|
|
64
87
|
{ pubkey: sourceAta, isSigner: false, isWritable: true },
|
|
65
88
|
{ pubkey: vaultAta, isSigner: false, isWritable: true },
|
|
66
89
|
{ pubkey: owner, isSigner: true, isWritable: false },
|
|
67
|
-
{ pubkey:
|
|
90
|
+
{ pubkey: TOKEN_PROGRAM_ID, isSigner: false, isWritable: false },
|
|
68
91
|
],
|
|
69
92
|
data: Buffer.from([2, ...u64le(amount)]),
|
|
70
93
|
});
|
|
@@ -104,7 +127,7 @@ function withdrawSplIx(owner, mint, amount) {
|
|
|
104
127
|
const [ephemeralAta] = deriveEphemeralAta(owner, mint);
|
|
105
128
|
const [vault, vaultBump] = deriveVault(mint);
|
|
106
129
|
const vaultAta = deriveVaultAta(mint, vault);
|
|
107
|
-
const userDestAta =
|
|
130
|
+
const userDestAta = getAssociatedTokenAddressSync(mint, owner);
|
|
108
131
|
return new web3_js_1.TransactionInstruction({
|
|
109
132
|
programId: exports.EATA_PROGRAM_ID,
|
|
110
133
|
keys: [
|
|
@@ -114,13 +137,13 @@ function withdrawSplIx(owner, mint, amount) {
|
|
|
114
137
|
{ pubkey: mint, isSigner: false, isWritable: false },
|
|
115
138
|
{ pubkey: vaultAta, isSigner: false, isWritable: true },
|
|
116
139
|
{ pubkey: userDestAta, isSigner: false, isWritable: true },
|
|
117
|
-
{ pubkey:
|
|
140
|
+
{ pubkey: TOKEN_PROGRAM_ID, isSigner: false, isWritable: false },
|
|
118
141
|
],
|
|
119
142
|
data: Buffer.from([3, ...u64le(amount), vaultBump]),
|
|
120
143
|
});
|
|
121
144
|
}
|
|
122
145
|
function undelegateIx(owner, mint) {
|
|
123
|
-
const userAta =
|
|
146
|
+
const userAta = getAssociatedTokenAddressSync(mint, owner);
|
|
124
147
|
const [ephemeralAta] = deriveEphemeralAta(owner, mint);
|
|
125
148
|
return new web3_js_1.TransactionInstruction({
|
|
126
149
|
programId: exports.EATA_PROGRAM_ID,
|
|
@@ -162,7 +185,7 @@ async function delegateSpl(owner, mint, amount, opts) {
|
|
|
162
185
|
const [ephemeralAta, eataBump] = deriveEphemeralAta(owner, mint);
|
|
163
186
|
const [vault, vaultBump] = deriveVault(mint);
|
|
164
187
|
const vaultAta = deriveVaultAta(mint, vault);
|
|
165
|
-
const ownerAta =
|
|
188
|
+
const ownerAta = getAssociatedTokenAddressSync(mint, owner);
|
|
166
189
|
if (initIfMissing) {
|
|
167
190
|
instructions.push(initEphemeralAtaIx(ephemeralAta, owner, mint, payer, eataBump), initVaultAtaIx(payer, vaultAta, vault, mint), initVaultIx(vault, mint, payer, vaultBump));
|
|
168
191
|
}
|
package/lib/spl/eata.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eata.js","sourceRoot":"","sources":["../../src/spl/eata.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"eata.js","sourceRoot":"","sources":["../../src/spl/eata.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"}
|