@reflectmoney/stable.ts 2.9.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (513) hide show
  1. package/README.md +257 -126
  2. package/dist/classes/Migration.d.ts +66 -0
  3. package/dist/classes/Migration.js +95 -0
  4. package/dist/classes/PdaClient.d.ts +46 -68
  5. package/dist/classes/PdaClient.js +161 -141
  6. package/dist/classes/Reflect.d.ts +19 -5
  7. package/dist/classes/Reflect.js +23 -6
  8. package/dist/classes/ReflectKeeper.d.ts +73 -60
  9. package/dist/classes/ReflectKeeper.js +181 -164
  10. package/dist/classes/ReflectTokenisedBond.d.ts +37 -50
  11. package/dist/classes/ReflectTokenisedBond.js +70 -130
  12. package/dist/classes/Stablecoin.d.ts +90 -130
  13. package/dist/classes/Stablecoin.js +134 -247
  14. package/dist/classes/index.d.ts +1 -0
  15. package/dist/classes/index.js +1 -0
  16. package/dist/constants/devnet.d.ts +4 -4
  17. package/dist/constants/devnet.js +5 -5
  18. package/dist/constants/drift.d.ts +8 -6
  19. package/dist/constants/drift.js +12 -12
  20. package/dist/constants/index.d.ts +4 -2
  21. package/dist/constants/index.js +4 -2
  22. package/dist/constants/jupiter.d.ts +12 -4
  23. package/dist/constants/jupiter.js +17 -6
  24. package/dist/constants/kamino.d.ts +14 -0
  25. package/dist/constants/kamino.js +39 -0
  26. package/dist/constants/lookupTables.d.ts +3 -4
  27. package/dist/constants/lookupTables.js +5 -5
  28. package/dist/constants/mock.d.ts +2 -0
  29. package/dist/constants/mock.js +5 -0
  30. package/dist/constants/usdc.d.ts +6 -7
  31. package/dist/constants/usdc.js +8 -9
  32. package/dist/constants/usdt.d.ts +6 -0
  33. package/dist/constants/usdt.js +9 -0
  34. package/dist/constants/wsol.d.ts +6 -6
  35. package/dist/constants/wsol.js +6 -6
  36. package/dist/generated/reflect_main/accounts/driftUsdcController.d.ts +31 -0
  37. package/dist/generated/reflect_main/accounts/driftUsdcController.js +77 -0
  38. package/dist/generated/reflect_main/accounts/index.d.ts +11 -38
  39. package/dist/generated/reflect_main/accounts/index.js +11 -39
  40. package/dist/generated/reflect_main/accounts/main.d.ts +62 -0
  41. package/dist/generated/reflect_main/accounts/main.js +91 -0
  42. package/dist/generated/reflect_main/accounts/strategyController.d.ts +31 -0
  43. package/dist/generated/reflect_main/accounts/strategyController.js +77 -0
  44. package/dist/generated/reflect_main/accounts/userPermissions.d.ts +44 -0
  45. package/dist/generated/reflect_main/accounts/userPermissions.js +89 -0
  46. package/dist/generated/reflect_main/errors/index.d.ts +5 -966
  47. package/dist/generated/reflect_main/errors/index.js +21 -1663
  48. package/dist/generated/reflect_main/errors/reflectMain.d.ts +215 -0
  49. package/dist/generated/reflect_main/errors/reflectMain.js +323 -0
  50. package/dist/generated/reflect_main/index.d.ts +9 -16
  51. package/dist/generated/reflect_main/index.js +8 -16
  52. package/dist/generated/reflect_main/instructions/addLstDrift.d.ts +62 -45
  53. package/dist/generated/reflect_main/instructions/addLstDrift.js +155 -104
  54. package/dist/generated/reflect_main/instructions/addSubAccount.d.ts +74 -50
  55. package/dist/generated/reflect_main/instructions/addSubAccount.js +166 -119
  56. package/dist/generated/reflect_main/instructions/captureSpreadDrift.d.ts +70 -59
  57. package/dist/generated/reflect_main/instructions/captureSpreadDrift.js +167 -115
  58. package/dist/generated/reflect_main/instructions/createAdminAccount.d.ts +53 -46
  59. package/dist/generated/reflect_main/instructions/createAdminAccount.js +135 -91
  60. package/dist/generated/reflect_main/instructions/createDriftUserAccount.d.ts +78 -0
  61. package/dist/generated/reflect_main/instructions/createDriftUserAccount.js +184 -0
  62. package/dist/generated/reflect_main/instructions/createDriftUserStatsAccount.d.ts +74 -0
  63. package/dist/generated/reflect_main/instructions/createDriftUserStatsAccount.js +173 -0
  64. package/dist/generated/reflect_main/instructions/createKaminoUserAccounts.d.ts +144 -0
  65. package/dist/generated/reflect_main/instructions/createKaminoUserAccounts.js +395 -0
  66. package/dist/generated/reflect_main/instructions/depositDrift.d.ts +96 -66
  67. package/dist/generated/reflect_main/instructions/depositDrift.js +190 -139
  68. package/dist/generated/reflect_main/instructions/freezeProgram.d.ts +56 -47
  69. package/dist/generated/reflect_main/instructions/freezeProgram.js +139 -94
  70. package/dist/generated/reflect_main/instructions/freezeProtocolAction.d.ts +57 -48
  71. package/dist/generated/reflect_main/instructions/freezeProtocolAction.js +140 -95
  72. package/dist/generated/reflect_main/instructions/freezeStrategyAction.d.ts +61 -51
  73. package/dist/generated/reflect_main/instructions/freezeStrategyAction.js +145 -101
  74. package/dist/generated/reflect_main/instructions/increaseAdminSize.d.ts +40 -45
  75. package/dist/generated/reflect_main/instructions/increaseAdminSize.js +81 -90
  76. package/dist/generated/reflect_main/instructions/index.d.ts +45 -33
  77. package/dist/generated/reflect_main/instructions/index.js +19 -7
  78. package/dist/generated/reflect_main/instructions/initDriftControllerS1.d.ts +70 -53
  79. package/dist/generated/reflect_main/instructions/initDriftControllerS1.js +163 -100
  80. package/dist/generated/reflect_main/instructions/initDriftControllerS2.d.ts +75 -0
  81. package/dist/generated/reflect_main/instructions/initDriftControllerS2.js +176 -0
  82. package/dist/generated/reflect_main/instructions/initDriftControllerS3.d.ts +70 -53
  83. package/dist/generated/reflect_main/instructions/initDriftControllerS3.js +163 -100
  84. package/dist/generated/reflect_main/instructions/initMain.d.ts +50 -39
  85. package/dist/generated/reflect_main/instructions/initMain.js +136 -91
  86. package/dist/generated/reflect_main/instructions/migrateS1.d.ts +58 -0
  87. package/dist/generated/reflect_main/instructions/migrateS1.js +145 -0
  88. package/dist/generated/reflect_main/instructions/mintDriftS1.d.ts +118 -81
  89. package/dist/generated/reflect_main/instructions/mintDriftS1.js +244 -169
  90. package/dist/generated/reflect_main/instructions/mintDriftS3.d.ts +118 -81
  91. package/dist/generated/reflect_main/instructions/mintDriftS3.js +244 -169
  92. package/dist/generated/reflect_main/instructions/mintStrategy1.d.ts +95 -0
  93. package/dist/generated/reflect_main/instructions/mintStrategy1.js +236 -0
  94. package/dist/generated/reflect_main/instructions/mintStrategy2.d.ts +95 -0
  95. package/dist/generated/reflect_main/instructions/mintStrategy2.js +236 -0
  96. package/dist/generated/reflect_main/instructions/rebalanceS1.d.ts +74 -0
  97. package/dist/generated/reflect_main/instructions/rebalanceS1.js +211 -0
  98. package/dist/generated/reflect_main/instructions/rebalanceS2.d.ts +74 -0
  99. package/dist/generated/reflect_main/instructions/rebalanceS2.js +211 -0
  100. package/dist/generated/reflect_main/instructions/redeemDriftS1.d.ts +121 -81
  101. package/dist/generated/reflect_main/instructions/redeemDriftS1.js +246 -170
  102. package/dist/generated/reflect_main/instructions/redeemDriftS3.d.ts +121 -81
  103. package/dist/generated/reflect_main/instructions/redeemDriftS3.js +246 -170
  104. package/dist/generated/reflect_main/instructions/redeemStrategy1.d.ts +95 -0
  105. package/dist/generated/reflect_main/instructions/redeemStrategy1.js +236 -0
  106. package/dist/generated/reflect_main/instructions/redeemStrategy2.d.ts +95 -0
  107. package/dist/generated/reflect_main/instructions/redeemStrategy2.js +236 -0
  108. package/dist/generated/reflect_main/instructions/settlePnl.d.ts +62 -46
  109. package/dist/generated/reflect_main/instructions/settlePnl.js +135 -104
  110. package/dist/generated/reflect_main/instructions/suspendSplProtocol.d.ts +57 -48
  111. package/dist/generated/reflect_main/instructions/suspendSplProtocol.js +139 -95
  112. package/dist/generated/reflect_main/instructions/suspendSplStrategy.d.ts +61 -50
  113. package/dist/generated/reflect_main/instructions/suspendSplStrategy.js +144 -100
  114. package/dist/generated/reflect_main/instructions/updateActionRoleProtocol.d.ts +60 -50
  115. package/dist/generated/reflect_main/instructions/updateActionRoleProtocol.js +142 -98
  116. package/dist/generated/reflect_main/instructions/updateActionRoleStrategy.d.ts +64 -52
  117. package/dist/generated/reflect_main/instructions/updateActionRoleStrategy.js +147 -103
  118. package/dist/generated/reflect_main/instructions/updateAttenuation.d.ts +65 -51
  119. package/dist/generated/reflect_main/instructions/updateAttenuation.js +146 -100
  120. package/dist/generated/reflect_main/instructions/updateCap.d.ts +58 -50
  121. package/dist/generated/reflect_main/instructions/updateCap.js +142 -98
  122. package/dist/generated/reflect_main/instructions/updateCapitalConductor.d.ts +79 -0
  123. package/dist/generated/reflect_main/instructions/updateCapitalConductor.js +161 -0
  124. package/dist/generated/reflect_main/instructions/updateRecipients.d.ts +62 -51
  125. package/dist/generated/reflect_main/instructions/updateRecipients.js +144 -100
  126. package/dist/generated/reflect_main/instructions/updateRoleHolderProtocol.d.ts +65 -53
  127. package/dist/generated/reflect_main/instructions/updateRoleHolderProtocol.js +154 -104
  128. package/dist/generated/reflect_main/instructions/updateRoleHolderStrategy.d.ts +65 -53
  129. package/dist/generated/reflect_main/instructions/updateRoleHolderStrategy.js +154 -104
  130. package/dist/generated/reflect_main/programs/index.d.ts +8 -0
  131. package/dist/generated/reflect_main/programs/index.js +24 -0
  132. package/dist/generated/reflect_main/programs/reflectMain.d.ts +139 -0
  133. package/dist/generated/reflect_main/programs/reflectMain.js +190 -0
  134. package/dist/generated/reflect_main/shared/index.d.ts +49 -0
  135. package/dist/generated/reflect_main/shared/index.js +90 -0
  136. package/dist/generated/reflect_main/types/accessControl.d.ts +24 -0
  137. package/dist/generated/reflect_main/types/accessControl.js +29 -0
  138. package/dist/generated/reflect_main/types/accessMap.d.ts +24 -0
  139. package/dist/generated/reflect_main/types/accessMap.js +35 -0
  140. package/dist/generated/reflect_main/types/action.d.ts +32 -0
  141. package/dist/generated/reflect_main/types/action.js +44 -0
  142. package/dist/generated/reflect_main/types/actionMapping.d.ts +22 -0
  143. package/dist/generated/reflect_main/types/actionMapping.js +31 -0
  144. package/dist/generated/reflect_main/types/addedProtocolActionRole.d.ts +20 -0
  145. package/dist/generated/reflect_main/types/addedProtocolActionRole.js +29 -0
  146. package/dist/generated/reflect_main/types/addedProtocolRoleHolder.d.ts +20 -0
  147. package/dist/generated/reflect_main/types/addedProtocolRoleHolder.js +29 -0
  148. package/dist/generated/reflect_main/types/addedStrategyActionRole.d.ts +22 -0
  149. package/dist/generated/reflect_main/types/addedStrategyActionRole.js +31 -0
  150. package/dist/generated/reflect_main/types/addedStrategyRoleHolder.d.ts +22 -0
  151. package/dist/generated/reflect_main/types/addedStrategyRoleHolder.js +31 -0
  152. package/dist/generated/reflect_main/types/attenuation.d.ts +16 -0
  153. package/dist/generated/reflect_main/types/attenuation.js +28 -0
  154. package/dist/generated/reflect_main/types/attenuationUpdated.d.ts +23 -0
  155. package/dist/generated/reflect_main/types/attenuationUpdated.js +32 -0
  156. package/dist/generated/reflect_main/types/autoCompound.d.ts +23 -0
  157. package/dist/generated/reflect_main/types/autoCompound.js +32 -0
  158. package/dist/generated/reflect_main/types/base.d.ts +38 -0
  159. package/dist/generated/reflect_main/types/base.js +47 -0
  160. package/dist/generated/reflect_main/types/capitalConductorComponent.d.ts +28 -0
  161. package/dist/generated/reflect_main/types/capitalConductorComponent.js +43 -0
  162. package/dist/generated/reflect_main/types/capture.d.ts +24 -0
  163. package/dist/generated/reflect_main/types/capture.js +33 -0
  164. package/dist/generated/reflect_main/types/component.d.ts +24 -0
  165. package/dist/generated/reflect_main/types/component.js +33 -0
  166. package/dist/generated/reflect_main/types/componentType.d.ts +24 -0
  167. package/dist/generated/reflect_main/types/componentType.js +36 -0
  168. package/dist/generated/reflect_main/types/currentProtocolBalance.d.ts +20 -0
  169. package/dist/generated/reflect_main/types/currentProtocolBalance.js +29 -0
  170. package/dist/generated/reflect_main/types/currentProtocolRatio.d.ts +24 -0
  171. package/dist/generated/reflect_main/types/currentProtocolRatio.js +33 -0
  172. package/dist/generated/reflect_main/types/driftSpotData.d.ts +17 -0
  173. package/dist/generated/reflect_main/types/driftSpotData.js +30 -0
  174. package/dist/generated/reflect_main/types/driftSpotMarketsComponent.d.ts +20 -0
  175. package/dist/generated/reflect_main/types/driftSpotMarketsComponent.js +29 -0
  176. package/dist/generated/reflect_main/types/driftSubAccountsComponent.d.ts +18 -0
  177. package/dist/generated/reflect_main/types/driftSubAccountsComponent.js +23 -0
  178. package/dist/generated/reflect_main/types/driftSubs.d.ts +17 -0
  179. package/dist/generated/reflect_main/types/driftSubs.js +30 -0
  180. package/dist/generated/reflect_main/types/dustThresholdUpdated.d.ts +21 -0
  181. package/dist/generated/reflect_main/types/dustThresholdUpdated.js +30 -0
  182. package/dist/generated/reflect_main/types/externals.d.ts +18 -0
  183. package/dist/generated/reflect_main/types/externals.js +23 -0
  184. package/dist/generated/reflect_main/types/flowControl.d.ts +20 -0
  185. package/dist/generated/reflect_main/types/flowControl.js +29 -0
  186. package/dist/generated/reflect_main/types/index.d.ts +76 -81
  187. package/dist/generated/reflect_main/types/index.js +76 -81
  188. package/dist/generated/reflect_main/types/issue.d.ts +39 -0
  189. package/dist/generated/reflect_main/types/issue.js +36 -0
  190. package/dist/generated/reflect_main/types/killSwitch.d.ts +20 -0
  191. package/dist/generated/reflect_main/types/killSwitch.js +22 -0
  192. package/dist/generated/reflect_main/types/levelRoles.d.ts +23 -0
  193. package/dist/generated/reflect_main/types/levelRoles.js +23 -0
  194. package/dist/generated/reflect_main/types/maxDeviationBpsUpdated.d.ts +17 -0
  195. package/dist/generated/reflect_main/types/maxDeviationBpsUpdated.js +30 -0
  196. package/dist/generated/reflect_main/types/minPerLegTransferUpdated.d.ts +21 -0
  197. package/dist/generated/reflect_main/types/minPerLegTransferUpdated.js +30 -0
  198. package/dist/generated/reflect_main/types/newAdminAccount.d.ts +15 -0
  199. package/dist/generated/reflect_main/types/newAdminAccount.js +22 -0
  200. package/dist/generated/reflect_main/types/penaltyScaleFactorUpdated.d.ts +17 -0
  201. package/dist/generated/reflect_main/types/penaltyScaleFactorUpdated.js +30 -0
  202. package/dist/generated/reflect_main/types/program.d.ts +22 -0
  203. package/dist/generated/reflect_main/types/program.js +31 -0
  204. package/dist/generated/reflect_main/types/programStatus.d.ts +16 -0
  205. package/dist/generated/reflect_main/types/programStatus.js +28 -0
  206. package/dist/generated/reflect_main/types/programStatusUpdate.d.ts +20 -0
  207. package/dist/generated/reflect_main/types/programStatusUpdate.js +29 -0
  208. package/dist/generated/reflect_main/types/protocolActionUpdate.d.ts +20 -0
  209. package/dist/generated/reflect_main/types/protocolActionUpdate.js +29 -0
  210. package/dist/generated/reflect_main/types/protocolRatiosUpdated.d.ts +22 -0
  211. package/dist/generated/reflect_main/types/protocolRatiosUpdated.js +31 -0
  212. package/dist/generated/reflect_main/types/rack.d.ts +18 -0
  213. package/dist/generated/reflect_main/types/rack.js +27 -0
  214. package/dist/generated/reflect_main/types/recipient.d.ts +19 -0
  215. package/dist/generated/reflect_main/types/recipient.js +28 -0
  216. package/dist/generated/reflect_main/types/recipients.d.ts +20 -0
  217. package/dist/generated/reflect_main/types/recipients.js +29 -0
  218. package/dist/generated/reflect_main/types/redeem.d.ts +39 -0
  219. package/dist/generated/reflect_main/types/redeem.js +36 -0
  220. package/dist/generated/reflect_main/types/removedProtocolActionRole.d.ts +20 -0
  221. package/dist/generated/reflect_main/types/removedProtocolActionRole.js +29 -0
  222. package/dist/generated/reflect_main/types/removedProtocolRoleHolder.d.ts +20 -0
  223. package/dist/generated/reflect_main/types/removedProtocolRoleHolder.js +29 -0
  224. package/dist/generated/reflect_main/types/removedStrategyActionRole.d.ts +22 -0
  225. package/dist/generated/reflect_main/types/removedStrategyActionRole.js +31 -0
  226. package/dist/generated/reflect_main/types/removedStrategyRoleHolder.d.ts +22 -0
  227. package/dist/generated/reflect_main/types/removedStrategyRoleHolder.js +31 -0
  228. package/dist/generated/reflect_main/types/role.d.ts +22 -0
  229. package/dist/generated/reflect_main/types/role.js +34 -0
  230. package/dist/generated/reflect_main/types/settlement.d.ts +17 -0
  231. package/dist/generated/reflect_main/types/settlement.js +30 -0
  232. package/dist/generated/reflect_main/types/splBase.d.ts +17 -0
  233. package/dist/generated/reflect_main/types/splBase.js +30 -0
  234. package/dist/generated/reflect_main/types/splMain.d.ts +43 -0
  235. package/dist/generated/reflect_main/types/splMain.js +44 -0
  236. package/dist/generated/reflect_main/types/splSupport.d.ts +15 -0
  237. package/dist/generated/reflect_main/types/splSupport.js +22 -0
  238. package/dist/generated/reflect_main/types/splSupportStrategy.d.ts +16 -0
  239. package/dist/generated/reflect_main/types/splSupportStrategy.js +28 -0
  240. package/dist/generated/reflect_main/types/splSuspendProtocol.d.ts +16 -0
  241. package/dist/generated/reflect_main/types/splSuspendProtocol.js +28 -0
  242. package/dist/generated/reflect_main/types/splSuspendStrategy.d.ts +17 -0
  243. package/dist/generated/reflect_main/types/splSuspendStrategy.js +30 -0
  244. package/dist/generated/reflect_main/types/spls.d.ts +20 -0
  245. package/dist/generated/reflect_main/types/spls.js +29 -0
  246. package/dist/generated/reflect_main/types/spotDepositDrift.d.ts +19 -0
  247. package/dist/generated/reflect_main/types/spotDepositDrift.js +28 -0
  248. package/dist/generated/reflect_main/types/spreadCapture.d.ts +27 -0
  249. package/dist/generated/reflect_main/types/spreadCapture.js +30 -0
  250. package/dist/generated/reflect_main/types/status.d.ts +17 -0
  251. package/dist/generated/reflect_main/types/status.js +29 -0
  252. package/dist/generated/reflect_main/types/strategyActionUpdate.d.ts +22 -0
  253. package/dist/generated/reflect_main/types/strategyActionUpdate.js +31 -0
  254. package/dist/generated/reflect_main/types/strategyNegative.d.ts +21 -0
  255. package/dist/generated/reflect_main/types/strategyNegative.js +28 -0
  256. package/dist/generated/reflect_main/types/strategyPadding.d.ts +15 -0
  257. package/dist/generated/reflect_main/types/strategyPadding.js +26 -0
  258. package/dist/generated/reflect_main/types/strategyRoleEntry.d.ts +24 -0
  259. package/dist/generated/reflect_main/types/strategyRoleEntry.js +29 -0
  260. package/dist/generated/reflect_main/types/subsVec.d.ts +20 -0
  261. package/dist/generated/reflect_main/types/subsVec.js +29 -0
  262. package/dist/generated/reflect_main/types/update.d.ts +16 -0
  263. package/dist/generated/reflect_main/types/update.js +28 -0
  264. package/dist/generated/reflect_main/types/updateCap.d.ts +21 -0
  265. package/dist/generated/reflect_main/types/updateCap.js +30 -0
  266. package/dist/generated/reflect_main/types/updateRebalanceSlippage.d.ts +17 -0
  267. package/dist/generated/reflect_main/types/updateRebalanceSlippage.js +30 -0
  268. package/dist/generated/reflect_main/types/updateRecipients.d.ts +20 -0
  269. package/dist/generated/reflect_main/types/updateRecipients.js +29 -0
  270. package/dist/generated/reflect_main/types/yieldDistribution.d.ts +16 -0
  271. package/dist/generated/reflect_main/types/yieldDistribution.js +28 -0
  272. package/dist/generated/reflect_main/types/yieldVenue.d.ts +17 -0
  273. package/dist/generated/reflect_main/types/yieldVenue.js +29 -0
  274. package/dist/generated/reflect_main/types/yieldVenueAllocation.d.ts +25 -0
  275. package/dist/generated/reflect_main/types/yieldVenueAllocation.js +29 -0
  276. package/dist/generated/reflect_tokenised_bonds/accounts/Config.d.ts +1 -1
  277. package/dist/generated/reflect_tokenised_bonds/accounts/Vault.d.ts +1 -1
  278. package/dist/helpers/drift/accounts/spotMarket.d.ts +1 -1
  279. package/dist/helpers/drift/accounts/user.d.ts +1 -1
  280. package/dist/helpers/drift/accounts/userStats.d.ts +1 -1
  281. package/dist/index.d.ts +3 -2
  282. package/dist/index.js +6 -3
  283. package/dist/stablecoins/UsdcPlusStablecoin.d.ts +115 -70
  284. package/dist/stablecoins/UsdcPlusStablecoin.js +575 -238
  285. package/dist/stablecoins/UsdcPlusStablecoinLegacy.d.ts +97 -0
  286. package/dist/stablecoins/UsdcPlusStablecoinLegacy.js +386 -0
  287. package/dist/stablecoins/UsdtPlusStablecoin.d.ts +120 -0
  288. package/dist/stablecoins/UsdtPlusStablecoin.js +428 -0
  289. package/dist/stablecoins/index.d.ts +2 -2
  290. package/dist/stablecoins/index.js +2 -2
  291. package/dist/tsconfig.tsbuildinfo +1 -1
  292. package/dist/types/index.d.ts +6 -18
  293. package/dist/utils/getProgramAddress.d.ts +22 -0
  294. package/dist/utils/getProgramAddress.js +27 -0
  295. package/dist/utils/index.d.ts +1 -0
  296. package/dist/utils/index.js +43 -0
  297. package/package.json +8 -3
  298. package/dist/classes/ApiClient.d.ts +0 -84
  299. package/dist/classes/ApiClient.js +0 -139
  300. package/dist/constants/lst.d.ts +0 -3
  301. package/dist/constants/lst.js +0 -6
  302. package/dist/generated/reflect_main/accounts/DriftJlpController.d.ts +0 -110
  303. package/dist/generated/reflect_main/accounts/DriftJlpController.js +0 -175
  304. package/dist/generated/reflect_main/accounts/DriftLstController.d.ts +0 -104
  305. package/dist/generated/reflect_main/accounts/DriftLstController.js +0 -171
  306. package/dist/generated/reflect_main/accounts/DriftUsdcController.d.ts +0 -102
  307. package/dist/generated/reflect_main/accounts/DriftUsdcController.js +0 -168
  308. package/dist/generated/reflect_main/accounts/Main.d.ts +0 -110
  309. package/dist/generated/reflect_main/accounts/Main.js +0 -175
  310. package/dist/generated/reflect_main/accounts/PerpMarket.d.ts +0 -226
  311. package/dist/generated/reflect_main/accounts/PerpMarket.js +0 -317
  312. package/dist/generated/reflect_main/accounts/PrelaunchOracle.d.ts +0 -130
  313. package/dist/generated/reflect_main/accounts/PrelaunchOracle.js +0 -234
  314. package/dist/generated/reflect_main/accounts/PythLazerOracle.d.ts +0 -124
  315. package/dist/generated/reflect_main/accounts/PythLazerOracle.js +0 -220
  316. package/dist/generated/reflect_main/accounts/RebalanceLst.d.ts +0 -111
  317. package/dist/generated/reflect_main/accounts/RebalanceLst.js +0 -185
  318. package/dist/generated/reflect_main/accounts/SpotMarket.d.ts +0 -377
  319. package/dist/generated/reflect_main/accounts/SpotMarket.js +0 -611
  320. package/dist/generated/reflect_main/accounts/User.d.ts +0 -221
  321. package/dist/generated/reflect_main/accounts/User.js +0 -341
  322. package/dist/generated/reflect_main/accounts/UserPermissions.d.ts +0 -106
  323. package/dist/generated/reflect_main/accounts/UserPermissions.js +0 -171
  324. package/dist/generated/reflect_main/accounts/UserStats.d.ts +0 -211
  325. package/dist/generated/reflect_main/accounts/UserStats.js +0 -333
  326. package/dist/generated/reflect_main/instructions/createUserStatsAccount.d.ts +0 -52
  327. package/dist/generated/reflect_main/instructions/createUserStatsAccount.js +0 -126
  328. package/dist/generated/reflect_main/instructions/initDriftAccountsS1.d.ts +0 -54
  329. package/dist/generated/reflect_main/instructions/initDriftAccountsS1.js +0 -131
  330. package/dist/generated/reflect_main/instructions/processSwapDeposit.d.ts +0 -69
  331. package/dist/generated/reflect_main/instructions/processSwapDeposit.js +0 -165
  332. package/dist/generated/reflect_main/instructions/processSwapWithdraw.d.ts +0 -69
  333. package/dist/generated/reflect_main/instructions/processSwapWithdraw.js +0 -165
  334. package/dist/generated/reflect_main/instructions/settlePnlMulti.d.ts +0 -60
  335. package/dist/generated/reflect_main/instructions/settlePnlMulti.js +0 -118
  336. package/dist/generated/reflect_main/instructions/swapOrca.d.ts +0 -81
  337. package/dist/generated/reflect_main/instructions/swapOrca.js +0 -166
  338. package/dist/generated/reflect_main/instructions/swapOrcaTwoHop.d.ts +0 -101
  339. package/dist/generated/reflect_main/instructions/swapOrcaTwoHop.js +0 -213
  340. package/dist/generated/reflect_main/instructions/updateRebalanceSlippage.d.ts +0 -55
  341. package/dist/generated/reflect_main/instructions/updateRebalanceSlippage.js +0 -109
  342. package/dist/generated/reflect_main/types/AMM.d.ts +0 -102
  343. package/dist/generated/reflect_main/types/AMM.js +0 -137
  344. package/dist/generated/reflect_main/types/AccKey.d.ts +0 -15
  345. package/dist/generated/reflect_main/types/AccKey.js +0 -48
  346. package/dist/generated/reflect_main/types/AccessControl.d.ts +0 -18
  347. package/dist/generated/reflect_main/types/AccessControl.js +0 -53
  348. package/dist/generated/reflect_main/types/AccessMap.d.ts +0 -17
  349. package/dist/generated/reflect_main/types/AccessMap.js +0 -52
  350. package/dist/generated/reflect_main/types/Action.d.ts +0 -35
  351. package/dist/generated/reflect_main/types/Action.js +0 -72
  352. package/dist/generated/reflect_main/types/ActionMapping.d.ts +0 -19
  353. package/dist/generated/reflect_main/types/ActionMapping.js +0 -54
  354. package/dist/generated/reflect_main/types/AssetTier.d.ts +0 -23
  355. package/dist/generated/reflect_main/types/AssetTier.js +0 -60
  356. package/dist/generated/reflect_main/types/Attenuation.d.ts +0 -16
  357. package/dist/generated/reflect_main/types/Attenuation.js +0 -51
  358. package/dist/generated/reflect_main/types/AutoCompound.d.ts +0 -18
  359. package/dist/generated/reflect_main/types/AutoCompound.js +0 -53
  360. package/dist/generated/reflect_main/types/BalanceType.d.ts +0 -20
  361. package/dist/generated/reflect_main/types/BalanceType.js +0 -57
  362. package/dist/generated/reflect_main/types/Capture.d.ts +0 -19
  363. package/dist/generated/reflect_main/types/Capture.js +0 -54
  364. package/dist/generated/reflect_main/types/ContractTier.d.ts +0 -24
  365. package/dist/generated/reflect_main/types/ContractTier.js +0 -61
  366. package/dist/generated/reflect_main/types/ContractType.d.ts +0 -20
  367. package/dist/generated/reflect_main/types/ContractType.js +0 -57
  368. package/dist/generated/reflect_main/types/CorpAction.d.ts +0 -19
  369. package/dist/generated/reflect_main/types/CorpAction.js +0 -56
  370. package/dist/generated/reflect_main/types/CustodyInfo.d.ts +0 -20
  371. package/dist/generated/reflect_main/types/CustodyInfo.js +0 -55
  372. package/dist/generated/reflect_main/types/DirectionCollateral.d.ts +0 -20
  373. package/dist/generated/reflect_main/types/DirectionCollateral.js +0 -57
  374. package/dist/generated/reflect_main/types/DirectionPosition.d.ts +0 -20
  375. package/dist/generated/reflect_main/types/DirectionPosition.js +0 -57
  376. package/dist/generated/reflect_main/types/DriftControllerBase.d.ts +0 -15
  377. package/dist/generated/reflect_main/types/DriftControllerBase.js +0 -48
  378. package/dist/generated/reflect_main/types/DriftJlpControllerFixedAccounts.d.ts +0 -18
  379. package/dist/generated/reflect_main/types/DriftJlpControllerFixedAccounts.js +0 -53
  380. package/dist/generated/reflect_main/types/DriftLstData.d.ts +0 -17
  381. package/dist/generated/reflect_main/types/DriftLstData.js +0 -52
  382. package/dist/generated/reflect_main/types/Ema.d.ts +0 -17
  383. package/dist/generated/reflect_main/types/Ema.js +0 -52
  384. package/dist/generated/reflect_main/types/Externals.d.ts +0 -16
  385. package/dist/generated/reflect_main/types/Externals.js +0 -49
  386. package/dist/generated/reflect_main/types/FlowControl.d.ts +0 -17
  387. package/dist/generated/reflect_main/types/FlowControl.js +0 -52
  388. package/dist/generated/reflect_main/types/HistoricalIndexData.d.ts +0 -19
  389. package/dist/generated/reflect_main/types/HistoricalIndexData.js +0 -54
  390. package/dist/generated/reflect_main/types/HistoricalOracleData.d.ts +0 -20
  391. package/dist/generated/reflect_main/types/HistoricalOracleData.js +0 -55
  392. package/dist/generated/reflect_main/types/Holding.d.ts +0 -21
  393. package/dist/generated/reflect_main/types/Holding.js +0 -56
  394. package/dist/generated/reflect_main/types/Holdings.d.ts +0 -17
  395. package/dist/generated/reflect_main/types/Holdings.js +0 -52
  396. package/dist/generated/reflect_main/types/InsuranceClaim.d.ts +0 -19
  397. package/dist/generated/reflect_main/types/InsuranceClaim.js +0 -54
  398. package/dist/generated/reflect_main/types/InsuranceFund.d.ts +0 -24
  399. package/dist/generated/reflect_main/types/InsuranceFund.js +0 -59
  400. package/dist/generated/reflect_main/types/JlpRebalanceSettings.d.ts +0 -15
  401. package/dist/generated/reflect_main/types/JlpRebalanceSettings.js +0 -48
  402. package/dist/generated/reflect_main/types/KillSwitch.d.ts +0 -15
  403. package/dist/generated/reflect_main/types/KillSwitch.js +0 -48
  404. package/dist/generated/reflect_main/types/LevelRoles.d.ts +0 -16
  405. package/dist/generated/reflect_main/types/LevelRoles.js +0 -49
  406. package/dist/generated/reflect_main/types/MarketStatus.d.ts +0 -27
  407. package/dist/generated/reflect_main/types/MarketStatus.js +0 -64
  408. package/dist/generated/reflect_main/types/MarketType.d.ts +0 -20
  409. package/dist/generated/reflect_main/types/MarketType.js +0 -57
  410. package/dist/generated/reflect_main/types/ModifyOrderParams.d.ts +0 -32
  411. package/dist/generated/reflect_main/types/ModifyOrderParams.js +0 -67
  412. package/dist/generated/reflect_main/types/ModifyOrderPolicy.d.ts +0 -20
  413. package/dist/generated/reflect_main/types/ModifyOrderPolicy.js +0 -57
  414. package/dist/generated/reflect_main/types/Movements.d.ts +0 -19
  415. package/dist/generated/reflect_main/types/Movements.js +0 -54
  416. package/dist/generated/reflect_main/types/OracleGuardRails.d.ts +0 -18
  417. package/dist/generated/reflect_main/types/OracleGuardRails.js +0 -53
  418. package/dist/generated/reflect_main/types/OracleSource.d.ts +0 -34
  419. package/dist/generated/reflect_main/types/OracleSource.js +0 -71
  420. package/dist/generated/reflect_main/types/OracleValidity.d.ts +0 -25
  421. package/dist/generated/reflect_main/types/OracleValidity.js +0 -62
  422. package/dist/generated/reflect_main/types/Order.d.ts +0 -43
  423. package/dist/generated/reflect_main/types/Order.js +0 -78
  424. package/dist/generated/reflect_main/types/OrderDirection.d.ts +0 -20
  425. package/dist/generated/reflect_main/types/OrderDirection.js +0 -57
  426. package/dist/generated/reflect_main/types/OrderParams.d.ts +0 -36
  427. package/dist/generated/reflect_main/types/OrderParams.js +0 -71
  428. package/dist/generated/reflect_main/types/OrderStatus.d.ts +0 -22
  429. package/dist/generated/reflect_main/types/OrderStatus.js +0 -59
  430. package/dist/generated/reflect_main/types/OrderTriggerCondition.d.ts +0 -22
  431. package/dist/generated/reflect_main/types/OrderTriggerCondition.js +0 -59
  432. package/dist/generated/reflect_main/types/OrderType.d.ts +0 -23
  433. package/dist/generated/reflect_main/types/OrderType.js +0 -60
  434. package/dist/generated/reflect_main/types/PermissionLevel.d.ts +0 -45
  435. package/dist/generated/reflect_main/types/PermissionLevel.js +0 -58
  436. package/dist/generated/reflect_main/types/PerpHedge.d.ts +0 -17
  437. package/dist/generated/reflect_main/types/PerpHedge.js +0 -52
  438. package/dist/generated/reflect_main/types/PerpPosition.d.ts +0 -29
  439. package/dist/generated/reflect_main/types/PerpPosition.js +0 -64
  440. package/dist/generated/reflect_main/types/PoolBalance.d.ts +0 -17
  441. package/dist/generated/reflect_main/types/PoolBalance.js +0 -52
  442. package/dist/generated/reflect_main/types/Position.d.ts +0 -20
  443. package/dist/generated/reflect_main/types/Position.js +0 -55
  444. package/dist/generated/reflect_main/types/PositionDirection.d.ts +0 -20
  445. package/dist/generated/reflect_main/types/PositionDirection.js +0 -57
  446. package/dist/generated/reflect_main/types/PositionDrift.d.ts +0 -18
  447. package/dist/generated/reflect_main/types/PositionDrift.js +0 -53
  448. package/dist/generated/reflect_main/types/PostOnlyParam.d.ts +0 -22
  449. package/dist/generated/reflect_main/types/PostOnlyParam.js +0 -59
  450. package/dist/generated/reflect_main/types/Price.d.ts +0 -41
  451. package/dist/generated/reflect_main/types/Price.js +0 -76
  452. package/dist/generated/reflect_main/types/PriceComp.d.ts +0 -19
  453. package/dist/generated/reflect_main/types/PriceComp.js +0 -54
  454. package/dist/generated/reflect_main/types/PriceDivergenceGuardRails.d.ts +0 -16
  455. package/dist/generated/reflect_main/types/PriceDivergenceGuardRails.js +0 -51
  456. package/dist/generated/reflect_main/types/PriceInfo.d.ts +0 -21
  457. package/dist/generated/reflect_main/types/PriceInfo.js +0 -56
  458. package/dist/generated/reflect_main/types/PriceStatus.d.ts +0 -22
  459. package/dist/generated/reflect_main/types/PriceStatus.js +0 -59
  460. package/dist/generated/reflect_main/types/PriceType.d.ts +0 -20
  461. package/dist/generated/reflect_main/types/PriceType.js +0 -57
  462. package/dist/generated/reflect_main/types/Program.d.ts +0 -19
  463. package/dist/generated/reflect_main/types/Program.js +0 -54
  464. package/dist/generated/reflect_main/types/ProgramStatus.d.ts +0 -20
  465. package/dist/generated/reflect_main/types/ProgramStatus.js +0 -57
  466. package/dist/generated/reflect_main/types/Recipient.d.ts +0 -17
  467. package/dist/generated/reflect_main/types/Recipient.js +0 -52
  468. package/dist/generated/reflect_main/types/Recipients.d.ts +0 -17
  469. package/dist/generated/reflect_main/types/Recipients.js +0 -52
  470. package/dist/generated/reflect_main/types/Role.d.ts +0 -25
  471. package/dist/generated/reflect_main/types/Role.js +0 -62
  472. package/dist/generated/reflect_main/types/ShiftCollateral.d.ts +0 -19
  473. package/dist/generated/reflect_main/types/ShiftCollateral.js +0 -54
  474. package/dist/generated/reflect_main/types/ShiftPosition.d.ts +0 -17
  475. package/dist/generated/reflect_main/types/ShiftPosition.js +0 -52
  476. package/dist/generated/reflect_main/types/ShortHolding.d.ts +0 -17
  477. package/dist/generated/reflect_main/types/ShortHolding.js +0 -52
  478. package/dist/generated/reflect_main/types/SplBase.d.ts +0 -17
  479. package/dist/generated/reflect_main/types/SplBase.js +0 -52
  480. package/dist/generated/reflect_main/types/SplMain.d.ts +0 -22
  481. package/dist/generated/reflect_main/types/SplMain.js +0 -57
  482. package/dist/generated/reflect_main/types/Spls.d.ts +0 -17
  483. package/dist/generated/reflect_main/types/Spls.js +0 -52
  484. package/dist/generated/reflect_main/types/SpotBalanceType.d.ts +0 -20
  485. package/dist/generated/reflect_main/types/SpotBalanceType.js +0 -57
  486. package/dist/generated/reflect_main/types/SpotPosition.d.ts +0 -23
  487. package/dist/generated/reflect_main/types/SpotPosition.js +0 -58
  488. package/dist/generated/reflect_main/types/Status.d.ts +0 -21
  489. package/dist/generated/reflect_main/types/Status.js +0 -58
  490. package/dist/generated/reflect_main/types/Strategy.d.ts +0 -33
  491. package/dist/generated/reflect_main/types/Strategy.js +0 -68
  492. package/dist/generated/reflect_main/types/StrategyPadding.d.ts +0 -15
  493. package/dist/generated/reflect_main/types/StrategyPadding.js +0 -48
  494. package/dist/generated/reflect_main/types/StrategyRoleEntry.d.ts +0 -17
  495. package/dist/generated/reflect_main/types/StrategyRoleEntry.js +0 -52
  496. package/dist/generated/reflect_main/types/SubAccount.d.ts +0 -17
  497. package/dist/generated/reflect_main/types/SubAccount.js +0 -52
  498. package/dist/generated/reflect_main/types/Update.d.ts +0 -20
  499. package/dist/generated/reflect_main/types/Update.js +0 -57
  500. package/dist/generated/reflect_main/types/UserFees.d.ts +0 -20
  501. package/dist/generated/reflect_main/types/UserFees.js +0 -55
  502. package/dist/generated/reflect_main/types/ValidityGuardRails.d.ts +0 -18
  503. package/dist/generated/reflect_main/types/ValidityGuardRails.js +0 -53
  504. package/dist/generated/reflect_main/types/YieldDistribution.d.ts +0 -20
  505. package/dist/generated/reflect_main/types/YieldDistribution.js +0 -57
  506. package/dist/helpers/getOrcaQuote.d.ts +0 -3
  507. package/dist/helpers/getOrcaQuote.js +0 -27
  508. package/dist/stablecoins/LstStablecoin.d.ts +0 -108
  509. package/dist/stablecoins/LstStablecoin.js +0 -354
  510. package/dist/stablecoins/UsdjStablecoin.d.ts +0 -1
  511. package/dist/stablecoins/UsdjStablecoin.js +0 -44
  512. package/dist/types/api.d.ts +0 -1384
  513. package/dist/types/api.js +0 -6
