levr-sdk 0.4.0 → 0.5.0-alpha.10

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 (752) hide show
  1. package/dist/esm/packages/clanker-sdk/src/abi/uniswap/UniswapV3Factory.js +136 -0
  2. package/dist/esm/packages/clanker-sdk/src/abi/uniswap/UniswapV3Factory.js.map +1 -0
  3. package/dist/esm/packages/clanker-sdk/src/abi/uniswap/UniswapV3NonfungiblePositionManager.js +603 -0
  4. package/dist/esm/packages/clanker-sdk/src/abi/uniswap/UniswapV3NonfungiblePositionManager.js.map +1 -0
  5. package/dist/esm/packages/clanker-sdk/src/abi/v0/Clanker.js +312 -0
  6. package/dist/esm/packages/clanker-sdk/src/abi/v0/Clanker.js.map +1 -0
  7. package/dist/esm/packages/clanker-sdk/src/abi/v1/Clanker.js +323 -0
  8. package/dist/esm/packages/clanker-sdk/src/abi/v1/Clanker.js.map +1 -0
  9. package/dist/esm/packages/clanker-sdk/src/abi/v2/Clanker.js +315 -0
  10. package/dist/esm/packages/clanker-sdk/src/abi/v2/Clanker.js.map +1 -0
  11. package/dist/esm/packages/clanker-sdk/src/abi/v2/LpLockerv2.js +321 -0
  12. package/dist/esm/packages/clanker-sdk/src/abi/v2/LpLockerv2.js.map +1 -0
  13. package/dist/esm/packages/clanker-sdk/src/abi/v3/Clanker.js +323 -0
  14. package/dist/esm/packages/clanker-sdk/src/abi/v3/Clanker.js.map +1 -0
  15. package/dist/esm/packages/clanker-sdk/src/abi/v3/ClankerToken.js +548 -0
  16. package/dist/esm/packages/clanker-sdk/src/abi/v3/ClankerToken.js.map +1 -0
  17. package/dist/esm/packages/clanker-sdk/src/abi/v3.1/Clanker.js +689 -0
  18. package/dist/esm/packages/clanker-sdk/src/abi/v3.1/Clanker.js.map +1 -0
  19. package/dist/esm/packages/clanker-sdk/src/abi/v3.1/ClankerToken.js +1794 -0
  20. package/dist/esm/packages/clanker-sdk/src/abi/v3.1/ClankerToken.js.map +1 -0
  21. package/dist/esm/packages/clanker-sdk/src/abi/v3.1/ClankerVault.js +234 -0
  22. package/dist/esm/packages/clanker-sdk/src/abi/v3.1/ClankerVault.js.map +1 -0
  23. package/dist/esm/packages/clanker-sdk/src/abi/v3.1/LpLockerv2.js +571 -0
  24. package/dist/esm/packages/clanker-sdk/src/abi/v3.1/LpLockerv2.js.map +1 -0
  25. package/dist/esm/packages/clanker-sdk/src/abi/v4/Clanker.js +437 -0
  26. package/dist/esm/packages/clanker-sdk/src/abi/v4/Clanker.js.map +1 -0
  27. package/dist/esm/packages/clanker-sdk/src/abi/v4/ClankerAirdrop.js +198 -0
  28. package/dist/esm/packages/clanker-sdk/src/abi/v4/ClankerAirdrop.js.map +1 -0
  29. package/dist/esm/packages/clanker-sdk/src/abi/v4/ClankerAirdropV2.js +290 -0
  30. package/dist/esm/packages/clanker-sdk/src/abi/v4/ClankerAirdropV2.js.map +1 -0
  31. package/dist/esm/packages/clanker-sdk/src/abi/v4/ClankerFeeLocker.js +160 -0
  32. package/dist/esm/packages/clanker-sdk/src/abi/v4/ClankerFeeLocker.js.map +1 -0
  33. package/dist/esm/packages/clanker-sdk/src/abi/v4/ClankerHook.js +1476 -0
  34. package/dist/esm/packages/clanker-sdk/src/abi/v4/ClankerHook.js.map +1 -0
  35. package/dist/esm/packages/clanker-sdk/src/abi/v4/ClankerHookDynamicFee.js +758 -0
  36. package/dist/esm/packages/clanker-sdk/src/abi/v4/ClankerHookDynamicFee.js.map +1 -0
  37. package/dist/esm/packages/clanker-sdk/src/abi/v4/ClankerHookStaticFee.js +636 -0
  38. package/dist/esm/packages/clanker-sdk/src/abi/v4/ClankerHookStaticFee.js.map +1 -0
  39. package/dist/esm/packages/clanker-sdk/src/abi/v4/ClankerLocker.js +459 -0
  40. package/dist/esm/packages/clanker-sdk/src/abi/v4/ClankerLocker.js.map +1 -0
  41. package/dist/esm/packages/clanker-sdk/src/abi/v4/ClankerMevBlockDelay.js +84 -0
  42. package/dist/esm/packages/clanker-sdk/src/abi/v4/ClankerMevBlockDelay.js.map +1 -0
  43. package/dist/esm/packages/clanker-sdk/src/abi/v4/ClankerSniperAuction.js +342 -0
  44. package/dist/esm/packages/clanker-sdk/src/abi/v4/ClankerSniperAuction.js.map +1 -0
  45. package/dist/esm/packages/clanker-sdk/src/abi/v4/ClankerSniperUtil.js +80 -0
  46. package/dist/esm/packages/clanker-sdk/src/abi/v4/ClankerSniperUtil.js.map +1 -0
  47. package/dist/esm/packages/clanker-sdk/src/abi/v4/ClankerToken.js +554 -0
  48. package/dist/esm/packages/clanker-sdk/src/abi/v4/ClankerToken.js.map +1 -0
  49. package/dist/esm/packages/clanker-sdk/src/abi/v4/ClankerUniV4EthDevBuy.js +170 -0
  50. package/dist/esm/packages/clanker-sdk/src/abi/v4/ClankerUniV4EthDevBuy.js.map +1 -0
  51. package/dist/esm/packages/clanker-sdk/src/abi/v4/ClankerUniv3EthDevBuy.js +172 -0
  52. package/dist/esm/packages/clanker-sdk/src/abi/v4/ClankerUniv3EthDevBuy.js.map +1 -0
  53. package/dist/esm/packages/clanker-sdk/src/abi/v4/ClankerVault.js +221 -0
  54. package/dist/esm/packages/clanker-sdk/src/abi/v4/ClankerVault.js.map +1 -0
  55. package/dist/esm/packages/clanker-sdk/src/abi/v4.1/ClankerHookDynamicFee.js +829 -0
  56. package/dist/esm/packages/clanker-sdk/src/abi/v4.1/ClankerHookDynamicFee.js.map +1 -0
  57. package/dist/esm/packages/clanker-sdk/src/abi/v4.1/ClankerHookStaticFee.js +717 -0
  58. package/dist/esm/packages/clanker-sdk/src/abi/v4.1/ClankerHookStaticFee.js.map +1 -0
  59. package/dist/esm/packages/clanker-sdk/src/abi/v4.1/ClankerMevSniperAuction.js +415 -0
  60. package/dist/esm/packages/clanker-sdk/src/abi/v4.1/ClankerMevSniperAuction.js.map +1 -0
  61. package/dist/esm/packages/clanker-sdk/src/abi/v4.1/ClankerPool.js +11 -0
  62. package/dist/esm/packages/clanker-sdk/src/abi/v4.1/ClankerPool.js.map +1 -0
  63. package/dist/esm/packages/clanker-sdk/src/config/clankerTokenV3.js +272 -0
  64. package/dist/esm/packages/clanker-sdk/src/config/clankerTokenV3.js.map +1 -0
  65. package/dist/esm/packages/clanker-sdk/src/config/clankerTokenV4.js +508 -0
  66. package/dist/esm/packages/clanker-sdk/src/config/clankerTokenV4.js.map +1 -0
  67. package/dist/esm/packages/clanker-sdk/src/config/clankerTokens.js +2 -0
  68. package/dist/esm/packages/clanker-sdk/src/config/clankerTokens.js.map +1 -0
  69. package/dist/esm/packages/clanker-sdk/src/constants.js +95 -0
  70. package/dist/esm/packages/clanker-sdk/src/constants.js.map +1 -0
  71. package/dist/esm/packages/clanker-sdk/src/deployment/deploy.js +53 -0
  72. package/dist/esm/packages/clanker-sdk/src/deployment/deploy.js.map +1 -0
  73. package/dist/esm/packages/clanker-sdk/src/extensions/DevBuyExtension.js +89 -0
  74. package/dist/esm/packages/clanker-sdk/src/extensions/DevBuyExtension.js.map +1 -0
  75. package/dist/esm/packages/clanker-sdk/src/extensions/IClankerExtension.js +2 -0
  76. package/dist/esm/packages/clanker-sdk/src/extensions/IClankerExtension.js.map +1 -0
  77. package/dist/esm/packages/clanker-sdk/src/extensions/VaultExtension.js +26 -0
  78. package/dist/esm/packages/clanker-sdk/src/extensions/VaultExtension.js.map +1 -0
  79. package/dist/esm/packages/clanker-sdk/src/extensions/index.js +4 -0
  80. package/dist/esm/packages/clanker-sdk/src/extensions/index.js.map +1 -0
  81. package/dist/esm/packages/clanker-sdk/src/index.js +6 -0
  82. package/dist/esm/packages/clanker-sdk/src/index.js.map +1 -0
  83. package/dist/esm/packages/clanker-sdk/src/services/vanityAddress.js +40 -0
  84. package/dist/esm/packages/clanker-sdk/src/services/vanityAddress.js.map +1 -0
  85. package/dist/esm/packages/clanker-sdk/src/utils/clanker-contracts.js +2 -0
  86. package/dist/esm/packages/clanker-sdk/src/utils/clanker-contracts.js.map +1 -0
  87. package/dist/esm/packages/clanker-sdk/src/utils/clankers.js +212 -0
  88. package/dist/esm/packages/clanker-sdk/src/utils/clankers.js.map +1 -0
  89. package/dist/esm/packages/clanker-sdk/src/utils/errors.js +80 -0
  90. package/dist/esm/packages/clanker-sdk/src/utils/errors.js.map +1 -0
  91. package/dist/esm/packages/clanker-sdk/src/utils/market-cap.js +19 -0
  92. package/dist/esm/packages/clanker-sdk/src/utils/market-cap.js.map +1 -0
  93. package/dist/esm/packages/clanker-sdk/src/utils/merkleTree.js +37 -0
  94. package/dist/esm/packages/clanker-sdk/src/utils/merkleTree.js.map +1 -0
  95. package/dist/esm/packages/clanker-sdk/src/utils/meta.js +9 -0
  96. package/dist/esm/packages/clanker-sdk/src/utils/meta.js.map +1 -0
  97. package/dist/esm/packages/clanker-sdk/src/utils/write-clanker-contracts.js +70 -0
  98. package/dist/esm/packages/clanker-sdk/src/utils/write-clanker-contracts.js.map +1 -0
  99. package/dist/esm/packages/clanker-sdk/src/utils/zod-onchain.js +39 -0
  100. package/dist/esm/packages/clanker-sdk/src/utils/zod-onchain.js.map +1 -0
  101. package/dist/esm/packages/clanker-sdk/src/v3/index.js +151 -0
  102. package/dist/esm/packages/clanker-sdk/src/v3/index.js.map +1 -0
  103. package/dist/esm/packages/clanker-sdk/src/v4/extensions/airdrop.js +144 -0
  104. package/dist/esm/packages/clanker-sdk/src/v4/extensions/airdrop.js.map +1 -0
  105. package/dist/esm/packages/clanker-sdk/src/v4/extensions/index.js +2 -0
  106. package/dist/esm/packages/clanker-sdk/src/v4/extensions/index.js.map +1 -0
  107. package/dist/esm/packages/clanker-sdk/src/v4/index.js +383 -0
  108. package/dist/esm/packages/clanker-sdk/src/v4/index.js.map +1 -0
  109. package/dist/esm/{abis → src/abis}/ClankerAirdropV2.js +1 -0
  110. package/dist/esm/src/abis/ClankerAirdropV2.js.map +1 -0
  111. package/dist/esm/{abis → src/abis}/ClankerVault.js +1 -0
  112. package/dist/esm/src/abis/ClankerVault.js.map +1 -0
  113. package/dist/esm/{abis → src/abis}/IClankerAirdrop.js +1 -0
  114. package/dist/esm/src/abis/IClankerAirdrop.js.map +1 -0
  115. package/dist/esm/{abis → src/abis}/IClankerFeeLocker.js +1 -0
  116. package/dist/esm/src/abis/IClankerFeeLocker.js.map +1 -0
  117. package/dist/esm/{abis → src/abis}/IClankerHookDynamicFee.js +1 -0
  118. package/dist/esm/src/abis/IClankerHookDynamicFee.js.map +1 -0
  119. package/dist/esm/{abis → src/abis}/IClankerHookStaticFee.js +1 -0
  120. package/dist/esm/src/abis/IClankerHookStaticFee.js.map +1 -0
  121. package/dist/esm/{abis → src/abis}/IClankerLPLocker.js +1 -0
  122. package/dist/esm/src/abis/IClankerLPLocker.js.map +1 -0
  123. package/dist/esm/{abis → src/abis}/IClankerLpLockerFeeConversion.js +1 -0
  124. package/dist/esm/src/abis/IClankerLpLockerFeeConversion.js.map +1 -0
  125. package/dist/esm/{abis → src/abis}/IClankerLpLockerMultiple.js +1 -0
  126. package/dist/esm/src/abis/IClankerLpLockerMultiple.js.map +1 -0
  127. package/dist/esm/{abis → src/abis}/IClankerToken.js +1 -0
  128. package/dist/esm/src/abis/IClankerToken.js.map +1 -0
  129. package/dist/esm/{abis → src/abis}/LevrDeployer_v1.js +1 -0
  130. package/dist/esm/src/abis/LevrDeployer_v1.js.map +1 -0
  131. package/dist/esm/{abis → src/abis}/LevrFactory_v1.js +1 -0
  132. package/dist/esm/src/abis/LevrFactory_v1.js.map +1 -0
  133. package/dist/esm/{abis → src/abis}/LevrFeeSplitterFactory_v1.js +1 -0
  134. package/dist/esm/src/abis/LevrFeeSplitterFactory_v1.js.map +1 -0
  135. package/dist/esm/{abis → src/abis}/LevrFeeSplitter_v1.js +1 -0
  136. package/dist/esm/src/abis/LevrFeeSplitter_v1.js.map +1 -0
  137. package/dist/esm/{abis → src/abis}/LevrForwarder_v1.js +1 -0
  138. package/dist/esm/src/abis/LevrForwarder_v1.js.map +1 -0
  139. package/dist/esm/{abis → src/abis}/LevrGovernor_v1.js +1 -0
  140. package/dist/esm/src/abis/LevrGovernor_v1.js.map +1 -0
  141. package/dist/esm/{abis → src/abis}/LevrStakedToken_v1.js +1 -0
  142. package/dist/esm/src/abis/LevrStakedToken_v1.js.map +1 -0
  143. package/dist/esm/{abis → src/abis}/LevrStaking_v1.js +1 -0
  144. package/dist/esm/src/abis/LevrStaking_v1.js.map +1 -0
  145. package/dist/esm/{abis → src/abis}/LevrTreasury_v1.js +1 -0
  146. package/dist/esm/src/abis/LevrTreasury_v1.js.map +1 -0
  147. package/dist/esm/{abis → src/abis}/Permit2.js +1 -0
  148. package/dist/esm/src/abis/Permit2.js.map +1 -0
  149. package/dist/esm/{abis → src/abis}/StateView.js +1 -0
  150. package/dist/esm/src/abis/StateView.js.map +1 -0
  151. package/dist/esm/src/abis/V3Pool.js +36 -0
  152. package/dist/esm/src/abis/V3Pool.js.map +1 -0
  153. package/dist/esm/{abis → src/abis}/V3QuoterV2.js +1 -0
  154. package/dist/esm/src/abis/V3QuoterV2.js.map +1 -0
  155. package/dist/esm/{abis → src/abis}/V4Quoter.js +1 -0
  156. package/dist/esm/src/abis/V4Quoter.js.map +1 -0
  157. package/dist/esm/{abis → src/abis}/WETH9.js +1 -0
  158. package/dist/esm/src/abis/WETH9.js.map +1 -0
  159. package/dist/esm/{abis → src/abis}/index.js +3 -1
  160. package/dist/esm/src/abis/index.js.map +1 -0
  161. package/dist/esm/src/airdrop.js.map +1 -0
  162. package/dist/esm/{balance.js → src/balance.js} +3 -3
  163. package/dist/esm/src/balance.js.map +1 -0
  164. package/dist/esm/{build-calldatas-v4.js → src/build-calldatas-v4.js} +2 -9
  165. package/dist/esm/src/build-calldatas-v4.js.map +1 -0
  166. package/dist/esm/{build-clanker-v4.js → src/build-clanker-v4.js} +115 -12
  167. package/dist/esm/src/build-clanker-v4.js.map +1 -0
  168. package/dist/esm/{client → src/client}/hook/index.js +7 -5
  169. package/dist/esm/src/client/hook/index.js.map +1 -0
  170. package/dist/esm/src/client/hook/use-airdrop.js.map +1 -0
  171. package/dist/esm/{client → src/client}/hook/use-clanker.js +1 -1
  172. package/dist/esm/src/client/hook/use-clanker.js.map +1 -0
  173. package/dist/esm/src/client/hook/use-configure-splits.js.map +1 -0
  174. package/dist/esm/src/client/hook/use-deploy.js.map +1 -0
  175. package/dist/esm/{client → src/client}/hook/use-factory.js +5 -11
  176. package/dist/esm/src/client/hook/use-factory.js.map +1 -0
  177. package/dist/esm/src/client/hook/use-fee-receivers.js.map +1 -0
  178. package/dist/esm/src/client/hook/use-governance.js.map +1 -0
  179. package/dist/esm/src/client/hook/use-metrics.js +63 -0
  180. package/dist/esm/src/client/hook/use-metrics.js.map +1 -0
  181. package/dist/esm/src/client/hook/use-prepare.js.map +1 -0
  182. package/dist/esm/src/client/hook/use-project.js +133 -0
  183. package/dist/esm/src/client/hook/use-project.js.map +1 -0
  184. package/dist/esm/{client → src/client}/hook/use-proposal.js +6 -5
  185. package/dist/esm/src/client/hook/use-proposal.js.map +1 -0
  186. package/dist/esm/src/client/hook/use-register.js.map +1 -0
  187. package/dist/esm/{client → src/client}/hook/use-stake.js +4 -10
  188. package/dist/esm/src/client/hook/use-stake.js.map +1 -0
  189. package/dist/esm/src/client/hook/use-subscription.js +98 -0
  190. package/dist/esm/src/client/hook/use-subscription.js.map +1 -0
  191. package/dist/esm/{client → src/client}/hook/use-swap.js +5 -4
  192. package/dist/esm/src/client/hook/use-swap.js.map +1 -0
  193. package/dist/esm/src/client/hook/use-token-admin.js +91 -0
  194. package/dist/esm/src/client/hook/use-token-admin.js.map +1 -0
  195. package/dist/esm/src/client/hook/use-user.js.map +1 -0
  196. package/dist/esm/src/client/hook/use-vault.js.map +1 -0
  197. package/dist/esm/src/client/index.js.map +1 -0
  198. package/dist/esm/{client → src/client}/levr-provider.js +4 -24
  199. package/dist/esm/src/client/levr-provider.js.map +1 -0
  200. package/dist/esm/{client → src/client}/query-keys.js +15 -5
  201. package/dist/esm/src/client/query-keys.js.map +1 -0
  202. package/dist/esm/src/constants/chain.js +260 -0
  203. package/dist/esm/src/constants/chain.js.map +1 -0
  204. package/dist/esm/{constants → src/constants}/clanker.js +15 -10
  205. package/dist/esm/src/constants/clanker.js.map +1 -0
  206. package/dist/esm/src/constants/config.js.map +1 -0
  207. package/dist/esm/src/constants/index.js +24 -0
  208. package/dist/esm/src/constants/index.js.map +1 -0
  209. package/dist/esm/{constants → src/constants}/levr.js +8 -1
  210. package/dist/esm/src/constants/levr.js.map +1 -0
  211. package/dist/esm/{constants → src/constants}/uniswap.js +38 -1
  212. package/dist/esm/src/constants/uniswap.js.map +1 -0
  213. package/dist/esm/{deploy-v4.js → src/deploy-v4.js} +22 -1
  214. package/dist/esm/src/deploy-v4.js.map +1 -0
  215. package/dist/esm/src/factory.js +40 -0
  216. package/dist/esm/src/factory.js.map +1 -0
  217. package/dist/esm/{fee-receivers.js → src/fee-receivers.js} +5 -5
  218. package/dist/esm/src/fee-receivers.js.map +1 -0
  219. package/dist/esm/src/fee-splitter.js.map +1 -0
  220. package/dist/esm/src/governance.js.map +1 -0
  221. package/dist/esm/src/graphql/client.js +62 -0
  222. package/dist/esm/src/graphql/client.js.map +1 -0
  223. package/dist/esm/src/graphql/constants.js +3 -0
  224. package/dist/esm/src/graphql/constants.js.map +1 -0
  225. package/dist/esm/src/graphql/fields/factory.js +24 -0
  226. package/dist/esm/src/graphql/fields/factory.js.map +1 -0
  227. package/dist/esm/src/graphql/fields/index.js +5 -0
  228. package/dist/esm/src/graphql/fields/index.js.map +1 -0
  229. package/dist/esm/src/graphql/fields/metrics.js +28 -0
  230. package/dist/esm/src/graphql/fields/metrics.js.map +1 -0
  231. package/dist/esm/src/graphql/fields/project.js +117 -0
  232. package/dist/esm/src/graphql/fields/project.js.map +1 -0
  233. package/dist/esm/src/graphql/fields/proposal.js +97 -0
  234. package/dist/esm/src/graphql/fields/proposal.js.map +1 -0
  235. package/dist/esm/src/graphql/gen/index.js +25 -0
  236. package/dist/esm/src/graphql/gen/index.js.map +1 -0
  237. package/dist/esm/src/graphql/gen/runtime/batcher.js +207 -0
  238. package/dist/esm/src/graphql/gen/runtime/batcher.js.map +1 -0
  239. package/dist/esm/src/graphql/gen/runtime/createClient.js +25 -0
  240. package/dist/esm/src/graphql/gen/runtime/createClient.js.map +1 -0
  241. package/dist/esm/src/graphql/gen/runtime/error.js +18 -0
  242. package/dist/esm/src/graphql/gen/runtime/error.js.map +1 -0
  243. package/dist/esm/src/graphql/gen/runtime/fetcher.js +68 -0
  244. package/dist/esm/src/graphql/gen/runtime/fetcher.js.map +1 -0
  245. package/dist/esm/src/graphql/gen/runtime/generateGraphqlOperation.js +126 -0
  246. package/dist/esm/src/graphql/gen/runtime/generateGraphqlOperation.js.map +1 -0
  247. package/dist/esm/src/graphql/gen/runtime/index.js +10 -0
  248. package/dist/esm/src/graphql/gen/runtime/index.js.map +1 -0
  249. package/dist/esm/src/graphql/gen/runtime/linkTypeMap.js +92 -0
  250. package/dist/esm/src/graphql/gen/runtime/linkTypeMap.js.map +1 -0
  251. package/dist/esm/src/graphql/gen/runtime/typeSelection.js +4 -0
  252. package/dist/esm/src/graphql/gen/runtime/typeSelection.js.map +1 -0
  253. package/dist/esm/src/graphql/gen/runtime/types.js +3 -0
  254. package/dist/esm/src/graphql/gen/runtime/types.js.map +1 -0
  255. package/dist/esm/src/graphql/gen/schema.js +527 -0
  256. package/dist/esm/src/graphql/gen/schema.js.map +1 -0
  257. package/dist/esm/src/graphql/gen/types.js +4298 -0
  258. package/dist/esm/src/graphql/gen/types.js.map +1 -0
  259. package/dist/esm/src/graphql/index.js +18 -0
  260. package/dist/esm/src/graphql/index.js.map +1 -0
  261. package/dist/esm/src/graphql/subscription-manager.js +101 -0
  262. package/dist/esm/src/graphql/subscription-manager.js.map +1 -0
  263. package/dist/esm/{index.js → src/index.js} +3 -1
  264. package/dist/esm/src/index.js.map +1 -0
  265. package/dist/esm/src/ipfs-merkle-tree.js.map +1 -0
  266. package/dist/esm/src/pool-key.js.map +1 -0
  267. package/dist/esm/{project.js → src/project.js} +303 -336
  268. package/dist/esm/src/project.js.map +1 -0
  269. package/dist/esm/src/proposal.js +181 -0
  270. package/dist/esm/src/proposal.js.map +1 -0
  271. package/dist/esm/src/quote/index.js.map +1 -0
  272. package/dist/esm/src/quote/v3.js.map +1 -0
  273. package/dist/esm/src/quote/v4.js.map +1 -0
  274. package/dist/esm/src/schema/base.schema.js.map +1 -0
  275. package/dist/esm/{schema → src/schema}/clanker.schema.js +26 -2
  276. package/dist/esm/src/schema/clanker.schema.js.map +1 -0
  277. package/dist/esm/src/schema/index.js.map +1 -0
  278. package/dist/esm/{schema → src/schema}/levr.schema.js +19 -2
  279. package/dist/esm/src/schema/levr.schema.js.map +1 -0
  280. package/dist/esm/{stake.js → src/stake.js} +19 -21
  281. package/dist/esm/src/stake.js.map +1 -0
  282. package/dist/esm/{swap-v4.js → src/swap-v4.js} +2 -13
  283. package/dist/esm/src/swap-v4.js.map +1 -0
  284. package/dist/esm/src/token-admin.js +87 -0
  285. package/dist/esm/src/token-admin.js.map +1 -0
  286. package/dist/esm/{types.js.map → src/types.js.map} +1 -1
  287. package/dist/esm/src/usd-price.js +274 -0
  288. package/dist/esm/src/usd-price.js.map +1 -0
  289. package/dist/esm/{user.js → src/user.js} +26 -21
  290. package/dist/esm/src/user.js.map +1 -0
  291. package/dist/esm/{util.js → src/util.js} +43 -25
  292. package/dist/esm/src/util.js.map +1 -0
  293. package/dist/esm/src/vault.js.map +1 -0
  294. package/dist/types/packages/clanker-sdk/src/abi/uniswap/UniswapV3Factory.d.ts +185 -0
  295. package/dist/types/packages/clanker-sdk/src/abi/uniswap/UniswapV3Factory.d.ts.map +1 -0
  296. package/dist/types/packages/clanker-sdk/src/abi/uniswap/UniswapV3NonfungiblePositionManager.d.ts +949 -0
  297. package/dist/types/packages/clanker-sdk/src/abi/uniswap/UniswapV3NonfungiblePositionManager.d.ts.map +1 -0
  298. package/dist/types/packages/clanker-sdk/src/abi/v0/Clanker.d.ts +402 -0
  299. package/dist/types/packages/clanker-sdk/src/abi/v0/Clanker.d.ts.map +1 -0
  300. package/dist/types/packages/clanker-sdk/src/abi/v1/Clanker.d.ts +491 -0
  301. package/dist/types/packages/clanker-sdk/src/abi/v1/Clanker.d.ts.map +1 -0
  302. package/dist/types/packages/clanker-sdk/src/abi/v2/Clanker.d.ts +463 -0
  303. package/dist/types/packages/clanker-sdk/src/abi/v2/Clanker.d.ts.map +1 -0
  304. package/dist/types/packages/clanker-sdk/src/abi/v2/LpLockerv2.d.ts +428 -0
  305. package/dist/types/packages/clanker-sdk/src/abi/v2/LpLockerv2.d.ts.map +1 -0
  306. package/dist/types/packages/clanker-sdk/src/abi/v3/Clanker.d.ts +499 -0
  307. package/dist/types/packages/clanker-sdk/src/abi/v3/Clanker.d.ts.map +1 -0
  308. package/dist/types/packages/clanker-sdk/src/abi/v3/ClankerToken.d.ts +846 -0
  309. package/dist/types/packages/clanker-sdk/src/abi/v3/ClankerToken.d.ts.map +1 -0
  310. package/dist/types/packages/clanker-sdk/src/abi/v3.1/Clanker.d.ts +846 -0
  311. package/dist/types/packages/clanker-sdk/src/abi/v3.1/Clanker.d.ts.map +1 -0
  312. package/dist/types/packages/clanker-sdk/src/abi/v3.1/ClankerToken.d.ts +2654 -0
  313. package/dist/types/packages/clanker-sdk/src/abi/v3.1/ClankerToken.d.ts.map +1 -0
  314. package/dist/types/packages/clanker-sdk/src/abi/v3.1/ClankerVault.d.ts +289 -0
  315. package/dist/types/packages/clanker-sdk/src/abi/v3.1/ClankerVault.d.ts.map +1 -0
  316. package/dist/types/packages/clanker-sdk/src/abi/v3.1/LpLockerv2.d.ts +670 -0
  317. package/dist/types/packages/clanker-sdk/src/abi/v3.1/LpLockerv2.d.ts.map +1 -0
  318. package/dist/types/packages/clanker-sdk/src/abi/v4/Clanker.d.ts +819 -0
  319. package/dist/types/packages/clanker-sdk/src/abi/v4/Clanker.d.ts.map +1 -0
  320. package/dist/types/packages/clanker-sdk/src/abi/v4/ClankerAirdrop.d.ts +413 -0
  321. package/dist/types/packages/clanker-sdk/src/abi/v4/ClankerAirdrop.d.ts.map +1 -0
  322. package/dist/types/packages/clanker-sdk/src/abi/v4/ClankerAirdropV2.d.ts +573 -0
  323. package/dist/types/packages/clanker-sdk/src/abi/v4/ClankerAirdropV2.d.ts.map +1 -0
  324. package/dist/types/packages/clanker-sdk/src/abi/v4/ClankerFeeLocker.d.ts +290 -0
  325. package/dist/types/packages/clanker-sdk/src/abi/v4/ClankerFeeLocker.d.ts.map +1 -0
  326. package/dist/types/packages/clanker-sdk/src/abi/v4/ClankerHook.d.ts +1143 -0
  327. package/dist/types/packages/clanker-sdk/src/abi/v4/ClankerHook.d.ts.map +1 -0
  328. package/dist/types/packages/clanker-sdk/src/abi/v4/ClankerHookDynamicFee.d.ts +1430 -0
  329. package/dist/types/packages/clanker-sdk/src/abi/v4/ClankerHookDynamicFee.d.ts.map +1 -0
  330. package/dist/types/packages/clanker-sdk/src/abi/v4/ClankerHookStaticFee.d.ts +1219 -0
  331. package/dist/types/packages/clanker-sdk/src/abi/v4/ClankerHookStaticFee.d.ts.map +1 -0
  332. package/dist/types/packages/clanker-sdk/src/abi/v4/ClankerLocker.d.ts +845 -0
  333. package/dist/types/packages/clanker-sdk/src/abi/v4/ClankerLocker.d.ts.map +1 -0
  334. package/dist/types/packages/clanker-sdk/src/abi/v4/ClankerMevBlockDelay.d.ts +151 -0
  335. package/dist/types/packages/clanker-sdk/src/abi/v4/ClankerMevBlockDelay.d.ts.map +1 -0
  336. package/dist/types/packages/clanker-sdk/src/abi/v4/ClankerSniperAuction.d.ts +572 -0
  337. package/dist/types/packages/clanker-sdk/src/abi/v4/ClankerSniperAuction.d.ts.map +1 -0
  338. package/dist/types/packages/clanker-sdk/src/abi/v4/ClankerSniperUtil.d.ts +167 -0
  339. package/dist/types/packages/clanker-sdk/src/abi/v4/ClankerSniperUtil.d.ts.map +1 -0
  340. package/dist/types/packages/clanker-sdk/src/abi/v4/ClankerToken.d.ts +981 -0
  341. package/dist/types/packages/clanker-sdk/src/abi/v4/ClankerToken.d.ts.map +1 -0
  342. package/dist/types/packages/clanker-sdk/src/abi/v4/ClankerUniV4EthDevBuy.d.ts +325 -0
  343. package/dist/types/packages/clanker-sdk/src/abi/v4/ClankerUniV4EthDevBuy.d.ts.map +1 -0
  344. package/dist/types/packages/clanker-sdk/src/abi/v4/ClankerUniv3EthDevBuy.d.ts +326 -0
  345. package/dist/types/packages/clanker-sdk/src/abi/v4/ClankerUniv3EthDevBuy.d.ts.map +1 -0
  346. package/dist/types/packages/clanker-sdk/src/abi/v4/ClankerVault.d.ts +414 -0
  347. package/dist/types/packages/clanker-sdk/src/abi/v4/ClankerVault.d.ts.map +1 -0
  348. package/dist/types/packages/clanker-sdk/src/abi/v4.1/ClankerHookDynamicFee.d.ts +92 -0
  349. package/dist/types/packages/clanker-sdk/src/abi/v4.1/ClankerHookDynamicFee.d.ts.map +1 -0
  350. package/dist/types/packages/clanker-sdk/src/abi/v4.1/ClankerHookStaticFee.d.ts +88 -0
  351. package/dist/types/packages/clanker-sdk/src/abi/v4.1/ClankerHookStaticFee.d.ts.map +1 -0
  352. package/dist/types/packages/clanker-sdk/src/abi/v4.1/ClankerMevSniperAuction.d.ts +69 -0
  353. package/dist/types/packages/clanker-sdk/src/abi/v4.1/ClankerMevSniperAuction.d.ts.map +1 -0
  354. package/dist/types/packages/clanker-sdk/src/abi/v4.1/ClankerPool.d.ts +9 -0
  355. package/dist/types/packages/clanker-sdk/src/abi/v4.1/ClankerPool.d.ts.map +1 -0
  356. package/dist/types/packages/clanker-sdk/src/config/clankerTokenV3.d.ts +64 -0
  357. package/dist/types/packages/clanker-sdk/src/config/clankerTokenV3.d.ts.map +1 -0
  358. package/dist/types/packages/clanker-sdk/src/config/clankerTokenV4.d.ts +136 -0
  359. package/dist/types/packages/clanker-sdk/src/config/clankerTokenV4.d.ts.map +1 -0
  360. package/dist/types/packages/clanker-sdk/src/config/clankerTokens.d.ts +12 -0
  361. package/dist/types/packages/clanker-sdk/src/config/clankerTokens.d.ts.map +1 -0
  362. package/dist/types/packages/clanker-sdk/src/constants.d.ts +29 -0
  363. package/dist/types/packages/clanker-sdk/src/constants.d.ts.map +1 -0
  364. package/dist/types/packages/clanker-sdk/src/deployment/deploy.d.ts +21 -0
  365. package/dist/types/packages/clanker-sdk/src/deployment/deploy.d.ts.map +1 -0
  366. package/dist/types/packages/clanker-sdk/src/extensions/DevBuyExtension.d.ts +52 -0
  367. package/dist/types/packages/clanker-sdk/src/extensions/DevBuyExtension.d.ts.map +1 -0
  368. package/dist/types/packages/clanker-sdk/src/extensions/IClankerExtension.d.ts +36 -0
  369. package/dist/types/packages/clanker-sdk/src/extensions/IClankerExtension.d.ts.map +1 -0
  370. package/dist/types/packages/clanker-sdk/src/extensions/VaultExtension.d.ts +17 -0
  371. package/dist/types/packages/clanker-sdk/src/extensions/VaultExtension.d.ts.map +1 -0
  372. package/dist/types/packages/clanker-sdk/src/extensions/index.d.ts +4 -0
  373. package/dist/types/packages/clanker-sdk/src/extensions/index.d.ts.map +1 -0
  374. package/dist/types/packages/clanker-sdk/src/index.d.ts +8 -0
  375. package/dist/types/packages/clanker-sdk/src/index.d.ts.map +1 -0
  376. package/dist/types/packages/clanker-sdk/src/services/vanityAddress.d.ts +15 -0
  377. package/dist/types/packages/clanker-sdk/src/services/vanityAddress.d.ts.map +1 -0
  378. package/dist/types/packages/clanker-sdk/src/utils/clanker-contracts.d.ts +16 -0
  379. package/dist/types/packages/clanker-sdk/src/utils/clanker-contracts.d.ts.map +1 -0
  380. package/dist/types/packages/clanker-sdk/src/utils/clankers.d.ts +9506 -0
  381. package/dist/types/packages/clanker-sdk/src/utils/clankers.d.ts.map +1 -0
  382. package/dist/types/packages/clanker-sdk/src/utils/errors.d.ts +16 -0
  383. package/dist/types/packages/clanker-sdk/src/utils/errors.d.ts.map +1 -0
  384. package/dist/types/packages/clanker-sdk/src/utils/market-cap.d.ts +12 -0
  385. package/dist/types/packages/clanker-sdk/src/utils/market-cap.d.ts.map +1 -0
  386. package/dist/types/packages/clanker-sdk/src/utils/merkleTree.d.ts +19 -0
  387. package/dist/types/packages/clanker-sdk/src/utils/merkleTree.d.ts.map +1 -0
  388. package/dist/types/packages/clanker-sdk/src/utils/meta.d.ts +7 -0
  389. package/dist/types/packages/clanker-sdk/src/utils/meta.d.ts.map +1 -0
  390. package/dist/types/packages/clanker-sdk/src/utils/write-clanker-contracts.d.ts +57 -0
  391. package/dist/types/packages/clanker-sdk/src/utils/write-clanker-contracts.d.ts.map +1 -0
  392. package/dist/types/packages/clanker-sdk/src/utils/zod-onchain.d.ts +29 -0
  393. package/dist/types/packages/clanker-sdk/src/utils/zod-onchain.d.ts.map +1 -0
  394. package/dist/types/packages/clanker-sdk/src/v3/index.d.ts +3167 -0
  395. package/dist/types/packages/clanker-sdk/src/v3/index.d.ts.map +1 -0
  396. package/dist/types/packages/clanker-sdk/src/v4/extensions/airdrop.d.ts +108 -0
  397. package/dist/types/packages/clanker-sdk/src/v4/extensions/airdrop.d.ts.map +1 -0
  398. package/dist/types/packages/clanker-sdk/src/v4/extensions/index.d.ts +2 -0
  399. package/dist/types/packages/clanker-sdk/src/v4/extensions/index.d.ts.map +1 -0
  400. package/dist/types/packages/clanker-sdk/src/v4/index.d.ts +3781 -0
  401. package/dist/types/packages/clanker-sdk/src/v4/index.d.ts.map +1 -0
  402. package/dist/types/{abis → src/abis}/ClankerAirdropV2.d.ts +1 -0
  403. package/dist/types/src/abis/ClankerAirdropV2.d.ts.map +1 -0
  404. package/dist/types/{abis → src/abis}/ClankerVault.d.ts +1 -0
  405. package/dist/types/src/abis/ClankerVault.d.ts.map +1 -0
  406. package/dist/types/{abis → src/abis}/IClankerAirdrop.d.ts +1 -0
  407. package/dist/types/src/abis/IClankerAirdrop.d.ts.map +1 -0
  408. package/dist/types/{abis → src/abis}/IClankerFeeLocker.d.ts +1 -0
  409. package/dist/types/src/abis/IClankerFeeLocker.d.ts.map +1 -0
  410. package/dist/types/{abis → src/abis}/IClankerHookDynamicFee.d.ts +1 -0
  411. package/dist/types/src/abis/IClankerHookDynamicFee.d.ts.map +1 -0
  412. package/dist/types/{abis → src/abis}/IClankerHookStaticFee.d.ts +1 -0
  413. package/dist/types/src/abis/IClankerHookStaticFee.d.ts.map +1 -0
  414. package/dist/types/{abis → src/abis}/IClankerLPLocker.d.ts +1 -0
  415. package/dist/types/src/abis/IClankerLPLocker.d.ts.map +1 -0
  416. package/dist/types/{abis → src/abis}/IClankerLpLockerFeeConversion.d.ts +1 -0
  417. package/dist/types/src/abis/IClankerLpLockerFeeConversion.d.ts.map +1 -0
  418. package/dist/types/{abis → src/abis}/IClankerLpLockerMultiple.d.ts +1 -0
  419. package/dist/types/src/abis/IClankerLpLockerMultiple.d.ts.map +1 -0
  420. package/dist/types/{abis → src/abis}/IClankerToken.d.ts +1 -0
  421. package/dist/types/src/abis/IClankerToken.d.ts.map +1 -0
  422. package/dist/types/{abis → src/abis}/LevrDeployer_v1.d.ts +1 -0
  423. package/dist/types/src/abis/LevrDeployer_v1.d.ts.map +1 -0
  424. package/dist/types/{abis → src/abis}/LevrFactory_v1.d.ts +1 -0
  425. package/dist/types/src/abis/LevrFactory_v1.d.ts.map +1 -0
  426. package/dist/types/{abis → src/abis}/LevrFeeSplitterFactory_v1.d.ts +1 -0
  427. package/dist/types/src/abis/LevrFeeSplitterFactory_v1.d.ts.map +1 -0
  428. package/dist/types/{abis → src/abis}/LevrFeeSplitter_v1.d.ts +1 -0
  429. package/dist/types/src/abis/LevrFeeSplitter_v1.d.ts.map +1 -0
  430. package/dist/types/{abis → src/abis}/LevrForwarder_v1.d.ts +1 -0
  431. package/dist/types/src/abis/LevrForwarder_v1.d.ts.map +1 -0
  432. package/dist/types/{abis → src/abis}/LevrGovernor_v1.d.ts +1 -0
  433. package/dist/types/src/abis/LevrGovernor_v1.d.ts.map +1 -0
  434. package/dist/types/{abis → src/abis}/LevrStakedToken_v1.d.ts +1 -0
  435. package/dist/types/src/abis/LevrStakedToken_v1.d.ts.map +1 -0
  436. package/dist/types/{abis → src/abis}/LevrStaking_v1.d.ts +1 -0
  437. package/dist/types/src/abis/LevrStaking_v1.d.ts.map +1 -0
  438. package/dist/types/{abis → src/abis}/LevrTreasury_v1.d.ts +1 -0
  439. package/dist/types/src/abis/LevrTreasury_v1.d.ts.map +1 -0
  440. package/dist/types/{abis → src/abis}/Permit2.d.ts +1 -0
  441. package/dist/types/src/abis/Permit2.d.ts.map +1 -0
  442. package/dist/types/{abis → src/abis}/StateView.d.ts +1 -0
  443. package/dist/types/src/abis/StateView.d.ts.map +1 -0
  444. package/dist/types/src/abis/V3Pool.d.ts +50 -0
  445. package/dist/types/src/abis/V3Pool.d.ts.map +1 -0
  446. package/dist/types/{abis → src/abis}/V3QuoterV2.d.ts +1 -0
  447. package/dist/types/src/abis/V3QuoterV2.d.ts.map +1 -0
  448. package/dist/types/{abis → src/abis}/V4Quoter.d.ts +1 -0
  449. package/dist/types/src/abis/V4Quoter.d.ts.map +1 -0
  450. package/dist/types/{abis → src/abis}/WETH9.d.ts +1 -0
  451. package/dist/types/src/abis/WETH9.d.ts.map +1 -0
  452. package/dist/types/{abis → src/abis}/index.d.ts +3 -1
  453. package/dist/types/src/abis/index.d.ts.map +1 -0
  454. package/dist/types/src/airdrop.d.ts.map +1 -0
  455. package/dist/types/src/balance.d.ts.map +1 -0
  456. package/dist/types/{build-calldatas-v4.d.ts → src/build-calldatas-v4.d.ts} +0 -1
  457. package/dist/types/src/build-calldatas-v4.d.ts.map +1 -0
  458. package/dist/types/src/build-clanker-v4.d.ts.map +1 -0
  459. package/dist/types/{client → src/client}/hook/index.d.ts +7 -5
  460. package/dist/types/src/client/hook/index.d.ts.map +1 -0
  461. package/dist/types/src/client/hook/use-airdrop.d.ts.map +1 -0
  462. package/dist/types/src/client/hook/use-clanker.d.ts.map +1 -0
  463. package/dist/types/src/client/hook/use-configure-splits.d.ts.map +1 -0
  464. package/dist/types/{client → src/client}/hook/use-deploy.d.ts +3 -1
  465. package/dist/types/src/client/hook/use-deploy.d.ts.map +1 -0
  466. package/dist/types/{client → src/client}/hook/use-factory.d.ts +2 -2
  467. package/dist/types/src/client/hook/use-factory.d.ts.map +1 -0
  468. package/dist/types/src/client/hook/use-fee-receivers.d.ts.map +1 -0
  469. package/dist/types/src/client/hook/use-governance.d.ts.map +1 -0
  470. package/dist/types/src/client/hook/use-metrics.d.ts +16 -0
  471. package/dist/types/src/client/hook/use-metrics.d.ts.map +1 -0
  472. package/dist/types/src/client/hook/use-prepare.d.ts.map +1 -0
  473. package/dist/types/{client → src/client}/hook/use-project.d.ts +22 -6
  474. package/dist/types/src/client/hook/use-project.d.ts.map +1 -0
  475. package/dist/types/{client → src/client}/hook/use-proposal.d.ts +2 -2
  476. package/dist/types/src/client/hook/use-proposal.d.ts.map +1 -0
  477. package/dist/types/src/client/hook/use-register.d.ts.map +1 -0
  478. package/dist/types/src/client/hook/use-stake.d.ts.map +1 -0
  479. package/dist/types/src/client/hook/use-subscription.d.ts +33 -0
  480. package/dist/types/src/client/hook/use-subscription.d.ts.map +1 -0
  481. package/dist/types/src/client/hook/use-swap.d.ts.map +1 -0
  482. package/dist/types/src/client/hook/use-token-admin.d.ts +27 -0
  483. package/dist/types/src/client/hook/use-token-admin.d.ts.map +1 -0
  484. package/dist/types/src/client/hook/use-user.d.ts.map +1 -0
  485. package/dist/types/src/client/hook/use-vault.d.ts.map +1 -0
  486. package/dist/types/src/client/index.d.ts.map +1 -0
  487. package/dist/types/{client → src/client}/levr-provider.d.ts +1 -15
  488. package/dist/types/src/client/levr-provider.d.ts.map +1 -0
  489. package/dist/types/{client → src/client}/query-keys.d.ts +8 -5
  490. package/dist/types/src/client/query-keys.d.ts.map +1 -0
  491. package/dist/types/src/constants/chain.d.ts +121 -0
  492. package/dist/types/src/constants/chain.d.ts.map +1 -0
  493. package/dist/types/{constants → src/constants}/clanker.d.ts +1 -1
  494. package/dist/types/src/constants/clanker.d.ts.map +1 -0
  495. package/dist/types/src/constants/config.d.ts.map +1 -0
  496. package/dist/types/{constants → src/constants}/index.d.ts +1 -17
  497. package/dist/types/src/constants/index.d.ts.map +1 -0
  498. package/dist/types/{constants → src/constants}/levr.d.ts +5 -0
  499. package/dist/types/src/constants/levr.d.ts.map +1 -0
  500. package/dist/types/{constants → src/constants}/uniswap.d.ts +13 -0
  501. package/dist/types/src/constants/uniswap.d.ts.map +1 -0
  502. package/dist/types/src/deploy-v4.d.ts.map +1 -0
  503. package/dist/types/src/factory.d.ts +21 -0
  504. package/dist/types/src/factory.d.ts.map +1 -0
  505. package/dist/types/{fee-receivers.d.ts → src/fee-receivers.d.ts} +3 -3
  506. package/dist/types/src/fee-receivers.d.ts.map +1 -0
  507. package/dist/types/src/fee-splitter.d.ts.map +1 -0
  508. package/dist/types/src/governance.d.ts.map +1 -0
  509. package/dist/types/src/graphql/client.d.ts +12 -0
  510. package/dist/types/src/graphql/client.d.ts.map +1 -0
  511. package/dist/types/src/graphql/constants.d.ts +2 -0
  512. package/dist/types/src/graphql/constants.d.ts.map +1 -0
  513. package/dist/types/src/graphql/fields/factory.d.ts +22 -0
  514. package/dist/types/src/graphql/fields/factory.d.ts.map +1 -0
  515. package/dist/types/src/graphql/fields/index.d.ts +5 -0
  516. package/dist/types/src/graphql/fields/index.d.ts.map +1 -0
  517. package/dist/types/src/graphql/fields/metrics.d.ts +36 -0
  518. package/dist/types/src/graphql/fields/metrics.d.ts.map +1 -0
  519. package/dist/types/src/graphql/fields/project.d.ts +249 -0
  520. package/dist/types/src/graphql/fields/project.d.ts.map +1 -0
  521. package/dist/types/src/graphql/fields/proposal.d.ts +195 -0
  522. package/dist/types/src/graphql/fields/proposal.d.ts.map +1 -0
  523. package/dist/types/src/graphql/gen/index.d.ts +23 -0
  524. package/dist/types/src/graphql/gen/index.d.ts.map +1 -0
  525. package/dist/types/src/graphql/gen/runtime/batcher.d.ts +106 -0
  526. package/dist/types/src/graphql/gen/runtime/batcher.d.ts.map +1 -0
  527. package/dist/types/src/graphql/gen/runtime/createClient.d.ts +18 -0
  528. package/dist/types/src/graphql/gen/runtime/createClient.d.ts.map +1 -0
  529. package/dist/types/src/graphql/gen/runtime/error.d.ts +19 -0
  530. package/dist/types/src/graphql/gen/runtime/error.d.ts.map +1 -0
  531. package/dist/types/src/graphql/gen/runtime/fetcher.d.ts +11 -0
  532. package/dist/types/src/graphql/gen/runtime/fetcher.d.ts.map +1 -0
  533. package/dist/types/src/graphql/gen/runtime/generateGraphqlOperation.d.ts +31 -0
  534. package/dist/types/src/graphql/gen/runtime/generateGraphqlOperation.d.ts.map +1 -0
  535. package/dist/types/src/graphql/gen/runtime/index.d.ts +12 -0
  536. package/dist/types/src/graphql/gen/runtime/index.d.ts.map +1 -0
  537. package/dist/types/src/graphql/gen/runtime/linkTypeMap.d.ts +10 -0
  538. package/dist/types/src/graphql/gen/runtime/linkTypeMap.d.ts.map +1 -0
  539. package/dist/types/src/graphql/gen/runtime/typeSelection.d.ts +29 -0
  540. package/dist/types/src/graphql/gen/runtime/typeSelection.d.ts.map +1 -0
  541. package/dist/types/src/graphql/gen/runtime/types.d.ts +53 -0
  542. package/dist/types/src/graphql/gen/runtime/types.d.ts.map +1 -0
  543. package/dist/types/src/graphql/gen/schema.d.ts +6056 -0
  544. package/dist/types/src/graphql/gen/schema.d.ts.map +1 -0
  545. package/dist/types/src/graphql/gen/types.d.ts +3867 -0
  546. package/dist/types/src/graphql/gen/types.d.ts.map +1 -0
  547. package/dist/types/src/graphql/index.d.ts +19 -0
  548. package/dist/types/src/graphql/index.d.ts.map +1 -0
  549. package/dist/types/src/graphql/subscription-manager.d.ts +64 -0
  550. package/dist/types/src/graphql/subscription-manager.d.ts.map +1 -0
  551. package/dist/types/{index.d.ts → src/index.d.ts} +3 -1
  552. package/dist/types/src/index.d.ts.map +1 -0
  553. package/dist/types/src/ipfs-merkle-tree.d.ts.map +1 -0
  554. package/dist/types/src/pool-key.d.ts.map +1 -0
  555. package/dist/types/{project.d.ts → src/project.d.ts} +26 -18
  556. package/dist/types/src/project.d.ts.map +1 -0
  557. package/dist/types/src/proposal.d.ts +34 -0
  558. package/dist/types/src/proposal.d.ts.map +1 -0
  559. package/dist/types/src/quote/index.d.ts.map +1 -0
  560. package/dist/types/src/quote/v3.d.ts.map +1 -0
  561. package/dist/types/src/quote/v4.d.ts.map +1 -0
  562. package/dist/types/src/schema/base.schema.d.ts.map +1 -0
  563. package/dist/types/{schema → src/schema}/clanker.schema.d.ts +16 -4
  564. package/dist/types/src/schema/clanker.schema.d.ts.map +1 -0
  565. package/dist/types/src/schema/index.d.ts.map +1 -0
  566. package/dist/types/{schema → src/schema}/levr.schema.d.ts +3 -1
  567. package/dist/types/src/schema/levr.schema.d.ts.map +1 -0
  568. package/dist/types/{stake.d.ts → src/stake.d.ts} +8 -1
  569. package/dist/types/src/stake.d.ts.map +1 -0
  570. package/dist/types/src/swap-v4.d.ts.map +1 -0
  571. package/dist/types/src/token-admin.d.ts +40 -0
  572. package/dist/types/src/token-admin.d.ts.map +1 -0
  573. package/dist/types/{types.d.ts → src/types.d.ts} +1 -1
  574. package/dist/types/src/types.d.ts.map +1 -0
  575. package/dist/types/src/usd-price.d.ts +189 -0
  576. package/dist/types/src/usd-price.d.ts.map +1 -0
  577. package/dist/types/{user.d.ts → src/user.d.ts} +5 -5
  578. package/dist/types/src/user.d.ts.map +1 -0
  579. package/dist/types/{util.d.ts → src/util.d.ts} +7 -0
  580. package/dist/types/src/util.d.ts.map +1 -0
  581. package/dist/types/src/vault.d.ts.map +1 -0
  582. package/package.json +20 -8
  583. package/dist/esm/airdrop.js.map +0 -1
  584. package/dist/esm/balance.js.map +0 -1
  585. package/dist/esm/build-calldatas-v4.js.map +0 -1
  586. package/dist/esm/build-clanker-v4.js.map +0 -1
  587. package/dist/esm/client/hook/index.js.map +0 -1
  588. package/dist/esm/client/hook/use-airdrop.js.map +0 -1
  589. package/dist/esm/client/hook/use-clanker.js.map +0 -1
  590. package/dist/esm/client/hook/use-configure-splits.js.map +0 -1
  591. package/dist/esm/client/hook/use-deploy.js.map +0 -1
  592. package/dist/esm/client/hook/use-factory.js.map +0 -1
  593. package/dist/esm/client/hook/use-fee-receivers.js.map +0 -1
  594. package/dist/esm/client/hook/use-governance.js.map +0 -1
  595. package/dist/esm/client/hook/use-pool.js +0 -26
  596. package/dist/esm/client/hook/use-pool.js.map +0 -1
  597. package/dist/esm/client/hook/use-prepare.js.map +0 -1
  598. package/dist/esm/client/hook/use-project.js +0 -72
  599. package/dist/esm/client/hook/use-project.js.map +0 -1
  600. package/dist/esm/client/hook/use-proposal.js.map +0 -1
  601. package/dist/esm/client/hook/use-register.js.map +0 -1
  602. package/dist/esm/client/hook/use-stake.js.map +0 -1
  603. package/dist/esm/client/hook/use-swap.js.map +0 -1
  604. package/dist/esm/client/hook/use-user.js.map +0 -1
  605. package/dist/esm/client/hook/use-vault.js.map +0 -1
  606. package/dist/esm/client/index.js.map +0 -1
  607. package/dist/esm/client/levr-provider.js.map +0 -1
  608. package/dist/esm/client/query-keys.js.map +0 -1
  609. package/dist/esm/constants/clanker.js.map +0 -1
  610. package/dist/esm/constants/config.js.map +0 -1
  611. package/dist/esm/constants/index.js +0 -52
  612. package/dist/esm/constants/index.js.map +0 -1
  613. package/dist/esm/constants/levr.js.map +0 -1
  614. package/dist/esm/constants/uniswap.js.map +0 -1
  615. package/dist/esm/deploy-v4.js.map +0 -1
  616. package/dist/esm/factory.js +0 -171
  617. package/dist/esm/factory.js.map +0 -1
  618. package/dist/esm/fee-receivers.js.map +0 -1
  619. package/dist/esm/fee-splitter.js.map +0 -1
  620. package/dist/esm/governance.js.map +0 -1
  621. package/dist/esm/index.js.map +0 -1
  622. package/dist/esm/ipfs-merkle-tree.js.map +0 -1
  623. package/dist/esm/pool-key.js.map +0 -1
  624. package/dist/esm/pool.js +0 -70
  625. package/dist/esm/pool.js.map +0 -1
  626. package/dist/esm/project.js.map +0 -1
  627. package/dist/esm/proposal.js +0 -157
  628. package/dist/esm/proposal.js.map +0 -1
  629. package/dist/esm/quote/index.js.map +0 -1
  630. package/dist/esm/quote/v3.js.map +0 -1
  631. package/dist/esm/quote/v4.js.map +0 -1
  632. package/dist/esm/schema/base.schema.js.map +0 -1
  633. package/dist/esm/schema/clanker.schema.js.map +0 -1
  634. package/dist/esm/schema/index.js.map +0 -1
  635. package/dist/esm/schema/levr.schema.js.map +0 -1
  636. package/dist/esm/stake.js.map +0 -1
  637. package/dist/esm/swap-v4.js.map +0 -1
  638. package/dist/esm/usd-price.js +0 -166
  639. package/dist/esm/usd-price.js.map +0 -1
  640. package/dist/esm/user.js.map +0 -1
  641. package/dist/esm/util.js.map +0 -1
  642. package/dist/esm/vault.js.map +0 -1
  643. package/dist/types/airdrop.d.ts.map +0 -1
  644. package/dist/types/balance.d.ts.map +0 -1
  645. package/dist/types/build-calldatas-v4.d.ts.map +0 -1
  646. package/dist/types/build-clanker-v4.d.ts.map +0 -1
  647. package/dist/types/client/hook/index.d.ts.map +0 -1
  648. package/dist/types/client/hook/use-airdrop.d.ts.map +0 -1
  649. package/dist/types/client/hook/use-clanker.d.ts.map +0 -1
  650. package/dist/types/client/hook/use-configure-splits.d.ts.map +0 -1
  651. package/dist/types/client/hook/use-deploy.d.ts.map +0 -1
  652. package/dist/types/client/hook/use-factory.d.ts.map +0 -1
  653. package/dist/types/client/hook/use-fee-receivers.d.ts.map +0 -1
  654. package/dist/types/client/hook/use-governance.d.ts.map +0 -1
  655. package/dist/types/client/hook/use-pool.d.ts +0 -12
  656. package/dist/types/client/hook/use-pool.d.ts.map +0 -1
  657. package/dist/types/client/hook/use-prepare.d.ts.map +0 -1
  658. package/dist/types/client/hook/use-project.d.ts.map +0 -1
  659. package/dist/types/client/hook/use-proposal.d.ts.map +0 -1
  660. package/dist/types/client/hook/use-register.d.ts.map +0 -1
  661. package/dist/types/client/hook/use-stake.d.ts.map +0 -1
  662. package/dist/types/client/hook/use-swap.d.ts.map +0 -1
  663. package/dist/types/client/hook/use-user.d.ts.map +0 -1
  664. package/dist/types/client/hook/use-vault.d.ts.map +0 -1
  665. package/dist/types/client/index.d.ts.map +0 -1
  666. package/dist/types/client/levr-provider.d.ts.map +0 -1
  667. package/dist/types/client/query-keys.d.ts.map +0 -1
  668. package/dist/types/constants/clanker.d.ts.map +0 -1
  669. package/dist/types/constants/config.d.ts.map +0 -1
  670. package/dist/types/constants/index.d.ts.map +0 -1
  671. package/dist/types/constants/levr.d.ts.map +0 -1
  672. package/dist/types/constants/uniswap.d.ts.map +0 -1
  673. package/dist/types/deploy-v4.d.ts.map +0 -1
  674. package/dist/types/factory.d.ts +0 -38
  675. package/dist/types/factory.d.ts.map +0 -1
  676. package/dist/types/fee-receivers.d.ts.map +0 -1
  677. package/dist/types/fee-splitter.d.ts.map +0 -1
  678. package/dist/types/governance.d.ts.map +0 -1
  679. package/dist/types/index.d.ts.map +0 -1
  680. package/dist/types/ipfs-merkle-tree.d.ts.map +0 -1
  681. package/dist/types/pool-key.d.ts.map +0 -1
  682. package/dist/types/pool.d.ts +0 -590
  683. package/dist/types/pool.d.ts.map +0 -1
  684. package/dist/types/project.d.ts.map +0 -1
  685. package/dist/types/proposal.d.ts +0 -1493
  686. package/dist/types/proposal.d.ts.map +0 -1
  687. package/dist/types/quote/index.d.ts.map +0 -1
  688. package/dist/types/quote/v3.d.ts.map +0 -1
  689. package/dist/types/quote/v4.d.ts.map +0 -1
  690. package/dist/types/schema/base.schema.d.ts.map +0 -1
  691. package/dist/types/schema/clanker.schema.d.ts.map +0 -1
  692. package/dist/types/schema/index.d.ts.map +0 -1
  693. package/dist/types/schema/levr.schema.d.ts.map +0 -1
  694. package/dist/types/stake.d.ts.map +0 -1
  695. package/dist/types/swap-v4.d.ts.map +0 -1
  696. package/dist/types/types.d.ts.map +0 -1
  697. package/dist/types/usd-price.d.ts +0 -146
  698. package/dist/types/usd-price.d.ts.map +0 -1
  699. package/dist/types/user.d.ts.map +0 -1
  700. package/dist/types/util.d.ts.map +0 -1
  701. package/dist/types/vault.d.ts.map +0 -1
  702. /package/dist/esm/{airdrop.js → src/airdrop.js} +0 -0
  703. /package/dist/esm/{client → src/client}/hook/use-airdrop.js +0 -0
  704. /package/dist/esm/{client → src/client}/hook/use-configure-splits.js +0 -0
  705. /package/dist/esm/{client → src/client}/hook/use-deploy.js +0 -0
  706. /package/dist/esm/{client → src/client}/hook/use-fee-receivers.js +0 -0
  707. /package/dist/esm/{client → src/client}/hook/use-governance.js +0 -0
  708. /package/dist/esm/{client → src/client}/hook/use-prepare.js +0 -0
  709. /package/dist/esm/{client → src/client}/hook/use-register.js +0 -0
  710. /package/dist/esm/{client → src/client}/hook/use-user.js +0 -0
  711. /package/dist/esm/{client → src/client}/hook/use-vault.js +0 -0
  712. /package/dist/esm/{client → src/client}/index.js +0 -0
  713. /package/dist/esm/{constants → src/constants}/config.js +0 -0
  714. /package/dist/esm/{fee-splitter.js → src/fee-splitter.js} +0 -0
  715. /package/dist/esm/{governance.js → src/governance.js} +0 -0
  716. /package/dist/esm/{ipfs-merkle-tree.js → src/ipfs-merkle-tree.js} +0 -0
  717. /package/dist/esm/{pool-key.js → src/pool-key.js} +0 -0
  718. /package/dist/esm/{quote → src/quote}/index.js +0 -0
  719. /package/dist/esm/{quote → src/quote}/v3.js +0 -0
  720. /package/dist/esm/{quote → src/quote}/v4.js +0 -0
  721. /package/dist/esm/{schema → src/schema}/base.schema.js +0 -0
  722. /package/dist/esm/{schema → src/schema}/index.js +0 -0
  723. /package/dist/esm/{types.js → src/types.js} +0 -0
  724. /package/dist/esm/{vault.js → src/vault.js} +0 -0
  725. /package/dist/types/{airdrop.d.ts → src/airdrop.d.ts} +0 -0
  726. /package/dist/types/{balance.d.ts → src/balance.d.ts} +0 -0
  727. /package/dist/types/{build-clanker-v4.d.ts → src/build-clanker-v4.d.ts} +0 -0
  728. /package/dist/types/{client → src/client}/hook/use-airdrop.d.ts +0 -0
  729. /package/dist/types/{client → src/client}/hook/use-clanker.d.ts +0 -0
  730. /package/dist/types/{client → src/client}/hook/use-configure-splits.d.ts +0 -0
  731. /package/dist/types/{client → src/client}/hook/use-fee-receivers.d.ts +0 -0
  732. /package/dist/types/{client → src/client}/hook/use-governance.d.ts +0 -0
  733. /package/dist/types/{client → src/client}/hook/use-prepare.d.ts +0 -0
  734. /package/dist/types/{client → src/client}/hook/use-register.d.ts +0 -0
  735. /package/dist/types/{client → src/client}/hook/use-stake.d.ts +0 -0
  736. /package/dist/types/{client → src/client}/hook/use-swap.d.ts +0 -0
  737. /package/dist/types/{client → src/client}/hook/use-user.d.ts +0 -0
  738. /package/dist/types/{client → src/client}/hook/use-vault.d.ts +0 -0
  739. /package/dist/types/{client → src/client}/index.d.ts +0 -0
  740. /package/dist/types/{constants → src/constants}/config.d.ts +0 -0
  741. /package/dist/types/{deploy-v4.d.ts → src/deploy-v4.d.ts} +0 -0
  742. /package/dist/types/{fee-splitter.d.ts → src/fee-splitter.d.ts} +0 -0
  743. /package/dist/types/{governance.d.ts → src/governance.d.ts} +0 -0
  744. /package/dist/types/{ipfs-merkle-tree.d.ts → src/ipfs-merkle-tree.d.ts} +0 -0
  745. /package/dist/types/{pool-key.d.ts → src/pool-key.d.ts} +0 -0
  746. /package/dist/types/{quote → src/quote}/index.d.ts +0 -0
  747. /package/dist/types/{quote → src/quote}/v3.d.ts +0 -0
  748. /package/dist/types/{quote → src/quote}/v4.d.ts +0 -0
  749. /package/dist/types/{schema → src/schema}/base.schema.d.ts +0 -0
  750. /package/dist/types/{schema → src/schema}/index.d.ts +0 -0
  751. /package/dist/types/{swap-v4.d.ts → src/swap-v4.d.ts} +0 -0
  752. /package/dist/types/{vault.d.ts → src/vault.d.ts} +0 -0
