@magicblock-labs/ephemeral-rollups-sdk 0.0.7 → 0.2.2
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/constants.d.ts +4 -3
- package/lib/constants.d.ts.map +1 -1
- package/lib/constants.js +4 -3
- package/lib/constants.js.map +1 -1
- package/lib/index.d.ts +5 -6
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +10 -7
- package/lib/index.js.map +1 -1
- package/lib/instructions/delegate.d.ts +3 -4
- package/lib/instructions/delegate.d.ts.map +1 -1
- package/lib/instructions/delegate.js +49 -36
- package/lib/instructions/delegate.js.map +1 -1
- package/lib/pda.d.ts +5 -0
- package/lib/pda.d.ts.map +1 -0
- package/lib/pda.js +17 -0
- package/lib/pda.js.map +1 -0
- package/lib/resolver.d.ts +30 -0
- package/lib/resolver.d.ts.map +1 -0
- package/lib/resolver.js +81 -0
- package/lib/resolver.js.map +1 -0
- package/lib/utils.js +27 -90
- package/lib/utils.js.map +1 -1
- package/package.json +11 -10
- package/lib/accounts.d.ts +0 -16
- package/lib/accounts.d.ts.map +0 -1
- package/lib/accounts.js +0 -33
- package/lib/accounts.js.map +0 -1
- package/lib/instructions/undelegate.d.ts +0 -20
- package/lib/instructions/undelegate.d.ts.map +0 -1
- package/lib/instructions/undelegate.js +0 -96
- package/lib/instructions/undelegate.js.map +0 -1
- package/lib/seeds.d.ts +0 -7
- package/lib/seeds.d.ts.map +0 -1
- package/lib/seeds.js +0 -10
- package/lib/seeds.js.map +0 -1
package/lib/constants.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
export declare const
|
|
3
|
-
export declare const
|
|
1
|
+
import { PublicKey } from "@solana/web3.js";
|
|
2
|
+
export declare const DELEGATION_PROGRAM_ID: PublicKey;
|
|
3
|
+
export declare const MAGIC_PROGRAM_ID: PublicKey;
|
|
4
|
+
export declare const MAGIC_CONTEXT_ID: PublicKey;
|
|
4
5
|
//# sourceMappingURL=constants.d.ts.map
|
package/lib/constants.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB,
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,eAAO,MAAM,qBAAqB,WAEjC,CAAC;AAEF,eAAO,MAAM,gBAAgB,WAE5B,CAAC;AACF,eAAO,MAAM,gBAAgB,WAE5B,CAAC"}
|
package/lib/constants.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.MAGIC_CONTEXT_ID = exports.MAGIC_PROGRAM_ID = exports.DELEGATION_PROGRAM_ID = void 0;
|
|
4
|
-
|
|
5
|
-
exports.
|
|
6
|
-
exports.
|
|
4
|
+
const web3_js_1 = require("@solana/web3.js");
|
|
5
|
+
exports.DELEGATION_PROGRAM_ID = new web3_js_1.PublicKey("DELeGGvXpWV2fqJUhqcF5ZSYMS4JTLjteaAMARRSaeSh");
|
|
6
|
+
exports.MAGIC_PROGRAM_ID = new web3_js_1.PublicKey("Magic11111111111111111111111111111111111111");
|
|
7
|
+
exports.MAGIC_CONTEXT_ID = new web3_js_1.PublicKey("MagicContext1111111111111111111111111111111");
|
|
7
8
|
//# sourceMappingURL=constants.js.map
|
package/lib/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAE/B,QAAA,qBAAqB,GAAG,IAAI,mBAAS,CAChD,8CAA8C,CAC/C,CAAC;AAEW,QAAA,gBAAgB,GAAG,IAAI,mBAAS,CAC3C,6CAA6C,CAC9C,CAAC;AACW,QAAA,gBAAgB,GAAG,IAAI,mBAAS,CAC3C,6CAA6C,CAC9C,CAAC"}
|
package/lib/index.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
export * from "./
|
|
2
|
-
export * from "./
|
|
3
|
-
export * from "./
|
|
4
|
-
export * from "./
|
|
5
|
-
export * from "./
|
|
6
|
-
export * from "./utils";
|
|
1
|
+
export * from "./constants.js";
|
|
2
|
+
export * from "./instructions/delegate.js";
|
|
3
|
+
export * from "./pda.js";
|
|
4
|
+
export * from "./utils.js";
|
|
5
|
+
export * from "./resolver.js";
|
|
7
6
|
//# 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,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC"}
|
package/lib/index.js
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -10,10 +14,9 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
10
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
11
15
|
};
|
|
12
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
-
__exportStar(require("./
|
|
14
|
-
__exportStar(require("./
|
|
15
|
-
__exportStar(require("./
|
|
16
|
-
__exportStar(require("./
|
|
17
|
-
__exportStar(require("./
|
|
18
|
-
__exportStar(require("./utils"), exports);
|
|
17
|
+
__exportStar(require("./constants.js"), exports);
|
|
18
|
+
__exportStar(require("./instructions/delegate.js"), exports);
|
|
19
|
+
__exportStar(require("./pda.js"), exports);
|
|
20
|
+
__exportStar(require("./utils.js"), exports);
|
|
21
|
+
__exportStar(require("./resolver.js"), exports);
|
|
19
22
|
//# 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":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B;AAC/B,6DAA2C;AAC3C,2CAAyB;AACzB,6CAA2B;AAC3B,gDAA8B"}
|
|
@@ -2,21 +2,20 @@ import * as beet from "@metaplex-foundation/beet";
|
|
|
2
2
|
import * as web3 from "@solana/web3.js";
|
|
3
3
|
export declare const delegateStruct: beet.FixableBeetArgsStruct<{
|
|
4
4
|
instructionDiscriminator: number[];
|
|
5
|
-
valid_until: beet.bignum;
|
|
6
5
|
commit_frequency_ms: beet.bignum;
|
|
7
6
|
seeds: number[][];
|
|
7
|
+
validator?: beet.COption<Uint8Array>;
|
|
8
8
|
}>;
|
|
9
9
|
export declare const delegateInstructionDiscriminator: number[];
|
|
10
10
|
interface DelegateAccountArgs {
|
|
11
|
-
valid_until: number;
|
|
12
11
|
commit_frequency_ms: number;
|
|
13
12
|
seeds: Uint8Array[][];
|
|
13
|
+
validator?: web3.PublicKey;
|
|
14
14
|
}
|
|
15
15
|
export declare function createDelegateInstruction(accounts: {
|
|
16
16
|
payer: web3.PublicKey;
|
|
17
|
-
|
|
17
|
+
delegatedAccount: web3.PublicKey;
|
|
18
18
|
ownerProgram: web3.PublicKey;
|
|
19
|
-
buffer?: web3.PublicKey;
|
|
20
19
|
delegationRecord?: web3.PublicKey;
|
|
21
20
|
delegationMetadata?: web3.PublicKey;
|
|
22
21
|
systemProgram?: web3.PublicKey;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delegate.d.ts","sourceRoot":"","sources":["../../src/instructions/delegate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,2BAA2B,CAAC;AAClD,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"delegate.d.ts","sourceRoot":"","sources":["../../src/instructions/delegate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,2BAA2B,CAAC;AAClD,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAC;AAQxC,eAAO,MAAM,cAAc;8BACC,MAAM,EAAE;yBACb,IAAI,CAAC,MAAM;WACzB,MAAM,EAAE,EAAE;gBACL,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;EASrC,CAAC;AACF,eAAO,MAAM,gCAAgC,UAA2B,CAAC;AAGzE,UAAU,mBAAmB;IAC3B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,KAAK,EAAE,UAAU,EAAE,EAAE,CAAC;IACtB,SAAS,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC;CAC5B;AAED,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE;IACR,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC;IACtB,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC;IACjC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC;IAC7B,gBAAgB,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC;IAClC,kBAAkB,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC;IACpC,aAAa,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC;CAChC,EACD,IAAI,CAAC,EAAE,mBAAmB,EAC1B,SAAS,iBAAwB,+BA2DlC"}
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -11,72 +15,81 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
11
15
|
}) : function(o, v) {
|
|
12
16
|
o["default"] = v;
|
|
13
17
|
});
|
|
14
|
-
var __importStar = (this && this.__importStar) || function (
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
};
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
21
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
-
exports.
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
36
|
+
exports.delegateInstructionDiscriminator = exports.delegateStruct = void 0;
|
|
37
|
+
exports.createDelegateInstruction = createDelegateInstruction;
|
|
38
|
+
const beet = __importStar(require("@metaplex-foundation/beet"));
|
|
39
|
+
const web3 = __importStar(require("@solana/web3.js"));
|
|
40
|
+
const constants_1 = require("../constants");
|
|
41
|
+
const pda_1 = require("../pda");
|
|
28
42
|
exports.delegateStruct = new beet.FixableBeetArgsStruct([
|
|
29
43
|
["instructionDiscriminator", beet.uniformFixedSizeArray(beet.u8, 8)],
|
|
30
|
-
["valid_until", beet.i64],
|
|
31
44
|
["commit_frequency_ms", beet.u32],
|
|
32
45
|
["seeds", beet.array(beet.array(beet.u8))],
|
|
33
|
-
|
|
46
|
+
["validator", beet.coption(beet.uniformFixedSizeArray(beet.u8, 32))],
|
|
47
|
+
], "DelegateInstructionArgs");
|
|
34
48
|
exports.delegateInstructionDiscriminator = [0, 0, 0, 0, 0, 0, 0, 0];
|
|
35
|
-
function createDelegateInstruction(accounts, args, programId) {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
args = args
|
|
40
|
-
valid_until: 0,
|
|
49
|
+
function createDelegateInstruction(accounts, args, programId = constants_1.DELEGATION_PROGRAM_ID) {
|
|
50
|
+
const delegateBufferPda = (0, pda_1.delegateBufferPdaFromDelegatedAccountAndOwnerProgram)(accounts.delegatedAccount, accounts.ownerProgram);
|
|
51
|
+
const delegationRecordPda = (0, pda_1.delegationRecordPdaFromDelegatedAccount)(accounts.delegatedAccount);
|
|
52
|
+
const delegationMetadataPda = (0, pda_1.delegationMetadataPdaFromDelegatedAccount)(accounts.delegatedAccount);
|
|
53
|
+
args = args ?? {
|
|
41
54
|
commit_frequency_ms: 4294967295,
|
|
42
55
|
seeds: [],
|
|
56
|
+
validator: undefined,
|
|
43
57
|
};
|
|
44
|
-
|
|
58
|
+
const keys = [
|
|
45
59
|
{ pubkey: accounts.payer, isWritable: false, isSigner: true },
|
|
46
|
-
{ pubkey: accounts.
|
|
60
|
+
{ pubkey: accounts.delegatedAccount, isWritable: true, isSigner: true },
|
|
47
61
|
{ pubkey: accounts.ownerProgram, isWritable: false, isSigner: false },
|
|
48
62
|
{
|
|
49
|
-
pubkey:
|
|
63
|
+
pubkey: delegateBufferPda,
|
|
50
64
|
isWritable: true,
|
|
51
65
|
isSigner: false,
|
|
52
66
|
},
|
|
53
67
|
{
|
|
54
|
-
pubkey:
|
|
68
|
+
pubkey: accounts.delegationRecord ?? delegationRecordPda,
|
|
55
69
|
isWritable: true,
|
|
56
70
|
isSigner: false,
|
|
57
71
|
},
|
|
58
72
|
{
|
|
59
|
-
pubkey:
|
|
73
|
+
pubkey: accounts.delegationMetadata ?? delegationMetadataPda,
|
|
60
74
|
isWritable: true,
|
|
61
75
|
isSigner: false,
|
|
62
76
|
},
|
|
63
77
|
{
|
|
64
|
-
pubkey:
|
|
78
|
+
pubkey: accounts.systemProgram ?? web3.SystemProgram.programId,
|
|
65
79
|
isWritable: false,
|
|
66
80
|
isSigner: false,
|
|
67
81
|
},
|
|
68
82
|
];
|
|
69
|
-
|
|
83
|
+
const [data] = exports.delegateStruct.serialize({
|
|
70
84
|
instructionDiscriminator: exports.delegateInstructionDiscriminator,
|
|
71
|
-
valid_until: args.valid_until,
|
|
72
85
|
commit_frequency_ms: args.commit_frequency_ms,
|
|
73
|
-
seeds: args.seeds.map(
|
|
74
|
-
|
|
86
|
+
seeds: args.seeds.map((seed) => seed.map(Number)),
|
|
87
|
+
validator: args.validator ? args.validator.toBytes() : undefined,
|
|
88
|
+
});
|
|
75
89
|
return new web3.TransactionInstruction({
|
|
76
|
-
programId
|
|
77
|
-
keys
|
|
78
|
-
data
|
|
90
|
+
programId,
|
|
91
|
+
keys,
|
|
92
|
+
data,
|
|
79
93
|
});
|
|
80
94
|
}
|
|
81
|
-
exports.createDelegateInstruction = createDelegateInstruction;
|
|
82
95
|
//# sourceMappingURL=delegate.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delegate.js","sourceRoot":"","sources":["../../src/instructions/delegate.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"delegate.js","sourceRoot":"","sources":["../../src/instructions/delegate.ts"],"names":[],"mappings":"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"}
|
package/lib/pda.d.ts
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { PublicKey } from "@solana/web3.js";
|
|
2
|
+
export declare function delegationRecordPdaFromDelegatedAccount(delegatedAccount: PublicKey): PublicKey;
|
|
3
|
+
export declare function delegationMetadataPdaFromDelegatedAccount(delegatedAccount: PublicKey): PublicKey;
|
|
4
|
+
export declare function delegateBufferPdaFromDelegatedAccountAndOwnerProgram(delegatedAccount: PublicKey, ownerProgramId: PublicKey): PublicKey;
|
|
5
|
+
//# sourceMappingURL=pda.d.ts.map
|
package/lib/pda.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pda.d.ts","sourceRoot":"","sources":["../src/pda.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAI5C,wBAAgB,uCAAuC,CACrD,gBAAgB,EAAE,SAAS,aAM5B;AAED,wBAAgB,yCAAyC,CACvD,gBAAgB,EAAE,SAAS,aAM5B;AAED,wBAAgB,oDAAoD,CAClE,gBAAgB,EAAE,SAAS,EAC3B,cAAc,EAAE,SAAS,aAM1B"}
|
package/lib/pda.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.delegationRecordPdaFromDelegatedAccount = delegationRecordPdaFromDelegatedAccount;
|
|
4
|
+
exports.delegationMetadataPdaFromDelegatedAccount = delegationMetadataPdaFromDelegatedAccount;
|
|
5
|
+
exports.delegateBufferPdaFromDelegatedAccountAndOwnerProgram = delegateBufferPdaFromDelegatedAccountAndOwnerProgram;
|
|
6
|
+
const web3_js_1 = require("@solana/web3.js");
|
|
7
|
+
const constants_js_1 = require("./constants.js");
|
|
8
|
+
function delegationRecordPdaFromDelegatedAccount(delegatedAccount) {
|
|
9
|
+
return web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("delegation"), delegatedAccount.toBytes()], constants_js_1.DELEGATION_PROGRAM_ID)[0];
|
|
10
|
+
}
|
|
11
|
+
function delegationMetadataPdaFromDelegatedAccount(delegatedAccount) {
|
|
12
|
+
return web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("delegation-metadata"), delegatedAccount.toBytes()], constants_js_1.DELEGATION_PROGRAM_ID)[0];
|
|
13
|
+
}
|
|
14
|
+
function delegateBufferPdaFromDelegatedAccountAndOwnerProgram(delegatedAccount, ownerProgramId) {
|
|
15
|
+
return web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("buffer"), delegatedAccount.toBytes()], ownerProgramId)[0];
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=pda.js.map
|
package/lib/pda.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pda.js","sourceRoot":"","sources":["../src/pda.ts"],"names":[],"mappings":";;AAIA,0FAOC;AAED,8FAOC;AAED,oHAQC;AA9BD,6CAA4C;AAE5C,iDAAuD;AAEvD,SAAgB,uCAAuC,CACrD,gBAA2B;IAE3B,OAAO,mBAAS,CAAC,sBAAsB,CACrC,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,gBAAgB,CAAC,OAAO,EAAE,CAAC,EACvD,oCAAqB,CACtB,CAAC,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAgB,yCAAyC,CACvD,gBAA2B;IAE3B,OAAO,mBAAS,CAAC,sBAAsB,CACrC,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,EAAE,gBAAgB,CAAC,OAAO,EAAE,CAAC,EAChE,oCAAqB,CACtB,CAAC,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAgB,oDAAoD,CAClE,gBAA2B,EAC3B,cAAyB;IAEzB,OAAO,mBAAS,CAAC,sBAAsB,CACrC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,gBAAgB,CAAC,OAAO,EAAE,CAAC,EACnD,cAAc,CACf,CAAC,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { PublicKey, Connection, Transaction } from "@solana/web3.js";
|
|
2
|
+
export interface Configuration {
|
|
3
|
+
chain: string;
|
|
4
|
+
websocket: string;
|
|
5
|
+
}
|
|
6
|
+
declare enum DelegationStatus {
|
|
7
|
+
Delegated = 0,
|
|
8
|
+
Undelegated = 1
|
|
9
|
+
}
|
|
10
|
+
type DelegationRecord = {
|
|
11
|
+
status: DelegationStatus.Delegated;
|
|
12
|
+
validator: PublicKey;
|
|
13
|
+
} | {
|
|
14
|
+
status: DelegationStatus.Undelegated;
|
|
15
|
+
};
|
|
16
|
+
export declare class Resolver {
|
|
17
|
+
private readonly routes;
|
|
18
|
+
private readonly delegations;
|
|
19
|
+
private readonly chain;
|
|
20
|
+
private readonly ws;
|
|
21
|
+
private readonly subs;
|
|
22
|
+
constructor(config: Configuration, routes: Map<string, string>);
|
|
23
|
+
trackAccount(pubkey: PublicKey): Promise<DelegationRecord>;
|
|
24
|
+
resolve(pubkey: PublicKey): Promise<Connection | undefined>;
|
|
25
|
+
resolveForTransaction(tx: Transaction): Promise<Connection | undefined>;
|
|
26
|
+
terminate(): Promise<void>;
|
|
27
|
+
private updateStatus;
|
|
28
|
+
}
|
|
29
|
+
export {};
|
|
30
|
+
//# sourceMappingURL=resolver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../src/resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,UAAU,EAEV,WAAW,EACZ,MAAM,iBAAiB,CAAC;AAKzB,MAAM,WAAW,aAAa;IAE5B,KAAK,EAAE,MAAM,CAAC;IAEd,SAAS,EAAE,MAAM,CAAC;CACnB;AAGD,aAAK,gBAAgB;IACnB,SAAS,IAAA;IACT,WAAW,IAAA;CACZ;AAGD,KAAK,gBAAgB,GACjB;IAAE,MAAM,EAAE,gBAAgB,CAAC,SAAS,CAAC;IAAC,SAAS,EAAE,SAAS,CAAA;CAAE,GAC5D;IAAE,MAAM,EAAE,gBAAgB,CAAC,WAAW,CAAA;CAAE,CAAC;AAG7C,qBAAa,QAAQ;IACnB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiC;IACxD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAuC;IACnE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAa;IACnC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAa;IAChC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAqB;gBAE9B,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAajD,YAAY,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAsC1D,OAAO,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IAe3D,qBAAqB,CAChC,EAAE,EAAE,WAAW,GACd,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IAuBrB,SAAS;IAQtB,OAAO,CAAC,YAAY;CAiBrB"}
|
package/lib/resolver.js
ADDED
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Resolver = void 0;
|
|
4
|
+
const web3_js_1 = require("@solana/web3.js");
|
|
5
|
+
const constants_js_1 = require("./constants.js");
|
|
6
|
+
var DelegationStatus;
|
|
7
|
+
(function (DelegationStatus) {
|
|
8
|
+
DelegationStatus[DelegationStatus["Delegated"] = 0] = "Delegated";
|
|
9
|
+
DelegationStatus[DelegationStatus["Undelegated"] = 1] = "Undelegated";
|
|
10
|
+
})(DelegationStatus || (DelegationStatus = {}));
|
|
11
|
+
class Resolver {
|
|
12
|
+
constructor(config, routes) {
|
|
13
|
+
this.routes = new Map();
|
|
14
|
+
this.delegations = new Map();
|
|
15
|
+
this.subs = new Set();
|
|
16
|
+
this.chain = new web3_js_1.Connection(config.chain);
|
|
17
|
+
this.ws = new web3_js_1.Connection(config.websocket);
|
|
18
|
+
this.routes = new Map([...routes.entries()].map(([k, v]) => [k, new web3_js_1.Connection(v)]));
|
|
19
|
+
}
|
|
20
|
+
async trackAccount(pubkey) {
|
|
21
|
+
const pubkeyStr = pubkey.toString();
|
|
22
|
+
if (this.delegations.has(pubkeyStr)) {
|
|
23
|
+
const record = this.delegations.get(pubkeyStr);
|
|
24
|
+
if (record !== undefined) {
|
|
25
|
+
return record;
|
|
26
|
+
}
|
|
27
|
+
throw new Error(`Expected a delegation record for ${pubkeyStr}, but found undefined.`);
|
|
28
|
+
}
|
|
29
|
+
const seed = new TextEncoder().encode("delegation");
|
|
30
|
+
const seeds = [seed, pubkey.toBytes()];
|
|
31
|
+
const [delegationRecord] = web3_js_1.PublicKey.findProgramAddressSync(seeds, constants_js_1.DELEGATION_PROGRAM_ID);
|
|
32
|
+
const id = this.ws.onAccountChange(delegationRecord, (acc) => this.updateStatus(acc, pubkey), "confirmed");
|
|
33
|
+
this.subs.add(id);
|
|
34
|
+
const accountInfo = await this.chain.getAccountInfo(delegationRecord, "confirmed");
|
|
35
|
+
return this.updateStatus(accountInfo, pubkey);
|
|
36
|
+
}
|
|
37
|
+
async resolve(pubkey) {
|
|
38
|
+
let record = this.delegations.get(pubkey.toString());
|
|
39
|
+
if (!record) {
|
|
40
|
+
record = await this.trackAccount(pubkey);
|
|
41
|
+
}
|
|
42
|
+
return record.status === DelegationStatus.Delegated
|
|
43
|
+
? this.routes.get(record.validator.toString())
|
|
44
|
+
: this.chain;
|
|
45
|
+
}
|
|
46
|
+
async resolveForTransaction(tx) {
|
|
47
|
+
const validators = new Set();
|
|
48
|
+
for (const { pubkey, isWritable } of tx.instructions.flatMap((i) => i.keys)) {
|
|
49
|
+
if (!isWritable)
|
|
50
|
+
continue;
|
|
51
|
+
const record = await this.trackAccount(pubkey);
|
|
52
|
+
if (record.status === DelegationStatus.Delegated) {
|
|
53
|
+
validators.add(record.validator.toString());
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
const vs = [...validators];
|
|
57
|
+
return vs.length === 1
|
|
58
|
+
? this.routes.get(vs[0])
|
|
59
|
+
: validators.size === 0
|
|
60
|
+
? this.chain
|
|
61
|
+
: undefined;
|
|
62
|
+
}
|
|
63
|
+
async terminate() {
|
|
64
|
+
await Promise.all([...this.subs].map(async (sub) => this.ws.removeAccountChangeListener(sub)));
|
|
65
|
+
}
|
|
66
|
+
updateStatus(account, pubkey) {
|
|
67
|
+
const isDelegated = account !== null &&
|
|
68
|
+
account.owner.equals(constants_js_1.DELEGATION_PROGRAM_ID) &&
|
|
69
|
+
account.lamports !== 0;
|
|
70
|
+
const record = isDelegated
|
|
71
|
+
? {
|
|
72
|
+
status: DelegationStatus.Delegated,
|
|
73
|
+
validator: new web3_js_1.PublicKey(account.data.subarray(8, 40)),
|
|
74
|
+
}
|
|
75
|
+
: { status: DelegationStatus.Undelegated };
|
|
76
|
+
this.delegations.set(pubkey.toString(), record);
|
|
77
|
+
return record;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
exports.Resolver = Resolver;
|
|
81
|
+
//# sourceMappingURL=resolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolver.js","sourceRoot":"","sources":["../src/resolver.ts"],"names":[],"mappings":"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"}
|
package/lib/utils.js
CHANGED
|
@@ -1,95 +1,33 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __assign = (this && this.__assign) || function () {
|
|
3
|
-
__assign = Object.assign || function(t) {
|
|
4
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
-
s = arguments[i];
|
|
6
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
-
t[p] = s[p];
|
|
8
|
-
}
|
|
9
|
-
return t;
|
|
10
|
-
};
|
|
11
|
-
return __assign.apply(this, arguments);
|
|
12
|
-
};
|
|
13
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
14
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
15
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
16
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
17
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
18
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
19
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
20
|
-
});
|
|
21
|
-
};
|
|
22
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
23
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
24
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
25
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
26
|
-
function step(op) {
|
|
27
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
28
|
-
while (_) try {
|
|
29
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
30
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
31
|
-
switch (op[0]) {
|
|
32
|
-
case 0: case 1: t = op; break;
|
|
33
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
34
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
35
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
36
|
-
default:
|
|
37
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
38
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
39
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
40
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
41
|
-
if (t[2]) _.ops.pop();
|
|
42
|
-
_.trys.pop(); continue;
|
|
43
|
-
}
|
|
44
|
-
op = body.call(thisArg, _);
|
|
45
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
46
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
47
|
-
}
|
|
48
|
-
};
|
|
49
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
50
|
-
exports.GetCommitmentSignature =
|
|
51
|
-
function GetCommitmentSignature(transactionSignature, ephemeralConnection) {
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
if (scheduledCommitSgn == null) {
|
|
65
|
-
throw new Error("ScheduledCommitSent signature not found");
|
|
66
|
-
}
|
|
67
|
-
return [4, ephemeralConnection.getLatestBlockhash()];
|
|
68
|
-
case 2:
|
|
69
|
-
latestBlockhash = _c.sent();
|
|
70
|
-
return [4, ephemeralConnection.confirmTransaction(__assign({ signature: scheduledCommitSgn }, latestBlockhash))];
|
|
71
|
-
case 3:
|
|
72
|
-
_c.sent();
|
|
73
|
-
return [4, ephemeralConnection.getTransaction(scheduledCommitSgn, { maxSupportedTransactionVersion: 0 })];
|
|
74
|
-
case 4:
|
|
75
|
-
txCommitInfo = _c.sent();
|
|
76
|
-
if ((txCommitInfo === null || txCommitInfo === void 0 ? void 0 : txCommitInfo.meta) == null) {
|
|
77
|
-
throw new Error("Transaction not found or meta is null");
|
|
78
|
-
}
|
|
79
|
-
commitSignature = parseCommitsLogsMessage((_b = txCommitInfo.meta.logMessages) !== null && _b !== void 0 ? _b : []);
|
|
80
|
-
if (commitSignature == null) {
|
|
81
|
-
throw new Error("Unable to find Commitment signature");
|
|
82
|
-
}
|
|
83
|
-
return [2, commitSignature];
|
|
84
|
-
}
|
|
85
|
-
});
|
|
3
|
+
exports.GetCommitmentSignature = GetCommitmentSignature;
|
|
4
|
+
async function GetCommitmentSignature(transactionSignature, ephemeralConnection) {
|
|
5
|
+
const txSchedulingSgn = await ephemeralConnection.getTransaction(transactionSignature, { maxSupportedTransactionVersion: 0 });
|
|
6
|
+
if (txSchedulingSgn?.meta == null) {
|
|
7
|
+
throw new Error("Transaction not found or meta is null");
|
|
8
|
+
}
|
|
9
|
+
const scheduledCommitSgn = parseScheduleCommitsLogsMessage(txSchedulingSgn.meta.logMessages ?? []);
|
|
10
|
+
if (scheduledCommitSgn == null) {
|
|
11
|
+
throw new Error("ScheduledCommitSent signature not found");
|
|
12
|
+
}
|
|
13
|
+
const latestBlockhash = await ephemeralConnection.getLatestBlockhash();
|
|
14
|
+
await ephemeralConnection.confirmTransaction({
|
|
15
|
+
signature: scheduledCommitSgn,
|
|
16
|
+
...latestBlockhash,
|
|
86
17
|
});
|
|
18
|
+
const txCommitInfo = await ephemeralConnection.getTransaction(scheduledCommitSgn, { maxSupportedTransactionVersion: 0 });
|
|
19
|
+
if (txCommitInfo?.meta == null) {
|
|
20
|
+
throw new Error("Transaction not found or meta is null");
|
|
21
|
+
}
|
|
22
|
+
const commitSignature = parseCommitsLogsMessage(txCommitInfo.meta.logMessages ?? []);
|
|
23
|
+
if (commitSignature == null) {
|
|
24
|
+
throw new Error("Unable to find Commitment signature");
|
|
25
|
+
}
|
|
26
|
+
return commitSignature;
|
|
87
27
|
}
|
|
88
|
-
exports.GetCommitmentSignature = GetCommitmentSignature;
|
|
89
28
|
function parseScheduleCommitsLogsMessage(logMessages) {
|
|
90
|
-
for (
|
|
91
|
-
|
|
92
|
-
var signaturePrefix = "ScheduledCommitSent signature: ";
|
|
29
|
+
for (const message of logMessages) {
|
|
30
|
+
const signaturePrefix = "ScheduledCommitSent signature: ";
|
|
93
31
|
if (message.includes(signaturePrefix)) {
|
|
94
32
|
return message.split(signaturePrefix)[1];
|
|
95
33
|
}
|
|
@@ -97,9 +35,8 @@ function parseScheduleCommitsLogsMessage(logMessages) {
|
|
|
97
35
|
return null;
|
|
98
36
|
}
|
|
99
37
|
function parseCommitsLogsMessage(logMessages) {
|
|
100
|
-
for (
|
|
101
|
-
|
|
102
|
-
var signaturePrefix = "ScheduledCommitSent signature[0]: ";
|
|
38
|
+
for (const message of logMessages) {
|
|
39
|
+
const signaturePrefix = "ScheduledCommitSent signature[0]: ";
|
|
103
40
|
if (message.includes(signaturePrefix)) {
|
|
104
41
|
return message.split(signaturePrefix)[1];
|
|
105
42
|
}
|
package/lib/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;AASA,wDAyCC;AAzCM,KAAK,UAAU,sBAAsB,CAC1C,oBAA4B,EAC5B,mBAA+B;IAE/B,MAAM,eAAe,GAAG,MAAM,mBAAmB,CAAC,cAAc,CAC9D,oBAAoB,EACpB,EAAE,8BAA8B,EAAE,CAAC,EAAE,CACtC,CAAC;IACF,IAAI,eAAe,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM,kBAAkB,GAAG,+BAA+B,CACxD,eAAe,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CACvC,CAAC;IACF,IAAI,kBAAkB,IAAI,IAAI,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,eAAe,GAAG,MAAM,mBAAmB,CAAC,kBAAkB,EAAE,CAAC;IACvE,MAAM,mBAAmB,CAAC,kBAAkB,CAAC;QAC3C,SAAS,EAAE,kBAAkB;QAC7B,GAAG,eAAe;KACnB,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,MAAM,mBAAmB,CAAC,cAAc,CAC3D,kBAAkB,EAClB,EAAE,8BAA8B,EAAE,CAAC,EAAE,CACtC,CAAC;IACF,IAAI,YAAY,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM,eAAe,GAAG,uBAAuB,CAC7C,YAAY,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CACpC,CAAC;IACF,IAAI,eAAe,IAAI,IAAI,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACzD,CAAC;IAED,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,SAAS,+BAA+B,CAAC,WAAqB;IAC5D,KAAK,MAAM,OAAO,IAAI,WAAW,EAAE,CAAC;QAClC,MAAM,eAAe,GAAG,iCAAiC,CAAC;QAC1D,IAAI,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;YACtC,OAAO,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,uBAAuB,CAAC,WAAqB;IACpD,KAAK,MAAM,OAAO,IAAI,WAAW,EAAE,CAAC;QAClC,MAAM,eAAe,GAAG,oCAAoC,CAAC;QAC7D,IAAI,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;YACtC,OAAO,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@magicblock-labs/ephemeral-rollups-sdk",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.2",
|
|
4
4
|
"author": "MagicBlock Labs",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"publishConfig": {
|
|
@@ -10,8 +10,7 @@
|
|
|
10
10
|
"main": "lib/index.js",
|
|
11
11
|
"scripts": {
|
|
12
12
|
"clean": "rimraf lib",
|
|
13
|
-
"build": "npm run clean &&
|
|
14
|
-
"build:docs": "typedoc",
|
|
13
|
+
"build": "npm run clean && npm run lint:fix && tsc",
|
|
15
14
|
"dev": "tsc --watch",
|
|
16
15
|
"start": "tsc",
|
|
17
16
|
"lint": "eslint -c .eslintrc.yml --ext .ts,.tsx src",
|
|
@@ -21,21 +20,23 @@
|
|
|
21
20
|
"lib"
|
|
22
21
|
],
|
|
23
22
|
"devDependencies": {
|
|
24
|
-
"@typescript-eslint/eslint-plugin": "^
|
|
23
|
+
"@typescript-eslint/eslint-plugin": "^6.21.0",
|
|
24
|
+
"@typescript-eslint/parser": "^6.21.0",
|
|
25
25
|
"eslint": "^8.55.0",
|
|
26
26
|
"eslint-config-prettier": "^9.1.0",
|
|
27
27
|
"eslint-config-standard-with-typescript": "^42.0.0",
|
|
28
28
|
"eslint-plugin-import": "^2.29.1",
|
|
29
|
-
"eslint-plugin-n": "^
|
|
30
|
-
"eslint-plugin-prettier": "^5.1
|
|
29
|
+
"eslint-plugin-n": "^16.6.2",
|
|
30
|
+
"eslint-plugin-prettier": "^5.2.1",
|
|
31
31
|
"eslint-plugin-promise": "^6.2.0",
|
|
32
32
|
"prettier": "^3.3.2",
|
|
33
33
|
"rimraf": "^3.0.2",
|
|
34
|
-
"
|
|
35
|
-
"typescript": "^4.3.5"
|
|
34
|
+
"typescript": "^5.7.2"
|
|
36
35
|
},
|
|
37
36
|
"dependencies": {
|
|
38
37
|
"@metaplex-foundation/beet": "^0.7.2",
|
|
39
|
-
"@solana/web3.js": "^1.
|
|
40
|
-
|
|
38
|
+
"@solana/web3.js": "^1.98.0",
|
|
39
|
+
"rpc-websockets": "^9.0.4"
|
|
40
|
+
},
|
|
41
|
+
"packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e"
|
|
41
42
|
}
|
package/lib/accounts.d.ts
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { PublicKey } from "@solana/web3.js";
|
|
2
|
-
export declare function DelegateAccounts(accountToDelegate: PublicKey, ownerProgram: PublicKey): {
|
|
3
|
-
delegationRecord: PublicKey;
|
|
4
|
-
delegationMetadata: PublicKey;
|
|
5
|
-
bufferPda: PublicKey;
|
|
6
|
-
commitStateRecordPda: PublicKey;
|
|
7
|
-
commitStatePda: PublicKey;
|
|
8
|
-
};
|
|
9
|
-
export declare function UndelegateAccounts(accountToDelegate: PublicKey, ownerProgram: PublicKey): {
|
|
10
|
-
delegationRecord: PublicKey;
|
|
11
|
-
delegationMetadata: PublicKey;
|
|
12
|
-
bufferPda: PublicKey;
|
|
13
|
-
commitStateRecordPda: PublicKey;
|
|
14
|
-
commitStatePda: PublicKey;
|
|
15
|
-
};
|
|
16
|
-
//# sourceMappingURL=accounts.d.ts.map
|
package/lib/accounts.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"accounts.d.ts","sourceRoot":"","sources":["../src/accounts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAiB5C,wBAAgB,gBAAgB,CAC9B,iBAAiB,EAAE,SAAS,EAC5B,YAAY,EAAE,SAAS;;;;;;EAGxB;AAQD,wBAAgB,kBAAkB,CAChC,iBAAiB,EAAE,SAAS,EAC5B,YAAY,EAAE,SAAS;;;;;;EAGxB"}
|
package/lib/accounts.js
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.UndelegateAccounts = exports.DelegateAccounts = void 0;
|
|
4
|
-
var web3_js_1 = require("@solana/web3.js");
|
|
5
|
-
var seeds_1 = require("./seeds");
|
|
6
|
-
var constants_1 = require("./constants");
|
|
7
|
-
function DelegateAccounts(accountToDelegate, ownerProgram) {
|
|
8
|
-
return getAccounts(accountToDelegate, ownerProgram, true);
|
|
9
|
-
}
|
|
10
|
-
exports.DelegateAccounts = DelegateAccounts;
|
|
11
|
-
function UndelegateAccounts(accountToDelegate, ownerProgram) {
|
|
12
|
-
return getAccounts(accountToDelegate, ownerProgram, false);
|
|
13
|
-
}
|
|
14
|
-
exports.UndelegateAccounts = UndelegateAccounts;
|
|
15
|
-
function getAccounts(accountToDelegate, ownerProgram, ownedBuffer) {
|
|
16
|
-
if (ownedBuffer === void 0) { ownedBuffer = true; }
|
|
17
|
-
var pdaBytes = accountToDelegate.toBytes();
|
|
18
|
-
var delegationRecord = web3_js_1.PublicKey.findProgramAddressSync([Buffer.from(seeds_1.SEED_DELEGATION), pdaBytes], new web3_js_1.PublicKey(constants_1.DELEGATION_PROGRAM_ID))[0];
|
|
19
|
-
var delegationMetadata = web3_js_1.PublicKey.findProgramAddressSync([Buffer.from(seeds_1.SEED_DELEGATION_METADATA), pdaBytes], new web3_js_1.PublicKey(constants_1.DELEGATION_PROGRAM_ID))[0];
|
|
20
|
-
var bufferPda = web3_js_1.PublicKey.findProgramAddressSync([Buffer.from(seeds_1.SEED_BUFFER_PDA), pdaBytes], ownedBuffer
|
|
21
|
-
? new web3_js_1.PublicKey(ownerProgram)
|
|
22
|
-
: new web3_js_1.PublicKey(constants_1.DELEGATION_PROGRAM_ID))[0];
|
|
23
|
-
var commitStateRecordPda = web3_js_1.PublicKey.findProgramAddressSync([Buffer.from(seeds_1.SEED_COMMIT_STATE_RECORD_PDA), pdaBytes], new web3_js_1.PublicKey(constants_1.DELEGATION_PROGRAM_ID))[0];
|
|
24
|
-
var commitStatePda = web3_js_1.PublicKey.findProgramAddressSync([Buffer.from(seeds_1.SEED_STATE_DIFF_PDA), pdaBytes], new web3_js_1.PublicKey(constants_1.DELEGATION_PROGRAM_ID))[0];
|
|
25
|
-
return {
|
|
26
|
-
delegationRecord: delegationRecord,
|
|
27
|
-
delegationMetadata: delegationMetadata,
|
|
28
|
-
bufferPda: bufferPda,
|
|
29
|
-
commitStateRecordPda: commitStateRecordPda,
|
|
30
|
-
commitStatePda: commitStatePda,
|
|
31
|
-
};
|
|
32
|
-
}
|
|
33
|
-
//# sourceMappingURL=accounts.js.map
|
package/lib/accounts.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"accounts.js","sourceRoot":"","sources":["../src/accounts.ts"],"names":[],"mappings":";;;AAAA,2CAA4C;AAC5C,iCAMiB;AAEjB,yCAAoD;AAQpD,SAAgB,gBAAgB,CAC9B,iBAA4B,EAC5B,YAAuB;IAEvB,OAAO,WAAW,CAAC,iBAAiB,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;AAC5D,CAAC;AALD,4CAKC;AAQD,SAAgB,kBAAkB,CAChC,iBAA4B,EAC5B,YAAuB;IAEvB,OAAO,WAAW,CAAC,iBAAiB,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;AAC7D,CAAC;AALD,gDAKC;AAED,SAAS,WAAW,CAClB,iBAA4B,EAC5B,YAAuB,EACvB,WAA2B;IAA3B,4BAAA,EAAA,kBAA2B;IAE3B,IAAM,QAAQ,GAAG,iBAAiB,CAAC,OAAO,EAAE,CAAC;IAEtC,IAAA,gBAAgB,GAAI,mBAAS,CAAC,sBAAsB,CACzD,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAe,CAAC,EAAE,QAAQ,CAAC,EACxC,IAAI,mBAAS,CAAC,iCAAqB,CAAC,CACrC,GAHsB,CAGrB;IAEK,IAAA,kBAAkB,GAAI,mBAAS,CAAC,sBAAsB,CAC3D,CAAC,MAAM,CAAC,IAAI,CAAC,gCAAwB,CAAC,EAAE,QAAQ,CAAC,EACjD,IAAI,mBAAS,CAAC,iCAAqB,CAAC,CACrC,GAHwB,CAGvB;IAEK,IAAA,SAAS,GAAI,mBAAS,CAAC,sBAAsB,CAClD,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAe,CAAC,EAAE,QAAQ,CAAC,EACxC,WAAW;QACT,CAAC,CAAC,IAAI,mBAAS,CAAC,YAAY,CAAC;QAC7B,CAAC,CAAC,IAAI,mBAAS,CAAC,iCAAqB,CAAC,CACzC,GALe,CAKd;IAEK,IAAA,oBAAoB,GAAI,mBAAS,CAAC,sBAAsB,CAC7D,CAAC,MAAM,CAAC,IAAI,CAAC,oCAA4B,CAAC,EAAE,QAAQ,CAAC,EACrD,IAAI,mBAAS,CAAC,iCAAqB,CAAC,CACrC,GAH0B,CAGzB;IAEK,IAAA,cAAc,GAAI,mBAAS,CAAC,sBAAsB,CACvD,CAAC,MAAM,CAAC,IAAI,CAAC,2BAAmB,CAAC,EAAE,QAAQ,CAAC,EAC5C,IAAI,mBAAS,CAAC,iCAAqB,CAAC,CACrC,GAHoB,CAGnB;IACF,OAAO;QACL,gBAAgB,kBAAA;QAChB,kBAAkB,oBAAA;QAClB,SAAS,WAAA;QACT,oBAAoB,sBAAA;QACpB,cAAc,gBAAA;KACf,CAAC;AACJ,CAAC"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import * as beet from "@metaplex-foundation/beet";
|
|
2
|
-
import * as web3 from "@solana/web3.js";
|
|
3
|
-
export declare const undelegateStruct: beet.FixableBeetArgsStruct<{
|
|
4
|
-
instructionDiscriminator: number[];
|
|
5
|
-
}>;
|
|
6
|
-
export interface UndelegateInstructionAccounts {
|
|
7
|
-
payer: web3.PublicKey;
|
|
8
|
-
delegatedAccount: web3.PublicKey;
|
|
9
|
-
ownerProgram: web3.PublicKey;
|
|
10
|
-
buffer?: web3.PublicKey;
|
|
11
|
-
commitStatePda?: web3.PublicKey;
|
|
12
|
-
commitStateRecordPda?: web3.PublicKey;
|
|
13
|
-
delegationRecord?: web3.PublicKey;
|
|
14
|
-
delegationMetadata?: web3.PublicKey;
|
|
15
|
-
reimbursement: web3.PublicKey;
|
|
16
|
-
systemProgram?: web3.PublicKey;
|
|
17
|
-
}
|
|
18
|
-
export declare const undelegateInstructionDiscriminator: number[];
|
|
19
|
-
export declare function createUndelegateInstruction(accounts: UndelegateInstructionAccounts, programId?: web3.PublicKey): web3.TransactionInstruction;
|
|
20
|
-
//# sourceMappingURL=undelegate.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"undelegate.d.ts","sourceRoot":"","sources":["../../src/instructions/undelegate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,2BAA2B,CAAC;AAClD,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAC;AAKxC,eAAO,MAAM,gBAAgB;8BACD,MAAM,EAAE;EAInC,CAAC;AAMF,MAAM,WAAW,6BAA6B;IAC5C,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC;IACtB,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC;IACjC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC;IAC7B,MAAM,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC;IACxB,cAAc,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC;IAChC,oBAAoB,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC;IACtC,gBAAgB,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC;IAClC,kBAAkB,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC;IACpC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC;IAC9B,aAAa,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC;CAChC;AAED,eAAO,MAAM,kCAAkC,UAA2B,CAAC;AAO3E,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,6BAA6B,EACvC,SAAS,iBAAuC,+BAwEjD"}
|
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
-
}) : (function(o, m, k, k2) {
|
|
6
|
-
if (k2 === undefined) k2 = k;
|
|
7
|
-
o[k2] = m[k];
|
|
8
|
-
}));
|
|
9
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
-
}) : function(o, v) {
|
|
12
|
-
o["default"] = v;
|
|
13
|
-
});
|
|
14
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
-
if (mod && mod.__esModule) return mod;
|
|
16
|
-
var result = {};
|
|
17
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
-
__setModuleDefault(result, mod);
|
|
19
|
-
return result;
|
|
20
|
-
};
|
|
21
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
-
exports.createUndelegateInstruction = exports.undelegateInstructionDiscriminator = exports.undelegateStruct = void 0;
|
|
23
|
-
var beet = __importStar(require("@metaplex-foundation/beet"));
|
|
24
|
-
var web3 = __importStar(require("@solana/web3.js"));
|
|
25
|
-
var accounts_1 = require("../accounts");
|
|
26
|
-
var web3_js_1 = require("@solana/web3.js");
|
|
27
|
-
var constants_1 = require("../constants");
|
|
28
|
-
exports.undelegateStruct = new beet.FixableBeetArgsStruct([["instructionDiscriminator", beet.uniformFixedSizeArray(beet.u8, 8)]], "UndelegateInstructionArgs");
|
|
29
|
-
exports.undelegateInstructionDiscriminator = [3, 0, 0, 0, 0, 0, 0, 0];
|
|
30
|
-
function createUndelegateInstruction(accounts, programId) {
|
|
31
|
-
var _a, _b, _c, _d, _e, _f;
|
|
32
|
-
if (programId === void 0) { programId = new web3_js_1.PublicKey(constants_1.DELEGATION_PROGRAM_ID); }
|
|
33
|
-
var data = exports.undelegateStruct.serialize({
|
|
34
|
-
instructionDiscriminator: exports.undelegateInstructionDiscriminator,
|
|
35
|
-
})[0];
|
|
36
|
-
var _g = (0, accounts_1.UndelegateAccounts)(accounts.delegatedAccount, accounts.ownerProgram), delegationRecord = _g.delegationRecord, delegationMetadata = _g.delegationMetadata, bufferPda = _g.bufferPda, commitStateRecordPda = _g.commitStateRecordPda, commitStatePda = _g.commitStatePda;
|
|
37
|
-
var keys = [
|
|
38
|
-
{
|
|
39
|
-
pubkey: accounts.payer,
|
|
40
|
-
isWritable: false,
|
|
41
|
-
isSigner: true,
|
|
42
|
-
},
|
|
43
|
-
{
|
|
44
|
-
pubkey: accounts.delegatedAccount,
|
|
45
|
-
isWritable: true,
|
|
46
|
-
isSigner: false,
|
|
47
|
-
},
|
|
48
|
-
{
|
|
49
|
-
pubkey: accounts.ownerProgram,
|
|
50
|
-
isWritable: false,
|
|
51
|
-
isSigner: false,
|
|
52
|
-
},
|
|
53
|
-
{
|
|
54
|
-
pubkey: (_a = accounts.buffer) !== null && _a !== void 0 ? _a : bufferPda,
|
|
55
|
-
isWritable: true,
|
|
56
|
-
isSigner: false,
|
|
57
|
-
},
|
|
58
|
-
{
|
|
59
|
-
pubkey: (_b = accounts.commitStatePda) !== null && _b !== void 0 ? _b : commitStatePda,
|
|
60
|
-
isWritable: true,
|
|
61
|
-
isSigner: false,
|
|
62
|
-
},
|
|
63
|
-
{
|
|
64
|
-
pubkey: (_c = accounts.commitStateRecordPda) !== null && _c !== void 0 ? _c : commitStateRecordPda,
|
|
65
|
-
isWritable: true,
|
|
66
|
-
isSigner: false,
|
|
67
|
-
},
|
|
68
|
-
{
|
|
69
|
-
pubkey: (_d = accounts.delegationRecord) !== null && _d !== void 0 ? _d : delegationRecord,
|
|
70
|
-
isWritable: true,
|
|
71
|
-
isSigner: false,
|
|
72
|
-
},
|
|
73
|
-
{
|
|
74
|
-
pubkey: (_e = accounts.delegationMetadata) !== null && _e !== void 0 ? _e : delegationMetadata,
|
|
75
|
-
isWritable: true,
|
|
76
|
-
isSigner: false,
|
|
77
|
-
},
|
|
78
|
-
{
|
|
79
|
-
pubkey: accounts.reimbursement,
|
|
80
|
-
isWritable: false,
|
|
81
|
-
isSigner: false,
|
|
82
|
-
},
|
|
83
|
-
{
|
|
84
|
-
pubkey: (_f = accounts.systemProgram) !== null && _f !== void 0 ? _f : web3.SystemProgram.programId,
|
|
85
|
-
isWritable: false,
|
|
86
|
-
isSigner: false,
|
|
87
|
-
},
|
|
88
|
-
];
|
|
89
|
-
return new web3.TransactionInstruction({
|
|
90
|
-
programId: programId,
|
|
91
|
-
keys: keys,
|
|
92
|
-
data: data,
|
|
93
|
-
});
|
|
94
|
-
}
|
|
95
|
-
exports.createUndelegateInstruction = createUndelegateInstruction;
|
|
96
|
-
//# sourceMappingURL=undelegate.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"undelegate.js","sourceRoot":"","sources":["../../src/instructions/undelegate.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,8DAAkD;AAClD,oDAAwC;AACxC,wCAAiD;AACjD,2CAA4C;AAC5C,0CAAqD;AAExC,QAAA,gBAAgB,GAAG,IAAI,IAAI,CAAC,qBAAqB,CAG5D,CAAC,CAAC,0BAA0B,EAAE,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EACtE,2BAA2B,CAC5B,CAAC;AAmBW,QAAA,kCAAkC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAO3E,SAAgB,2BAA2B,CACzC,QAAuC,EACvC,SAAgD;;IAAhD,0BAAA,EAAA,gBAAgB,mBAAS,CAAC,iCAAqB,CAAC;IAEzC,IAAA,IAAI,GAAI,wBAAgB,CAAC,SAAS,CAAC;QACxC,wBAAwB,EAAE,0CAAkC;KAC7D,CAAC,GAFS,CAER;IAEG,IAAA,KAMF,IAAA,6BAAkB,EAAC,QAAQ,CAAC,gBAAgB,EAAE,QAAQ,CAAC,YAAY,CAAC,EALtE,gBAAgB,sBAAA,EAChB,kBAAkB,wBAAA,EAClB,SAAS,eAAA,EACT,oBAAoB,0BAAA,EACpB,cAAc,oBACwD,CAAC;IAEzE,IAAM,IAAI,GAAuB;QAC/B;YACE,MAAM,EAAE,QAAQ,CAAC,KAAK;YACtB,UAAU,EAAE,KAAK;YACjB,QAAQ,EAAE,IAAI;SACf;QACD;YACE,MAAM,EAAE,QAAQ,CAAC,gBAAgB;YACjC,UAAU,EAAE,IAAI;YAChB,QAAQ,EAAE,KAAK;SAChB;QACD;YACE,MAAM,EAAE,QAAQ,CAAC,YAAY;YAC7B,UAAU,EAAE,KAAK;YACjB,QAAQ,EAAE,KAAK;SAChB;QACD;YACE,MAAM,EAAE,MAAA,QAAQ,CAAC,MAAM,mCAAI,SAAS;YACpC,UAAU,EAAE,IAAI;YAChB,QAAQ,EAAE,KAAK;SAChB;QACD;YACE,MAAM,EAAE,MAAA,QAAQ,CAAC,cAAc,mCAAI,cAAc;YACjD,UAAU,EAAE,IAAI;YAChB,QAAQ,EAAE,KAAK;SAChB;QACD;YACE,MAAM,EAAE,MAAA,QAAQ,CAAC,oBAAoB,mCAAI,oBAAoB;YAC7D,UAAU,EAAE,IAAI;YAChB,QAAQ,EAAE,KAAK;SAChB;QACD;YACE,MAAM,EAAE,MAAA,QAAQ,CAAC,gBAAgB,mCAAI,gBAAgB;YACrD,UAAU,EAAE,IAAI;YAChB,QAAQ,EAAE,KAAK;SAChB;QACD;YACE,MAAM,EAAE,MAAA,QAAQ,CAAC,kBAAkB,mCAAI,kBAAkB;YACzD,UAAU,EAAE,IAAI;YAChB,QAAQ,EAAE,KAAK;SAChB;QACD;YACE,MAAM,EAAE,QAAQ,CAAC,aAAa;YAC9B,UAAU,EAAE,KAAK;YACjB,QAAQ,EAAE,KAAK;SAChB;QACD;YACE,MAAM,EAAE,MAAA,QAAQ,CAAC,aAAa,mCAAI,IAAI,CAAC,aAAa,CAAC,SAAS;YAC9D,UAAU,EAAE,KAAK;YACjB,QAAQ,EAAE,KAAK;SAChB;KACF,CAAC;IAEF,OAAO,IAAI,IAAI,CAAC,sBAAsB,CAAC;QACrC,SAAS,WAAA;QACT,IAAI,MAAA;QACJ,IAAI,MAAA;KACL,CAAC,CAAC;AACL,CAAC;AA1ED,kEA0EC"}
|
package/lib/seeds.d.ts
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export declare const SEED_TEST_PDA = "test-pda";
|
|
2
|
-
export declare const SEED_BUFFER_PDA = "buffer";
|
|
3
|
-
export declare const SEED_DELEGATION = "delegation";
|
|
4
|
-
export declare const SEED_DELEGATION_METADATA = "delegation-metadata";
|
|
5
|
-
export declare const SEED_COMMIT_STATE_RECORD_PDA = "commit-state-record";
|
|
6
|
-
export declare const SEED_STATE_DIFF_PDA = "state-diff";
|
|
7
|
-
//# sourceMappingURL=seeds.d.ts.map
|
package/lib/seeds.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"seeds.d.ts","sourceRoot":"","sources":["../src/seeds.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa,aAAa,CAAC;AACxC,eAAO,MAAM,eAAe,WAAW,CAAC;AACxC,eAAO,MAAM,eAAe,eAAe,CAAC;AAC5C,eAAO,MAAM,wBAAwB,wBAAwB,CAAC;AAC9D,eAAO,MAAM,4BAA4B,wBAAwB,CAAC;AAClE,eAAO,MAAM,mBAAmB,eAAe,CAAC"}
|
package/lib/seeds.js
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SEED_STATE_DIFF_PDA = exports.SEED_COMMIT_STATE_RECORD_PDA = exports.SEED_DELEGATION_METADATA = exports.SEED_DELEGATION = exports.SEED_BUFFER_PDA = exports.SEED_TEST_PDA = void 0;
|
|
4
|
-
exports.SEED_TEST_PDA = "test-pda";
|
|
5
|
-
exports.SEED_BUFFER_PDA = "buffer";
|
|
6
|
-
exports.SEED_DELEGATION = "delegation";
|
|
7
|
-
exports.SEED_DELEGATION_METADATA = "delegation-metadata";
|
|
8
|
-
exports.SEED_COMMIT_STATE_RECORD_PDA = "commit-state-record";
|
|
9
|
-
exports.SEED_STATE_DIFF_PDA = "state-diff";
|
|
10
|
-
//# sourceMappingURL=seeds.js.map
|
package/lib/seeds.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"seeds.js","sourceRoot":"","sources":["../src/seeds.ts"],"names":[],"mappings":";;;AAAa,QAAA,aAAa,GAAG,UAAU,CAAC;AAC3B,QAAA,eAAe,GAAG,QAAQ,CAAC;AAC3B,QAAA,eAAe,GAAG,YAAY,CAAC;AAC/B,QAAA,wBAAwB,GAAG,qBAAqB,CAAC;AACjD,QAAA,4BAA4B,GAAG,qBAAqB,CAAC;AACrD,QAAA,mBAAmB,GAAG,YAAY,CAAC"}
|