@elmntl/jlpd-sdk 0.1.6 → 0.1.8

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.
package/dist/index.d.mts CHANGED
@@ -3024,6 +3024,7 @@ interface UpdateStvParams$1 {
3024
3024
  maxDeposit?: BN;
3025
3025
  minDeposit?: BN;
3026
3026
  flags?: number;
3027
+ jlMint?: PublicKey;
3027
3028
  }
3028
3029
  interface InitializeStvParams$1 {
3029
3030
  poolName: PoolName;
@@ -3521,6 +3522,7 @@ interface UpdateStvParams {
3521
3522
  flags: number;
3522
3523
  maxDeposit: BN;
3523
3524
  minDeposit: BN;
3525
+ jlMint: PublicKey | null;
3524
3526
  }
3525
3527
  interface InitOrUpdateJlpVaultAccounts {
3526
3528
  admin: PublicKey;
package/dist/index.d.ts CHANGED
@@ -3024,6 +3024,7 @@ interface UpdateStvParams$1 {
3024
3024
  maxDeposit?: BN;
3025
3025
  minDeposit?: BN;
3026
3026
  flags?: number;
3027
+ jlMint?: PublicKey;
3027
3028
  }
3028
3029
  interface InitializeStvParams$1 {
3029
3030
  poolName: PoolName;
@@ -3521,6 +3522,7 @@ interface UpdateStvParams {
3521
3522
  flags: number;
3522
3523
  maxDeposit: BN;
3523
3524
  minDeposit: BN;
3525
+ jlMint: PublicKey | null;
3524
3526
  }
3525
3527
  interface InitOrUpdateJlpVaultAccounts {
3526
3528
  admin: PublicKey;
package/dist/index.js CHANGED
@@ -797,96 +797,6 @@ var jlp_d_program_default = {
797
797
  }
798
798
  ]
799
799
  },
800
- {
801
- name: "migrate_stv",
802
- docs: [
803
- "Migrate STV accounts from old size to new size",
804
- "Used to upgrade STV accounts after adding new fields (e.g., min_deposit)",
805
- "Admin-only operation that reallocates account and initializes new fields"
806
- ],
807
- discriminator: [
808
- 65,
809
- 180,
810
- 191,
811
- 188,
812
- 92,
813
- 177,
814
- 87,
815
- 186
816
- ],
817
- accounts: [
818
- {
819
- name: "admin",
820
- docs: [
821
- "Admin must sign"
822
- ],
823
- writable: true,
824
- signer: true,
825
- relations: [
826
- "jlp_vault"
827
- ]
828
- },
829
- {
830
- name: "jlp_vault",
831
- docs: [
832
- "JLP Vault for admin validation"
833
- ],
834
- pda: {
835
- seeds: [
836
- {
837
- kind: "const",
838
- value: [
839
- 106,
840
- 108,
841
- 112,
842
- 95,
843
- 118,
844
- 97,
845
- 117,
846
- 108,
847
- 116
848
- ]
849
- }
850
- ]
851
- }
852
- },
853
- {
854
- name: "stv",
855
- docs: [
856
- "STV to migrate - using UncheckedAccount since we can't use AccountLoader",
857
- "for accounts with wrong size"
858
- ],
859
- writable: true,
860
- pda: {
861
- seeds: [
862
- {
863
- kind: "const",
864
- value: [
865
- 115,
866
- 116,
867
- 118
868
- ]
869
- },
870
- {
871
- kind: "account",
872
- path: "base_mint"
873
- }
874
- ]
875
- }
876
- },
877
- {
878
- name: "base_mint",
879
- docs: [
880
- "Base asset mint for this STV"
881
- ]
882
- },
883
- {
884
- name: "system_program",
885
- address: "11111111111111111111111111111111"
886
- }
887
- ],
888
- args: []
889
- },
890
800
  {
891
801
  name: "move_stv_to_from_vault",
892
802
  docs: [
@@ -1098,88 +1008,12 @@ var jlp_d_program_default = {
1098
1008
  ]
1099
1009
  },
1100
1010
  {
1101
- name: "swap_jlx_jlx",
1011
+ name: "swap_jlx_to_from_jlp",
1102
1012
  docs: [
1103
1013
  "Swap between different jlX types (e.g., jlSOL -> jlUSDC) via Jupiter",
1104
1014
  "Manager-only operation for rebalancing vault composition",
1105
1015
  "",
1106
- "Remaining accounts: Jupiter swap accounts from API (varies based on route)"
1107
- ],
1108
- discriminator: [
1109
- 24,
1110
- 52,
1111
- 70,
1112
- 107,
1113
- 160,
1114
- 96,
1115
- 155,
1116
- 62
1117
- ],
1118
- accounts: [
1119
- {
1120
- name: "manager",
1121
- docs: [
1122
- "Manager performing the swap"
1123
- ],
1124
- signer: true
1125
- },
1126
- {
1127
- name: "jlp_vault",
1128
- docs: [
1129
- "The JLP Vault PDA account",
1130
- "Note: PDA and manager verified in handler via get_pda() to avoid multiple loads"
1131
- ]
1132
- },
1133
- {
1134
- name: "from_jlx_mint",
1135
- docs: [
1136
- "Source jlX mint"
1137
- ]
1138
- },
1139
- {
1140
- name: "to_jlx_mint",
1141
- docs: [
1142
- "Destination jlX mint"
1143
- ]
1144
- },
1145
- {
1146
- name: "from_jlx_ata",
1147
- docs: [
1148
- "Source jlX staging ATA (vault-owned)"
1149
- ],
1150
- writable: true
1151
- },
1152
- {
1153
- name: "to_jlx_ata",
1154
- docs: [
1155
- "Destination jlX staging ATA (vault-owned)"
1156
- ],
1157
- writable: true
1158
- },
1159
- {
1160
- name: "token_program"
1161
- },
1162
- {
1163
- name: "jupiter_program",
1164
- docs: [
1165
- "Jupiter aggregator program"
1166
- ]
1167
- }
1168
- ],
1169
- args: [
1170
- {
1171
- name: "params",
1172
- type: {
1173
- defined: {
1174
- name: "SwapJlxJlxParams"
1175
- }
1176
- }
1177
- }
1178
- ]
1179
- },
1180
- {
1181
- name: "swap_jlx_to_from_jlp",
1182
- docs: [
1016
+ "Remaining accounts: Jupiter swap accounts from API (varies based on route)",
1183
1017
  "Swap between jlX and JLP tokens via Jupiter",
1184
1018
  "JlxToJlp: Swap jlX -> JLP (increase vault JLP balance)",
1185
1019
  "JlpToJlx: Swap JLP -> jlX (decrease vault JLP balance)",
@@ -1883,16 +1717,6 @@ var jlp_d_program_default = {
1883
1717
  code: 6045,
1884
1718
  name: "NotAdmin",
1885
1719
  msg: "Unauthorized: not admin"
1886
- },
1887
- {
1888
- code: 6046,
1889
- name: "AccountNotMigratable",
1890
- msg: "Account cannot be migrated - unexpected size"
1891
- },
1892
- {
1893
- code: 6047,
1894
- name: "AccountDiscriminatorMismatch",
1895
- msg: "Account discriminator mismatch"
1896
1720
  }
1897
1721
  ],
1898
1722
  types: [
@@ -2913,6 +2737,14 @@ var jlp_d_program_default = {
2913
2737
  {
2914
2738
  name: "new_min_deposit",
2915
2739
  type: "u64"
2740
+ },
2741
+ {
2742
+ name: "old_jl_mint",
2743
+ type: "pubkey"
2744
+ },
2745
+ {
2746
+ name: "new_jl_mint",
2747
+ type: "pubkey"
2916
2748
  }
2917
2749
  ]
2918
2750
  }
@@ -2986,54 +2818,6 @@ var jlp_d_program_default = {
2986
2818
  ]
2987
2819
  }
2988
2820
  },
2989
- {
2990
- name: "SwapJlxJlxParams",
2991
- docs: [
2992
- "Parameters for swapping between different jlX types"
2993
- ],
2994
- type: {
2995
- kind: "struct",
2996
- fields: [
2997
- {
2998
- name: "from_index",
2999
- docs: [
3000
- "Source jlX type index (0=BTC, 1=ETH, 2=SOL, 3=USDC, 4=JupUSD)"
3001
- ],
3002
- type: "u8"
3003
- },
3004
- {
3005
- name: "to_index",
3006
- docs: [
3007
- "Destination jlX type index"
3008
- ],
3009
- type: "u8"
3010
- },
3011
- {
3012
- name: "amount_in",
3013
- docs: [
3014
- "Amount of source jlX to swap"
3015
- ],
3016
- type: "u64"
3017
- },
3018
- {
3019
- name: "min_out",
3020
- docs: [
3021
- "Minimum output amount (slippage protection)"
3022
- ],
3023
- type: "u64"
3024
- },
3025
- {
3026
- name: "jupiter_data",
3027
- docs: [
3028
- "Jupiter swap instruction data (includes discriminator and route)",
3029
- "This is obtained from Jupiter API off-chain",
3030
- "On devnet/localnet (with feature flags), this can be empty"
3031
- ],
3032
- type: "bytes"
3033
- }
3034
- ]
3035
- }
3036
- },
3037
2821
  {
3038
2822
  name: "UpdateStvParams",
3039
2823
  docs: [
@@ -3076,6 +2860,15 @@ var jlp_d_program_default = {
3076
2860
  "Minimum deposit amount in base asset (0 = no minimum)"
3077
2861
  ],
3078
2862
  type: "u64"
2863
+ },
2864
+ {
2865
+ name: "jl_mint",
2866
+ docs: [
2867
+ "Optional new jl_mint for migrating base-only pools to Jupiter Lend"
2868
+ ],
2869
+ type: {
2870
+ option: "pubkey"
2871
+ }
3079
2872
  }
3080
2873
  ]
3081
2874
  }
@@ -3861,7 +3654,8 @@ async function createUpdateStvInstruction(program, params, accounts) {
3861
3654
  perfFeeBps: params.perfFeeBps,
3862
3655
  flags: params.flags,
3863
3656
  maxDeposit: params.maxDeposit,
3864
- minDeposit: params.minDeposit
3657
+ minDeposit: params.minDeposit,
3658
+ jlMint: params.jlMint
3865
3659
  }).accounts({
3866
3660
  admin: accounts.admin,
3867
3661
  jlpVault: accounts.jlpVault,
@@ -4396,7 +4190,9 @@ var PoolContext = class {
4396
4190
  perfFeeBps: params.perfFeeBps ?? stv.perfFeeBps,
4397
4191
  flags: params.flags ?? stv.flags,
4398
4192
  maxDeposit: params.maxDeposit ?? stv.maxDeposit,
4399
- minDeposit: params.minDeposit ?? stv.minDeposit
4193
+ minDeposit: params.minDeposit ?? stv.minDeposit,
4194
+ jlMint: params.jlMint ?? null
4195
+ // null means no change (Option::None on-chain)
4400
4196
  },
4401
4197
  {
4402
4198
  admin: params.admin,
package/dist/index.mjs CHANGED
@@ -701,96 +701,6 @@ var jlp_d_program_default = {
701
701
  }
702
702
  ]
703
703
  },
704
- {
705
- name: "migrate_stv",
706
- docs: [
707
- "Migrate STV accounts from old size to new size",
708
- "Used to upgrade STV accounts after adding new fields (e.g., min_deposit)",
709
- "Admin-only operation that reallocates account and initializes new fields"
710
- ],
711
- discriminator: [
712
- 65,
713
- 180,
714
- 191,
715
- 188,
716
- 92,
717
- 177,
718
- 87,
719
- 186
720
- ],
721
- accounts: [
722
- {
723
- name: "admin",
724
- docs: [
725
- "Admin must sign"
726
- ],
727
- writable: true,
728
- signer: true,
729
- relations: [
730
- "jlp_vault"
731
- ]
732
- },
733
- {
734
- name: "jlp_vault",
735
- docs: [
736
- "JLP Vault for admin validation"
737
- ],
738
- pda: {
739
- seeds: [
740
- {
741
- kind: "const",
742
- value: [
743
- 106,
744
- 108,
745
- 112,
746
- 95,
747
- 118,
748
- 97,
749
- 117,
750
- 108,
751
- 116
752
- ]
753
- }
754
- ]
755
- }
756
- },
757
- {
758
- name: "stv",
759
- docs: [
760
- "STV to migrate - using UncheckedAccount since we can't use AccountLoader",
761
- "for accounts with wrong size"
762
- ],
763
- writable: true,
764
- pda: {
765
- seeds: [
766
- {
767
- kind: "const",
768
- value: [
769
- 115,
770
- 116,
771
- 118
772
- ]
773
- },
774
- {
775
- kind: "account",
776
- path: "base_mint"
777
- }
778
- ]
779
- }
780
- },
781
- {
782
- name: "base_mint",
783
- docs: [
784
- "Base asset mint for this STV"
785
- ]
786
- },
787
- {
788
- name: "system_program",
789
- address: "11111111111111111111111111111111"
790
- }
791
- ],
792
- args: []
793
- },
794
704
  {
795
705
  name: "move_stv_to_from_vault",
796
706
  docs: [
@@ -1002,88 +912,12 @@ var jlp_d_program_default = {
1002
912
  ]
1003
913
  },
1004
914
  {
1005
- name: "swap_jlx_jlx",
915
+ name: "swap_jlx_to_from_jlp",
1006
916
  docs: [
1007
917
  "Swap between different jlX types (e.g., jlSOL -> jlUSDC) via Jupiter",
1008
918
  "Manager-only operation for rebalancing vault composition",
1009
919
  "",
1010
- "Remaining accounts: Jupiter swap accounts from API (varies based on route)"
1011
- ],
1012
- discriminator: [
1013
- 24,
1014
- 52,
1015
- 70,
1016
- 107,
1017
- 160,
1018
- 96,
1019
- 155,
1020
- 62
1021
- ],
1022
- accounts: [
1023
- {
1024
- name: "manager",
1025
- docs: [
1026
- "Manager performing the swap"
1027
- ],
1028
- signer: true
1029
- },
1030
- {
1031
- name: "jlp_vault",
1032
- docs: [
1033
- "The JLP Vault PDA account",
1034
- "Note: PDA and manager verified in handler via get_pda() to avoid multiple loads"
1035
- ]
1036
- },
1037
- {
1038
- name: "from_jlx_mint",
1039
- docs: [
1040
- "Source jlX mint"
1041
- ]
1042
- },
1043
- {
1044
- name: "to_jlx_mint",
1045
- docs: [
1046
- "Destination jlX mint"
1047
- ]
1048
- },
1049
- {
1050
- name: "from_jlx_ata",
1051
- docs: [
1052
- "Source jlX staging ATA (vault-owned)"
1053
- ],
1054
- writable: true
1055
- },
1056
- {
1057
- name: "to_jlx_ata",
1058
- docs: [
1059
- "Destination jlX staging ATA (vault-owned)"
1060
- ],
1061
- writable: true
1062
- },
1063
- {
1064
- name: "token_program"
1065
- },
1066
- {
1067
- name: "jupiter_program",
1068
- docs: [
1069
- "Jupiter aggregator program"
1070
- ]
1071
- }
1072
- ],
1073
- args: [
1074
- {
1075
- name: "params",
1076
- type: {
1077
- defined: {
1078
- name: "SwapJlxJlxParams"
1079
- }
1080
- }
1081
- }
1082
- ]
1083
- },
1084
- {
1085
- name: "swap_jlx_to_from_jlp",
1086
- docs: [
920
+ "Remaining accounts: Jupiter swap accounts from API (varies based on route)",
1087
921
  "Swap between jlX and JLP tokens via Jupiter",
1088
922
  "JlxToJlp: Swap jlX -> JLP (increase vault JLP balance)",
1089
923
  "JlpToJlx: Swap JLP -> jlX (decrease vault JLP balance)",
@@ -1787,16 +1621,6 @@ var jlp_d_program_default = {
1787
1621
  code: 6045,
1788
1622
  name: "NotAdmin",
1789
1623
  msg: "Unauthorized: not admin"
1790
- },
1791
- {
1792
- code: 6046,
1793
- name: "AccountNotMigratable",
1794
- msg: "Account cannot be migrated - unexpected size"
1795
- },
1796
- {
1797
- code: 6047,
1798
- name: "AccountDiscriminatorMismatch",
1799
- msg: "Account discriminator mismatch"
1800
1624
  }
1801
1625
  ],
1802
1626
  types: [
@@ -2817,6 +2641,14 @@ var jlp_d_program_default = {
2817
2641
  {
2818
2642
  name: "new_min_deposit",
2819
2643
  type: "u64"
2644
+ },
2645
+ {
2646
+ name: "old_jl_mint",
2647
+ type: "pubkey"
2648
+ },
2649
+ {
2650
+ name: "new_jl_mint",
2651
+ type: "pubkey"
2820
2652
  }
2821
2653
  ]
2822
2654
  }
@@ -2890,54 +2722,6 @@ var jlp_d_program_default = {
2890
2722
  ]
2891
2723
  }
2892
2724
  },
2893
- {
2894
- name: "SwapJlxJlxParams",
2895
- docs: [
2896
- "Parameters for swapping between different jlX types"
2897
- ],
2898
- type: {
2899
- kind: "struct",
2900
- fields: [
2901
- {
2902
- name: "from_index",
2903
- docs: [
2904
- "Source jlX type index (0=BTC, 1=ETH, 2=SOL, 3=USDC, 4=JupUSD)"
2905
- ],
2906
- type: "u8"
2907
- },
2908
- {
2909
- name: "to_index",
2910
- docs: [
2911
- "Destination jlX type index"
2912
- ],
2913
- type: "u8"
2914
- },
2915
- {
2916
- name: "amount_in",
2917
- docs: [
2918
- "Amount of source jlX to swap"
2919
- ],
2920
- type: "u64"
2921
- },
2922
- {
2923
- name: "min_out",
2924
- docs: [
2925
- "Minimum output amount (slippage protection)"
2926
- ],
2927
- type: "u64"
2928
- },
2929
- {
2930
- name: "jupiter_data",
2931
- docs: [
2932
- "Jupiter swap instruction data (includes discriminator and route)",
2933
- "This is obtained from Jupiter API off-chain",
2934
- "On devnet/localnet (with feature flags), this can be empty"
2935
- ],
2936
- type: "bytes"
2937
- }
2938
- ]
2939
- }
2940
- },
2941
2725
  {
2942
2726
  name: "UpdateStvParams",
2943
2727
  docs: [
@@ -2980,6 +2764,15 @@ var jlp_d_program_default = {
2980
2764
  "Minimum deposit amount in base asset (0 = no minimum)"
2981
2765
  ],
2982
2766
  type: "u64"
2767
+ },
2768
+ {
2769
+ name: "jl_mint",
2770
+ docs: [
2771
+ "Optional new jl_mint for migrating base-only pools to Jupiter Lend"
2772
+ ],
2773
+ type: {
2774
+ option: "pubkey"
2775
+ }
2983
2776
  }
2984
2777
  ]
2985
2778
  }
