torchsdk 2.0.0 → 3.2.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.
@@ -5,7 +5,7 @@
5
5
  * Agents sign these locally and submit to the network.
6
6
  */
7
7
  import { Connection } from '@solana/web3.js';
8
- import { BuyParams, DirectBuyParams, SellParams, CreateTokenParams, StarParams, BorrowParams, RepayParams, LiquidateParams, CreateVaultParams, DepositVaultParams, WithdrawVaultParams, LinkWalletParams, UnlinkWalletParams, TransferAuthorityParams, TransactionResult, CreateTokenResult } from './types';
8
+ import { BuyParams, DirectBuyParams, SellParams, CreateTokenParams, StarParams, BorrowParams, RepayParams, LiquidateParams, ClaimProtocolRewardsParams, VaultSwapParams, CreateVaultParams, DepositVaultParams, WithdrawVaultParams, WithdrawTokensParams, LinkWalletParams, UnlinkWalletParams, TransferAuthorityParams, TransactionResult, CreateTokenResult } from './types';
9
9
  /**
10
10
  * Build an unsigned vault-funded buy transaction.
11
11
  *
@@ -147,4 +147,37 @@ export declare const buildRepayTransaction: (connection: Connection, params: Rep
147
147
  * @returns Unsigned transaction and descriptive message
148
148
  */
149
149
  export declare const buildLiquidateTransaction: (connection: Connection, params: LiquidateParams) => Promise<TransactionResult>;
150
+ /**
151
+ * Build an unsigned claim protocol rewards transaction.
152
+ *
153
+ * Claims the user's proportional share of protocol treasury rewards
154
+ * based on trading volume in the previous epoch. Requires >= 10 SOL volume.
155
+ *
156
+ * @param connection - Solana RPC connection
157
+ * @param params - Claim parameters (user, optional vault)
158
+ * @returns Unsigned transaction and descriptive message
159
+ */
160
+ export declare const buildClaimProtocolRewardsTransaction: (connection: Connection, params: ClaimProtocolRewardsParams) => Promise<TransactionResult>;
161
+ /**
162
+ * Build an unsigned withdraw tokens transaction.
163
+ *
164
+ * Withdraw tokens from a vault ATA to any destination token account.
165
+ * Authority only. Composability escape hatch for external DeFi.
166
+ *
167
+ * @param connection - Solana RPC connection
168
+ * @param params - Authority, vault creator, mint, destination, amount in raw units
169
+ * @returns Unsigned transaction
170
+ */
171
+ export declare const buildWithdrawTokensTransaction: (connection: Connection, params: WithdrawTokensParams) => Promise<TransactionResult>;
172
+ /**
173
+ * Build an unsigned vault-routed DEX swap transaction.
174
+ *
175
+ * Executes a Raydium CPMM swap through the vault PDA for migrated Torch tokens.
176
+ * Full custody preserved — all value flows through the vault.
177
+ *
178
+ * @param connection - Solana RPC connection
179
+ * @param params - Swap parameters (mint, signer, vault_creator, amount_in, minimum_amount_out, is_buy)
180
+ * @returns Unsigned transaction and descriptive message
181
+ */
182
+ export declare const buildVaultSwapTransaction: (connection: Connection, params: VaultSwapParams) => Promise<TransactionResult>;
150
183
  //# sourceMappingURL=transactions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"transactions.d.ts","sourceRoot":"","sources":["../src/transactions.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,UAAU,EAOX,MAAM,iBAAiB,CAAA;AA4BxB,OAAO,EACL,SAAS,EACT,eAAe,EACf,UAAU,EACV,iBAAiB,EACjB,UAAU,EACV,YAAY,EACZ,WAAW,EACX,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EAClB,uBAAuB,EACvB,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,SAAS,CAAA;AAkKhB;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB,GAC9B,YAAY,UAAU,EACtB,QAAQ,SAAS,KAChB,OAAO,CAAC,iBAAiB,CAG3B,CAAA;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,yBAAyB,GACpC,YAAY,UAAU,EACtB,QAAQ,eAAe,KACtB,OAAO,CAAC,iBAAiB,CAG3B,CAAA;AAMD;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,GAC/B,YAAY,UAAU,EACtB,QAAQ,UAAU,KACjB,OAAO,CAAC,iBAAiB,CAkF3B,CAAA;AAMD;;;;;;;;;GASG;AACH,eAAO,MAAM,2BAA2B,GACtC,YAAY,UAAU,EACtB,QAAQ,iBAAiB,KACxB,OAAO,CAAC,iBAAiB,CAiE3B,CAAA;AAMD;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,GAC/B,YAAY,UAAU,EACtB,QAAQ,UAAU,KACjB,OAAO,CAAC,iBAAiB,CAiD3B,CAAA;AAYD;;;;;;;;GAQG;AACH,eAAO,MAAM,2BAA2B,GACtC,YAAY,UAAU,EACtB,QAAQ,iBAAiB,KACxB,OAAO,CAAC,iBAAiB,CAyB3B,CAAA;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,4BAA4B,GACvC,YAAY,UAAU,EACtB,QAAQ,kBAAkB,KACzB,OAAO,CAAC,iBAAiB,CAwB3B,CAAA;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,6BAA6B,GACxC,YAAY,UAAU,EACtB,QAAQ,mBAAmB,KAC1B,OAAO,CAAC,iBAAiB,CAwB3B,CAAA;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,0BAA0B,GACrC,YAAY,UAAU,EACtB,QAAQ,gBAAgB,KACvB,OAAO,CAAC,iBAAiB,CA4B3B,CAAA;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,4BAA4B,GACvC,YAAY,UAAU,EACtB,QAAQ,kBAAkB,KACzB,OAAO,CAAC,iBAAiB,CA4B3B,CAAA;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,iCAAiC,GAC5C,YAAY,UAAU,EACtB,QAAQ,uBAAuB,KAC9B,OAAO,CAAC,iBAAiB,CAyB3B,CAAA;AAMD;;;;;;;;;GASG;AACH,eAAO,MAAM,sBAAsB,GACjC,YAAY,UAAU,EACtB,QAAQ,YAAY,KACnB,OAAO,CAAC,iBAAiB,CAuD3B,CAAA;AAMD;;;;;;;;;GASG;AACH,eAAO,MAAM,qBAAqB,GAChC,YAAY,UAAU,EACtB,QAAQ,WAAW,KAClB,OAAO,CAAC,iBAAiB,CA4C3B,CAAA;AAMD;;;;;;;;;GASG;AACH,eAAO,MAAM,yBAAyB,GACpC,YAAY,UAAU,EACtB,QAAQ,eAAe,KACtB,OAAO,CAAC,iBAAiB,CAmE3B,CAAA"}
