@xitadel-fi/sdk 0.1.9 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -250,6 +250,14 @@ export declare class XitadelProgram {
250
250
  * @returns Transaction instruction for withdrawing USDC
251
251
  */
252
252
  withdrawUsdc(lttId: PublicKey, withdrawer: PublicKey, amount: BN): Promise<TransactionInstruction>;
253
+ /**
254
+ * Claim protocol fees (1% of issuer withdrawals) for an LTT.
255
+ * Only the config manager can call this; claims the maximum claimable amount.
256
+ * @param lttId The LTT ID
257
+ * @param manager The manager's public key (must match config.manager)
258
+ * @returns Transaction instruction for claiming protocol fees
259
+ */
260
+ claimProtocolFees(lttId: PublicKey, manager: PublicKey): Promise<TransactionInstruction>;
253
261
  /**
254
262
  * Fetch LTT configuration
255
263
  * @param lttId The LTT ID
@@ -198,9 +198,11 @@ class XitadelProgram {
198
198
  const createInvestorLTTAtaIx = (0, spl_token_1.createAssociatedTokenAccountInstruction)(investor, investorLTTAta, investor, lttId);
199
199
  instructions.push(createInvestorLTTAtaIx);
200
200
  }
201
+ const configPda = this.getConfigPda();
201
202
  instructions.push(await this.program.methods
202
203
  .fundLtt(fundingAmount)
203
204
  .accountsPartial({
205
+ config: configPda,
204
206
  investor,
205
207
  lttConfiguration: lttConfigPda,
206
208
  fundingVaultAta,
@@ -225,9 +227,11 @@ class XitadelProgram {
225
227
  const lttConfigPda = this.getLTTConfigPda(lttId);
226
228
  const lttConfig = await this.program.account.lttConfiguration.fetch(lttConfigPda);
227
229
  const collateralVaultAta = (0, spl_token_1.getAssociatedTokenAddressSync)(lttConfig.collateralTokenMint, lttConfigPda, true);
230
+ const configPda = this.getConfigPda();
228
231
  return this.program.methods
229
232
  .activateLiquidation(Buffer.from(signedReport))
230
233
  .accountsPartial({
234
+ config: configPda,
231
235
  lttConfiguration: lttConfigPda,
232
236
  priceFeed: pricefeed,
233
237
  signer: keeperBot,
@@ -255,9 +259,11 @@ class XitadelProgram {
255
259
  const lttConfigPda = this.getLTTConfigPda(lttId);
256
260
  const lttConfig = await this.program.account.lttConfiguration.fetch(lttConfigPda);
257
261
  const collateralVaultAta = (0, spl_token_1.getAssociatedTokenAddressSync)(lttConfig.collateralTokenMint, lttConfigPda, true);
262
+ const configPda = this.getConfigPda();
258
263
  return this.program.methods
259
264
  .executeLiquidation(Buffer.from(signedReport))
260
265
  .accountsPartial({
266
+ config: configPda,
261
267
  priceFeed,
262
268
  lttConfiguration: lttConfigPda,
263
269
  signer: keeperBot,
@@ -293,9 +299,11 @@ class XitadelProgram {
293
299
  if (needsCreate) {
294
300
  instructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(withdrawer, withdrawerCollateralAta, withdrawer, lttConfig.collateralTokenMint));
295
301
  }
302
+ const configPda = this.getConfigPda();
296
303
  instructions.push(await this.program.methods
297
304
  .withdrawCollateral(amount, Buffer.from(signedReport))
298
305
  .accountsPartial({
306
+ config: configPda,
299
307
  lttConfiguration: lttConfigPda,
300
308
  issuer: withdrawer,
301
309
  collateralVaultAta,
@@ -326,9 +334,11 @@ class XitadelProgram {
326
334
  const lttConfig = await this.program.account.lttConfiguration.fetch(lttConfigPda);
327
335
  const fundingVaultAta = (0, spl_token_1.getAssociatedTokenAddressSync)(lttConfig.fundingTokenMint, lttConfigPda, true);
328
336
  const withdrawerFundingAta = (0, spl_token_1.getAssociatedTokenAddressSync)(lttConfig.fundingTokenMint, withdrawer, true);
337
+ const configPda = this.getConfigPda();
329
338
  return this.program.methods
330
339
  .withdrawUsdc(amount)
331
340
  .accountsPartial({
341
+ config: configPda,
332
342
  lttConfiguration: lttConfigPda,
333
343
  issuer: withdrawer,
334
344
  fundingVaultAta,
@@ -340,6 +350,34 @@ class XitadelProgram {
340
350
  })
341
351
  .instruction();
342
352
  }
353
+ /**
354
+ * Claim protocol fees (1% of issuer withdrawals) for an LTT.
355
+ * Only the config manager can call this; claims the maximum claimable amount.
356
+ * @param lttId The LTT ID
357
+ * @param manager The manager's public key (must match config.manager)
358
+ * @returns Transaction instruction for claiming protocol fees
359
+ */
360
+ async claimProtocolFees(lttId, manager) {
361
+ const configPda = this.getConfigPda();
362
+ const lttConfigPda = this.getLTTConfigPda(lttId);
363
+ const lttConfig = await this.program.account.lttConfiguration.fetch(lttConfigPda);
364
+ const fundingVaultAta = (0, spl_token_1.getAssociatedTokenAddressSync)(lttConfig.fundingTokenMint, lttConfigPda, true);
365
+ const protocolFeeReceiverAta = (0, spl_token_1.getAssociatedTokenAddressSync)(lttConfig.fundingTokenMint, manager, true);
366
+ return this.program.methods
367
+ .claimProtocolFees()
368
+ .accountsPartial({
369
+ config: configPda,
370
+ manager,
371
+ lttConfiguration: lttConfigPda,
372
+ fundingTokenMint: lttConfig.fundingTokenMint,
373
+ protocolFeeReceiverAta,
374
+ fundingVaultAta,
375
+ tokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
376
+ associatedTokenProgram: spl_token_1.ASSOCIATED_TOKEN_PROGRAM_ID,
377
+ systemProgram: web3_js_2.SystemProgram.programId,
378
+ })
379
+ .instruction();
380
+ }
343
381
  /**
344
382
  * Fetch LTT configuration
345
383
  * @param lttId The LTT ID
@@ -379,9 +417,11 @@ class XitadelProgram {
379
417
  if (investorCollateralAtaInfo == null) {
380
418
  instructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(investor, investorCollateralAta, investor, lttConfig.collateralTokenMint));
381
419
  }
420
+ const configPda = this.getConfigPda();
382
421
  instructions.push(await this.program.methods
383
422
  .redeem(amount)
384
423
  .accountsPartial({
424
+ config: configPda,
385
425
  investor: investor,
386
426
  lttConfiguration: lttConfigPda,
387
427
  fundingVaultAta,
@@ -411,9 +451,11 @@ class XitadelProgram {
411
451
  const lttConfig = await this.program.account.lttConfiguration.fetch(lttConfigPda);
412
452
  const fundingVaultAta = (0, spl_token_1.getAssociatedTokenAddressSync)(lttConfig.fundingTokenMint, lttConfigPda, true);
413
453
  const collateralVaultAta = (0, spl_token_1.getAssociatedTokenAddressSync)(lttConfig.collateralTokenMint, lttConfigPda, true);
454
+ const configPda = this.getConfigPda();
414
455
  return this.program.methods
415
456
  .updateLttStatus()
416
457
  .accountsPartial({
458
+ config: configPda,
417
459
  lttConfiguration: lttConfigPda,
418
460
  fundingVaultAta,
419
461
  collateralVaultAta,
@@ -484,10 +526,12 @@ class XitadelProgram {
484
526
  if (positionNftAccountInfo == null) {
485
527
  instructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(signer, positionNftAccount, lpAuthority, positionNftMint, spl_token_1.TOKEN_2022_PROGRAM_ID));
486
528
  }
529
+ const configPda = this.getConfigPda();
487
530
  // Add the main deactivate instruction
488
531
  instructions.push(await this.program.methods
489
532
  .deactivateLtt()
490
533
  .accountsPartial({
534
+ config: configPda,
491
535
  signer: signer,
492
536
  lttConfiguration: lttConfigPda,
493
537
  lpAuthority: lpAuthority,
@@ -623,9 +667,11 @@ class XitadelProgram {
623
667
  addresses: uniqueAddresses.slice(i, i + chunkSize),
624
668
  }));
625
669
  }
670
+ const configPda = this.getConfigPda();
626
671
  instructions.push(await this.program.methods
627
672
  .activateLtt()
628
673
  .accountsPartial({
674
+ config: configPda,
629
675
  signer: signer,
630
676
  lttConfiguration: lttConfigPda,
631
677
  lpAuthority,
@@ -709,9 +755,11 @@ class XitadelProgram {
709
755
  const [positionNftAccountB] = web3_js_1.PublicKey.findProgramAddressSync([constants_1.POSITION_NFT_ACCOUNT_SEED, positionNftMintB.toBuffer()], cpAmmProgramId);
710
756
  const collateralVaultAta = (0, spl_token_1.getAssociatedTokenAddressSync)(lttConfig.collateralTokenMint, lttConfigPda, true);
711
757
  const fundingVaultAta = (0, spl_token_1.getAssociatedTokenAddressSync)(lttConfig.fundingTokenMint, lttConfigPda, true);
758
+ const configPda = this.getConfigPda();
712
759
  const maturateIx = await this.program.methods
713
760
  .maturate()
714
761
  .accountsPartial({
762
+ config: configPda,
715
763
  signer,
716
764
  lpAuthority,
717
765
  lttConfiguration: lttConfigPda,
@@ -752,9 +800,11 @@ class XitadelProgram {
752
800
  const lttConfigPda = this.getLTTConfigPda(lttId);
753
801
  const lttConfig = await this.program.account.lttConfiguration.fetch(lttConfigPda);
754
802
  const collateralVaultAta = (0, spl_token_1.getAssociatedTokenAddressSync)(lttConfig.collateralTokenMint, lttConfigPda, true);
803
+ const configPda = this.getConfigPda();
755
804
  return this.program.methods
756
805
  .stopLiquidation(Buffer.from(signedReport))
757
806
  .accountsPartial({
807
+ config: configPda,
758
808
  lttConfiguration: lttConfigPda,
759
809
  signer: signer,
760
810
  priceFeed,
@@ -20,6 +20,24 @@
20
20
  18
21
21
  ],
22
22
  "accounts": [
23
+ {
24
+ "name": "config",
25
+ "pda": {
26
+ "seeds": [
27
+ {
28
+ "kind": "const",
29
+ "value": [
30
+ 99,
31
+ 111,
32
+ 110,
33
+ 102,
34
+ 105,
35
+ 103
36
+ ]
37
+ }
38
+ ]
39
+ }
40
+ },
23
41
  {
24
42
  "name": "ltt_configuration",
25
43
  "writable": true,
@@ -200,6 +218,24 @@
200
218
  92
201
219
  ],
202
220
  "accounts": [
221
+ {
222
+ "name": "config",
223
+ "pda": {
224
+ "seeds": [
225
+ {
226
+ "kind": "const",
227
+ "value": [
228
+ 99,
229
+ 111,
230
+ 110,
231
+ 102,
232
+ 105,
233
+ 103
234
+ ]
235
+ }
236
+ ]
237
+ }
238
+ },
203
239
  {
204
240
  "name": "signer",
205
241
  "writable": true,
@@ -824,6 +860,269 @@
824
860
  ],
825
861
  "args": []
826
862
  },
863
+ {
864
+ "name": "claim_protocol_fees",
865
+ "discriminator": [
866
+ 34,
867
+ 142,
868
+ 219,
869
+ 112,
870
+ 109,
871
+ 54,
872
+ 133,
873
+ 23
874
+ ],
875
+ "accounts": [
876
+ {
877
+ "name": "config",
878
+ "pda": {
879
+ "seeds": [
880
+ {
881
+ "kind": "const",
882
+ "value": [
883
+ 99,
884
+ 111,
885
+ 110,
886
+ 102,
887
+ 105,
888
+ 103
889
+ ]
890
+ }
891
+ ]
892
+ }
893
+ },
894
+ {
895
+ "name": "manager",
896
+ "writable": true,
897
+ "signer": true
898
+ },
899
+ {
900
+ "name": "ltt_configuration",
901
+ "pda": {
902
+ "seeds": [
903
+ {
904
+ "kind": "const",
905
+ "value": [
906
+ 108,
907
+ 116,
908
+ 116,
909
+ 95,
910
+ 99,
911
+ 111,
912
+ 110,
913
+ 102,
914
+ 105,
915
+ 103
916
+ ]
917
+ },
918
+ {
919
+ "kind": "account",
920
+ "path": "ltt_configuration.ltt_id",
921
+ "account": "LTTConfiguration"
922
+ }
923
+ ]
924
+ }
925
+ },
926
+ {
927
+ "name": "funding_token_mint"
928
+ },
929
+ {
930
+ "name": "protocol_fee_receiver_ata",
931
+ "writable": true,
932
+ "pda": {
933
+ "seeds": [
934
+ {
935
+ "kind": "account",
936
+ "path": "manager"
937
+ },
938
+ {
939
+ "kind": "const",
940
+ "value": [
941
+ 6,
942
+ 221,
943
+ 246,
944
+ 225,
945
+ 215,
946
+ 101,
947
+ 161,
948
+ 147,
949
+ 217,
950
+ 203,
951
+ 225,
952
+ 70,
953
+ 206,
954
+ 235,
955
+ 121,
956
+ 172,
957
+ 28,
958
+ 180,
959
+ 133,
960
+ 237,
961
+ 95,
962
+ 91,
963
+ 55,
964
+ 145,
965
+ 58,
966
+ 140,
967
+ 245,
968
+ 133,
969
+ 126,
970
+ 255,
971
+ 0,
972
+ 169
973
+ ]
974
+ },
975
+ {
976
+ "kind": "account",
977
+ "path": "ltt_configuration.funding_token_mint",
978
+ "account": "LTTConfiguration"
979
+ }
980
+ ],
981
+ "program": {
982
+ "kind": "const",
983
+ "value": [
984
+ 140,
985
+ 151,
986
+ 37,
987
+ 143,
988
+ 78,
989
+ 36,
990
+ 137,
991
+ 241,
992
+ 187,
993
+ 61,
994
+ 16,
995
+ 41,
996
+ 20,
997
+ 142,
998
+ 13,
999
+ 131,
1000
+ 11,
1001
+ 90,
1002
+ 19,
1003
+ 153,
1004
+ 218,
1005
+ 255,
1006
+ 16,
1007
+ 132,
1008
+ 4,
1009
+ 142,
1010
+ 123,
1011
+ 216,
1012
+ 219,
1013
+ 233,
1014
+ 248,
1015
+ 89
1016
+ ]
1017
+ }
1018
+ }
1019
+ },
1020
+ {
1021
+ "name": "funding_vault_ata",
1022
+ "writable": true,
1023
+ "pda": {
1024
+ "seeds": [
1025
+ {
1026
+ "kind": "account",
1027
+ "path": "ltt_configuration"
1028
+ },
1029
+ {
1030
+ "kind": "const",
1031
+ "value": [
1032
+ 6,
1033
+ 221,
1034
+ 246,
1035
+ 225,
1036
+ 215,
1037
+ 101,
1038
+ 161,
1039
+ 147,
1040
+ 217,
1041
+ 203,
1042
+ 225,
1043
+ 70,
1044
+ 206,
1045
+ 235,
1046
+ 121,
1047
+ 172,
1048
+ 28,
1049
+ 180,
1050
+ 133,
1051
+ 237,
1052
+ 95,
1053
+ 91,
1054
+ 55,
1055
+ 145,
1056
+ 58,
1057
+ 140,
1058
+ 245,
1059
+ 133,
1060
+ 126,
1061
+ 255,
1062
+ 0,
1063
+ 169
1064
+ ]
1065
+ },
1066
+ {
1067
+ "kind": "account",
1068
+ "path": "ltt_configuration.funding_token_mint",
1069
+ "account": "LTTConfiguration"
1070
+ }
1071
+ ],
1072
+ "program": {
1073
+ "kind": "const",
1074
+ "value": [
1075
+ 140,
1076
+ 151,
1077
+ 37,
1078
+ 143,
1079
+ 78,
1080
+ 36,
1081
+ 137,
1082
+ 241,
1083
+ 187,
1084
+ 61,
1085
+ 16,
1086
+ 41,
1087
+ 20,
1088
+ 142,
1089
+ 13,
1090
+ 131,
1091
+ 11,
1092
+ 90,
1093
+ 19,
1094
+ 153,
1095
+ 218,
1096
+ 255,
1097
+ 16,
1098
+ 132,
1099
+ 4,
1100
+ 142,
1101
+ 123,
1102
+ 216,
1103
+ 219,
1104
+ 233,
1105
+ 248,
1106
+ 89
1107
+ ]
1108
+ }
1109
+ }
1110
+ },
1111
+ {
1112
+ "name": "token_program",
1113
+ "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
1114
+ },
1115
+ {
1116
+ "name": "associated_token_program",
1117
+ "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
1118
+ },
1119
+ {
1120
+ "name": "system_program",
1121
+ "address": "11111111111111111111111111111111"
1122
+ }
1123
+ ],
1124
+ "args": []
1125
+ },
827
1126
  {
828
1127
  "name": "deactivate_ltt",
829
1128
  "discriminator": [
@@ -837,6 +1136,24 @@
837
1136
  237
838
1137
  ],
839
1138
  "accounts": [
1139
+ {
1140
+ "name": "config",
1141
+ "pda": {
1142
+ "seeds": [
1143
+ {
1144
+ "kind": "const",
1145
+ "value": [
1146
+ 99,
1147
+ 111,
1148
+ 110,
1149
+ 102,
1150
+ 105,
1151
+ 103
1152
+ ]
1153
+ }
1154
+ ]
1155
+ }
1156
+ },
840
1157
  {
841
1158
  "name": "signer",
842
1159
  "writable": true,
@@ -1109,7 +1426,8 @@
1109
1426
  }
1110
1427
  },
1111
1428
  {
1112
- "name": "position_nft_mint"
1429
+ "name": "position_nft_mint",
1430
+ "writable": true
1113
1431
  },
1114
1432
  {
1115
1433
  "name": "position_nft_account",
@@ -1548,6 +1866,24 @@
1548
1866
  124
1549
1867
  ],
1550
1868
  "accounts": [
1869
+ {
1870
+ "name": "config",
1871
+ "pda": {
1872
+ "seeds": [
1873
+ {
1874
+ "kind": "const",
1875
+ "value": [
1876
+ 99,
1877
+ 111,
1878
+ 110,
1879
+ 102,
1880
+ 105,
1881
+ 103
1882
+ ]
1883
+ }
1884
+ ]
1885
+ }
1886
+ },
1551
1887
  {
1552
1888
  "name": "signer",
1553
1889
  "writable": true,
@@ -1823,6 +2159,24 @@
1823
2159
  43
1824
2160
  ],
1825
2161
  "accounts": [
2162
+ {
2163
+ "name": "config",
2164
+ "pda": {
2165
+ "seeds": [
2166
+ {
2167
+ "kind": "const",
2168
+ "value": [
2169
+ 99,
2170
+ 111,
2171
+ 110,
2172
+ 102,
2173
+ 105,
2174
+ 103
2175
+ ]
2176
+ }
2177
+ ]
2178
+ }
2179
+ },
1826
2180
  {
1827
2181
  "name": "ltt_configuration",
1828
2182
  "writable": true,
@@ -2252,7 +2606,8 @@
2252
2606
  }
2253
2607
  },
2254
2608
  {
2255
- "name": "position_nft_mint"
2609
+ "name": "position_nft_mint",
2610
+ "writable": true
2256
2611
  },
2257
2612
  {
2258
2613
  "name": "harvest_vault_position_nft_ata",
@@ -2887,6 +3242,24 @@
2887
3242
  38
2888
3243
  ],
2889
3244
  "accounts": [
3245
+ {
3246
+ "name": "config",
3247
+ "pda": {
3248
+ "seeds": [
3249
+ {
3250
+ "kind": "const",
3251
+ "value": [
3252
+ 99,
3253
+ 111,
3254
+ 110,
3255
+ 102,
3256
+ 105,
3257
+ 103
3258
+ ]
3259
+ }
3260
+ ]
3261
+ }
3262
+ },
2890
3263
  {
2891
3264
  "name": "signer",
2892
3265
  "writable": true,
@@ -3200,10 +3573,12 @@
3200
3573
  "name": "token_b_mint",
3201
3574
  "docs": [
3202
3575
  "The mint of token b"
3203
- ]
3576
+ ],
3577
+ "writable": true
3204
3578
  },
3205
3579
  {
3206
- "name": "position_nft_mint"
3580
+ "name": "position_nft_mint",
3581
+ "writable": true
3207
3582
  },
3208
3583
  {
3209
3584
  "name": "position_nft_account",
@@ -3212,7 +3587,8 @@
3212
3587
  ]
3213
3588
  },
3214
3589
  {
3215
- "name": "position_nft_mint_b"
3590
+ "name": "position_nft_mint_b",
3591
+ "writable": true
3216
3592
  },
3217
3593
  {
3218
3594
  "name": "position_nft_account_b",
@@ -3255,6 +3631,24 @@
3255
3631
  225
3256
3632
  ],
3257
3633
  "accounts": [
3634
+ {
3635
+ "name": "config",
3636
+ "pda": {
3637
+ "seeds": [
3638
+ {
3639
+ "kind": "const",
3640
+ "value": [
3641
+ 99,
3642
+ 111,
3643
+ 110,
3644
+ 102,
3645
+ 105,
3646
+ 103
3647
+ ]
3648
+ }
3649
+ ]
3650
+ }
3651
+ },
3258
3652
  {
3259
3653
  "name": "investor",
3260
3654
  "writable": true,
@@ -4122,6 +4516,24 @@
4122
4516
  92
4123
4517
  ],
4124
4518
  "accounts": [
4519
+ {
4520
+ "name": "config",
4521
+ "pda": {
4522
+ "seeds": [
4523
+ {
4524
+ "kind": "const",
4525
+ "value": [
4526
+ 99,
4527
+ 111,
4528
+ 110,
4529
+ 102,
4530
+ 105,
4531
+ 103
4532
+ ]
4533
+ }
4534
+ ]
4535
+ }
4536
+ },
4125
4537
  {
4126
4538
  "name": "ltt_configuration",
4127
4539
  "writable": true,
@@ -4261,6 +4673,24 @@
4261
4673
  104
4262
4674
  ],
4263
4675
  "accounts": [
4676
+ {
4677
+ "name": "config",
4678
+ "pda": {
4679
+ "seeds": [
4680
+ {
4681
+ "kind": "const",
4682
+ "value": [
4683
+ 99,
4684
+ 111,
4685
+ 110,
4686
+ 102,
4687
+ 105,
4688
+ 103
4689
+ ]
4690
+ }
4691
+ ]
4692
+ }
4693
+ },
4264
4694
  {
4265
4695
  "name": "ltt_configuration",
4266
4696
  "writable": true,
@@ -4495,6 +4925,24 @@
4495
4925
  150
4496
4926
  ],
4497
4927
  "accounts": [
4928
+ {
4929
+ "name": "config",
4930
+ "pda": {
4931
+ "seeds": [
4932
+ {
4933
+ "kind": "const",
4934
+ "value": [
4935
+ 99,
4936
+ 111,
4937
+ 110,
4938
+ 102,
4939
+ 105,
4940
+ 103
4941
+ ]
4942
+ }
4943
+ ]
4944
+ }
4945
+ },
4498
4946
  {
4499
4947
  "name": "issuer",
4500
4948
  "writable": true,
@@ -4711,7 +5159,8 @@
4711
5159
  }
4712
5160
  },
4713
5161
  {
4714
- "name": "collateral_token_mint"
5162
+ "name": "collateral_token_mint",
5163
+ "writable": true
4715
5164
  },
4716
5165
  {
4717
5166
  "name": "chainlink_program"
@@ -4971,6 +5420,24 @@
4971
5420
  155
4972
5421
  ],
4973
5422
  "accounts": [
5423
+ {
5424
+ "name": "config",
5425
+ "pda": {
5426
+ "seeds": [
5427
+ {
5428
+ "kind": "const",
5429
+ "value": [
5430
+ 99,
5431
+ 111,
5432
+ 110,
5433
+ 102,
5434
+ 105,
5435
+ 103
5436
+ ]
5437
+ }
5438
+ ]
5439
+ }
5440
+ },
4974
5441
  {
4975
5442
  "name": "ltt_configuration",
4976
5443
  "writable": true,
@@ -5438,6 +5905,11 @@
5438
5905
  "code": 6039,
5439
5906
  "name": "InvalidVerifierAccount",
5440
5907
  "msg": "Invalid verifier account"
5908
+ },
5909
+ {
5910
+ "code": 6040,
5911
+ "name": "CircuitBreakerActive",
5912
+ "msg": "Circuit breaker is active - program is paused"
5441
5913
  }
5442
5914
  ],
5443
5915
  "types": [
@@ -26,6 +26,24 @@ export type Xitadel = {
26
26
  18
27
27
  ];
28
28
  "accounts": [
29
+ {
30
+ "name": "config";
31
+ "pda": {
32
+ "seeds": [
33
+ {
34
+ "kind": "const";
35
+ "value": [
36
+ 99,
37
+ 111,
38
+ 110,
39
+ 102,
40
+ 105,
41
+ 103
42
+ ];
43
+ }
44
+ ];
45
+ };
46
+ },
29
47
  {
30
48
  "name": "lttConfiguration";
31
49
  "writable": true;
@@ -206,6 +224,24 @@ export type Xitadel = {
206
224
  92
207
225
  ];
208
226
  "accounts": [
227
+ {
228
+ "name": "config";
229
+ "pda": {
230
+ "seeds": [
231
+ {
232
+ "kind": "const";
233
+ "value": [
234
+ 99,
235
+ 111,
236
+ 110,
237
+ 102,
238
+ 105,
239
+ 103
240
+ ];
241
+ }
242
+ ];
243
+ };
244
+ },
209
245
  {
210
246
  "name": "signer";
211
247
  "writable": true;
@@ -830,6 +866,269 @@ export type Xitadel = {
830
866
  ];
831
867
  "args": [];
832
868
  },
869
+ {
870
+ "name": "claimProtocolFees";
871
+ "discriminator": [
872
+ 34,
873
+ 142,
874
+ 219,
875
+ 112,
876
+ 109,
877
+ 54,
878
+ 133,
879
+ 23
880
+ ];
881
+ "accounts": [
882
+ {
883
+ "name": "config";
884
+ "pda": {
885
+ "seeds": [
886
+ {
887
+ "kind": "const";
888
+ "value": [
889
+ 99,
890
+ 111,
891
+ 110,
892
+ 102,
893
+ 105,
894
+ 103
895
+ ];
896
+ }
897
+ ];
898
+ };
899
+ },
900
+ {
901
+ "name": "manager";
902
+ "writable": true;
903
+ "signer": true;
904
+ },
905
+ {
906
+ "name": "lttConfiguration";
907
+ "pda": {
908
+ "seeds": [
909
+ {
910
+ "kind": "const";
911
+ "value": [
912
+ 108,
913
+ 116,
914
+ 116,
915
+ 95,
916
+ 99,
917
+ 111,
918
+ 110,
919
+ 102,
920
+ 105,
921
+ 103
922
+ ];
923
+ },
924
+ {
925
+ "kind": "account";
926
+ "path": "ltt_configuration.ltt_id";
927
+ "account": "lttConfiguration";
928
+ }
929
+ ];
930
+ };
931
+ },
932
+ {
933
+ "name": "fundingTokenMint";
934
+ },
935
+ {
936
+ "name": "protocolFeeReceiverAta";
937
+ "writable": true;
938
+ "pda": {
939
+ "seeds": [
940
+ {
941
+ "kind": "account";
942
+ "path": "manager";
943
+ },
944
+ {
945
+ "kind": "const";
946
+ "value": [
947
+ 6,
948
+ 221,
949
+ 246,
950
+ 225,
951
+ 215,
952
+ 101,
953
+ 161,
954
+ 147,
955
+ 217,
956
+ 203,
957
+ 225,
958
+ 70,
959
+ 206,
960
+ 235,
961
+ 121,
962
+ 172,
963
+ 28,
964
+ 180,
965
+ 133,
966
+ 237,
967
+ 95,
968
+ 91,
969
+ 55,
970
+ 145,
971
+ 58,
972
+ 140,
973
+ 245,
974
+ 133,
975
+ 126,
976
+ 255,
977
+ 0,
978
+ 169
979
+ ];
980
+ },
981
+ {
982
+ "kind": "account";
983
+ "path": "ltt_configuration.funding_token_mint";
984
+ "account": "lttConfiguration";
985
+ }
986
+ ];
987
+ "program": {
988
+ "kind": "const";
989
+ "value": [
990
+ 140,
991
+ 151,
992
+ 37,
993
+ 143,
994
+ 78,
995
+ 36,
996
+ 137,
997
+ 241,
998
+ 187,
999
+ 61,
1000
+ 16,
1001
+ 41,
1002
+ 20,
1003
+ 142,
1004
+ 13,
1005
+ 131,
1006
+ 11,
1007
+ 90,
1008
+ 19,
1009
+ 153,
1010
+ 218,
1011
+ 255,
1012
+ 16,
1013
+ 132,
1014
+ 4,
1015
+ 142,
1016
+ 123,
1017
+ 216,
1018
+ 219,
1019
+ 233,
1020
+ 248,
1021
+ 89
1022
+ ];
1023
+ };
1024
+ };
1025
+ },
1026
+ {
1027
+ "name": "fundingVaultAta";
1028
+ "writable": true;
1029
+ "pda": {
1030
+ "seeds": [
1031
+ {
1032
+ "kind": "account";
1033
+ "path": "lttConfiguration";
1034
+ },
1035
+ {
1036
+ "kind": "const";
1037
+ "value": [
1038
+ 6,
1039
+ 221,
1040
+ 246,
1041
+ 225,
1042
+ 215,
1043
+ 101,
1044
+ 161,
1045
+ 147,
1046
+ 217,
1047
+ 203,
1048
+ 225,
1049
+ 70,
1050
+ 206,
1051
+ 235,
1052
+ 121,
1053
+ 172,
1054
+ 28,
1055
+ 180,
1056
+ 133,
1057
+ 237,
1058
+ 95,
1059
+ 91,
1060
+ 55,
1061
+ 145,
1062
+ 58,
1063
+ 140,
1064
+ 245,
1065
+ 133,
1066
+ 126,
1067
+ 255,
1068
+ 0,
1069
+ 169
1070
+ ];
1071
+ },
1072
+ {
1073
+ "kind": "account";
1074
+ "path": "ltt_configuration.funding_token_mint";
1075
+ "account": "lttConfiguration";
1076
+ }
1077
+ ];
1078
+ "program": {
1079
+ "kind": "const";
1080
+ "value": [
1081
+ 140,
1082
+ 151,
1083
+ 37,
1084
+ 143,
1085
+ 78,
1086
+ 36,
1087
+ 137,
1088
+ 241,
1089
+ 187,
1090
+ 61,
1091
+ 16,
1092
+ 41,
1093
+ 20,
1094
+ 142,
1095
+ 13,
1096
+ 131,
1097
+ 11,
1098
+ 90,
1099
+ 19,
1100
+ 153,
1101
+ 218,
1102
+ 255,
1103
+ 16,
1104
+ 132,
1105
+ 4,
1106
+ 142,
1107
+ 123,
1108
+ 216,
1109
+ 219,
1110
+ 233,
1111
+ 248,
1112
+ 89
1113
+ ];
1114
+ };
1115
+ };
1116
+ },
1117
+ {
1118
+ "name": "tokenProgram";
1119
+ "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA";
1120
+ },
1121
+ {
1122
+ "name": "associatedTokenProgram";
1123
+ "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL";
1124
+ },
1125
+ {
1126
+ "name": "systemProgram";
1127
+ "address": "11111111111111111111111111111111";
1128
+ }
1129
+ ];
1130
+ "args": [];
1131
+ },
833
1132
  {
834
1133
  "name": "deactivateLtt";
835
1134
  "discriminator": [
@@ -843,6 +1142,24 @@ export type Xitadel = {
843
1142
  237
844
1143
  ];
845
1144
  "accounts": [
1145
+ {
1146
+ "name": "config";
1147
+ "pda": {
1148
+ "seeds": [
1149
+ {
1150
+ "kind": "const";
1151
+ "value": [
1152
+ 99,
1153
+ 111,
1154
+ 110,
1155
+ 102,
1156
+ 105,
1157
+ 103
1158
+ ];
1159
+ }
1160
+ ];
1161
+ };
1162
+ },
846
1163
  {
847
1164
  "name": "signer";
848
1165
  "writable": true;
@@ -1116,6 +1433,7 @@ export type Xitadel = {
1116
1433
  },
1117
1434
  {
1118
1435
  "name": "positionNftMint";
1436
+ "writable": true;
1119
1437
  },
1120
1438
  {
1121
1439
  "name": "positionNftAccount";
@@ -1554,6 +1872,24 @@ export type Xitadel = {
1554
1872
  124
1555
1873
  ];
1556
1874
  "accounts": [
1875
+ {
1876
+ "name": "config";
1877
+ "pda": {
1878
+ "seeds": [
1879
+ {
1880
+ "kind": "const";
1881
+ "value": [
1882
+ 99,
1883
+ 111,
1884
+ 110,
1885
+ 102,
1886
+ 105,
1887
+ 103
1888
+ ];
1889
+ }
1890
+ ];
1891
+ };
1892
+ },
1557
1893
  {
1558
1894
  "name": "signer";
1559
1895
  "writable": true;
@@ -1829,6 +2165,24 @@ export type Xitadel = {
1829
2165
  43
1830
2166
  ];
1831
2167
  "accounts": [
2168
+ {
2169
+ "name": "config";
2170
+ "pda": {
2171
+ "seeds": [
2172
+ {
2173
+ "kind": "const";
2174
+ "value": [
2175
+ 99,
2176
+ 111,
2177
+ 110,
2178
+ 102,
2179
+ 105,
2180
+ 103
2181
+ ];
2182
+ }
2183
+ ];
2184
+ };
2185
+ },
1832
2186
  {
1833
2187
  "name": "lttConfiguration";
1834
2188
  "writable": true;
@@ -2259,6 +2613,7 @@ export type Xitadel = {
2259
2613
  },
2260
2614
  {
2261
2615
  "name": "positionNftMint";
2616
+ "writable": true;
2262
2617
  },
2263
2618
  {
2264
2619
  "name": "harvestVaultPositionNftAta";
@@ -2893,6 +3248,24 @@ export type Xitadel = {
2893
3248
  38
2894
3249
  ];
2895
3250
  "accounts": [
3251
+ {
3252
+ "name": "config";
3253
+ "pda": {
3254
+ "seeds": [
3255
+ {
3256
+ "kind": "const";
3257
+ "value": [
3258
+ 99,
3259
+ 111,
3260
+ 110,
3261
+ 102,
3262
+ 105,
3263
+ 103
3264
+ ];
3265
+ }
3266
+ ];
3267
+ };
3268
+ },
2896
3269
  {
2897
3270
  "name": "signer";
2898
3271
  "writable": true;
@@ -3207,9 +3580,11 @@ export type Xitadel = {
3207
3580
  "docs": [
3208
3581
  "The mint of token b"
3209
3582
  ];
3583
+ "writable": true;
3210
3584
  },
3211
3585
  {
3212
3586
  "name": "positionNftMint";
3587
+ "writable": true;
3213
3588
  },
3214
3589
  {
3215
3590
  "name": "positionNftAccount";
@@ -3219,6 +3594,7 @@ export type Xitadel = {
3219
3594
  },
3220
3595
  {
3221
3596
  "name": "positionNftMintB";
3597
+ "writable": true;
3222
3598
  },
3223
3599
  {
3224
3600
  "name": "positionNftAccountB";
@@ -3261,6 +3637,24 @@ export type Xitadel = {
3261
3637
  225
3262
3638
  ];
3263
3639
  "accounts": [
3640
+ {
3641
+ "name": "config";
3642
+ "pda": {
3643
+ "seeds": [
3644
+ {
3645
+ "kind": "const";
3646
+ "value": [
3647
+ 99,
3648
+ 111,
3649
+ 110,
3650
+ 102,
3651
+ 105,
3652
+ 103
3653
+ ];
3654
+ }
3655
+ ];
3656
+ };
3657
+ },
3264
3658
  {
3265
3659
  "name": "investor";
3266
3660
  "writable": true;
@@ -4128,6 +4522,24 @@ export type Xitadel = {
4128
4522
  92
4129
4523
  ];
4130
4524
  "accounts": [
4525
+ {
4526
+ "name": "config";
4527
+ "pda": {
4528
+ "seeds": [
4529
+ {
4530
+ "kind": "const";
4531
+ "value": [
4532
+ 99,
4533
+ 111,
4534
+ 110,
4535
+ 102,
4536
+ 105,
4537
+ 103
4538
+ ];
4539
+ }
4540
+ ];
4541
+ };
4542
+ },
4131
4543
  {
4132
4544
  "name": "lttConfiguration";
4133
4545
  "writable": true;
@@ -4267,6 +4679,24 @@ export type Xitadel = {
4267
4679
  104
4268
4680
  ];
4269
4681
  "accounts": [
4682
+ {
4683
+ "name": "config";
4684
+ "pda": {
4685
+ "seeds": [
4686
+ {
4687
+ "kind": "const";
4688
+ "value": [
4689
+ 99,
4690
+ 111,
4691
+ 110,
4692
+ 102,
4693
+ 105,
4694
+ 103
4695
+ ];
4696
+ }
4697
+ ];
4698
+ };
4699
+ },
4270
4700
  {
4271
4701
  "name": "lttConfiguration";
4272
4702
  "writable": true;
@@ -4501,6 +4931,24 @@ export type Xitadel = {
4501
4931
  150
4502
4932
  ];
4503
4933
  "accounts": [
4934
+ {
4935
+ "name": "config";
4936
+ "pda": {
4937
+ "seeds": [
4938
+ {
4939
+ "kind": "const";
4940
+ "value": [
4941
+ 99,
4942
+ 111,
4943
+ 110,
4944
+ 102,
4945
+ 105,
4946
+ 103
4947
+ ];
4948
+ }
4949
+ ];
4950
+ };
4951
+ },
4504
4952
  {
4505
4953
  "name": "issuer";
4506
4954
  "writable": true;
@@ -4718,6 +5166,7 @@ export type Xitadel = {
4718
5166
  },
4719
5167
  {
4720
5168
  "name": "collateralTokenMint";
5169
+ "writable": true;
4721
5170
  },
4722
5171
  {
4723
5172
  "name": "chainlinkProgram";
@@ -4977,6 +5426,24 @@ export type Xitadel = {
4977
5426
  155
4978
5427
  ];
4979
5428
  "accounts": [
5429
+ {
5430
+ "name": "config";
5431
+ "pda": {
5432
+ "seeds": [
5433
+ {
5434
+ "kind": "const";
5435
+ "value": [
5436
+ 99,
5437
+ 111,
5438
+ 110,
5439
+ 102,
5440
+ 105,
5441
+ 103
5442
+ ];
5443
+ }
5444
+ ];
5445
+ };
5446
+ },
4980
5447
  {
4981
5448
  "name": "lttConfiguration";
4982
5449
  "writable": true;
@@ -5444,6 +5911,11 @@ export type Xitadel = {
5444
5911
  "code": 6039;
5445
5912
  "name": "invalidVerifierAccount";
5446
5913
  "msg": "Invalid verifier account";
5914
+ },
5915
+ {
5916
+ "code": 6040;
5917
+ "name": "circuitBreakerActive";
5918
+ "msg": "Circuit breaker is active - program is paused";
5447
5919
  }
5448
5920
  ];
5449
5921
  "types": [
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "private": false,
3
3
  "name": "@xitadel-fi/sdk",
4
- "version": "0.1.9",
4
+ "version": "0.2.1",
5
5
  "description": "SDK for interacting with the Xitadel program",
6
6
  "main": "dist/sdk/src/index.js",
7
7
  "types": "dist/sdk/src/index.d.ts",