@metaplex-foundation/genesis 0.12.4

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 (335) hide show
  1. package/README.md +16 -0
  2. package/dist/src/allowlist.d.ts +18 -0
  3. package/dist/src/allowlist.js +50 -0
  4. package/dist/src/allowlist.js.map +1 -0
  5. package/dist/src/auction.d.ts +296 -0
  6. package/dist/src/auction.js +416 -0
  7. package/dist/src/auction.js.map +1 -0
  8. package/dist/src/bondingCurveHelpers.d.ts +46 -0
  9. package/dist/src/bondingCurveHelpers.js +245 -0
  10. package/dist/src/bondingCurveHelpers.js.map +1 -0
  11. package/dist/src/fees.d.ts +32 -0
  12. package/dist/src/fees.js +59 -0
  13. package/dist/src/fees.js.map +1 -0
  14. package/dist/src/generated/accounts/auctionAVLTreeV1.d.ts +29 -0
  15. package/dist/src/generated/accounts/auctionAVLTreeV1.js +77 -0
  16. package/dist/src/generated/accounts/auctionAVLTreeV1.js.map +1 -0
  17. package/dist/src/generated/accounts/auctionBidV1.d.ts +76 -0
  18. package/dist/src/generated/accounts/auctionBidV1.js +107 -0
  19. package/dist/src/generated/accounts/auctionBidV1.js.map +1 -0
  20. package/dist/src/generated/accounts/auctionBucketV1.d.ts +146 -0
  21. package/dist/src/generated/accounts/auctionBucketV1.js +154 -0
  22. package/dist/src/generated/accounts/auctionBucketV1.js.map +1 -0
  23. package/dist/src/generated/accounts/bondingCurveBucketV1.d.ts +48 -0
  24. package/dist/src/generated/accounts/bondingCurveBucketV1.js +97 -0
  25. package/dist/src/generated/accounts/bondingCurveBucketV1.js.map +1 -0
  26. package/dist/src/generated/accounts/distributionBucketV1.d.ts +77 -0
  27. package/dist/src/generated/accounts/distributionBucketV1.js +110 -0
  28. package/dist/src/generated/accounts/distributionBucketV1.js.map +1 -0
  29. package/dist/src/generated/accounts/genesisAccountV1.d.ts +59 -0
  30. package/dist/src/generated/accounts/genesisAccountV1.js +93 -0
  31. package/dist/src/generated/accounts/genesisAccountV1.js.map +1 -0
  32. package/dist/src/generated/accounts/index.d.ts +23 -0
  33. package/dist/src/generated/accounts/index.js +40 -0
  34. package/dist/src/generated/accounts/index.js.map +1 -0
  35. package/dist/src/generated/accounts/launchPoolBucketV1.d.ts +113 -0
  36. package/dist/src/generated/accounts/launchPoolBucketV1.js +134 -0
  37. package/dist/src/generated/accounts/launchPoolBucketV1.js.map +1 -0
  38. package/dist/src/generated/accounts/launchPoolDepositV1.d.ts +62 -0
  39. package/dist/src/generated/accounts/launchPoolDepositV1.js +100 -0
  40. package/dist/src/generated/accounts/launchPoolDepositV1.js.map +1 -0
  41. package/dist/src/generated/accounts/meteoraBucketV1.d.ts +74 -0
  42. package/dist/src/generated/accounts/meteoraBucketV1.js +106 -0
  43. package/dist/src/generated/accounts/meteoraBucketV1.js.map +1 -0
  44. package/dist/src/generated/accounts/presaleBucketV1.d.ts +134 -0
  45. package/dist/src/generated/accounts/presaleBucketV1.js +146 -0
  46. package/dist/src/generated/accounts/presaleBucketV1.js.map +1 -0
  47. package/dist/src/generated/accounts/presaleDepositV1.d.ts +59 -0
  48. package/dist/src/generated/accounts/presaleDepositV1.js +96 -0
  49. package/dist/src/generated/accounts/presaleDepositV1.js.map +1 -0
  50. package/dist/src/generated/accounts/pumpBucketV1.d.ts +74 -0
  51. package/dist/src/generated/accounts/pumpBucketV1.js +106 -0
  52. package/dist/src/generated/accounts/pumpBucketV1.js.map +1 -0
  53. package/dist/src/generated/accounts/streamflowBucketV1.d.ts +77 -0
  54. package/dist/src/generated/accounts/streamflowBucketV1.js +110 -0
  55. package/dist/src/generated/accounts/streamflowBucketV1.js.map +1 -0
  56. package/dist/src/generated/accounts/unlockedBucketV1.d.ts +80 -0
  57. package/dist/src/generated/accounts/unlockedBucketV1.js +110 -0
  58. package/dist/src/generated/accounts/unlockedBucketV1.js.map +1 -0
  59. package/dist/src/generated/accounts/vaultBucketV1.d.ts +92 -0
  60. package/dist/src/generated/accounts/vaultBucketV1.js +118 -0
  61. package/dist/src/generated/accounts/vaultBucketV1.js.map +1 -0
  62. package/dist/src/generated/accounts/vaultDepositV1.d.ts +59 -0
  63. package/dist/src/generated/accounts/vaultDepositV1.js +96 -0
  64. package/dist/src/generated/accounts/vaultDepositV1.js.map +1 -0
  65. package/dist/src/generated/errors/genesis.d.ts +816 -0
  66. package/dist/src/generated/errors/genesis.js +1497 -0
  67. package/dist/src/generated/errors/genesis.js.map +1 -0
  68. package/dist/src/generated/errors/index.d.ts +8 -0
  69. package/dist/src/generated/errors/index.js +25 -0
  70. package/dist/src/generated/errors/index.js.map +1 -0
  71. package/dist/src/generated/index.d.ts +13 -0
  72. package/dist/src/generated/index.js +30 -0
  73. package/dist/src/generated/index.js.map +1 -0
  74. package/dist/src/generated/instructions/addAuctionBucketV1.d.ts +72 -0
  75. package/dist/src/generated/instructions/addAuctionBucketV1.js +166 -0
  76. package/dist/src/generated/instructions/addAuctionBucketV1.js.map +1 -0
  77. package/dist/src/generated/instructions/addConstantProductBondingCurveBucketV1.d.ts +58 -0
  78. package/dist/src/generated/instructions/addConstantProductBondingCurveBucketV1.js +153 -0
  79. package/dist/src/generated/instructions/addConstantProductBondingCurveBucketV1.js.map +1 -0
  80. package/dist/src/generated/instructions/addDistributionBucketV1.d.ts +52 -0
  81. package/dist/src/generated/instructions/addDistributionBucketV1.js +147 -0
  82. package/dist/src/generated/instructions/addDistributionBucketV1.js.map +1 -0
  83. package/dist/src/generated/instructions/addLaunchPoolBucketV1.d.ts +63 -0
  84. package/dist/src/generated/instructions/addLaunchPoolBucketV1.js +154 -0
  85. package/dist/src/generated/instructions/addLaunchPoolBucketV1.js.map +1 -0
  86. package/dist/src/generated/instructions/addMeteoraBucketV1.d.ts +48 -0
  87. package/dist/src/generated/instructions/addMeteoraBucketV1.js +134 -0
  88. package/dist/src/generated/instructions/addMeteoraBucketV1.js.map +1 -0
  89. package/dist/src/generated/instructions/addPresaleBucketV1.d.ts +76 -0
  90. package/dist/src/generated/instructions/addPresaleBucketV1.js +171 -0
  91. package/dist/src/generated/instructions/addPresaleBucketV1.js.map +1 -0
  92. package/dist/src/generated/instructions/addPumpBucketV1.d.ts +46 -0
  93. package/dist/src/generated/instructions/addPumpBucketV1.js +133 -0
  94. package/dist/src/generated/instructions/addPumpBucketV1.js.map +1 -0
  95. package/dist/src/generated/instructions/addStreamflowBucketV1.d.ts +53 -0
  96. package/dist/src/generated/instructions/addStreamflowBucketV1.js +148 -0
  97. package/dist/src/generated/instructions/addStreamflowBucketV1.js.map +1 -0
  98. package/dist/src/generated/instructions/addUnlockedBucketV1.d.ts +54 -0
  99. package/dist/src/generated/instructions/addUnlockedBucketV1.js +148 -0
  100. package/dist/src/generated/instructions/addUnlockedBucketV1.js.map +1 -0
  101. package/dist/src/generated/instructions/addVaultBucketV1.d.ts +46 -0
  102. package/dist/src/generated/instructions/addVaultBucketV1.js +114 -0
  103. package/dist/src/generated/instructions/addVaultBucketV1.js.map +1 -0
  104. package/dist/src/generated/instructions/claimAuctionRefundV1.d.ts +38 -0
  105. package/dist/src/generated/instructions/claimAuctionRefundV1.js +92 -0
  106. package/dist/src/generated/instructions/claimAuctionRefundV1.js.map +1 -0
  107. package/dist/src/generated/instructions/claimAuctionTokensV1.d.ts +50 -0
  108. package/dist/src/generated/instructions/claimAuctionTokensV1.js +146 -0
  109. package/dist/src/generated/instructions/claimAuctionTokensV1.js.map +1 -0
  110. package/dist/src/generated/instructions/claimLaunchPoolV1.d.ts +50 -0
  111. package/dist/src/generated/instructions/claimLaunchPoolV1.js +159 -0
  112. package/dist/src/generated/instructions/claimLaunchPoolV1.js.map +1 -0
  113. package/dist/src/generated/instructions/claimPresaleV1.d.ts +50 -0
  114. package/dist/src/generated/instructions/claimPresaleV1.js +159 -0
  115. package/dist/src/generated/instructions/claimPresaleV1.js.map +1 -0
  116. package/dist/src/generated/instructions/claimUnlockedV1.d.ts +50 -0
  117. package/dist/src/generated/instructions/claimUnlockedV1.js +156 -0
  118. package/dist/src/generated/instructions/claimUnlockedV1.js.map +1 -0
  119. package/dist/src/generated/instructions/closeAuctionBidV1.d.ts +40 -0
  120. package/dist/src/generated/instructions/closeAuctionBidV1.js +101 -0
  121. package/dist/src/generated/instructions/closeAuctionBidV1.js.map +1 -0
  122. package/dist/src/generated/instructions/depositLaunchPoolV1.d.ts +52 -0
  123. package/dist/src/generated/instructions/depositLaunchPoolV1.js +144 -0
  124. package/dist/src/generated/instructions/depositLaunchPoolV1.js.map +1 -0
  125. package/dist/src/generated/instructions/depositPresaleV1.d.ts +53 -0
  126. package/dist/src/generated/instructions/depositPresaleV1.js +149 -0
  127. package/dist/src/generated/instructions/depositPresaleV1.js.map +1 -0
  128. package/dist/src/generated/instructions/depositVaultV1.d.ts +42 -0
  129. package/dist/src/generated/instructions/depositVaultV1.js +111 -0
  130. package/dist/src/generated/instructions/depositVaultV1.js.map +1 -0
  131. package/dist/src/generated/instructions/feeOverride.d.ts +38 -0
  132. package/dist/src/generated/instructions/feeOverride.js +86 -0
  133. package/dist/src/generated/instructions/feeOverride.js.map +1 -0
  134. package/dist/src/generated/instructions/finalizeV1.d.ts +37 -0
  135. package/dist/src/generated/instructions/finalizeV1.js +92 -0
  136. package/dist/src/generated/instructions/finalizeV1.js.map +1 -0
  137. package/dist/src/generated/instructions/fundDistributionV1.d.ts +54 -0
  138. package/dist/src/generated/instructions/fundDistributionV1.js +172 -0
  139. package/dist/src/generated/instructions/fundDistributionV1.js.map +1 -0
  140. package/dist/src/generated/instructions/fundOutflowsV1.d.ts +27 -0
  141. package/dist/src/generated/instructions/fundOutflowsV1.js +75 -0
  142. package/dist/src/generated/instructions/fundOutflowsV1.js.map +1 -0
  143. package/dist/src/generated/instructions/graduateToMeteoraV1.d.ts +92 -0
  144. package/dist/src/generated/instructions/graduateToMeteoraV1.js +244 -0
  145. package/dist/src/generated/instructions/graduateToMeteoraV1.js.map +1 -0
  146. package/dist/src/generated/instructions/graduateToPumpV1.d.ts +68 -0
  147. package/dist/src/generated/instructions/graduateToPumpV1.js +188 -0
  148. package/dist/src/generated/instructions/graduateToPumpV1.js.map +1 -0
  149. package/dist/src/generated/instructions/index.d.ts +45 -0
  150. package/dist/src/generated/instructions/index.js +62 -0
  151. package/dist/src/generated/instructions/index.js.map +1 -0
  152. package/dist/src/generated/instructions/initializeV1.d.ts +47 -0
  153. package/dist/src/generated/instructions/initializeV1.js +124 -0
  154. package/dist/src/generated/instructions/initializeV1.js.map +1 -0
  155. package/dist/src/generated/instructions/lockStreamflowV1.d.ts +70 -0
  156. package/dist/src/generated/instructions/lockStreamflowV1.js +210 -0
  157. package/dist/src/generated/instructions/lockStreamflowV1.js.map +1 -0
  158. package/dist/src/generated/instructions/placeAuctionBidV1.d.ts +56 -0
  159. package/dist/src/generated/instructions/placeAuctionBidV1.js +155 -0
  160. package/dist/src/generated/instructions/placeAuctionBidV1.js.map +1 -0
  161. package/dist/src/generated/instructions/refundVaultDepositV1.d.ts +33 -0
  162. package/dist/src/generated/instructions/refundVaultDepositV1.js +78 -0
  163. package/dist/src/generated/instructions/refundVaultDepositV1.js.map +1 -0
  164. package/dist/src/generated/instructions/setBondingCurvePausedStateV1.d.ts +31 -0
  165. package/dist/src/generated/instructions/setBondingCurvePausedStateV1.js +67 -0
  166. package/dist/src/generated/instructions/setBondingCurvePausedStateV1.js.map +1 -0
  167. package/dist/src/generated/instructions/storeInflowsV1.d.ts +35 -0
  168. package/dist/src/generated/instructions/storeInflowsV1.js +92 -0
  169. package/dist/src/generated/instructions/storeInflowsV1.js.map +1 -0
  170. package/dist/src/generated/instructions/swapBondingCurveV1.d.ts +55 -0
  171. package/dist/src/generated/instructions/swapBondingCurveV1.js +155 -0
  172. package/dist/src/generated/instructions/swapBondingCurveV1.js.map +1 -0
  173. package/dist/src/generated/instructions/swapVaultToBondingCurveV1.d.ts +61 -0
  174. package/dist/src/generated/instructions/swapVaultToBondingCurveV1.js +171 -0
  175. package/dist/src/generated/instructions/swapVaultToBondingCurveV1.js.map +1 -0
  176. package/dist/src/generated/instructions/updateLaunchPoolDepositV1.d.ts +48 -0
  177. package/dist/src/generated/instructions/updateLaunchPoolDepositV1.js +131 -0
  178. package/dist/src/generated/instructions/updateLaunchPoolDepositV1.js.map +1 -0
  179. package/dist/src/generated/instructions/updatePresaleDepositV1.d.ts +49 -0
  180. package/dist/src/generated/instructions/updatePresaleDepositV1.js +136 -0
  181. package/dist/src/generated/instructions/updatePresaleDepositV1.js.map +1 -0
  182. package/dist/src/generated/instructions/withdrawLaunchPoolV1.d.ts +46 -0
  183. package/dist/src/generated/instructions/withdrawLaunchPoolV1.js +126 -0
  184. package/dist/src/generated/instructions/withdrawLaunchPoolV1.js.map +1 -0
  185. package/dist/src/generated/instructions/withdrawPresaleV1.d.ts +44 -0
  186. package/dist/src/generated/instructions/withdrawPresaleV1.js +121 -0
  187. package/dist/src/generated/instructions/withdrawPresaleV1.js.map +1 -0
  188. package/dist/src/generated/instructions/withdrawVaultV1.d.ts +40 -0
  189. package/dist/src/generated/instructions/withdrawVaultV1.js +102 -0
  190. package/dist/src/generated/instructions/withdrawVaultV1.js.map +1 -0
  191. package/dist/src/generated/programs/genesis.d.ts +12 -0
  192. package/dist/src/generated/programs/genesis.js +37 -0
  193. package/dist/src/generated/programs/genesis.js.map +1 -0
  194. package/dist/src/generated/programs/index.d.ts +8 -0
  195. package/dist/src/generated/programs/index.js +25 -0
  196. package/dist/src/generated/programs/index.js.map +1 -0
  197. package/dist/src/generated/shared/index.d.ts +53 -0
  198. package/dist/src/generated/shared/index.js +71 -0
  199. package/dist/src/generated/shared/index.js.map +1 -0
  200. package/dist/src/generated/types/auctionAVLTreeV1AccountData.d.ts +22 -0
  201. package/dist/src/generated/types/auctionAVLTreeV1AccountData.js +22 -0
  202. package/dist/src/generated/types/auctionAVLTreeV1AccountData.js.map +1 -0
  203. package/dist/src/generated/types/auctionBucketState.d.ts +17 -0
  204. package/dist/src/generated/types/auctionBucketState.js +26 -0
  205. package/dist/src/generated/types/auctionBucketState.js.map +1 -0
  206. package/dist/src/generated/types/baseAllocator.d.ts +13 -0
  207. package/dist/src/generated/types/baseAllocator.js +18 -0
  208. package/dist/src/generated/types/baseAllocator.js.map +1 -0
  209. package/dist/src/generated/types/bondingCurveBucketState.d.ts +17 -0
  210. package/dist/src/generated/types/bondingCurveBucketState.js +26 -0
  211. package/dist/src/generated/types/bondingCurveBucketState.js.map +1 -0
  212. package/dist/src/generated/types/bondingCurveBucketV1AccountData.d.ts +57 -0
  213. package/dist/src/generated/types/bondingCurveBucketV1AccountData.js +39 -0
  214. package/dist/src/generated/types/bondingCurveBucketV1AccountData.js.map +1 -0
  215. package/dist/src/generated/types/bondingCurveType.d.ts +13 -0
  216. package/dist/src/generated/types/bondingCurveType.js +22 -0
  217. package/dist/src/generated/types/bondingCurveType.js.map +1 -0
  218. package/dist/src/generated/types/bucketEntry.d.ts +26 -0
  219. package/dist/src/generated/types/bucketEntry.js +24 -0
  220. package/dist/src/generated/types/bucketEntry.js.map +1 -0
  221. package/dist/src/generated/types/constantProductBondingCurveParameters.d.ts +17 -0
  222. package/dist/src/generated/types/constantProductBondingCurveParameters.js +19 -0
  223. package/dist/src/generated/types/constantProductBondingCurveParameters.js.map +1 -0
  224. package/dist/src/generated/types/createInstructionArgs.d.ts +46 -0
  225. package/dist/src/generated/types/createInstructionArgs.js +33 -0
  226. package/dist/src/generated/types/createInstructionArgs.js.map +1 -0
  227. package/dist/src/generated/types/createInstructionData.d.ts +13 -0
  228. package/dist/src/generated/types/createInstructionData.js +16 -0
  229. package/dist/src/generated/types/createInstructionData.js.map +1 -0
  230. package/dist/src/generated/types/createMetadataAccountV3InstructionArgs.d.ts +20 -0
  231. package/dist/src/generated/types/createMetadataAccountV3InstructionArgs.js +21 -0
  232. package/dist/src/generated/types/createMetadataAccountV3InstructionArgs.js.map +1 -0
  233. package/dist/src/generated/types/createMetadataAccountV3InstructionData.d.ts +13 -0
  234. package/dist/src/generated/types/createMetadataAccountV3InstructionData.js +16 -0
  235. package/dist/src/generated/types/createMetadataAccountV3InstructionData.js.map +1 -0
  236. package/dist/src/generated/types/createPoolInstructionArgs.d.ts +19 -0
  237. package/dist/src/generated/types/createPoolInstructionArgs.js +20 -0
  238. package/dist/src/generated/types/createPoolInstructionArgs.js.map +1 -0
  239. package/dist/src/generated/types/createPoolInstructionData.d.ts +13 -0
  240. package/dist/src/generated/types/createPoolInstructionData.js +16 -0
  241. package/dist/src/generated/types/createPoolInstructionData.js.map +1 -0
  242. package/dist/src/generated/types/dataV2.d.ts +19 -0
  243. package/dist/src/generated/types/dataV2.js +24 -0
  244. package/dist/src/generated/types/dataV2.js.map +1 -0
  245. package/dist/src/generated/types/distributionBucketState.d.ts +16 -0
  246. package/dist/src/generated/types/distributionBucketState.js +25 -0
  247. package/dist/src/generated/types/distributionBucketState.js.map +1 -0
  248. package/dist/src/generated/types/feeDiscriminants.d.ts +14 -0
  249. package/dist/src/generated/types/feeDiscriminants.js +23 -0
  250. package/dist/src/generated/types/feeDiscriminants.js.map +1 -0
  251. package/dist/src/generated/types/feeOverrideType.d.ts +16 -0
  252. package/dist/src/generated/types/feeOverrideType.js +25 -0
  253. package/dist/src/generated/types/feeOverrideType.js.map +1 -0
  254. package/dist/src/generated/types/index.d.ts +38 -0
  255. package/dist/src/generated/types/index.js +55 -0
  256. package/dist/src/generated/types/index.js.map +1 -0
  257. package/dist/src/generated/types/initializePermissionlessConstantProductPoolWithConfigInstructionArgs.d.ts +17 -0
  258. package/dist/src/generated/types/initializePermissionlessConstantProductPoolWithConfigInstructionArgs.js +21 -0
  259. package/dist/src/generated/types/initializePermissionlessConstantProductPoolWithConfigInstructionArgs.js.map +1 -0
  260. package/dist/src/generated/types/initializePermissionlessConstantProductPoolWithConfigInstructionData.d.ts +13 -0
  261. package/dist/src/generated/types/initializePermissionlessConstantProductPoolWithConfigInstructionData.js +18 -0
  262. package/dist/src/generated/types/initializePermissionlessConstantProductPoolWithConfigInstructionData.js.map +1 -0
  263. package/dist/src/generated/types/initializeVault.d.ts +13 -0
  264. package/dist/src/generated/types/initializeVault.js +16 -0
  265. package/dist/src/generated/types/initializeVault.js.map +1 -0
  266. package/dist/src/generated/types/key.d.ts +29 -0
  267. package/dist/src/generated/types/key.js +36 -0
  268. package/dist/src/generated/types/key.js.map +1 -0
  269. package/dist/src/generated/types/launchPoolBucketState.d.ts +17 -0
  270. package/dist/src/generated/types/launchPoolBucketState.js +26 -0
  271. package/dist/src/generated/types/launchPoolBucketState.js.map +1 -0
  272. package/dist/src/generated/types/linearBpsSchedule.d.ts +23 -0
  273. package/dist/src/generated/types/linearBpsSchedule.js +22 -0
  274. package/dist/src/generated/types/linearBpsSchedule.js.map +1 -0
  275. package/dist/src/generated/types/meteoraBucketState.d.ts +15 -0
  276. package/dist/src/generated/types/meteoraBucketState.js +24 -0
  277. package/dist/src/generated/types/meteoraBucketState.js.map +1 -0
  278. package/dist/src/generated/types/presaleBucketState.d.ts +17 -0
  279. package/dist/src/generated/types/presaleBucketState.js +26 -0
  280. package/dist/src/generated/types/presaleBucketState.js.map +1 -0
  281. package/dist/src/generated/types/pumpBucketState.d.ts +15 -0
  282. package/dist/src/generated/types/pumpBucketState.js +24 -0
  283. package/dist/src/generated/types/pumpBucketState.js.map +1 -0
  284. package/dist/src/generated/types/schedule.d.ts +22 -0
  285. package/dist/src/generated/types/schedule.js +34 -0
  286. package/dist/src/generated/types/schedule.js.map +1 -0
  287. package/dist/src/generated/types/streamflowBucketState.d.ts +16 -0
  288. package/dist/src/generated/types/streamflowBucketState.js +25 -0
  289. package/dist/src/generated/types/streamflowBucketState.js.map +1 -0
  290. package/dist/src/generated/types/streamflowConfig.d.ts +43 -0
  291. package/dist/src/generated/types/streamflowConfig.js +32 -0
  292. package/dist/src/generated/types/streamflowConfig.js.map +1 -0
  293. package/dist/src/generated/types/swapDirection.d.ts +14 -0
  294. package/dist/src/generated/types/swapDirection.js +23 -0
  295. package/dist/src/generated/types/swapDirection.js.map +1 -0
  296. package/dist/src/generated/types/unlockedBucketState.d.ts +16 -0
  297. package/dist/src/generated/types/unlockedBucketState.js +25 -0
  298. package/dist/src/generated/types/unlockedBucketState.js.map +1 -0
  299. package/dist/src/generated/types/vaultBucketState.d.ts +17 -0
  300. package/dist/src/generated/types/vaultBucketState.js +26 -0
  301. package/dist/src/generated/types/vaultBucketState.js.map +1 -0
  302. package/dist/src/hooked/auctionAVLTreeV1.d.ts +41 -0
  303. package/dist/src/hooked/auctionAVLTreeV1.js +72 -0
  304. package/dist/src/hooked/auctionAVLTreeV1.js.map +1 -0
  305. package/dist/src/hooked/bondingCurveBucketV1AccountData.d.ts +10 -0
  306. package/dist/src/hooked/bondingCurveBucketV1AccountData.js +28 -0
  307. package/dist/src/hooked/bondingCurveBucketV1AccountData.js.map +1 -0
  308. package/dist/src/hooked/index.d.ts +2 -0
  309. package/dist/src/hooked/index.js +19 -0
  310. package/dist/src/hooked/index.js.map +1 -0
  311. package/dist/src/index.d.ts +14 -0
  312. package/dist/src/index.js +33 -0
  313. package/dist/src/index.js.map +1 -0
  314. package/dist/src/merkleTree.d.ts +13 -0
  315. package/dist/src/merkleTree.js +92 -0
  316. package/dist/src/merkleTree.js.map +1 -0
  317. package/dist/src/meteora.d.ts +11 -0
  318. package/dist/src/meteora.js +66 -0
  319. package/dist/src/meteora.js.map +1 -0
  320. package/dist/src/plugin.d.ts +2 -0
  321. package/dist/src/plugin.js +11 -0
  322. package/dist/src/plugin.js.map +1 -0
  323. package/dist/src/pumpAmm.d.ts +6 -0
  324. package/dist/src/pumpAmm.js +28 -0
  325. package/dist/src/pumpAmm.js.map +1 -0
  326. package/dist/src/schedule.d.ts +15 -0
  327. package/dist/src/schedule.js +79 -0
  328. package/dist/src/schedule.js.map +1 -0
  329. package/dist/src/streamflow.d.ts +7 -0
  330. package/dist/src/streamflow.js +22 -0
  331. package/dist/src/streamflow.js.map +1 -0
  332. package/dist/src/utils/bigInt.d.ts +1 -0
  333. package/dist/src/utils/bigInt.js +8 -0
  334. package/dist/src/utils/bigInt.js.map +1 -0
  335. package/package.json +71 -0