1
+ {"version":3,"file":"transactions.d.ts","sourceRoot":"","sources":["../src/transactions.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
9
9
  return (mod && mod.__esModule) ? mod : { "default": mod };
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.buildLiquidateTransaction = exports.buildRepayTransaction = exports.buildBorrowTransaction = exports.buildTransferAuthorityTransaction = exports.buildUnlinkWalletTransaction = exports.buildLinkWalletTransaction = exports.buildWithdrawVaultTransaction = exports.buildDepositVaultTransaction = exports.buildCreateVaultTransaction = exports.buildStarTransaction = exports.buildCreateTokenTransaction = exports.buildSellTransaction = exports.buildDirectBuyTransaction = exports.buildBuyTransaction = void 0;
12
+ exports.buildVaultSwapTransaction = exports.buildWithdrawTokensTransaction = exports.buildClaimProtocolRewardsTransaction = exports.buildLiquidateTransaction = exports.buildRepayTransaction = exports.buildBorrowTransaction = exports.buildTransferAuthorityTransaction = exports.buildUnlinkWalletTransaction = exports.buildLinkWalletTransaction = exports.buildWithdrawVaultTransaction = exports.buildDepositVaultTransaction = exports.buildCreateVaultTransaction = exports.buildStarTransaction = exports.buildCreateTokenTransaction = exports.buildSellTransaction = exports.buildDirectBuyTransaction = exports.buildBuyTransaction = void 0;
13
13
  const web3_js_1 = require("@solana/web3.js");
14
14
  const spl_token_1 = require("@solana/spl-token");
15
15
  const anchor_1 = require("@coral-xyz/anchor");
@@ -75,10 +75,15 @@ const buildBuyTransactionInternal = async (connection, mintStr, buyerStr, amount
75
75
  // Vault accounts (optional — pass null when not using vault)
76
76
  let torchVaultAccount = null;
77
77
  let vaultWalletLinkAccount = null;
78
+ let vaultTokenAccount = null;
78
79
  if (vaultCreatorStr) {
79
80
  const vaultCreator = new web3_js_1.PublicKey(vaultCreatorStr);
80
81
  [torchVaultAccount] = (0, program_1.getTorchVaultPda)(vaultCreator);
81
82
  [vaultWalletLinkAccount] = (0, program_1.getVaultWalletLinkPda)(buyer);
83
+ // [V18] Tokens go to vault ATA instead of buyer's wallet
84
+ vaultTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(mint, torchVaultAccount, true, spl_token_1.TOKEN_2022_PROGRAM_ID);
85
+ // Create vault ATA if needed (vault PDA owns it)
86
+ tx.add((0, spl_token_1.createAssociatedTokenAccountIdempotentInstruction)(buyer, vaultTokenAccount, torchVaultAccount, mint, spl_token_1.TOKEN_2022_PROGRAM_ID, spl_token_1.ASSOCIATED_TOKEN_PROGRAM_ID));
82
87
  }
83
88
  const buyIx = await program.methods
84
89
  .buy({
@@ -101,6 +106,7 @@ const buildBuyTransactionInternal = async (connection, mintStr, buyerStr, amount
101
106
  userStats: userStatsPda,
102
107
  torchVault: torchVaultAccount,
103
108
  vaultWalletLink: vaultWalletLinkAccount,
109
+ vaultTokenAccount,
104
110
  tokenProgram: spl_token_1.TOKEN_2022_PROGRAM_ID,
105
111
  associatedTokenProgram: spl_token_1.ASSOCIATED_TOKEN_PROGRAM_ID,
106
112
  systemProgram: web3_js_1.SystemProgram.programId,
@@ -166,7 +172,7 @@ exports.buildDirectBuyTransaction = buildDirectBuyTransaction;
166
172
  * @returns Unsigned transaction and descriptive message
167
173
  */
168
174
  const buildSellTransaction = async (connection, params) => {
169
- const { mint: mintStr, seller: sellerStr, amount_tokens, slippage_bps = 100, message } = params;
175
+ const { mint: mintStr, seller: sellerStr, amount_tokens, slippage_bps = 100, message, vault: vaultCreatorStr } = params;
170
176
  const mint = new web3_js_1.PublicKey(mintStr);
171
177
  const seller = new web3_js_1.PublicKey(sellerStr);
172
178
  const tokenData = await (0, tokens_1.fetchTokenRaw)(connection, mint);
@@ -190,7 +196,21 @@ const buildSellTransaction = async (connection, params) => {
190
196
  const [userStatsPda] = (0, program_1.getUserStatsPda)(seller);
191
197
  const bondingCurveTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(mint, bondingCurvePda, true, spl_token_1.TOKEN_2022_PROGRAM_ID);
192
198
  const sellerTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(mint, seller, false, spl_token_1.TOKEN_2022_PROGRAM_ID);
199
+ // [V18] Vault accounts (optional — pass null when not using vault)
200
+ let torchVaultAccount = null;
201
+ let vaultWalletLinkAccount = null;
202
+ let vaultTokenAccount = null;
203
+ if (vaultCreatorStr) {
204
+ const vaultCreator = new web3_js_1.PublicKey(vaultCreatorStr);
205
+ [torchVaultAccount] = (0, program_1.getTorchVaultPda)(vaultCreator);
206
+ [vaultWalletLinkAccount] = (0, program_1.getVaultWalletLinkPda)(seller);
207
+ vaultTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(mint, torchVaultAccount, true, spl_token_1.TOKEN_2022_PROGRAM_ID);
208
+ }
193
209
  const tx = new web3_js_1.Transaction();
210
+ // Create vault ATA if needed (idempotent — safe for first vault sell on a mint)
211
+ if (vaultTokenAccount && torchVaultAccount) {
212
+ tx.add((0, spl_token_1.createAssociatedTokenAccountIdempotentInstruction)(seller, vaultTokenAccount, torchVaultAccount, mint, spl_token_1.TOKEN_2022_PROGRAM_ID, spl_token_1.ASSOCIATED_TOKEN_PROGRAM_ID));
213
+ }
194
214
  const provider = makeDummyProvider(connection, seller);
195
215
  const program = new anchor_1.Program(torch_market_json_1.default, provider);
196
216
  const sellIx = await program.methods
@@ -207,6 +227,9 @@ const buildSellTransaction = async (connection, params) => {
207
227
  userPosition: userPositionPda,
208
228
  tokenTreasury: treasuryPda,
209
229
  userStats: userStatsPda,
230
+ torchVault: torchVaultAccount,
231
+ vaultWalletLink: vaultWalletLinkAccount,
232
+ vaultTokenAccount,
210
233
  tokenProgram: spl_token_1.TOKEN_2022_PROGRAM_ID,
211
234
  systemProgram: web3_js_1.SystemProgram.programId,
212
235
  })
@@ -225,9 +248,10 @@ const buildSellTransaction = async (connection, params) => {
225
248
  tx.add(memoIx);
226
249
  }
227
250
  await finalizeTransaction(connection, tx, seller);
251
+ const vaultLabel = vaultCreatorStr ? ' (via vault)' : '';
228
252
  return {
229
253
  transaction: tx,
230
- message: `Sell ${Number(tokenAmount) / 1e6} tokens for ${Number(result.solToUser) / 1e9} SOL`,
254
+ message: `Sell ${Number(tokenAmount) / 1e6} tokens for ${Number(result.solToUser) / 1e9} SOL${vaultLabel}`,
231
255
  };
232
256
  };
233
257
  exports.buildSellTransaction = buildSellTransaction;
@@ -311,7 +335,7 @@ exports.buildCreateTokenTransaction = buildCreateTokenTransaction;
311
335
  * @returns Unsigned transaction and descriptive message
312
336
  */
313
337
  const buildStarTransaction = async (connection, params) => {
314
- const { mint: mintStr, user: userStr } = params;
338
+ const { mint: mintStr, user: userStr, vault: vaultCreatorStr } = params;
315
339
  const mint = new web3_js_1.PublicKey(mintStr);
316
340
  const user = new web3_js_1.PublicKey(userStr);
317
341
  const tokenData = await (0, tokens_1.fetchTokenRaw)(connection, mint);
@@ -329,6 +353,14 @@ const buildStarTransaction = async (connection, params) => {
329
353
  // Derive PDAs
330
354
  const [bondingCurvePda] = (0, program_1.getBondingCurvePda)(mint);
331
355
  const [treasuryPda] = (0, program_1.getTokenTreasuryPda)(mint);
356
+ // [V18] Vault accounts (optional — vault pays star cost)
357
+ let torchVaultAccount = null;
358
+ let vaultWalletLinkAccount = null;
359
+ if (vaultCreatorStr) {
360
+ const vaultCreator = new web3_js_1.PublicKey(vaultCreatorStr);
361
+ [torchVaultAccount] = (0, program_1.getTorchVaultPda)(vaultCreator);
362
+ [vaultWalletLinkAccount] = (0, program_1.getVaultWalletLinkPda)(user);
363
+ }
332
364
  const tx = new web3_js_1.Transaction();
333
365
  const provider = makeDummyProvider(connection, user);
334
366
  const program = new anchor_1.Program(torch_market_json_1.default, provider);
@@ -341,14 +373,17 @@ const buildStarTransaction = async (connection, params) => {
341
373
  tokenTreasury: treasuryPda,
342
374
  creator: bondingCurve.creator,
343
375
  starRecord: starRecordPda,
376
+ torchVault: torchVaultAccount,
377
+ vaultWalletLink: vaultWalletLinkAccount,
344
378
  systemProgram: web3_js_1.SystemProgram.programId,
345
379
  })
346
380
  .instruction();
347
381
  tx.add(starIx);
348
382
  await finalizeTransaction(connection, tx, user);
383
+ const vaultLabel = vaultCreatorStr ? ' (via vault)' : '';
349
384
  return {
350
385
  transaction: tx,
351
- message: 'Star token (costs 0.05 SOL)',
386
+ message: `Star token (costs 0.05 SOL)${vaultLabel}`,
352
387
  };
353
388
  };
354
389
  exports.buildStarTransaction = buildStarTransaction;
@@ -569,7 +604,7 @@ exports.buildTransferAuthorityTransaction = buildTransferAuthorityTransaction;
569
604
  * @returns Unsigned transaction and descriptive message
570
605
  */
571
606
  const buildBorrowTransaction = async (connection, params) => {
572
- const { mint: mintStr, borrower: borrowerStr, collateral_amount, sol_to_borrow } = params;
607
+ const { mint: mintStr, borrower: borrowerStr, collateral_amount, sol_to_borrow, vault: vaultCreatorStr } = params;
573
608
  const mint = new web3_js_1.PublicKey(mintStr);
574
609
  const borrower = new web3_js_1.PublicKey(borrowerStr);
575
610
  // Derive PDAs
@@ -580,7 +615,21 @@ const buildBorrowTransaction = async (connection, params) => {
580
615
  const borrowerTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(mint, borrower, false, spl_token_1.TOKEN_2022_PROGRAM_ID);
581
616
  // Get Raydium pool accounts for price calculation
582
617
  const raydium = (0, program_1.getRaydiumMigrationAccounts)(mint);
618
+ // [V18] Vault accounts (optional — collateral from vault ATA, SOL to vault)
619
+ let torchVaultAccount = null;
620
+ let vaultWalletLinkAccount = null;
621
+ let vaultTokenAccount = null;
622
+ if (vaultCreatorStr) {
623
+ const vaultCreator = new web3_js_1.PublicKey(vaultCreatorStr);
624
+ [torchVaultAccount] = (0, program_1.getTorchVaultPda)(vaultCreator);
625
+ [vaultWalletLinkAccount] = (0, program_1.getVaultWalletLinkPda)(borrower);
626
+ vaultTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(mint, torchVaultAccount, true, spl_token_1.TOKEN_2022_PROGRAM_ID);
627
+ }
583
628
  const tx = new web3_js_1.Transaction();
629
+ // Create vault ATA if needed
630
+ if (vaultTokenAccount && torchVaultAccount) {
631
+ tx.add((0, spl_token_1.createAssociatedTokenAccountIdempotentInstruction)(borrower, vaultTokenAccount, torchVaultAccount, mint, spl_token_1.TOKEN_2022_PROGRAM_ID, spl_token_1.ASSOCIATED_TOKEN_PROGRAM_ID));
632
+ }
584
633
  const provider = makeDummyProvider(connection, borrower);
585
634
  const program = new anchor_1.Program(torch_market_json_1.default, provider);
586
635
  const borrowIx = await program.methods
@@ -599,15 +648,19 @@ const buildBorrowTransaction = async (connection, params) => {
599
648
  poolState: raydium.poolState,
600
649
  tokenVault0: raydium.token0Vault,
601
650
  tokenVault1: raydium.token1Vault,
651
+ torchVault: torchVaultAccount,
652
+ vaultWalletLink: vaultWalletLinkAccount,
653
+ vaultTokenAccount,
602
654
  tokenProgram: spl_token_1.TOKEN_2022_PROGRAM_ID,
603
655
  systemProgram: web3_js_1.SystemProgram.programId,
604
656
  })
605
657
  .instruction();
606
658
  tx.add(borrowIx);
607
659
  await finalizeTransaction(connection, tx, borrower);
660
+ const vaultLabel = vaultCreatorStr ? ' (via vault)' : '';
608
661
  return {
609
662
  transaction: tx,
610
- message: `Borrow ${Number(sol_to_borrow) / 1e9} SOL with ${Number(collateral_amount) / 1e6} tokens as collateral`,
663
+ message: `Borrow ${Number(sol_to_borrow) / 1e9} SOL with ${Number(collateral_amount) / 1e6} tokens as collateral${vaultLabel}`,
611
664
  };
612
665
  };
613
666
  exports.buildBorrowTransaction = buildBorrowTransaction;
@@ -625,7 +678,7 @@ exports.buildBorrowTransaction = buildBorrowTransaction;
625
678
  * @returns Unsigned transaction and descriptive message
626
679
  */
627
680
  const buildRepayTransaction = async (connection, params) => {
628
- const { mint: mintStr, borrower: borrowerStr, sol_amount } = params;
681
+ const { mint: mintStr, borrower: borrowerStr, sol_amount, vault: vaultCreatorStr } = params;
629
682
  const mint = new web3_js_1.PublicKey(mintStr);
630
683
  const borrower = new web3_js_1.PublicKey(borrowerStr);
631
684
  // Derive PDAs
@@ -633,7 +686,21 @@ const buildRepayTransaction = async (connection, params) => {
633
686
  const [collateralVaultPda] = (0, program_1.getCollateralVaultPda)(mint);
634
687
  const [loanPositionPda] = (0, program_1.getLoanPositionPda)(mint, borrower);
635
688
  const borrowerTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(mint, borrower, false, spl_token_1.TOKEN_2022_PROGRAM_ID);
689
+ // [V18] Vault accounts (optional — SOL from vault, collateral returns to vault ATA)
690
+ let torchVaultAccount = null;
691
+ let vaultWalletLinkAccount = null;
692
+ let vaultTokenAccount = null;
693
+ if (vaultCreatorStr) {
694
+ const vaultCreator = new web3_js_1.PublicKey(vaultCreatorStr);
695
+ [torchVaultAccount] = (0, program_1.getTorchVaultPda)(vaultCreator);
696
+ [vaultWalletLinkAccount] = (0, program_1.getVaultWalletLinkPda)(borrower);
697
+ vaultTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(mint, torchVaultAccount, true, spl_token_1.TOKEN_2022_PROGRAM_ID);
698
+ }
636
699
  const tx = new web3_js_1.Transaction();
700
+ // Create vault ATA if needed (collateral returns here)
701
+ if (vaultTokenAccount && torchVaultAccount) {
702
+ tx.add((0, spl_token_1.createAssociatedTokenAccountIdempotentInstruction)(borrower, vaultTokenAccount, torchVaultAccount, mint, spl_token_1.TOKEN_2022_PROGRAM_ID, spl_token_1.ASSOCIATED_TOKEN_PROGRAM_ID));
703
+ }
637
704
  const provider = makeDummyProvider(connection, borrower);
638
705
  const program = new anchor_1.Program(torch_market_json_1.default, provider);
639
706
  const repayIx = await program.methods
@@ -645,15 +712,19 @@ const buildRepayTransaction = async (connection, params) => {
645
712
  collateralVault: collateralVaultPda,
646
713
  borrowerTokenAccount,
647
714
  loanPosition: loanPositionPda,
715
+ torchVault: torchVaultAccount,
716
+ vaultWalletLink: vaultWalletLinkAccount,
717
+ vaultTokenAccount,
648
718
  tokenProgram: spl_token_1.TOKEN_2022_PROGRAM_ID,
649
719
  systemProgram: web3_js_1.SystemProgram.programId,
650
720
  })
651
721
  .instruction();
652
722
  tx.add(repayIx);
653
723
  await finalizeTransaction(connection, tx, borrower);
724
+ const vaultLabel = vaultCreatorStr ? ' (via vault)' : '';
654
725
  return {
655
726
  transaction: tx,
656
- message: `Repay ${Number(sol_amount) / 1e9} SOL`,
727
+ message: `Repay ${Number(sol_amount) / 1e9} SOL${vaultLabel}`,
657
728
  };
658
729
  };
659
730
  exports.buildRepayTransaction = buildRepayTransaction;
@@ -671,7 +742,7 @@ exports.buildRepayTransaction = buildRepayTransaction;
671
742
  * @returns Unsigned transaction and descriptive message
672
743
  */
673
744
  const buildLiquidateTransaction = async (connection, params) => {
674
- const { mint: mintStr, liquidator: liquidatorStr, borrower: borrowerStr } = params;
745
+ const { mint: mintStr, liquidator: liquidatorStr, borrower: borrowerStr, vault: vaultCreatorStr } = params;
675
746
  const mint = new web3_js_1.PublicKey(mintStr);
676
747
  const liquidator = new web3_js_1.PublicKey(liquidatorStr);
677
748
  const borrower = new web3_js_1.PublicKey(borrowerStr);
@@ -683,9 +754,23 @@ const buildLiquidateTransaction = async (connection, params) => {
683
754
  const liquidatorTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(mint, liquidator, false, spl_token_1.TOKEN_2022_PROGRAM_ID);
684
755
  // Get Raydium pool accounts for price calculation
685
756
  const raydium = (0, program_1.getRaydiumMigrationAccounts)(mint);
757
+ // [V20] Vault accounts (optional — SOL from vault, collateral to vault ATA)
758
+ let torchVaultAccount = null;
759
+ let vaultWalletLinkAccount = null;
760
+ let vaultTokenAccount = null;
761
+ if (vaultCreatorStr) {
762
+ const vaultCreator = new web3_js_1.PublicKey(vaultCreatorStr);
763
+ [torchVaultAccount] = (0, program_1.getTorchVaultPda)(vaultCreator);
764
+ [vaultWalletLinkAccount] = (0, program_1.getVaultWalletLinkPda)(liquidator);
765
+ vaultTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(mint, torchVaultAccount, true, spl_token_1.TOKEN_2022_PROGRAM_ID);
766
+ }
686
767
  const tx = new web3_js_1.Transaction();
687
768
  // Create liquidator ATA if needed
688
769
  tx.add((0, spl_token_1.createAssociatedTokenAccountIdempotentInstruction)(liquidator, liquidatorTokenAccount, liquidator, mint, spl_token_1.TOKEN_2022_PROGRAM_ID, spl_token_1.ASSOCIATED_TOKEN_PROGRAM_ID));
770
+ // Create vault ATA if needed (collateral goes here)
771
+ if (vaultTokenAccount && torchVaultAccount) {
772
+ tx.add((0, spl_token_1.createAssociatedTokenAccountIdempotentInstruction)(liquidator, vaultTokenAccount, torchVaultAccount, mint, spl_token_1.TOKEN_2022_PROGRAM_ID, spl_token_1.ASSOCIATED_TOKEN_PROGRAM_ID));
773
+ }
689
774
  const provider = makeDummyProvider(connection, liquidator);
690
775
  const program = new anchor_1.Program(torch_market_json_1.default, provider);
691
776
  const liquidateIx = await program.methods
@@ -702,6 +787,9 @@ const buildLiquidateTransaction = async (connection, params) => {
702
787
  poolState: raydium.poolState,
703
788
  tokenVault0: raydium.token0Vault,
704
789
  tokenVault1: raydium.token1Vault,
790
+ torchVault: torchVaultAccount,
791
+ vaultWalletLink: vaultWalletLinkAccount,
792
+ vaultTokenAccount,
705
793
  tokenProgram: spl_token_1.TOKEN_2022_PROGRAM_ID,
706
794
  associatedTokenProgram: spl_token_1.ASSOCIATED_TOKEN_PROGRAM_ID,
707
795
  systemProgram: web3_js_1.SystemProgram.programId,
@@ -709,10 +797,191 @@ const buildLiquidateTransaction = async (connection, params) => {
709
797
  .instruction();
710
798
  tx.add(liquidateIx);
711
799
  await finalizeTransaction(connection, tx, liquidator);
800
+ const vaultLabel = vaultCreatorStr ? ' (via vault)' : '';
712
801
  return {
713
802
  transaction: tx,
714
- message: `Liquidate loan position for ${borrowerStr}`,
803
+ message: `Liquidate loan position for ${borrowerStr.slice(0, 8)}...${vaultLabel}`,
715
804
  };
716
805
  };
717
806
  exports.buildLiquidateTransaction = buildLiquidateTransaction;
807
+ // ============================================================================
808
+ // Claim Protocol Rewards
809
+ // ============================================================================
810
+ /**
811
+ * Build an unsigned claim protocol rewards transaction.
812
+ *
813
+ * Claims the user's proportional share of protocol treasury rewards
814
+ * based on trading volume in the previous epoch. Requires >= 10 SOL volume.
815
+ *
816
+ * @param connection - Solana RPC connection
817
+ * @param params - Claim parameters (user, optional vault)
818
+ * @returns Unsigned transaction and descriptive message
819
+ */
820
+ const buildClaimProtocolRewardsTransaction = async (connection, params) => {
821
+ const { user: userStr, vault: vaultCreatorStr } = params;
822
+ const user = new web3_js_1.PublicKey(userStr);
823
+ // Derive PDAs
824
+ const [userStatsPda] = (0, program_1.getUserStatsPda)(user);
825
+ const [protocolTreasuryPda] = (0, program_1.getProtocolTreasuryPda)();
826
+ // [V20] Vault accounts (optional — rewards go to vault instead of user)
827
+ let torchVaultAccount = null;
828
+ let vaultWalletLinkAccount = null;
829
+ if (vaultCreatorStr) {
830
+ const vaultCreator = new web3_js_1.PublicKey(vaultCreatorStr);
831
+ [torchVaultAccount] = (0, program_1.getTorchVaultPda)(vaultCreator);
832
+ [vaultWalletLinkAccount] = (0, program_1.getVaultWalletLinkPda)(user);
833
+ }
834
+ const tx = new web3_js_1.Transaction();
835
+ const provider = makeDummyProvider(connection, user);
836
+ const program = new anchor_1.Program(torch_market_json_1.default, provider);
837
+ const claimIx = await program.methods
838
+ .claimProtocolRewards()
839
+ .accounts({
840
+ user,
841
+ userStats: userStatsPda,
842
+ protocolTreasury: protocolTreasuryPda,
843
+ torchVault: torchVaultAccount,
844
+ vaultWalletLink: vaultWalletLinkAccount,
845
+ systemProgram: web3_js_1.SystemProgram.programId,
846
+ })
847
+ .instruction();
848
+ tx.add(claimIx);
849
+ await finalizeTransaction(connection, tx, user);
850
+ const vaultLabel = vaultCreatorStr ? ' (via vault)' : '';
851
+ return {
852
+ transaction: tx,
853
+ message: `Claim protocol rewards${vaultLabel}`,
854
+ };
855
+ };
856
+ exports.buildClaimProtocolRewardsTransaction = buildClaimProtocolRewardsTransaction;
857
+ // ============================================================================
858
+ // Withdraw Tokens (V18)
859
+ // ============================================================================
860
+ /**
861
+ * Build an unsigned withdraw tokens transaction.
862
+ *
863
+ * Withdraw tokens from a vault ATA to any destination token account.
864
+ * Authority only. Composability escape hatch for external DeFi.
865
+ *
866
+ * @param connection - Solana RPC connection
867
+ * @param params - Authority, vault creator, mint, destination, amount in raw units
868
+ * @returns Unsigned transaction
869
+ */
870
+ const buildWithdrawTokensTransaction = async (connection, params) => {
871
+ const authority = new web3_js_1.PublicKey(params.authority);
872
+ const vaultCreator = new web3_js_1.PublicKey(params.vault_creator);
873
+ const mint = new web3_js_1.PublicKey(params.mint);
874
+ const destination = new web3_js_1.PublicKey(params.destination);
875
+ const [vaultPda] = (0, program_1.getTorchVaultPda)(vaultCreator);
876
+ const vaultTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(mint, vaultPda, true, spl_token_1.TOKEN_2022_PROGRAM_ID);
877
+ const destinationTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(mint, destination, false, spl_token_1.TOKEN_2022_PROGRAM_ID);
878
+ const tx = new web3_js_1.Transaction();
879
+ // Create destination ATA if needed
880
+ tx.add((0, spl_token_1.createAssociatedTokenAccountIdempotentInstruction)(authority, destinationTokenAccount, destination, mint, spl_token_1.TOKEN_2022_PROGRAM_ID, spl_token_1.ASSOCIATED_TOKEN_PROGRAM_ID));
881
+ const provider = makeDummyProvider(connection, authority);
882
+ const program = new anchor_1.Program(torch_market_json_1.default, provider);
883
+ const ix = await program.methods
884
+ .withdrawTokens(new anchor_1.BN(params.amount.toString()))
885
+ .accounts({
886
+ authority,
887
+ vault: vaultPda,
888
+ mint,
889
+ vaultTokenAccount,
890
+ destinationTokenAccount,
891
+ tokenProgram: spl_token_1.TOKEN_2022_PROGRAM_ID,
892
+ })
893
+ .instruction();
894
+ tx.add(ix);
895
+ await finalizeTransaction(connection, tx, authority);
896
+ return {
897
+ transaction: tx,
898
+ message: `Withdraw ${params.amount} tokens from vault to ${params.destination.slice(0, 8)}...`,
899
+ };
900
+ };
901
+ exports.buildWithdrawTokensTransaction = buildWithdrawTokensTransaction;
902
+ // ============================================================================
903
+ // Vault Swap (V19)
904
+ // ============================================================================
905
+ /**
906
+ * Build an unsigned vault-routed DEX swap transaction.
907
+ *
908
+ * Executes a Raydium CPMM swap through the vault PDA for migrated Torch tokens.
909
+ * Full custody preserved — all value flows through the vault.
910
+ *
911
+ * @param connection - Solana RPC connection
912
+ * @param params - Swap parameters (mint, signer, vault_creator, amount_in, minimum_amount_out, is_buy)
913
+ * @returns Unsigned transaction and descriptive message
914
+ */
915
+ const buildVaultSwapTransaction = async (connection, params) => {
916
+ const { mint: mintStr, signer: signerStr, vault_creator: vaultCreatorStr, amount_in, minimum_amount_out, is_buy } = params;
917
+ const mint = new web3_js_1.PublicKey(mintStr);
918
+ const signer = new web3_js_1.PublicKey(signerStr);
919
+ const vaultCreator = new web3_js_1.PublicKey(vaultCreatorStr);
920
+ // Derive vault PDAs
921
+ const [torchVaultPda] = (0, program_1.getTorchVaultPda)(vaultCreator);
922
+ const [vaultWalletLinkPda] = (0, program_1.getVaultWalletLinkPda)(signer);
923
+ const [bondingCurvePda] = (0, program_1.getBondingCurvePda)(mint);
924
+ // Vault's token ATA (Token-2022)
925
+ const vaultTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(mint, torchVaultPda, true, spl_token_1.TOKEN_2022_PROGRAM_ID);
926
+ // Vault's WSOL ATA (SPL Token — persistent, reused across swaps)
927
+ const vaultWsolAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(constants_1.WSOL_MINT, torchVaultPda, true, spl_token_1.TOKEN_PROGRAM_ID);
928
+ // Raydium pool accounts
929
+ const raydium = (0, program_1.getRaydiumMigrationAccounts)(mint);
930
+ const tx = new web3_js_1.Transaction();
931
+ // Create vault token ATA if needed (for first buy of a migrated token)
932
+ tx.add((0, spl_token_1.createAssociatedTokenAccountIdempotentInstruction)(signer, vaultTokenAccount, torchVaultPda, mint, spl_token_1.TOKEN_2022_PROGRAM_ID, spl_token_1.ASSOCIATED_TOKEN_PROGRAM_ID));
933
+ // Create vault WSOL ATA if needed (persistent — reused across swaps)
934
+ tx.add((0, spl_token_1.createAssociatedTokenAccountIdempotentInstruction)(signer, vaultWsolAccount, torchVaultPda, constants_1.WSOL_MINT, spl_token_1.TOKEN_PROGRAM_ID, spl_token_1.ASSOCIATED_TOKEN_PROGRAM_ID));
935
+ const provider = makeDummyProvider(connection, signer);
936
+ const program = new anchor_1.Program(torch_market_json_1.default, provider);
937
+ // On buy: fund WSOL with lamports from vault in a separate instruction
938
+ // (isolates direct lamport manipulation from CPIs to avoid runtime balance errors)
939
+ if (is_buy) {
940
+ const fundIx = await program.methods
941
+ .fundVaultWsol(new anchor_1.BN(amount_in.toString()))
942
+ .accounts({
943
+ signer,
944
+ torchVault: torchVaultPda,
945
+ vaultWalletLink: vaultWalletLinkPda,
946
+ vaultWsolAccount,
947
+ })
948
+ .instruction();
949
+ tx.add(fundIx);
950
+ }
951
+ const swapIx = await program.methods
952
+ .vaultSwap(new anchor_1.BN(amount_in.toString()), new anchor_1.BN(minimum_amount_out.toString()), is_buy)
953
+ .accounts({
954
+ signer,
955
+ torchVault: torchVaultPda,
956
+ vaultWalletLink: vaultWalletLinkPda,
957
+ mint,
958
+ bondingCurve: bondingCurvePda,
959
+ vaultTokenAccount,
960
+ vaultWsolAccount,
961
+ raydiumProgram: constants_1.RAYDIUM_CPMM_PROGRAM,
962
+ raydiumAuthority: raydium.raydiumAuthority,
963
+ ammConfig: constants_1.RAYDIUM_AMM_CONFIG,
964
+ poolState: raydium.poolState,
965
+ poolTokenVault0: raydium.token0Vault,
966
+ poolTokenVault1: raydium.token1Vault,
967
+ observationState: raydium.observationState,
968
+ wsolMint: constants_1.WSOL_MINT,
969
+ tokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
970
+ token2022Program: spl_token_1.TOKEN_2022_PROGRAM_ID,
971
+ associatedTokenProgram: spl_token_1.ASSOCIATED_TOKEN_PROGRAM_ID,
972
+ systemProgram: web3_js_1.SystemProgram.programId,
973
+ })
974
+ .instruction();
975
+ tx.add(swapIx);
976
+ await finalizeTransaction(connection, tx, signer);
977
+ const direction = is_buy ? 'Buy' : 'Sell';
978
+ const amountLabel = is_buy
979
+ ? `${amount_in / 1e9} SOL`
980
+ : `${amount_in / 1e6} tokens`;
981
+ return {
982
+ transaction: tx,
983
+ message: `${direction} ${amountLabel} via vault DEX swap`,
984
+ };
985
+ };
986
+ exports.buildVaultSwapTransaction = buildVaultSwapTransaction;
718
987
  //# sourceMappingURL=transactions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"transactions.js","sourceRoot":"","sources":["../src/transactions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transactions.js","sourceRoot":"","sources":["../src/transactions.ts"],"names":[],"mappings":"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"}