@@ -1,131 +1,109 @@
1
- import { PublicKey } from "@solana/web3.js";
1
+ import { Address } from "@solana/kit";
2
2
  /**
3
3
  * Utility class for deriving Program Derived Addresses (PDAs) used throughout the Reflect protocol.
4
4
  * Provides static methods to generate deterministic addresses for various program accounts
5
5
  * including main program accounts, controllers, permissions, and external protocol integrations.
6
+ *
7
+ * Environment handling:
8
+ * - devnet=true → Uses devnet program
9
+ * - devnet=false, mock=true → Uses mock program on mainnet
10
+ * - devnet=false, mock=false → Uses production mainnet program
6
11
  */
7
12
  export declare class PdaClient {
8
13
  /**
9
14
  * Derives the main program account address.
10
15
  * This is the primary account that stores global protocol state.
11
16
  *
12
- * @returns PublicKey of the main program account
17
+ * @param devnet - Whether to use devnet program
18
+ * @param mock - Whether to use mock program on mainnet (ignored if devnet=true)
19
+ * @returns Promise resolving to Address of the main program account
13
20
  */
14
- static deriveMain(devnet?: boolean): PublicKey;
21
+ static deriveMain(devnet?: boolean, mock?: boolean): Promise<Address>;
15
22
  /**
16
23
  * Derives the permissions account address for a specific user.
17
24
  * This account stores the user's role-based permissions within the protocol.
18
25
  *
19
- * @param user - Public key of the user
20
- * @returns PublicKey of the user's permissions account
26
+ * @param user - Address of the user
27
+ * @param devnet - Whether to use devnet program
28
+ * @param mock - Whether to use mock program on mainnet
29
+ * @returns Promise resolving to Address of the user's permissions account
21
30
  */
22
- static derivePermissions(user: PublicKey, devnet?: boolean): PublicKey;
31
+ static derivePermissions(user: Address, devnet?: boolean, mock?: boolean): Promise<Address>;
23
32
  /**
24
33
  * Derives the controller account address for a specific strategy.
25
34
  * Each stablecoin strategy has its own controller account.
26
35
  *
27
- * @param strategy - Strategy index (0: USDC+, 1: JLP, 2: LST)
28
- * @returns PublicKey of the strategy controller account
36
+ * @param strategy - Strategy index (0: USDC+, 1: USDT+)
37
+ * @param devnet - Whether to use devnet program
38
+ * @param mock - Whether to use mock program on mainnet
39
+ * @returns Promise resolving to Address of the strategy controller account
29
40
  */
30
- static deriveController(strategy: number, devnet?: boolean): PublicKey;
41
+ static deriveController(strategy: number, devnet?: boolean, mock?: boolean): Promise<Address>;
31
42
  /**
32
43
  * Derives the controller account address with bump seed for a specific strategy.
33
- * Returns both the public key and the bump seed.
44
+ * Returns both the address and the bump seed.
34
45
  *
35
- * @param strategy - Strategy index (0: USDC+, 1: JLP, 2: LST)
36
- * @returns Array containing [PublicKey, number] where number is the bump seed
46
+ * @param strategy - Strategy index (0: USDC+, 1: USDT+)
47
+ * @param devnet - Whether to use devnet program
48
+ * @param mock - Whether to use mock program on mainnet
49
+ * @returns Promise resolving to [Address, number] where number is the bump seed
37
50
  */
38
- static deriveControllerWithBump(strategy: number, devnet?: boolean): [PublicKey, number];
51
+ static deriveControllerWithBump(strategy: number, devnet?: boolean, mock?: boolean): Promise<[Address, number]>;
39
52
  /**
40
53
  * Derives the rebalance details account address for a specific strategy.
41
54
  * This account stores information about rebalancing operations.
42
55
  *
43
- * @param strategy - Strategy index (0: USDC+, 1: JLP, 2: LST)
44
- * @returns PublicKey of the rebalance details account
56
+ * @param strategy - Strategy index (0: USDC+, 1: USDT+)
57
+ * @param devnet - Whether to use devnet program
58
+ * @param mock - Whether to use mock program on mainnet
59
+ * @returns Promise resolving to Address of the rebalance details account
45
60
  */
46
- static deriveRebalanceDetails(strategy: number, devnet?: boolean): PublicKey;
47
- /**
48
- * Derives the Jupiter Perpetuals program account address.
49
- * Used for integration with Jupiter's perpetuals protocol.
50
- *
51
- * @returns PublicKey of the Jupiter Perpetuals account
52
- */
53
- static deriveJupiterPerpetuals(devnet?: boolean): PublicKey;
54
- /**
55
- * Derives the Jupiter LP pool account address.
56
- * Used for JLP (Jupiter LP) token operations.
57
- *
58
- * @returns PublicKey of the JLP pool account
59
- */
60
- static deriveJlpPool(): PublicKey;
61
- /**
62
- * Derives the Jupiter event authority account address.
63
- * Used for event emission in Jupiter protocol interactions.
64
- *
65
- * @returns PublicKey of the Jupiter event authority account
66
- */
67
- static deriveEventAuthority(): PublicKey;
68
- /**
69
- * Derives the Jupiter transfer authority account address.
70
- * Used for token transfer operations in Jupiter protocol.
71
- *
72
- * @returns PublicKey of the Jupiter transfer authority account
73
- */
74
- static deriveTransferAuthority(): PublicKey;
61
+ static deriveRebalanceDetails(strategy: number, devnet?: boolean, mock?: boolean): Promise<Address>;
75
62
  /**
76
63
  * Gets the Drift vault address for a specific mint.
77
64
  * Looks up the market index for the mint and derives the corresponding vault address.
78
65
  *
79
- * @param mint - Public key of the token mint
80
- * @returns Promise resolving to the PublicKey of the Drift vault account
66
+ * @param mint - Address of the token mint
67
+ * @returns Promise resolving to the Address of the Drift vault account
81
68
  */
82
- static getDriftVaultFromMint(mint: PublicKey): Promise<PublicKey>;
69
+ static getDriftVaultFromMint(mint: Address): Promise<Address>;
83
70
  /**
84
71
  * Derives the token metadata account address for a mint.
85
72
  * Used for storing token metadata information.
86
73
  *
87
- * @param mint - Public key of the token mint
88
- * @returns PublicKey of the metadata account
89
- */
90
- static deriveMetadataAccount(mint: PublicKey): PublicKey;
91
- /**
92
- * Derives the custody account address for a pool and token combination.
93
- * Used in Jupiter protocol for token custody management.
94
- *
95
- * @param pool - Public key of the pool
96
- * @param token - Public key of the token
97
- * @returns PublicKey of the custody account
74
+ * @param mint - Address of the token mint
75
+ * @returns Promise resolving to Address of the metadata account
98
76
  */
99
- static deriveCustody(pool: PublicKey, token: PublicKey): PublicKey;
77
+ static deriveMetadataAccount(mint: Address): Promise<Address>;
100
78
  /**
101
79
  * Derives the LP config account address.
102
80
  * Used for tokenized bonds program configuration.
103
81
  *
104
- * @returns PublicKey of the LP config account
82
+ * @returns Promise resolving to Address of the LP config account
105
83
  */
106
- static deriveLpConfig(): PublicKey;
84
+ static deriveLpConfig(): Promise<Address>;
107
85
  /**
108
86
  * Derives the LP admin account address for a specific admin.
109
87
  * Used for tokenized bonds program administration.
110
88
  *
111
- * @param admin - Public key of the admin
112
- * @returns PublicKey of the LP admin account
89
+ * @param admin - Address of the admin
90
+ * @returns Promise resolving to Address of the LP admin account
113
91
  */
114
- static deriveLpAdmin(admin: PublicKey): PublicKey;
92
+ static deriveLpAdmin(admin: Address): Promise<Address>;
115
93
  /**
116
94
  * Derives the LP vault account address for a specific vault ID.
117
95
  * Used for tokenized bonds vault management.
118
96
  *
119
97
  * @param vaultId - Numeric identifier for the vault
120
- * @returns PublicKey of the LP vault account
98
+ * @returns Promise resolving to Address of the LP vault account
121
99
  */
122
- static deriveLpVault(vaultId: number): PublicKey;
100
+ static deriveLpVault(vaultId: number): Promise<Address>;
123
101
  /**
124
102
  * Derives the LP vault pool account address for a specific vault ID.
125
103
  * Used for tokenized bonds vault pool management.
126
104
  *
127
105
  * @param vaultId - Numeric identifier for the vault
128
- * @returns PublicKey of the LP vault pool account
106
+ * @returns Promise resolving to Address of the LP vault pool account
129
107
  */
130
- static deriveLpVaultPool(vaultId: number): PublicKey;
108
+ static deriveLpVaultPool(vaultId: number): Promise<Address>;
131
109
  }
