@magicblock-labs/ephemeral-rollups-kit 0.11.1 → 0.11.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (28) hide show
  1. package/README.md +5 -0
  2. package/lib/__test__/instructions.test.js +82 -2
  3. package/lib/__test__/instructions.test.js.map +1 -1
  4. package/lib/constants.d.ts +3 -0
  5. package/lib/constants.d.ts.map +1 -1
  6. package/lib/constants.js +4 -1
  7. package/lib/constants.js.map +1 -1
  8. package/lib/instructions/ephemeral-spl-token-program/crypto.d.ts +3 -0
  9. package/lib/instructions/ephemeral-spl-token-program/crypto.d.ts.map +1 -0
  10. package/lib/instructions/ephemeral-spl-token-program/crypto.js +55 -0
  11. package/lib/instructions/ephemeral-spl-token-program/crypto.js.map +1 -0
  12. package/lib/instructions/ephemeral-spl-token-program/ephemeralAta.d.ts.map +1 -1
  13. package/lib/instructions/ephemeral-spl-token-program/ephemeralAta.js +28 -104
  14. package/lib/instructions/ephemeral-spl-token-program/ephemeralAta.js.map +1 -1
  15. package/lib/instructions/ephemeral-spl-token-program/index.d.ts +1 -0
  16. package/lib/instructions/ephemeral-spl-token-program/index.d.ts.map +1 -1
  17. package/lib/instructions/ephemeral-spl-token-program/index.js +1 -0
  18. package/lib/instructions/ephemeral-spl-token-program/index.js.map +1 -1
  19. package/lib/instructions/ephemeral-spl-token-program/schedulePrivateTransfer.d.ts +6 -0
  20. package/lib/instructions/ephemeral-spl-token-program/schedulePrivateTransfer.d.ts.map +1 -0
  21. package/lib/instructions/ephemeral-spl-token-program/schedulePrivateTransfer.js +147 -0
  22. package/lib/instructions/ephemeral-spl-token-program/schedulePrivateTransfer.js.map +1 -0
  23. package/lib/instructions/ephemeral-spl-token-program/wire.d.ts +5 -0
  24. package/lib/instructions/ephemeral-spl-token-program/wire.d.ts.map +1 -0
  25. package/lib/instructions/ephemeral-spl-token-program/wire.js +33 -0
  26. package/lib/instructions/ephemeral-spl-token-program/wire.js.map +1 -0
  27. package/lib/instructions/magic-program/scheduleCommitAndUndelegate.js +1 -1
  28. package/package.json +1 -1
@@ -1,37 +1,4 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = 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);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
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
- })();
35
2
  Object.defineProperty(exports, "__esModule", { value: true });
36
3
  exports.getEphemeralAtaEncoder = getEphemeralAtaEncoder;
37
4
  exports.getEphemeralAtaDecoder = getEphemeralAtaDecoder;
@@ -75,22 +42,19 @@ exports.transferSpl = transferSpl;
75
42
  exports.withdrawSpl = withdrawSpl;
76
43
  const kit_1 = require("@solana/kit");
77
44
  const system_1 = require("@solana-program/system");
78
- const blake2b_1 = require("@noble/hashes/blake2b");
79
- const ed25519_1 = require("@noble/curves/ed25519");
80
- const nacl = __importStar(require("tweetnacl"));
81
45
  const constants_1 = require("../../constants");
82
46
  const pda_1 = require("../../pda");
83
47
  const transferQueue_1 = require("./transferQueue");
48
+ const crypto_1 = require("./crypto");
49
+ const wire_1 = require("./wire");
84
50
  const U64_ENCODER = (0, kit_1.getU64Encoder)();