@@ -0,0 +1,37 @@
1
+ import { StandardMerkleTree } from '@openzeppelin/merkle-tree';
2
+ import { encodeAbiParameters } from 'viem';
3
+ const TOKEN_DECIMALS = 18n;
4
+ /**
5
+ * Converts a human-readable amount to token decimals (e.g., 1 -> 1e18)
6
+ * @param amount The human-readable amount
7
+ * @returns The amount in token decimals as a bigint
8
+ */
9
+ export function toTokenDecimals(amount) {
10
+ return BigInt(amount) * 10n ** TOKEN_DECIMALS;
11
+ }
12
+ export function createMerkleTree(entries) {
13
+ // Convert entries to the format expected by OpenZeppelin's MerkleTree
14
+ const values = entries.map((entry) => [
15
+ entry.account.toLowerCase(),
16
+ toTokenDecimals(entry.amount).toString(),
17
+ ]);
18
+ // Create the Merkle tree
19
+ const tree = StandardMerkleTree.of(values, ['address', 'uint256']);
20
+ // Get the root and ensure it's a proper bytes32 value
21
+ const root = tree.root;
22
+ return { tree, root, entries: values };
23
+ }
24
+ export function getMerkleProof(tree, entries, account, amount) {
25
+ const amountInDecimals = toTokenDecimals(amount);
26
+ const leaf = [account.toLowerCase(), amountInDecimals.toString()];
27
+ const index = entries.findIndex(([addr, amt]) => addr === leaf[0] && amt === leaf[1]);
28
+ if (index === -1) {
29
+ throw new Error('Entry not found in Merkle tree');
30
+ }
31
+ const proof = tree.getProof(index);
32
+ return proof.map((p) => p);
33
+ }
34
+ export function encodeAirdropData(merkleRoot, lockupDuration, vestingDuration) {
35
+ return encodeAbiParameters([{ type: 'bytes32' }, { type: 'uint256' }, { type: 'uint256' }], [merkleRoot, BigInt(lockupDuration), BigInt(vestingDuration)]);
36
+ }
37
+ //# sourceMappingURL=merkleTree.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merkleTree.js","sourceRoot":"","sources":["../../../../../../packages/clanker-sdk/src/utils/merkleTree.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,MAAM,CAAC;AAO3C,MAAM,cAAc,GAAG,GAAG,CAAC;AAE3B;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,MAAc;IAC5C,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,GAAG,IAAI,cAAc,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,OAAuB;IAKtD,sEAAsE;IACtE,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;QACpC,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE;QAC3B,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE;KACzC,CAAuB,CAAC;IAEzB,yBAAyB;IACzB,MAAM,IAAI,GAAG,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;IAEnE,sDAAsD;IACtD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAqB,CAAC;IAExC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,IAA0C,EAC1C,OAA2B,EAC3B,OAAsB,EACtB,MAAc;IAEd,MAAM,gBAAgB,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IACjD,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,gBAAgB,CAAC,QAAQ,EAAE,CAAqB,CAAC;IACtF,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAEtF,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACnC,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAkB,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,UAAyB,EACzB,cAAsB,EACtB,eAAuB;IAEvB,OAAO,mBAAmB,CACxB,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAC/D,CAAC,UAAU,EAAE,MAAM,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC,CAC9D,CAAC;AACJ,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Use in switch statements or other scenarios to add type-safety to the overall pattern. This can be used
3
+ * to ensure that every possibility is enumerated in the switch statement and cause the code to refuse
4
+ * compilation unless all possibilities are covered.
5
+ */
6
+ export function exhaustiveGuard(_value) {
7
+ throw new Error(`ERROR! Reached forbidden guard function with unexpected value: ${_value}`);
8
+ }
9
+ //# sourceMappingURL=meta.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"meta.js","sourceRoot":"","sources":["../../../../../../packages/clanker-sdk/src/utils/meta.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,MAAa;IAC3C,MAAM,IAAI,KAAK,CAAC,kEAAkE,MAAM,EAAE,CAAC,CAAC;AAC9F,CAAC"}
@@ -0,0 +1,70 @@
1
+ import { estimateContractGas, simulateContract, writeContract } from "viem/actions";
2
+ import { understandError } from "./errors.js";
3
+ /**
4
+ * Estimate gas for a clanker contract call and attempt to parse any errors
5
+ *
6
+ * @param client Public client to run the simulation via
7
+ * @param account Account (caller) to run the simulation from
8
+ * @param tx Transaction to run
9
+ * @returns Gas amount or errors from the estimation
10
+ */
11
+ export const estimateGasClankerContract = async (client, account, tx) => {
12
+ try {
13
+ const gas = await estimateContractGas(client, {
14
+ ...tx,
15
+ account,
16
+ // biome-ignore lint: It's difficult to type tx correctly
17
+ });
18
+ return { gas };
19
+ }
20
+ catch (e) {
21
+ return { error: understandError(e) };
22
+ }
23
+ };
24
+ /**
25
+ * Simulate a clanker contract and attempt to parse any errors.
26
+ *
27
+ * @param client Public client to run the simulation via
28
+ * @param account Account (caller) to run the simulation from
29
+ * @param tx Transaction to run
30
+ * @returns Result or errors from the simulation
31
+ */
32
+ export const simulateClankerContract = async (client, account, tx) => {
33
+ try {
34
+ const result = await simulateContract(client, {
35
+ ...tx,
36
+ account,
37
+ // biome-ignore lint: It's difficult to type tx correctly
38
+ });
39
+ return result;
40
+ }
41
+ catch (e) {
42
+ return { error: understandError(e) };
43
+ }
44
+ };
45
+ /**
46
+ * Execute a clanker contract and attempt to parse any errors.
47
+ *
48
+ * @param client Public client to run the simulation via
49
+ * @param wallet Wallet to execute the call from
50
+ * @param tx Transaction to submit
51
+ * @param options
52
+ * @returns Transaction hash or any errors
53
+ */
54
+ export const writeClankerContract = async (client, wallet, tx, options) => {
55
+ if (options?.simulate) {
56
+ const { error } = await simulateClankerContract(client, wallet.account, tx);
57
+ if (error) {
58
+ return { error };
59
+ }
60
+ }
61
+ try {
62
+ // biome-ignore lint: It's difficult to type tx correctly
63
+ const txHash = await writeContract(wallet, tx);
64
+ return { txHash };
65
+ }
66
+ catch (e) {
67
+ return { error: understandError(e) };
68
+ }
69
+ };
70
+ //# sourceMappingURL=write-clanker-contracts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"write-clanker-contracts.js","sourceRoot":"","sources":["../../../../../../packages/clanker-sdk/src/utils/write-clanker-contracts.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAEnF,OAAO,EAAqB,eAAe,EAAE,MAAM,UAAU,CAAA;AAgC7D;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,KAAK,EAM7C,MAAoB,EACpB,OAAgB,EAChB,EAAiC,EACD,EAAE;IAClC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,mBAAmB,CAAC,MAAM,EAAE;YAC5C,GAAG,EAAE;YACL,OAAO;YACP,yDAAyD;SACnD,CAAC,CAAA;QACT,OAAO,EAAE,GAAG,EAAE,CAAA;IAChB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAA;IACtC,CAAC;AACH,CAAC,CAAA;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,EAM1C,MAAoB,EACpB,OAAgB,EAChB,EAAiC,EAC6B,EAAE;IAChE,IAAI,CAAC;QACH,MAAM,MAAM,GAAkD,MAAM,gBAAgB,CAAC,MAAM,EAAE;YAC3F,GAAG,EAAE;YACL,OAAO;YACP,yDAAyD;SACnD,CAAC,CAAA;QACT,OAAO,MAAM,CAAA;IACf,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAA;IACtC,CAAC;AACH,CAAC,CAAA;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EAKvC,MAAoB,EACpB,MAAiD,EACjD,EAAiC,EACjC,OAEC,EACyC,EAAE;IAC5C,IAAI,OAAO,EAAE,QAAQ,EAAE,CAAC;QACtB,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,uBAAuB,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;QAC3E,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,EAAE,KAAK,EAAE,CAAA;QAClB,CAAC;IACH,CAAC;IAED,IAAI,CAAC;QACH,yDAAyD;QACzD,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,EAAS,CAAC,CAAA;QACrD,OAAO,EAAE,MAAM,EAAE,CAAA;IACnB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAA;IACtC,CAAC;AACH,CAAC,CAAA"}
@@ -0,0 +1,39 @@
1
+ import { getAddress, isAddress, isHex } from 'viem';
2
+ import * as z from 'zod/v4';
3
+ /** Metadata for a Clanker. */
4
+ export const ClankerMetadataSchema = z.strictObject({
5
+ /** Description of the token or token project. */
6
+ description: z.string().optional(),
7
+ /** Socials for the token. These may be displayed on aggregators. */
8
+ socialMediaUrls: z.array(z.object({ platform: z.string(), url: z.string() })).optional(),
9
+ /** Audits for other contracts or services offered by the project. */
10
+ auditUrls: z.array(z.url()).optional(),
11
+ });
12
+ /** Social provenance for a Clanker. Used for provenance and will be verified by aggregators. */
13
+ export const ClankerContextSchema = z.strictObject({
14
+ /** System the token was deployed via. Defaults to "SDK". */
15
+ interface: z.string().default('SDK'),
16
+ /** Social platform the token was deployed from. Used for provenance and will be verified by aggregators. */
17
+ platform: z.string().optional(),
18
+ /** Id of the message on the social platform the token was deployed from. Used for provenance and will be verified by aggregators. */
19
+ messageId: z.string().optional(),
20
+ /** User id of the poster on the social platform the token was deployed from. Used for provenance and will be verified by aggregators. */
21
+ id: z.string().optional(),
22
+ });
23
+ /** Validate a hex string */
24
+ export const hexSchema = z.custom((val) => {
25
+ if (!(typeof val === 'string'))
26
+ return false;
27
+ if (!isHex(val))
28
+ return false;
29
+ return val;
30
+ }, 'String must be valid hex.');
31
+ /** Validate an EVM address */
32
+ export const addressSchema = z.custom((val) => {
33
+ if (!(typeof val === 'string'))
34
+ return false;
35
+ if (!isAddress(val))
36
+ return false;
37
+ return getAddress(val);
38
+ }, 'String must be a valid address.');
39
+ //# sourceMappingURL=zod-onchain.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zod-onchain.js","sourceRoot":"","sources":["../../../../../../packages/clanker-sdk/src/utils/zod-onchain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AACpD,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAE5B,8BAA8B;AAC9B,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,YAAY,CAAC;IAClD,iDAAiD;IACjD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,oEAAoE;IACpE,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE;IACxF,qEAAqE;IACrE,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE;CACvC,CAAC,CAAC;AAEH,gGAAgG;AAChG,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,YAAY,CAAC;IACjD,4DAA4D;IAC5D,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACpC,4GAA4G;IAC5G,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,qIAAqI;IACrI,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,yIAAyI;IACzI,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC1B,CAAC,CAAC;AAEH,4BAA4B;AAC5B,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAgB,CAAC,GAAG,EAAE,EAAE;IACvD,IAAI,CAAC,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC;QAAE,OAAO,KAAK,CAAC;IAC7C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9B,OAAO,GAAG,CAAC;AACb,CAAC,EAAE,2BAA2B,CAAC,CAAC;AAEhC,8BAA8B;AAC9B,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAgB,CAAC,GAAG,EAAE,EAAE;IAC3D,IAAI,CAAC,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC;QAAE,OAAO,KAAK,CAAC;IAC7C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAClC,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC,EAAE,iCAAiC,CAAC,CAAC"}
@@ -0,0 +1,151 @@
1
+ import { Clanker_v3_1_abi } from "../abi/v3.1/Clanker.js";
2
+ import { LpLockerv2_abi } from "../abi/v3.1/LpLockerv2.js";
3
+ import { clankerTokenV3Converter } from "../config/clankerTokenV3.js";
4
+ import { deployToken, simulateDeployToken } from "../deployment/deploy.js";
5
+ import { CLANKERS } from "../utils/clankers.js";
6
+ import { simulateClankerContract, writeClankerContract, } from "../utils/write-clanker-contracts.js";
7
+ /**
8
+ * Clanker v3
9
+ */
10
+ export class Clanker {
11
+ wallet;
12
+ publicClient;
13
+ constructor(config) {
14
+ this.wallet = config?.wallet;
15
+ this.publicClient = config?.publicClient;
16
+ }
17
+ /**
18
+ * Get an abi-typed transaction for claiming rewards on a token.
19
+ *
20
+ * @param token The token to claim for
21
+ * @returns Abi transaction
22
+ */
23
+ async getClaimRewardsTransaction(token) {
24
+ return {
25
+ address: CLANKERS.clanker_v3_1.address,
26
+ abi: Clanker_v3_1_abi,
27
+ functionName: "claimRewards",
28
+ args: [token],
29
+ };
30
+ }
31
+ /**
32
+ * Simulate claiming rewards. Will use the wallet account on the Clanker class or
33
+ * the passed-in account.
34
+ *
35
+ * @param token The token to simulate reward claiming for
36
+ * @param account Optional account to simulate calling claiming for
37
+ * @returns The simulated output
38
+ */
39
+ async claimRewardsSimulate(token, account) {
40
+ const acc = account || this.wallet?.account;
41
+ if (!acc)
42
+ throw new Error("Account or wallet client required for simulation");
43
+ if (!this.publicClient)
44
+ throw new Error("Public client required");
45
+ const input = await this.getClaimRewardsTransaction(token);
46
+ return simulateClankerContract(this.publicClient, acc, input);
47
+ }
48
+ /**
49
+ * Claim rewards for a clanker token.
50
+ *
51
+ * @param token Token to claim rewards for
52
+ * @returns Transaction hash of the claim or error
53
+ */
54
+ async claimRewards(token) {
55
+ if (!this.wallet)
56
+ throw new Error("Wallet client required");
57
+ if (!this.publicClient)
58
+ throw new Error("Public client required");
59
+ const input = await this.getClaimRewardsTransaction(token);
60
+ return writeClankerContract(this.publicClient, this.wallet, input);
61
+ }
62
+ /**
63
+ * Get an abi-typed transaction for updating the creator reward recipient.
64
+ *
65
+ * @param tokenId The token ID to update the creator reward recipient for
66
+ * @param newRecipient The new recipient address
67
+ * @returns Abi transaction
68
+ */
69
+ async getUpdateCreatorRewardRecipientTransaction(tokenId, newRecipient) {
70
+ return {
71
+ address: CLANKERS.clanker_v3_1.related.locker,
72
+ abi: LpLockerv2_abi,
73
+ functionName: "updateCreatorRewardRecipient",
74
+ args: [tokenId, newRecipient],
75
+ };
76
+ }
77
+ /**
78
+ * Simulate updating the creator reward recipient. Will use the wallet account on the Clanker class or
79
+ * the passed-in account.
80
+ *
81
+ * @param tokenId The token ID to update the creator reward recipient for
82
+ * @param newRecipient The new recipient address
83
+ * @param account Optional account to simulate calling for
84
+ * @returns The simulated output
85
+ */
86
+ async updateCreatorRewardRecipientSimulate(tokenId, newRecipient, account) {
87
+ const acc = account || this.wallet?.account;
88
+ if (!acc)
89
+ throw new Error("Account or wallet client required for simulation");
90
+ if (!this.publicClient)
91
+ throw new Error("Public client required");
92
+ const input = await this.getUpdateCreatorRewardRecipientTransaction(tokenId, newRecipient);
93
+ return simulateClankerContract(this.publicClient, acc, input);
94
+ }
95
+ /**
96
+ * Update the creator reward recipient for a token.
97
+ *
98
+ * @param tokenId The token ID to update the creator reward recipient for
99
+ * @param newRecipient The new recipient address
100
+ * @returns Transaction hash of the update or error
101
+ */
102
+ async updateCreatorRewardRecipient(tokenId, newRecipient) {
103
+ if (!this.wallet)
104
+ throw new Error("Wallet client required");
105
+ if (!this.publicClient)
106
+ throw new Error("Public client required");
107
+ const input = await this.getUpdateCreatorRewardRecipientTransaction(tokenId, newRecipient);
108
+ return writeClankerContract(this.publicClient, this.wallet, input);
109
+ }
110
+ /**
111
+ * Get an abi-typed transaction for deploying a clanker.
112
+ *
113
+ * @param token The token to deploy
114
+ * @param requestorAddress Requestor for the deployment. Various admins will fall back to this.
115
+ * @returns Abi transaction
116
+ */
117
+ async getDeployTransaction(token, requestorAddress) {
118
+ return clankerTokenV3Converter(token, { requestorAddress });
119
+ }
120
+ /**
121
+ * Simulate a token deployment
122
+ *
123
+ * @param token The token to deploy
124
+ * @param requestorAddress Requestor for the deployment. Various admins will fall back to this.
125
+ * @returns Abi transaction
126
+ */
127
+ async deploySimulate(token, account) {
128
+ const acc = account || this.wallet?.account;
129
+ if (!acc)
130
+ throw new Error("Account or wallet client required for simulation");
131
+ if (!this.publicClient)
132
+ throw new Error("Public client required for deployment");
133
+ const input = await this.getDeployTransaction(token, acc.address);
134
+ return simulateDeployToken(input, acc, this.publicClient);
135
+ }
136
+ /**
137
+ * Deploy a token
138
+ *
139
+ * @param token The token to deploy
140
+ * @returns Transaction hash and awaitable function for full deployment
141
+ */
142
+ async deploy(token) {
143
+ if (!this.wallet)
144
+ throw new Error("Wallet client required for deployment");
145
+ if (!this.publicClient)
146
+ throw new Error("Public client required for deployment");
147
+ const input = await this.getDeployTransaction(token, this.wallet.account.address);
148
+ return deployToken(input, this.wallet, this.publicClient);
149
+ }
150
+ }
151
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/clanker-sdk/src/v3/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,144 @@
1
+ import { StandardMerkleTree } from "@openzeppelin/merkle-tree";
2
+ import { isAddressEqual, stringify } from "viem";
3
+ import * as z from "zod/v4";
4
+ import { ClankerAirdrop_v4_abi } from "../../abi/v4/ClankerAirdrop.js";
5
+ import { clankerConfigFor, } from "../../utils/clankers.js";
6
+ import { writeClankerContract } from "../../utils/write-clanker-contracts.js";
7
+ import { addressSchema } from "../../utils/zod-onchain.js";
8
+ const AirdropEntrySchema = z.array(z.object({
9
+ account: addressSchema,
10
+ amount: z.number(),
11
+ }));
12
+ /**
13
+ * Create an airdrop for the recipients.
14
+ *
15
+ * @param recipients Recipients recieving airdrop.
16
+ * @param options.tokenDecimals Custom token decimals.
17
+ * @returns Tree to save offline and Airdrop data for the smart contract.
18
+ */
19
+ export function createAirdrop(recipients, options = { tokenDecimals: 18n }) {
20
+ const parsedEntries = AirdropEntrySchema.parse(recipients);
21
+ const values = parsedEntries.map(({ account, amount }) => [
22
+ account,
23
+ (BigInt(amount) * 10n ** options.tokenDecimals).toString(),
24
+ ]);
25
+ const amount = parsedEntries.reduce((agg, { amount }) => amount + agg, 0);
26
+ const tree = StandardMerkleTree.of(values, ["address", "uint256"]);
27
+ tree.validate();
28
+ return {
29
+ tree,
30
+ airdrop: {
31
+ merkleRoot: tree.root,
32
+ amount,
33
+ },
34
+ };
35
+ }
36
+ /**
37
+ * Register an airdrop merkle tree with the Clanker service.
38
+ *
39
+ * @dev Requires that the associated token is already deployed and indexed. The token
40
+ * must also have the merkle root associated with it.
41
+ *
42
+ * @param token The token associated with the tree.
43
+ * @param tree The tree to register.
44
+ * @returns Success.
45
+ */
46
+ export async function registerAirdrop(token, tree) {
47
+ const { success } = await fetch("https://www.clanker.world/api/airdrops", {
48
+ method: "POST",
49
+ body: stringify({
50
+ tokenAddress: token,
51
+ merkleRoot: tree.root,
52
+ tree: tree.dump(),
53
+ }),
54
+ }).then((r) => r.json());
55
+ return success;
56
+ }
57
+ /**
58
+ * Get all proofs for an account given a merkle tree.
59
+ *
60
+ * @param tree The tree to check.
61
+ * @param account The account to check for.
62
+ * @returns All proofs and their associated entries for claiming.
63
+ */
64
+ export function getAirdropProofs(tree, account) {
65
+ const indices = [];
66
+ for (const [i, entry] of tree.entries()) {
67
+ if (!isAddressEqual(entry[0], account))
68
+ continue;
69
+ indices.push({ i: i, entry });
70
+ }
71
+ if (indices.length === 0)
72
+ return { proofs: [] };
73
+ return {
74
+ proofs: indices.map(({ i, entry }) => ({
75
+ proof: tree.getProof(i),
76
+ entry: {
77
+ account: entry[0],
78
+ amount: BigInt(entry[1]),
79
+ },
80
+ })),
81
+ };
82
+ }
83
+ /**
84
+ * Get all proofs for an account given a token that has a merkle tree associated with it. The token and tree must have been registered with the Clanker service.
85
+ *
86
+ * @param token The token with the airdrop.
87
+ * @param account The account to check for.
88
+ * @returns All proofs and their associated entries for claiming.
89
+ */
90
+ export async function fetchAirdropProofs(token, account) {
91
+ const { proofs } = await fetch(`https://www.clanker.world/api/airdrops/claim?tokenAddress=${token}&claimerAddress=${account}`).then((r) => r.json());
92
+ return {
93
+ proofs: proofs.map(({ proof, entry: { account, amount } }) => ({
94
+ proof,
95
+ entry: {
96
+ account,
97
+ amount: BigInt(amount),
98
+ },
99
+ })),
100
+ };
101
+ }
102
+ /**
103
+ * Create a transaction to claim a specific airdrop for.
104
+ *
105
+ * @param token The token that did the airdrop
106
+ * @param recipient The address recieving the airdrop
107
+ * @param amount The amount registered in the airdrop. Note, this must be the exact registered amount.
108
+ * @param proof Merkle proof for the address and amount (see `getProofs`)
109
+ * @returns Arguments that can be used with a viem transaction.
110
+ */
111
+ export function getClaimAirdropTransaction({ token, recipient, amount, proof, chainId, }) {
112
+ const config = clankerConfigFor(chainId, "clanker_v4");
113
+ if (!config)
114
+ throw new Error(`Clanker is not ready on ${chainId}`);
115
+ return {
116
+ chainId,
117
+ address: config.related.airdrop,
118
+ abi: ClankerAirdrop_v4_abi,
119
+ functionName: "claim",
120
+ args: [token, recipient, amount, proof],
121
+ };
122
+ }
123
+ /**
124
+ * Claim an airdrop
125
+ *
126
+ * @param clanker Clanker object used for claiming
127
+ * @param token The token that did the airdrop
128
+ * @param recipient The address recieving the airdrop
129
+ * @param amount The amount registered in the airdrop. Note, this must be the exact registered amount.
130
+ * @param proof Merkle proof for the address and amount (see `getProofs`)
131
+ * @returns Outcome of the transaction
132
+ */
133
+ export function claimAirdrop(data) {
134
+ if (!data.clanker.publicClient)
135
+ throw new Error("Public client required on clanker");
136
+ if (!data.clanker.wallet)
137
+ throw new Error("Wallet client required on clanker");
138
+ const tx = getClaimAirdropTransaction({
139
+ chainId: data.clanker.wallet.chain.id,
140
+ ...data,
141
+ });
142
+ return writeClankerContract(data.clanker.publicClient, data.clanker.wallet, tx);
143
+ }
144
+ //# sourceMappingURL=airdrop.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"airdrop.js","sourceRoot":"","sources":["../../../../../../../packages/clanker-sdk/src/v4/extensions/airdrop.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from "./airdrop.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/clanker-sdk/src/v4/extensions/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA"}