@@ -13,232 +13,252 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.PdaClient = void 0;
16
- const web3_js_1 = require("@solana/web3.js");
17
- const reflect_main_1 = require("../generated/reflect_main");
18
- const devnet_1 = require("../constants/devnet");
16
+ const kit_1 = require("@solana/kit");
19
17
  const reflect_tokenised_bonds_1 = require("../generated/reflect_tokenised_bonds");
20
18
  const constants_1 = require("../constants");
19
+ const getProgramAddress_1 = require("../utils/getProgramAddress");
21
20
  const bn_js_1 = __importDefault(require("bn.js"));
22
21
  const sdk_1 = require("@drift-labs/sdk");
23
- const mpl_token_metadata_1 = require("@metaplex-foundation/mpl-token-metadata");
22
+ const web3_js_1 = require("@solana/web3.js");
23
+ // Token Metadata Program ID
24
+ const TOKEN_METADATA_PROGRAM_ID = (0, kit_1.address)("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s");
24
25
  /**
25
26
  * Utility class for deriving Program Derived Addresses (PDAs) used throughout the Reflect protocol.
26
27
  * Provides static methods to generate deterministic addresses for various program accounts
27
28
  * including main program accounts, controllers, permissions, and external protocol integrations.
29
+ *
30
+ * Environment handling:
31
+ * - devnet=true → Uses devnet program
32
+ * - devnet=false, mock=true → Uses mock program on mainnet
33
+ * - devnet=false, mock=false → Uses production mainnet program
28
34
  */