@@ -0,0 +1,416 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.totalBidSol = exports.solPerToken = exports.uSolPerTokenBasis = exports.toSol = exports.toUSol = exports.getBidFillAmount = exports.isBidPartiallyFilled = exports.isBidLosing = exports.isBidWinning = exports.createMicroLamports = exports.fetchAuctionWinners = exports.calculateAuctionWinners = exports.findAuctionBids = exports.getAuctionTreeNode = exports.getAllAuctionTreeNodes = exports.lamportsToUlamports = exports.MICRO_LAMPORTS_PER_LAMPORT = void 0;
4
+ const umi_1 = require("@metaplex-foundation/umi");
5
+ const generated_1 = require("./generated");
6
+ const hooked_1 = require("./hooked");
7
+ exports.MICRO_LAMPORTS_PER_LAMPORT = 1000000;
8
+ /**
9
+ * Converts lamports to micro-lamports for auction pricing.
10
+ *
11
+ * Auction bids use micro-lamports (1/1,000,000 of a lamport) for sub-lamport precision.
12
+ * This allows for finer granularity in token pricing.
13
+ *
14
+ * @param lamports - The amount in lamports to convert
15
+ * @returns The equivalent amount in micro-lamports
16
+ *
17
+ * @example
18
+ * ```typescript
19
+ * // 0.5 SOL per token = 500,000,000 lamports per token
20
+ * const pricePerToken = lamportsToUlamports(500_000_000);
21
+ *
22
+ * // Use in auction bid
23
+ * await placeAuctionBidV1(umi, {
24
+ * // ... other params
25
+ * pricePerToken,
26
+ * // ...
27
+ * }).sendAndConfirm(umi);
28
+ * ```
29
+ */
30
+ function lamportsToUlamports(lamportsInput) {
31
+ return BigInt(lamportsInput) * BigInt(1000000);
32
+ }
33
+ exports.lamportsToUlamports = lamportsToUlamports;
34
+ /**
35
+ * Retrieves all nodes from an auction AVL tree.
36
+ *
37
+ * @param tree - The auction AVL tree to extract nodes from
38
+ * @returns An array of all auction nodes in the tree, in allocation order
39
+ *
40
+ * @example
41
+ * ```typescript
42
+ * const tree = await fetchAuctionAVLTreeV1(umi, treePda);
43
+ * const allNodes = getAllAuctionTreeNodes(tree);
44
+ * console.log(`Tree contains ${allNodes.length} nodes`);
45
+ * ```
46
+ */
47
+ function getAllAuctionTreeNodes(tree) {
48
+ const nodes = [];
49
+ for (let i = 0; i < tree.allocator.size; i += 1) {
50
+ nodes.push((0, hooked_1.getAuctionNodeSerializer)().deserialize(tree.rawData, tree.rawDataOffset + i * hooked_1.AUCTION_NODE_SIZE)[0]);
51
+ }
52
+ return nodes;
53
+ }
54
+ exports.getAllAuctionTreeNodes = getAllAuctionTreeNodes;
55
+ /**
56
+ * Retrieves a specific node from an auction AVL tree by its index.
57
+ *
58
+ * @param tree - The auction AVL tree to search in
59
+ * @param index - The 1-based index of the node to retrieve
60
+ * @returns The auction node at the specified index, or null if index is out of bounds
61
+ *
62
+ * @example
63
+ * ```typescript
64
+ * const tree = await fetchAuctionAVLTreeV1(umi, treePda);
65
+ * const node = getAuctionTreeNode(tree, 5);
66
+ * if (node) {
67
+ * console.log(`Node 5 bid: ${node.bid.pricePerToken}`);
68
+ * }
69
+ * ```
70
+ */
71
+ function getAuctionTreeNode(tree, index) {
72
+ if (index < 1 || index > tree.allocator.size) {
73
+ return null;
74
+ }
75
+ return (0, hooked_1.getAuctionNodeSerializer)().deserialize(tree.rawData, tree.rawDataOffset + (index - 1) * hooked_1.AUCTION_NODE_SIZE)[0];
76
+ }
77
+ exports.getAuctionTreeNode = getAuctionTreeNode;
78
+ /**
79
+ * Finds all bids in the auction tree that meet or exceed the clearing price.
80
+ *
81
+ * Uses an in-order traversal of the AVL tree to efficiently collect qualifying bids.
82
+ * The function traverses from highest to lowest prices and stops when prices fall
83
+ * below the clearing price threshold.
84
+ *
85
+ * @param tree - The auction AVL tree containing all bids
86
+ * @param clearingPriceULamports - The minimum price in micro-lamports for a bid to qualify
87
+ * @returns Array of bids that meet or exceed the clearing price, sorted by price (highest first)
88
+ *
89
+ * @example
90
+ * ```typescript
91
+ * const tree = await fetchAuctionAVLTreeV1(umi, treePda);
92
+ * const clearingPrice = lamportsToMicroLamports(1_000_000); // 0.001 SOL
93
+ * const qualifyingBids = findAuctionBids(tree, clearingPrice);
94
+ * ```
95
+ */
96
+ function findAuctionBids(tree, clearingPriceULamports) {
97
+ const bids = [];
98
+ // Use in-order traversal to collect winners efficiently
99
+ // Since AVL tree is sorted, we can traverse from highest to lowest
100
+ function collectBids(nodeIndex) {
101
+ if (nodeIndex === hooked_1.AUCTION_SENTINEL) {
102
+ return;
103
+ }
104
+ const [node] = (0, hooked_1.getAuctionNodeSerializer)().deserialize(tree.rawData, tree.rawDataOffset + (nodeIndex - 1) * hooked_1.AUCTION_NODE_SIZE);
105
+ if (!node || node.bid.priceUlamports === 0n) {
106
+ // Skip deleted/inactive nodes
107
+ return;
108
+ }
109
+ // Always traverse right subtree first (higher prices)
110
+ // The right subtree might have matching bids even if current node doesn't
111
+ collectBids(node.right);
112
+ if (node.bid.priceUlamports >= clearingPriceULamports) {
113
+ bids.push(node.bid);
114
+ // Traverse left subtree to find bids of the same price
115
+ collectBids(node.left);
116
+ }
117
+ }
118
+ // Start traversal from root
119
+ collectBids(tree.allocator.root);
120
+ return bids;
121
+ }
122
+ exports.findAuctionBids = findAuctionBids;
123
+ /**
124
+ * Calculates the winning bids for an auction based on clearing price and token allocation.
125
+ *
126
+ * This function determines which bids win tokens in the auction by:
127
+ * 1. Finding all bids at or above the clearing price
128
+ * 2. Sorting them by price (highest first) and bid number (earliest first for ties)
129
+ * 3. Allocating tokens until the supply is exhausted
130
+ *
131
+ * @param tree - The auction AVL tree containing all bids
132
+ * @param clearingPriceULamports - The clearing price in micro-lamports
133
+ * @param tokenAllocation - The total number of tokens available for distribution
134
+ * @returns Array of winning bids in order of priority
135
+ *
136
+ * @example
137
+ * ```typescript
138
+ * const tree = await fetchAuctionAVLTreeV1(umi, treePda);
139
+ * const clearingPrice = lamportsToMicroLamports(500_000_000); // 0.5 SOL
140
+ * const tokenSupply = 1_000_000n;
141
+ * const winners = calculateAuctionWinners(tree, clearingPrice, tokenSupply);
142
+ * ```
143
+ */
144
+ function calculateAuctionWinners(tree, clearingPriceULamports, tokenAllocation) {
145
+ const bids = findAuctionBids(tree, clearingPriceULamports);
146
+ bids.sort((a, b) => {
147
+ if (a.priceUlamports === b.priceUlamports) {
148
+ if (a.bidNumber === b.bidNumber)
149
+ return 0;
150
+ return a.bidNumber < b.bidNumber ? -1 : 1;
151
+ }
152
+ return a.priceUlamports > b.priceUlamports ? -1 : 1;
153
+ });
154
+ const winners = [];
155
+ let remainingTokens = tokenAllocation;
156
+ while (remainingTokens > 0n) {
157
+ const bid = bids.shift();
158
+ if (!bid) {
159
+ break;
160
+ }
161
+ winners.push(bid);
162
+ remainingTokens -= bid.tokenQuantity;
163
+ }
164
+ return winners;
165
+ }
166
+ exports.calculateAuctionWinners = calculateAuctionWinners;
167
+ /**
168
+ * Fetches all winning bids from an auction bucket.
169
+ *
170
+ * This async function retrieves the auction tree associated with a bucket
171
+ * and calculates the winning bids based on the bucket's clearing price
172
+ * and token allocation.
173
+ *
174
+ * @param umi - Umi context containing RPC, programs, and eddsa for Solana interaction
175
+ * @param auction - The auction bucket containing clearing price and allocation info
176
+ * @returns Promise resolving to an array of winning bids
177
+ * @throws Error if the auction tree is not found
178
+ *
179
+ * @example
180
+ * ```typescript
181
+ * const auctionBucket = await fetchAuctionBucketV1(umi, bucketPda);
182
+ * const winners = await getAuctionWinners(umi, auctionBucket);
183
+ * console.log(`${winners.length} winning bids found`);
184
+ * ```
185
+ */
186
+ async function fetchAuctionWinners(umi, auction) {
187
+ const treePda = (0, generated_1.findAuctionAVLTreeV1Pda)(umi, {
188
+ bucket: auction.publicKey,
189
+ });
190
+ const tree = await (0, generated_1.safeFetchAuctionAVLTreeV1)(umi, treePda[0]);
191
+ if (!tree) {
192
+ throw new Error('Auction tree not found');
193
+ }
194
+ // Use the clearing price from the auction bucket
195
+ const { clearingPriceUlamports, tokenAllocation } = auction;
196
+ return calculateAuctionWinners(tree, clearingPriceUlamports, tokenAllocation);
197
+ }
198
+ exports.fetchAuctionWinners = fetchAuctionWinners;
199
+ /**
200
+ * Creates a MicroSolAmount from either a bigint or an existing MicroSolAmount.
201
+ *
202
+ * @param amount - The amount as bigint or MicroSolAmount
203
+ * @returns A MicroSolAmount object
204
+ * @internal
205
+ */
206
+ function createMicroLamports(amount) {
207
+ return typeof amount === 'bigint' ? (0, umi_1.microLamports)(amount) : amount;
208
+ }
209
+ exports.createMicroLamports = createMicroLamports;
210
+ /**
211
+ * Determines if a bid is winning based on the auction's clearing price and bid number.
212
+ *
213
+ * A bid is considered winning if:
214
+ * - Its price exceeds the clearing price, OR
215
+ * - Its price equals the clearing price AND its bid number is at or before the clearing price bid number
216
+ *
217
+ * @param auction - The auction bucket with clearing price and clearing price bid number
218
+ * @param bid - The bid to check with price per token and bid number
219
+ * @returns True if the bid is winning, false otherwise
220
+ *
221
+ * @example
222
+ * ```typescript
223
+ * const auction = await fetchAuctionBucketV1(umi, auctionPda);
224
+ * const bid = await fetchAuctionBidV1(umi, bidPda);
225
+ * const isWinner = isBidWinning(auction, bid); // true (price exceeds clearing)
226
+ * ```
227
+ */
228
+ function isBidWinning(auction, bid) {
229
+ const priceUlamports = createMicroLamports(bid.priceUlamports);
230
+ const clearingPrice = createMicroLamports(auction.clearingPriceUlamports);
231
+ if ((0, umi_1.isGreaterThanAmount)(priceUlamports, clearingPrice)) {
232
+ return true;
233
+ }
234
+ if ((0, umi_1.isEqualToAmount)(priceUlamports, clearingPrice) &&
235
+ bid.bidNumber <= auction.clearingPriceBidNumber) {
236
+ return true;
237
+ }
238
+ return false;
239
+ }
240
+ exports.isBidWinning = isBidWinning;
241
+ /**
242
+ * Determines if a bid is losing (not winning) in the auction.
243
+ *
244
+ * This is the inverse of isBidWinning - a bid is losing if it doesn't meet
245
+ * the criteria for winning.
246
+ *
247
+ * @param auction - The auction bucket with clearing price and clearing price bid number
248
+ * @param bid - The bid to check with price per token and bid number
249
+ * @returns True if the bid is losing, false if winning
250
+ *
251
+ * @example
252
+ * ```typescript
253
+ * const auction = await fetchAuctionBucketV1(umi, auctionPda);
254
+ * const bid = await fetchAuctionBidV1(umi, bidPda);
255
+ * const isLoser = isBidLosing(auction, bid); // true (price below clearing)
256
+ * ```
257
+ */
258
+ function isBidLosing(auction, bid) {
259
+ return !isBidWinning(auction, bid);
260
+ }
261
+ exports.isBidLosing = isBidLosing;
262
+ /**
263
+ * Determines if a bid is partially filled at the clearing price.
264
+ *
265
+ * A bid is considered partially filled when:
266
+ * - The bid is at the clearing price (bid number matches clearing price bid number)
267
+ * - The bid requests more tokens than are available at the clearing price
268
+ *
269
+ * This occurs when the auction's token supply is exhausted at the clearing price,
270
+ * causing the last bid at that price to receive only a portion of their requested tokens.
271
+ *
272
+ * @param auctionBucket - The auction bucket with clearing price bid number and allocation
273
+ * @param bid - The bid to check with bid number and requested token quantity
274
+ * @returns True if the bid is partially filled, false if fully filled or not at clearing price
275
+ *
276
+ * @example
277
+ * ```typescript
278
+ * const auction = await fetchAuctionBucketV1(umi, auctionPda);
279
+ * const bid = await fetchAuctionBidV1(umi, bidPda);
280
+ * const isPartial = isBidPartiallyFilled(auction, bid); // true (partial fill at clearing price)
281
+ * ```
282
+ */
283
+ function isBidPartiallyFilled(auctionBucket, bid) {
284
+ if (auctionBucket.clearingPriceBidNumber === bid.bidNumber &&
285
+ bid.tokenQuantity > auctionBucket.clearingPriceAllocation) {
286
+ return true;
287
+ }
288
+ return false;
289
+ }
290
+ exports.isBidPartiallyFilled = isBidPartiallyFilled;
291
+ /**
292
+ * Calculates the actual token amount a bid will receive.
293
+ *
294
+ * Returns either the partial fill amount (if bid is at clearing price) or
295
+ * the full token quantity requested by the bid.
296
+ *
297
+ * @param bid - The bid with bid number and requested token quantity
298
+ * @param auctionBucket - The auction bucket with clearing price info
299
+ * @returns The actual number of tokens the bid will receive
300
+ *
301
+ * @example
302
+ * ```typescript
303
+ * const bid = await fetchAuctionBidV1(umi, bidPda);
304
+ * const auction = await fetchAuctionBucketV1(umi, auctionPda);
305
+ * const fillAmount = getBidFillAmount(bid, auction); // 50000n (partial fill)
306
+ * ```
307
+ */
308
+ function getBidFillAmount(auctionBucket, bid) {
309
+ return isBidPartiallyFilled(auctionBucket, bid)
310
+ ? auctionBucket.clearingPriceAllocation
311
+ : bid.tokenQuantity;
312
+ }
313
+ exports.getBidFillAmount = getBidFillAmount;
314
+ /**
315
+ * Converts SOL amount to micro-SOL (µSOL) amount.
316
+ *
317
+ * @param sol - The amount in SOL (lamports)
318
+ * @returns The equivalent amount in micro-SOL (micro-lamports)
319
+ *
320
+ * @example
321
+ * ```typescript
322
+ * const solAmount = lamports(1_000_000_000); // 1 SOL
323
+ * const microSolAmount = toUSol(solAmount); // 1,000,000,000,000,000 µSOL
324
+ * ```
325
+ */
326
+ function toUSol(sol) {
327
+ return (0, umi_1.microLamports)(sol.basisPoints * BigInt(exports.MICRO_LAMPORTS_PER_LAMPORT));
328
+ }
329
+ exports.toUSol = toUSol;
330
+ /**
331
+ * Converts micro-SOL (µSOL) amount to SOL amount.
332
+ *
333
+ * @param uSol - The amount in micro-SOL (micro-lamports)
334
+ * @returns The equivalent amount in SOL (lamports)
335
+ *
336
+ * @example
337
+ * ```typescript
338
+ * const microSolAmount = microLamports(1_000_000_000_000_000n); // 1,000,000,000,000,000 µSOL
339
+ * const solAmount = toSol(microSolAmount); // 1 SOL
340
+ * ```
341
+ */
342
+ function toSol(uSol) {
343
+ return (0, umi_1.lamports)((0, umi_1.divideAmount)(uSol, BigInt(exports.MICRO_LAMPORTS_PER_LAMPORT)).basisPoints);
344
+ }
345
+ exports.toSol = toSol;
346
+ /**
347
+ * Calculates the micro-SOL price per token basis unit.
348
+ *
349
+ * Converts a SOL per token price to micro-SOL per smallest token unit,
350
+ * accounting for token decimals. This is used for precise sub-lamport pricing.
351
+ *
352
+ * @param solPerTokenInput - The price in SOL per whole token (or lamports as bigint)
353
+ * @param tokenDecimals - The number of decimal places for the token
354
+ * @returns The price in micro-SOL per token basis unit
355
+ *
356
+ * @example
357
+ * ```typescript
358
+ * // For a token with 6 decimals, priced at 0.5 SOL per token
359
+ * const priceUlamports = lamports(500_000_000); // 0.5 SOL
360
+ * const microSolPerBasis = uSolPerTokenBasis(priceUlamports, 6);
361
+ * // Returns price per smallest token unit (1/1,000,000 of a token)
362
+ * ```
363
+ */
364
+ function uSolPerTokenBasis(solPerTokenInput, tokenDecimals) {
365
+ return (0, umi_1.divideAmount)(toUSol(typeof solPerTokenInput === 'bigint'
366
+ ? (0, umi_1.lamports)(solPerTokenInput)
367
+ : solPerTokenInput), 10 ** tokenDecimals);
368
+ }
369
+ exports.uSolPerTokenBasis = uSolPerTokenBasis;
370
+ /**
371
+ * Converts micro-SOL per token basis unit to SOL per whole token.
372
+ *
373
+ * Takes a price in micro-SOL per smallest token unit and converts it to
374
+ * SOL per whole token, accounting for token decimals.
375
+ *
376
+ * @param ulamportsPerTokenBasis - The price in micro-SOL per token basis unit
377
+ * @param tokenDecimals - The number of decimal places for the token
378
+ * @returns The price in SOL per whole token
379
+ *
380
+ * @example
381
+ * ```typescript
382
+ * // For a token with 6 decimals
383
+ * const microSolPerBasis = microLamports(500n); // Price per smallest unit
384
+ * const solPerWholeToken = solPerToken(microSolPerBasis, 6);
385
+ * // Returns price in SOL for one whole token
386
+ * ```
387
+ */
388
+ function solPerToken(ulamportsPerTokenBasis, tokenDecimals) {
389
+ return toSol((0, umi_1.multiplyAmount)(createMicroLamports(ulamportsPerTokenBasis), 10 ** tokenDecimals));
390
+ }
391
+ exports.solPerToken = solPerToken;
392
+ /**
393
+ * Calculates the total SOL cost for a bid.
394
+ *
395
+ * Multiplies the micro-SOL price per token basis by the token amount
396
+ * to get the total cost in SOL.
397
+ *
398
+ * @param pricePerTokenBasis - The price in micro-SOL per token basis unit
399
+ * @param tokenAmount - The number of token basis units to purchase
400
+ * @returns The total cost in SOL
401
+ *
402
+ * @example
403
+ * ```typescript
404
+ * // Bidding for 1,000,000 token units at 500 micro-SOL each
405
+ * const pricePerUnit = microLamports(500n);
406
+ * const amount = 1_000_000n;
407
+ * const totalCost = totalBidSol(pricePerUnit, amount);
408
+ * // Returns total SOL needed for the bid
409
+ * ```
410
+ */
411
+ function totalBidSol(pricePerTokenBasis, tokenAmount) {
412
+ const microLamportsPerToken = (0, umi_1.multiplyAmount)(createMicroLamports(pricePerTokenBasis), tokenAmount);
413
+ return toSol(microLamportsPerToken);
414
+ }
415
+ exports.totalBidSol = totalBidSol;
416
+ //# sourceMappingURL=auction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auction.js","sourceRoot":"","sources":["../../src/auction.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ import { BondingCurveBucketV1, SwapDirection } from './generated';
2
+ /**
3
+ * Calculate the output amount for a given input amount on a bonding curve.
4
+ * This function determines how much of the output asset you'll receive for a given input amount.
5
+ * This function does not take into account fees.
6
+ *
7
+ * @param bucket - The bonding curve bucket containing reserves and parameters
8
+ * @param amountIn - The input amount to swap
9
+ * @param direction - The swap direction (Buy = SOL in, tokens out; Sell = tokens in, SOL out)
10
+ * @returns The output amount you'll receive from the swap
11
+ * @throws Error if the bonding curve type is unsupported or calculation errors occur
12
+ */
13
+ export declare function getSwapAmountOutForIn(bucket: BondingCurveBucketV1, amountIn: bigint, direction: SwapDirection): bigint;
14
+ /**
15
+ * Calculate the input amount needed to receive a desired output amount on a bonding curve.
16
+ * This function determines how much of the input asset you need to provide to get a specific output amount.
17
+ * This function does not take into account fees.
18
+ *
19
+ * @param bucket - The bonding curve bucket containing reserves and parameters
20
+ * @param amountOut - The desired output amount to receive
21
+ * @param direction - The swap direction (Buy = SOL in, tokens out; Sell = tokens in, SOL out)
22
+ * @returns The input amount required to achieve the desired output
23
+ * @throws Error if the bonding curve type is unsupported or calculation errors occur
24
+ */
25
+ export declare function getSwapAmountInForOut(bucket: BondingCurveBucketV1, amountOut: bigint, direction: SwapDirection): bigint;
26
+ /**
27
+ * Calculates the complete swap result including fees for a bonding curve swap.
28
+ *
29
+ * @param bucket - The bonding curve bucket
30
+ * @param amountIn - The input amount (before fees)
31
+ * @param swapDirection - The swap direction (Buy = SOL in, tokens out; Sell = tokens in, SOL out)
32
+ * @returns An object containing the actual input amount, fee, and output amount
33
+ * @throws Error if the bucket has insufficient reserves or calculation errors occur
34
+ */
35
+ export declare function getSwapResult(bucket: BondingCurveBucketV1, amountIn: bigint, swapDirection: SwapDirection): {
36
+ amountIn: bigint;
37
+ fee: bigint;
38
+ amountOut: bigint;
39
+ };
40
+ /**
41
+ * Get the current price of the bonding curve.
42
+ *
43
+ * @param bucket - The bonding curve bucket
44
+ * @returns The current price
45
+ */
46
+ export declare function getCurrentPrice(bucket: BondingCurveBucketV1): bigint;