@magicblock-labs/ephemeral-rollups-kit 0.5.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/lib/__test__/connection.test.js +20 -1
  2. package/lib/__test__/connection.test.js.map +1 -1
  3. package/lib/__test__/instructions.test.js +249 -35
  4. package/lib/__test__/instructions.test.js.map +1 -1
  5. package/lib/connection.d.ts +4 -1
  6. package/lib/connection.d.ts.map +1 -1
  7. package/lib/connection.js +8 -0
  8. package/lib/connection.js.map +1 -1
  9. package/lib/instructions/delegation-program/closeEphemeralBalance.d.ts +4 -0
  10. package/lib/instructions/delegation-program/closeEphemeralBalance.d.ts.map +1 -1
  11. package/lib/instructions/delegation-program/closeEphemeralBalance.js +35 -5
  12. package/lib/instructions/delegation-program/closeEphemeralBalance.js.map +1 -1
  13. package/lib/instructions/delegation-program/delegate.d.ts +10 -3
  14. package/lib/instructions/delegation-program/delegate.d.ts.map +1 -1
  15. package/lib/instructions/delegation-program/delegate.js +60 -14
  16. package/lib/instructions/delegation-program/delegate.js.map +1 -1
  17. package/lib/instructions/delegation-program/index.d.ts +1 -1
  18. package/lib/instructions/delegation-program/topUpEphemeralBalance.d.ts +5 -0
  19. package/lib/instructions/delegation-program/topUpEphemeralBalance.d.ts.map +1 -1
  20. package/lib/instructions/delegation-program/topUpEphemeralBalance.js +29 -6
  21. package/lib/instructions/delegation-program/topUpEphemeralBalance.js.map +1 -1
  22. package/lib/instructions/index.d.ts +1 -0
  23. package/lib/instructions/index.d.ts.map +1 -1
  24. package/lib/instructions/index.js +1 -0
  25. package/lib/instructions/index.js.map +1 -1
  26. package/lib/instructions/magic-program/index.d.ts +3 -0
  27. package/lib/instructions/magic-program/index.d.ts.map +1 -0
  28. package/lib/instructions/magic-program/index.js +8 -0
  29. package/lib/instructions/magic-program/index.js.map +1 -0
  30. package/lib/instructions/magic-program/scheduleCommit.d.ts +3 -0
  31. package/lib/instructions/magic-program/scheduleCommit.d.ts.map +1 -0
  32. package/lib/instructions/magic-program/scheduleCommit.js +24 -0
  33. package/lib/instructions/magic-program/scheduleCommit.js.map +1 -0
  34. package/lib/instructions/magic-program/scheduleCommitAndUndelegate.d.ts +3 -0
  35. package/lib/instructions/magic-program/scheduleCommitAndUndelegate.d.ts.map +1 -0
  36. package/lib/instructions/magic-program/scheduleCommitAndUndelegate.js +24 -0
  37. package/lib/instructions/magic-program/scheduleCommitAndUndelegate.js.map +1 -0
  38. package/lib/pda.d.ts +5 -0
  39. package/lib/pda.d.ts.map +1 -1
  40. package/lib/pda.js +50 -0
  41. package/lib/pda.js.map +1 -1
  42. package/package.json +1 -1
  43. package/lib/generated/delegation-program-instructions/closeEphemeralBalance.d.ts +0 -10
  44. package/lib/generated/delegation-program-instructions/closeEphemeralBalance.d.ts.map +0 -1
  45. package/lib/generated/delegation-program-instructions/closeEphemeralBalance.js +0 -40
  46. package/lib/generated/delegation-program-instructions/closeEphemeralBalance.js.map +0 -1
  47. package/lib/generated/delegation-program-instructions/delegate.d.ts +0 -17
  48. package/lib/generated/delegation-program-instructions/delegate.d.ts.map +0 -1
  49. package/lib/generated/delegation-program-instructions/delegate.js +0 -75
  50. package/lib/generated/delegation-program-instructions/delegate.js.map +0 -1
  51. package/lib/generated/delegation-program-instructions/index.d.ts +0 -4
  52. package/lib/generated/delegation-program-instructions/index.d.ts.map +0 -1
  53. package/lib/generated/delegation-program-instructions/index.js +0 -20
  54. package/lib/generated/delegation-program-instructions/index.js.map +0 -1
  55. package/lib/generated/delegation-program-instructions/topUpEphemeralBalance.d.ts +0 -12
  56. package/lib/generated/delegation-program-instructions/topUpEphemeralBalance.d.ts.map +0 -1
  57. package/lib/generated/delegation-program-instructions/topUpEphemeralBalance.js +0 -47
  58. package/lib/generated/delegation-program-instructions/topUpEphemeralBalance.js.map +0 -1