29
35
  class PdaClient {
30
36
  /**
31
37
  * Derives the main program account address.
32
38
  * This is the primary account that stores global protocol state.
33
39
  *
34
- * @returns PublicKey of the main program account
40
+ * @param devnet - Whether to use devnet program
41
+ * @param mock - Whether to use mock program on mainnet (ignored if devnet=true)
42
+ * @returns Promise resolving to Address of the main program account
35
43
  */
36
- static deriveMain(devnet) {
37
- const [main] = web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("main")], devnet ? devnet_1.DEVNET_PROGRAM_ID : reflect_main_1.PROGRAM_ID);
38
- return main;
44
+ static deriveMain(devnet, mock) {
45
+ return __awaiter(this, void 0, void 0, function* () {
46
+ const programId = (0, getProgramAddress_1.getProgramAddress)({ devnet, mock });
47
+ const [main] = yield (0, kit_1.getProgramDerivedAddress)({
48
+ programAddress: programId,
49
+ seeds: [Buffer.from("main")],
50
+ });
51
+ return main;
52
+ });
39
53
  }
40
54
  /**
41
55
  * Derives the permissions account address for a specific user.
42
56
  * This account stores the user's role-based permissions within the protocol.
43
57
  *
44
- * @param user - Public key of the user
45
- * @returns PublicKey of the user's permissions account
58
+ * @param user - Address of the user
59
+ * @param devnet - Whether to use devnet program
60
+ * @param mock - Whether to use mock program on mainnet
61
+ * @returns Promise resolving to Address of the user's permissions account
46
62
  */
