@oakagentkit/core 0.1.2 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (580) hide show
  1. package/build/dist/api/addresses.d.ts +0 -1219
  2. package/build/dist/api/addresses.js +1 -1
  3. package/build/dist/api/amounts.d.ts +0 -1
  4. package/build/dist/api/amounts.js +1 -1
  5. package/build/dist/api/args.js +1 -1
  6. package/build/dist/api/canonical.d.ts +0 -1
  7. package/build/dist/api/canonical.js +1 -1
  8. package/build/dist/api/chain.d.ts +2 -0
  9. package/build/dist/api/chain.js +1 -1
  10. package/build/dist/api/deployments.d.ts +26 -0
  11. package/build/dist/api/deployments.js +1 -0
  12. package/build/dist/api/errors.js +1 -1
  13. package/build/dist/api/gas.js +1 -1
  14. package/build/dist/api/grandfather.js +1 -1
  15. package/build/dist/api/guards.d.ts +23 -0
  16. package/build/dist/api/guards.js +1 -0
  17. package/build/dist/api/history.js +1 -1
  18. package/build/dist/api/http.js +1 -1
  19. package/build/dist/api/identity-link.js +1 -1
  20. package/build/dist/api/launch.d.ts +1 -0
  21. package/build/dist/api/launch.js +1 -1
  22. package/build/dist/api/merkle.js +1 -1
  23. package/build/dist/api/metadata.js +1 -1
  24. package/build/dist/api/module.js +1 -1
  25. package/build/dist/api/modules/beefy/boosts.d.ts +132 -0
  26. package/build/dist/api/modules/beefy/boosts.js +1 -0
  27. package/build/dist/api/modules/beefy/clm.d.ts +282 -0
  28. package/build/dist/api/modules/beefy/clm.js +1 -0
  29. package/build/dist/api/modules/beefy/guard.d.ts +5 -0
  30. package/build/dist/api/modules/beefy/guard.js +1 -0
  31. package/build/dist/api/modules/beefy/index.js +1 -1
  32. package/build/dist/api/modules/beefy/liquidity.d.ts +237 -0
  33. package/build/dist/api/modules/beefy/liquidity.js +1 -0
  34. package/build/dist/api/modules/beefy/management.d.ts +100 -0
  35. package/build/dist/api/modules/beefy/management.js +1 -0
  36. package/build/dist/api/modules/beefy/vaults.d.ts +14 -0
  37. package/build/dist/api/modules/beefy/vaults.js +1 -0
  38. package/build/dist/api/modules/clanker/extensions.d.ts +62 -0
  39. package/build/dist/api/modules/clanker/extensions.js +1 -0
  40. package/build/dist/api/modules/clanker/index.js +1 -1
  41. package/build/dist/api/modules/clanker/manage.d.ts +2 -0
  42. package/build/dist/api/modules/clanker/manage.js +1 -0
  43. package/build/dist/api/modules/clanker/pool-config.d.ts +96 -0
  44. package/build/dist/api/modules/clanker/pool-config.js +1 -0
  45. package/build/dist/api/modules/clanker/protocol.d.ts +2 -0
  46. package/build/dist/api/modules/clanker/protocol.js +1 -0
  47. package/build/dist/api/modules/clanker/state.d.ts +246 -0
  48. package/build/dist/api/modules/clanker/state.js +1 -0
  49. package/build/dist/api/modules/erc8004/abi.d.ts +808 -0
  50. package/build/dist/api/modules/erc8004/abi.js +1 -0
  51. package/build/dist/api/modules/erc8004/common.d.ts +69 -0
  52. package/build/dist/api/modules/erc8004/common.js +1 -0
  53. package/build/dist/api/modules/erc8004/domain.d.ts +3 -0
  54. package/build/dist/api/modules/erc8004/domain.js +1 -0
  55. package/build/dist/api/modules/erc8004/index.d.ts +3 -171
  56. package/build/dist/api/modules/erc8004/index.js +1 -1
  57. package/build/dist/api/modules/erc8004/management.d.ts +4 -0
  58. package/build/dist/api/modules/erc8004/management.js +1 -0
  59. package/build/dist/api/modules/erc8004/reputation.d.ts +3 -0
  60. package/build/dist/api/modules/erc8004/reputation.js +1 -0
  61. package/build/dist/api/modules/erc8004/services.d.ts +2 -0
  62. package/build/dist/api/modules/erc8004/services.js +1 -0
  63. package/build/dist/api/modules/erc8004/validation.d.ts +2 -0
  64. package/build/dist/api/modules/erc8004/validation.js +1 -0
  65. package/build/dist/api/modules/grove/index.js +1 -1
  66. package/build/dist/api/modules/heyresearch/freshness.d.ts +12 -0
  67. package/build/dist/api/modules/heyresearch/freshness.js +1 -0
  68. package/build/dist/api/modules/heyresearch/index.js +1 -1
  69. package/build/dist/api/modules/heyresearch/public-reads.d.ts +5 -0
  70. package/build/dist/api/modules/heyresearch/public-reads.js +1 -0
  71. package/build/dist/api/modules/hoodag/chain-reads.d.ts +33 -0
  72. package/build/dist/api/modules/hoodag/chain-reads.js +1 -0
  73. package/build/dist/api/modules/hoodag/index.d.ts +9 -1
  74. package/build/dist/api/modules/hoodag/index.js +1 -1
  75. package/build/dist/api/modules/hoodag/management.d.ts +2 -0
  76. package/build/dist/api/modules/hoodag/management.js +1 -0
  77. package/build/dist/api/modules/hoodag/public-reads.d.ts +2 -0
  78. package/build/dist/api/modules/hoodag/public-reads.js +1 -0
  79. package/build/dist/api/modules/hoodag/reconstruct.d.ts +14 -0
  80. package/build/dist/api/modules/hoodag/reconstruct.js +1 -0
  81. package/build/dist/api/modules/hoodlock/airdrop.js +1 -1
  82. package/build/dist/api/modules/hoodlock/buyback.d.ts +28 -0
  83. package/build/dist/api/modules/hoodlock/buyback.js +1 -0
  84. package/build/dist/api/modules/hoodlock/commerce.d.ts +24 -0
  85. package/build/dist/api/modules/hoodlock/commerce.js +1 -0
  86. package/build/dist/api/modules/hoodlock/fee.d.ts +15 -0
  87. package/build/dist/api/modules/hoodlock/fee.js +1 -0
  88. package/build/dist/api/modules/hoodlock/guard.d.ts +5 -0
  89. package/build/dist/api/modules/hoodlock/guard.js +1 -0
  90. package/build/dist/api/modules/hoodlock/index.d.ts +4 -0
  91. package/build/dist/api/modules/hoodlock/index.js +1 -1
  92. package/build/dist/api/modules/hoodlock/lifecycle.d.ts +285 -0
  93. package/build/dist/api/modules/hoodlock/lifecycle.js +1 -0
  94. package/build/dist/api/modules/hoodlock/locks-burn.d.ts +3 -3
  95. package/build/dist/api/modules/hoodlock/locks-burn.js +1 -1
  96. package/build/dist/api/modules/hoodlock/public.d.ts +3 -0
  97. package/build/dist/api/modules/hoodlock/public.js +1 -0
  98. package/build/dist/api/modules/hookr/actions.d.ts +4 -0
  99. package/build/dist/api/modules/hookr/actions.js +1 -0
  100. package/build/dist/api/modules/hookr/addons.d.ts +4 -0
  101. package/build/dist/api/modules/hookr/addons.js +1 -0
  102. package/build/dist/api/modules/hookr/contracts.d.ts +30 -0
  103. package/build/dist/api/modules/hookr/contracts.js +1 -0
  104. package/build/dist/api/modules/hookr/create-cancel.d.ts +10 -73
  105. package/build/dist/api/modules/hookr/create-cancel.js +1 -1
  106. package/build/dist/api/modules/hookr/discovery.d.ts +3 -0
  107. package/build/dist/api/modules/hookr/discovery.js +1 -0
  108. package/build/dist/api/modules/hookr/fill-bounty.js +1 -1
  109. package/build/dist/api/modules/hookr/index.d.ts +0 -3
  110. package/build/dist/api/modules/hookr/index.js +1 -1
  111. package/build/dist/api/modules/hookr/public-reads.d.ts +4 -0
  112. package/build/dist/api/modules/hookr/public-reads.js +1 -0
  113. package/build/dist/api/modules/hookr/relay.d.ts +304 -0
  114. package/build/dist/api/modules/hookr/relay.js +1 -0
  115. package/build/dist/api/modules/hookr/revenue.d.ts +5 -0
  116. package/build/dist/api/modules/hookr/revenue.js +1 -0
  117. package/build/dist/api/modules/kyberswap/index.d.ts +18 -2
  118. package/build/dist/api/modules/kyberswap/index.js +1 -1
  119. package/build/dist/api/modules/kyberswap/source-pools.d.ts +28 -0
  120. package/build/dist/api/modules/kyberswap/source-pools.js +1 -0
  121. package/build/dist/api/modules/lighter/index.js +1 -1
  122. package/build/dist/api/modules/longbow/administration.d.ts +119 -0
  123. package/build/dist/api/modules/longbow/administration.js +1 -0
  124. package/build/dist/api/modules/longbow/analytics.d.ts +272 -0
  125. package/build/dist/api/modules/longbow/analytics.js +1 -0
  126. package/build/dist/api/modules/longbow/fixed.d.ts +126 -0
  127. package/build/dist/api/modules/longbow/fixed.js +1 -0
  128. package/build/dist/api/modules/longbow/index.d.ts +16 -0
  129. package/build/dist/api/modules/longbow/index.js +1 -1
  130. package/build/dist/api/modules/longbow/nft.d.ts +236 -0
  131. package/build/dist/api/modules/longbow/nft.js +1 -0
  132. package/build/dist/api/modules/longbow/rebates.d.ts +152 -0
  133. package/build/dist/api/modules/longbow/rebates.js +1 -0
  134. package/build/dist/api/modules/longbow/staking.d.ts +4 -0
  135. package/build/dist/api/modules/longbow/staking.js +1 -0
  136. package/build/dist/api/modules/meridian/index.js +1 -1
  137. package/build/dist/api/modules/meridian/markets.js +1 -1
  138. package/build/dist/api/modules/meridian/perps-batch.d.ts +4 -0
  139. package/build/dist/api/modules/meridian/perps-batch.js +1 -0
  140. package/build/dist/api/modules/meridian/perps-common.d.ts +56 -0
  141. package/build/dist/api/modules/meridian/perps-common.js +1 -0
  142. package/build/dist/api/modules/meridian/perps-guards.d.ts +3 -0
  143. package/build/dist/api/modules/meridian/perps-guards.js +1 -0
  144. package/build/dist/api/modules/meridian/perps-intents.d.ts +18 -0
  145. package/build/dist/api/modules/meridian/perps-intents.js +1 -0
  146. package/build/dist/api/modules/meridian/perps-stream.d.ts +3 -0
  147. package/build/dist/api/modules/meridian/perps-stream.js +1 -0
  148. package/build/dist/api/modules/meridian/perps.d.ts +3 -0
  149. package/build/dist/api/modules/meridian/perps.js +1 -0
  150. package/build/dist/api/modules/meridian/predict-read.d.ts +2 -0
  151. package/build/dist/api/modules/meridian/predict-read.js +1 -0
  152. package/build/dist/api/modules/meridian/rfq.d.ts +29 -0
  153. package/build/dist/api/modules/meridian/rfq.js +1 -1
  154. package/build/dist/api/modules/merkl/discovery.d.ts +2 -0
  155. package/build/dist/api/modules/merkl/discovery.js +1 -0
  156. package/build/dist/api/modules/merkl/index.d.ts +10 -1
  157. package/build/dist/api/modules/merkl/index.js +1 -1
  158. package/build/dist/api/modules/merkl/manage.d.ts +2 -0
  159. package/build/dist/api/modules/merkl/manage.js +1 -0
  160. package/build/dist/api/modules/merkl/protocol.d.ts +2 -0
  161. package/build/dist/api/modules/merkl/protocol.js +1 -0
  162. package/build/dist/api/modules/morpho/allocator.d.ts +308 -0
  163. package/build/dist/api/modules/morpho/allocator.js +1 -0
  164. package/build/dist/api/modules/morpho/bundles-abi.d.ts +705 -0
  165. package/build/dist/api/modules/morpho/bundles-abi.js +1 -0
  166. package/build/dist/api/modules/morpho/bundles.d.ts +3 -0
  167. package/build/dist/api/modules/morpho/bundles.js +1 -0
  168. package/build/dist/api/modules/morpho/in-kind.d.ts +85 -0
  169. package/build/dist/api/modules/morpho/in-kind.js +1 -0
  170. package/build/dist/api/modules/morpho/index.d.ts +10 -2
  171. package/build/dist/api/modules/morpho/index.js +1 -12
  172. package/build/dist/api/modules/morpho/local-guard.d.ts +26 -0
  173. package/build/dist/api/modules/morpho/local-guard.js +1 -0
  174. package/build/dist/api/modules/morpho/midnight-abi.d.ts +1690 -0
  175. package/build/dist/api/modules/morpho/midnight-abi.js +1 -0
  176. package/build/dist/api/modules/morpho/midnight.d.ts +179 -0
  177. package/build/dist/api/modules/morpho/midnight.js +1 -0
  178. package/build/dist/api/modules/morpho/protocol.d.ts +290 -0
  179. package/build/dist/api/modules/morpho/protocol.js +1 -0
  180. package/build/dist/api/modules/morpho/surface.d.ts +4 -0
  181. package/build/dist/api/modules/morpho/surface.js +1 -0
  182. package/build/dist/api/modules/morpho/vault-management.d.ts +10 -0
  183. package/build/dist/api/modules/morpho/vault-management.js +1 -0
  184. package/build/dist/api/modules/morpho/vault-tools.d.ts +6 -0
  185. package/build/dist/api/modules/morpho/vault-tools.js +1 -0
  186. package/build/dist/api/modules/morpho/vault-v2.d.ts +190 -0
  187. package/build/dist/api/modules/morpho/vault-v2.js +1 -0
  188. package/build/dist/api/modules/netnet/blackjack-hashes.d.ts +89 -0
  189. package/build/dist/api/modules/netnet/blackjack-hashes.js +1 -0
  190. package/build/dist/api/modules/netnet/card-abi.d.ts +3758 -0
  191. package/build/dist/api/modules/netnet/card-abi.js +1 -0
  192. package/build/dist/api/modules/netnet/card-plan.d.ts +43 -0
  193. package/build/dist/api/modules/netnet/card-plan.js +1 -0
  194. package/build/dist/api/modules/netnet/card-policy.d.ts +10 -0
  195. package/build/dist/api/modules/netnet/card-policy.js +1 -0
  196. package/build/dist/api/modules/netnet/card-read.d.ts +2 -0
  197. package/build/dist/api/modules/netnet/card-read.js +1 -0
  198. package/build/dist/api/modules/netnet/card-recovery.d.ts +2 -0
  199. package/build/dist/api/modules/netnet/card-recovery.js +1 -0
  200. package/build/dist/api/modules/netnet/desk-action-abi.d.ts +2 -0
  201. package/build/dist/api/modules/netnet/desk-action-abi.js +1 -0
  202. package/build/dist/api/modules/netnet/desk-action.d.ts +3 -0
  203. package/build/dist/api/modules/netnet/desk-action.js +1 -0
  204. package/build/dist/api/modules/netnet/desk-read.d.ts +5 -0
  205. package/build/dist/api/modules/netnet/desk-read.js +1 -0
  206. package/build/dist/api/modules/netnet/desk-registry.d.ts +5 -0
  207. package/build/dist/api/modules/netnet/desk-registry.js +1 -0
  208. package/build/dist/api/modules/netnet/financial-abi.d.ts +1764 -0
  209. package/build/dist/api/modules/netnet/financial-abi.js +1 -0
  210. package/build/dist/api/modules/netnet/financial.d.ts +13 -0
  211. package/build/dist/api/modules/netnet/financial.js +1 -0
  212. package/build/dist/api/modules/netnet/index.d.ts +1 -0
  213. package/build/dist/api/modules/netnet/index.js +1 -1
  214. package/build/dist/api/modules/netnet/staking.d.ts +8 -0
  215. package/build/dist/api/modules/netnet/staking.js +1 -0
  216. package/build/dist/api/modules/orbio/gateway.d.ts +24 -0
  217. package/build/dist/api/modules/orbio/gateway.js +1 -0
  218. package/build/dist/api/modules/orbio/index.d.ts +3 -1
  219. package/build/dist/api/modules/orbio/index.js +1 -1
  220. package/build/dist/api/modules/orbio/pins.d.ts +457 -0
  221. package/build/dist/api/modules/orbio/pins.js +1 -0
  222. package/build/dist/api/modules/pons/claim.d.ts +33 -1
  223. package/build/dist/api/modules/pons/claim.js +1 -1
  224. package/build/dist/api/modules/pons/holder-directory.d.ts +35 -0
  225. package/build/dist/api/modules/pons/holder-directory.js +1 -0
  226. package/build/dist/api/modules/pons/index.js +1 -1
  227. package/build/dist/api/modules/pons/launch-status.d.ts +151 -5
  228. package/build/dist/api/modules/pons/launch-status.js +1 -1
  229. package/build/dist/api/modules/pons/prices.js +1 -1
  230. package/build/dist/api/modules/pons/reads.d.ts +3 -0
  231. package/build/dist/api/modules/pons/reads.js +1 -0
  232. package/build/dist/api/modules/pons/swap-terms.d.ts +77 -0
  233. package/build/dist/api/modules/pons/swap-terms.js +1 -0
  234. package/build/dist/api/modules/pons/trade.d.ts +13 -2
  235. package/build/dist/api/modules/pons/trade.js +1 -1
  236. package/build/dist/api/modules/poolstrade/index.js +1 -1
  237. package/build/dist/api/modules/priors/coverage.d.ts +23 -0
  238. package/build/dist/api/modules/priors/coverage.js +1 -0
  239. package/build/dist/api/modules/priors/discovery.d.ts +4 -0
  240. package/build/dist/api/modules/priors/discovery.js +1 -0
  241. package/build/dist/api/modules/priors/features.d.ts +62 -0
  242. package/build/dist/api/modules/priors/features.js +1 -0
  243. package/build/dist/api/modules/priors/index.d.ts +9 -2
  244. package/build/dist/api/modules/priors/index.js +1 -1
  245. package/build/dist/api/modules/priors/integration.d.ts +6 -0
  246. package/build/dist/api/modules/priors/integration.js +1 -0
  247. package/build/dist/api/modules/priors/market.d.ts +10 -0
  248. package/build/dist/api/modules/priors/market.js +1 -0
  249. package/build/dist/api/modules/priors/pt.d.ts +421 -0
  250. package/build/dist/api/modules/priors/pt.js +1 -0
  251. package/build/dist/api/modules/priors/savings-exit.d.ts +85 -0
  252. package/build/dist/api/modules/priors/savings-exit.js +1 -0
  253. package/build/dist/api/modules/priors/starter-line.d.ts +495 -0
  254. package/build/dist/api/modules/priors/starter-line.js +1 -0
  255. package/build/dist/api/modules/priors/stock-swap.d.ts +101 -0
  256. package/build/dist/api/modules/priors/stock-swap.js +1 -0
  257. package/build/dist/api/modules/relay/api.d.ts +52 -0
  258. package/build/dist/api/modules/relay/api.js +1 -0
  259. package/build/dist/api/modules/relay/bootstrap.d.ts +2 -0
  260. package/build/dist/api/modules/relay/bootstrap.js +1 -0
  261. package/build/dist/api/modules/relay/discovery.d.ts +2 -0
  262. package/build/dist/api/modules/relay/discovery.js +1 -0
  263. package/build/dist/api/modules/relay/inbound.js +1 -1
  264. package/build/dist/api/modules/relay/index.d.ts +2 -0
  265. package/build/dist/api/modules/relay/index.js +1 -1
  266. package/build/dist/api/modules/relay/order.d.ts +2 -0
  267. package/build/dist/api/modules/relay/order.js +1 -0
  268. package/build/dist/api/modules/relay/outbound-status.js +1 -1
  269. package/build/dist/api/modules/relay/readiness.d.ts +5 -0
  270. package/build/dist/api/modules/relay/readiness.js +1 -0
  271. package/build/dist/api/modules/relay/reads.d.ts +3 -0
  272. package/build/dist/api/modules/relay/reads.js +1 -0
  273. package/build/dist/api/modules/relay/vaults.d.ts +24 -0
  274. package/build/dist/api/modules/relay/vaults.js +1 -0
  275. package/build/dist/api/modules/spark/actions.d.ts +2 -0
  276. package/build/dist/api/modules/spark/actions.js +1 -0
  277. package/build/dist/api/modules/spark/details.d.ts +3 -0
  278. package/build/dist/api/modules/spark/details.js +1 -0
  279. package/build/dist/api/modules/spark/index.js +1 -1
  280. package/build/dist/api/modules/spark/management.d.ts +7 -0
  281. package/build/dist/api/modules/spark/management.js +1 -0
  282. package/build/dist/api/modules/steakhouse/analytics.d.ts +2 -0
  283. package/build/dist/api/modules/steakhouse/analytics.js +1 -0
  284. package/build/dist/api/modules/steakhouse/erc4626.d.ts +2 -0
  285. package/build/dist/api/modules/steakhouse/erc4626.js +1 -0
  286. package/build/dist/api/modules/steakhouse/index.js +1 -1
  287. package/build/dist/api/modules/steakhouse/local-guard.d.ts +7 -0
  288. package/build/dist/api/modules/steakhouse/local-guard.js +1 -0
  289. package/build/dist/api/modules/steakhouse/management.d.ts +3 -0
  290. package/build/dist/api/modules/steakhouse/management.js +1 -0
  291. package/build/dist/api/modules/steakhouse/v2-exit.d.ts +19 -0
  292. package/build/dist/api/modules/steakhouse/v2-exit.js +1 -0
  293. package/build/dist/api/modules/tickerspring/basket-routes.d.ts +2 -0
  294. package/build/dist/api/modules/tickerspring/basket-routes.js +1 -0
  295. package/build/dist/api/modules/tickerspring/contract-reads.d.ts +2 -0
  296. package/build/dist/api/modules/tickerspring/contract-reads.js +1 -0
  297. package/build/dist/api/modules/tickerspring/discovery.d.ts +27 -0
  298. package/build/dist/api/modules/tickerspring/discovery.js +1 -0
  299. package/build/dist/api/modules/tickerspring/exit-preview.d.ts +14 -0
  300. package/build/dist/api/modules/tickerspring/exit-preview.js +1 -0
  301. package/build/dist/api/modules/tickerspring/guards.d.ts +7 -0
  302. package/build/dist/api/modules/tickerspring/guards.js +1 -0
  303. package/build/dist/api/modules/tickerspring/index.d.ts +80 -1
  304. package/build/dist/api/modules/tickerspring/index.js +1 -1
  305. package/build/dist/api/modules/tickerspring/journeys.d.ts +31 -0
  306. package/build/dist/api/modules/tickerspring/journeys.js +1 -0
  307. package/build/dist/api/modules/tickerspring/ladder.d.ts +8 -0
  308. package/build/dist/api/modules/tickerspring/ladder.js +1 -0
  309. package/build/dist/api/modules/tickerspring/maker.d.ts +8 -0
  310. package/build/dist/api/modules/tickerspring/maker.js +1 -0
  311. package/build/dist/api/modules/tickerspring/order-accounting.d.ts +4 -0
  312. package/build/dist/api/modules/tickerspring/order-accounting.js +1 -0
  313. package/build/dist/api/modules/tickerspring/research.d.ts +2 -0
  314. package/build/dist/api/modules/tickerspring/research.js +1 -0
  315. package/build/dist/api/modules/tickerspring/strategies.d.ts +17 -0
  316. package/build/dist/api/modules/tickerspring/strategies.js +1 -0
  317. package/build/dist/api/modules/uniswap/auction-create.d.ts +112 -0
  318. package/build/dist/api/modules/uniswap/auction-create.js +1 -0
  319. package/build/dist/api/modules/uniswap/auction.d.ts +212 -0
  320. package/build/dist/api/modules/uniswap/auction.js +1 -0
  321. package/build/dist/api/modules/uniswap/batch.d.ts +22 -0
  322. package/build/dist/api/modules/uniswap/batch.js +1 -0
  323. package/build/dist/api/modules/uniswap/common.d.ts +12 -0
  324. package/build/dist/api/modules/uniswap/common.js +1 -0
  325. package/build/dist/api/modules/uniswap/fees.d.ts +54 -0
  326. package/build/dist/api/modules/uniswap/fees.js +1 -0
  327. package/build/dist/api/modules/uniswap/index.d.ts +2 -1
  328. package/build/dist/api/modules/uniswap/index.js +1 -1
  329. package/build/dist/api/modules/uniswap/local-guard.d.ts +16 -0
  330. package/build/dist/api/modules/uniswap/local-guard.js +1 -0
  331. package/build/dist/api/modules/uniswap/oracle.d.ts +2 -0
  332. package/build/dist/api/modules/uniswap/oracle.js +1 -0
  333. package/build/dist/api/modules/uniswap/pool-math.d.ts +13 -0
  334. package/build/dist/api/modules/uniswap/pool-math.js +1 -0
  335. package/build/dist/api/modules/uniswap/pools.d.ts +30 -0
  336. package/build/dist/api/modules/uniswap/pools.js +1 -0
  337. package/build/dist/api/modules/uniswap/position.d.ts +69 -0
  338. package/build/dist/api/modules/uniswap/position.js +1 -0
  339. package/build/dist/api/modules/uniswap/protocol.d.ts +154 -0
  340. package/build/dist/api/modules/uniswap/protocol.js +1 -0
  341. package/build/dist/api/modules/uniswap/token-jar.d.ts +52 -0
  342. package/build/dist/api/modules/uniswap/token-jar.js +1 -0
  343. package/build/dist/api/modules/uniswap/trade-batch.d.ts +2 -0
  344. package/build/dist/api/modules/uniswap/trade-batch.js +1 -0
  345. package/build/dist/api/modules/uniswap/trade.d.ts +406 -0
  346. package/build/dist/api/modules/uniswap/trade.js +1 -0
  347. package/build/dist/api/modules/uniswap/v2.d.ts +180 -0
  348. package/build/dist/api/modules/uniswap/v2.js +1 -0
  349. package/build/dist/api/modules/uniswap/v3.d.ts +23 -2
  350. package/build/dist/api/modules/uniswap/v3.js +1 -1
  351. package/build/dist/api/modules/uniswap/v4.d.ts +17 -28
  352. package/build/dist/api/modules/uniswap/v4.js +1 -1
  353. package/build/dist/api/modules/uniswap/wrap.d.ts +17 -0
  354. package/build/dist/api/modules/uniswap/wrap.js +1 -0
  355. package/build/dist/api/modules/velora/claims.d.ts +86 -0
  356. package/build/dist/api/modules/velora/claims.js +1 -0
  357. package/build/dist/api/modules/velora/delta-reads.d.ts +2 -0
  358. package/build/dist/api/modules/velora/delta-reads.js +1 -0
  359. package/build/dist/api/modules/velora/index.js +1 -1
  360. package/build/dist/api/owner-signature.d.ts +29 -0
  361. package/build/dist/api/owner-signature.js +1 -0
  362. package/build/dist/api/positions.js +1 -1
  363. package/build/dist/api/pricenote.d.ts +0 -1
  364. package/build/dist/api/pricenote.js +1 -1
  365. package/build/dist/api/prices.js +1 -1
  366. package/build/dist/api/pricing.d.ts +1 -14
  367. package/build/dist/api/pricing.js +1 -1
  368. package/build/dist/api/routes.d.ts +2 -0
  369. package/build/dist/api/routes.js +1 -1
  370. package/build/dist/api/rpc.d.ts +23 -0
  371. package/build/dist/api/rpc.js +1 -0
  372. package/build/dist/api/secret-fields.js +1 -1
  373. package/build/dist/api/send.js +1 -1
  374. package/build/dist/api/signing-registry.d.ts +19 -0
  375. package/build/dist/api/signing-registry.js +1 -0
  376. package/build/dist/api/signing.d.ts +162 -0
  377. package/build/dist/api/signing.js +1 -0
  378. package/build/dist/api/simulate.js +1 -1
  379. package/build/dist/api/swap.d.ts +61 -27
  380. package/build/dist/api/swap.js +1 -1
  381. package/build/dist/api/tokens.d.ts +5 -0
  382. package/build/dist/api/tokens.js +1 -1
  383. package/build/dist/api/tool-policy.d.ts +6 -0
  384. package/build/dist/api/tool-policy.js +1 -1
  385. package/build/dist/api/tx.js +1 -1
  386. package/build/dist/api/types.d.ts +2 -0
  387. package/build/dist/api/vendor-limits.js +1 -1
  388. package/build/dist/chunks/2EDXKJ3B.js +1 -0
  389. package/build/dist/chunks/2NA6JLEC.js +1 -0
  390. package/build/dist/chunks/2SNQWKHA.js +1 -0
  391. package/build/dist/chunks/3ACEWCKZ.js +1 -0
  392. package/build/dist/chunks/3CCBUYUM.js +1 -0
  393. package/build/dist/chunks/3RFSGU2Y.js +1 -0
  394. package/build/dist/chunks/46ZA2R5L.js +1 -0
  395. package/build/dist/chunks/4IPW5WZ4.js +1 -0
  396. package/build/dist/chunks/53N7PNJH.js +1 -0
  397. package/build/dist/chunks/55NX776C.js +1 -0
  398. package/build/dist/chunks/5EHQM6DM.js +1 -0
  399. package/build/dist/chunks/5FTSKYQH.js +1 -0
  400. package/build/dist/chunks/5HW6JKME.js +1 -0
  401. package/build/dist/chunks/5VXNQFYJ.js +1 -0
  402. package/build/dist/chunks/5XFXH2JT.js +1 -0
  403. package/build/dist/chunks/5YS5V2LK.js +1 -0
  404. package/build/dist/chunks/64AF7ECA.js +1 -0
  405. package/build/dist/chunks/65QFM4JU.js +1 -0
  406. package/build/dist/chunks/67TJOOBI.js +1 -0
  407. package/build/dist/chunks/6HV5BR7P.js +1 -0
  408. package/build/dist/chunks/{A5ITAEUQ.js → 6IM6A5VA.js} +1 -1
  409. package/build/dist/chunks/6JCEJ66K.js +1 -0
  410. package/build/dist/chunks/6LLOTPH2.js +1 -0
  411. package/build/dist/chunks/6NR7SVRO.js +1 -0
  412. package/build/dist/chunks/6PU2CMQZ.js +1 -0
  413. package/build/dist/chunks/6SCCW74G.js +1 -0
  414. package/build/dist/chunks/73N3TOJL.js +1 -0
  415. package/build/dist/chunks/74BPMUAG.js +1 -0
  416. package/build/dist/chunks/7B5UH2VS.js +1 -0
  417. package/build/dist/chunks/7BTELNNI.js +1 -0
  418. package/build/dist/chunks/7LDAJ6BM.js +1 -0
  419. package/build/dist/chunks/7MR37STI.js +1 -0
  420. package/build/dist/chunks/7T4BYFD4.js +1 -0
  421. package/build/dist/chunks/7US6PD56.js +1 -0
  422. package/build/dist/chunks/7YU6DELJ.js +1 -0
  423. package/build/dist/chunks/7Z5IM2QZ.js +1 -0
  424. package/build/dist/chunks/A25P24G2.js +1 -0
  425. package/build/dist/chunks/AFHHRDPJ.js +1 -0
  426. package/build/dist/chunks/ANQ43XJA.js +1 -0
  427. package/build/dist/chunks/{UCMNB2UP.js → AXYOJBX6.js} +1 -1
  428. package/build/dist/chunks/AYM5L6L7.js +1 -0
  429. package/build/dist/chunks/BFVLBENV.js +1 -0
  430. package/build/dist/chunks/BV3AHLH5.js +1 -0
  431. package/build/dist/chunks/BXN3MDS4.js +1 -0
  432. package/build/dist/chunks/BYXBS45D.js +1 -0
  433. package/build/dist/chunks/C2FEXLMA.js +1 -0
  434. package/build/dist/chunks/C3TJLARP.js +1 -0
  435. package/build/dist/chunks/C3ZZSGSP.js +1 -0
  436. package/build/dist/chunks/CAU44UWP.js +1 -0
  437. package/build/dist/chunks/CBA776XQ.js +1 -0
  438. package/build/dist/chunks/CCEWSOBT.js +1 -0
  439. package/build/dist/chunks/CEQNXF6A.js +1 -0
  440. package/build/dist/chunks/{6SYTB6FB.js → D3OWLDVB.js} +1 -1
  441. package/build/dist/chunks/D6VP3N27.js +3 -0
  442. package/build/dist/chunks/DHXVYHT4.js +1 -0
  443. package/build/dist/chunks/DLIOZCEG.js +1 -0
  444. package/build/dist/chunks/EA6IYKIB.js +1 -0
  445. package/build/dist/chunks/EC5W3UZD.js +1 -0
  446. package/build/dist/chunks/{B4MLWDPM.js → EG6M6SSO.js} +1 -1
  447. package/build/dist/chunks/EVANKNJV.js +1 -0
  448. package/build/dist/chunks/EYYUWFUR.js +1 -0
  449. package/build/dist/chunks/F2YH72GF.js +1 -0
  450. package/build/dist/chunks/F3TJCOVV.js +1 -0
  451. package/build/dist/chunks/F6WBPPBN.js +1 -0
  452. package/build/dist/chunks/FSPNOVKB.js +1 -0
  453. package/build/dist/chunks/G4PDM3MX.js +1 -0
  454. package/build/dist/chunks/G7UKNO2I.js +1 -0
  455. package/build/dist/chunks/GHDDVBPK.js +1 -0
  456. package/build/dist/chunks/GSI5COTD.js +1 -0
  457. package/build/dist/chunks/GZ5TW3WB.js +1 -0
  458. package/build/dist/chunks/H4S2ZCWK.js +1 -0
  459. package/build/dist/chunks/H6ED3RHF.js +1 -0
  460. package/build/dist/chunks/HFQS5344.js +1 -0
  461. package/build/dist/chunks/{Y3P6SUNL.js → HIMVOTIU.js} +1 -1
  462. package/build/dist/chunks/HL2MLC3O.js +1 -0
  463. package/build/dist/chunks/HNMOB76J.js +1 -0
  464. package/build/dist/chunks/HQVC6X3T.js +1 -0
  465. package/build/dist/chunks/HRG2VVPY.js +1 -0
  466. package/build/dist/chunks/IHGVCPVA.js +2 -0
  467. package/build/dist/chunks/ITV52TIE.js +1 -0
  468. package/build/dist/chunks/IUXOUKQN.js +1 -0
  469. package/build/dist/chunks/IWALIX7Q.js +1 -0
  470. package/build/dist/chunks/JC4SYMBV.js +18 -0
  471. package/build/dist/chunks/JREVERSC.js +1 -0
  472. package/build/dist/chunks/JRO6WTK4.js +1 -0
  473. package/build/dist/chunks/JRVTSGAT.js +1 -0
  474. package/build/dist/chunks/K463HFGC.js +1 -0
  475. package/build/dist/chunks/KQFDLDHL.js +1 -0
  476. package/build/dist/chunks/L24EOVLT.js +1 -0
  477. package/build/dist/chunks/LBEMCOND.js +1 -0
  478. package/build/dist/chunks/LI7FYINH.js +1 -0
  479. package/build/dist/chunks/MRWCFTMS.js +1 -0
  480. package/build/dist/chunks/MYBDO5SA.js +1 -0
  481. package/build/dist/chunks/N6RL3SUZ.js +1 -0
  482. package/build/dist/chunks/N77ANGBT.js +1 -0
  483. package/build/dist/chunks/{SJ7HDRI4.js → NBRMUFJP.js} +1 -1
  484. package/build/dist/chunks/NCQFWPAW.js +1 -0
  485. package/build/dist/chunks/NHCRJC5X.js +1 -0
  486. package/build/dist/chunks/NIOBE2LK.js +1 -0
  487. package/build/dist/chunks/NMFVXBTL.js +1 -0
  488. package/build/dist/chunks/NO57NGRV.js +1 -0
  489. package/build/dist/chunks/O47JXRXN.js +1 -0
  490. package/build/dist/chunks/O5SU2I3G.js +1 -0
  491. package/build/dist/chunks/{GIBF3YJO.js → OG5HRQU4.js} +1 -1
  492. package/build/dist/chunks/OJLMF5AR.js +1 -0
  493. package/build/dist/chunks/OJMYESQU.js +1 -0
  494. package/build/dist/chunks/OW7GOYKA.js +1 -0
  495. package/build/dist/chunks/P4UQGWCP.js +1 -0
  496. package/build/dist/chunks/PJ65ZOQ7.js +1 -0
  497. package/build/dist/chunks/Q2VMH2LB.js +1 -0
  498. package/build/dist/chunks/QCD33HMD.js +1 -0
  499. package/build/dist/chunks/QHHZDXRG.js +1 -0
  500. package/build/dist/chunks/QNPEKNWM.js +1 -0
  501. package/build/dist/chunks/QQWF6A4P.js +1 -0
  502. package/build/dist/chunks/QRUC7EFE.js +1 -0
  503. package/build/dist/chunks/QYKXWBZC.js +1 -0
  504. package/build/dist/chunks/QZM7CWZW.js +1 -0
  505. package/build/dist/chunks/QZTUMSQY.js +1 -0
  506. package/build/dist/chunks/R7D256HG.js +1 -0
  507. package/build/dist/chunks/RETS2ZEK.js +1 -0
  508. package/build/dist/chunks/RFJCG4NA.js +1 -0
  509. package/build/dist/chunks/RRSODRGT.js +1 -0
  510. package/build/dist/chunks/RTBOMWCB.js +1 -0
  511. package/build/dist/chunks/SDICP7BT.js +1 -0
  512. package/build/dist/chunks/SLSPWXR6.js +1 -0
  513. package/build/dist/chunks/SPRVVJXI.js +1 -0
  514. package/build/dist/chunks/SQ5BNSXR.js +1 -0
  515. package/build/dist/chunks/SQH7A4O3.js +1 -0
  516. package/build/dist/chunks/SXX52Y27.js +1 -0
  517. package/build/dist/chunks/T3NPRRTY.js +1 -0
  518. package/build/dist/chunks/T6MTTMLQ.js +1 -0
  519. package/build/dist/chunks/TAI63P6E.js +1 -0
  520. package/build/dist/chunks/TCS3ICNE.js +2 -0
  521. package/build/dist/chunks/TNRDCBGO.js +1 -0
  522. package/build/dist/chunks/TRCP7X5P.js +1 -0
  523. package/build/dist/chunks/TWR7BF72.js +1 -0
  524. package/build/dist/chunks/U3FMCX3L.js +1 -0
  525. package/build/dist/chunks/UIIJWIR6.js +1 -0
  526. package/build/dist/chunks/UMK564HS.js +1 -0
  527. package/build/dist/chunks/UPPYXY74.js +1 -0
  528. package/build/dist/chunks/UWOFA6GV.js +1 -0
  529. package/build/dist/chunks/UXG67LH3.js +1 -0
  530. package/build/dist/chunks/V6SDKPZS.js +1 -0
  531. package/build/dist/chunks/{GDP4JSAX.js → VJ3W2V3B.js} +1 -1
  532. package/build/dist/chunks/{BOFA26WU.js → VXLJRRKV.js} +1 -1
  533. package/build/dist/chunks/VY3P34PY.js +1 -0
  534. package/build/dist/chunks/WCKMQFGS.js +1117 -0
  535. package/build/dist/chunks/WDGPCPQJ.js +1 -0
  536. package/build/dist/chunks/WIDTTGSH.js +1 -0
  537. package/build/dist/chunks/WQZLYX64.js +1 -0
  538. package/build/dist/chunks/X5V2Z2NM.js +1 -0
  539. package/build/dist/chunks/XKRWJCYE.js +1 -0
  540. package/build/dist/chunks/XPFVT2EA.js +1 -0
  541. package/build/dist/chunks/XV6F3RET.js +1 -0
  542. package/build/dist/chunks/XW7RH7YY.js +1 -0
  543. package/build/dist/chunks/Y2IWPNEW.js +1 -0
  544. package/build/dist/chunks/YHPOXAKA.js +1 -0
  545. package/build/dist/chunks/YR3QJVJQ.js +1 -0
  546. package/build/dist/chunks/ZCGVBK5K.js +1 -0
  547. package/build/dist/chunks/ZGXNTWYG.js +1 -0
  548. package/build/dist/chunks/ZPM2MFXZ.js +1 -0
  549. package/build/dist/chunks/ZT67OMLW.js +1 -0
  550. package/build/dist/chunks/ZYR5LSVB.js +1 -0
  551. package/package.json +13 -9
  552. package/build/dist/chunks/2IRORNOH.js +0 -1
  553. package/build/dist/chunks/3PA2XT75.js +0 -1
  554. package/build/dist/chunks/52TGAWSI.js +0 -1
  555. package/build/dist/chunks/66DWJWDA.js +0 -1
  556. package/build/dist/chunks/73EABRFC.js +0 -1
  557. package/build/dist/chunks/A5KSG6LW.js +0 -1
  558. package/build/dist/chunks/B4FOHEBE.js +0 -1
  559. package/build/dist/chunks/BHR46XNW.js +0 -3
  560. package/build/dist/chunks/CQNZWL7F.js +0 -1
  561. package/build/dist/chunks/GN4QZ4JA.js +0 -1
  562. package/build/dist/chunks/I5CQ64EU.js +0 -1
  563. package/build/dist/chunks/ICCJ3TOO.js +0 -1
  564. package/build/dist/chunks/KL5YE7JA.js +0 -1
  565. package/build/dist/chunks/KVVTKM6E.js +0 -1
  566. package/build/dist/chunks/M6JGTQRY.js +0 -1
  567. package/build/dist/chunks/MK6L6TGI.js +0 -1
  568. package/build/dist/chunks/MOVRI5IV.js +0 -1
  569. package/build/dist/chunks/NA7HV7BR.js +0 -1
  570. package/build/dist/chunks/NGAI6GTU.js +0 -1
  571. package/build/dist/chunks/OBX7IZG5.js +0 -1
  572. package/build/dist/chunks/OSQ4AAM2.js +0 -2
  573. package/build/dist/chunks/OWEUVFB6.js +0 -1
  574. package/build/dist/chunks/P4G3EKF7.js +0 -1
  575. package/build/dist/chunks/QGDHMVPE.js +0 -1
  576. package/build/dist/chunks/SPAKOCR7.js +0 -1
  577. package/build/dist/chunks/T6O2L6HF.js +0 -1
  578. package/build/dist/chunks/TEVKPJV5.js +0 -1
  579. package/build/dist/chunks/YX4NVVSX.js +0 -1
  580. package/build/dist/chunks/ZUC6ILK2.js +0 -1