@@ -3768,7 +3561,8 @@ async function createUpdateStvInstruction(program, params, accounts) {
3768
3561
  perfFeeBps: params.perfFeeBps,
3769
3562
  flags: params.flags,
3770
3563
  maxDeposit: params.maxDeposit,
3771
- minDeposit: params.minDeposit
3564
+ minDeposit: params.minDeposit,
3565
+ jlMint: params.jlMint
3772
3566
  }).accounts({
3773
3567
  admin: accounts.admin,
3774
3568
  jlpVault: accounts.jlpVault,
@@ -4303,7 +4097,9 @@ var PoolContext = class {
4303
4097
  perfFeeBps: params.perfFeeBps ?? stv.perfFeeBps,
4304
4098
  flags: params.flags ?? stv.flags,
4305
4099
  maxDeposit: params.maxDeposit ?? stv.maxDeposit,
4306
- minDeposit: params.minDeposit ?? stv.minDeposit
4100
+ minDeposit: params.minDeposit ?? stv.minDeposit,
4101
+ jlMint: params.jlMint ?? null
4102
+ // null means no change (Option::None on-chain)
4307
4103
  },
4308
4104
  {
4309
4105
  admin: params.admin,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elmntl/jlpd-sdk",
3
- "version": "0.1.6",
3
+ "version": "0.1.8",
4
4
  "description": "SDK for JLP.D (JLP Deconstructed) by Elemental",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",