85
- const TOKEN_PROGRAM_ADDRESS = "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA";
86
- const ASSOCIATED_TOKEN_PROGRAM_ADDRESS = "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL";
87
51
  async function getAssociatedTokenAddressSync(mint, owner, allowOwnerOffCurve = true) {
88
52
  const addressEncoder = (0, kit_1.getAddressEncoder)();
89
53
  const [ata] = await (0, kit_1.getProgramDerivedAddress)({
90
- programAddress: ASSOCIATED_TOKEN_PROGRAM_ADDRESS,
54
+ programAddress: constants_1.ASSOCIATED_TOKEN_PROGRAM_ID,
91
55
  seeds: [
92
56
  addressEncoder.encode(owner),
93
- addressEncoder.encode(TOKEN_PROGRAM_ADDRESS),
57
+ addressEncoder.encode(constants_1.TOKEN_PROGRAM_ID),
94
58
  addressEncoder.encode(mint),
95
59
  ],
96
60
  });
@@ -104,49 +68,9 @@ function createTransferInstruction(source, destination, owner, amount) {
104
68
  { address: owner, role: kit_1.AccountRole.READONLY_SIGNER },
105
69
  ],
106
70
  data: encodeAmountInstructionData(3, amount),
107
- programAddress: TOKEN_PROGRAM_ADDRESS,
71
+ programAddress: constants_1.TOKEN_PROGRAM_ID,
108
72
  };
109
73
  }