@@ -1,13 +1,43 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createCloseEscrowInstruction = createCloseEscrowInstruction;
4
- const delegation_program_instructions_1 = require("../../generated/delegation-program-instructions");
4
+ exports.serializeCloseEphemeralBalanceInstructionData = serializeCloseEphemeralBalanceInstructionData;
5
+ const kit_1 = require("@solana/kit");
6
+ const system_1 = require("@solana-program/system");
7
+ const constants_1 = require("../../constants");
5
8
  function createCloseEscrowInstruction(escrow, escrowAuthority, index) {
6
- return (0, delegation_program_instructions_1.createCloseEphemeralBalanceInstruction)({
7
- payer: escrowAuthority,
8
- ephemeralBalanceAccount: escrow,
9
- }, {
9
+ const [instructionData] = serializeCloseEphemeralBalanceInstructionData({
10
10
  index: index ?? 255,
11
11
  });
12
+ const accounts_ = [
13
+ {
14
+ address: escrowAuthority,
15
+ role: kit_1.AccountRole.READONLY_SIGNER,
16
+ },
17
+ {
18
+ address: escrow,
19
+ role: kit_1.AccountRole.WRITABLE,
20
+ },
21
+ {
22
+ address: system_1.SYSTEM_PROGRAM_ADDRESS,
23
+ role: kit_1.AccountRole.READONLY,
24
+ },
25
+ ];
26
+ return {
27
+ accounts: accounts_,
28
+ data: instructionData,
29
+ programAddress: constants_1.DELEGATION_PROGRAM_ID,
30
+ };
31
+ }
32
+ function serializeCloseEphemeralBalanceInstructionData(args) {
33
+ const discriminator = [11, 0, 0, 0, 0, 0, 0, 0];
34
+ const buffer = new ArrayBuffer(9);
35
+ const view = new DataView(buffer);
36
+ let offset = 0;
37
+ for (let i = 0; i < 8; i++) {
38
+ view.setUint8(offset++, discriminator[i]);
39
+ }
40
+ view.setUint8(offset, args?.index ?? 255);
41
+ return [new Uint8Array(buffer, 0, 9)];
12
42
  }
13
43
  //# sourceMappingURL=closeEphemeralBalance.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"closeEphemeralBalance.js","sourceRoot":"","sources":["../../../src/instructions/delegation-program/closeEphemeralBalance.ts"],"names":[],"mappings":";;AAYA,oEAcC;AAzBD,qGAAoJ;AAWpJ,SAAgB,4BAA4B,CAC1C,MAAe,EACf,eAAwB,EACxB,KAAc;IAEd,OAAO,IAAA,wEAAuC,EAC5C;QACE,KAAK,EAAE,eAAe;QACtB,uBAAuB,EAAE,MAAM;KAChC,EACD;QACE,KAAK,EAAE,KAAK,IAAI,GAAG;KACpB,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"closeEphemeralBalance.js","sourceRoot":"","sources":["../../../src/instructions/delegation-program/closeEphemeralBalance.ts"],"names":[],"mappings":";;AAeA,oEA6BC;AAED,sGAiBC;AA/DD,qCAA6E;AAC7E,mDAAgE;AAChE,+CAAwD;AAaxD,SAAgB,4BAA4B,CAC1C,MAAe,EACf,eAAwB,EACxB,KAAc;IAEd,MAAM,CAAC,eAAe,CAAC,GAAG,6CAA6C,CAAC;QACtE,KAAK,EAAE,KAAK,IAAI,GAAG;KACpB,CAAC,CAAC;IAEH,MAAM,SAAS,GAAkB;QAC/B;YACE,OAAO,EAAE,eAAe;YACxB,IAAI,EAAE,iBAAW,CAAC,eAAe;SAClC;QACD;YACE,OAAO,EAAE,MAAM;YACf,IAAI,EAAE,iBAAW,CAAC,QAAQ;SAC3B;QACD;YACE,OAAO,EAAE,+BAAsB;YAC/B,IAAI,EAAE,iBAAW,CAAC,QAAQ;SAC3B;KACF,CAAC;IAEF,OAAO;QACL,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,eAAe;QACrB,cAAc,EAAE,iCAAqB;KACtC,CAAC;AACJ,CAAC;AAED,SAAgB,6CAA6C,CAC3D,IAA2C;IAE3C,MAAM,aAAa,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;IAClC,IAAI,MAAM,GAAG,CAAC,CAAC;IAGf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC;IAGD,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,IAAI,GAAG,CAAC,CAAC;IAE1C,OAAO,CAAC,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACxC,CAAC"}
@@ -1,7 +1,14 @@
1
1
  import { Address, Instruction } from "@solana/kit";
2
- export interface DelegateInstructionData {
3
- commitFrequencyMs: number;
2
+ export interface DelegateInstructionArgs {
3
+ commitFrequencyMs?: number;
4
+ seeds?: Uint8Array[];
4
5
  validator?: Address | null;
5
6
  }
6
- export declare function createDelegateInstruction(delegatedAccount: Address, seeds: Uint8Array[], ownerProgram: Address, payer: Address, delegateBuffer: Address, delegationRecord: Address, delegationMetadata: Address, data: DelegateInstructionData): Instruction;
7
+ export declare function createDelegateInstruction(accounts: {
8
+ payer: Address;
9
+ delegatedAccount: Address;
10
+ ownerProgram: Address;
11
+ validator?: Address;
12
+ }, args?: DelegateInstructionArgs): Promise<Instruction>;
13
+ export declare function serializeDelegateInstructionData(args?: DelegateInstructionArgs): [Uint8Array];
7
14
  //# sourceMappingURL=delegate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"delegate.d.ts","sourceRoot":"","sources":["../../../src/instructions/delegation-program/delegate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAInD,MAAM,WAAW,uBAAuB;IACtC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;CAC5B;AAgBD,wBAAgB,yBAAyB,CACvC,gBAAgB,EAAE,OAAO,EACzB,KAAK,EAAE,UAAU,EAAE,EACnB,YAAY,EAAE,OAAO,EACrB,KAAK,EAAE,OAAO,EACd,cAAc,EAAE,OAAO,EACvB,gBAAgB,EAAE,OAAO,EACzB,kBAAkB,EAAE,OAAO,EAC3B,IAAI,EAAE,uBAAuB,GAC5B,WAAW,CAiBb"}
1
+ {"version":3,"file":"delegate.d.ts","sourceRoot":"","sources":["../../../src/instructions/delegation-program/delegate.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,WAAW,EAIZ,MAAM,aAAa,CAAC;AAYrB,MAAM,WAAW,uBAAuB;IACtC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;CAC5B;AAMD,wBAAsB,yBAAyB,CAC7C,QAAQ,EAAE;IACR,KAAK,EAAE,OAAO,CAAC;IACf,gBAAgB,EAAE,OAAO,CAAC;IAC1B,YAAY,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,EACD,IAAI,CAAC,EAAE,uBAAuB,GAC7B,OAAO,CAAC,WAAW,CAAC,CAiCtB;AAED,wBAAgB,gCAAgC,CAC9C,IAAI,CAAC,EAAE,uBAAuB,GAC7B,CAAC,UAAU,CAAC,CA2Cd"}
@@ -1,21 +1,67 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createDelegateInstruction = createDelegateInstruction;
4
+ exports.serializeDelegateInstructionData = serializeDelegateInstructionData;
5
+ const kit_1 = require("@solana/kit");
4
6
  const system_1 = require("@solana-program/system");
5
- const delegation_program_instructions_1 = require("../../generated/delegation-program-instructions");
6
- function createDelegateInstruction(delegatedAccount, seeds, ownerProgram, payer, delegateBuffer, delegationRecord, delegationMetadata, data) {
7
- return (0, delegation_program_instructions_1.createDelegateInstruction)({
8
- payer,
9
- delegatedAccount,
10
- ownerProgram,
11
- delegateBuffer,
12
- delegationRecord,
13
- delegationMetadata,
14
- systemProgram: system_1.SYSTEM_PROGRAM_ADDRESS,
15
- }, {
16
- commitFrequencyMs: data.commitFrequencyMs,
17
- seeds,
18
- validator: data.validator ?? null,
7
+ const constants_1 = require("../../constants");
8
+ const pda_1 = require("../../pda");
9
+ async function createDelegateInstruction(accounts, args) {
10
+ const delegateBuffer = await (0, pda_1.delegateBufferPdaFromDelegatedAccountAndOwnerProgram)(accounts.delegatedAccount, accounts.ownerProgram);
11
+ const delegationRecord = await (0, pda_1.delegationRecordPdaFromDelegatedAccount)(accounts.delegatedAccount);
12
+ const delegationMetadata = await (0, pda_1.delegationMetadataPdaFromDelegatedAccount)(accounts.delegatedAccount);
13
+ const accountsMeta = [
14
+ { address: accounts.payer, role: kit_1.AccountRole.WRITABLE_SIGNER },
15
+ { address: accounts.delegatedAccount, role: kit_1.AccountRole.WRITABLE_SIGNER },
16
+ { address: accounts.ownerProgram, role: kit_1.AccountRole.READONLY },
17
+ { address: delegateBuffer, role: kit_1.AccountRole.WRITABLE },
18
+ { address: delegationRecord, role: kit_1.AccountRole.WRITABLE },
19
+ { address: delegationMetadata, role: kit_1.AccountRole.WRITABLE },
20
+ { address: system_1.SYSTEM_PROGRAM_ADDRESS, role: kit_1.AccountRole.READONLY },
21
+ ];
22
+ const [instructionData] = serializeDelegateInstructionData({
23
+ validator: accounts.validator,
24
+ ...args,
19
25
  });
26
+ return {
27
+ accounts: accountsMeta,
28
+ data: instructionData,
29
+ programAddress: constants_1.DELEGATION_PROGRAM_ID,
30
+ };
31
+ }
32
+ function serializeDelegateInstructionData(args) {
33
+ const delegateInstructionDiscriminator = [0, 0, 0, 0, 0, 0, 0, 0];
34
+ const commitFrequencyMs = args?.commitFrequencyMs ?? 0xffffffff;
35
+ const seeds = args?.seeds ?? [];
36
+ const validator = args?.validator;
37
+ let offset = 0;
38
+ const buffer = new ArrayBuffer(1024);
39
+ const view = new DataView(buffer);
40
+ for (let i = 0; i < 8; i++) {
41
+ view.setUint8(offset++, delegateInstructionDiscriminator[i]);
42
+ }
43
+ view.setUint32(offset, commitFrequencyMs, true);
44
+ offset += 4;
45
+ view.setUint32(offset, seeds.length, true);
46
+ offset += 4;
47
+ for (const seed of seeds) {
48
+ view.setUint32(offset, seed.length, true);
49
+ offset += 4;
50
+ const seedBytes = new Uint8Array(buffer, offset, seed.length);
51
+ seedBytes.set(seed);
52
+ offset += seed.length;
53
+ }
54
+ if (validator) {
55
+ view.setUint8(offset++, 1);
56
+ const validatorBytes = new Uint8Array(buffer, offset, 32);
57
+ const addressEncoder = (0, kit_1.getAddressEncoder)();
58
+ const addressBytes = addressEncoder.encode(validator);
59
+ validatorBytes.set(addressBytes);
60
+ offset += 32;
61
+ }
62
+ else {
63
+ view.setUint8(offset++, 0);
64
+ }
65
+ return [new Uint8Array(buffer, 0, offset)];
20
66
  }
21
67
  //# sourceMappingURL=delegate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"delegate.js","sourceRoot":"","sources":["../../../src/instructions/delegation-program/delegate.ts"],"names":[],"mappings":";;AAuBA,8DA0BC;AAhDD,mDAAgE;AAChE,qGAA0H;AAqB1H,SAAgB,yBAAyB,CACvC,gBAAyB,EACzB,KAAmB,EACnB,YAAqB,EACrB,KAAc,EACd,cAAuB,EACvB,gBAAyB,EACzB,kBAA2B,EAC3B,IAA6B;IAE7B,OAAO,IAAA,2DAA0B,EAC/B;QACE,KAAK;QACL,gBAAgB;QAChB,YAAY;QACZ,cAAc;QACd,gBAAgB;QAChB,kBAAkB;QAClB,aAAa,EAAE,+BAAsB;KACtC,EACD;QACE,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;QACzC,KAAK;QACL,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI;KAClC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"delegate.js","sourceRoot":"","sources":["../../../src/instructions/delegation-program/delegate.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export { createDelegateInstruction, type DelegateInstructionData, } from "./delegate";
1
+ export { createDelegateInstruction, type DelegateInstructionArgs, } from "./delegate";
2
2
  export { createTopUpEscrowInstruction } from "./topUpEphemeralBalance";
3
3
  export { createCloseEscrowInstruction } from "./closeEphemeralBalance";
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1,3 +1,8 @@
1
1
  import { Address, Instruction } from "@solana/kit";
2
+ export interface TopUpEphemeralBalanceInstructionArgs {
3
+ amount: bigint;
4
+ index?: number;
5
+ }
2
6
  export declare function createTopUpEscrowInstruction(escrow: Address, escrowAuthority: Address, payer: Address, amount: number, index?: number): Instruction;
7
+ export declare function serializeTopUpEphemeralBalanceInstructionData(args: TopUpEphemeralBalanceInstructionArgs): [Uint8Array];
3
8
  //# sourceMappingURL=topUpEphemeralBalance.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"topUpEphemeralBalance.d.ts","sourceRoot":"","sources":["../../../src/instructions/delegation-program/topUpEphemeralBalance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAcnD,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,OAAO,EACf,eAAe,EAAE,OAAO,EACxB,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,MAAM,EACd,KAAK,CAAC,EAAE,MAAM,GACb,WAAW,CAYb"}
1
+ {"version":3,"file":"topUpEphemeralBalance.d.ts","sourceRoot":"","sources":["../../../src/instructions/delegation-program/topUpEphemeralBalance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,WAAW,EAA4B,MAAM,aAAa,CAAC;AAO7E,MAAM,WAAW,oCAAoC;IACnD,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAMD,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,OAAO,EACf,eAAe,EAAE,OAAO,EACxB,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,MAAM,EACd,KAAK,CAAC,EAAE,MAAM,GACb,WAAW,CAkBb;AAED,wBAAgB,6CAA6C,CAC3D,IAAI,EAAE,oCAAoC,GACzC,CAAC,UAAU,CAAC,CAmBd"}
@@ -1,15 +1,38 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createTopUpEscrowInstruction = createTopUpEscrowInstruction;
4
- const delegation_program_instructions_1 = require("../../generated/delegation-program-instructions");
4
+ exports.serializeTopUpEphemeralBalanceInstructionData = serializeTopUpEphemeralBalanceInstructionData;
5
+ const kit_1 = require("@solana/kit");
6
+ const system_1 = require("@solana-program/system");
7
+ const constants_1 = require("../../constants");
5
8
  function createTopUpEscrowInstruction(escrow, escrowAuthority, payer, amount, index) {
6
- return (0, delegation_program_instructions_1.createTopUpEphemeralBalanceInstruction)({
7
- payer,
8
- pubkey: escrowAuthority,
9
- ephemeralBalanceAccount: escrow,
10
- }, {
9
+ const accounts = [
10
+ { address: payer, role: kit_1.AccountRole.WRITABLE_SIGNER },
11
+ { address: escrowAuthority, role: kit_1.AccountRole.READONLY },
12
+ { address: escrow, role: kit_1.AccountRole.WRITABLE },
13
+ { address: system_1.SYSTEM_PROGRAM_ADDRESS, role: kit_1.AccountRole.READONLY },
14
+ ];
15
+ const [instructionData] = serializeTopUpEphemeralBalanceInstructionData({
11
16
  amount: BigInt(amount),
12
17
  index: index ?? 255,
13
18
  });
19
+ return {
20
+ accounts,
21
+ data: instructionData,
22
+ programAddress: constants_1.DELEGATION_PROGRAM_ID,
23
+ };
24
+ }
25
+ function serializeTopUpEphemeralBalanceInstructionData(args) {
26
+ const discriminator = [9, 0, 0, 0, 0, 0, 0, 0];
27
+ const buffer = new ArrayBuffer(17);
28
+ const view = new DataView(buffer);
29
+ let offset = 0;
30
+ for (let i = 0; i < 8; i++) {
31
+ view.setUint8(offset++, discriminator[i]);
32
+ }
33
+ view.setBigUint64(offset, args.amount, true);
34
+ offset += 8;
35
+ view.setUint8(offset, args.index ?? 255);
36
+ return [new Uint8Array(buffer, 0, 17)];
14
37
  }
15
38
  //# sourceMappingURL=topUpEphemeralBalance.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"topUpEphemeralBalance.js","sourceRoot":"","sources":["../../../src/instructions/delegation-program/topUpEphemeralBalance.ts"],"names":[],"mappings":";;AAcA,oEAkBC;AA/BD,qGAAoJ;AAapJ,SAAgB,4BAA4B,CAC1C,MAAe,EACf,eAAwB,EACxB,KAAc,EACd,MAAc,EACd,KAAc;IAEd,OAAO,IAAA,wEAAuC,EAC5C;QACE,KAAK;QACL,MAAM,EAAE,eAAe;QACvB,uBAAuB,EAAE,MAAM;KAChC,EACD;QACE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;QACtB,KAAK,EAAE,KAAK,IAAI,GAAG;KACpB,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"topUpEphemeralBalance.js","sourceRoot":"","sources":["../../../src/instructions/delegation-program/topUpEphemeralBalance.ts"],"names":[],"mappings":";;AAgBA,oEAwBC;AAED,sGAqBC;AA/DD,qCAA6E;AAC7E,mDAAgE;AAChE,+CAAwD;AAcxD,SAAgB,4BAA4B,CAC1C,MAAe,EACf,eAAwB,EACxB,KAAc,EACd,MAAc,EACd,KAAc;IAEd,MAAM,QAAQ,GAAkB;QAC9B,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,iBAAW,CAAC,eAAe,EAAE;QACrD,EAAE,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,iBAAW,CAAC,QAAQ,EAAE;QACxD,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAW,CAAC,QAAQ,EAAE;QAC/C,EAAE,OAAO,EAAE,+BAAsB,EAAE,IAAI,EAAE,iBAAW,CAAC,QAAQ,EAAE;KAChE,CAAC;IAEF,MAAM,CAAC,eAAe,CAAC,GAAG,6CAA6C,CAAC;QACtE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;QACtB,KAAK,EAAE,KAAK,IAAI,GAAG;KACpB,CAAC,CAAC;IAEH,OAAO;QACL,QAAQ;QACR,IAAI,EAAE,eAAe;QACrB,cAAc,EAAE,iCAAqB;KACtC,CAAC;AACJ,CAAC;AAED,SAAgB,6CAA6C,CAC3D,IAA0C;IAE1C,MAAM,aAAa,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,EAAE,CAAC,CAAC;IACnC,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;IAClC,IAAI,MAAM,GAAG,CAAC,CAAC;IAGf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC;IAGD,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC7C,MAAM,IAAI,CAAC,CAAC;IAGZ,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC;IAEzC,OAAO,CAAC,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AACzC,CAAC"}
@@ -1,2 +1,3 @@
1
1
  export * from "./delegation-program";
2
+ export * from "./magic-program";
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/instructions/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/instructions/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC"}
@@ -15,4 +15,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./delegation-program"), exports);
18
+ __exportStar(require("./magic-program"), exports);
18
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/instructions/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uDAAqC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/instructions/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uDAAqC;AACrC,kDAAgC"}
@@ -0,0 +1,3 @@
1
+ export { createCommitInstruction } from "./scheduleCommit";
2
+ export { createCommitAndUndelegateInstruction } from "./scheduleCommitAndUndelegate";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/instructions/magic-program/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,oCAAoC,EAAE,MAAM,+BAA+B,CAAC"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createCommitAndUndelegateInstruction = exports.createCommitInstruction = void 0;
4
+ var scheduleCommit_1 = require("./scheduleCommit");
5
+ Object.defineProperty(exports, "createCommitInstruction", { enumerable: true, get: function () { return scheduleCommit_1.createCommitInstruction; } });
6
+ var scheduleCommitAndUndelegate_1 = require("./scheduleCommitAndUndelegate");
7
+ Object.defineProperty(exports, "createCommitAndUndelegateInstruction", { enumerable: true, get: function () { return scheduleCommitAndUndelegate_1.createCommitAndUndelegateInstruction; } });
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/instructions/magic-program/index.ts"],"names":[],"mappings":";;;AAAA,mDAA2D;AAAlD,yHAAA,uBAAuB,OAAA;AAChC,6EAAqF;AAA5E,mJAAA,oCAAoC,OAAA"}
@@ -0,0 +1,3 @@
1
+ import { Address, Instruction } from "@solana/kit";
2
+ export declare function createCommitInstruction(payer: Address, accountsToCommit: Address[]): Instruction;
3
+ //# sourceMappingURL=scheduleCommit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scheduleCommit.d.ts","sourceRoot":"","sources":["../../../src/instructions/magic-program/scheduleCommit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAYnD,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,OAAO,EACd,gBAAgB,EAAE,OAAO,EAAE,GAC1B,WAAW,CAoBb"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createCommitInstruction = createCommitInstruction;
4
+ const instructions_1 = require("@solana/instructions");
5
+ const constants_1 = require("../../constants");
6
+ function createCommitInstruction(payer, accountsToCommit) {
7
+ const accounts = [
8
+ { address: payer, role: instructions_1.AccountRole.WRITABLE_SIGNER },
9
+ { address: constants_1.MAGIC_CONTEXT_ID, role: instructions_1.AccountRole.WRITABLE },
10
+ ...accountsToCommit.map((account) => ({
11
+ address: account,
12
+ role: instructions_1.AccountRole.READONLY,
13
+ })),
14
+ ];
15
+ const data = new Uint8Array(4);
16
+ const view = new DataView(data.buffer);
17
+ view.setUint32(0, 1, true);
18
+ return {
19
+ accounts,
20
+ programAddress: constants_1.MAGIC_PROGRAM_ID,
21
+ data,
22
+ };
23
+ }
24
+ //# sourceMappingURL=scheduleCommit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scheduleCommit.js","sourceRoot":"","sources":["../../../src/instructions/magic-program/scheduleCommit.ts"],"names":[],"mappings":";;AAYA,0DAuBC;AAlCD,uDAAmD;AACnD,+CAAqE;AAUrE,SAAgB,uBAAuB,CACrC,KAAc,EACd,gBAA2B;IAE3B,MAAM,QAAQ,GAAG;QACf,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,0BAAW,CAAC,eAAe,EAAE;QACrD,EAAE,OAAO,EAAE,4BAAgB,EAAE,IAAI,EAAE,0BAAW,CAAC,QAAQ,EAAE;QACzD,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACpC,OAAO,EAAE,OAAO;YAChB,IAAI,EAAE,0BAAW,CAAC,QAAQ;SAC3B,CAAC,CAAC;KACK,CAAC;IAGX,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;IAC/B,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;IAE3B,OAAO;QACL,QAAQ;QACR,cAAc,EAAE,4BAAgB;QAChC,IAAI;KACL,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Address, Instruction } from "@solana/kit";
2
+ export declare function createCommitAndUndelegateInstruction(payer: Address, accountsToCommitAndUndelegate: Address[]): Instruction;
3
+ //# sourceMappingURL=scheduleCommitAndUndelegate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scheduleCommitAndUndelegate.d.ts","sourceRoot":"","sources":["../../../src/instructions/magic-program/scheduleCommitAndUndelegate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAanD,wBAAgB,oCAAoC,CAClD,KAAK,EAAE,OAAO,EACd,6BAA6B,EAAE,OAAO,EAAE,GACvC,WAAW,CAoBb"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createCommitAndUndelegateInstruction = createCommitAndUndelegateInstruction;
4
+ const instructions_1 = require("@solana/instructions");
5
+ const constants_1 = require("../../constants");
6
+ function createCommitAndUndelegateInstruction(payer, accountsToCommitAndUndelegate) {
7
+ const accounts = [
8
+ { address: payer, role: instructions_1.AccountRole.WRITABLE_SIGNER },
9
+ { address: constants_1.MAGIC_CONTEXT_ID, role: instructions_1.AccountRole.WRITABLE },
10
+ ...accountsToCommitAndUndelegate.map((account) => ({
11
+ address: account,
12
+ role: instructions_1.AccountRole.READONLY,
13
+ })),
14
+ ];
15
+ const data = new Uint8Array(4);
16
+ const view = new DataView(data.buffer);
17
+ view.setUint32(0, 2, true);
18
+ return {
19
+ accounts,
20
+ programAddress: constants_1.MAGIC_PROGRAM_ID,
21
+ data,
22
+ };
23
+ }
24
+ //# sourceMappingURL=scheduleCommitAndUndelegate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scheduleCommitAndUndelegate.js","sourceRoot":"","sources":["../../../src/instructions/magic-program/scheduleCommitAndUndelegate.ts"],"names":[],"mappings":";;AAaA,oFAuBC;AAnCD,uDAAmD;AACnD,+CAAqE;AAWrE,SAAgB,oCAAoC,CAClD,KAAc,EACd,6BAAwC;IAExC,MAAM,QAAQ,GAAG;QACf,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,0BAAW,CAAC,eAAe,EAAE;QACrD,EAAE,OAAO,EAAE,4BAAgB,EAAE,IAAI,EAAE,0BAAW,CAAC,QAAQ,EAAE;QACzD,GAAG,6BAA6B,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACjD,OAAO,EAAE,OAAO;YAChB,IAAI,EAAE,0BAAW,CAAC,QAAQ;SAC3B,CAAC,CAAC;KACK,CAAC;IAGX,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;IAC/B,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;IAE3B,OAAO;QACL,QAAQ;QACR,cAAc,EAAE,4BAAgB;QAChC,IAAI;KACL,CAAC;AACJ,CAAC"}
package/lib/pda.d.ts CHANGED
@@ -3,4 +3,9 @@ export declare function delegationRecordPdaFromDelegatedAccount(delegatedAccount
3
3
  export declare function delegationMetadataPdaFromDelegatedAccount(delegatedAccount: Address): Promise<Address<string>>;
4
4
  export declare function delegateBufferPdaFromDelegatedAccountAndOwnerProgram(delegatedAccount: Address, ownerProgramId: Address): Promise<Address<string>>;
5
5
  export declare function escrowPdaFromEscrowAuthority(escrowAuthority: Address, index?: number): Promise<Address<string>>;
6
+ export declare function commitStatePdaFromDelegatedAccount(delegatedAccount: Address): Promise<Address<string>>;
7
+ export declare function commitRecordPdaFromDelegatedAccount(delegatedAccount: Address): Promise<Address<string>>;
8
+ export declare function undelegateBufferPdaFromDelegatedAccount(delegatedAccount: Address): Promise<Address<string>>;
9
+ export declare function feesVaultPda(): Promise<Address<string>>;
10
+ export declare function validatorFeesVaultPdaFromValidator(validator: Address): Promise<Address<string>>;
6
11
  //# sourceMappingURL=pda.d.ts.map
package/lib/pda.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"pda.d.ts","sourceRoot":"","sources":["../src/pda.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EAGR,MAAM,aAAa,CAAC;AAGrB,wBAAsB,uCAAuC,CAC3D,gBAAgB,EAAE,OAAO,4BAQ1B;AAED,wBAAsB,yCAAyC,CAC7D,gBAAgB,EAAE,OAAO,4BAY1B;AAED,wBAAsB,oDAAoD,CACxE,gBAAgB,EAAE,OAAO,EACzB,cAAc,EAAE,OAAO,4BAQxB;AASD,wBAAsB,4BAA4B,CAChD,eAAe,EAAE,OAAO,EACxB,KAAK,GAAE,MAAY,4BAepB"}
1
+ {"version":3,"file":"pda.d.ts","sourceRoot":"","sources":["../src/pda.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EAGR,MAAM,aAAa,CAAC;AAGrB,wBAAsB,uCAAuC,CAC3D,gBAAgB,EAAE,OAAO,4BAQ1B;AAED,wBAAsB,yCAAyC,CAC7D,gBAAgB,EAAE,OAAO,4BAY1B;AAED,wBAAsB,oDAAoD,CACxE,gBAAgB,EAAE,OAAO,EACzB,cAAc,EAAE,OAAO,4BAQxB;AASD,wBAAsB,4BAA4B,CAChD,eAAe,EAAE,OAAO,EACxB,KAAK,GAAE,MAAY,4BAepB;AAED,wBAAsB,kCAAkC,CACtD,gBAAgB,EAAE,OAAO,4BAQ1B;AAED,wBAAsB,mCAAmC,CACvD,gBAAgB,EAAE,OAAO,4BAW1B;AAED,wBAAsB,uCAAuC,CAC3D,gBAAgB,EAAE,OAAO,4BAW1B;AAED,wBAAsB,YAAY,6BAMjC;AAED,wBAAsB,kCAAkC,CAAC,SAAS,EAAE,OAAO,4BAO1E"}
package/lib/pda.js CHANGED
@@ -4,6 +4,11 @@ exports.delegationRecordPdaFromDelegatedAccount = delegationRecordPdaFromDelegat
4
4
  exports.delegationMetadataPdaFromDelegatedAccount = delegationMetadataPdaFromDelegatedAccount;
5
5
  exports.delegateBufferPdaFromDelegatedAccountAndOwnerProgram = delegateBufferPdaFromDelegatedAccountAndOwnerProgram;
6
6
  exports.escrowPdaFromEscrowAuthority = escrowPdaFromEscrowAuthority;
7
+ exports.commitStatePdaFromDelegatedAccount = commitStatePdaFromDelegatedAccount;
8
+ exports.commitRecordPdaFromDelegatedAccount = commitRecordPdaFromDelegatedAccount;
9
+ exports.undelegateBufferPdaFromDelegatedAccount = undelegateBufferPdaFromDelegatedAccount;
10
+ exports.feesVaultPda = feesVaultPda;
11
+ exports.validatorFeesVaultPdaFromValidator = validatorFeesVaultPdaFromValidator;
7
12
  const kit_1 = require("@solana/kit");
8
13
  const constants_1 = require("./constants");
9
14
  async function delegationRecordPdaFromDelegatedAccount(delegatedAccount) {
@@ -48,4 +53,49 @@ async function escrowPdaFromEscrowAuthority(escrowAuthority, index = 255) {
48
53
  });
49
54
  return escrowPda;
50
55
  }
56
+ async function commitStatePdaFromDelegatedAccount(delegatedAccount) {
57
+ const addressEncoder = (0, kit_1.getAddressEncoder)();
58
+ const [commitStatePda] = await (0, kit_1.getProgramDerivedAddress)({
59
+ programAddress: constants_1.DELEGATION_PROGRAM_ID,
60
+ seeds: [Buffer.from("state-diff"), addressEncoder.encode(delegatedAccount)],
61
+ });
62
+ return commitStatePda;
63
+ }
64
+ async function commitRecordPdaFromDelegatedAccount(delegatedAccount) {
65
+ const addressEncoder = (0, kit_1.getAddressEncoder)();
66
+ const [commitRecordPda] = await (0, kit_1.getProgramDerivedAddress)({
67
+ programAddress: constants_1.DELEGATION_PROGRAM_ID,
68
+ seeds: [
69
+ Buffer.from("commit-state-record"),
70
+ addressEncoder.encode(delegatedAccount),
71
+ ],
72
+ });
73
+ return commitRecordPda;
74
+ }
75
+ async function undelegateBufferPdaFromDelegatedAccount(delegatedAccount) {
76
+ const addressEncoder = (0, kit_1.getAddressEncoder)();
77
+ const [undelegateBufferPda] = await (0, kit_1.getProgramDerivedAddress)({
78
+ programAddress: constants_1.DELEGATION_PROGRAM_ID,
79
+ seeds: [
80
+ Buffer.from("undelegate-buffer"),
81
+ addressEncoder.encode(delegatedAccount),
82
+ ],
83
+ });
84
+ return undelegateBufferPda;
85
+ }
86
+ async function feesVaultPda() {
87
+ const [feesVault] = await (0, kit_1.getProgramDerivedAddress)({
88
+ programAddress: constants_1.DELEGATION_PROGRAM_ID,
89
+ seeds: [Buffer.from("fees-vault")],
90
+ });
91
+ return feesVault;
92
+ }
93
+ async function validatorFeesVaultPdaFromValidator(validator) {
94
+ const addressEncoder = (0, kit_1.getAddressEncoder)();
95
+ const [validatorFeesVault] = await (0, kit_1.getProgramDerivedAddress)({
96
+ programAddress: constants_1.DELEGATION_PROGRAM_ID,
97
+ seeds: [Buffer.from("v-fees-vault"), addressEncoder.encode(validator)],
98
+ });
99
+ return validatorFeesVault;
100
+ }
51
101
  //# sourceMappingURL=pda.js.map
package/lib/pda.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"pda.js","sourceRoot":"","sources":["../src/pda.ts"],"names":[],"mappings":";;AAOA,0FASC;AAED,8FAaC;AAED,oHAUC;AASD,oEAiBC;AArED,qCAIqB;AACrB,2CAAoD;AAE7C,KAAK,UAAU,uCAAuC,CAC3D,gBAAyB;IAEzB,MAAM,cAAc,GAAG,IAAA,uBAAiB,GAAE,CAAC;IAC3C,MAAM,CAAC,mBAAmB,CAAC,GAAG,MAAM,IAAA,8BAAwB,EAAC;QAC3D,cAAc,EAAE,iCAAqB;QACrC,KAAK,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;KAC5E,CAAC,CAAC;IACH,OAAO,mBAAmB,CAAC;AAC7B,CAAC;AAEM,KAAK,UAAU,yCAAyC,CAC7D,gBAAyB;IAEzB,MAAM,cAAc,GAAG,IAAA,uBAAiB,GAAE,CAAC;IAC3C,MAAM,CAAC,qBAAqB,CAAC,GAAG,MAAM,IAAA,8BAAwB,EAAC;QAC7D,cAAc,EAAE,iCAAqB;QACrC,KAAK,EAAE;YACL,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC;YAClC,cAAc,CAAC,MAAM,CAAC,gBAAgB,CAAC;SACxC;KACF,CAAC,CAAC;IAEH,OAAO,qBAAqB,CAAC;AAC/B,CAAC;AAEM,KAAK,UAAU,oDAAoD,CACxE,gBAAyB,EACzB,cAAuB;IAEvB,MAAM,cAAc,GAAG,IAAA,uBAAiB,GAAE,CAAC;IAC3C,MAAM,CAAC,iBAAiB,CAAC,GAAG,MAAM,IAAA,8BAAwB,EAAC;QACzD,cAAc,EAAE,cAAc;QAC9B,KAAK,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;KACxE,CAAC,CAAC;IACH,OAAO,iBAAiB,CAAC;AAC3B,CAAC;AASM,KAAK,UAAU,4BAA4B,CAChD,eAAwB,EACxB,QAAgB,GAAG;IAEnB,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,GAAG,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACrD,CAAC;IACD,MAAM,cAAc,GAAG,IAAA,uBAAiB,GAAE,CAAC;IAC3C,MAAM,CAAC,SAAS,CAAC,GAAG,MAAM,IAAA,8BAAwB,EAAC;QACjD,cAAc,EAAE,eAAe;QAC/B,KAAK,EAAE;YACL,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;YACtB,cAAc,CAAC,MAAM,CAAC,eAAe,CAAC;YACtC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC;SACrB;KACF,CAAC,CAAC;IACH,OAAO,SAAS,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"pda.js","sourceRoot":"","sources":["../src/pda.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@magicblock-labs/ephemeral-rollups-kit",
3
- "version": "0.5.0",
3
+ "version": "0.6.0",
4
4
  "author": "MagicBlock Labs",
5
5
  "license": "MIT",
6
6
  "publishConfig": {
@@ -1,10 +0,0 @@
1
- import { Address, Instruction } from "@solana/kit";
2
- export interface CloseEphemeralBalanceInstructionArgs {
3
- index?: number;
4
- }
5
- export declare function createCloseEphemeralBalanceInstruction(accounts: {
6
- payer: Address;
7
- ephemeralBalanceAccount: Address;
8
- }, args?: CloseEphemeralBalanceInstructionArgs): Instruction;
9
- export declare function serializeCloseEphemeralBalanceInstructionData(args?: CloseEphemeralBalanceInstructionArgs): [Uint8Array];
10
- //# sourceMappingURL=closeEphemeralBalance.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"closeEphemeralBalance.d.ts","sourceRoot":"","sources":["../../../src/generated/delegation-program-instructions/closeEphemeralBalance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,OAAO,EAAe,WAAW,EAAE,MAAM,aAAa,CAAC;AAO7E,MAAM,WAAW,oCAAoC;IACnD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAMD,wBAAgB,sCAAsC,CACpD,QAAQ,EAAE;IACR,KAAK,EAAE,OAAO,CAAC;IACf,uBAAuB,EAAE,OAAO,CAAC;CAClC,EACD,IAAI,CAAC,EAAE,oCAAoC,GAC1C,WAAW,CAuBb;AAED,wBAAgB,6CAA6C,CAC3D,IAAI,CAAC,EAAE,oCAAoC,GAC1C,CAAC,UAAU,CAAC,CAcd"}
@@ -1,40 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createCloseEphemeralBalanceInstruction = createCloseEphemeralBalanceInstruction;
4
- exports.serializeCloseEphemeralBalanceInstructionData = serializeCloseEphemeralBalanceInstructionData;
5
- const kit_1 = require("@solana/kit");
6
- const constants_1 = require("../../constants");
7
- const system_1 = require("@solana-program/system");
8
- function createCloseEphemeralBalanceInstruction(accounts, args) {
9
- const [data] = serializeCloseEphemeralBalanceInstructionData(args ?? {});
10
- const accounts_ = [
11
- {
12
- address: accounts.payer,
13
- role: kit_1.AccountRole.READONLY_SIGNER,
14
- },
15
- {
16
- address: accounts.ephemeralBalanceAccount,
17
- role: kit_1.AccountRole.WRITABLE,
18
- },
19
- {
20
- address: system_1.SYSTEM_PROGRAM_ADDRESS,
21
- role: kit_1.AccountRole.READONLY,
22
- },
23
- ];
24
- return {
25
- accounts: accounts_,
26
- data,
27
- programAddress: constants_1.DELEGATION_PROGRAM_ID,
28
- };
29
- }
30
- function serializeCloseEphemeralBalanceInstructionData(args) {
31
- const discriminator = [11, 0, 0, 0, 0, 0, 0, 0];
32
- const data = new Uint8Array(9);
33
- let offset = 0;
34
- for (let i = 0; i < 8; i++) {
35
- data[offset++] = discriminator[i];
36
- }
37
- data[offset] = args?.index ?? 255;
38
- return [data];
39
- }
40
- //# sourceMappingURL=closeEphemeralBalance.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"closeEphemeralBalance.js","sourceRoot":"","sources":["../../../src/generated/delegation-program-instructions/closeEphemeralBalance.ts"],"names":[],"mappings":";;AAeA,wFA6BC;AAED,sGAgBC;AA9DD,qCAA6E;AAC7E,+CAAwD;AACxD,mDAAgE;AAahE,SAAgB,sCAAsC,CACpD,QAGC,EACD,IAA2C;IAE3C,MAAM,CAAC,IAAI,CAAC,GAAG,6CAA6C,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAEzE,MAAM,SAAS,GAAkB;QAC/B;YACE,OAAO,EAAE,QAAQ,CAAC,KAAK;YACvB,IAAI,EAAE,iBAAW,CAAC,eAAe;SAClC;QACD;YACE,OAAO,EAAE,QAAQ,CAAC,uBAAuB;YACzC,IAAI,EAAE,iBAAW,CAAC,QAAQ;SAC3B;QACD;YACE,OAAO,EAAE,+BAAsB;YAC/B,IAAI,EAAE,iBAAW,CAAC,QAAQ;SAC3B;KACF,CAAC;IAEF,OAAO;QACL,QAAQ,EAAE,SAAS;QACnB,IAAI;QACJ,cAAc,EAAE,iCAAqB;KACtC,CAAC;AACJ,CAAC;AAED,SAAgB,6CAA6C,CAC3D,IAA2C;IAE3C,MAAM,aAAa,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAChD,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;IAC/B,IAAI,MAAM,GAAG,CAAC,CAAC;IAGf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC;IAGD,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,KAAK,IAAI,GAAG,CAAC;IAElC,OAAO,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC"}
@@ -1,17 +0,0 @@
1
- import { Address, Instruction } from "@solana/kit";
2
- export interface DelegateInstructionArgs {
3
- commitFrequencyMs: number;
4
- seeds: Uint8Array[];
5
- validator: Address | null;
6
- }
7
- export declare function createDelegateInstruction(accounts: {
8
- payer: Address;
9
- delegatedAccount: Address;
10
- ownerProgram: Address;
11
- delegateBuffer: Address;
12
- delegationRecord: Address;
13
- delegationMetadata: Address;
14
- systemProgram: Address;
15
- }, args: DelegateInstructionArgs): Instruction;
16
- export declare function serializeDelegateInstructionData(args: DelegateInstructionArgs): [Uint8Array];
17
- //# sourceMappingURL=delegate.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"delegate.d.ts","sourceRoot":"","sources":["../../../src/generated/delegation-program-instructions/delegate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,OAAO,EAAe,WAAW,EAAE,MAAM,aAAa,CAAC;AAM7E,MAAM,WAAW,uBAAuB;IACtC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,SAAS,EAAE,OAAO,GAAG,IAAI,CAAC;CAC3B;AAMD,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE;IACR,KAAK,EAAE,OAAO,CAAC;IACf,gBAAgB,EAAE,OAAO,CAAC;IAC1B,YAAY,EAAE,OAAO,CAAC;IACtB,cAAc,EAAE,OAAO,CAAC;IACxB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,aAAa,EAAE,OAAO,CAAC;CACxB,EACD,IAAI,EAAE,uBAAuB,GAC5B,WAAW,CAuCb;AAED,wBAAgB,gCAAgC,CAC9C,IAAI,EAAE,uBAAuB,GAC5B,CAAC,UAAU,CAAC,CA0Cd"}