47
- static derivePermissions(user, devnet) {
48
- const [permissions] = web3_js_1.PublicKey.findProgramAddressSync([
49
- Buffer.from("user_permission"),
50
- user.toBuffer()
51
- ], devnet ? devnet_1.DEVNET_PROGRAM_ID : reflect_main_1.PROGRAM_ID);
52
- return permissions;
63
+ static derivePermissions(user, devnet, mock) {
64
+ return __awaiter(this, void 0, void 0, function* () {
65
+ const programId = (0, getProgramAddress_1.getProgramAddress)({ devnet, mock });
66
+ const encoder = (0, kit_1.getAddressEncoder)();
67
+ const userBytes = encoder.encode(user);
68
+ const [permissions] = yield (0, kit_1.getProgramDerivedAddress)({
69
+ programAddress: programId,
70
+ seeds: [
71
+ "user_permission",
72
+ userBytes
73
+ ],
74
+ });
75
+ return permissions;
76
+ });
53
77
  }
54
78
  /**
55
79
  * Derives the controller account address for a specific strategy.
56
80
  * Each stablecoin strategy has its own controller account.
57
81
  *
58
- * @param strategy - Strategy index (0: USDC+, 1: JLP, 2: LST)
59
- * @returns PublicKey of the strategy controller account
82
+ * @param strategy - Strategy index (0: USDC+, 1: USDT+)
83
+ * @param devnet - Whether to use devnet program
84
+ * @param mock - Whether to use mock program on mainnet
85
+ * @returns Promise resolving to Address of the strategy controller account
60
86
  */
61
- static deriveController(strategy, devnet) {
62
- const [controller] = web3_js_1.PublicKey.findProgramAddressSync([
63
- Buffer.from("dex_controller"),
64
- Buffer.from([strategy])
65
- ], devnet ? devnet_1.DEVNET_PROGRAM_ID : reflect_main_1.PROGRAM_ID);
66
- return controller;
87
+ static deriveController(strategy, devnet, mock) {
88
+ return __awaiter(this, void 0, void 0, function* () {
89
+ const programId = (0, getProgramAddress_1.getProgramAddress)({ devnet, mock });
90
+ const [controller] = yield (0, kit_1.getProgramDerivedAddress)({
91
+ programAddress: programId,
92
+ seeds: [
93
+ Buffer.from("dex_controller"),
94
+ Buffer.from([strategy])
95
+ ],
96
+ });
97
+ return controller;
98
+ });
67
99
  }
68
100
  /**
69
101
  * Derives the controller account address with bump seed for a specific strategy.
70
- * Returns both the public key and the bump seed.
102
+ * Returns both the address and the bump seed.
71
103
  *
72
- * @param strategy - Strategy index (0: USDC+, 1: JLP, 2: LST)
73
- * @returns Array containing [PublicKey, number] where number is the bump seed
104
+ * @param strategy - Strategy index (0: USDC+, 1: USDT+)
105
+ * @param devnet - Whether to use devnet program
106
+ * @param mock - Whether to use mock program on mainnet
107
+ * @returns Promise resolving to [Address, number] where number is the bump seed
74
108
  */
75
- static deriveControllerWithBump(strategy, devnet) {
76
- return web3_js_1.PublicKey.findProgramAddressSync([
77
- Buffer.from("dex_controller"),
78
- Buffer.from([strategy])
79
- ], devnet ? devnet_1.DEVNET_PROGRAM_ID : reflect_main_1.PROGRAM_ID);
109
+ static deriveControllerWithBump(strategy, devnet, mock) {
110
+ return __awaiter(this, void 0, void 0, function* () {
111
+ const programId = (0, getProgramAddress_1.getProgramAddress)({ devnet, mock });
112
+ const [controller, bump] = yield (0, kit_1.getProgramDerivedAddress)({
113
+ programAddress: programId,
114
+ seeds: [
115
+ Buffer.from("dex_controller"),
116
+ Buffer.from([strategy])
117
+ ],
118
+ });
119
+ return [controller, bump];
120
+ });
80
121
  }
81
122
  /**
82
123
  * Derives the rebalance details account address for a specific strategy.
83
124
  * This account stores information about rebalancing operations.
84
125
  *
85
- * @param strategy - Strategy index (0: USDC+, 1: JLP, 2: LST)
86
- * @returns PublicKey of the rebalance details account
87
- */
88
- static deriveRebalanceDetails(strategy, devnet) {
89
- const [rebalanceDetails] = web3_js_1.PublicKey.findProgramAddressSync([
90
- Buffer.from("rebalance_details"),
91
- this.deriveController(strategy).toBuffer()
92
- ], devnet ? devnet_1.DEVNET_PROGRAM_ID : reflect_main_1.PROGRAM_ID);
93
- return rebalanceDetails;
94
- }
95
- /**
96
- * Derives the Jupiter Perpetuals program account address.
97
- * Used for integration with Jupiter's perpetuals protocol.
98
- *
99
- * @returns PublicKey of the Jupiter Perpetuals account
100
- */
101
- static deriveJupiterPerpetuals(devnet) {
102
- const [perpetuals] = web3_js_1.PublicKey.findProgramAddressSync([
103
- Buffer.from("perpetuals")
104
- ], devnet ? devnet_1.DEVNET_PROGRAM_ID : constants_1.JUPITER_PROGRAM_ID);
105
- return perpetuals;
106
- }
107
- /**
108
- * Derives the Jupiter LP pool account address.
109
- * Used for JLP (Jupiter LP) token operations.
110
- *
111
- * @returns PublicKey of the JLP pool account
112
- */
113
- static deriveJlpPool() {
114
- const [jlpPool] = web3_js_1.PublicKey.findProgramAddressSync([
115
- Buffer.from("pool"),
116
- Buffer.from("Pool")
117
- ], constants_1.JUPITER_PROGRAM_ID);
118
- return jlpPool;
119
- }
120
- /**
121
- * Derives the Jupiter event authority account address.
122
- * Used for event emission in Jupiter protocol interactions.
123
- *
124
- * @returns PublicKey of the Jupiter event authority account
125
- */
126
- static deriveEventAuthority() {
127
- const [eventAuthority] = web3_js_1.PublicKey.findProgramAddressSync([
128
- Buffer.from("__event_authority"),
129
- ], constants_1.JUPITER_PROGRAM_ID);
130
- return eventAuthority;
131
- }
132
- /**
133
- * Derives the Jupiter transfer authority account address.
134
- * Used for token transfer operations in Jupiter protocol.
135
- *
136
- * @returns PublicKey of the Jupiter transfer authority account
126
+ * @param strategy - Strategy index (0: USDC+, 1: USDT+)
127
+ * @param devnet - Whether to use devnet program
128
+ * @param mock - Whether to use mock program on mainnet
129
+ * @returns Promise resolving to Address of the rebalance details account
137
130
  */
138
- static deriveTransferAuthority() {
139
- const [transferAuthority] = web3_js_1.PublicKey.findProgramAddressSync([
140
- Buffer.from("transfer_authority"),
141
- ], constants_1.JUPITER_PROGRAM_ID);
142
- return transferAuthority;
131
+ static deriveRebalanceDetails(strategy, devnet, mock) {
132
+ return __awaiter(this, void 0, void 0, function* () {
133
+ const programId = (0, getProgramAddress_1.getProgramAddress)({ devnet, mock });
134
+ const controller = yield this.deriveController(strategy, devnet, mock);
135
+ const encoder = (0, kit_1.getAddressEncoder)();
136
+ const controllerBytes = encoder.encode(controller);
137
+ const [rebalanceDetails] = yield (0, kit_1.getProgramDerivedAddress)({
138
+ programAddress: programId,
139
+ seeds: [
140
+ "rebalance_details",
141
+ controllerBytes
142
+ ],
143
+ });
144
+ return rebalanceDetails;
145
+ });
143
146
  }
144
147
  /**
145
148
  * Gets the Drift vault address for a specific mint.
146
149
  * Looks up the market index for the mint and derives the corresponding vault address.
147
150
  *
148
- * @param mint - Public key of the token mint
149
- * @returns Promise resolving to the PublicKey of the Drift vault account
151
+ * @param mint - Address of the token mint
152
+ * @returns Promise resolving to the Address of the Drift vault account
150
153
  */
151
154
  static getDriftVaultFromMint(mint) {
152
155
  return __awaiter(this, void 0, void 0, function* () {
156
+ const mintPubkey = new web3_js_1.PublicKey(mint);
153
157
  const { marketIndex } = sdk_1.SpotMarkets["mainnet-beta"]
154
- .find(({ mint: marketMint }) => marketMint.equals(mint));
155
- return yield (0, sdk_1.getSpotMarketVaultPublicKey)(constants_1.DRIFT_PROGRAM_ID, marketIndex);
158
+ .find(({ mint: marketMint }) => marketMint.equals(mintPubkey));
159
+ const vaultPubkey = yield (0, sdk_1.getSpotMarketVaultPublicKey)(new web3_js_1.PublicKey(constants_1.DRIFT_PROGRAM_ID), marketIndex);
160
+ return (0, kit_1.address)(vaultPubkey.toBase58());
156
161
  });
157
162
  }
158
163
  /**
159
164
  * Derives the token metadata account address for a mint.
160
165
  * Used for storing token metadata information.
161
166
  *
162
- * @param mint - Public key of the token mint
163
- * @returns PublicKey of the metadata account
167
+ * @param mint - Address of the token mint
168
+ * @returns Promise resolving to Address of the metadata account
164
169
  */
165
170
  static deriveMetadataAccount(mint) {
166
- const [metadata] = web3_js_1.PublicKey.findProgramAddressSync([
167
- Buffer.from("metadata"),
168
- mpl_token_metadata_1.PROGRAM_ID.toBuffer(),
169
- mint.toBuffer(),
170
- ], mpl_token_metadata_1.PROGRAM_ID);
171
- return metadata;
172
- }
173
- /**
174
- * Derives the custody account address for a pool and token combination.
175
- * Used in Jupiter protocol for token custody management.
176
- *
177
- * @param pool - Public key of the pool
178
- * @param token - Public key of the token
179
- * @returns PublicKey of the custody account
180
- */
181
- static deriveCustody(pool, token) {
182
- const [custody] = web3_js_1.PublicKey.findProgramAddressSync([
183
- Buffer.from("custody"),
184
- pool.toBuffer(),
185
- token.toBuffer()
186
- ], constants_1.JUPITER_PROGRAM_ID);
187
- return custody;
171
+ return __awaiter(this, void 0, void 0, function* () {
172
+ const encoder = (0, kit_1.getAddressEncoder)();
173
+ const metadataProgramBytes = encoder.encode(TOKEN_METADATA_PROGRAM_ID);
174
+ const mintBytes = encoder.encode(mint);
175
+ const [metadata] = yield (0, kit_1.getProgramDerivedAddress)({
176
+ programAddress: TOKEN_METADATA_PROGRAM_ID,
177
+ seeds: [
178
+ "metadata",
179
+ metadataProgramBytes,
180
+ mintBytes,
181
+ ],
182
+ });
183
+ return metadata;
184
+ });
188
185
  }
189
186
  /**
190
187
  * Derives the LP config account address.
191
188
  * Used for tokenized bonds program configuration.
192
189
  *
193
- * @returns PublicKey of the LP config account
190
+ * @returns Promise resolving to Address of the LP config account
194
191
  */
195
192
  static deriveLpConfig() {
196
- const [config] = web3_js_1.PublicKey.findProgramAddressSync([
197
- Buffer.from("config")
198
- ], reflect_tokenised_bonds_1.PROGRAM_ID);
199
- return config;
193
+ return __awaiter(this, void 0, void 0, function* () {
194
+ const [config] = yield (0, kit_1.getProgramDerivedAddress)({
195
+ programAddress: (0, kit_1.address)(reflect_tokenised_bonds_1.PROGRAM_ID.toBase58()),
196
+ seeds: [Buffer.from("config")],
197
+ });
198
+ return config;
199
+ });
200
200
  }
201
201
  /**
202
202
  * Derives the LP admin account address for a specific admin.
203
203
  * Used for tokenized bonds program administration.
204
204
  *
205
- * @param admin - Public key of the admin
206
- * @returns PublicKey of the LP admin account
205
+ * @param admin - Address of the admin
206
+ * @returns Promise resolving to Address of the LP admin account
207
207
  */
208
208
  static deriveLpAdmin(admin) {
209
- const [adminPda] = web3_js_1.PublicKey.findProgramAddressSync([
210
- Buffer.from("admin"),
211
- admin.toBuffer()
212
- ], reflect_tokenised_bonds_1.PROGRAM_ID);
213
- return adminPda;
209
+ return __awaiter(this, void 0, void 0, function* () {
210
+ const encoder = (0, kit_1.getAddressEncoder)();
211
+ const adminBytes = encoder.encode(admin);
212
+ const [adminPda] = yield (0, kit_1.getProgramDerivedAddress)({
213
+ programAddress: (0, kit_1.address)(reflect_tokenised_bonds_1.PROGRAM_ID.toBase58()),
214
+ seeds: [
215
+ "admin",
216
+ adminBytes
217
+ ],
218
+ });
219
+ return adminPda;
220
+ });
214
221
  }
215
222
  /**
216
223
  * Derives the LP vault account address for a specific vault ID.
217
224
  * Used for tokenized bonds vault management.
218
225
  *
219
226
  * @param vaultId - Numeric identifier for the vault
220
- * @returns PublicKey of the LP vault account
227
+ * @returns Promise resolving to Address of the LP vault account
221
228
  */
222
229
  static deriveLpVault(vaultId) {
223
- const [vault] = web3_js_1.PublicKey.findProgramAddressSync([
224
- Buffer.from("vault"),
225
- new bn_js_1.default(vaultId).toArrayLike(Buffer, "le", 8)
226
- ], reflect_tokenised_bonds_1.PROGRAM_ID);
227
- return vault;
230
+ return __awaiter(this, void 0, void 0, function* () {
231
+ const [vault] = yield (0, kit_1.getProgramDerivedAddress)({
232
+ programAddress: (0, kit_1.address)(reflect_tokenised_bonds_1.PROGRAM_ID.toBase58()),
233
+ seeds: [
234
+ Buffer.from("vault"),
235
+ new bn_js_1.default(vaultId).toArrayLike(Buffer, "le", 8)
236
+ ],
237
+ });
238
+ return vault;
239
+ });
228
240
  }
229
241
  /**
230
242
  * Derives the LP vault pool account address for a specific vault ID.
231
243
  * Used for tokenized bonds vault pool management.
232
244
  *
233
245
  * @param vaultId - Numeric identifier for the vault
234
- * @returns PublicKey of the LP vault pool account
246
+ * @returns Promise resolving to Address of the LP vault pool account
235
247
  */
236
248
  static deriveLpVaultPool(vaultId) {
237
- const [pool] = web3_js_1.PublicKey.findProgramAddressSync([
238
- Buffer.from("vault_pool"),
239
- PdaClient.deriveLpVault(vaultId).toBuffer()
240
- ], reflect_tokenised_bonds_1.PROGRAM_ID);
241
- return pool;
249
+ return __awaiter(this, void 0, void 0, function* () {
250
+ const vault = yield this.deriveLpVault(vaultId);
251
+ const encoder = (0, kit_1.getAddressEncoder)();
252
+ const vaultBytes = encoder.encode(vault);
253
+ const [pool] = yield (0, kit_1.getProgramDerivedAddress)({
254
+ programAddress: (0, kit_1.address)(reflect_tokenised_bonds_1.PROGRAM_ID.toBase58()),
255
+ seeds: [
256
+ "vault_pool",
257
+ vaultBytes
258
+ ],
259
+ });
260
+ return pool;
261
+ });
242
262
  }
243
263
  }
244
264
  exports.PdaClient = PdaClient;
@@ -1,7 +1,21 @@
1
- import { Connection } from "@solana/web3.js";
2
- import { Main } from "../generated/reflect_main";
1
+ import { Rpc, SolanaRpcApi, Address } from "@solana/kit";
2
+ /**
3
+ * Main Reflect protocol client for reading protocol state
4
+ */
3
5
  export declare class Reflect {
4
- connection: Connection;
5
- constructor(connection: Connection);
6
- fetchMain(): Promise<Main>;
6
+ rpc: Rpc<SolanaRpcApi>;
7
+ devnet: boolean;
8
+ mock: boolean;
9
+ constructor(rpc: Rpc<SolanaRpcApi>, devnet?: boolean, mock?: boolean);
10
+ /**
11
+ * Get the main account address
12
+ */
13
+ getMainAddress(): Promise<Address>;
14
+ /**
15
+ * Fetch the main account data
16
+ * Note: Actual account fetching needs to be implemented with proper decoding
17
+ */
18
+ fetchMain(): Promise<{
19
+ address: Address;
20
+ }>;
7
21
  }
@@ -11,16 +11,33 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.Reflect = void 0;
13
13
  const PdaClient_1 = require("./PdaClient");
14
- const reflect_main_1 = require("../generated/reflect_main");
14
+ /**
15
+ * Main Reflect protocol client for reading protocol state
16
+ */
15
17
  class Reflect {
16
- constructor(connection) {
17
- this.connection = connection;
18
+ constructor(rpc, devnet = false, mock = false) {
19
+ this.rpc = rpc;
20
+ this.devnet = devnet;
21
+ this.mock = mock;
18
22
  }
23
+ /**
24
+ * Get the main account address
25
+ */
26
+ getMainAddress() {
27
+ return __awaiter(this, void 0, void 0, function* () {
28
+ return PdaClient_1.PdaClient.deriveMain(this.devnet);
29
+ });
30
+ }
31
+ /**
32
+ * Fetch the main account data
33
+ * Note: Actual account fetching needs to be implemented with proper decoding
34
+ */
19
35
  fetchMain() {
20
36
  return __awaiter(this, void 0, void 0, function* () {
21
- const main = PdaClient_1.PdaClient.deriveMain();
22
- const mainAccount = yield reflect_main_1.Main.fromAccountAddress(this.connection, main);
23
- return mainAccount;
37
+ const main = yield PdaClient_1.PdaClient.deriveMain(this.devnet);
38
+ // Account fetching would be done here using the RPC
39
+ // This is a placeholder - actual implementation depends on account structure
40
+ return { address: main };
24
41
  });
25
42
  }
26
43
  }