110
- function encryptEd25519Recipient(plaintext, recipient) {
111
- const recipientBytes = (0, kit_1.getAddressEncoder)().encode(recipient);
112
- const recipientX25519 = (0, ed25519_1.edwardsToMontgomeryPub)(new Uint8Array(recipientBytes));
113
- const ephemeral = nacl.box.keyPair();
114
- const nonce = (0, blake2b_1.blake2b)(Buffer.concat([
115
- Buffer.from(ephemeral.publicKey),
116
- Buffer.from(recipientX25519),
117
- ]), { dkLen: nacl.box.nonceLength });
118
- const ciphertext = nacl.box(plaintext, nonce, recipientX25519, ephemeral.secretKey);
119
- return Buffer.concat([
120
- Buffer.from(ephemeral.publicKey),
121
- Buffer.from(ciphertext),
122
- ]);
123
- }
124
- function encodeLengthPrefixedBytes(bytes) {
125
- if (bytes.length > 0xff) {
126
- throw new Error("encrypted private transfer payload exceeds u8 length");
127
- }
128
- return Buffer.concat([Buffer.from([bytes.length]), Buffer.from(bytes)]);
129
- }
130
- function packPrivateTransferSuffix(minDelayMs, maxDelayMs, split, clientRefId) {
131
- const suffix = Buffer.alloc(clientRefId === undefined ? 8 + 8 + 4 : 8 + 8 + 4 + 8);
132
- suffix.writeBigUInt64LE(minDelayMs, 0);
133
- suffix.writeBigUInt64LE(maxDelayMs, 8);
134
- suffix.writeUInt32LE(split, 16);
135
- if (clientRefId !== undefined) {
136
- suffix.writeBigUInt64LE(clientRefId, 20);
137
- }
138
- return suffix;
139
- }
140
- function u32leBuffer(value) {
141
- const out = Buffer.alloc(4);
142
- out.writeUInt32LE(value, 0);
143
- return out;
144
- }
145
- function u64leBuffer(value) {
146
- const out = Buffer.alloc(8);
147
- out.writeBigUInt64LE(value, 0);
148
- return out;
149
- }
150
74
  function getEphemeralAtaEncoder() {
151
75
  return (0, kit_1.getStructEncoder)([
152
76
  ["owner", (0, kit_1.getAddressEncoder)()],
@@ -277,10 +201,10 @@ function initVaultAtaIx(payer, vaultAta, vault, mint) {
277
201
  { address: vault, role: kit_1.AccountRole.READONLY },
278
202
  { address: mint, role: kit_1.AccountRole.READONLY },
279
203
  { address: system_1.SYSTEM_PROGRAM_ADDRESS, role: kit_1.AccountRole.READONLY },
280
- { address: TOKEN_PROGRAM_ADDRESS, role: kit_1.AccountRole.READONLY },
204
+ { address: constants_1.TOKEN_PROGRAM_ID, role: kit_1.AccountRole.READONLY },
281
205
  ],
282
206
  data: new Uint8Array([1]),
283
- programAddress: ASSOCIATED_TOKEN_PROGRAM_ADDRESS,
207
+ programAddress: constants_1.ASSOCIATED_TOKEN_PROGRAM_ID,
284
208
  };
285
209
  }
286
210
  function initVaultIx(vault, mint, payer, vaultEphemeralAta, vaultAta) {
@@ -291,9 +215,9 @@ function initVaultIx(vault, mint, payer, vaultEphemeralAta, vaultAta) {
291
215
  { address: mint, role: kit_1.AccountRole.READONLY },
292
216
  { address: vaultEphemeralAta, role: kit_1.AccountRole.WRITABLE },
293
217
  { address: vaultAta, role: kit_1.AccountRole.WRITABLE },
294
- { address: TOKEN_PROGRAM_ADDRESS, role: kit_1.AccountRole.READONLY },
218
+ { address: constants_1.TOKEN_PROGRAM_ID, role: kit_1.AccountRole.READONLY },
295
219
  {
296
- address: ASSOCIATED_TOKEN_PROGRAM_ADDRESS,
220
+ address: constants_1.ASSOCIATED_TOKEN_PROGRAM_ID,
297
221
  role: kit_1.AccountRole.READONLY,
298
222
  },
299
223
  { address: system_1.SYSTEM_PROGRAM_ADDRESS, role: kit_1.AccountRole.READONLY },
@@ -322,7 +246,7 @@ function transferToVaultIx(ephemeralAta, vault, mint, sourceAta, vaultAta, owner
322
246
  { address: sourceAta, role: kit_1.AccountRole.WRITABLE },
323
247
  { address: vaultAta, role: kit_1.AccountRole.WRITABLE },
324
248
  { address: owner, role: kit_1.AccountRole.READONLY_SIGNER },
325
- { address: TOKEN_PROGRAM_ADDRESS, role: kit_1.AccountRole.READONLY },
249
+ { address: constants_1.TOKEN_PROGRAM_ID, role: kit_1.AccountRole.READONLY },
326
250
  ],
327
251
  data: encodeAmountInstructionData(2, amount),
328
252
  programAddress: constants_1.EPHEMERAL_SPL_TOKEN_PROGRAM_ID,
@@ -376,9 +300,9 @@ function initShuttleEphemeralAtaIx(payer, shuttleEphemeralAta, shuttleAta, shutt
376
300
  { address: shuttleWalletAta, role: kit_1.AccountRole.WRITABLE },
377
301
  { address: owner, role: kit_1.AccountRole.READONLY },
378
302
  { address: mint, role: kit_1.AccountRole.READONLY },
379
- { address: TOKEN_PROGRAM_ADDRESS, role: kit_1.AccountRole.READONLY },
303
+ { address: constants_1.TOKEN_PROGRAM_ID, role: kit_1.AccountRole.READONLY },
380
304
  {
381
- address: ASSOCIATED_TOKEN_PROGRAM_ADDRESS,
305
+ address: constants_1.ASSOCIATED_TOKEN_PROGRAM_ID,
382
306
  role: kit_1.AccountRole.READONLY,
383
307
  },
384
308
  { address: system_1.SYSTEM_PROGRAM_ADDRESS, role: kit_1.AccountRole.READONLY },
@@ -453,13 +377,13 @@ async function setupAndDelegateShuttleEphemeralAtaWithMergeIx(payer, shuttleEphe
453
377
  { address: delegationMetadata, role: kit_1.AccountRole.WRITABLE },
454
378
  { address: constants_1.DELEGATION_PROGRAM_ID, role: kit_1.AccountRole.READONLY },
455
379
  {
456
- address: ASSOCIATED_TOKEN_PROGRAM_ADDRESS,
380
+ address: constants_1.ASSOCIATED_TOKEN_PROGRAM_ID,
457
381
  role: kit_1.AccountRole.READONLY,
458
382
  },
459
383
  { address: system_1.SYSTEM_PROGRAM_ADDRESS, role: kit_1.AccountRole.READONLY },
460
384
  { address: destinationAta, role: kit_1.AccountRole.WRITABLE },
461
385
  { address: mint, role: kit_1.AccountRole.READONLY },
462
- { address: TOKEN_PROGRAM_ADDRESS, role: kit_1.AccountRole.READONLY },
386
+ { address: constants_1.TOKEN_PROGRAM_ID, role: kit_1.AccountRole.READONLY },
463
387
  { address: vault, role: kit_1.AccountRole.READONLY },
464
388
  { address: sourceAta, role: kit_1.AccountRole.WRITABLE },
465
389
  { address: vaultAta, role: kit_1.AccountRole.WRITABLE },
@@ -497,15 +421,15 @@ async function depositAndDelegateShuttleEphemeralAtaWithMergeAndPrivateTransferI
497
421
  const delegationRecord = await (0, pda_1.delegationRecordPdaFromDelegatedAccount)(shuttleAta);
498
422
  const delegationMetadata = await (0, pda_1.delegationMetadataPdaFromDelegatedAccount)(shuttleAta);
499
423
  const addressEncoder = (0, kit_1.getAddressEncoder)();
500
- const encryptedDestination = encryptEd25519Recipient(new Uint8Array(addressEncoder.encode(destinationOwner)), validator);
501
- const encryptedSuffix = encryptEd25519Recipient(packPrivateTransferSuffix(minDelayMs, maxDelayMs, split, clientRefId), validator);
424
+ const encryptedDestination = (0, crypto_1.encryptEd25519Recipient)(new Uint8Array(addressEncoder.encode(destinationOwner)), validator);
425
+ const encryptedSuffix = (0, crypto_1.encryptEd25519Recipient)((0, wire_1.packPrivateTransferSuffix)(minDelayMs, maxDelayMs, split, clientRefId), validator);
502
426
  const data = Buffer.concat([
503
427
  Buffer.from([25]),
504
- u32leBuffer(shuttleId),
505
- u64leBuffer(amount),
506
- encodeLengthPrefixedBytes(new Uint8Array(addressEncoder.encode(validator))),
507
- encodeLengthPrefixedBytes(encryptedDestination),
508
- encodeLengthPrefixedBytes(encryptedSuffix),
428
+ (0, wire_1.u32leBuffer)(shuttleId),
429
+ (0, wire_1.u64leBuffer)(amount),
430
+ (0, wire_1.encodeLengthPrefixedBytes)(new Uint8Array(addressEncoder.encode(validator))),
431
+ (0, wire_1.encodeLengthPrefixedBytes)(encryptedDestination),
432
+ (0, wire_1.encodeLengthPrefixedBytes)(encryptedSuffix),
509
433
  ]);
510
434
  return {
511
435
  accounts: [
@@ -521,12 +445,12 @@ async function depositAndDelegateShuttleEphemeralAtaWithMergeAndPrivateTransferI
521
445
  { address: delegationMetadata, role: kit_1.AccountRole.WRITABLE },
522
446
  { address: constants_1.DELEGATION_PROGRAM_ID, role: kit_1.AccountRole.READONLY },
523
447
  {
524
- address: ASSOCIATED_TOKEN_PROGRAM_ADDRESS,
448
+ address: constants_1.ASSOCIATED_TOKEN_PROGRAM_ID,
525
449
  role: kit_1.AccountRole.READONLY,
526
450
  },
527
451
  { address: system_1.SYSTEM_PROGRAM_ADDRESS, role: kit_1.AccountRole.READONLY },
528
452
  { address: mint, role: kit_1.AccountRole.READONLY },
529
- { address: TOKEN_PROGRAM_ADDRESS, role: kit_1.AccountRole.READONLY },
453
+ { address: constants_1.TOKEN_PROGRAM_ID, role: kit_1.AccountRole.READONLY },
530
454
  { address: vault, role: kit_1.AccountRole.READONLY },
531
455
  { address: sourceAta, role: kit_1.AccountRole.WRITABLE },
532
456
  { address: vaultAta, role: kit_1.AccountRole.WRITABLE },
@@ -572,13 +496,13 @@ async function withdrawThroughDelegatedShuttleWithMergeIx(payer, shuttleEphemera
572
496
  { address: delegationMetadata, role: kit_1.AccountRole.WRITABLE },
573
497
  { address: constants_1.DELEGATION_PROGRAM_ID, role: kit_1.AccountRole.READONLY },
574
498
  {
575
- address: ASSOCIATED_TOKEN_PROGRAM_ADDRESS,
499
+ address: constants_1.ASSOCIATED_TOKEN_PROGRAM_ID,
576
500
  role: kit_1.AccountRole.READONLY,
577
501
  },
578
502
  { address: system_1.SYSTEM_PROGRAM_ADDRESS, role: kit_1.AccountRole.READONLY },
579
503
  { address: ownerAta, role: kit_1.AccountRole.WRITABLE },
580
504
  { address: mint, role: kit_1.AccountRole.READONLY },
581
- { address: TOKEN_PROGRAM_ADDRESS, role: kit_1.AccountRole.READONLY },
505
+ { address: constants_1.TOKEN_PROGRAM_ID, role: kit_1.AccountRole.READONLY },
582
506
  ],
583
507
  data,
584
508
  programAddress: constants_1.EPHEMERAL_SPL_TOKEN_PROGRAM_ID,
@@ -639,7 +563,7 @@ function mergeShuttleIntoAtaIx(owner, ownerAta, shuttleEphemeralAta, shuttleWall
639
563
  { address: shuttleEphemeralAta, role: kit_1.AccountRole.READONLY },
640
564
  { address: shuttleWalletAta, role: kit_1.AccountRole.WRITABLE },
641
565
  { address: mint, role: kit_1.AccountRole.READONLY },
642
- { address: TOKEN_PROGRAM_ADDRESS, role: kit_1.AccountRole.READONLY },
566
+ { address: constants_1.TOKEN_PROGRAM_ID, role: kit_1.AccountRole.READONLY },
643
567
  ],
644
568
  data: new Uint8Array([15]),
645
569
  programAddress: constants_1.EPHEMERAL_SPL_TOKEN_PROGRAM_ID,
@@ -661,7 +585,7 @@ function undelegateAndCloseShuttleEphemeralAtaIx(payer, rentReimbursement, shutt
661
585
  { address: shuttleAta, role: kit_1.AccountRole.READONLY },
662
586
  { address: shuttleWalletAta, role: kit_1.AccountRole.WRITABLE },
663
587
  { address: destinationAta, role: kit_1.AccountRole.WRITABLE },
664
- { address: TOKEN_PROGRAM_ADDRESS, role: kit_1.AccountRole.READONLY },
588
+ { address: constants_1.TOKEN_PROGRAM_ID, role: kit_1.AccountRole.READONLY },
665
589
  { address: constants_1.MAGIC_CONTEXT_ID, role: kit_1.AccountRole.WRITABLE },
666
590
  { address: constants_1.MAGIC_PROGRAM_ID, role: kit_1.AccountRole.READONLY },
667
591
  ],
@@ -682,7 +606,7 @@ async function withdrawSplIx(owner, mint, amount) {
682
606
  { address: mint, role: kit_1.AccountRole.READONLY },
683
607
  { address: vaultAta, role: kit_1.AccountRole.WRITABLE },
684
608
  { address: userDestAta, role: kit_1.AccountRole.WRITABLE },
685
- { address: TOKEN_PROGRAM_ADDRESS, role: kit_1.AccountRole.READONLY },
609
+ { address: constants_1.TOKEN_PROGRAM_ID, role: kit_1.AccountRole.READONLY },
686
610
  ],
687
611
  data: encodeAmountInstructionData(3, amount),
688
612
  programAddress: constants_1.EPHEMERAL_SPL_TOKEN_PROGRAM_ID,
@@ -1 +1 @@
1
- {"version":3,"file":"ephemeralAta.js","sourceRoot":"","sources":["../../../src/instructions/ephemeral-spl-token-program/ephemeralAta.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ephemeralAta.js","sourceRoot":"","sources":["../../../src/instructions/ephemeral-spl-token-program/ephemeralAta.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  export * from "./ephemeralAta";
2
+ export * from "./schedulePrivateTransfer";
2
3
  export * from "./transferQueue";
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/instructions/ephemeral-spl-token-program/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/instructions/ephemeral-spl-token-program/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iBAAiB,CAAC"}
@@ -15,5 +15,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./ephemeralAta"), exports);
18
+ __exportStar(require("./schedulePrivateTransfer"), exports);
18
19
  __exportStar(require("./transferQueue"), exports);
19
20
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/instructions/ephemeral-spl-token-program/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B;AAC/B,kDAAgC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/instructions/ephemeral-spl-token-program/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B;AAC/B,4DAA0C;AAC1C,kDAAgC"}
@@ -0,0 +1,6 @@
1
+ import { Address, Instruction } from "@solana/kit";
2
+ export declare function deriveStashPda(user: Address, mint: Address): Promise<[Address, number]>;
3
+ export declare function deriveStashAta(user: Address, mint: Address, tokenProgram?: Address): Promise<[Address, number]>;
4
+ export declare function deriveHydraCrankPda(stashPda: Address, shuttleId: number): Promise<[Address, number]>;
5
+ export declare function schedulePrivateTransferIx(user: Address, mint: Address, shuttleId: number, destinationOwner: Address, minDelayMs: bigint, maxDelayMs: bigint, split: number, validator: Address, tokenProgram?: Address, clientRefId?: bigint): Promise<Instruction>;
6
+ //# sourceMappingURL=schedulePrivateTransfer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schedulePrivateTransfer.d.ts","sourceRoot":"","sources":["../../../src/instructions/ephemeral-spl-token-program/schedulePrivateTransfer.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,OAAO,EACP,WAAW,EAGZ,MAAM,aAAa,CAAC;AAkCrB,wBAAsB,cAAc,CAClC,IAAI,EAAE,OAAO,EACb,IAAI,EAAE,OAAO,GACZ,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAW5B;AAED,wBAAsB,cAAc,CAClC,IAAI,EAAE,OAAO,EACb,IAAI,EAAE,OAAO,EACb,YAAY,GAAE,OAA0B,GACvC,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAG5B;AAED,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,OAAO,EACjB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAc5B;AASD,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,OAAO,EACb,IAAI,EAAE,OAAO,EACb,SAAS,EAAE,MAAM,EACjB,gBAAgB,EAAE,OAAO,EACzB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,OAAO,EAClB,YAAY,GAAE,OAA0B,EACxC,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,WAAW,CAAC,CA+GtB"}
@@ -0,0 +1,147 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.deriveStashPda = deriveStashPda;
4
+ exports.deriveStashAta = deriveStashAta;
5
+ exports.deriveHydraCrankPda = deriveHydraCrankPda;
6
+ exports.schedulePrivateTransferIx = schedulePrivateTransferIx;
7
+ const kit_1 = require("@solana/kit");
8
+ const system_1 = require("@solana-program/system");
9
+ const constants_1 = require("../../constants");
10
+ const crypto_1 = require("./crypto");
11
+ const ephemeralAta_1 = require("./ephemeralAta");
12
+ const transferQueue_1 = require("./transferQueue");
13
+ const wire_1 = require("./wire");
14
+ const SCHEDULE_PRIVATE_TRANSFER_DISCRIMINATOR = 30;
15
+ const STASH_PDA_SEED = new TextEncoder().encode("stash");
16
+ const HYDRA_CRANK_SEED_PREFIX = new TextEncoder().encode("crank");
17
+ const BUFFER_SEED = new TextEncoder().encode("buffer");
18
+ const DELEGATION_RECORD_SEED = new TextEncoder().encode("delegation");
19
+ const DELEGATION_METADATA_SEED = new TextEncoder().encode("delegation-metadata");
20
+ async function deriveStashPda(user, mint) {
21
+ const addressEncoder = (0, kit_1.getAddressEncoder)();
22
+ const [stashPda, bump] = await (0, kit_1.getProgramDerivedAddress)({
23
+ programAddress: constants_1.EPHEMERAL_SPL_TOKEN_PROGRAM_ID,
24
+ seeds: [
25
+ STASH_PDA_SEED,
26
+ addressEncoder.encode(user),
27
+ addressEncoder.encode(mint),
28
+ ],
29
+ });
30
+ return [stashPda, bump];
31
+ }
32
+ async function deriveStashAta(user, mint, tokenProgram = constants_1.TOKEN_PROGRAM_ID) {
33
+ const [stashPda] = await deriveStashPda(user, mint);
34
+ return deriveAtaWithBump(stashPda, mint, tokenProgram);
35
+ }
36
+ async function deriveHydraCrankPda(stashPda, shuttleId) {
37
+ if (!Number.isInteger(shuttleId) ||
38
+ shuttleId < 0 ||
39
+ shuttleId > 4294967295) {
40
+ throw new Error("shuttleId must fit in u32");
41
+ }
42
+ const [hydraCrankPda, bump] = await (0, kit_1.getProgramDerivedAddress)({
43
+ programAddress: constants_1.HYDRA_PROGRAM_ID,
44
+ seeds: [HYDRA_CRANK_SEED_PREFIX, hydraSeed(stashPda, shuttleId)],
45
+ });
46
+ return [hydraCrankPda, bump];
47
+ }
48
+ function hydraSeed(stashPda, shuttleId) {
49
+ const addressEncoder = (0, kit_1.getAddressEncoder)();
50
+ const seed = Buffer.from(addressEncoder.encode(stashPda));
51
+ seed.writeUInt32LE(shuttleId, 0);
52
+ return seed;
53
+ }
54
+ async function schedulePrivateTransferIx(user, mint, shuttleId, destinationOwner, minDelayMs, maxDelayMs, split, validator, tokenProgram = constants_1.TOKEN_PROGRAM_ID, clientRefId) {
55
+ if (!Number.isInteger(shuttleId) ||
56
+ shuttleId < 0 ||
57
+ shuttleId > 4294967295) {
58
+ throw new Error("shuttleId must fit in u32");
59
+ }
60
+ if (!Number.isInteger(split) || split <= 0 || split > 4294967295) {
61
+ throw new Error("split must be a positive u32");
62
+ }
63
+ if (minDelayMs < 0n ||
64
+ maxDelayMs < 0n ||
65
+ (clientRefId !== undefined && clientRefId < 0n)) {
66
+ throw new Error("delays and clientRefId must be non-negative");
67
+ }
68
+ if (maxDelayMs < minDelayMs) {
69
+ throw new Error("maxDelayMs must be greater than or equal to minDelayMs");
70
+ }
71
+ const U64_MAX = 0xffffffffffffffffn;
72
+ if (minDelayMs > U64_MAX ||
73
+ maxDelayMs > U64_MAX ||
74
+ (clientRefId !== undefined && clientRefId > U64_MAX)) {
75
+ throw new Error("delays and clientRefId must fit in u64");
76
+ }
77
+ const addressEncoder = (0, kit_1.getAddressEncoder)();
78
+ const [stashPda, stashBump] = await deriveStashPda(user, mint);
79
+ const [, stashAtaBump] = await deriveAtaWithBump(stashPda, mint, tokenProgram);
80
+ const [rentPda] = await (0, ephemeralAta_1.deriveRentPda)();
81
+ const [shuttleEphemeralAta, shuttleBump] = await (0, ephemeralAta_1.deriveShuttleEphemeralAta)(stashPda, mint, shuttleId);
82
+ const [shuttleAta, shuttleEataBump] = await (0, ephemeralAta_1.deriveShuttleAta)(shuttleEphemeralAta, mint);
83
+ const [, shuttleWalletAtaBump] = await deriveAtaWithBump(shuttleEphemeralAta, mint, tokenProgram);
84
+ const [, bufferBump] = await (0, kit_1.getProgramDerivedAddress)({
85
+ programAddress: constants_1.EPHEMERAL_SPL_TOKEN_PROGRAM_ID,
86
+ seeds: [BUFFER_SEED, addressEncoder.encode(shuttleAta)],
87
+ });
88
+ const [, delegationRecordBump] = await (0, kit_1.getProgramDerivedAddress)({
89
+ programAddress: constants_1.DELEGATION_PROGRAM_ID,
90
+ seeds: [DELEGATION_RECORD_SEED, addressEncoder.encode(shuttleAta)],
91
+ });
92
+ const [, delegationMetadataBump] = await (0, kit_1.getProgramDerivedAddress)({
93
+ programAddress: constants_1.DELEGATION_PROGRAM_ID,
94
+ seeds: [DELEGATION_METADATA_SEED, addressEncoder.encode(shuttleAta)],
95
+ });
96
+ const [vault, globalVaultBump] = await (0, ephemeralAta_1.deriveVault)(mint);
97
+ const [, vaultTokenBump] = await deriveAtaWithBump(vault, mint, tokenProgram);
98
+ const [, queueBump] = await (0, transferQueue_1.deriveTransferQueue)(mint, validator);
99
+ const [hydraCrankPda] = await deriveHydraCrankPda(stashPda, shuttleId);
100
+ const encryptedDestination = (0, crypto_1.encryptEd25519Recipient)(new Uint8Array(addressEncoder.encode(destinationOwner)), validator);
101
+ const encryptedSuffix = (0, crypto_1.encryptEd25519Recipient)((0, wire_1.packPrivateTransferSuffix)(minDelayMs, maxDelayMs, split, clientRefId), validator);
102
+ const data = Buffer.concat([
103
+ Buffer.from([SCHEDULE_PRIVATE_TRANSFER_DISCRIMINATOR]),
104
+ (0, wire_1.u32leBuffer)(shuttleId),
105
+ Buffer.from([stashBump]),
106
+ Buffer.from(addressEncoder.encode(mint)),
107
+ Buffer.from([shuttleBump]),
108
+ Buffer.from([shuttleEataBump]),
109
+ Buffer.from([shuttleWalletAtaBump]),
110
+ Buffer.from([bufferBump]),
111
+ Buffer.from([delegationRecordBump]),
112
+ Buffer.from([delegationMetadataBump]),
113
+ Buffer.from([globalVaultBump]),
114
+ Buffer.from([vaultTokenBump]),
115
+ Buffer.from([stashAtaBump]),
116
+ Buffer.from([queueBump]),
117
+ (0, wire_1.encodeLengthPrefixedBytes)(new Uint8Array(addressEncoder.encode(validator))),
118
+ (0, wire_1.encodeLengthPrefixedBytes)(encryptedDestination),
119
+ (0, wire_1.encodeLengthPrefixedBytes)(encryptedSuffix),
120
+ ]);
121
+ return {
122
+ accounts: [
123
+ { address: user, role: kit_1.AccountRole.WRITABLE_SIGNER },
124
+ { address: stashPda, role: kit_1.AccountRole.WRITABLE },
125
+ { address: rentPda, role: kit_1.AccountRole.WRITABLE },
126
+ { address: hydraCrankPda, role: kit_1.AccountRole.WRITABLE },
127
+ { address: constants_1.HYDRA_PROGRAM_ID, role: kit_1.AccountRole.READONLY },
128
+ { address: system_1.SYSTEM_PROGRAM_ADDRESS, role: kit_1.AccountRole.READONLY },
129
+ { address: tokenProgram, role: kit_1.AccountRole.READONLY },
130
+ ],
131
+ data,
132
+ programAddress: constants_1.EPHEMERAL_SPL_TOKEN_PROGRAM_ID,
133
+ };
134
+ }
135
+ async function deriveAtaWithBump(wallet, mint, tokenProgram) {
136
+ const addressEncoder = (0, kit_1.getAddressEncoder)();
137
+ const [ata, bump] = await (0, kit_1.getProgramDerivedAddress)({
138
+ programAddress: constants_1.ASSOCIATED_TOKEN_PROGRAM_ID,
139
+ seeds: [
140
+ addressEncoder.encode(wallet),
141
+ addressEncoder.encode(tokenProgram),
142
+ addressEncoder.encode(mint),
143
+ ],
144
+ });
145
+ return [ata, bump];
146
+ }
147
+ //# sourceMappingURL=schedulePrivateTransfer.js.map