@@ -0,0 +1 @@
1
+ import{getAddress as t}from"viem";var n={distributor:{address:t("0x79e71F8a8a2912E40687a8820b2dC0fdd2f686b3"),abi:[{name:"currentRateWad",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"epochsDistributed",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"kWad",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"pure"},{name:"net",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"contract INET"}],stateMutability:"view"},{name:"nextReward",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"oracle",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"contract IPairOracle"}],stateMutability:"view"},{name:"premium",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"rMaxWad",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"pure"},{name:"sNet",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"contract IsNET"}],stateMutability:"view"},{name:"staking",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{name:"treasury",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"contract ITreasury"}],stateMutability:"view"}]},pair_oracle:{address:t("0x929631b33F4070D6f54477fba3FD27566567dAca"),abi:[{name:"lastCheckpointAt",type:"function",inputs:[],outputs:[{name:"",type:"uint64",internalType:"uint64"}],stateMutability:"view"},{name:"netIsToken0",type:"function",inputs:[],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{name:"observations",type:"function",inputs:[{name:"",type:"uint256",internalType:"uint256"}],outputs:[{name:"timestamp",type:"uint32",internalType:"uint32"},{name:"priceCumulative",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"pair",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{name:"pairContract",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"contract IUniswapV2Pair"}],stateMutability:"view"},{name:"priceScale",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"twapMaxWindow",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"pure"},{name:"twapMinWindow",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"pure"},{name:"twapNetUsdg",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"}]},net_token:{address:t("0xCA9c78Dd337A67F6e0077F65F5E9218719d30eDf"),abi:[{name:"allowance",type:"function",inputs:[{name:"",type:"address",internalType:"address"},{name:"",type:"address",internalType:"address"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"balanceOf",type:"function",inputs:[{name:"",type:"address",internalType:"address"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"canonicalPair",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{name:"decimals",type:"function",inputs:[],outputs:[{name:"",type:"uint8",internalType:"uint8"}],stateMutability:"view"},{name:"exemptQueuedAt",type:"function",inputs:[{name:"",type:"address",internalType:"address"}],outputs:[{name:"",type:"uint64",internalType:"uint64"}],stateMutability:"view"},{name:"genesisBond",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{name:"guardian",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{name:"isTaxExempt",type:"function",inputs:[{name:"",type:"address",internalType:"address"}],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{name:"isTaxedPair",type:"function",inputs:[{name:"",type:"address",internalType:"address"}],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{name:"name",type:"function",inputs:[],outputs:[{name:"",type:"string",internalType:"string"}],stateMutability:"view"},{name:"symbol",type:"function",inputs:[],outputs:[{name:"",type:"string",internalType:"string"}],stateMutability:"view"},{name:"taxCollector",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{name:"taxEnabled",type:"function",inputs:[],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{name:"taxTotalBps",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"pure"},{name:"totalSupply",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"treasury",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{name:"uniswapV2Factory",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{name:"uniswapV3Factory",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{name:"wired",type:"function",inputs:[],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"}]},certificate:{address:t("0xfB8058769063519f26FB114631919c0E5254068e"),abi:[{name:"approve",type:"function",inputs:[{name:"",type:"address",internalType:"address"},{name:"",type:"uint256",internalType:"uint256"}],outputs:[],stateMutability:"pure"},{name:"balanceOf",type:"function",inputs:[{name:"owner",type:"address",internalType:"address"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"certificateOf",type:"function",inputs:[{name:"",type:"address",internalType:"address"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"certificates",type:"function",inputs:[{name:"",type:"uint256",internalType:"uint256"}],outputs:[{name:"bondAmountWad",type:"uint96",internalType:"uint96"},{name:"firstPurchaseAt",type:"uint64",internalType:"uint64"},{name:"shareholderNumber",type:"uint32",internalType:"uint32"}],stateMutability:"view"},{name:"genesisBond",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{name:"getApproved",type:"function",inputs:[{name:"",type:"uint256",internalType:"uint256"}],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"pure"},{name:"isApprovedForAll",type:"function",inputs:[{name:"",type:"address",internalType:"address"},{name:"",type:"address",internalType:"address"}],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"pure"},{name:"name",type:"function",inputs:[],outputs:[{name:"",type:"string",internalType:"string"}],stateMutability:"view"},{name:"nextId",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"ownerOf",type:"function",inputs:[{name:"tokenId",type:"uint256",internalType:"uint256"}],outputs:[{name:"owner",type:"address",internalType:"address"}],stateMutability:"view"},{name:"safeTransferFrom",type:"function",inputs:[{name:"",type:"address",internalType:"address"},{name:"",type:"address",internalType:"address"},{name:"",type:"uint256",internalType:"uint256"}],outputs:[],stateMutability:"pure"},{name:"safeTransferFrom",type:"function",inputs:[{name:"",type:"address",internalType:"address"},{name:"",type:"address",internalType:"address"},{name:"",type:"uint256",internalType:"uint256"},{name:"",type:"bytes",internalType:"bytes"}],outputs:[],stateMutability:"pure"},{name:"setApprovalForAll",type:"function",inputs:[{name:"",type:"address",internalType:"address"},{name:"",type:"bool",internalType:"bool"}],outputs:[],stateMutability:"pure"},{name:"supportsInterface",type:"function",inputs:[{name:"interfaceId",type:"bytes4",internalType:"bytes4"}],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"pure"},{name:"symbol",type:"function",inputs:[],outputs:[{name:"",type:"string",internalType:"string"}],stateMutability:"view"},{name:"totalIssued",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"transferFrom",type:"function",inputs:[{name:"",type:"address",internalType:"address"},{name:"",type:"address",internalType:"address"},{name:"",type:"uint256",internalType:"uint256"}],outputs:[],stateMutability:"pure"}]},futures:{address:t("0xf6ec124ca62C841384ABD0e128552cF9Eb446205"),abi:[{name:"adlMode",type:"function",inputs:[],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{name:"carryLongCreditWad",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"carryLongPaidWad",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"carryShortCreditWad",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"carryShortPaidWad",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"carrySkimOwedTokens",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"clearingReserveTokens",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"equityUsdWad",type:"function",inputs:[{name:"trader",type:"address",internalType:"address"}],outputs:[{name:"",type:"int256",internalType:"int256"}],stateMutability:"view"},{name:"feeRouter",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{name:"lastCarryTime",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"liquidatable",type:"function",inputs:[{name:"trader",type:"address",internalType:"address"}],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{name:"oiLongUsdWad",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"oiShortUsdWad",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"oracle",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"contract PerpOracle"}],stateMutability:"view"},{name:"positions",type:"function",inputs:[{name:"",type:"address",internalType:"address"}],outputs:[{name:"isLong",type:"bool",internalType:"bool"},{name:"sizeUsdWad9",type:"uint128",internalType:"uint128"},{name:"marginTokens",type:"uint128",internalType:"uint128"},{name:"entryIndexWad9",type:"uint128",internalType:"uint128"},{name:"entryCarryWad9",type:"uint128",internalType:"uint128"}],stateMutability:"view"},{name:"redeemAllowed",type:"function",inputs:[{name:"tokensOut",type:"uint256",internalType:"uint256"}],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{name:"token",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"contract IERC20Minimal"}],stateMutability:"view"},{name:"vault",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"contract UnderwritingVault"}],stateMutability:"view"}]},underwriting:{address:t("0x3a7Dce19447f9028C360592fDfdb3f27c50daE29"),abi:[{name:"clearinghouse",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{name:"equityTokens",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"sharePriceWad",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"sharesOf",type:"function",inputs:[{name:"",type:"address",internalType:"address"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"subscribedTokens",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"token",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"contract IERC20Minimal"}],stateMutability:"view"},{name:"totalShares",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"}]},perp_fees:{address:t("0x8d8A68884134b49EC8549f6F5D7b43b8Ca327814"),abi:[{name:"sink",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{name:"token",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"contract IERC20Minimal"}],stateMutability:"view"}]},futures_cashcat:{address:t("0xD1604dcAdB949A28C7cfA8Cd044641b8C520Ef3f"),abi:[{name:"adlMode",type:"function",inputs:[],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{name:"carryLongCreditWad",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"carryLongPaidWad",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"carryShortCreditWad",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"carryShortPaidWad",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"carrySkimOwedTokens",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"clearingReserveTokens",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"equityUsdWad",type:"function",inputs:[{name:"trader",type:"address",internalType:"address"}],outputs:[{name:"",type:"int256",internalType:"int256"}],stateMutability:"view"},{name:"feeRouter",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{name:"lastCarryTime",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"liquidatable",type:"function",inputs:[{name:"trader",type:"address",internalType:"address"}],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{name:"oiLongUsdWad",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"oiShortUsdWad",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"oracle",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"contract PerpOracle"}],stateMutability:"view"},{name:"positions",type:"function",inputs:[{name:"",type:"address",internalType:"address"}],outputs:[{name:"isLong",type:"bool",internalType:"bool"},{name:"sizeUsdWad9",type:"uint128",internalType:"uint128"},{name:"marginTokens",type:"uint128",internalType:"uint128"},{name:"entryIndexWad9",type:"uint128",internalType:"uint128"},{name:"entryCarryWad9",type:"uint128",internalType:"uint128"}],stateMutability:"view"},{name:"redeemAllowed",type:"function",inputs:[{name:"tokensOut",type:"uint256",internalType:"uint256"}],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{name:"token",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"contract IERC20Minimal"}],stateMutability:"view"},{name:"vault",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"contract UnderwritingVault"}],stateMutability:"view"}]},underwriting_cashcat:{address:t("0x38f620aeC20B116ad19629e8F91842d0D4Ed8c39"),abi:[{name:"clearinghouse",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{name:"equityTokens",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"sharePriceWad",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"sharesOf",type:"function",inputs:[{name:"",type:"address",internalType:"address"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"subscribedTokens",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"token",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"contract IERC20Minimal"}],stateMutability:"view"},{name:"totalShares",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"}]},prize:{address:t("0x7332B329860986e596B2fd71e9c53786c0242ce5"),abi:[{name:"book",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"contract IBonusBook"}],stateMutability:"view"},{name:"boostedPrincipalAt",type:"function",inputs:[{name:"account",type:"address",internalType:"address"},{name:"period",type:"uint256",internalType:"uint256"}],outputs:[{name:"weight",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"boostedPrincipalOf",type:"function",inputs:[{name:"account",type:"address",internalType:"address"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"controller",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"contract IDrawWeights"}],stateMutability:"view"},{name:"hasDeposited",type:"function",inputs:[{name:"",type:"address",internalType:"address"}],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{name:"net",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"contract INET"}],stateMutability:"view"},{name:"oracle",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"contract IPairOracle"}],stateMutability:"view"},{name:"potNet",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"previewSettle",type:"function",inputs:[],outputs:[{name:"prizeNet",type:"uint256",internalType:"uint256"},{name:"burnNet",type:"uint256",internalType:"uint256"},{name:"meetsMinPot",type:"bool",internalType:"bool"}],stateMutability:"view"},{name:"principalOf",type:"function",inputs:[{name:"",type:"address",internalType:"address"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"referrerOf",type:"function",inputs:[{name:"",type:"address",internalType:"address"}],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{name:"router",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"contract IUniswapV2Router02"}],stateMutability:"view"},{name:"sNet",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"contract IsNET"}],stateMutability:"view"},{name:"staking",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"contract IStaking"}],stateMutability:"view"},{name:"totalPrincipal",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"trancheAt",type:"function",inputs:[{name:"account",type:"address",internalType:"address"},{name:"index",type:"uint256",internalType:"uint256"}],outputs:[{name:"amount",type:"uint112",internalType:"uint112"},{name:"depositEpoch",type:"uint64",internalType:"uint64"},{name:"lockEndPeriod",type:"uint32",internalType:"uint32"},{name:"boostBps",type:"uint16",internalType:"uint16"}],stateMutability:"view"},{name:"trancheCount",type:"function",inputs:[{name:"account",type:"address",internalType:"address"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"trancheHead",type:"function",inputs:[{name:"",type:"address",internalType:"address"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"treasury",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"contract ITreasury"}],stateMutability:"view"},{name:"usdg",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"contract IERC20"}],stateMutability:"view"},{name:"wired",type:"function",inputs:[],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"}]},bonus:{address:t("0x823b016b546178C4C47a830B92333aD44E655d06"),abi:[{name:"activeBonusOf",type:"function",inputs:[{name:"account",type:"address",internalType:"address"},{name:"period",type:"uint256",internalType:"uint256"}],outputs:[{name:"sum",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"bucketAt",type:"function",inputs:[{name:"account",type:"address",internalType:"address"},{name:"index",type:"uint256",internalType:"uint256"}],outputs:[{name:"amount",type:"uint112",internalType:"uint112"},{name:"streakAmount",type:"uint112",internalType:"uint112"},{name:"expiryPeriod",type:"uint32",internalType:"uint32"}],stateMutability:"view"},{name:"bucketCount",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"pure"},{name:"controller",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"contract IDrawWeights"}],stateMutability:"view"},{name:"drippedInPeriod",type:"function",inputs:[{name:"",type:"address",internalType:"address"},{name:"",type:"uint256",internalType:"uint256"}],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{name:"grantedBySource",type:"function",inputs:[{name:"",type:"address",internalType:"address"},{name:"",type:"uint8",internalType:"enum BonusSource"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"keeper",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{name:"keeperGrantedInPeriod",type:"function",inputs:[{name:"",type:"uint256",internalType:"uint256"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"vault",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"contract IPrizeVault"}],stateMutability:"view"},{name:"welcomeGranted",type:"function",inputs:[{name:"",type:"address",internalType:"address"}],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{name:"wired",type:"function",inputs:[],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"}]},draw:{address:t("0xcC4A7C03A2d4D248B8dA0E35C178944799feac70"),abi:[{name:"beaconMessage",type:"function",inputs:[{name:"round",type:"uint64",internalType:"uint64"}],outputs:[{name:"",type:"bytes",internalType:"bytes"}],stateMutability:"pure"},{name:"beaconRoundOf",type:"function",inputs:[{name:"",type:"uint256",internalType:"uint256"}],outputs:[{name:"",type:"uint64",internalType:"uint64"}],stateMutability:"view"},{name:"beaconSignatureOf",type:"function",inputs:[{name:"",type:"uint256",internalType:"uint256"}],outputs:[{name:"",type:"bytes",internalType:"bytes"}],stateMutability:"view"},{name:"book",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"contract IBonusBook"}],stateMutability:"view"},{name:"cachedWeightOf",type:"function",inputs:[{name:"account",type:"address",internalType:"address"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"currentPeriod",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"cutoffOf",type:"function",inputs:[{name:"drawId",type:"uint256",internalType:"uint256"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"drandDst",type:"function",inputs:[],outputs:[{name:"",type:"bytes",internalType:"bytes"}],stateMutability:"view"},{name:"drandGenesis",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"drandPublicKey",type:"function",inputs:[],outputs:[{name:"",type:"bytes",internalType:"bytes"}],stateMutability:"view"},{name:"firstCutoff",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"nextDrawId",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"oracle",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"contract IPairOracle"}],stateMutability:"view"},{name:"pendingDecayOf",type:"function",inputs:[{name:"account",type:"address",internalType:"address"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"roundForCutoff",type:"function",inputs:[{name:"cutoff",type:"uint256",internalType:"uint256"}],outputs:[{name:"",type:"uint64",internalType:"uint64"}],stateMutability:"view"},{name:"roundOf",type:"function",inputs:[{name:"drawId",type:"uint256",internalType:"uint256"}],outputs:[{name:"",type:"uint64",internalType:"uint64"}],stateMutability:"view"},{name:"roundTime",type:"function",inputs:[{name:"round",type:"uint64",internalType:"uint64"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"seedOf",type:"function",inputs:[{name:"",type:"uint256",internalType:"uint256"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"totalWeight",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"totalWeightAt",type:"function",inputs:[{name:"drawId",type:"uint256",internalType:"uint256"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"treeAccountAt",type:"function",inputs:[{name:"i",type:"uint256",internalType:"uint256"}],outputs:[{name:"",type:"address",internalType:"address"},{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"treeSize",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"vault",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"contract IPrizeVault"}],stateMutability:"view"},{name:"weightOf",type:"function",inputs:[{name:"account",type:"address",internalType:"address"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"weightOfAt",type:"function",inputs:[{name:"account",type:"address",internalType:"address"},{name:"drawId",type:"uint256",internalType:"uint256"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"wired",type:"function",inputs:[],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"}]},packs:{address:t("0x7cf28D61D42352Eb2FD68167e9B08f73CBbF21eB"),abi:[{name:"CHOICE_WINDOW",type:"function",inputs:[],outputs:[{name:"",type:"uint64",internalType:"uint64"}],stateMutability:"pure"},{name:"EXECUTE_DEADLINE",type:"function",inputs:[],outputs:[{name:"",type:"uint64",internalType:"uint64"}],stateMutability:"pure"},{name:"FEE_DEBT_CAP",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"MAX_BUYER_DEV_BPS",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"MAX_ORACLE_DEV_BPS",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"MIN_PREMIUM_WAD",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"PACK_INVENTORY_HARD_CAP",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"REVEAL_DEADLINE",type:"function",inputs:[],outputs:[{name:"",type:"uint64",internalType:"uint64"}],stateMutability:"pure"},{name:"REVEAL_DELAY",type:"function",inputs:[],outputs:[{name:"",type:"uint64",internalType:"uint64"}],stateMutability:"pure"},{name:"TIMELOCK_DELAY",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"assetCount",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"assetInfo",type:"function",inputs:[{name:"assetId",type:"uint256",internalType:"uint256"}],outputs:[{name:"token",type:"address",internalType:"address"},{name:"feed",type:"address",internalType:"address"},{name:"symbol",type:"string",internalType:"string"},{name:"active",type:"bool",internalType:"bool"}],stateMutability:"view"},{name:"bHwm",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"boxInfo",type:"function",inputs:[{name:"boxId",type:"uint256",internalType:"uint256"}],outputs:[{name:"state",type:"uint8",internalType:"uint8"},{name:"buyer",type:"address",internalType:"address"},{name:"round",type:"uint64",internalType:"uint64"},{name:"boughtAt",type:"uint64",internalType:"uint64"},{name:"revealedAt",type:"uint64",internalType:"uint64"},{name:"election",type:"uint8",internalType:"uint8"},{name:"executed",type:"bool",internalType:"bool"},{name:"tierId",type:"uint256",internalType:"uint256"},{name:"assetId",type:"uint256",internalType:"uint256"},{name:"priceUsdg",type:"uint256",internalType:"uint256"},{name:"payoutNet",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"boxOf",type:"function",inputs:[{name:"boxId",type:"uint256",internalType:"uint256"}],outputs:[{name:"",type:"tuple",components:[{name:"buyer",type:"address",internalType:"address"},{name:"tierId",type:"uint16",internalType:"uint16"},{name:"ladderVersion",type:"uint32",internalType:"uint32"},{name:"state",type:"uint8",internalType:"enum IPackDesk.BoxState"},{name:"election",type:"uint8",internalType:"enum IPackDesk.Election"},{name:"executed",type:"bool",internalType:"bool"},{name:"zeroSwap",type:"bool",internalType:"bool"},{name:"usdgFallback",type:"bool",internalType:"bool"},{name:"asset",type:"address",internalType:"address"},{name:"feed",type:"address",internalType:"address"},{name:"buyTime",type:"uint64",internalType:"uint64"},{name:"revealTime",type:"uint64",internalType:"uint64"},{name:"round",type:"uint64",internalType:"uint64"},{name:"rung",type:"uint8",internalType:"uint8"},{name:"priceUsdg",type:"uint96",internalType:"uint96"},{name:"conversionMarkWad",type:"uint256",internalType:"uint256"},{name:"bHwmBuyWad",type:"uint256",internalType:"uint256"},{name:"payoutMaxNet",type:"uint256",internalType:"uint256"},{name:"payoutNet",type:"uint256",internalType:"uint256"},{name:"debtReservedUsdg",type:"uint256",internalType:"uint256"},{name:"softReservedUsdg",type:"uint256",internalType:"uint256"},{name:"heldUsdg",type:"uint256",internalType:"uint256"},{name:"heldFeeUsdg",type:"uint256",internalType:"uint256"},{name:"escrowUnits",type:"uint256",internalType:"uint256"},{name:"escrowCostUsdg",type:"uint256",internalType:"uint256"},{name:"fillPriceWad",type:"uint256",internalType:"uint256"}],internalType:"struct IPackDesk.Box"}],stateMutability:"view"},{name:"boxRungs",type:"function",inputs:[{name:"boxId",type:"uint256",internalType:"uint256"}],outputs:[{name:"",type:"tuple[]",components:[{name:"probabilityBps",type:"uint32",internalType:"uint32"},{name:"multipleBps",type:"uint32",internalType:"uint32"}],internalType:"struct IPackDesk.Rung[]"}],stateMutability:"view"},{name:"bufferAvailable",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"bufferUsdg",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"conversionMarkWad",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"cumulativeKeptFeeOwed",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"cumulativeTreasuryRemitted",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"debtReservedUsdg",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"escrowedUnits",type:"function",inputs:[{name:"token",type:"address",internalType:"address"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"executeSigner",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{name:"executeUsdgIn",type:"function",inputs:[{name:"boxId",type:"uint256",internalType:"uint256"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"feedAdapter",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"contract IRwaFeedAdapter"}],stateMutability:"view"},{name:"feedOf",type:"function",inputs:[{name:"token",type:"address",internalType:"address"}],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{name:"halted",type:"function",inputs:[],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{name:"heldBoxUsdg",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"heldFeeUsdg",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"inventoryNet",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"ledgerOutstanding",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"ledgerOverCapUsdg",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"manager",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{name:"menuAssets",type:"function",inputs:[],outputs:[{name:"",type:"address[]",internalType:"address[]"}],stateMutability:"view"},{name:"net",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"contract IERC20"}],stateMutability:"view"},{name:"nextBoxId",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"noteAt",type:"function",inputs:[{name:"account",type:"address",internalType:"address"},{name:"i",type:"uint256",internalType:"uint256"}],outputs:[{name:"",type:"tuple",components:[{name:"payout",type:"uint256",internalType:"uint256"},{name:"claimed",type:"uint256",internalType:"uint256"},{name:"start",type:"uint64",internalType:"uint64"},{name:"end",type:"uint64",internalType:"uint64"}],internalType:"struct IPackDesk.Note"}],stateMutability:"view"},{name:"noteCount",type:"function",inputs:[{name:"account",type:"address",internalType:"address"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"noteCursor",type:"function",inputs:[{name:"account",type:"address",internalType:"address"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"openBoxes",type:"function",inputs:[{name:"account",type:"address",internalType:"address"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"owedNet",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"packInventoryMax",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"pair",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{name:"pairOracle",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{name:"pendingAssetOf",type:"function",inputs:[{name:"token",type:"address",internalType:"address"}],outputs:[{name:"feed",type:"address",internalType:"address"},{name:"eta",type:"uint64",internalType:"uint64"}],stateMutability:"view"},{name:"pendingFor",type:"function",inputs:[{name:"account",type:"address",internalType:"address"}],outputs:[{name:"totalPending",type:"uint256",internalType:"uint256"},{name:"claimableNow",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"pendingRefundUsdg",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"pendingShelfMaxPrize",type:"function",inputs:[],outputs:[{name:"valueUsd",type:"uint256",internalType:"uint256"},{name:"eta",type:"uint64",internalType:"uint64"}],stateMutability:"view"},{name:"quoteLadderNet",type:"function",inputs:[{name:"tierId",type:"uint256",internalType:"uint256"}],outputs:[{name:"payoutNet",type:"uint256[]",internalType:"uint256[]"}],stateMutability:"view"},{name:"reservedNet",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"routerSource",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"contract IRouterSource"}],stateMutability:"view"},{name:"shelfMaxPrizeUsd",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"sigRegistry",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"contract IDrandSigRegistry"}],stateMutability:"view"},{name:"sleeve",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{name:"softReservedBufferUsdg",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"tierCount",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"tierInfo",type:"function",inputs:[{name:"tierId",type:"uint256",internalType:"uint256"}],outputs:[{name:"priceUsdg",type:"uint256",internalType:"uint256"},{name:"active",type:"bool",internalType:"bool"}],stateMutability:"view"},{name:"tierLadder",type:"function",inputs:[{name:"tierId",type:"uint256",internalType:"uint256"}],outputs:[{name:"probabilityBps",type:"uint16[]",internalType:"uint16[]"},{name:"multipleBps",type:"uint32[]",internalType:"uint32[]"}],stateMutability:"view"},{name:"tierMeta",type:"function",inputs:[{name:"tierId",type:"uint256",internalType:"uint256"}],outputs:[{name:"priceUsdg",type:"uint96",internalType:"uint96"},{name:"evTargetBps",type:"uint16",internalType:"uint16"},{name:"ladderVersion",type:"uint32",internalType:"uint32"},{name:"active",type:"bool",internalType:"bool"}],stateMutability:"view"},{name:"tierPrice",type:"function",inputs:[{name:"tierId",type:"uint256",internalType:"uint256"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"tierRungs",type:"function",inputs:[{name:"tierId",type:"uint256",internalType:"uint256"}],outputs:[{name:"",type:"tuple[]",components:[{name:"probabilityBps",type:"uint32",internalType:"uint32"},{name:"multipleBps",type:"uint32",internalType:"uint32"}],internalType:"struct IPackDesk.Rung[]"}],stateMutability:"view"},{name:"treasury",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"contract IPackTreasuryBacking"}],stateMutability:"view"},{name:"usdg",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"contract IERC20"}],stateMutability:"view"}]},climb:{address:t("0x21089CFCDbf47902A2F3950200cE9ea66bF79ee4"),abi:[{name:"EXECUTE_SIGNER",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{name:"FEED_ADAPTER",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"contract IRwaFeedAdapter"}],stateMutability:"view"},{name:"MANAGER_SLEEVE",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{name:"MAX_ORACLE_DEV_BPS",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"MAX_POSITIONS",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"MIN_ENTRY_DOLLARS",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"MIN_ENTRY_USDG",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"NET",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"contract IERC20"}],stateMutability:"view"},{name:"POOL",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{name:"RESIGN_CHALLENGE_WINDOW",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"RESIGN_PENALTY_BPS",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"RESIGN_REQUEST_TTL",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"ROUTER",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"contract IUniswapV2Router02"}],stateMutability:"view"},{name:"ROUTER_SOURCE",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"contract IRouterSource"}],stateMutability:"view"},{name:"SNET",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"contract IsNETGons"}],stateMutability:"view"},{name:"STAKING",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"contract IStaking"}],stateMutability:"view"},{name:"USDG",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"contract IERC20"}],stateMutability:"view"},{name:"approvedEquity",type:"function",inputs:[{name:"",type:"address",internalType:"address"}],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{name:"equityFeed",type:"function",inputs:[{name:"",type:"address",internalType:"address"}],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{name:"equityOf",type:"function",inputs:[{name:"player",type:"address",internalType:"address"},{name:"token",type:"address",internalType:"address"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"forfeitedEquity",type:"function",inputs:[{name:"",type:"address",internalType:"address"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"gonsOf",type:"function",inputs:[{name:"player",type:"address",internalType:"address"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"netBookOf",type:"function",inputs:[{name:"player",type:"address",internalType:"address"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"operator",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{name:"positionsOf",type:"function",inputs:[{name:"player",type:"address",internalType:"address"}],outputs:[{name:"",type:"address[]",internalType:"address[]"}],stateMutability:"view"},{name:"resignRequestedAt",type:"function",inputs:[{name:"",type:"address",internalType:"address"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"resignStatusOf",type:"function",inputs:[{name:"player",type:"address",internalType:"address"}],outputs:[{name:"readyAt",type:"uint256",internalType:"uint256"},{name:"expiresAt",type:"uint256",internalType:"uint256"},{name:"finalizable",type:"bool",internalType:"bool"}],stateMutability:"view"},{name:"totalGons",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"}]},jackpot:{address:t("0xF125Ad8ABdE2591609a982e0b6a51309fdF7Db37"),abi:[{name:"ANTE_FLOOR_BPS",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"DRAND",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"contract IDrandSigRegistry"}],stateMutability:"view"},{name:"ENTRY_DELAY",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"MAX_ASSETS",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"MAX_JACKPOT_BPS",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"MAX_WIN_ODDS_BPS",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"NET",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"contract IERC20"}],stateMutability:"view"},{name:"PAYOUT_BPS",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"ROLLS",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"TEAM",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{name:"USDG",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"contract IERC20"}],stateMutability:"view"},{name:"anteFloorBps",type:"function",inputs:[{name:"",type:"uint256",internalType:"uint256"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"pure"},{name:"anteOf",type:"function",inputs:[{name:"",type:"address",internalType:"address"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"assetCount",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"assets",type:"function",inputs:[{name:"",type:"uint256",internalType:"uint256"}],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{name:"barred",type:"function",inputs:[{name:"",type:"address",internalType:"address"}],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{name:"desk",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{name:"entitled",type:"function",inputs:[{name:"",type:"address",internalType:"address"}],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{name:"entryRound",type:"function",inputs:[{name:"",type:"address",internalType:"address"}],outputs:[{name:"",type:"uint64",internalType:"uint64"}],stateMutability:"view"},{name:"jackpotBps",type:"function",inputs:[{name:"",type:"address",internalType:"address"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"liveEntries",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"minAnteFor",type:"function",inputs:[{name:"odds",type:"uint256",internalType:"uint256"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"operator",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{name:"poolNet",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"poolValue",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"router",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"contract IPoolQuoter"}],stateMutability:"view"},{name:"seedBalance",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"settled",type:"function",inputs:[{name:"",type:"bytes32",internalType:"bytes32"}],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{name:"snet",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"contract IERC20"}],stateMutability:"view"},{name:"tracked",type:"function",inputs:[{name:"",type:"address",internalType:"address"}],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{name:"winOddsBps",type:"function",inputs:[{name:"odds",type:"uint256",internalType:"uint256"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"pure"}]},coinflip:{address:t("0xA99D15dACe9aeDE816600A31C3e4158926000f3c"),abi:[{name:"CONVERSION_MAX_FEED_AGE",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"FEE_BPS",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"pure"},{name:"FLIP_DELAY",type:"function",inputs:[],outputs:[{name:"",type:"uint64",internalType:"uint64"}],stateMutability:"pure"},{name:"MANAGER_FEE_BPS",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"pure"},{name:"MAX_PAYOUT_BPS",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"pure"},{name:"MAX_SWAP_DEV_BPS",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"MAX_SWEEP_DEV_BPS",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"N_MAX",type:"function",inputs:[],outputs:[{name:"",type:"uint8",internalType:"uint8"}],stateMutability:"pure"},{name:"SLEEVE_FEE_BPS",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"pure"},{name:"VOID_DEADLINE",type:"function",inputs:[],outputs:[{name:"",type:"uint64",internalType:"uint64"}],stateMutability:"pure"},{name:"betOf",type:"function",inputs:[{name:"betId",type:"uint256",internalType:"uint256"}],outputs:[{name:"",type:"tuple",components:[{name:"bettor",type:"address",internalType:"address"},{name:"round",type:"uint64",internalType:"uint64"},{name:"betTime",type:"uint64",internalType:"uint64"},{name:"nCoins",type:"uint8",internalType:"uint8"},{name:"heads",type:"bool",internalType:"bool"},{name:"feeInUsdg",type:"bool",internalType:"bool"},{name:"state",type:"uint8",internalType:"enum ICoinFlipDesk.BetState"},{name:"stakeCoin",type:"uint256",internalType:"uint256"},{name:"payoutCoin",type:"uint256",internalType:"uint256"},{name:"feeAmount",type:"uint256",internalType:"uint256"}],internalType:"struct ICoinFlipDesk.Bet"}],stateMutability:"view"},{name:"coin",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"contract IERC20"}],stateMutability:"view"},{name:"coinFeed",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{name:"conversionOpen",type:"function",inputs:[],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{name:"cumFeeCoin",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"cumFeeRefundedCoin",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"cumFeeRefundedUsdg",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"cumFeeUsdg",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"cumManagerSweptCoin",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"cumManagerSweptUsdg",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"cumSleeveConvertedUsdg",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"cumSleeveSweptCoin",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"feeManagerCoin",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"feeManagerUsdg",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"feeSleeveCoin",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"feeSleeveUsdg",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"feedAdapter",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"contract IRwaFeedAdapter"}],stateMutability:"view"},{name:"freeBankrollCoin",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"halted",type:"function",inputs:[],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{name:"heldFeeCoin",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"heldFeeUsdg",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"houseFundCoin",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"manager",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{name:"markWad",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"maxPayoutCoin",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"maxStakeCoin",type:"function",inputs:[{name:"nCoins",type:"uint8",internalType:"uint8"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"minBetUsdWad",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"modeActive",type:"function",inputs:[{name:"nCoins",type:"uint8",internalType:"uint8"}],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{name:"nextBetId",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"reservedPayoutCoin",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"roundReservedCoin",type:"function",inputs:[{name:"",type:"uint64",internalType:"uint64"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"routerSource",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"contract IRouterSource"}],stateMutability:"view"},{name:"sigRegistry",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"contract IDrandSigRegistry"}],stateMutability:"view"},{name:"sleeve",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{name:"unsettledStakeCoin",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"usdg",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"contract IERC20"}],stateMutability:"view"}]},invaders:{address:t("0x75EdFE49d9ec8c23A9931C5EF32eC56b2444A141"),abi:[{name:"CONVERSION_MAX_FEED_AGE",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"FEE_BPS",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"pure"},{name:"FLIP_DELAY",type:"function",inputs:[],outputs:[{name:"",type:"uint64",internalType:"uint64"}],stateMutability:"pure"},{name:"MANAGER_FEE_BPS",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"pure"},{name:"MAX_PAYOUT_BPS",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"pure"},{name:"MAX_SWAP_DEV_BPS",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"MAX_SWEEP_DEV_BPS",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"R_MAX",type:"function",inputs:[],outputs:[{name:"",type:"uint8",internalType:"uint8"}],stateMutability:"pure"},{name:"SLEEVE_FEE_BPS",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"pure"},{name:"VOID_DEADLINE",type:"function",inputs:[],outputs:[{name:"",type:"uint64",internalType:"uint64"}],stateMutability:"pure"},{name:"ballsPerBatchMax",type:"function",inputs:[],outputs:[{name:"",type:"uint16",internalType:"uint16"}],stateMutability:"view"},{name:"batchOf",type:"function",inputs:[{name:"batchId",type:"uint256",internalType:"uint256"}],outputs:[{name:"",type:"tuple",components:[{name:"bettor",type:"address",internalType:"address"},{name:"round",type:"uint64",internalType:"uint64"},{name:"betTime",type:"uint64",internalType:"uint64"},{name:"riskTier",type:"uint8",internalType:"uint8"},{name:"feeInUsdg",type:"bool",internalType:"bool"},{name:"state",type:"uint8",internalType:"enum ISpacexInvadersDesk.BatchState"},{name:"nBalls",type:"uint16",internalType:"uint16"},{name:"stakePerBall",type:"uint256",internalType:"uint256"},{name:"maxPayout",type:"uint256",internalType:"uint256"},{name:"feeAmount",type:"uint256",internalType:"uint256"},{name:"launchColumns",type:"uint8[]",internalType:"uint8[]"}],internalType:"struct ISpacexInvadersDesk.Batch"}],stateMutability:"view"},{name:"bucketFor",type:"function",inputs:[{name:"launchColumn",type:"uint8",internalType:"uint8"},{name:"bits",type:"uint256",internalType:"uint256"}],outputs:[{name:"",type:"uint8",internalType:"uint8"}],stateMutability:"view"},{name:"columnEvWad",type:"function",inputs:[{name:"riskTier",type:"uint8",internalType:"uint8"},{name:"launchColumn",type:"uint8",internalType:"uint8"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"conversionOpen",type:"function",inputs:[],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{name:"cumFeeRefundedSpcx",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"cumFeeRefundedUsdg",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"cumFeeSpcx",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"cumFeeUsdg",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"cumManagerSweptSpcx",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"cumManagerSweptUsdg",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"cumSleeveConvertedUsdg",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"cumSleeveSweptSpcx",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"evBandHighWad",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"evBandLowWad",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"feeManagerSpcx",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"feeManagerUsdg",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"feeSleeveSpcx",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"feeSleeveUsdg",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"feedAdapter",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"contract IRwaFeedAdapter"}],stateMutability:"view"},{name:"freeBankrollSpcx",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"halted",type:"function",inputs:[],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{name:"heldFeeSpcx",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"heldFeeUsdg",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"houseFundSpcx",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"ladderOf",type:"function",inputs:[{name:"riskTier",type:"uint8",internalType:"uint8"}],outputs:[{name:"",type:"uint256[]",internalType:"uint256[]"}],stateMutability:"view"},{name:"manager",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{name:"markWad",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"maxBalls",type:"function",inputs:[{name:"riskTier",type:"uint8",internalType:"uint8"},{name:"stakePerBall",type:"uint256",internalType:"uint256"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"maxMultiplierWad",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"maxPayoutSpcx",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"minBetUsdWad",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"minOperatingBankrollSpcx",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"nextBatchId",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"reservedPayoutSpcx",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"roundReservedSpcx",type:"function",inputs:[{name:"",type:"uint64",internalType:"uint64"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"routerSource",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"contract IRouterSource"}],stateMutability:"view"},{name:"rows",type:"function",inputs:[],outputs:[{name:"",type:"uint8",internalType:"uint8"}],stateMutability:"view"},{name:"sigRegistry",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"contract IDrandSigRegistry"}],stateMutability:"view"},{name:"sleeve",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{name:"spcx",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"contract IERC20"}],stateMutability:"view"},{name:"spcxFeed",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{name:"tierCount",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"tierMaxMultiplierWad",type:"function",inputs:[{name:"riskTier",type:"uint8",internalType:"uint8"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"unsettledStakeSpcx",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"usdg",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"contract IERC20"}],stateMutability:"view"}]},flight:{address:t("0xF56e517652bb18E519871ABb13A382D205f6e375"),abi:[{name:"CONVERSION_MAX_FEED_AGE",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"FEE_BPS",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"pure"},{name:"FLIGHT_DELAY",type:"function",inputs:[],outputs:[{name:"",type:"uint64",internalType:"uint64"}],stateMutability:"pure"},{name:"MANAGER_FEE_BPS",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"pure"},{name:"MAX_MULT_WAD",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"pure"},{name:"MAX_PAYOUT_BPS",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"pure"},{name:"MAX_SWAP_DEV_BPS",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"MAX_SWEEP_DEV_BPS",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"MIN_TARGET_WAD",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"pure"},{name:"RTP_WAD",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"pure"},{name:"SLEEVE_FEE_BPS",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"pure"},{name:"VOID_DEADLINE",type:"function",inputs:[],outputs:[{name:"",type:"uint64",internalType:"uint64"}],stateMutability:"pure"},{name:"betOf",type:"function",inputs:[{name:"betId",type:"uint256",internalType:"uint256"}],outputs:[{name:"",type:"tuple",components:[{name:"bettor",type:"address",internalType:"address"},{name:"round",type:"uint64",internalType:"uint64"},{name:"betTime",type:"uint64",internalType:"uint64"},{name:"state",type:"uint8",internalType:"enum IFlightSimDesk.BetState"},{name:"feeInUsdg",type:"bool",internalType:"bool"},{name:"stakeMsft",type:"uint256",internalType:"uint256"},{name:"targetWad",type:"uint256",internalType:"uint256"},{name:"reservedMsft",type:"uint256",internalType:"uint256"},{name:"feeAmount",type:"uint256",internalType:"uint256"}],internalType:"struct IFlightSimDesk.Bet"}],stateMutability:"view"},{name:"conversionOpen",type:"function",inputs:[],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{name:"crashAltOf",type:"function",inputs:[{name:"betId",type:"uint256",internalType:"uint256"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"cumFeeMsft",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"cumFeeRefundedMsft",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"cumFeeRefundedUsdg",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"cumFeeUsdg",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"cumManagerSweptMsft",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"cumManagerSweptUsdg",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"cumSleeveConvertedUsdg",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"cumSleeveSweptMsft",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"feeManagerMsft",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"feeManagerUsdg",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"feeSleeveMsft",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"feeSleeveUsdg",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"feedAdapter",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"contract IRwaFeedAdapter"}],stateMutability:"view"},{name:"freeBankrollMsft",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"halted",type:"function",inputs:[],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{name:"heldFeeMsft",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"heldFeeUsdg",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"houseFundMsft",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"manager",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{name:"markWad",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"maxPayoutMsft",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"maxStakeMsft",type:"function",inputs:[{name:"targetWad",type:"uint256",internalType:"uint256"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"minBetUsdWad",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"minOperatingBankrollMsft",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"msft",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"contract IERC20"}],stateMutability:"view"},{name:"msftFeed",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{name:"nextBetId",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"reservedPayoutMsft",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"roundReservedMsft",type:"function",inputs:[{name:"",type:"uint64",internalType:"uint64"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"routerSource",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"contract IRouterSource"}],stateMutability:"view"},{name:"sigRegistry",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"contract IDrandSigRegistry"}],stateMutability:"view"},{name:"sleeve",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{name:"unsettledStakeMsft",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"usdg",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"contract IERC20"}],stateMutability:"view"}]},baskets:{address:t("0xa8D5C34Aef923D73aE9161Ea934EB27A2219E416"),abi:[{name:"domainSeparator",type:"function",inputs:[],outputs:[{name:"",type:"bytes32",internalType:"bytes32"}],stateMutability:"view"},{name:"finalDigest",type:"function",inputs:[{name:"f",type:"tuple",components:[{name:"matchId",type:"uint256",internalType:"uint256"},{name:"refereeSecret",type:"bytes32",internalType:"bytes32"},{name:"saltsHash",type:"bytes32",internalType:"bytes32"},{name:"seed",type:"bytes32",internalType:"bytes32"},{name:"inputLogHash",type:"bytes32",internalType:"bytes32"},{name:"players",type:"address[]",internalType:"address[]"},{name:"picks",type:"uint8[]",internalType:"uint8[]"},{name:"bagCents",type:"uint256[]",internalType:"uint256[]"},{name:"unclaimedCents",type:"uint256",internalType:"uint256"},{name:"goldSeat",type:"uint8",internalType:"uint8"},{name:"rollRound",type:"uint64",internalType:"uint64"}],internalType:"struct IBasketsDesk.Final"}],outputs:[{name:"",type:"bytes32",internalType:"bytes32"}],stateMutability:"view"},{name:"houseBucketManager",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"houseBucketSleeve",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"houseSigner",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{name:"jackpot",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"joinersOf",type:"function",inputs:[{name:"matchId",type:"uint256",internalType:"uint256"}],outputs:[{name:"",type:"tuple[]",components:[{name:"player",type:"address",internalType:"address"},{name:"pick",type:"uint8",internalType:"uint8"}],internalType:"struct IBasketsDesk.Joiner[]"}],stateMutability:"view"},{name:"keeper",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{name:"manager",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{name:"matchOf",type:"function",inputs:[{name:"matchId",type:"uint256",internalType:"uint256"}],outputs:[{name:"",type:"tuple",components:[{name:"status",type:"uint8",internalType:"enum IBasketsDesk.Status"},{name:"n",type:"uint8",internalType:"uint8"},{name:"goldSeat",type:"uint8",internalType:"uint8"},{name:"rolled",type:"bool",internalType:"bool"},{name:"startAt",type:"uint64",internalType:"uint64"},{name:"floorRound",type:"uint64",internalType:"uint64"},{name:"rollRound",type:"uint64",internalType:"uint64"},{name:"seedCommit",type:"bytes32",internalType:"bytes32"}],internalType:"struct IBasketsDesk.Match"}],stateMutability:"view"},{name:"openEscrow",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"permit2",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"contract ISignatureTransfer"}],stateMutability:"view"},{name:"relayer",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{name:"retired",type:"function",inputs:[],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{name:"routerSource",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"contract IRouterSource"}],stateMutability:"view"},{name:"sigRegistry",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"contract IDrandSigRegistry"}],stateMutability:"view"},{name:"sleeve",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{name:"tokenOf",type:"function",inputs:[{name:"t",type:"uint8",internalType:"uint8"}],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{name:"usdg",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"contract IERC20"}],stateMutability:"view"}]},turbo_router:{address:t("0x4638617808e3f1Cf237c0d33Ae818126D5C77E17"),abi:[{name:"currentLtvWad",type:"function",inputs:[{name:"account",type:"address",internalType:"address"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"irm",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{name:"lltv",type:"function",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"marketId",type:"function",inputs:[],outputs:[{name:"",type:"bytes32",internalType:"bytes32"}],stateMutability:"view"},{name:"marketParams",type:"function",inputs:[],outputs:[{name:"",type:"tuple",components:[{name:"loanToken",type:"address",internalType:"address"},{name:"collateralToken",type:"address",internalType:"address"},{name:"oracle",type:"address",internalType:"address"},{name:"irm",type:"address",internalType:"address"},{name:"lltv",type:"uint256",internalType:"uint256"}],internalType:"struct IMorphoBlue.MarketParams"}],stateMutability:"view"},{name:"morpho",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"contract IMorphoBlue"}],stateMutability:"view"},{name:"net",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"contract IERC20"}],stateMutability:"view"},{name:"oracle",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{name:"sNet",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"contract IERC20"}],stateMutability:"view"},{name:"staking",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"contract IStaking"}],stateMutability:"view"},{name:"swapRouter",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"contract IUniswapV2Router02"}],stateMutability:"view"},{name:"usdg",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"contract IERC20"}],stateMutability:"view"},{name:"wsNet",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"contract IWsNET"}],stateMutability:"view"},{name:"zap",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"contract IZap"}],stateMutability:"view"}]}};export{n as a};
@@ -0,0 +1 @@
1
+ import{b as H,o as q}from"./CAU44UWP.js";import{a as de,b as ce,c as le}from"./HFQS5344.js";import{a as ae}from"./G7UKNO2I.js";import{a as ue,b as me}from"./BYXBS45D.js";import{a as pe}from"./GZ5TW3WB.js";import{e as U,h as B,m as re}from"./5EHQM6DM.js";import{b as ie}from"./AXYOJBX6.js";import{a as E}from"./EG6M6SSO.js";import{c as se}from"./MYBDO5SA.js";import{c as M,e as x,g as w,k as ee,l as ne,m as te,n as oe}from"./73N3TOJL.js";import{a as h,i as Y}from"./XPFVT2EA.js";import{a as s}from"./5YS5V2LK.js";import{decodeFunctionResult as Ce,encodeAbiParameters as F,encodeFunctionData as N,erc20Abi as V,isAddress as Ie,parseAbi as we,parseAbiParameters as j,toHex as J,zeroAddress as W}from"viem";var k=Y[h].clanker,fe=we(["function deployToken(((address tokenAdmin,string name,string symbol,bytes32 salt,string image,string metadata,string context,uint256 originatingChainId) tokenConfig,(address hook,address pairedToken,int24 tickIfToken0IsClanker,int24 tickSpacing,bytes poolData) poolConfig,(address locker,address[] rewardAdmins,address[] rewardRecipients,uint16[] rewardBps,int24[] tickLower,int24[] tickUpper,uint16[] positionBps,bytes lockerData) lockerConfig,(address mevModule,bytes mevModuleData) mevModuleConfig,(address extension,uint256 msgValue,uint16 extensionBps,bytes extensionData)[] extensionConfigs) config) payable returns (address)","function tokenDeploymentInfo(address) view returns ((address,address,address,address[]))"]),C=we(["function availableFees(address,address) view returns (uint256)","function claim(address,address)","function collectRewards(address)","function mevModuleEnabled(bytes32) view returns (bool)","function mevModuleOperational(bytes32) returns (bool)"]),I={address:k.paired_weth.address,symbol:"WETH",decimals:18,chainId:h},Pe="https://www.clanker.world/api/tokens",ye={type:"string",pattern:"^\\d+$"},he={type:"string",pattern:"^0x[0-9a-fA-F]{64}$"};function P(n){return ne(ee(n,U),U)}function ge(n,t){if(typeof n!="string"||!/^0x[0-9a-fA-F]{64}$/.test(n))throw new s(`Provide an explicit bytes32 ${t}.`);return n}function T(n,t,a=!1){if(n===void 0&&!a)return"";if(typeof n!="string"||a&&!n.trim())throw new s(`Provide ${t} as text.`);return n}function z(n,t=256){return oe(n,`Amount exceeds the uint${t} range.`,{bits:t})}function G(n){return te(n,"The contract returned an invalid amount.").toString()}function O(n,t){let a=Object.keys(n).find(p=>!t.includes(p));if(a)throw new s(`Unsupported Clanker input: ${a}.`)}function be(n,t){return t.changes.map(({token:a,amount:p})=>{let b=p.startsWith("-");return`${b?"-":"+"}${n.formatAmount(b?p.slice(1):p,a.decimals)} ${a.symbol} (${a.address}, chain ${a.chainId})`}).join("; ")}function Te(n){return x(n)&&Array.isArray(n.data)&&Number.isSafeInteger(n.total)&&Number(n.total)>=0&&Number.isSafeInteger(n.tokensDeployed)&&Number(n.tokensDeployed)>=0&&(n.cursor===null||typeof n.cursor=="string"||n.cursor===void 0&&n.data.length===0&&n.total===0&&n.tokensDeployed===0)&&n.data.every(t=>x(t)&&typeof t.name=="string"&&typeof t.symbol=="string"&&Number.isSafeInteger(t.chain_id)&&["contract_address","admin","msg_sender","factory_address"].every(a=>typeof t[a]=="string"&&Ie(t[a],{strict:!1})))}async function ve(n,t={}){O(t,["q","limit","cursor","deployer"]);let a=t.limit??10;if(typeof a!="number"||!Number.isInteger(a)||a<1||a>20)throw new s("Choose an indexer limit from 1 to 20.");let p=new URL(Pe);p.searchParams.set("chainId",String(h)),p.searchParams.set("limit",String(a)),t.q!==void 0&&p.searchParams.set("q",T(t.q,"search")),t.cursor!==void 0&&p.searchParams.set("cursor",T(t.cursor,"cursor",!0)),t.deployer!==void 0&&p.searchParams.set("msgSender",P(t.deployer));let b=await se(n.http,p.toString(),{headers:{"User-Agent":"Oak-Clanker/1.0"}},Te);return{tokens:b.data.filter(v=>v.chain_id===h&&w(v.factory_address,k.factory.address)),total:b.total,cursor:b.cursor||null,tokensDeployed:b.tokensDeployed}}var Se=n=>{let t=()=>n.clientFor(h),a=async e=>{try{return await e()}catch(i){throw new s(n.plainError(i))}},p=(e,i,l,d="0")=>n.unsignedTx({to:e,data:i,value:d,chainId:h,description:l}),b=async(e,i)=>G(await t().readContract({address:k.fee_locker.address,abi:C,functionName:"availableFees",args:[e,i]})),v=async e=>{if(w(e,I.address))return I;let[i,l]=await Promise.all([t().readContract({address:e,abi:V,functionName:"symbol"}),t().readContract({address:e,abi:V,functionName:"decimals"})]);if(typeof i!="string"||!i.trim()||!Number.isInteger(l)||l<0||l>255)throw new s("The contract returned invalid token metadata.");return{address:e,chainId:h,symbol:i,decimals:l}},Z=e=>ve(n,e),ke=async(e,i)=>{if(O(e,["name","symbol","salt","image","metadata","context","vanity","initialBuy","minAmountOut","slippageBps","rewards","vault","airdrop","feeBps","pool"]),e.vanity!==void 0&&e.vanity!==!1)throw new s("Clanker launches use vanity false and an explicit salt.");let l=T(e.name,"token name",!0),d=T(e.symbol,"token symbol",!0),g=ge(e.salt,"salt"),f=z(e.initialBuy??"0"),u=e.slippageBps??H;if(typeof u!="number")throw new s("Slippage must be an integer from 0 to 9999 bps.");q("0",u);let o=e.minAmountOut===void 0?void 0:z(e.minAmountOut,128);if(o!==void 0&&o<=1n)throw new s("Initial-buy minimum must exceed one base unit.");if(!f&&o!==void 0)throw new s("A minimum requires a positive initial buy.");let c=ce(e,i);B(e.feeBps??100,0,1e3);let y=me(e);if(f&&!w(y.poolConfig.pairedToken,I.address))throw new s("An initial ETH buy currently requires a WETH-paired pool. Launch without an initial buy and obtain a protected swap quote separately.");let r=e.rewards??[{admin:i,recipient:i,bps:1e4,feePreference:0}];if(!Array.isArray(r)||!r.length||r.length>7)throw new s("Provide one to seven reward allocations.");let A=r.map(m=>{if(!x(m))throw new s("Provide reward allocations as objects.");return O(m,["admin","recipient","bps","feePreference"]),{admin:P(m.admin),recipient:P(m.recipient),bps:B(m.bps,1,1e4),feePreference:B(m.feePreference??0,0,2)}});if(A.reduce((m,S)=>m+S.bps,0)!==1e4)throw new s("Reward allocations must total 10000 bps.");let $={tokenConfig:{tokenAdmin:i,name:l,symbol:d,salt:g,image:T(e.image,"image"),metadata:T(e.metadata,"metadata"),context:e.context===void 0?JSON.stringify({interface:"Oak",platform:"robinhood"}):T(e.context,"context"),originatingChainId:BigInt(h)},poolConfig:y.poolConfig,lockerConfig:{locker:k.locker.address,rewardAdmins:A.map(m=>m.admin),rewardRecipients:A.map(m=>m.recipient),rewardBps:A.map(m=>m.bps),tickLower:y.tickLower,tickUpper:y.tickUpper,positionBps:y.positionBps,lockerData:F(j("(uint8[])"),[[A.map(m=>m.feePreference)]])},mevModuleConfig:{mevModule:k.mev_module.address,mevModuleData:F(j("(uint24,uint24,uint256)"),[[666777,41673,15n]])},extensionConfigs:c},xe=await t().simulateContract({address:k.factory.address,abi:fe,functionName:"deployToken",args:[$],account:i,value:0n,gas:E}),_=P(xe.result),K=m=>{let S=[...c,...f?[{extension:k.devbuy.address,msgValue:f,extensionBps:0,extensionData:F(j("(address,address,uint24,int24,address),uint128,address"),[[W,W,0,0,W],m,i])}]:[]];return p(k.factory.address,N({abi:fe,functionName:"deployToken",args:[{...$,extensionConfigs:S}]}),`Launch ${l} (${d}); initial buy ${f} native ETH base units.`,f.toString())};if(f&&o===void 0){let S=(await n.preview([K(0n)],i)).changes.filter(D=>D.token.chainId===h&&w(D.token.address,_)&&D.token.decimals===18).reduce((D,X)=>D+(/^-?\d+$/.test(X.amount)?BigInt(X.amount):(()=>{throw new s("Invalid initial-buy simulation amount.")})()),0n);if(S<=0n)throw new s("Initial-buy simulation returned no token output.");if(o=z(q(S.toString(),u),128),o<=1n)throw new s("Initial-buy output is too small for a protected minimum.")}let Q=[K(o??0n)],R=await n.preview(Q,i);return{txs:Q,preview:R,predictedToken:_,token:{address:_,chainId:h,symbol:d,decimals:18},...o!==void 0?{minAmountOut:o.toString()}:{},summary:`Launch ${d} at ${_} (CREATE2 address predicted from simulation); vanity false; salt ${g}. Supply 100000000000000000000000000000 base units (18 decimals). ${y.feeSummary}; protocol adds 20% of LP fees. Pool and LP allocations: ${JSON.stringify(y)}. Reward allocations: ${JSON.stringify(A)}. Extensions: ${JSON.stringify({vault:e.vault,airdrop:e.airdrop})}. Sniper fees 666777 to 41673 over 15 seconds. ${R.summary} ${be(n,R)}`}},Ae=async(e,i)=>{if(O(e,["token","poolId","collect"]),e.collect!==void 0&&typeof e.collect!="boolean")throw new s("collect must be boolean.");if(e.collect===!1&&e.poolId!==void 0)throw new s("poolId requires collection.");if(e.collect===!0&&e.token===void 0)throw new s("Collection requires a Clanker token.");if(e.poolId!==void 0&&e.token===void 0)throw new s("A pool ID requires its Clanker token.");let l=[I],d=[];if(e.token!==void 0){let o=P(e.token);if(w(o,I.address))throw new s("Provide the launched Clanker token, not WETH.");if(e.collect!==!1){let c=await re(n,o),{poolId:y,hook:r,locker:A}=c;if(e.poolId!==void 0&&!w(ge(e.poolId,"pool ID for fee collection"),y))throw new s("The supplied pool ID does not match the onchain Clanker pool.");w(c.pairedToken,I.address)||l.splice(0,1,await v(c.pairedToken));let $=await t().readContract({address:r,abi:C,functionName:"mevModuleEnabled",args:[y]});if(typeof $!="boolean")throw new s("The hook returned an invalid MEV guard state.");$&&d.push(p(r,N({abi:C,functionName:"mevModuleOperational",args:[y]}),"Update the Clanker pool MEV guard before collection.")),d.push(p(A,N({abi:C,functionName:"collectRewards",args:[o]}),"Collect pending LP fees into the fee locker."))}l.push(await v(o))}let g;if(d.length){if(await t().getChainId()!==h)throw new s("Fee simulation endpoint is on the wrong chain.");let o=[...d.map(r=>({from:i,gas:J(E),to:r.to,data:r.data,value:J(BigInt(r.value))})),...l.map(r=>({from:i,gas:J(E),to:k.fee_locker.address,data:N({abi:C,functionName:"availableFees",args:[i,r.address]}),value:"0x0"}))],c=await t().request({method:"eth_simulateV1",params:[{blockStateCalls:[{calls:o}],validation:!1,traceTransfers:!1},"latest"]},{retryCount:0});if(!Array.isArray(c)||c.length!==1||!x(c[0])||!Array.isArray(c[0].calls)||c[0].calls.length!==o.length)throw new s("The endpoint returned an unexpected fee simulation response.");let y=c[0].calls;if(!y.every(r=>x(r)&&r.status==="0x1"&&!r.error))throw new s("Clanker fee collection simulation failed.");g=y.slice(d.length).map(r=>{if(!x(r)||typeof r.returnData!="string"||!/^0x[0-9a-fA-F]{64}$/.test(r.returnData))throw new s("The endpoint returned an invalid fee balance.");return G(Ce({abi:C,functionName:"availableFees",data:r.returnData}))})}else g=await Promise.all(l.map(o=>b(i,o.address)));let f=l.flatMap((o,c)=>BigInt(g[c])>0n?[{token:o,amount:g[c]}]:[]);if(!f.length)throw new s("No claimable fees for this wallet; pending LP fees may require the MEV window to end.");for(let{token:o}of f)d.push(p(k.fee_locker.address,N({abi:C,functionName:"claim",args:[i,o.address]}),`Claim ${o.symbol} fees to ${i}.`));let u=await n.preview(d,i);return{txs:d,preview:u,fees:f,summary:`Claim fees to ${i}. WETH fees aggregate across all Clanker launches for this recipient. ${u.summary} ${be(n,u)}`}},L=(e,i,l,d)=>({name:`clanker_${e}`,inputSchema:{type:"object",properties:i,required:l,additionalProperties:!1},execute:(g,f)=>a(async()=>d(g,P(f)))});return{tools:[L("launch",{name:{type:"string"},symbol:{type:"string"},salt:he,image:{type:"string"},metadata:{type:"string"},context:{type:"string"},vanity:{const:!1},initialBuy:{...ye,description:"Native ETH base units, 18 decimals."},minAmountOut:{...ye,description:"Minimum new token base units, 18 decimals; derived from simulation when omitted."},slippageBps:{type:"integer",minimum:0,maximum:9999,default:H},feeBps:{type:"integer",minimum:0,maximum:1e3,default:100},pool:ue,rewards:{type:"array",minItems:1,maxItems:7,items:{type:"object",properties:{admin:M,recipient:M,bps:{type:"integer",minimum:1,maximum:1e4},feePreference:{type:"integer",minimum:0,maximum:2}},required:["admin","recipient","bps"],additionalProperties:!1}},...de},["name","symbol","salt"],ke),L("claim",{token:{...M,description:"Launched token; derives its onchain pool and collects pending LP fees before claiming."},poolId:{...he,description:"Optional assertion against the derived pool ID."},collect:{type:"boolean",default:!0,description:"Set false to claim only already-collected fees."}},[],Ae),L("browse",{q:{type:"string"},limit:{type:"integer",minimum:1,maximum:20},cursor:{type:"string"},deployer:M},[],Z)],positions:e=>a(async()=>{P(e);let i=new Map,l=new Set,d;do{let u=await Z({deployer:e,limit:20,...d?{cursor:d}:{}});for(let o of u.tokens)w(o.msg_sender,e)&&i.set(o.contract_address.toLowerCase(),o);if(u.cursor&&l.has(u.cursor))throw new s("The Clanker indexer repeated a pagination cursor.");u.cursor&&l.add(u.cursor),d=u.cursor??void 0}while(d);let g=[],f=[I];for(let[u,o]of i){let c=await v(o.contract_address),y=G(await t().readContract({address:c.address,abi:V,functionName:"balanceOf",args:[e]}));g.push({module:"clanker",id:`launch:${u}`,chainId:h,assets:[{token:c,amount:y}],description:`Indexed launch ${o.name}; wallet token balance, not locked LP principal.`}),f.some(r=>w(r.address,c.address))||f.push(c)}for(let u of f){let o=await b(e,u.address);BigInt(o)>0n&&g.push({module:"clanker",id:`fees:${u.address.toLowerCase()}`,chainId:h,assets:[{token:u,amount:o}],description:"Collected fees across launches for this recipient. Pending LP fees excluded; token-side discovery covers indexed launches by this wallet."})}return g})}},Fe=n=>ie("clanker",[Se(n),ae(n),le(n),pe(n)]);export{ve as a,Se as b,Fe as c};
@@ -0,0 +1 @@
1
+ import{d as b,g as W,h as j,m as z}from"./R7D256HG.js";import{b as C,c as F,s as B,z as R}from"./ANQ43XJA.js";import{a as X,e as q,g as D}from"./64AF7ECA.js";import{a as U}from"./UWOFA6GV.js";import{g as T}from"./73N3TOJL.js";import{a as O}from"./XPFVT2EA.js";import{a as c}from"./5YS5V2LK.js";import{decodeEventLog as J,parseAbi as V,toEventSelector as Z,toHex as x}from"viem";var K=V(["function getPositionInfo(bytes32 poolId,address owner,int24 tickLower,int24 tickUpper,bytes32 salt) view returns (uint128 liquidity,uint256 feeGrowthInside0LastX128,uint256 feeGrowthInside1LastX128)","function getFeeGrowthInside(bytes32 poolId,int24 tickLower,int24 tickUpper) view returns (uint256,uint256)"]),Q=V(["function ownerOf(uint256) view returns (address)","function getPoolAndPositionInfo(uint256) view returns ((address currency0,address currency1,uint24 fee,int24 tickSpacing,address hooks),uint256)"]),A=V(["function slot0() view returns (uint160,int24,uint16,uint16,uint16,uint8,bool)","function feeGrowthGlobal0X128() view returns (uint256)","function feeGrowthGlobal1X128() view returns (uint256)","function ticks(int24) view returns (uint128,int128,uint256,uint256,int56,uint160,uint32,bool)"]),$=(1n<<256n)-1n,ee=1n<<128n,P=(s,t)=>s-t&$;function G(s,t,r,n=0n){return P(s,t)*r/ee+n}function ue(s){return{tools:[{name:"uniswap_fees",inputSchema:{type:"object",additionalProperties:!1,required:["version","tokenId"],properties:{includeHistory:{type:"boolean",description:"V3 only: read the complete NFT collect/decrease event history for lifetime fees. This can require multiple RPC log windows."},version:{type:"string",enum:["v3","v4"]},tokenId:U()}},async execute(t){if(D(t,["version","tokenId","includeHistory"]),t.includeHistory!==void 0&&typeof t.includeHistory!="boolean")throw new c("includeHistory must be a boolean.");if(t.includeHistory===!0&&t.version!=="v3")throw new c("V4 position lifetime fees need historical liquidity/fee-growth checkpoints; no verified history source is configured.");let r=X(t.tokenId,"tokenId"),n=s.clientFor(O),i=await n.getBlockNumber();if(t.version!=="v3"&&t.version!=="v4")throw new c("Provide version v3 or v4 for fee reads.");let _=await n.readContract({address:t.version==="v4"?C:b.positionManager,abi:Q,functionName:"ownerOf",args:[r],blockNumber:i}),v,m,a,d,u,w=0n,p=0n;if(t.version==="v4"){let[e,f]=await n.readContract({address:C,abi:Q,functionName:"getPoolAndPositionInfo",args:[r],blockNumber:i}),{tickLower:h,tickUpper:N}=R(f),S=B(e),[k,I]=await Promise.all([n.readContract({address:F,abi:K,functionName:"getPositionInfo",args:[S,C,h,N,x(r,{size:32})],blockNumber:i}),n.readContract({address:F,abi:K,functionName:"getFeeGrowthInside",args:[S,h,N],blockNumber:i})]);[v,m,a]=[e.currency0,e.currency1,k[0]],[d,u]=[G(I[0],k[1],a),G(I[1],k[2],a)]}else if(t.version==="v3"){let e=z(await n.readContract({address:b.positionManager,abi:W,functionName:"positions",args:[r],blockNumber:i})),f=await n.readContract({address:b.factory,abi:j,functionName:"getPool",args:[e.token0,e.token1,e.fee],blockNumber:i}),[h,N,S,k,I]=await Promise.all([n.readContract({address:f,abi:A,functionName:"slot0",blockNumber:i}),n.readContract({address:f,abi:A,functionName:"feeGrowthGlobal0X128",blockNumber:i}),n.readContract({address:f,abi:A,functionName:"feeGrowthGlobal1X128",blockNumber:i}),n.readContract({address:f,abi:A,functionName:"ticks",args:[e.tickLower],blockNumber:i}),n.readContract({address:f,abi:A,functionName:"ticks",args:[e.tickUpper],blockNumber:i})]),M=(L,E,H)=>P(P(L,h[1]>=e.tickLower?E:P(L,E)),h[1]<e.tickUpper?H:P(L,H));[v,m,a]=[e.token0,e.token1,e.liquidity],[w,p]=[e.tokensOwed0,e.tokensOwed1],[d,u]=[G(M(N,k[2],I[2]),e.feeGrowthInside0LastX128,a,e.tokensOwed0),G(M(S,k[3],I[3]),e.feeGrowthInside1LastX128,a,e.tokensOwed1)]}else throw new c('Provide version "v3" or "v4" for fee reads.');let[o,g]=await Promise.all([q(s,v,i),q(s,m,i)]),y=[{token:o,amount:d.toString()},{token:g,amount:u.toString()}],l=t.includeHistory===!0?await te(s,r,i,d,u):void 0;return{version:t.version,tokenId:r.toString(),owner:_,blockNumber:i.toString(),liquidity:a.toString(),...t.version==="v4"?{uncollected:y}:{},collectable:y,feeGrowthAccrual:[{token:o,amount:(d-w).toString()},{token:g,amount:(u-p).toString()}],tokensOwed:[{token:o,amount:w.toString()},{token:g,amount:p.toString()}],...l?{lifetimeFees:[{token:o,amount:l[0].toString()},{token:g,amount:l[1].toString()}]}:{},summary:"One-block collectable estimate, excluding gas. V3 tokensOwed may include withdrawn principal; feeGrowthAccrual excludes those stored amounts. V4 hook accounting can change actual collections. V4 current liquidity times lifetime range growth is not lifetime position earnings."}}}]}}var Y=V(["event IncreaseLiquidity(uint256 indexed tokenId,uint128 liquidity,uint256 amount0,uint256 amount1)","event DecreaseLiquidity(uint256 indexed tokenId,uint128 liquidity,uint256 amount0,uint256 amount1)","event Collect(uint256 indexed tokenId,address recipient,uint256 amount0,uint256 amount1)"]);async function te(s,t,r,n,i){let _=s.clientFor(O),v=Y.map(o=>Z(o)),m=0n,a=0n,d=0n,u=0n,w=0;for(let o=0n;o<=r;o+=10000000n){let g=o+9999999n<r?o+9999999n:r,y=await _.request({method:"eth_getLogs",params:[{address:b.positionManager,topics:[v,x(t,{size:32})],fromBlock:x(o),toBlock:x(g)}]});if(!Array.isArray(y))throw new c("V3 lifetime fee history is unavailable; do not treat missing history as zero earnings.");for(let l of y){if(!T(l.address,b.positionManager))throw new c("Unexpected contract in v3 lifetime fee history.");let e=J({abi:Y,data:l.data,topics:l.topics});if(e.args.tokenId!==t)throw new c("Unexpected NFT in v3 fee history.");e.eventName==="Collect"?(m+=e.args.amount0,a+=e.args.amount1):e.eventName==="DecreaseLiquidity"?(d+=e.args.amount0,u+=e.args.amount1):w++}}if(w===0)throw new c("V3 mint/increase history is missing for this existing NFT; lifetime earnings are unknown.");let p=[m+n-d,a+i-u];if(p.some(o=>o<0n))throw new c("V3 fee history is incomplete or inconsistent; lifetime earnings are unknown.");return p}export{K as a,P as b,G as c,ue as d};
@@ -0,0 +1 @@
1
+ import{c as Ce,d as Me,e as we,f as ie,i as be,j as Ne}from"./3ACEWCKZ.js";import{b as ne,o as ge}from"./CAU44UWP.js";import{a as O,b as pe}from"./6IM6A5VA.js";import{a as Te}from"./EG6M6SSO.js";import{a as F,c as Ue}from"./RETS2ZEK.js";import{a as k,i as _}from"./XPFVT2EA.js";import{a as c,b as te,d as U}from"./5YS5V2LK.js";import{decodeFunctionResult as he,encodeFunctionData as R,getAddress as l,parseAbi as Z,zeroAddress as C}from"viem";var re=-887272,se=887272,z=(1n<<128n)-1n,Fe="0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",ze="0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",Ge="0x3067048beee31b25b2f1681f88dac838c8bba36af25bfb2b7cf7473a5847e35f",oe=2000n,je=5,Ke=1800n,f=Object.freeze({factory:l(_[4663].uniswap.v3_factory.address),positionManager:l(_[4663].uniswap.v3_position_manager.address),swapRouter02:l(_[4663].uniswap.swap_router02.address),permit2:l(_[4663].uniswap.permit2.address),weth:l(_[4663].uniswap.WETH.address),usdg:l(_[4663].uniswap.USDG.address),ethUsdgPool:l(_[4663].oracle.ethUsdgPool.address)}),xe=Object.freeze({100:1,500:10,3e3:60,1e4:200}),yt=Object.freeze([{fee:100,tickSpacing:1,address:l("0x52e65B17fB6E5BA00Ed806f37Afcd2DaA50271Ca"),token0:f.weth,token1:f.usdg,recordedLiquidity:"1957537485734736219",recordedSqrtPriceX96:"3839219776288481168641554",recordedTick:-198707,feeProtocol:68},{fee:500,tickSpacing:10,address:l("0x69bfaf19c9f377bb306a89aed9f6b07e2c1a8d9a"),token0:f.weth,token1:f.usdg,recordedLiquidity:"714542894544667104",recordedSqrtPriceX96:"3839644024453020182443671",recordedTick:-198705,feeProtocol:68},{fee:3e3,tickSpacing:60,address:l("0xa9188730fe85be88ad499d7d52b099e800fb0334"),token0:f.weth,token1:f.usdg,recordedLiquidity:"310559629687003603",recordedSqrtPriceX96:"3843235825752878635548672",recordedTick:-198686,feeProtocol:102},{fee:1e4,tickSpacing:200,address:l("0x5f009e071f07e92b6c624e83f52f17bbda34680d"),token0:f.weth,token1:f.usdg,recordedLiquidity:"5822966536584155",recordedSqrtPriceX96:"3853297838190389678059735",recordedTick:-198634,feeProtocol:102}]),x=Z(["function positions(uint256 tokenId) view returns (uint96 nonce, address operator, address token0, address token1, uint24 fee, int24 tickLower, int24 tickUpper, uint128 liquidity, uint256 feeGrowthInside0LastX128, uint256 feeGrowthInside1LastX128, uint128 tokensOwed0, uint128 tokensOwed1)","function ownerOf(uint256 tokenId) view returns (address)","function balanceOf(address owner) view returns (uint256)","function tokenOfOwnerByIndex(address owner, uint256 index) view returns (uint256)","function mint((address token0, address token1, uint24 fee, int24 tickLower, int24 tickUpper, uint256 amount0Desired, uint256 amount1Desired, uint256 amount0Min, uint256 amount1Min, address recipient, uint256 deadline) params) payable returns (uint256 tokenId, uint128 liquidity, uint256 amount0, uint256 amount1)","function increaseLiquidity((uint256 tokenId, uint256 amount0Desired, uint256 amount1Desired, uint256 amount0Min, uint256 amount1Min, uint256 deadline) params) payable returns (uint128 liquidity, uint256 amount0, uint256 amount1)","function decreaseLiquidity((uint256 tokenId, uint128 liquidity, uint256 amount0Min, uint256 amount1Min, uint256 deadline) params) payable returns (uint256 amount0, uint256 amount1)","function collect((uint256 tokenId, address recipient, uint128 amount0Max, uint128 amount1Max) params) payable returns (uint256 amount0, uint256 amount1)","function burn(uint256 tokenId) payable","function createAndInitializePoolIfNecessary(address token0, address token1, uint24 fee, uint160 sqrtPriceX96) payable returns (address pool)"]),Q=Z(["function getPool(address tokenA, address tokenB, uint24 fee) view returns (address pool)","function feeAmountTickSpacing(uint24 fee) view returns (int24)"]),ke=Z(["function slot0() view returns (uint160 sqrtPriceX96, int24 tick, uint16 observationIndex, uint16 observationCardinality, uint16 observationCardinalityNext, uint8 feeProtocol, bool unlocked)","function liquidity() view returns (uint128)","function tickSpacing() view returns (int24)","function fee() view returns (uint24)","function token0() view returns (address)","function token1() view returns (address)"]),Qe=Z(["function exactInputSingle((address tokenIn, address tokenOut, uint24 fee, address recipient, uint256 amountIn, uint256 amountOutMinimum, uint160 sqrtPriceLimitX96) params) payable returns (uint256 amountOut)"]),ye=Z(["function decimals() view returns (uint8)","function symbol() view returns (string)","function allowance(address owner, address spender) view returns (uint256)"]),Ye="0xd0e30db0";function Ze(t){if(typeof t!="string")return!1;let e=t.trim().toLowerCase();return e===C||e===Fe||e==="eth"||e==="native"}function E(t,e){if(Ze(t))throw new c(`Uniswap v3 requires wrapped ERC-20 WETH (${f.weth}) rather than native ETH in ${e}.`);if(typeof t!="string")throw new c(`${e} must be a valid 20-byte hex address.`);return O(t),l(t)}function Je(t,e,n){let a=Number(t),o=Number(e),i=Number(n);if(!Number.isInteger(i)||i<=0)throw new c("Uniswap v3 tickSpacing must be a positive integer.");if(!Number.isInteger(a)||!Number.isInteger(o))throw new c("Uniswap v3 tickLower and tickUpper must be integers.");if(a<re||o>se||a>se||o<re)throw new c(`Uniswap v3 ticks are out of bounds [${re}, ${se}].`);if(a>=o)throw new c("Uniswap v3 tickLower must be strictly less than tickUpper.");if(a%i!==0||o%i!==0)throw new c(`Uniswap v3 tickLower (${a}) and tickUpper (${o}) must be divisible by tickSpacing (${i}).`);return{tickLower:a,tickUpper:o,tickSpacing:i}}function et(t,e){let n=t.trim(),a=n.startsWith("-"),o=a||n.startsWith("+")?n.slice(1):n,i=Ue(F(o).toString(),e);return a&&i!=="0"?`-${i}`:i}function tt(t){let e=typeof t=="string"?he({abi:x,functionName:"positions",data:t}):t;return{nonce:BigInt(e[0]),operator:l(String(e[1])),token0:l(String(e[2])),token1:l(String(e[3])),fee:Number(e[4]),tickLower:Number(e[5]),tickUpper:Number(e[6]),liquidity:BigInt(e[7]),feeGrowthInside0LastX128:BigInt(e[8]),feeGrowthInside1LastX128:BigInt(e[9]),tokensOwed0:BigInt(e[10]),tokensOwed1:BigInt(e[11])}}function $e(t,e){if(!t||!Array.isArray(t.logs))return[];let n=e?l(e).toLowerCase():void 0,a=f.positionManager.toLowerCase(),o=new Set;for(let i of t.logs){if(!i||typeof i.address!="string"||i.address.toLowerCase()!==a)continue;let r=Array.isArray(i.topics)?i.topics.map(u=>String(u).toLowerCase()):[],s=r[0];if(s===ze&&r.length>=4){let d=`0x${r[2].slice(-40)}`;if(!n||d===n){let m=BigInt(r[3]).toString();m!=="0"&&o.add(m)}}else if(s===Ge&&r.length>=2&&!n){let u=BigInt(r[1]).toString();u!=="0"&&o.add(u)}}return[...o]}function ht(t){let e=n=>typeof n=="bigint"?n:F(n);return R({abi:Qe,functionName:"exactInputSingle",args:[{tokenIn:l(t.tokenIn),tokenOut:l(t.tokenOut),fee:t.fee,recipient:l(t.recipient),amountIn:e(t.amountIn),amountOutMinimum:e(t.amountOutMinimum),sqrtPriceLimitX96:t.sqrtPriceLimitX96!==void 0?e(t.sqrtPriceLimitX96):0n}]})}var Le=1n<<96n;function Re(t){let e=Math.abs(t),n=(e&1)!==0?0xfffcb933bd6fad37aa2d162d1a594001n:0x100000000000000000000000000000000n;return(e&2)!==0&&(n=n*0xfff97272373d413259a46990580e213an>>128n),(e&4)!==0&&(n=n*0xfff2e50f5f656932ef12357cf3c7fdccn>>128n),(e&8)!==0&&(n=n*0xffe5caca7e10e4e61c3624eaa0941cd0n>>128n),(e&16)!==0&&(n=n*0xffcb9843d60f6159c9db58835c926644n>>128n),(e&32)!==0&&(n=n*0xff973b41fa98c081472e6896dfb254c0n>>128n),(e&64)!==0&&(n=n*0xff2ea16466c96a3843ec78b326b52861n>>128n),(e&128)!==0&&(n=n*0xfe5dee046a99a2a811c461f1969c3053n>>128n),(e&256)!==0&&(n=n*0xfcbe86c7900a88aedcffc83b479aa3a4n>>128n),(e&512)!==0&&(n=n*0xf987a7253ac413176f2b074cf7815e54n>>128n),(e&1024)!==0&&(n=n*0xf3392b0822b70005940c7a398e4b70f3n>>128n),(e&2048)!==0&&(n=n*0xe7159475a2c29b7443b29c7fa6e889d9n>>128n),(e&4096)!==0&&(n=n*0xd097f3bdfd2022b8845ad8f792aa5825n>>128n),(e&8192)!==0&&(n=n*0xa9f746462d870fdf8a65dc1f90e061e5n>>128n),(e&16384)!==0&&(n=n*0x70d869a156d2a1b890bb3df62baf32f7n>>128n),(e&32768)!==0&&(n=n*0x31be135f97d08fd981231505542fcfa6n>>128n),(e&65536)!==0&&(n=n*0x9aa508b5b7a84e1c677de54f3e99bc9n>>128n),(e&131072)!==0&&(n=n*0x5d6af8dedb81196699c329225ee604n>>128n),(e&262144)!==0&&(n=n*0x2216e584f5fa1ea926041bedfe98n>>128n),(e&524288)!==0&&(n=n*0x48a170391f7dc42444e8fa2n>>128n),t>0&&(n=((1n<<256n)-1n)/n),(n>>32n)+(n%(1n<<32n)===0n?0n:1n)}function nt(t,e,n,a){if(a<=0n)return{amount0:0n,amount1:0n};let[o,i]=e<n?[e,n]:[n,e];if(t<=o)return{amount0:(a<<96n)*(i-o)/i/o,amount1:0n};if(t<i){let s=(a<<96n)*(i-t)/i/t,u=a*(t-o)/Le;return{amount0:s,amount1:u}}return{amount0:0n,amount1:a*(i-o)/Le}}async function M(t,e,n,a){let o=l(e),i,r;if(n===k&&o===f.weth?(i=18,r="WETH"):n===k&&o===f.usdg&&(i=6,r="USDG"),i===void 0){let s=await t.readContract({address:o,abi:ye,functionName:"decimals"});i=Number(s)}if(r===void 0)try{let s=await t.readContract({address:o,abi:ye,functionName:"symbol"});if(typeof s!="string"||!s.trim())throw new c("Token symbol is unavailable.");r=Ne(s.trim(),o)}catch(s){throw new c(`Could not read token metadata. ${U(s)}`)}if(!Number.isInteger(i)||i<0||i>255)throw new c("Token decimals are invalid.");if(a!=null){let s=Number(a);if(!Number.isInteger(s)||s!==i)throw new c(`Token ${o} on chain ${n} has ${i} decimals, not ${String(a)}.`)}return{address:o,symbol:r,decimals:i,chainId:n}}async function it(t){try{if(!t.getBlock)throw new c("Block timestamps are unavailable.");let e=await t.getBlock();if(typeof e.timestamp!="bigint")throw new c("Invalid block timestamp.");return e.timestamp}catch(e){throw new c(`Could not read the current block timestamp. ${U(e)}`)}}function J(t,e){if(typeof t=="bigint"){if(t<0n)throw new c(`${e} must be a non-negative integer.`);return t}if(typeof t=="number"){if(!Number.isSafeInteger(t)||t<0)throw new c(`${e} must be a non-negative integer.`);return BigInt(t)}if(typeof t=="string")return F(t);throw new c(`${e} must be a non-negative integer.`)}async function _e(t,e){let n=await it(t);if(e==null)return n+Ke;let a=J(e,"deadline");if(a<=n)throw new c(`Uniswap v3 deadline (${a.toString()}) has expired at timestamp ${n.toString()}.`);return a}function V(t,e){if(typeof t!="string"||!/^\d+$/.test(t))throw new c(`${e} must be a non-negative integer string in base units.`);return F(t)}function Ee(t){let e=t.slippageBps??ne;if(typeof e!="number")throw new c("Slippage must be an integer from 0 to 9999 bps.");return ge("0",e),e}function ae(t,e,n,a){let o=t===void 0?F(ge(e.toString(),n)):V(t,a);if(o<=1n)throw new c(`${a} must exceed 1 base unit; the simulated amount may be too small.`);return o}function X(t,e){return pe({to:f.positionManager,data:t,value:"0",chainId:k,description:e})}async function Y(t,e,n){try{if(!t.request)throw new c("Sequential transaction simulation is unavailable.");let o=await t.request({method:"eth_simulateV1",params:[{blockStateCalls:[{calls:e.map(i=>({from:n,gas:`0x${Te.toString(16)}`,to:i.to,data:i.data,value:`0x${BigInt(i.value).toString(16)}`}))}],validation:!1,traceTransfers:!0},"latest"]},{retryCount:0});if(!Array.isArray(o)||o.length!==1||!Array.isArray(o[0]?.calls)||o[0].calls.length!==e.length)throw new c("Unexpected batch simulation response.");return o[0].calls.map((i,r)=>{if(i.status!=="0x1"||i.error||typeof i.returnData!="string"||!/^0x([a-fA-F0-9]{2})*$/.test(i.returnData))throw new c(`Simulation call ${r+1} failed. ${U(i.error)}`);return i.returnData})}catch(a){throw new c(`Uniswap v3 simulation failed. ${U(a)}`)}}function ce(t,e){try{return he({abi:x,functionName:t,data:e})}catch{throw new c(`Uniswap v3 ${t} simulation returned invalid amounts.`)}}function Be(t,e,n){if(t.initialPrice!==void 0&&t.sqrtPriceX96!==void 0)throw new c("Provide initialPrice or sqrtPriceX96, not both.");if(t.sqrtPriceX96!==void 0){if(typeof t.sqrtPriceX96!="string"||!/^\d+$/.test(t.sqrtPriceX96))throw new c("sqrtPriceX96 must be a non-negative integer string.");return Me(BigInt(t.sqrtPriceX96))}if(t.initialPrice===void 0)throw new c("A new pool needs initialPrice (token1 per 1 token0, human units) or sqrtPriceX96.");return Ce(t.initialPrice,e,n)}async function De(t,e,n,a){let o=[];for(let i of Object.keys(xe).map(Number)){if(i===a)continue;let r=l(String(await t.readContract({address:f.factory,abi:Q,functionName:"getPool",args:[e,n,i]})));if(r===C||BigInt(await t.readContract({address:r,abi:ke,functionName:"liquidity"}))===0n)continue;let u=await t.readContract({address:r,abi:ke,functionName:"slot0"});o.push({label:`v3 fee ${i} pool ${r}`,sqrtPriceX96:BigInt(u[0])})}return o}function G(t,e={}){if(e.chainId!==void 0&&Number(e.chainId)!==k)throw new c(`Uniswap v3 is only supported on Robinhood Chain (${k}).`);if(e.version!==void 0&&e.version!=="v3")throw new c(`Uniswap v3 handler received unsupported version "${String(e.version)}".`);let n=t.clientFor(k);return{...n,readContract:async a=>{try{return await n.readContract(a)}catch(o){throw new c(`Could not read Uniswap v3 ${a.functionName}. ${U(o)}`,{cause:o})}}}}async function ve(t,e,n){let a;try{a=await t.readContract({address:f.positionManager,abi:x,functionName:"ownerOf",args:[e]})}catch(r){throw new c(`Could not verify owner of Uniswap v3 position #${e}. ${U(r)}`)}let o=l(String(a)),i=l(n);if(o!==i)throw new c(`Wallet ${i} is not the owner of Uniswap v3 position #${e.toString()} (owned by ${o}).`);return o}async function de(t,e){let n=await t.readContract({address:f.positionManager,abi:x,functionName:"positions",args:[e]});return tt(n)}function Ie(t,e){if(!Array.isArray(e.changes)||!e.changes.length)return t;let n=e.changes.map(a=>`${et(a.amount,a.token.decimals)} ${a.token.symbol}`);return`${t} (${n.join(", ")})`}async function ot(t,e,n){O(n);let a=l(n),o=G(t,e),i=await _e(o,e.deadline),r=Ee(e),s=e.tokenId===void 0?void 0:J(e.tokenId,"tokenId"),u;if(s!==void 0){if(s<=0n)throw new c("Uniswap v3 tokenId must be a positive integer.");await ve(o,s,a),u=await de(o,s)}let d=u?.token0??E(e.token0,"token0"),m=u?.token1??E(e.token1,"token1");if(BigInt(d)>=BigInt(m))throw new c("Uniswap v3 requires distinct sorted token addresses.");let p=u?.fee??Number(e.fee??100),g=xe[p];if(!g)throw new c("Unsupported Uniswap v3 fee tier.");let y=l(String(await o.readContract({address:f.factory,abi:Q,functionName:"getPool",args:[d,m,p]}))),h=e.initialPrice!==void 0||e.sqrtPriceX96!==void 0;if(y===C&&!h)throw new c("No Uniswap v3 pool exists for these tokens and fee tier. To create it and add the first liquidity in one tool call with separately confirmed transactions, add initialPrice (token1 per 1 token0, human units) to this call; to create it without liquidity use uniswap_create_pool.");if(y!==C&&h)throw new c(`The Uniswap v3 pool already exists at ${y}; remove initialPrice/sqrtPriceX96 to add liquidity at its current price.`);if(s!==void 0&&h)throw new c("initialPrice cannot be combined with tokenId.");if(e.fullRange!==void 0&&typeof e.fullRange!="boolean")throw new c("fullRange must be a boolean.");if(e.fullRange===!0&&(e.tickLower!==void 0||e.tickUpper!==void 0||u))throw new c("Use fullRange only for a new position, without explicit ticks. Existing position ticks cannot change.");let{tickLower:S,tickUpper:N,tickSpacing:T}=Je(u?.tickLower??(e.fullRange===!0?Math.ceil(re/g)*g:e.tickLower),u?.tickUpper??(e.fullRange===!0?Math.floor(se/g)*g:e.tickUpper),g),w=await M(o,d,k,e.token0Decimals),b=await M(o,m,k,e.token1Decimals),P;if(y===C){let q=Be(e,w.decimals,b.decimals),L=be(q,await De(o,d,m,p),e.acceptPriceDeviation===!0,w.decimals,b.decimals);P={sqrtPriceX96:q,note:L}}let v=V(e.amount0Desired,"amount0Desired"),I=V(e.amount1Desired,"amount1Desired");if(v===0n&&I===0n)throw new c("Liquidity addition requires a positive desired amount.");let $=e.recipient===void 0?a:E(e.recipient,"recipient");if($!==a)throw new c("Uniswap recipient must be the signing wallet.");if(e.wrapNative===!0&&d!==f.weth&&m!==f.weth)throw new c("Wrapping requires a positive WETH desired amount.");let H=await Promise.all([d,m].map(async q=>BigInt(await o.readContract({address:q,abi:ye,functionName:"allowance",args:[a,f.positionManager]})))),j=(q,L)=>{let fe=[];if(e.wrapNative===!0){let K=d===f.weth?q:L;K>0n&&fe.push(pe({to:f.weth,data:Ye,value:K.toString(),chainId:k,description:"Wrap ETH into WETH."}))}for(let[K,We]of[d,m].entries()){let me=K===0?q:L;me>0n&&H[K]<me&&fe.push(t.approval(We,f.positionManager,me.toString(),k))}return fe},W=s===void 0?"mint":"increaseLiquidity",B=(q,L)=>X(s===void 0?R({abi:x,functionName:"mint",args:[{token0:d,token1:m,fee:p,tickLower:S,tickUpper:N,amount0Desired:v,amount1Desired:I,amount0Min:q,amount1Min:L,recipient:$,deadline:i}]}):R({abi:x,functionName:"increaseLiquidity",args:[{tokenId:s,amount0Desired:v,amount1Desired:I,amount0Min:q,amount1Min:L,deadline:i}]}),`${W==="mint"?"Mint":"Increase"} Uniswap v3 ${w.symbol}/${b.symbol} liquidity.`),D=P&&X(R({abi:x,functionName:"createAndInitializePoolIfNecessary",args:[d,m,p,P.sqrtPriceX96]}),`Create and initialize the Uniswap v3 ${w.symbol}/${b.symbol} fee ${p} pool at ${ie(P.sqrtPriceX96,w.decimals,b.decimals)} ${b.symbol} per ${w.symbol}.`),Pe=D?[D]:[],Se=await Y(o,[...Pe,...j(v,I),B(0n,0n)],a),A=ce(W,Se[Se.length-1]),Ve=A[A.length-2],He=A[A.length-1];if(Ve>v||He>I)throw new c("Simulated liquidity spend exceeds the desired amounts.");let ee=[...Pe,...j(v,I)],ue=ae(e.amount0Min,A[A.length-2],r,"amount0Min"),le=ae(e.amount1Min,A[A.length-1],r,"amount1Min");if(ue>v||le>I)throw new c("Uniswap v3 minimum amount cannot exceed desired amount.");let Ae=B(ue,le);ee.push(Ae);for(let[q,L]of[d,m].entries())(q===0?v:I)>0n&&ee.push(t.approval(L,f.positionManager,"0",k));let qe=await t.preview(ee,a);return{txs:ee,preview:qe,summary:Ie(Ae.description,qe),details:{version:"v3",action:W,...s===void 0?{}:{tokenId:s.toString()},pool:y===C?null:y,fee:p,tickSpacing:T,tickLower:S,tickUpper:N,token0:w,token1:b,amount0Desired:v.toString(),amount1Desired:I.toString(),amount0Min:ue.toString(),amount1Min:le.toString(),deadline:i.toString(),recipient:$,expectedAmount0:A[A.length-2].toString(),expectedAmount1:A[A.length-1].toString(),...P?{poolCreated:!0,sqrtPriceX96:P.sqrtPriceX96.toString(),initialPrice:ie(P.sqrtPriceX96,w.decimals,b.decimals),initialTick:we(P.sqrtPriceX96),priceCheck:P.note}:{}}}}async function rt(t,e,n){O(n);let a=l(n),o=G(t,e),i=E(e.token0,"token0"),r=E(e.token1,"token1");if(BigInt(i)>=BigInt(r))throw new c(`Uniswap v3 requires sorted token addresses (token0 < token1). Use token0=${BigInt(i)<BigInt(r)?i:r}, token1=${BigInt(i)<BigInt(r)?r:i}; initialPrice is token1 per 1 token0 in that order.`);let s=Number(e.fee),u=xe[s];if(!u){let b=Number(await o.readContract({address:f.factory,abi:Q,functionName:"feeAmountTickSpacing",args:[s]}));if(!Number.isInteger(s)||b<=0)throw new c("Unsupported Uniswap v3 fee tier. Enabled tiers: 100, 500, 3000, 10000.");u=b}let d=l(String(await o.readContract({address:f.factory,abi:Q,functionName:"getPool",args:[i,r,s]})));if(d!==C)throw new c(`The Uniswap v3 pool already exists at ${d}. Use uniswap_add to provide liquidity.`);let m=await M(o,i,k,e.token0Decimals),p=await M(o,r,k,e.token1Decimals),g=Be(e,m.decimals,p.decimals),y=be(g,await De(o,i,r,s),e.acceptPriceDeviation===!0,m.decimals,p.decimals),h=ie(g,m.decimals,p.decimals),S=[X(R({abi:x,functionName:"createAndInitializePoolIfNecessary",args:[i,r,s,g]}),`Create and initialize the Uniswap v3 ${m.symbol}/${p.symbol} fee ${s} pool at ${h} ${p.symbol} per ${m.symbol}.`)],N=await Y(o,S,a),T;try{T=l(String(he({abi:x,functionName:"createAndInitializePoolIfNecessary",data:N[0]})))}catch{throw new c("Uniswap v3 pool creation simulation returned an invalid pool address.")}if(T===C)throw new c("Uniswap v3 pool creation simulation returned no pool.");let w=await t.preview(S,a);return{txs:S,preview:w,summary:`${S[0].description} The pool starts empty: nothing trades until liquidity is added with uniswap_add.`,details:{version:"v3",action:"createPool",pool:T,fee:s,tickSpacing:u,token0:m,token1:p,sqrtPriceX96:g.toString(),initialPrice:h,initialTick:we(g),priceCheck:y}}}async function st(t,e,n){O(n);let a=l(n),o=G(t,e),i=J(e.tokenId,"tokenId");if(i<=0n)throw new c("Uniswap v3 tokenId must be a positive integer.");await ve(o,i,a);let r=await de(o,i),s=await M(o,r.token0,k),u=await M(o,r.token1,k),d=e.recipient===void 0?a:E(e.recipient,"recipient");if(d!==a)throw new c("Uniswap recipient must be the signing wallet.");let m=e.amount0Max===void 0?z:V(e.amount0Max,"amount0Max"),p=e.amount1Max===void 0?z:V(e.amount1Max,"amount1Max");if(m===0n&&p===0n||m>z||p>z)throw new c("Collect requires a positive amountMax within uint128.");let g=[X(R({abi:x,functionName:"collect",args:[{tokenId:i,recipient:d,amount0Max:m,amount1Max:p}]}),`Collect Uniswap v3 fees from position #${i}.`)],y=ce("collect",(await Y(o,g,a))[0]),h=await t.preview(g,a);return{txs:g,preview:h,summary:Ie(g[0].description,h),details:{version:"v3",action:"collect",tokenId:i.toString(),recipient:d,token0:s,token1:u,amount0Max:m.toString(),amount1Max:p.toString(),expectedAmount0:y[0].toString(),expectedAmount1:y[1].toString()}}}async function at(t,e,n){O(n);let a=l(n),o=G(t,e),i=J(e.tokenId,"tokenId");if(i<=0n)throw new c("Uniswap v3 tokenId must be a positive integer.");await ve(o,i,a);let r=await de(o,i),s=r.liquidity===0n&&e.burn===!0;if(r.liquidity<=0n&&!s)throw new c("Position has zero active liquidity to remove.");if(e.liquidity===void 0&&!s)throw new c('Provide a liquidity amount or explicitly choose liquidity "all" for a full exit.');let u=e.liquidity==="all"||e.liquidity===void 0?r.liquidity:V(e.liquidity,"liquidity");if(u<=0n&&!s)throw new c("Liquidity to remove must be positive.");if(u>r.liquidity)throw new c("Requested liquidity exceeds position liquidity.");let d=await _e(o,e.deadline),m=Ee(e),p=await M(o,r.token0,k),g=await M(o,r.token1,k),y=e.recipient===void 0?a:E(e.recipient,"recipient");if(y!==a)throw new c("Uniswap recipient must be the signing wallet.");let h=(B,D)=>X(R({abi:x,functionName:"decreaseLiquidity",args:[{tokenId:i,liquidity:u,amount0Min:B,amount1Min:D,deadline:d}]}),`Decrease ${u} liquidity on Uniswap v3 position #${i}.`),S=s?[0n,0n]:ce("decreaseLiquidity",(await Y(o,[h(0n,0n)],a))[0]),N=(B,D)=>{if(B!==void 0&&V(B,D)!==0n)throw new c(`${D} must be zero for an empty position burn.`);return 0n},T=s?N(e.amount0Min,"amount0Min"):ae(e.amount0Min,S[0],m,"amount0Min"),w=s?N(e.amount1Min,"amount1Min"):ae(e.amount1Min,S[1],m,"amount1Min"),b=s?[]:[h(T,w)],P=b.length,v=!s||r.tokensOwed0>0n||r.tokensOwed1>0n;v&&b.push(X(R({abi:x,functionName:"collect",args:[{tokenId:i,recipient:y,amount0Max:z,amount1Max:z}]}),`Collect principal and fees from Uniswap v3 position #${i}.`));let I=u===r.liquidity,$=I&&e.burn===!0;$&&b.push(X(R({abi:x,functionName:"burn",args:[i]}),`Burn empty Uniswap v3 position #${i}.`));let H=await Y(o,b,a),j=v?ce("collect",H[P]):[0n,0n],W=await t.preview(b,a);return{txs:b,preview:W,summary:Ie(`Remove Uniswap v3 liquidity from position #${i}${$?`; burns position #${i} at ${f.positionManager}`:""}`,W),details:{version:"v3",action:"remove",tokenId:i.toString(),recipient:y,token0:p,token1:g,liquidityRemoved:u.toString(),amount0Min:T.toString(),amount1Min:w.toString(),deadline:d.toString(),expectedAmount0:j[0].toString(),expectedAmount1:j[1].toString(),fullExit:I,burned:$}}}async function ct(t,e,n={}){let a=l(e),o=new Set;if(Array.isArray(n.tokenIds))for(let r of n.tokenIds){let s=J(r,"tokenId");s>0n&&o.add(s.toString())}if(Array.isArray(n.receipts))for(let r of n.receipts)for(let s of $e(r,a))o.add(s);let i=!1;try{let r=BigInt(await t.readContract({address:f.positionManager,abi:x,functionName:"balanceOf",args:[a]})),s=r>64n?64n:r;for(let u=0n;u<s;u++){try{let d=BigInt(await t.readContract({address:f.positionManager,abi:x,functionName:"tokenOfOwnerByIndex",args:[a,u]}));d>0n&&o.add(d.toString())}catch(d){if(!te(d,3,-32601,-32004))throw d;break}u+1n===r&&(i=!0)}r===0n&&(i=!0)}catch(r){if(!te(r,3,-32601,-32004))throw r}if(typeof t.getLogs=="function"&&typeof t.getBlockNumber=="function")try{let r=n.toBlock??await t.getBlockNumber(),s=n.maxChunks??je,u=n.fromBlock??(r>oe*BigInt(s)?r-oe*BigInt(s)+1n:0n),d=r,m=0;for(;d>=u&&m<s;){let p=d>=oe-1n?d-(oe-1n):0n,g=p<u?u:p,y=await t.getLogs({address:f.positionManager,fromBlock:g,toBlock:d});for(let h of $e({logs:y},a))o.add(h);if(m+=1,g===0n||g<=u)break;d=g-1n}}catch(r){throw new c(`Could not discover Uniswap v3 positions from logs. ${U(r)}`)}else if(!i&&n.tokenIds===void 0&&n.receipts===void 0)throw new c("Uniswap v3 position discovery is unavailable; supply candidate token IDs or receipts.");return[...o].map(r=>BigInt(r)).sort((r,s)=>r<s?-1:r>s?1:0)}async function Oe(t,e,n={}){O(e);let a=l(e),o=G(t),i=await ct(o,a,n),r=[];for(let s of i){let u;try{let w=await o.readContract({address:f.positionManager,abi:x,functionName:"ownerOf",args:[s]});u=l(String(w))}catch(w){if(te(w,3))continue;throw new c(`Could not verify owner of position #${s}. ${U(w)}`)}if(u!==a)continue;let d;try{d=await de(o,s)}catch(w){throw new c(`Could not read position #${s}. ${U(w)}`)}if(d.liquidity===0n&&d.tokensOwed0===0n&&d.tokensOwed1===0n&&!n.includeEmpty)continue;let p=await M(o,d.token0,k),g=await M(o,d.token1,k),y=0n,h=0n;if(d.liquidity>0n)try{let w=await o.readContract({address:f.factory,abi:Q,functionName:"getPool",args:[d.token0,d.token1,d.fee]}),b=l(String(w));if(b===C)throw new c("Position pool was not found.");if(b!==C){let P=await o.readContract({address:b,abi:ke,functionName:"slot0"}),v=BigInt(P[0]);if(v<=0n)throw new c("Position pool has no initialized price.");let I=Re(d.tickLower),$=Re(d.tickUpper),H=nt(v,I,$,d.liquidity);y=H.amount0,h=H.amount1}}catch(w){throw new c(`Could not value Uniswap v3 position #${s}. ${U(w)}`)}let S=y+d.tokensOwed0,N=h+d.tokensOwed1,T=[{token:p,amount:S.toString()},{token:g,amount:N.toString()}];r.push({module:"uniswap",id:`uniswap:v3:${s.toString()}`,chainId:k,assets:T,description:`Uniswap v3 LP position #${s.toString()} (${p.symbol}/${g.symbol} fee ${d.fee} ticks [${d.tickLower}, ${d.tickUpper}] liquidity ${d.liquidity.toString()})`})}return r}async function dt(t,e,n){G(t,e);let a=e.wallet!==void 0?E(e.wallet,"wallet"):l(n),o=Array.isArray(e.tokenIds)?e.tokenIds:void 0,i=Array.isArray(e.receipts)?e.receipts:void 0,r=e.includeZero===!0||e.includeEmpty===!0,s=await Oe(t,a,{tokenIds:o,receipts:i,includeEmpty:r});return{positions:s,details:{version:"v3",wallet:a,count:s.length,positionManager:f.positionManager}}}function ut(t){return[{name:"uniswap_add",inputSchema:{type:"object",description:"Mint a new Uniswap v3 concentrated liquidity position or increase liquidity on an existing v3 NFT position on Robinhood Chain (4663).",properties:{version:{type:"string",enum:["v3"],default:"v3"},tokenId:{type:"string",description:"Optional existing v3 NFT tokenId for increaseLiquidity."},token0:{type:"string",description:"Sorted ERC-20 token0 address (e.g. WETH)."},token1:{type:"string",description:"Sorted ERC-20 token1 address (e.g. USDG)."},fee:{type:"integer",enum:[100,500,3e3,1e4],default:100},fullRange:{type:"boolean",description:"For a new v3 position, use the widest ticks aligned to the pool fee tier; omit explicit ticks."},tickLower:{type:"integer",description:"Lower tick boundary divisible by tickSpacing."},tickUpper:{type:"integer",description:"Upper tick boundary divisible by tickSpacing."},amount0Desired:{type:"string",description:"Desired token0 amount in decimal base units."},amount1Desired:{type:"string",description:"Desired token1 amount in decimal base units."},amount0Min:{type:"string",description:"Minimum token0 amount in decimal base units."},amount1Min:{type:"string",description:"Minimum token1 amount in decimal base units."},slippageBps:{type:"integer",minimum:0,maximum:9999,default:ne},deadline:{type:"integer",description:"Unix timestamp deadline (> current block timestamp)."},wrapNative:{type:"boolean",description:"Optional: wrap native ETH into WETH before minting."},initialPrice:{type:"string",description:"Only when the pool does not exist: starting price as token1 per 1 token0 in human units. The pool is created then liquidity is minted in separately confirmed transactions."},sqrtPriceX96:{type:"string",description:"Alternative to initialPrice: exact starting sqrtPriceX96."},acceptPriceDeviation:{type:"boolean",description:"Allow a starting price more than 500 bps from other live pools of the pair."}}},execute:(r,s)=>ot(t,r,s)},{name:"uniswap_collect",inputSchema:{type:"object",description:"Collect accrued Uniswap v3 LP fees for an owned NonfungiblePositionManager NFT.",properties:{version:{type:"string",enum:["v3"],default:"v3"},tokenId:{type:"string",description:"Uniswap v3 NFT tokenId."},recipient:{type:"string",description:"Optional fee recipient; must be the signing wallet."},amount0Max:{type:"string",description:"Max token0 to collect (defaults to uint128 max)."},amount1Max:{type:"string",description:"Max token1 to collect (defaults to uint128 max)."}},required:["tokenId"]},execute:(r,s)=>st(t,r,s)},{name:"uniswap_remove",inputSchema:{type:"object",description:"Decrease liquidity on an owned Uniswap v3 NFT position, collect principal and fees, and optionally burn the empty NFT.",properties:{version:{type:"string",enum:["v3"],default:"v3"},tokenId:{type:"string",description:"Uniswap v3 NFT tokenId."},liquidity:{type:"string",description:"Positive base-unit liquidity amount, or all for a full exit."},amount0Min:{type:"string",description:"Minimum token0 principal in decimal base units."},amount1Min:{type:"string",description:"Minimum token1 principal in decimal base units."},slippageBps:{type:"integer",minimum:0,maximum:9999,default:ne},deadline:{type:"integer",description:"Unix timestamp deadline (> current block timestamp)."},burn:{type:"boolean",description:"Whether to burn the NFT after removing 100% of liquidity, or burn an already-empty position."}},required:["tokenId"]},execute:(r,s)=>at(t,r,s)},{name:"uniswap_list_positions",inputSchema:{type:"object",description:"List active Uniswap v3 LP positions owned by the wallet from NFT receipts and Transfer logs.",properties:{version:{type:"string",enum:["v3"],default:"v3"},wallet:{type:"string",description:"Optional wallet address override."},tokenIds:{type:"array",items:{type:"string"},description:"Optional candidate v3 NFT tokenIds to inspect."}}},execute:(r,s)=>dt(t,r,s)},{name:"uniswap_create_pool",inputSchema:{type:"object",description:"Create and initialize an empty Uniswap v3 pool on Robinhood Chain (4663). Add liquidity afterwards with uniswap_add.",properties:{version:{type:"string",enum:["v3"],default:"v3"},token0:{type:"string",description:"Sorted ERC-20 token0 address (WETH, not native ETH)."},token1:{type:"string",description:"Sorted ERC-20 token1 address."},fee:{type:"integer",enum:[100,500,3e3,1e4]},initialPrice:{type:"string",description:'Starting price as token1 per 1 token0 in human units, e.g. "3000" for 1 WETH = 3000 USDG.'},sqrtPriceX96:{type:"string",description:"Alternative to initialPrice: exact starting sqrtPriceX96."},acceptPriceDeviation:{type:"boolean",description:"Allow a starting price more than 500 bps from other live pools of the pair."}},required:["token0","token1","fee"]},execute:(r,s)=>rt(t,r,s)}]}var Xe=t=>({tools:ut(t),positions:e=>Oe(t,e)}),xt=Xe,vt=Xe;export{re as a,se as b,z as c,f as d,xe as e,yt as f,x as g,Q as h,ke as i,Qe as j,Je as k,et as l,tt as m,$e as n,ht as o,Be as p,ot as q,rt as r,st as s,at as t,Oe as u,dt as v,ut as w,Xe as x,xt as y,vt as z};
@@ -0,0 +1 @@
1
+ import{a as e}from"./5YS5V2LK.js";function s(t){if(typeof t!="string"||!/^\d+$/.test(t))throw new e("Amount must be a non-negative integer string in base units.");return BigInt(t)}function u(t){if(!Number.isInteger(t)||t<0||t>255)throw new e("Token decimals must be an integer from 0 to 255.");return 10n**BigInt(t)}function f(t,i,n){if(i<=0n)throw new e("The denominator must be positive.");if(n!=="floor"&&n!=="ceil")throw new e("Choose floor or ceil rounding.");return t/i+(n==="ceil"&&t%i!==0n?1n:0n)}function p(t,i,n){let o=u(i);if(typeof t!="string"||!/^\d+(\.\d+)?$/.test(t))throw new e("Amount must be a non-negative decimal string.");let[r="0",c=""]=t.split("."),g=c.slice(i);if(n===void 0&&/[1-9]/.test(g))throw new e("Amount exceeds the token precision. Choose floor or ceil rounding.");if(n!==void 0&&n!=="floor"&&n!=="ceil")throw new e("Choose floor or ceil rounding.");return(BigInt(r)*o+BigInt(c.slice(0,i).padEnd(i,"0")||"0")+(n==="ceil"&&/[1-9]/.test(g)?1n:0n)).toString()}function a(t,i){let n=s(t),o=u(i),r=(n%o).toString().padStart(i,"0").replace(/0+$/,"");return`${n/o}${r?`.${r}`:""}`}function b(t,i,n,o){return f(s(t)*s(i),s(n),o).toString()}export{s as a,p as b,a as c,b as d};
@@ -0,0 +1 @@
1
+ import{g as u}from"./73N3TOJL.js";import{a as o,i as d}from"./XPFVT2EA.js";import{a as s}from"./5YS5V2LK.js";import{encodeAbiParameters as g,keccak256 as b,parseAbi as f,zeroAddress as h}from"viem";var p=d[o].pons,w=f(["function getLaunchedToken(address) view returns ((address token,address curve,address deployer,address creatorFeeRecipient,address pairToken,uint256 graduationThreshold,uint24 poolFee,int24 tickSpacing,uint16 creatorTaxBps,bool buybackEnabled,uint8 phase,uint256 sweptQuote,uint256 sweptTokens,uint256 sweptAt,bool exists))","function memeHook() view returns (address)"]),l=f(["function factory() view returns (address)","function getReserves() view returns (uint256 quoteReserve,uint256 tokenReserve)"]),v=f(["function getSlot0(bytes32) view returns (uint160,int24,uint24,uint24)","function getLiquidity(bytes32) view returns (uint128)"]);async function A(t,r,n){if(t.chainId!==o||!Number.isInteger(t.decimals)||t.decimals<0||t.decimals>255)throw new s("No supported Pons reference price on this chain or for these token decimals.");let e=await r.readContract({address:p.factory.address,abi:w,functionName:"getLaunchedToken",args:[t.address],blockNumber:n});if(!e.exists||!u(e.token,t.address)||e.pairToken.toLowerCase()!==h)throw new s("No supported native-ETH Pons launch reference price.");let m=10n**BigInt(t.decimals);if(e.phase===0){let[c,[a,i]]=await Promise.all([r.readContract({address:e.curve,abi:l,functionName:"factory",blockNumber:n}),r.readContract({address:e.curve,abi:l,functionName:"getReserves",blockNumber:n})]);if(!u(c,p.factory.address)||a<=0n||i<=0n)throw new s("The Pons curve reference price is unavailable.");return{numerator:a*m,denominator:i*10n**18n}}if(e.phase===2){let c=await r.readContract({address:p.factory.address,abi:w,functionName:"memeHook",blockNumber:n}),a=b(g([{type:"address"},{type:"address"},{type:"uint24"},{type:"int24"},{type:"address"}],[h,t.address,e.poolFee,e.tickSpacing,c])),[i,y]=await Promise.all([r.readContract({address:d[o].ponsTrade.state_view.address,abi:v,functionName:"getSlot0",args:[a],blockNumber:n}),r.readContract({address:d[o].ponsTrade.state_view.address,abi:v,functionName:"getLiquidity",args:[a],blockNumber:n})]);if(i[0]<=0n||y<=0n)throw new s("The graduated Pons pool reference price is unavailable.");return{numerator:(1n<<192n)*m,denominator:i[0]**2n*10n**18n}}throw new s("The Pons launch has no active reference price in this phase.")}export{A as a};
@@ -0,0 +1 @@
1
+ import{c as k}from"./MYBDO5SA.js";import{e as h}from"./73N3TOJL.js";import{a as c}from"./XPFVT2EA.js";import{a}from"./5YS5V2LK.js";import{getAddress as A,isAddress as b}from"viem";function f(o){if(typeof o!="string"||!o.trim()||o.length>200)throw new a("Provide nonempty filter text of at most 200 characters.");return o}function x(o,m){if(typeof o!="number"||!Number.isSafeInteger(o)||o<0||o>m)throw new a(`Choose a pagination integer from 0 to ${m}.`);return o}var _={morpho:{assess:"morpho_status",enter:"morpho_supply",exit:"morpho_withdraw"},steakhouse:{assess:"steakhouse_list",enter:"steakhouse_deposit",exit:"steakhouse_withdraw"},spark:{assess:"spark_list",enter:"spark_deposit",exit:"spark_withdraw"},netnet:{assess:"netnet_list",enter:"netnet_deposit",exit:"netnet_withdraw"},longbow:{assess:"longbow_list",enter:"longbow_deposit",exit:"longbow_withdraw"},grove:{assess:"grove_list",enter:"grove_deposit",exit:"grove_withdraw"},beefy:{assess:"beefy_list",enter:"beefy_deposit",exit:"beefy_withdraw"},uniswap:{assess:"uniswap_list_positions",enter:"uniswap_add",exit:"uniswap_remove"}},R=o=>{let m=(e,t,i)=>({name:`merkl_${e}`,inputSchema:{type:"object",properties:t,additionalProperties:!1},execute:async(n,r)=>{try{let s=Object.keys(n).find(p=>!Object.hasOwn(t,p));if(s)throw new a(`Unsupported Merkl input: ${s}.`);return await i(n,r)}catch(s){throw new a(o.plainError(s))}}}),w={page:{type:"integer",minimum:0,maximum:1e4},items:{type:"integer",minimum:1,maximum:100}},g=async(e,t)=>{let i=new URL(`https://api.merkl.xyz/v4/${e}`);for(let[n,r]of Object.entries(t))i.searchParams.set(n,r);return k(o.http,i.toString(),{method:"GET",headers:{"User-Agent":"oak-core/merkl"}},n=>Array.isArray(n)||h(n))},u=e=>{let t=x(e.items??20,100);if(!t)throw new a("Choose at least one item per page.");return{page:String(x(e.page??0,1e4)),items:String(t)}};return{tools:[m("opportunities",{...w,protocol:{type:"string"},name:{type:"string"},explorerAddress:{type:"string"}},async e=>{let t={chainId:String(c),campaigns:"true",...u(e)};if(e.protocol!==void 0&&(t.mainProtocolId=f(e.protocol)),e.name!==void 0&&(t.name=f(e.name)),e.explorerAddress!==void 0){if(typeof e.explorerAddress!="string"||!b(e.explorerAddress,{strict:!1}))throw new a("Provide a pool or market explorer address.");t.explorerAddress=A(e.explorerAddress)}let i=await g("opportunities",t);if(!Array.isArray(i)||!i.every(r=>h(r)&&typeof r.id=="string"&&Number.isSafeInteger(r.chainId)))throw new a("Merkl returned unexpected opportunities.");return{opportunities:i.filter(r=>r.chainId===c).map(r=>{let s=r.mainProtocolId??r.mainProtocol,p=typeof s=="string"?s.toLowerCase():"",d=p==="morpho"?r.action==="LEND":p==="uniswap"?r.action==="POOL":r.action==="LEND"||r.action==="STAKE";return{...r,oak:{...Object.hasOwn(_,p)&&d?{candidateTools:_[p]}:{},destinationVerificationRequired:!0,eligibility:"Read campaign conditions; no wallet eligibility has been verified."}}}),...u(e),hasMore:i.length===Number(t.items),summary:"Powered by Merkl \u2014 https://app.merkl.xyz. Public, untrusted campaign data includes conditions and destinations. Candidate Oak tools require a matching verified market/vault and a supported entry AND exit. APR is indicative; no rewards are promised."}}),m("campaigns",{...w,creator:{type:"string"},tokenSymbol:{type:"string"},opportunityId:{type:"string"}},async e=>{let t={chainId:String(c),withOpportunity:"true",...u(e)};if(e.creator!==void 0){if(typeof e.creator!="string"||!b(e.creator,{strict:!1}))throw new a("Provide a creator address.");t.creatorAddress=A(e.creator)}e.tokenSymbol!==void 0&&(t.tokenSymbol=f(e.tokenSymbol));let i=e.opportunityId===void 0?"campaigns":`opportunities/${encodeURIComponent(f(e.opportunityId))}/campaigns`,n=await g(i,t);if(!Array.isArray(n)||!n.every(r=>h(r)&&(typeof r.id=="string"||typeof r.id=="number")))throw new a("Merkl returned unexpected campaigns.");return{campaigns:n,chainId:c,...u(e),hasMore:n.length===Number(t.items),summary:"Powered by Merkl \u2014 https://app.merkl.xyz. Campaign rules, budgets, timing, exclusions and configuration are public API data; verify the reward distribution chain and destination before entering."}}),m("earning_status",{view:{enum:["active","breakdowns","stats","claims"]},...w},async(e,t)=>{if(!b(t,{strict:!1}))throw new a("Provide a valid connected wallet address.");let i=e.view??"active";if(!["active","breakdowns","stats","claims"].includes(String(i)))throw new a("Choose active, breakdowns, stats or claims.");let n=i==="claims"?"claims":i==="breakdowns"?`users/${t}/rewards/chains/${c}/breakdowns`:`users/${t}/rewards/${i==="active"?"active-opportunities":"stats"}`,{page:r,items:s}=u(e),p=i==="breakdowns"?{}:{chainId:String(c)};i==="claims"&&(p.recipient=t);let d=await g(n,p),l=Number(r)*Number(s),y=Array.isArray(d)?d:i==="breakdowns"&&h(d)&&Array.isArray(d.opportunities)?d.opportunities:void 0,v=y?Array.isArray(d)?y.slice(l,l+Number(s)):{...d,opportunities:y.slice(l,l+Number(s))}:d;return{view:i,chainId:c,wallet:t,data:v,...y?{page:r,items:s,hasMore:l+Number(s)<y.length}:{},summary:"Powered by Merkl \u2014 https://app.merkl.xyz. API earning attribution and history can lag onchain state; pending earnings are not claimable. Private or restricted attribution may be omitted by Merkl. Recheck merkl_rewards before a claim."}})]}};export{R as a};
@@ -0,0 +1 @@
1
+ import{a as Ee}from"./H4S2ZCWK.js";import{a as xe}from"./T3NPRRTY.js";import{a as $e,b as me,c as Te}from"./SQ5BNSXR.js";import{c as Re,d as t,e as R,f as d,g as Ae,h as W,i as v,j as de,k as L,m as O,n as c,o as ue,p as ce,q as le,r as Ce,s as qe}from"./53N7PNJH.js";import{a as ke,o as re}from"./CAU44UWP.js";import{a as ve}from"./UWOFA6GV.js";import{c as be,e as Q,g as M}from"./73N3TOJL.js";import{a as l,i as we}from"./XPFVT2EA.js";import{a as h}from"./5YS5V2LK.js";import{decodeFunctionData as Fe,erc20Abi as Me}from"viem";var z="0x0000000000000000000000000000000000000000",N=we[l].relay.depository.address.toLowerCase(),Se=30,ze=w=>{let U=qe(w);async function pe(n){let e;try{e=await U(`/intents/status/v3?requestId=${encodeURIComponent(n)}`)}catch(C){if(w.plainError(C)!=="The request timed out. Please try again.")throw C;return{requestId:n,status:"unknown",timedOut:!0,fulfilled:!1,settled:!1,pollAgain:!0,needsAttention:!1,inTxHashes:[],txHashes:[],originChainId:void 0,destinationChainId:void 0,summary:"The status request timed out. Bridge settlement is unknown; poll again."}}if(typeof e.status!="string")throw new h("Relay returned an invalid bridge status.");let i=ue(e.inTxHashes),p=ue(e.txHashes),u=e.originChainId===void 0?void 0:W(e.originChainId),a=e.destinationChainId===void 0?void 0:W(e.destinationChainId),s=ce(e.failReason),m=ce(e.refundFailReason),r=e.status==="success"&&p.length>0&&a!==void 0,q=e.status==="refund"&&p.length>0&&u!==void 0,g=e.status==="failure"&&m!==void 0,A=["waiting","depositing","pending","submitted","failure","refund","success"].includes(e.status)?e.status==="failure"&&/TIMEOUT|EXPIRED/.test(typeof e.failReason=="string"?e.failReason:"")?"timeout":e.status:"unknown",k=r?"Relay reports destination fulfillment.":q?"Relay reports a refund on the origin chain; the destination was not fulfilled.":g?"The bridge failed and automatic refund is unavailable. Review the request with Relay.":"Bridge settlement is not confirmed. Poll Relay again; an origin receipt alone does not prove destination fulfillment.";return{requestId:n,status:A,relayStatus:e.status,fulfilled:r,settled:r||q,pollAgain:!r&&!q&&!g,needsAttention:g,timedOut:!1,inTxHashes:i,txHashes:p,originChainId:u,destinationChainId:a,failReason:s,refundFailReason:m,...e.updatedAt===void 0?{}:{updatedAt:v(String(e.updatedAt))},summary:k}}async function De(n,e){let i=s=>({destinationVerified:!1,destinationCheck:s}),p;try{if(p=w.clientFor(n),await p.getChainId()!==n)return i(`The configured RPC does not serve chain ${n}; destination receipts were not checked.`)}catch{return i(`No RPC is available for chain ${n}; destination receipts were not checked.`)}let u=[];for(let s of e)try{let m=await p.getTransactionReceipt({hash:s});u.push({hash:s,status:m.status,blockNumber:m.blockNumber.toString()})}catch{return{...i(`Receipt ${s} is not available on chain ${n} yet; poll again.`),destinationReceipts:u}}let a=u.length>0&&u.every(s=>s.status==="success");return{destinationVerified:a,destinationReceipts:u,destinationCheck:a?`Every Relay destination transaction has a successful receipt on chain ${n}. Amounts are not decoded here; compare the recipient balance for the exact delivered amount.`:`A Relay destination transaction did not succeed on chain ${n}; do not treat this bridge as delivered.`}}async function Pe(n){let e=await w.clientFor(l).readContract({address:n,abi:Me,functionName:"decimals"}),i=typeof e=="bigint"?Number(e):e;if(typeof i!="number"||!Number.isInteger(i)||i<0||i>255)throw new h("Could not read valid ERC-20 decimals() on-chain.");return i}async function _e(n,e){let i=d(e),p=d(n.recipient??i),u=W(n.destinationChainId);if(u===l)throw new h("Choose a destination chain other than 4663.");let a=Ae(n.originCurrency??z),s=a!==z,m=d(n.destinationCurrency??z),r=v(n.amount);if(r==="0")throw new h("Provide a positive bridge amount.");let q=n.minAmountOut===void 0?void 0:v(n.minAmountOut),g=n.slippageBps??me;if(typeof g!="number")throw new h("Slippage must be an integer from 0 to 9999 bps.");re("0",g);let I=R((await U("/chains")).chains).map(t),A=I.find(o=>o.id===l),k=I.find(o=>o.id===u);if(!A||!k||A.disabled!==!1||k.disabled!==!1||A.depositEnabled!==!0||A.vmType!=="evm"||k.vmType!=="evm")throw new h("Relay does not currently support this outbound chain route.");if(!xe(u))throw new h(`Relay has no supported Oak return path from chain ${u}. Choose a destination supported by relay_bridge_in before bridge-out.`);let C=await $e(w.clientFor,u,i,"server"),b=s?await Pe(a):18,P=Math.floor(Date.now()/1e3)+ke,$=await U("/quote/v2",{user:i,recipient:p,originChainId:l,destinationChainId:u,originCurrency:a,destinationCurrency:m,amount:r,tradeType:"EXACT_INPUT",...s?{explicitDeposit:!0}:{}}),E=L($.requestId),S=t($.details),B=O(S.currencyIn),f=O(S.currencyOut),T={token:f.token,amount:v(t(S.currencyOut).minimumAmount)};if(c(d(S.sender)===i&&d(S.recipient)===p&&B.token.chainId===l&&B.token.address===a&&B.token.decimals===b&&B.amount===r&&f.token.chainId===u&&f.token.address===m&&BigInt(T.amount)>0n&&BigInt(T.amount)<=BigInt(f.amount)),m===z&&c(f.token.decimals===t(k.currency).decimals),q!==void 0){if(T.amount!==q)throw new h("Relay order minimum must exactly match minAmountOut. Request a new quote.")}else if(BigInt(T.amount)<BigInt(re(f.amount,g)))throw Te(f.amount,T.amount);let J=t(t($.protocol).v2),j=L(J.orderId),Z=t(J.orderData),Y=t(Z.output),ee=de(Y.deadline),K=R(Z.inputs).map(t);c(K.length>0);let te=K.flatMap(o=>{let y=R(o.refunds).map(t);return c(y.length>0),y.map(Ie=>{if(d(Ie.recipient)!==i)throw new h("Relay refund recipient does not match the agent wallet. Request a new quote.");return de(Ie.deadline)})}),Oe=te.reduce((o,y)=>Math.min(o,y),ee),ne=Math.min(P,Oe-Se),he=()=>{if(Date.now()/1e3>=ne)throw new h("The Relay quote expired or its order/refund deadline leaves too little time to sign and send. Request a fresh bridge quote.")};he();let H=R(Y.payments).map(t),ie=t(t(A.protocol).v2),Ne=t(t(k.protocol).v2),V=t(J.paymentDetails);c(Y.chainId===Ne.chainId&&H.length===1&&R(Y.calls).length===0&&d(H[0].recipient)===p&&d(H[0].currency)===m&&v(H[0].minimumAmount)===T.amount&&v(H[0].expectedAmount)===f.amount&&V.chainId===ie.chainId&&d(V.currency)===a&&v(V.amount)===r),c(d(V.depository)===N&&d(ie.depository)===N);let oe=t(K[0].payment);c(K.length===1&&oe.chainId===ie.chainId&&d(oe.currency)===a&&v(oe.amount)===r);let F=R($.steps).map(t),_=s&&F.length===2?F[0]:void 0;c(F.length===(_?2:1));let G=F[F.length-1];c(G.kind==="transaction"&&G.id==="deposit"&&G.requestId===E);let X=R(G.items).map(t);c(X.length===1&&X[0].status==="incomplete");let x=t(X[0].data),fe=t(X[0].check);if(c(fe.method==="GET"&&fe.endpoint===`/intents/status/v3?requestId=${E}`&&x.chainId===l&&d(x.from)===i&&d(x.to)===N&&v(x.value)===(s?"0":r)),typeof x.data!="string"||!(s?/^0x[0-9a-fA-F]{264}$/:/^0x[0-9a-fA-F]{136}$/).test(x.data))throw new h(`Relay returned unexpected ${s?"ERC-20":"native"} deposit calldata.`);let D=Fe({abi:Re,data:x.data});D.functionName==="depositErc20"?c(s&&d(D.args[0])===i&&d(D.args[1])===a&&D.args[2]===BigInt(r)&&M(D.args[3],j)):c(!s&&d(D.args[0])===i&&M(D.args[1],j));let Be=I.filter(o=>o.vmType==="evm"&&Q(o.protocol)&&Q(o.protocol.v2)).map(o=>t(t(o.protocol).v2).chainId).filter(o=>typeof o=="string");if(!M(Ee(Z,Be),j))throw new h("Relay order ID does not match the checked quote terms. Request a new quote.");let ae=s?w.approval(a,N,r,l):void 0;if(_&&ae){c(_.kind==="transaction"&&_.id==="approve"&&_.requestId===E);let o=R(_.items).map(t);c(o.length===1&&o[0].status==="incomplete");let y=t(o[0].data);c(y.chainId===l&&d(y.from)===i&&d(y.to)===a&&v(y.value)==="0"&&typeof y.data=="string"&&M(y.data,ae.data))}let ye=[...ae?await Ce(w,a,N,r,l,i):[],w.unsignedTx({to:N,data:x.data,value:s?"0":r,chainId:l,description:s?`Deposit ${r} base units of ${a} for Relay request ${E}.`:`Deposit native ETH for Relay request ${E}.`})],ge=t($.fees);for(let o of Object.values(ge))O(o);let se=await w.preview(ye,i);he();let He=se.changes.map(o=>{let y=o.amount.startsWith("-");return`${y?"-":""}${w.formatAmount(y?o.amount.slice(1):o.amount,o.token.decimals)} ${o.token.symbol}`}).join(", ");return{txs:ye,requestId:E,orderId:j,recipient:p,originChainId:l,destinationChainId:u,expiresAt:String(ne),orderDeadline:String(ee),refundDeadlines:te.map(String),returnPath:C,amountIn:B,amountOut:f,minAmountOut:T,fees:ge,expandedPriceImpact:S.expandedPriceImpact,timeEstimate:S.timeEstimate,preview:se,summary:`${C} Bridge to ${p} on chain ${u}; asset ${f.token.address} on chain ${f.token.chainId} (${le(f.token.symbol)}); expected ${f.amount}, minimum ${T.amount} base units (${f.token.decimals} decimals). Order deadline ${ee} Unix seconds; refund deadlines ${te.join(", ")} Unix seconds; accept before ${ne} Unix seconds to reserve ${Se}s to sign and send. Origin preview: ${He||se.summary}. Relay route fees are included in the quote; origin gas is separate. Poll relay_status with requestId ${E} after local submission; destination fulfillment is not yet confirmed.`}}return{tools:[{name:"relay_bridge_out",inputSchema:{type:"object",required:["destinationChainId","amount"],additionalProperties:!1,properties:{destinationChainId:{type:"integer",minimum:1},amount:{type:"string",pattern:"^[1-9][0-9]*$"},recipient:{type:"string"},originCurrency:be,slippageBps:{type:"integer",minimum:0,maximum:9999,default:me},destinationCurrency:{type:"string"},minAmountOut:ve()}},execute:async(n,e)=>{try{return await _e(n,e)}catch(i){throw new h(w.plainError(i))}}},{name:"relay_status",inputSchema:{type:"object",required:["requestId"],additionalProperties:!1,properties:{requestId:{type:"string",pattern:"^0x[0-9a-fA-F]{64}$"},verifyDestination:{type:"boolean"}}},execute:async n=>{let e=await pe(L(n.requestId));return n.verifyDestination!==!0||!e.fulfilled||e.destinationChainId===void 0?e:{...e,...await De(e.destinationChainId,e.txHashes)}}}],positions:async n=>{let e=d(n);if(!process.env.OAK_RELAY_API_KEY?.trim())return[{module:"relay",id:"relay-discovery-unavailable",chainId:l,assets:[],incomplete:!0,description:'Relay pending bridge discovery requires OAK_RELAY_API_KEY on the server. The request-history API requires this key; no pending bridges were checked. Ask the operator to configure it, or check a known request with relay_status {"requestId":"<id>"}. Legacy vault shares on other chains can be checked with relay_vault_status {"chainId":1} or {"chainId":42161}.'}];let i=new Map;for(let p of["outbound","inbound"]){let u=new Set,a;do{let s=new URLSearchParams({user:e,[p==="outbound"?"originChainId":"destinationChainId"]:String(l),limit:"100",includePendingRequests:"true"});a&&s.set("continuation",a);let m=await U(`/requests/v3?${s}`);for(let r of R(m.requests).map(t)){let q=Q(r.depositAddress)?r.depositAddress.depositor:void 0;if(![r.user,r.sender,q].some($=>typeof $=="string"&&$.toLowerCase()===e))throw new h("Relay returned a request for another wallet.");let g=L(r.id);if(i.has(g))continue;let I=await pe(g);if(I.settled)continue;let A=t(r.data),k=t(t(A.route).quoted),C=O(t(k.origin).inputCurrency),b={...C,token:{...C.token,symbol:le(C.token.symbol)??"unknown"}},P=O(t(k.destination).outputCurrency);c(p==="outbound"?b.token.chainId===l&&P.token.chainId!==l:b.token.chainId!==l&&P.token.chainId===l),I.originChainId!==void 0&&c(I.originChainId===b.token.chainId),I.destinationChainId!==void 0&&c(I.destinationChainId===P.token.chainId),i.set(g,{module:"relay",id:g,chainId:b.token.chainId,assets:[b],description:`Relay ${p} ${I.status}: ${b.amount} ${b.token.symbol} base units (${b.token.decimals} decimals) from chain ${b.token.chainId} toward ${d(r.recipient)} on chain ${P.token.chainId}. ${I.summary} Track with relay_status requestId ${g}.`})}if(m.continuation!==void 0&&m.continuation!==null&&typeof m.continuation!="string")throw new h("Relay returned invalid pagination.");if(a=typeof m.continuation=="string"&&m.continuation?m.continuation:void 0,a){if(u.has(a))throw new h("Relay repeated its pagination cursor. Pending positions are incomplete.");u.add(a)}}while(a)}return[...i.values()]}}};export{ze as a};
@@ -0,0 +1 @@
1
+ import{j as s}from"./NBRMUFJP.js";import{formatUnits as c}from"viem";function l(e){return`HoodLock creation fee: ${e.eth} ETH (${e.amount} wei; ${e.usd===null?"USD unavailable: no fresh ETH/USD reference":`approximately $${e.usd} USD`}), not refundable after creation. Paid to ${e.contract}; separate from network gas.`}async function p(e,t,d,r){let o=r===0n?"0":null;if(r>0n)try{let a=await s("ETH",{client:e.clientFor(4663),chainId:4663});BigInt(a.usdE18)>0n&&(o=c(r*BigInt(a.usdE18)/10n**18n,18))}catch{}let n={contract:d,amount:r.toString(),eth:c(r,18),usd:o,refundable:!1},i=l(n);return{...t,summary:`${t.summary} ${i}`,preview:{...t.preview,summary:`${t.preview.summary} ${i}`},protocolFee:n}}export{l as a,p as b};
@@ -0,0 +1 @@
1
+ import{d as Z}from"./TAI63P6E.js";import{e as ne}from"./5XFXH2JT.js";import{a as te,k as ae}from"./CBA776XQ.js";import{b as O,c as D}from"./2NA6JLEC.js";import{e as ee}from"./C3ZZSGSP.js";import{b as X}from"./AXYOJBX6.js";import{a as C}from"./6IM6A5VA.js";import{c as $}from"./MYBDO5SA.js";import{b as K}from"./UWOFA6GV.js";import{c as k,d as G,e as b,g as F,j as z,m as J,n as Q}from"./73N3TOJL.js";import{a as l,i as N}from"./XPFVT2EA.js";import{a as d}from"./5YS5V2LK.js";import{encodeFunctionData as se,erc20Abi as R,parseAbi as oe}from"viem";var B="https://api.beefy.finance/vaults",re="https://api.beefy.finance/fees",de="https://api.beefy.finance/apy/breakdown",ue="https://api.beefy.finance/tvl",ce="https://databarn.beefy.finance/api/v1/price",j=N[l].vaults.beefyTestedLpVault,M=oe(["function want() view returns (address)","function balance() view returns (uint256)","function getPricePerFullShare() view returns (uint256)","function strategy() view returns (address)","function paused() view returns (bool)","function deposit(uint256 amount)","function withdraw(uint256 shares)"]),q=K("Positive integer string in base units. Send quoted digits, never a JSON number.");function v(s){return z(s,"Provide a valid contract or wallet address.",G)}function _(s){return J(s,"The contract returned an invalid integer.")}function T(s){return Q(s,"Amount must be positive and fit in uint256.",{notString:"Amount must be a positive integer string in base units.",positive:!0})}function ie(s){if(typeof s!="number"||!Number.isInteger(s)||s<0||s>255)throw new d("Invalid token decimals.");return s}function I(s){return F(s,j.address)}function U(s){return te.some(f=>F(f.vault,s))}function L(s){return U(s)?"Use beefy_withdraw to exchange vault shares for CLM shares, redeem them into pair tokens with beefy_clm_withdraw, then convert the tokens to USDG with beefy_clm_swap.":"Use beefy_withdraw to exchange vault shares for the want token. Redeem that want into its pair tokens through a qualified Oak route or the Beefy app, then swap the received tokens to USDG."}function le(s){return!b(s)||!b(s.performance)?!1:[s.deposit,s.withdraw,s.performance.total].every(f=>typeof f=="number"&&Number.isFinite(f)&&f>=0&&f<=1)&&typeof s.lastUpdated=="number"&&Number.isSafeInteger(s.lastUpdated)&&s.lastUpdated>=0}var me=s=>{async function f(a){try{return await a()}catch(o){throw new d(s.plainError(o))}}function A(a,o){if(a.chainId!==void 0&&a.chainId!==l)throw new d("Beefy requires chain 4663.");for(let i of Object.keys(a))if(!["chainId",...o].includes(i))throw new d(`Unsupported Beefy input: ${i}.`)}async function P(){let a=await $(s.http,B,{headers:{"User-Agent":"Oak-Beefy/1.0"}},e=>Array.isArray(e)&&e.every(t=>b(t)&&typeof t.chain=="string")),o=new Set,i=new Set;return a.filter(e=>e.chain==="robinhood").map(e=>{if(typeof e.id!="string"||!e.id||typeof e.name!="string"||!e.name||e.type!=="standard"||!["active","paused","eol"].includes(String(e.status)))throw new d("The Beefy API returned an unexpected vault record.");let t=v(e.earnContractAddress);if(o.has(e.id)||i.has(t))throw new d("The Beefy API returned duplicate vault records.");return o.add(e.id),i.add(t),{id:e.id,name:e.name,type:"standard",chain:"robinhood",status:e.status,tokenAddress:v(e.tokenAddress),tokenDecimals:ie(e.tokenDecimals),earnContractAddress:t,assets:Array.isArray(e.assets)&&e.assets.every(r=>typeof r=="string")?e.assets:[],strategyType:typeof e.strategyTypeId=="string"?e.strategyTypeId:null,risks:b(e.risks)?Object.fromEntries(Object.entries(e.risks).filter(r=>typeof r[1]=="boolean")):{},lastHarvest:typeof e.lastHarvest=="number"&&Number.isSafeInteger(e.lastHarvest)&&e.lastHarvest>=0?e.lastHarvest:null}})}async function E(){return $(s.http,re,{headers:{"User-Agent":"Oak-Beefy/1.0"}},b)}function H(a,o){let i=a[o.id];if(!le(i))throw new d(`Beefy fees are unavailable for ${o.id}.`);return i}async function g(){let a=s.clientFor(l);if(await a.getChainId()!==l)throw new d("The Beefy endpoint must report chain 4663.");let o=_(await a.getBlockNumber()),i=(n,u)=>a.readContract({address:n,abi:M,functionName:u,blockNumber:o}),e=async(n,u)=>_(await a.readContract({address:n,abi:R,functionName:"balanceOf",args:[u],blockNumber:o}));async function t(n){let[u,p]=await Promise.all([a.readContract({address:n,abi:R,functionName:"symbol",blockNumber:o}),a.readContract({address:n,abi:R,functionName:"decimals",blockNumber:o})]);if(typeof u!="string"||!u.trim())throw new d("The contract returned invalid token metadata.");return{address:n,chainId:l,symbol:u,decimals:ie(p)}}async function r(n){let u=n.earnContractAddress,p=v(await i(u,"want"));if(p!==n.tokenAddress)throw new d(`Beefy API token and want() disagree for ${n.id}.`);let[h,y,m,c,w]=await Promise.all([t(p),t(u),i(u,"strategy"),i(u,"balance"),i(u,"getPricePerFullShare")]);if(h.decimals!==n.tokenDecimals)throw new d(`Beefy API and want decimals disagree for ${n.id}.`);let S=v(m),W=await i(S,"paused");if(typeof W!="boolean")throw new d("The strategy returned an invalid pause flag.");let x=_(w);if(x===0n)throw new d("The Beefy share price is zero.");return{want:h,shares:y,strategy:S,paused:W,managed:_(c),pricePerFullShare:x}}return{blockNumber:o,balanceOf:e,vaultState:r}}async function V(a){let o=v(a.vault),i=O(o),t=(await P()).find(r=>r.earnContractAddress===o);if(!t)throw new d("The selected vault is missing from the current Beefy inventory.");if(t.id!==i.id||t.tokenAddress!==i.tokenAddress.toLowerCase()||t.tokenDecimals!==i.tokenDecimals||t.type!==i.type)throw new d("The Beefy API and pinned vault type or want disagree.");return t}async function Y(a,o,i,e){let t=H(await E(),e),r=await s.preview(a,o),n=r.changes.map(u=>{let p=u.amount.startsWith("-"),h=p?u.amount.slice(1):u.amount;return`${p?"-":"+"}${s.formatAmount(h,u.token.decimals)} ${u.token.symbol} (${u.token.address}, chain ${u.token.chainId})`}).join("; ");return{txs:a,preview:r,summary:`${i} ${e.name}. ${n}. ${r.summary} Beefy API fees: deposit ${t.deposit*100}%, withdrawal ${t.withdraw*100}%, performance ${t.performance.total*100}% (updated ${t.lastUpdated} ms). These calls have no on-chain minimum output parameter; preview is an estimate, not a guaranteed amount. LP acquisition and conversion to USDG are separate.`}}return{tools:[{name:"beefy_list",inputSchema:{type:"object",properties:{chainId:{const:l}},additionalProperties:!1},execute:a=>f(async()=>{A(a,[]);let[o,i,e]=await Promise.all([P(),E(),g()]),t=[];for(let r of o){let n=await e.vaultState(r);t.push({id:r.id,name:r.name,vault:r.earnContractAddress,chainId:l,want:n.want,shares:n.shares,balance:{token:n.want,amount:n.managed.toString()},pricePerFullShare:{token:n.want,amount:n.pricePerFullShare.toString(),scale:"1000000000000000000",source:"getPricePerFullShare()"},apiStatus:{value:r.status,source:B},strategyPaused:{value:n.paused,source:"strategy.paused()",address:n.strategy,block:e.blockNumber.toString()},fees:{...H(i,r),source:re},forkQualified:I(r.earnContractAddress),qualification:I(r.earnContractAddress)?{source:j.source,block:j.block}:null,depositAvailable:O(r.earnContractAddress,!1)!==void 0&&r.status==="active"&&!n.paused,underlyingRoute:U(r.earnContractAddress)?{kind:"clm",read:"beefy_lp",acquire:"beefy_clm_deposit",redeem:"beefy_clm_withdraw",swap:"beefy_clm_swap"}:null,exitPath:L(r.earnContractAddress),block:e.blockNumber.toString()})}return{vaults:t,summary:"Direct want/LP vaults, not ERC-4626 or direct USDG. All pinned standard vaults support direct want deposits and share withdrawals after local code/type checks. For the seven active pinned CLM wants, start with beefy_lp and use the CLM acquisition/redemption tools. Fork qualification, API status and strategy pause are separate observations."}})},{name:"beefy_vault_info",inputSchema:{type:"object",properties:{vault:k,chainId:{const:l},historyBucket:{enum:["1h_1d","1h_1w","1h_1M","1d_1M","1d_1Y","1d_all"]}},required:["vault"],additionalProperties:!1},execute:a=>f(async()=>{A(a,["vault","historyBucket"]);let o=a.historyBucket??"1d_1M";if(!["1h_1d","1h_1w","1h_1M","1d_1M","1d_1Y","1d_all"].includes(String(o)))throw new d("Provide a supported Beefy historyBucket.");let i=v(a.vault),e=(await P()).find(m=>m.earnContractAddress===i);if(!e)throw new d("The selected vault is missing from the current Beefy inventory.");let t=new URL(ce);t.searchParams.set("product_key",`beefy:vault:robinhood:${i}`),t.searchParams.set("price_type","share_to_underlying"),t.searchParams.set("time_bucket",String(o));async function r(m,c){try{let w=await $(s.http,m,{headers:{"User-Agent":"Oak-Beefy/1.0"}},S=>S!==void 0);return{status:"available",source:m,value:c(w)}}catch(w){return{status:"unavailable",source:m,error:s.plainError(w)}}}let[n,u,p,h]=await Promise.all([r(de,m=>{if(!b(m))throw new d("Beefy APY is unavailable for this vault.");let c=m[e.id];if(!b(c))throw new d("Beefy APY is unavailable for this vault.");if(!Object.hasOwn(c,"totalApy")||Object.values(c).some(w=>typeof w!="number"||!Number.isFinite(w)||w<0))throw new d("Beefy returned invalid APY data.");return c}),r(ue,m=>{let c=b(m)?m[e.id]:void 0;if(typeof c!="number"||!Number.isFinite(c)||c<0)throw new d("Beefy TVL is unavailable for this vault.");return c}),r(t.toString(),m=>{if(!Array.isArray(m)||m.some(c=>!Array.isArray(c)||c.length<2||typeof c[0]!="string"||!Number.isFinite(Date.parse(c[0]))||typeof c[1]!="string"||!/^\d+(\.\d+)?$/.test(c[1])))throw new d("Beefy returned invalid share-price history.");return m.map(c=>({timestamp:c[0],shareToUnderlying:c[1]}))}),g()]),y=await h.vaultState(e);return{id:e.id,name:e.name,vault:e.earnContractAddress,chainId:l,want:y.want,strategy:{address:y.strategy,type:e.strategyType,assets:e.assets,paused:y.paused,lastHarvest:e.lastHarvest,source:B},risk:{status:Object.keys(e.risks).length?"available":"unavailable",flags:e.risks,source:B,guide:"https://docs.beefy.finance/safety/risk-checklist",summary:"API risk flags are assessments, not guarantees. Uncorrelated LP assets can suffer impermanent loss; vaults also expose strategy, token and contract risks."},apy:n,tvl:{...u,currency:"USD"},history:p,forkQualified:I(e.earnContractAddress),block:h.blockNumber.toString(),app:`https://app.beefy.finance/vault/${encodeURIComponent(e.id)}`,summary:"APY is a fractional annual estimate, not a promised return. Share-price history is not a wallet profit calculation. Missing analytics remain unavailable."}})},{name:"beefy_deposit",inputSchema:{type:"object",properties:{vault:k,token:k,amount:q,minSharesOut:q,slippageBps:{type:"integer",minimum:0,maximum:9999},chainId:{const:l}},required:["vault","token","amount"],additionalProperties:!1},execute:(a,o)=>f(async()=>{if(A(a,["vault","token","amount","minSharesOut","slippageBps"]),C(o),a.slippageBps!==void 0&&(!Number.isInteger(a.slippageBps)||Number(a.slippageBps)<0||Number(a.slippageBps)>9999))throw new d("slippageBps must be an integer from 0 to 9999.");a.minSharesOut!==void 0&&T(a.minSharesOut);let i=T(a.amount),e=v(a.token),t=await V(a),r=await g();await D(s.clientFor(l),t.earnContractAddress,r.blockNumber);let n=await r.vaultState(t);if(t.status!=="active")throw new d(`The Beefy API marks this vault ${t.status}; deposits are unavailable. ${L(t.earnContractAddress)}`);if(n.paused)throw new d(`The Beefy strategy is paused; deposits are unavailable. ${L(t.earnContractAddress)}`);if(e!==n.want.address)throw new d(`This vault needs ${n.want.symbol} (${n.want.address}, chain 4663), not the supplied token. ${U(t.earnContractAddress)?"Read beefy_lp, acquire the pair tokens with beefy_clm_swap and mint the want with beefy_clm_deposit first.":"No USDG zap is provided."}`);if(await r.balanceOf(n.want.address,o)<i)throw new d(`Insufficient ${n.want.symbol} want balance.`);let u=[s.approval(n.want.address,t.earnContractAddress,i.toString(),l),s.unsignedTx({to:t.earnContractAddress,data:se({abi:M,functionName:"deposit",args:[i]}),value:"0",chainId:l,description:`Deposit ${i} want base units into ${t.name}.`})],p=await Y(u,o,"Deposit into",t),h=i*10n**18n/n.pricePerFullShare,y=a.minSharesOut===void 0?h*BigInt(1e4-Number(a.slippageBps??50))/10000n:T(a.minSharesOut);if(y<=0n||y>h)throw new d("Minimum shares must be positive and no greater than the current forecast.");let m={token:{address:N[l].tokens.WETH.address,symbol:"WETH",decimals:18,chainId:l},from:n.strategy,recipient:o,optional:!0,includedInMinimumShares:!1},c=`Share forecast ${h}; minimum ${y} share base units (local pre-sign simulation check only; deposit(uint256) has no on-chain minimum). Optional WETH harvest rewards from strategy ${n.strategy} may vary or be zero and are not part of that floor.`;return{...p,harvestReward:m,minimumShares:y.toString(),summary:`${p.summary} ${c}`,preview:{...p.preview,summary:`${p.preview.summary} ${c}`}}})},{name:"beefy_withdraw",inputSchema:{type:"object",properties:{vault:k,shares:{anyOf:[q,{const:"all"}]},chainId:{const:l}},required:["vault","shares"],additionalProperties:!1},execute:(a,o)=>f(async()=>{A(a,["vault","shares"]),C(o);let i=a.shares==="all"?void 0:T(a.shares),e=await V(a),t=await g();await D(s.clientFor(l),e.earnContractAddress,t.blockNumber),await t.vaultState(e);let r=await t.balanceOf(e.earnContractAddress,o),n=i??r;if(n===0n||n>r)throw new d("Provide a positive share amount no greater than your current Beefy share balance.");let u=[s.unsignedTx({to:e.earnContractAddress,data:se({abi:M,functionName:"withdraw",args:[n]}),value:"0",chainId:l,description:`Withdraw ${n} share base units from ${e.name} to the calling wallet.`})];return Y(u,o,"Withdraw from",e)})}],positions:a=>f(async()=>{C(a);let[o,i]=await Promise.all([P(),g()]),e=[];for(let t of o){let r=await i.balanceOf(t.earnContractAddress,a);if(r===0n)continue;let n=await i.vaultState(t);e.push({module:"beefy",id:t.earnContractAddress,chainId:l,assets:[{token:n.want,amount:(r*n.pricePerFullShare/10n**18n).toString()}],description:`${t.name}: ${s.formatAmount(r.toString(),n.shares.decimals)} ${n.shares.symbol} shares (${t.earnContractAddress}); want estimate before withdrawal fees at block ${i.blockNumber}. API ${t.status}; strategy paused ${n.paused}. ${I(t.earnContractAddress)?"Recorded fork-qualified vault.":U(t.earnContractAddress)?"Direct want/share writes supported; CLM acquisition and redemption have separate qualification.":"Direct want/share writes supported after code/type checks; no recorded fork round trip yet."}`})}return e})}};function Be(s){return X("beefy",[me(s),ne(s),ae(s),Z(s),ee(s)])}export{me as a,Be as b};
@@ -0,0 +1 @@
1
+ var r=["netnet_blackjack_finalize","netnet_blackjack_expire","netnet_blackjack_claim"];function s(e,n){if(!r.includes(e))return!1;let a=n[e==="netnet_blackjack_claim"?"seriesId":"sessionId"];return Object.keys(n).length===1&&typeof a=="string"&&/^[1-9]\d{0,77}$/.test(a)&&BigInt(a)<1n<<256n}var t={setApprovalForAll:"Collection-wide card approval is not supportable under current policy. Owner transfers and burns need no approval.",seat:"New blackjack seating is disabled: channel State has no protocol-enforced signature expiry, so Oak cannot safely activate its signing key.",play:"Blackjack channel state has no protocol-enforced signature expiry under Oak\u2019s signing contract; nothing was signed.",signatures:"Existing blackjack signature relay needs a separately qualified signing contract, hash, signer and nonce validation. Signature import is disabled.",conversion:"NetNet card conversion is disabled until the router route, calldata, value and asset exits have been qualified. Arbitrary swap bytes are refused."};function o(e,n){if(r.includes(e)&&!s(e,n))return"Recovery accepts exactly one positive decimal session or series ID; recipients, signatures and extra fields are refused.";if(e==="netnet_turbo_action")return n.operation==="setApprovalForAll"?t.setApprovalForAll:["convertPremiums","convertSleeveFees"].includes(String(n.operation))?t.conversion:"TURBO card actions are unavailable. Read card balances and existing blackjack sessions to inspect their status.";if(e==="netnet_blackjack_seat")return t.seat;if(e==="netnet_blackjack_play"||e==="netnet_blackjack_action")return t.play}export{r as a,s as b,t as c,o as d};
@@ -0,0 +1 @@
1
+ import{h as l}from"./73N3TOJL.js";import{a as i}from"./5YS5V2LK.js";async function m(a,e,t,r){let n=`OAK_RPC_URL_${e}`;try{let s=a(e);if(await s.getChainId()!==e)throw new Error("Wrong chain");let o=await s.request({method:"debug_traceCall",params:[{from:t,to:t,data:"0x",value:"0x0",gas:"0x5208"},"latest",{tracer:"callTracer"}]});if(o?.type!=="CALL"||!l(o.to,t)||o.error)throw new Error("Invalid trace")}catch{throw new i(`Relay return path is unavailable on the ${r} for chain ${e}. Set ${n} in both the Oak server and local add-on environments to an RPC for chain ${e} that supports debug_traceCall with callTracer, then restart both and retry bridge-out. Nothing was submitted.`)}return`Relay return path checked on the ${r}: chain ${e} RPC and debug_traceCall with callTracer are available. This checks setup now; it does not guarantee future RPC availability or Relay settlement. Keep destination ETH for return gas.`}var h=500;function d(a,e){let t=BigInt(a),r=BigInt(e),n=((t-r)*10000n+t-1n)/t;return new i(`Relay order minimum is below the allowed slippage minimum. This quote needs slippageBps at least ${n} (maximum 9999), or explicit minAmountOut "${e}". Review that minimum before retrying; a new quote alone may have the same floor.`)}export{m as a,h as b,d as c};
@@ -0,0 +1 @@
1
+ import{a,b as o,d as r}from"./WQZLYX64.js";import{c as s}from"./HNMOB76J.js";import{a as t}from"./XPFVT2EA.js";var i=[{feature:"Ethos claim",source:"https://go.priors.trade/start-ethos.js",missing:"Public claim endpoint signs/sends the sponsor transaction remotely. No unsigned final transaction with a local preview/confirmation handoff is published. Use the owner Go Start workflow; Oak offers status and route discovery."},{feature:"x402 pay_url, paid reports, hire payments and pay_gateway",source:"https://github.com/priors-agents/priors/tree/02230282d8888e00794207ed271ee01b4ce30309/packages/x402",missing:"These hand EIP-3009 payment authorization to an external merchant/facilitator. The recipient settles remotely; no Oak-local unsigned transaction handoff is exposed. Oak discovery is supported; external payment-signature validation, recipient/invoice binding and preview semantics require a shared add-on protocol, beyond this module write scope. Gateway source also says its live 402 surface was not measured."},{feature:"Go Google/Privy account, gas sponsorship, recovery and agent001 approvals",source:"https://go.priors.trade/account",missing:"Authenticated smart-account/session and sponsored-operation APIs are not publicly specified as an unsigned plain-wallet contract. Owner uses Priors UI. Underlying pool, stock, savings and backing contracts are supported here."},{feature:"Publish merchant listings, job offers/results, board requests and signed public offers",source:"https://priors.trade/agent",missing:"Hosted MCP supplies discovery and signed board reads. A versioned authenticated mutation/withdrawal contract is not pinned from the inspected public SDK. Existing owner consent plus direct sponsor offer is supported on chain; creating external listings/messages remains an owner workflow."},{feature:"Create the X proof post",source:"https://go.priors.trade/xlink-core.js",missing:"Requires the human account owner to publish on X. Oak can set or clear the canonical proof URL as public ERC-8004 metadata, but does not publish posts or claim metadata alone verifies X ownership."}];function p(){return{tools:[{name:"priors_capabilities",inputSchema:{type:"object",properties:{},additionalProperties:!1},async execute(){return{chainId:t,sourceCommit:"02230282d8888e00794207ed271ee01b4ce30309",reads:[...a],actions:[...r],localOwnerSignatures:[...o],ownerOnly:s.filter(e=>e.owner).map(e=>e.name),blocked:i.map(e=>({...e,status:"BLOCKED"})),integration:"The shared bridge/server diffs must be integrated for open reads, local signing continuations, exact calldata reconstruction, action destinations and human confirmation. New core builders fail closed in older add-ons; a core-only install does not establish end-to-end feature availability.",safety:"Every local action previews its exact unsigned transaction bundle. Approvals equal inputs or explicit finite future budgets; never unlimited. Persistent autopay and bids authorize later third-party execution within the stated budget. Token backing is collateral and provides no promised returns."}}}]}}export{i as a,p as b};
@@ -0,0 +1 @@
1
+ import{a as H}from"./UWOFA6GV.js";import{c as B,f as z,g as I,k as F,n as G}from"./73N3TOJL.js";import{a as g,i as j}from"./XPFVT2EA.js";import{a}from"./5YS5V2LK.js";import{encodeFunctionData as Q,erc20Abi as O,parseAbi as oe,zeroHash as J}from"viem";var ne=j[g].meridian,S=ne.PredictionMarketEscrow.address,v={address:ne.CollateralToken_USDe.address,chainId:g,symbol:"USDe",decimals:18},se="https://api.predict.meridian.xyz/graphql",ae="query GetOpenConditions($now: Int!, $first: Int!, $after: String, $search: String, $conditionIds: [Bytes!], $resolvers: [Address!]) { conditions(first: $first, after: $after, filter: { chainId: 4663, settled: false, public: true, endTime: { gte: $now }, search: $search, conditionIds: $conditionIds, resolvers: $resolvers }) { totalCount pageInfo { hasNextPage endCursor } nodes { conditionId resolver question shortName optionName endTime estimatedPrice openInterest similarMarketVolume24h marketType } } }",de="query GetHolderPositions($holder: Address!, $first: Int!, $after: String) { positions(first: $first, after: $after, filter: { holder: $holder, chainId: 4663 }, orderBy: { field: CREATED_AT, direction: DESC }) { totalCount pageInfo { hasNextPage endCursor } nodes { id chainId holder side balance tokenAddress: token pickConfigId userCollateral totalPayout prediction { predictionId } pickConfig { pickConfigId marketAddress: escrow resolved result } } } }",U=oe(["function getClaimableAmount(bytes32 pickConfigId, address positionToken, uint256 tokenAmount) view returns (uint256)","function settle(bytes32 predictionId, bytes32 refCode)","function redeem(address positionToken, uint256 amount, bytes32 refCode) returns (uint256)"]),K={type:"string",pattern:"^0x[0-9a-fA-F]{64}$"},V={type:"string",minLength:1,maxLength:4096,description:"Opaque nextCursor returned by the previous page."},E=25,W={type:"integer",minimum:1,maximum:E},ce=1e3;function Y(n,y){if(n===void 0)return y;if(!Number.isSafeInteger(n)||n<1||n>E)throw new a("Provide a Meridian page limit from 1 to 25.");return n}function X(n){if(n!==void 0){if(typeof n!="string"||!n.trim()||n.length>4096)throw new a("Provide the opaque Meridian nextCursor returned by the previous page.");return n}}function Z(n,y,u,w=!1){let l=C(n),m=C(l.pageInfo),P=Array.isArray(l.nodes)?l.nodes.filter(q=>!w||N(C(q).balance)!=="0").length:0;if(!Array.isArray(l.nodes)||l.nodes.length>y||!Number.isSafeInteger(l.totalCount)||l.totalCount<P||typeof m.hasNextPage!="boolean"||u===void 0&&!m.hasNextPage&&l.totalCount>l.nodes.length||m.endCursor!==null&&(typeof m.endCursor!="string"||!m.endCursor.trim()||m.endCursor.length>4096)||m.hasNextPage&&(l.nodes.length===0||m.endCursor===null||m.endCursor===u))throw new a("Meridian returned invalid pagination; retry the scan from the first page.");return{nodes:l.nodes,totalCount:l.totalCount,nextCursor:m.hasNextPage?m.endCursor:null,complete:!m.hasNextPage&&u===void 0}}function C(n){return z(n,"Meridian returned an unexpected response.")}function A(n){if(typeof n!="string"||!n.trim())throw new a("Meridian returned an invalid text field.");return n}function b(n){return F(n,"Provide a valid Meridian contract or wallet address.")}function M(n){if(typeof n!="string"||!/^0x[0-9a-fA-F]{64}$/.test(n))throw new a("Provide a valid Meridian prediction or pick configuration ID.");return n}function R(n){return G(n,"Meridian amount exceeds the uint256 range.",{notString:"Meridian amounts must be integer strings in base units."}).toString()}function N(n){return n===0?"0":R(n)}function D(n){if(typeof n!="bigint"||n<0n)throw new a("Meridian returned an invalid on-chain amount.");return R(n.toString())}function ue(n,y){return n.chainId===y.chainId&&I(n.address,y.address)}function ee(n,y){let u=C(n),w=C(u.pickConfig),l=b(u.holder),m=b(w.marketAddress);if(u.chainId!==g||!I(l,y))throw new a("Meridian returned a position for a different wallet or chain.");if(!I(m,S))throw new a("This Meridian position uses an unsupported escrow contract.");if(typeof w.resolved!="boolean"||w.result!==null&&typeof w.result!="string")throw new a("Meridian returned an invalid resolution.");let P=M(u.pickConfigId);if(!I(M(w.pickConfigId),P))throw new a("Meridian returned mismatched pick configuration IDs.");if(u.side!=="PREDICTOR"&&u.side!=="COUNTERPARTY")throw new a("Meridian returned an invalid position side.");return{id:A(u.id),chainId:g,holder:l,side:u.side,balance:N(u.balance),tokenAddress:b(u.tokenAddress),pickConfigId:P,userCollateral:N(u.userCollateral),totalPayout:N(u.totalPayout),prediction:{predictionId:M(C(u.prediction).predictionId)},pickConfig:{pickConfigId:P,marketAddress:m,resolved:w.resolved,result:w.result}}}var le=n=>{async function y(t){try{return await t()}catch(o){throw new a(n.plainError(o))}}async function u(){let t=n.clientFor(g);if(await t.getChainId()!==g)throw new a("Meridian requires an RPC on chain 4663.");return t}async function w(t,o,r){let s=new URL(se);s.searchParams.set("op",t),s.searchParams.set("query",o),s.searchParams.set("variables",JSON.stringify(r));let e=await n.http(s.toString(),{method:"GET",headers:{Accept:"application/json"}});if(!e.ok)throw new a(`Meridian returned HTTP ${e.status}. Please try again.`);let c;try{c=await e.json()}catch{throw new a("Meridian returned malformed JSON.")}let d=C(c);if(d.errors!==void 0&&(!Array.isArray(d.errors)||d.errors.length>0))throw new a("Meridian could not complete the GraphQL query. Please try again.");return C(d.data)}async function l(t,o=10,r){b(t);let s=await w("GetHolderPositions",de,{holder:t,first:o,...r===void 0?{}:{after:r}});return Z(s.positions,o,r,!0)}async function m(t,o){let r=[],s=new Set,e=new Set,c,d,f=0;for(let p=0;p<ce;p++){let h=await l(t,E,c);if(d!==void 0&&d!==h.totalCount)throw new a("Meridian positions changed during pagination; retry from the first page.");d=h.totalCount;for(let x of h.nodes){let i=C(x),k=A(i.id);if(e.has(k))throw new a("Meridian repeated a position during pagination; retry from the first page.");e.add(k),N(i.balance)!=="0"&&f++,(o===void 0||I(b(i.tokenAddress),o))&&r.push(ee(x,t))}if(h.nextCursor===null){if(f>d||e.size<d)throw new a("Meridian returned an incomplete positions scan; retry from the first page.");return r}if(s.has(h.nextCursor))throw new a("Meridian repeated a cursor; retry from the first page.");s.add(h.nextCursor),c=h.nextCursor}throw new a("Meridian positions scan exceeded 1000 pages. Use meridian_positions with limit and cursor to inspect pages; redeem a known settled positionToken directly.")}async function P(t,o){if(t.length===0)return[];let r=await u();return(await Promise.all(t.map(async e=>{let[c,d,f]=await Promise.all([r.readContract({address:e.tokenAddress,abi:O,functionName:"balanceOf",args:[o]}),r.readContract({address:e.tokenAddress,abi:O,functionName:"decimals"}),r.readContract({address:e.tokenAddress,abi:O,functionName:"symbol"})]);if(!Number.isInteger(d)||d<0||d>255)throw new a("Meridian returned invalid position token decimals.");let p={address:e.tokenAddress,chainId:g,decimals:d,symbol:A(f)},h=D(c),x=e.pickConfig.resolved?{token:{...v},amount:D(await r.readContract({address:S,abi:U,functionName:"getClaimableAmount",args:[e.pickConfigId,e.tokenAddress,BigInt(h)]}))}:null;return{module:"meridian",id:e.id,chainId:g,assets:[{token:p,amount:h}],description:`Meridian ${e.side.toLowerCase()} position; ${e.pickConfig.resolved?e.pickConfig.result??"resolved":"unresolved"}.`,holder:e.holder,side:e.side,pickConfigId:e.pickConfigId,prediction:e.prediction,pickConfig:e.pickConfig,userCollateral:{token:{...v},amount:e.userCollateral},totalPayout:{token:{...v},amount:e.totalPayout},claimable:x}}))).filter(e=>BigInt(e.assets[0].amount)>0n)}async function q(t){return P(await m(t),t)}function L(t){return n.unsignedTx({to:S,chainId:g,value:"0",data:Q({abi:U,functionName:"settle",args:[t,J]}),description:`Settle Meridian prediction ${t}.`})}function _(t,o,r){let s=o.changes.map(e=>{let c=e.amount.startsWith("-"),d=n.formatAmount(c?e.amount.slice(1):e.amount,e.token.decimals);return`${c?"-":"+"}${d} ${e.token.symbol} (${e.token.address}, chain ${e.token.chainId})`});return{txs:t,preview:o,summary:`${r} ${o.summary}${s.length?` Changes: ${s.join("; ")}.`:""}`}}async function te(t){let o=Y(t.limit,20),r=X(t.cursor);if(r!==void 0&&t.asOf===void 0)throw new a("Pass the previous Meridian browse asOf with cursor to keep the same time filter.");let s=t.asOf===void 0?Math.floor(Date.now()/1e3):Number(R(t.asOf));if(!Number.isSafeInteger(s)||s<0||s>2147483647)throw new a("Provide Meridian asOf as Unix seconds within the GraphQL Int range.");let e;if(t.search!==void 0&&(e=A(t.search).trim(),e.length>500))throw new a("Keep the Meridian market search to 500 characters.");let c=t.conditionId===void 0?void 0:M(t.conditionId),d=t.resolver===void 0?void 0:b(t.resolver),f=await w("GetOpenConditions",ae,{now:s,first:o,...r===void 0?{}:{after:r},...e===void 0?{}:{search:e},...c===void 0?{}:{conditionIds:[c]},...d===void 0?{}:{resolvers:[d]}}),p=Z(f.conditions,o,r),h=p.nodes.map(x=>{let i=C(x);if(!Number.isSafeInteger(i.endTime)||i.endTime<0||i.estimatedPrice!==null&&(typeof i.estimatedPrice!="number"||!Number.isFinite(i.estimatedPrice)||i.estimatedPrice<0||i.estimatedPrice>1))throw new a("Meridian returned invalid market pricing or time.");let k=M(i.conditionId),T=b(i.resolver);if(c!==void 0&&!I(k,c)||d!==void 0&&!I(T,d))throw new a("Meridian returned a different condition or resolver than requested.");return{conditionId:k,resolver:T,question:A(i.question),shortName:i.shortName===null?null:A(i.shortName),optionName:i.optionName===null?null:A(i.optionName),endTime:String(i.endTime),estimatedPrice:i.estimatedPrice===null?null:String(i.estimatedPrice),marketType:i.marketType===null?null:A(i.marketType)}});return{chainId:g,collateral:{...v},totalCount:p.totalCount,markets:h,limit:o,nextCursor:p.nextCursor,complete:p.complete,asOf:String(s)}}async function ie(t,o){let r=b(t.positionToken),s=R(t.amount);if(BigInt(s)===0n)throw new a("Provide a positive Meridian redemption amount.");let e=await u(),c=D(await e.readContract({address:r,abi:O,functionName:"balanceOf",args:[o]}));if(BigInt(s)>BigInt(c))throw new a("The redemption amount exceeds the wallet position balance.");let d=n.unsignedTx({to:S,chainId:g,value:"0",data:Q({abi:U,functionName:"redeem",args:[r,BigInt(s),J]}),description:`Redeem ${s} Meridian position base units for USDe.`}),f=[d],p;try{p=await n.preview(f,o)}catch(i){if(!/\breverted\b/i.test(n.plainError(i)))throw i;let k=await m(o,r);if(k.length!==1)throw new a("Direct Meridian redemption reverted and no unique indexed prediction was found for this token. Retry indexing or use meridian_settle with the known predictionId first.");let T=k[0];if(T.pickConfig.resolved){let re=D(await e.readContract({address:S,abi:U,functionName:"getClaimableAmount",args:[T.pickConfigId,r,BigInt(s)]}));if(BigInt(re)===0n)throw i}f=[L(T.prediction.predictionId),d],p=await n.preview(f,o)}let h=p.changes.filter(i=>ue(i.token,v)&&i.token.decimals===v.decimals).reduce((i,k)=>i+BigInt(k.amount),0n),x=p.changes.filter(i=>i.token.chainId===g&&I(i.token.address,r)).reduce((i,k)=>i+BigInt(k.amount),0n);if(h<=0n||x!==-BigInt(s))throw new a("Meridian preview did not show the requested position burn and a positive USDe payout.");return _(f,p,f.length===2?"Settle the prediction, then redeem for USDe. Unsigned transactions only.":"Redeem the position for USDe. Unsigned transaction only.")}function $(t,o,r,s,e){return{name:t,inputSchema:{type:"object",properties:o,required:r,additionalProperties:!1,description:s},execute:(c,d)=>y(async()=>{if(C(c),b(d),Object.keys(c).some(f=>!Object.hasOwn(o,f))||r.some(f=>c[f]===void 0))throw new a("Provide only the required Meridian tool inputs.");return e(c,d)})}}return{tools:[$("meridian_browse",{search:{type:"string",minLength:1,maxLength:500},cursor:V,limit:W,conditionId:K,resolver:B,asOf:H("Reuse the returned Unix seconds with cursor.")},[],"Search open Meridian conditions or look up a conditionId/resolver. Follow nextCursor with the same filters and asOf.",te),$("meridian_positions",{cursor:V,limit:W},[],"Page through indexed Meridian positions with on-chain balances and claimability. Follow nextCursor until null; indexing can lag transfers.",async(t,o)=>{let r=Y(t.limit,10),s=X(t.cursor),e=await l(o,r,s);return{positions:await P(e.nodes.map(c=>ee(c,o)),o),totalCount:e.totalCount,limit:r,nextCursor:e.nextCursor,complete:e.complete,scope:"Indexed positions with current on-chain balances. Index totalCount may exclude zero-balance rows. Indexing can lag transfers; redeem known settled tokens directly."}}),$("meridian_settle",{predictionId:K},["predictionId"],"Preview an unsigned unilateral settlement; unresolved or already settled predictions may revert.",async(t,o)=>{let r=L(M(t.predictionId));await u();let s=[r];return _(s,await n.preview(s,o),"Settle the Meridian prediction. Unsigned transaction only.")}),$("meridian_redeem",{positionToken:B,amount:H("Position token amount in base units.")},["positionToken","amount"],"Preview redemption of a known position token directly; scan all indexed pages for settlement first if required. No approval or typed signature.",ie)],positions:t=>y(()=>q(t))}},we=le;export{le as a,we as b};