@magicblock-labs/ephemeral-rollups-sdk 0.0.7 → 0.2.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.
@@ -1,4 +1,5 @@
1
- export declare const DELEGATION_PROGRAM_ID = "DELeGGvXpWV2fqJUhqcF5ZSYMS4JTLjteaAMARRSaeSh";
2
- export declare const MAGIC_PROGRAM_ID = "Magic11111111111111111111111111111111111111";
3
- export declare const MAGIC_CONTEXT_ID = "MagicContext1111111111111111111111111111111";
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
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB,iDACc,CAAC;AAEjD,eAAO,MAAM,gBAAgB,gDAAgD,CAAC;AAC9E,eAAO,MAAM,gBAAgB,gDAAgD,CAAC"}
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
- exports.DELEGATION_PROGRAM_ID = "DELeGGvXpWV2fqJUhqcF5ZSYMS4JTLjteaAMARRSaeSh";
5
- exports.MAGIC_PROGRAM_ID = "Magic11111111111111111111111111111111111111";
6
- exports.MAGIC_CONTEXT_ID = "MagicContext1111111111111111111111111111111";
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
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,qBAAqB,GAChC,8CAA8C,CAAC;AAEpC,QAAA,gBAAgB,GAAG,6CAA6C,CAAC;AACjE,QAAA,gBAAgB,GAAG,6CAA6C,CAAC"}
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 "./seeds";
2
- export * from "./constants";
3
- export * from "./instructions/undelegate";
4
- export * from "./instructions/delegate";
5
- export * from "./accounts";
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
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,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.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
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("./seeds"), exports);
14
- __exportStar(require("./constants"), exports);
15
- __exportStar(require("./instructions/undelegate"), exports);
16
- __exportStar(require("./instructions/delegate"), exports);
17
- __exportStar(require("./accounts"), exports);
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":";;;;;;;;;;;;AAAA,0CAAwB;AACxB,8CAA4B;AAC5B,4DAA0C;AAC1C,0DAAwC;AACxC,6CAA2B;AAC3B,0CAAwB"}
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
- delegateAccount: web3.PublicKey;
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;AAKxC,eAAO,MAAM,cAAc;8BACC,MAAM,EAAE;iBACrB,KAAK,MAAM;yBACH,KAAK,MAAM;WACzB,MAAM,EAAE,EAAE;EASlB,CAAC;AAEF,eAAO,MAAM,gCAAgC,UAA2B,CAAC;AAGzE,UAAU,mBAAmB;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,KAAK,EAAE,UAAU,EAAE,EAAE,CAAC;CACvB;AAGD,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE;IACR,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC;IACtB,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC;IAChC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC;IAC7B,MAAM,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC;IACxB,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,iBAAuC,+BAmDjD"}
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.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
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 (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
- };
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.createDelegateInstruction = exports.delegateInstructionDiscriminator = exports.delegateStruct = void 0;
23
- var beet = __importStar(require("@metaplex-foundation/beet"));
24
- var web3 = __importStar(require("@solana/web3.js"));
25
- var web3_js_1 = require("@solana/web3.js");
26
- var constants_1 = require("../constants");
27
- var accounts_1 = require("../accounts");
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
- ], "UndelegateInstructionArgs");
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
- var _a, _b, _c, _d;
37
- if (programId === void 0) { programId = new web3_js_1.PublicKey(constants_1.DELEGATION_PROGRAM_ID); }
38
- var _e = (0, accounts_1.DelegateAccounts)(accounts.delegateAccount, accounts.ownerProgram), delegationRecord = _e.delegationRecord, delegationMetadata = _e.delegationMetadata, bufferPda = _e.bufferPda;
39
- args = args !== null && args !== void 0 ? 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
- var keys = [
58
+ const keys = [
45
59
  { pubkey: accounts.payer, isWritable: false, isSigner: true },
46
- { pubkey: accounts.delegateAccount, isWritable: true, isSigner: true },
60
+ { pubkey: accounts.delegatedAccount, isWritable: true, isSigner: true },
47
61
  { pubkey: accounts.ownerProgram, isWritable: false, isSigner: false },
48
62
  {
49
- pubkey: (_a = accounts.buffer) !== null && _a !== void 0 ? _a : bufferPda,
63
+ pubkey: delegateBufferPda,
50
64
  isWritable: true,
51
65
  isSigner: false,
52
66
  },
53
67
  {
54
- pubkey: (_b = accounts.delegationRecord) !== null && _b !== void 0 ? _b : delegationRecord,
68
+ pubkey: accounts.delegationRecord ?? delegationRecordPda,
55
69
  isWritable: true,
56
70
  isSigner: false,
57
71
  },
58
72
  {
59
- pubkey: (_c = accounts.delegationMetadata) !== null && _c !== void 0 ? _c : delegationMetadata,
73
+ pubkey: accounts.delegationMetadata ?? delegationMetadataPda,
60
74
  isWritable: true,
61
75
  isSigner: false,
62
76
  },
63
77
  {
64
- pubkey: (_d = accounts.systemProgram) !== null && _d !== void 0 ? _d : web3.SystemProgram.programId,
78
+ pubkey: accounts.systemProgram ?? web3.SystemProgram.programId,
65
79
  isWritable: false,
66
80
  isSigner: false,
67
81
  },
68
82
  ];
69
- var data = exports.delegateStruct.serialize({
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(function (seed) { return seed.map(Number); }),
74
- })[0];
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: programId,
77
- keys: keys,
78
- data: 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":";;;;;;;;;;;;;;;;;;;;;;AAAA,8DAAkD;AAClD,oDAAwC;AACxC,2CAA4C;AAC5C,0CAAqD;AACrD,wCAA+C;AAElC,QAAA,cAAc,GAAG,IAAI,IAAI,CAAC,qBAAqB,CAM1D;IACE,CAAC,0BAA0B,EAAE,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACpE,CAAC,aAAa,EAAE,IAAI,CAAC,GAAG,CAAC;IACzB,CAAC,qBAAqB,EAAE,IAAI,CAAC,GAAG,CAAC;IACjC,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;CAC3C,EACD,2BAA2B,CAC5B,CAAC;AAEW,QAAA,gCAAgC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAUzE,SAAgB,yBAAyB,CACvC,QAQC,EACD,IAA0B,EAC1B,SAAgD;;IAAhD,0BAAA,EAAA,gBAAgB,mBAAS,CAAC,iCAAqB,CAAC;IAE1C,IAAA,KAAsD,IAAA,2BAAgB,EAC1E,QAAQ,CAAC,eAAe,EACxB,QAAQ,CAAC,YAAY,CACtB,EAHO,gBAAgB,sBAAA,EAAE,kBAAkB,wBAAA,EAAE,SAAS,eAGtD,CAAC;IAEF,IAAI,GAAG,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI;QACb,WAAW,EAAE,CAAC;QACd,mBAAmB,EAAE,UAAU;QAC/B,KAAK,EAAE,EAAE;KACV,CAAC;IAEF,IAAM,IAAI,GAAuB;QAC/B,EAAE,MAAM,EAAE,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC7D,EAAE,MAAM,EAAE,QAAQ,CAAC,eAAe,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE;QACtE,EAAE,MAAM,EAAE,QAAQ,CAAC,YAAY,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE;QACrE;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,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,MAAA,QAAQ,CAAC,aAAa,mCAAI,IAAI,CAAC,aAAa,CAAC,SAAS;YAC9D,UAAU,EAAE,KAAK;YACjB,QAAQ,EAAE,KAAK;SAChB;KACF,CAAC;IAEK,IAAA,IAAI,GAAI,sBAAc,CAAC,SAAS,CAAC;QACtC,wBAAwB,EAAE,wCAAgC;QAC1D,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;QAC7C,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAhB,CAAgB,CAAC;KAClD,CAAC,GALS,CAKR;IAEH,OAAO,IAAI,IAAI,CAAC,sBAAsB,CAAC;QACrC,SAAS,WAAA;QACT,IAAI,MAAA;QACJ,IAAI,MAAA;KACL,CAAC,CAAC;AACL,CAAC;AA9DD,8DA8DC"}
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
@@ -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"}
@@ -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":";;;AAAA,6CAKyB;AACzB,iDAAuD;AAYvD,IAAK,gBAGJ;AAHD,WAAK,gBAAgB;IACnB,iEAAS,CAAA;IACT,qEAAW,CAAA;AACb,CAAC,EAHI,gBAAgB,KAAhB,gBAAgB,QAGpB;AAQD,MAAa,QAAQ;IAOnB,YAAY,MAAqB,EAAE,MAA2B;QAN7C,WAAM,GAAG,IAAI,GAAG,EAAsB,CAAC;QACvC,gBAAW,GAAG,IAAI,GAAG,EAA4B,CAAC;QAGlD,SAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAGxC,IAAI,CAAC,KAAK,GAAG,IAAI,oBAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC1C,IAAI,CAAC,EAAE,GAAG,IAAI,oBAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC3C,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,CACnB,CAAC,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,oBAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAC9D,CAAC;IACJ,CAAC;IAOM,KAAK,CAAC,YAAY,CAAC,MAAiB;QACzC,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpC,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YACpC,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC/C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,OAAO,MAAM,CAAC;YAChB,CAAC;YACD,MAAM,IAAI,KAAK,CACb,oCAAoC,SAAS,wBAAwB,CACtE,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACpD,MAAM,KAAK,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QAEvC,MAAM,CAAC,gBAAgB,CAAC,GAAG,mBAAS,CAAC,sBAAsB,CACzD,KAAK,EACL,oCAAqB,CACtB,CAAC;QAEF,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,eAAe,CAChC,gBAAgB,EAChB,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,EACvC,WAAW,CACZ,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAElB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CACjD,gBAAgB,EAChB,WAAW,CACZ,CAAC;QACF,OAAO,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAChD,CAAC;IAOM,KAAK,CAAC,OAAO,CAAC,MAAiB;QACpC,IAAI,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QACrD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAC3C,CAAC;QACD,OAAO,MAAM,CAAC,MAAM,KAAK,gBAAgB,CAAC,SAAS;YACjD,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;YAC9C,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;IACjB,CAAC;IAOM,KAAK,CAAC,qBAAqB,CAChC,EAAe;QAEf,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;QACrC,KAAK,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,OAAO,CAC1D,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CACd,EAAE,CAAC;YACF,IAAI,CAAC,UAAU;gBAAE,SAAS;YAC1B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YAC/C,IAAI,MAAM,CAAC,MAAM,KAAK,gBAAgB,CAAC,SAAS,EAAE,CAAC;gBACjD,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;QACD,MAAM,EAAE,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC;QAC3B,OAAO,EAAE,CAAC,MAAM,KAAK,CAAC;YACpB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACxB,CAAC,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC;gBACrB,CAAC,CAAC,IAAI,CAAC,KAAK;gBACZ,CAAC,CAAC,SAAS,CAAC;IAClB,CAAC;IAMM,KAAK,CAAC,SAAS;QACpB,MAAM,OAAO,CAAC,GAAG,CACf,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAC/B,IAAI,CAAC,EAAE,CAAC,2BAA2B,CAAC,GAAG,CAAC,CACzC,CACF,CAAC;IACJ,CAAC;IAEO,YAAY,CAClB,OAAmC,EACnC,MAAiB;QAEjB,MAAM,WAAW,GACf,OAAO,KAAK,IAAI;YAChB,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,oCAAqB,CAAC;YAC3C,OAAO,CAAC,QAAQ,KAAK,CAAC,CAAC;QACzB,MAAM,MAAM,GAAqB,WAAW;YAC1C,CAAC,CAAC;gBACE,MAAM,EAAE,gBAAgB,CAAC,SAAS;gBAClC,SAAS,EAAE,IAAI,mBAAS,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;aACvD;YACH,CAAC,CAAC,EAAE,MAAM,EAAE,gBAAgB,CAAC,WAAW,EAAE,CAAC;QAC7C,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC,CAAC;QAChD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AA3HD,4BA2HC"}
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 = void 0;
51
- function GetCommitmentSignature(transactionSignature, ephemeralConnection) {
52
- var _a, _b;
53
- return __awaiter(this, void 0, void 0, function () {
54
- var txSchedulingSgn, scheduledCommitSgn, latestBlockhash, txCommitInfo, commitSignature;
55
- return __generator(this, function (_c) {
56
- switch (_c.label) {
57
- case 0: return [4, ephemeralConnection.getTransaction(transactionSignature, { maxSupportedTransactionVersion: 0 })];
58
- case 1:
59
- txSchedulingSgn = _c.sent();
60
- if ((txSchedulingSgn === null || txSchedulingSgn === void 0 ? void 0 : txSchedulingSgn.meta) == null) {
61
- throw new Error("Transaction not found or meta is null");
62
- }
63
- scheduledCommitSgn = parseScheduleCommitsLogsMessage((_a = txSchedulingSgn.meta.logMessages) !== null && _a !== void 0 ? _a : []);
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 (var _i = 0, logMessages_1 = logMessages; _i < logMessages_1.length; _i++) {
91
- var message = logMessages_1[_i];
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 (var _i = 0, logMessages_2 = logMessages; _i < logMessages_2.length; _i++) {
101
- var message = logMessages_2[_i];
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,SAAsB,sBAAsB,CAC1C,oBAA4B,EAC5B,mBAA+B;;;;;;wBAEP,WAAM,mBAAmB,CAAC,cAAc,CAC9D,oBAAoB,EACpB,EAAE,8BAA8B,EAAE,CAAC,EAAE,CACtC,EAAA;;oBAHK,eAAe,GAAG,SAGvB;oBACD,IAAI,CAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,IAAI,KAAI,IAAI,EAAE;wBACjC,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;qBAC1D;oBAEK,kBAAkB,GAAG,+BAA+B,CACxD,MAAA,eAAe,CAAC,IAAI,CAAC,WAAW,mCAAI,EAAE,CACvC,CAAC;oBACF,IAAI,kBAAkB,IAAI,IAAI,EAAE;wBAC9B,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;qBAC5D;oBAEuB,WAAM,mBAAmB,CAAC,kBAAkB,EAAE,EAAA;;oBAAhE,eAAe,GAAG,SAA8C;oBACtE,WAAM,mBAAmB,CAAC,kBAAkB,YAC1C,SAAS,EAAE,kBAAkB,IAC1B,eAAe,EAClB,EAAA;;oBAHF,SAGE,CAAC;oBAEkB,WAAM,mBAAmB,CAAC,cAAc,CAC3D,kBAAkB,EAClB,EAAE,8BAA8B,EAAE,CAAC,EAAE,CACtC,EAAA;;oBAHK,YAAY,GAAG,SAGpB;oBACD,IAAI,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,IAAI,KAAI,IAAI,EAAE;wBAC9B,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;qBAC1D;oBAEK,eAAe,GAAG,uBAAuB,CAC7C,MAAA,YAAY,CAAC,IAAI,CAAC,WAAW,mCAAI,EAAE,CACpC,CAAC;oBACF,IAAI,eAAe,IAAI,IAAI,EAAE;wBAC3B,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;qBACxD;oBAED,WAAO,eAAe,EAAC;;;;CACxB;AAzCD,wDAyCC;AAED,SAAS,+BAA+B,CAAC,WAAqB;IAC5D,KAAsB,UAAW,EAAX,2BAAW,EAAX,yBAAW,EAAX,IAAW,EAAE;QAA9B,IAAM,OAAO,oBAAA;QAChB,IAAM,eAAe,GAAG,iCAAiC,CAAC;QAC1D,IAAI,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE;YACrC,OAAO,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;SAC1C;KACF;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,uBAAuB,CAAC,WAAqB;IACpD,KAAsB,UAAW,EAAX,2BAAW,EAAX,yBAAW,EAAX,IAAW,EAAE;QAA9B,IAAM,OAAO,oBAAA;QAChB,IAAM,eAAe,GAAG,oCAAoC,CAAC;QAC7D,IAAI,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE;YACrC,OAAO,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;SAC1C;KACF;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
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.0.7",
3
+ "version": "0.2.1",
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 && tsc && npm run lint:fix",
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": "^7.13.0",
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": "^17.8.1",
30
- "eslint-plugin-prettier": "^5.1.3",
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
- "typedoc": "^0.21.0",
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.92.3"
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
@@ -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
@@ -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
@@ -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"}