@oakagentkit/core 0.1.2 → 0.1.9

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 (576) 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/errors.js +1 -1
  11. package/build/dist/api/gas.js +1 -1
  12. package/build/dist/api/grandfather.js +1 -1
  13. package/build/dist/api/guards.d.ts +23 -0
  14. package/build/dist/api/guards.js +1 -0
  15. package/build/dist/api/history.js +1 -1
  16. package/build/dist/api/http.js +1 -1
  17. package/build/dist/api/identity-link.js +1 -1
  18. package/build/dist/api/launch.d.ts +1 -0
  19. package/build/dist/api/launch.js +1 -1
  20. package/build/dist/api/merkle.js +1 -1
  21. package/build/dist/api/metadata.js +1 -1
  22. package/build/dist/api/module.js +1 -1
  23. package/build/dist/api/modules/beefy/boosts.d.ts +132 -0
  24. package/build/dist/api/modules/beefy/boosts.js +1 -0
  25. package/build/dist/api/modules/beefy/clm.d.ts +282 -0
  26. package/build/dist/api/modules/beefy/clm.js +1 -0
  27. package/build/dist/api/modules/beefy/guard.d.ts +5 -0
  28. package/build/dist/api/modules/beefy/guard.js +1 -0
  29. package/build/dist/api/modules/beefy/index.js +1 -1
  30. package/build/dist/api/modules/beefy/liquidity.d.ts +237 -0
  31. package/build/dist/api/modules/beefy/liquidity.js +1 -0
  32. package/build/dist/api/modules/beefy/management.d.ts +100 -0
  33. package/build/dist/api/modules/beefy/management.js +1 -0
  34. package/build/dist/api/modules/beefy/vaults.d.ts +14 -0
  35. package/build/dist/api/modules/beefy/vaults.js +1 -0
  36. package/build/dist/api/modules/clanker/extensions.d.ts +62 -0
  37. package/build/dist/api/modules/clanker/extensions.js +1 -0
  38. package/build/dist/api/modules/clanker/index.js +1 -1
  39. package/build/dist/api/modules/clanker/manage.d.ts +2 -0
  40. package/build/dist/api/modules/clanker/manage.js +1 -0
  41. package/build/dist/api/modules/clanker/pool-config.d.ts +96 -0
  42. package/build/dist/api/modules/clanker/pool-config.js +1 -0
  43. package/build/dist/api/modules/clanker/protocol.d.ts +2 -0
  44. package/build/dist/api/modules/clanker/protocol.js +1 -0
  45. package/build/dist/api/modules/clanker/state.d.ts +246 -0
  46. package/build/dist/api/modules/clanker/state.js +1 -0
  47. package/build/dist/api/modules/erc8004/abi.d.ts +808 -0
  48. package/build/dist/api/modules/erc8004/abi.js +1 -0
  49. package/build/dist/api/modules/erc8004/common.d.ts +69 -0
  50. package/build/dist/api/modules/erc8004/common.js +1 -0
  51. package/build/dist/api/modules/erc8004/domain.d.ts +3 -0
  52. package/build/dist/api/modules/erc8004/domain.js +1 -0
  53. package/build/dist/api/modules/erc8004/index.d.ts +3 -171
  54. package/build/dist/api/modules/erc8004/index.js +1 -1
  55. package/build/dist/api/modules/erc8004/management.d.ts +4 -0
  56. package/build/dist/api/modules/erc8004/management.js +1 -0
  57. package/build/dist/api/modules/erc8004/reputation.d.ts +3 -0
  58. package/build/dist/api/modules/erc8004/reputation.js +1 -0
  59. package/build/dist/api/modules/erc8004/services.d.ts +2 -0
  60. package/build/dist/api/modules/erc8004/services.js +1 -0
  61. package/build/dist/api/modules/erc8004/validation.d.ts +2 -0
  62. package/build/dist/api/modules/erc8004/validation.js +1 -0
  63. package/build/dist/api/modules/grove/index.js +1 -1
  64. package/build/dist/api/modules/heyresearch/freshness.d.ts +12 -0
  65. package/build/dist/api/modules/heyresearch/freshness.js +1 -0
  66. package/build/dist/api/modules/heyresearch/index.js +1 -1
  67. package/build/dist/api/modules/heyresearch/public-reads.d.ts +5 -0
  68. package/build/dist/api/modules/heyresearch/public-reads.js +1 -0
  69. package/build/dist/api/modules/hoodag/chain-reads.d.ts +33 -0
  70. package/build/dist/api/modules/hoodag/chain-reads.js +1 -0
  71. package/build/dist/api/modules/hoodag/index.d.ts +9 -1
  72. package/build/dist/api/modules/hoodag/index.js +1 -1
  73. package/build/dist/api/modules/hoodag/management.d.ts +2 -0
  74. package/build/dist/api/modules/hoodag/management.js +1 -0
  75. package/build/dist/api/modules/hoodag/public-reads.d.ts +2 -0
  76. package/build/dist/api/modules/hoodag/public-reads.js +1 -0
  77. package/build/dist/api/modules/hoodag/reconstruct.d.ts +14 -0
  78. package/build/dist/api/modules/hoodag/reconstruct.js +1 -0
  79. package/build/dist/api/modules/hoodlock/airdrop.js +1 -1
  80. package/build/dist/api/modules/hoodlock/buyback.d.ts +28 -0
  81. package/build/dist/api/modules/hoodlock/buyback.js +1 -0
  82. package/build/dist/api/modules/hoodlock/commerce.d.ts +24 -0
  83. package/build/dist/api/modules/hoodlock/commerce.js +1 -0
  84. package/build/dist/api/modules/hoodlock/fee.d.ts +15 -0
  85. package/build/dist/api/modules/hoodlock/fee.js +1 -0
  86. package/build/dist/api/modules/hoodlock/guard.d.ts +5 -0
  87. package/build/dist/api/modules/hoodlock/guard.js +1 -0
  88. package/build/dist/api/modules/hoodlock/index.d.ts +4 -0
  89. package/build/dist/api/modules/hoodlock/index.js +1 -1
  90. package/build/dist/api/modules/hoodlock/lifecycle.d.ts +285 -0
  91. package/build/dist/api/modules/hoodlock/lifecycle.js +1 -0
  92. package/build/dist/api/modules/hoodlock/locks-burn.d.ts +3 -3
  93. package/build/dist/api/modules/hoodlock/locks-burn.js +1 -1
  94. package/build/dist/api/modules/hoodlock/public.d.ts +3 -0
  95. package/build/dist/api/modules/hoodlock/public.js +1 -0
  96. package/build/dist/api/modules/hookr/actions.d.ts +4 -0
  97. package/build/dist/api/modules/hookr/actions.js +1 -0
  98. package/build/dist/api/modules/hookr/addons.d.ts +4 -0
  99. package/build/dist/api/modules/hookr/addons.js +1 -0
  100. package/build/dist/api/modules/hookr/contracts.d.ts +30 -0
  101. package/build/dist/api/modules/hookr/contracts.js +1 -0
  102. package/build/dist/api/modules/hookr/create-cancel.d.ts +10 -73
  103. package/build/dist/api/modules/hookr/create-cancel.js +1 -1
  104. package/build/dist/api/modules/hookr/discovery.d.ts +3 -0
  105. package/build/dist/api/modules/hookr/discovery.js +1 -0
  106. package/build/dist/api/modules/hookr/fill-bounty.js +1 -1
  107. package/build/dist/api/modules/hookr/index.d.ts +0 -3
  108. package/build/dist/api/modules/hookr/index.js +1 -1
  109. package/build/dist/api/modules/hookr/public-reads.d.ts +4 -0
  110. package/build/dist/api/modules/hookr/public-reads.js +1 -0
  111. package/build/dist/api/modules/hookr/relay.d.ts +304 -0
  112. package/build/dist/api/modules/hookr/relay.js +1 -0
  113. package/build/dist/api/modules/hookr/revenue.d.ts +5 -0
  114. package/build/dist/api/modules/hookr/revenue.js +1 -0
  115. package/build/dist/api/modules/kyberswap/index.d.ts +18 -2
  116. package/build/dist/api/modules/kyberswap/index.js +1 -1
  117. package/build/dist/api/modules/kyberswap/source-pools.d.ts +9 -0
  118. package/build/dist/api/modules/kyberswap/source-pools.js +1 -0
  119. package/build/dist/api/modules/lighter/index.js +1 -1
  120. package/build/dist/api/modules/longbow/administration.d.ts +119 -0
  121. package/build/dist/api/modules/longbow/administration.js +1 -0
  122. package/build/dist/api/modules/longbow/analytics.d.ts +272 -0
  123. package/build/dist/api/modules/longbow/analytics.js +1 -0
  124. package/build/dist/api/modules/longbow/fixed.d.ts +126 -0
  125. package/build/dist/api/modules/longbow/fixed.js +1 -0
  126. package/build/dist/api/modules/longbow/index.d.ts +16 -0
  127. package/build/dist/api/modules/longbow/index.js +1 -1
  128. package/build/dist/api/modules/longbow/nft.d.ts +236 -0
  129. package/build/dist/api/modules/longbow/nft.js +1 -0
  130. package/build/dist/api/modules/longbow/rebates.d.ts +152 -0
  131. package/build/dist/api/modules/longbow/rebates.js +1 -0
  132. package/build/dist/api/modules/longbow/staking.d.ts +4 -0
  133. package/build/dist/api/modules/longbow/staking.js +1 -0
  134. package/build/dist/api/modules/meridian/index.js +1 -1
  135. package/build/dist/api/modules/meridian/markets.js +1 -1
  136. package/build/dist/api/modules/meridian/perps-batch.d.ts +4 -0
  137. package/build/dist/api/modules/meridian/perps-batch.js +1 -0
  138. package/build/dist/api/modules/meridian/perps-common.d.ts +56 -0
  139. package/build/dist/api/modules/meridian/perps-common.js +1 -0
  140. package/build/dist/api/modules/meridian/perps-guards.d.ts +3 -0
  141. package/build/dist/api/modules/meridian/perps-guards.js +1 -0
  142. package/build/dist/api/modules/meridian/perps-intents.d.ts +18 -0
  143. package/build/dist/api/modules/meridian/perps-intents.js +1 -0
  144. package/build/dist/api/modules/meridian/perps-stream.d.ts +3 -0
  145. package/build/dist/api/modules/meridian/perps-stream.js +1 -0
  146. package/build/dist/api/modules/meridian/perps.d.ts +3 -0
  147. package/build/dist/api/modules/meridian/perps.js +1 -0
  148. package/build/dist/api/modules/meridian/predict-read.d.ts +2 -0
  149. package/build/dist/api/modules/meridian/predict-read.js +1 -0
  150. package/build/dist/api/modules/meridian/rfq.d.ts +29 -0
  151. package/build/dist/api/modules/meridian/rfq.js +1 -1
  152. package/build/dist/api/modules/merkl/discovery.d.ts +2 -0
  153. package/build/dist/api/modules/merkl/discovery.js +1 -0
  154. package/build/dist/api/modules/merkl/index.d.ts +10 -1
  155. package/build/dist/api/modules/merkl/index.js +1 -1
  156. package/build/dist/api/modules/merkl/manage.d.ts +2 -0
  157. package/build/dist/api/modules/merkl/manage.js +1 -0
  158. package/build/dist/api/modules/merkl/protocol.d.ts +2 -0
  159. package/build/dist/api/modules/merkl/protocol.js +1 -0
  160. package/build/dist/api/modules/morpho/allocator.d.ts +308 -0
  161. package/build/dist/api/modules/morpho/allocator.js +1 -0
  162. package/build/dist/api/modules/morpho/bundles-abi.d.ts +705 -0
  163. package/build/dist/api/modules/morpho/bundles-abi.js +1 -0
  164. package/build/dist/api/modules/morpho/bundles.d.ts +3 -0
  165. package/build/dist/api/modules/morpho/bundles.js +1 -0
  166. package/build/dist/api/modules/morpho/in-kind.d.ts +85 -0
  167. package/build/dist/api/modules/morpho/in-kind.js +1 -0
  168. package/build/dist/api/modules/morpho/index.d.ts +10 -2
  169. package/build/dist/api/modules/morpho/index.js +1 -12
  170. package/build/dist/api/modules/morpho/local-guard.d.ts +26 -0
  171. package/build/dist/api/modules/morpho/local-guard.js +1 -0
  172. package/build/dist/api/modules/morpho/midnight-abi.d.ts +1690 -0
  173. package/build/dist/api/modules/morpho/midnight-abi.js +1 -0
  174. package/build/dist/api/modules/morpho/midnight.d.ts +179 -0
  175. package/build/dist/api/modules/morpho/midnight.js +1 -0
  176. package/build/dist/api/modules/morpho/protocol.d.ts +290 -0
  177. package/build/dist/api/modules/morpho/protocol.js +1 -0
  178. package/build/dist/api/modules/morpho/surface.d.ts +4 -0
  179. package/build/dist/api/modules/morpho/surface.js +1 -0
  180. package/build/dist/api/modules/morpho/vault-management.d.ts +10 -0
  181. package/build/dist/api/modules/morpho/vault-management.js +1 -0
  182. package/build/dist/api/modules/morpho/vault-tools.d.ts +6 -0
  183. package/build/dist/api/modules/morpho/vault-tools.js +1 -0
  184. package/build/dist/api/modules/morpho/vault-v2.d.ts +190 -0
  185. package/build/dist/api/modules/morpho/vault-v2.js +1 -0
  186. package/build/dist/api/modules/netnet/blackjack-hashes.d.ts +89 -0
  187. package/build/dist/api/modules/netnet/blackjack-hashes.js +1 -0
  188. package/build/dist/api/modules/netnet/card-abi.d.ts +3758 -0
  189. package/build/dist/api/modules/netnet/card-abi.js +1 -0
  190. package/build/dist/api/modules/netnet/card-plan.d.ts +43 -0
  191. package/build/dist/api/modules/netnet/card-plan.js +1 -0
  192. package/build/dist/api/modules/netnet/card-policy.d.ts +10 -0
  193. package/build/dist/api/modules/netnet/card-policy.js +1 -0
  194. package/build/dist/api/modules/netnet/card-read.d.ts +2 -0
  195. package/build/dist/api/modules/netnet/card-read.js +1 -0
  196. package/build/dist/api/modules/netnet/card-recovery.d.ts +2 -0
  197. package/build/dist/api/modules/netnet/card-recovery.js +1 -0
  198. package/build/dist/api/modules/netnet/desk-action-abi.d.ts +2 -0
  199. package/build/dist/api/modules/netnet/desk-action-abi.js +1 -0
  200. package/build/dist/api/modules/netnet/desk-action.d.ts +3 -0
  201. package/build/dist/api/modules/netnet/desk-action.js +1 -0
  202. package/build/dist/api/modules/netnet/desk-read.d.ts +5 -0
  203. package/build/dist/api/modules/netnet/desk-read.js +1 -0
  204. package/build/dist/api/modules/netnet/desk-registry.d.ts +5 -0
  205. package/build/dist/api/modules/netnet/desk-registry.js +1 -0
  206. package/build/dist/api/modules/netnet/financial-abi.d.ts +1764 -0
  207. package/build/dist/api/modules/netnet/financial-abi.js +1 -0
  208. package/build/dist/api/modules/netnet/financial.d.ts +13 -0
  209. package/build/dist/api/modules/netnet/financial.js +1 -0
  210. package/build/dist/api/modules/netnet/index.d.ts +1 -0
  211. package/build/dist/api/modules/netnet/index.js +1 -1
  212. package/build/dist/api/modules/netnet/staking.d.ts +8 -0
  213. package/build/dist/api/modules/netnet/staking.js +1 -0
  214. package/build/dist/api/modules/orbio/gateway.d.ts +24 -0
  215. package/build/dist/api/modules/orbio/gateway.js +1 -0
  216. package/build/dist/api/modules/orbio/index.d.ts +3 -1
  217. package/build/dist/api/modules/orbio/index.js +1 -1
  218. package/build/dist/api/modules/orbio/pins.d.ts +457 -0
  219. package/build/dist/api/modules/orbio/pins.js +1 -0
  220. package/build/dist/api/modules/pons/claim.d.ts +33 -1
  221. package/build/dist/api/modules/pons/claim.js +1 -1
  222. package/build/dist/api/modules/pons/holder-directory.d.ts +35 -0
  223. package/build/dist/api/modules/pons/holder-directory.js +1 -0
  224. package/build/dist/api/modules/pons/index.js +1 -1
  225. package/build/dist/api/modules/pons/launch-status.d.ts +151 -5
  226. package/build/dist/api/modules/pons/launch-status.js +1 -1
  227. package/build/dist/api/modules/pons/prices.js +1 -1
  228. package/build/dist/api/modules/pons/reads.d.ts +3 -0
  229. package/build/dist/api/modules/pons/reads.js +1 -0
  230. package/build/dist/api/modules/pons/swap-terms.d.ts +77 -0
  231. package/build/dist/api/modules/pons/swap-terms.js +1 -0
  232. package/build/dist/api/modules/pons/trade.d.ts +13 -2
  233. package/build/dist/api/modules/pons/trade.js +1 -1
  234. package/build/dist/api/modules/poolstrade/index.js +1 -1
  235. package/build/dist/api/modules/priors/coverage.d.ts +23 -0
  236. package/build/dist/api/modules/priors/coverage.js +1 -0
  237. package/build/dist/api/modules/priors/discovery.d.ts +4 -0
  238. package/build/dist/api/modules/priors/discovery.js +1 -0
  239. package/build/dist/api/modules/priors/features.d.ts +62 -0
  240. package/build/dist/api/modules/priors/features.js +1 -0
  241. package/build/dist/api/modules/priors/index.d.ts +9 -2
  242. package/build/dist/api/modules/priors/index.js +1 -1
  243. package/build/dist/api/modules/priors/integration.d.ts +6 -0
  244. package/build/dist/api/modules/priors/integration.js +1 -0
  245. package/build/dist/api/modules/priors/market.d.ts +10 -0
  246. package/build/dist/api/modules/priors/market.js +1 -0
  247. package/build/dist/api/modules/priors/pt.d.ts +421 -0
  248. package/build/dist/api/modules/priors/pt.js +1 -0
  249. package/build/dist/api/modules/priors/savings-exit.d.ts +85 -0
  250. package/build/dist/api/modules/priors/savings-exit.js +1 -0
  251. package/build/dist/api/modules/priors/starter-line.d.ts +495 -0
  252. package/build/dist/api/modules/priors/starter-line.js +1 -0
  253. package/build/dist/api/modules/priors/stock-swap.d.ts +101 -0
  254. package/build/dist/api/modules/priors/stock-swap.js +1 -0
  255. package/build/dist/api/modules/relay/api.d.ts +52 -0
  256. package/build/dist/api/modules/relay/api.js +1 -0
  257. package/build/dist/api/modules/relay/bootstrap.d.ts +2 -0
  258. package/build/dist/api/modules/relay/bootstrap.js +1 -0
  259. package/build/dist/api/modules/relay/discovery.d.ts +2 -0
  260. package/build/dist/api/modules/relay/discovery.js +1 -0
  261. package/build/dist/api/modules/relay/inbound.js +1 -1
  262. package/build/dist/api/modules/relay/index.d.ts +2 -0
  263. package/build/dist/api/modules/relay/index.js +1 -1
  264. package/build/dist/api/modules/relay/order.d.ts +2 -0
  265. package/build/dist/api/modules/relay/order.js +1 -0
  266. package/build/dist/api/modules/relay/outbound-status.js +1 -1
  267. package/build/dist/api/modules/relay/readiness.d.ts +5 -0
  268. package/build/dist/api/modules/relay/readiness.js +1 -0
  269. package/build/dist/api/modules/relay/reads.d.ts +3 -0
  270. package/build/dist/api/modules/relay/reads.js +1 -0
  271. package/build/dist/api/modules/relay/vaults.d.ts +24 -0
  272. package/build/dist/api/modules/relay/vaults.js +1 -0
  273. package/build/dist/api/modules/spark/actions.d.ts +2 -0
  274. package/build/dist/api/modules/spark/actions.js +1 -0
  275. package/build/dist/api/modules/spark/details.d.ts +3 -0
  276. package/build/dist/api/modules/spark/details.js +1 -0
  277. package/build/dist/api/modules/spark/index.js +1 -1
  278. package/build/dist/api/modules/spark/management.d.ts +7 -0
  279. package/build/dist/api/modules/spark/management.js +1 -0
  280. package/build/dist/api/modules/steakhouse/analytics.d.ts +2 -0
  281. package/build/dist/api/modules/steakhouse/analytics.js +1 -0
  282. package/build/dist/api/modules/steakhouse/erc4626.d.ts +2 -0
  283. package/build/dist/api/modules/steakhouse/erc4626.js +1 -0
  284. package/build/dist/api/modules/steakhouse/index.js +1 -1
  285. package/build/dist/api/modules/steakhouse/local-guard.d.ts +7 -0
  286. package/build/dist/api/modules/steakhouse/local-guard.js +1 -0
  287. package/build/dist/api/modules/steakhouse/management.d.ts +3 -0
  288. package/build/dist/api/modules/steakhouse/management.js +1 -0
  289. package/build/dist/api/modules/steakhouse/v2-exit.d.ts +19 -0
  290. package/build/dist/api/modules/steakhouse/v2-exit.js +1 -0
  291. package/build/dist/api/modules/tickerspring/basket-routes.d.ts +2 -0
  292. package/build/dist/api/modules/tickerspring/basket-routes.js +1 -0
  293. package/build/dist/api/modules/tickerspring/contract-reads.d.ts +2 -0
  294. package/build/dist/api/modules/tickerspring/contract-reads.js +1 -0
  295. package/build/dist/api/modules/tickerspring/discovery.d.ts +27 -0
  296. package/build/dist/api/modules/tickerspring/discovery.js +1 -0
  297. package/build/dist/api/modules/tickerspring/exit-preview.d.ts +14 -0
  298. package/build/dist/api/modules/tickerspring/exit-preview.js +1 -0
  299. package/build/dist/api/modules/tickerspring/guards.d.ts +7 -0
  300. package/build/dist/api/modules/tickerspring/guards.js +1 -0
  301. package/build/dist/api/modules/tickerspring/index.d.ts +80 -1
  302. package/build/dist/api/modules/tickerspring/index.js +1 -1
  303. package/build/dist/api/modules/tickerspring/journeys.d.ts +31 -0
  304. package/build/dist/api/modules/tickerspring/journeys.js +1 -0
  305. package/build/dist/api/modules/tickerspring/ladder.d.ts +8 -0
  306. package/build/dist/api/modules/tickerspring/ladder.js +1 -0
  307. package/build/dist/api/modules/tickerspring/maker.d.ts +8 -0
  308. package/build/dist/api/modules/tickerspring/maker.js +1 -0
  309. package/build/dist/api/modules/tickerspring/order-accounting.d.ts +4 -0
  310. package/build/dist/api/modules/tickerspring/order-accounting.js +1 -0
  311. package/build/dist/api/modules/tickerspring/research.d.ts +2 -0
  312. package/build/dist/api/modules/tickerspring/research.js +1 -0
  313. package/build/dist/api/modules/tickerspring/strategies.d.ts +17 -0
  314. package/build/dist/api/modules/tickerspring/strategies.js +1 -0
  315. package/build/dist/api/modules/uniswap/auction-create.d.ts +112 -0
  316. package/build/dist/api/modules/uniswap/auction-create.js +1 -0
  317. package/build/dist/api/modules/uniswap/auction.d.ts +212 -0
  318. package/build/dist/api/modules/uniswap/auction.js +1 -0
  319. package/build/dist/api/modules/uniswap/batch.d.ts +22 -0
  320. package/build/dist/api/modules/uniswap/batch.js +1 -0
  321. package/build/dist/api/modules/uniswap/common.d.ts +12 -0
  322. package/build/dist/api/modules/uniswap/common.js +1 -0
  323. package/build/dist/api/modules/uniswap/fees.d.ts +54 -0
  324. package/build/dist/api/modules/uniswap/fees.js +1 -0
  325. package/build/dist/api/modules/uniswap/index.d.ts +2 -1
  326. package/build/dist/api/modules/uniswap/index.js +1 -1
  327. package/build/dist/api/modules/uniswap/local-guard.d.ts +16 -0
  328. package/build/dist/api/modules/uniswap/local-guard.js +1 -0
  329. package/build/dist/api/modules/uniswap/oracle.d.ts +2 -0
  330. package/build/dist/api/modules/uniswap/oracle.js +1 -0
  331. package/build/dist/api/modules/uniswap/pool-math.d.ts +13 -0
  332. package/build/dist/api/modules/uniswap/pool-math.js +1 -0
  333. package/build/dist/api/modules/uniswap/pools.d.ts +30 -0
  334. package/build/dist/api/modules/uniswap/pools.js +1 -0
  335. package/build/dist/api/modules/uniswap/position.d.ts +69 -0
  336. package/build/dist/api/modules/uniswap/position.js +1 -0
  337. package/build/dist/api/modules/uniswap/protocol.d.ts +154 -0
  338. package/build/dist/api/modules/uniswap/protocol.js +1 -0
  339. package/build/dist/api/modules/uniswap/token-jar.d.ts +52 -0
  340. package/build/dist/api/modules/uniswap/token-jar.js +1 -0
  341. package/build/dist/api/modules/uniswap/trade-batch.d.ts +2 -0
  342. package/build/dist/api/modules/uniswap/trade-batch.js +1 -0
  343. package/build/dist/api/modules/uniswap/trade.d.ts +406 -0
  344. package/build/dist/api/modules/uniswap/trade.js +1 -0
  345. package/build/dist/api/modules/uniswap/v2.d.ts +180 -0
  346. package/build/dist/api/modules/uniswap/v2.js +1 -0
  347. package/build/dist/api/modules/uniswap/v3.d.ts +23 -2
  348. package/build/dist/api/modules/uniswap/v3.js +1 -1
  349. package/build/dist/api/modules/uniswap/v4.d.ts +17 -28
  350. package/build/dist/api/modules/uniswap/v4.js +1 -1
  351. package/build/dist/api/modules/uniswap/wrap.d.ts +17 -0
  352. package/build/dist/api/modules/uniswap/wrap.js +1 -0
  353. package/build/dist/api/modules/velora/claims.d.ts +86 -0
  354. package/build/dist/api/modules/velora/claims.js +1 -0
  355. package/build/dist/api/modules/velora/delta-reads.d.ts +2 -0
  356. package/build/dist/api/modules/velora/delta-reads.js +1 -0
  357. package/build/dist/api/modules/velora/index.js +1 -1
  358. package/build/dist/api/owner-signature.d.ts +29 -0
  359. package/build/dist/api/owner-signature.js +1 -0
  360. package/build/dist/api/positions.js +1 -1
  361. package/build/dist/api/pricenote.d.ts +0 -1
  362. package/build/dist/api/pricenote.js +1 -1
  363. package/build/dist/api/prices.js +1 -1
  364. package/build/dist/api/pricing.d.ts +1 -14
  365. package/build/dist/api/pricing.js +1 -1
  366. package/build/dist/api/routes.js +1 -1
  367. package/build/dist/api/rpc.d.ts +23 -0
  368. package/build/dist/api/rpc.js +1 -0
  369. package/build/dist/api/secret-fields.js +1 -1
  370. package/build/dist/api/send.js +1 -1
  371. package/build/dist/api/signing-registry.d.ts +19 -0
  372. package/build/dist/api/signing-registry.js +1 -0
  373. package/build/dist/api/signing.d.ts +162 -0
  374. package/build/dist/api/signing.js +1 -0
  375. package/build/dist/api/simulate.js +1 -1
  376. package/build/dist/api/swap.d.ts +61 -27
  377. package/build/dist/api/swap.js +1 -1
  378. package/build/dist/api/tokens.d.ts +5 -0
  379. package/build/dist/api/tokens.js +1 -1
  380. package/build/dist/api/tool-policy.d.ts +6 -0
  381. package/build/dist/api/tool-policy.js +1 -1
  382. package/build/dist/api/tx.js +1 -1
  383. package/build/dist/api/types.d.ts +2 -0
  384. package/build/dist/api/vendor-limits.js +1 -1
  385. package/build/dist/chunks/2EDXKJ3B.js +1 -0
  386. package/build/dist/chunks/2EGFALNH.js +1 -0
  387. package/build/dist/chunks/2LM5C7FQ.js +1 -0
  388. package/build/dist/chunks/2NA6JLEC.js +1 -0
  389. package/build/dist/chunks/2O6A6WEX.js +1 -0
  390. package/build/dist/chunks/37QNUNED.js +1 -0
  391. package/build/dist/chunks/3CCBUYUM.js +1 -0
  392. package/build/dist/chunks/3RFSGU2Y.js +1 -0
  393. package/build/dist/chunks/{B4FOHEBE.js → 3Z3U4YPA.js} +1 -1
  394. package/build/dist/chunks/4CDR7F4I.js +1 -0
  395. package/build/dist/chunks/4X6JEMSF.js +1 -0
  396. package/build/dist/chunks/53N7PNJH.js +1 -0
  397. package/build/dist/chunks/5EHQM6DM.js +1 -0
  398. package/build/dist/chunks/5H3MQWH7.js +18 -0
  399. package/build/dist/chunks/5XFXH2JT.js +1 -0
  400. package/build/dist/chunks/5YS5V2LK.js +1 -0
  401. package/build/dist/chunks/65QFM4JU.js +1 -0
  402. package/build/dist/chunks/67TJOOBI.js +1 -0
  403. package/build/dist/chunks/6HV5BR7P.js +1 -0
  404. package/build/dist/chunks/{A5ITAEUQ.js → 6IM6A5VA.js} +1 -1
  405. package/build/dist/chunks/6JCEJ66K.js +1 -0
  406. package/build/dist/chunks/6NR7SVRO.js +1 -0
  407. package/build/dist/chunks/6SB3FB3P.js +1 -0
  408. package/build/dist/chunks/6SCCW74G.js +1 -0
  409. package/build/dist/chunks/73N3TOJL.js +1 -0
  410. package/build/dist/chunks/74BPMUAG.js +1 -0
  411. package/build/dist/chunks/7B5UH2VS.js +1 -0
  412. package/build/dist/chunks/7LDAJ6BM.js +1 -0
  413. package/build/dist/chunks/7MR37STI.js +1 -0
  414. package/build/dist/chunks/7US6PD56.js +1 -0
  415. package/build/dist/chunks/7YU6DELJ.js +1 -0
  416. package/build/dist/chunks/AFHHRDPJ.js +1 -0
  417. package/build/dist/chunks/AIWZGIZ6.js +1 -0
  418. package/build/dist/chunks/{UCMNB2UP.js → AXYOJBX6.js} +1 -1
  419. package/build/dist/chunks/AYM5L6L7.js +1 -0
  420. package/build/dist/chunks/B72Q2EQ2.js +1 -0
  421. package/build/dist/chunks/B7V7AA5A.js +1 -0
  422. package/build/dist/chunks/BBQVTEYB.js +1 -0
  423. package/build/dist/chunks/BQLLTY4L.js +1 -0
  424. package/build/dist/chunks/BYXBS45D.js +1 -0
  425. package/build/dist/chunks/C2FEXLMA.js +1 -0
  426. package/build/dist/chunks/C3TJLARP.js +1 -0
  427. package/build/dist/chunks/C3ZZSGSP.js +1 -0
  428. package/build/dist/chunks/C5LR6F4B.js +1 -0
  429. package/build/dist/chunks/CAYBSVA6.js +1 -0
  430. package/build/dist/chunks/CBA776XQ.js +1 -0
  431. package/build/dist/chunks/CCEWSOBT.js +1 -0
  432. package/build/dist/chunks/CEQNXF6A.js +1 -0
  433. package/build/dist/chunks/CS55ERS3.js +1 -0
  434. package/build/dist/chunks/CXMC3T6B.js +1 -0
  435. package/build/dist/chunks/{6SYTB6FB.js → D3OWLDVB.js} +1 -1
  436. package/build/dist/chunks/DHXVYHT4.js +1 -0
  437. package/build/dist/chunks/E2IVNGLC.js +1 -0
  438. package/build/dist/chunks/E2Q5IA67.js +1 -0
  439. package/build/dist/chunks/{SJ7HDRI4.js → E7ASOYQI.js} +1 -1
  440. package/build/dist/chunks/EAEQOS7Y.js +1 -0
  441. package/build/dist/chunks/EC5W3UZD.js +1 -0
  442. package/build/dist/chunks/{B4MLWDPM.js → EG6M6SSO.js} +1 -1
  443. package/build/dist/chunks/EHVPRQHS.js +1 -0
  444. package/build/dist/chunks/EKGHKEKV.js +1 -0
  445. package/build/dist/chunks/EVANKNJV.js +1 -0
  446. package/build/dist/chunks/F2YH72GF.js +1 -0
  447. package/build/dist/chunks/F3TJCOVV.js +1 -0
  448. package/build/dist/chunks/F6WBPPBN.js +1 -0
  449. package/build/dist/chunks/FL3EF72E.js +1 -0
  450. package/build/dist/chunks/FLXID6I3.js +1 -0
  451. package/build/dist/chunks/FYTF2QMS.js +1 -0
  452. package/build/dist/chunks/G7UKNO2I.js +1 -0
  453. package/build/dist/chunks/GZ5TW3WB.js +1 -0
  454. package/build/dist/chunks/H4S2ZCWK.js +1 -0
  455. package/build/dist/chunks/H6ED3RHF.js +1 -0
  456. package/build/dist/chunks/HACP2Q6D.js +3 -0
  457. package/build/dist/chunks/HF2AGJZC.js +1 -0
  458. package/build/dist/chunks/HFQS5344.js +1 -0
  459. package/build/dist/chunks/{Y3P6SUNL.js → HIMVOTIU.js} +1 -1
  460. package/build/dist/chunks/HL2MLC3O.js +1 -0
  461. package/build/dist/chunks/HNMOB76J.js +1 -0
  462. package/build/dist/chunks/HQVC6X3T.js +1 -0
  463. package/build/dist/chunks/HYIEQG4X.js +1 -0
  464. package/build/dist/chunks/HZUWK5B2.js +1 -0
  465. package/build/dist/chunks/IHGVCPVA.js +2 -0
  466. package/build/dist/chunks/IKP3Z3RX.js +1 -0
  467. package/build/dist/chunks/ITIIHCZK.js +1 -0
  468. package/build/dist/chunks/IWALIX7Q.js +1 -0
  469. package/build/dist/chunks/JOMK32QW.js +1 -0
  470. package/build/dist/chunks/JRO6WTK4.js +1 -0
  471. package/build/dist/chunks/JRVTSGAT.js +1 -0
  472. package/build/dist/chunks/JRZLKIYB.js +1 -0
  473. package/build/dist/chunks/JVTVOK6P.js +1 -0
  474. package/build/dist/chunks/K2LWX3PZ.js +1 -0
  475. package/build/dist/chunks/KEPQXFHU.js +1 -0
  476. package/build/dist/chunks/L24EOVLT.js +1 -0
  477. package/build/dist/chunks/L2MTPRU7.js +1 -0
  478. package/build/dist/chunks/LBEMCOND.js +1 -0
  479. package/build/dist/chunks/LFKSXD3S.js +1 -0
  480. package/build/dist/chunks/MRWCFTMS.js +1 -0
  481. package/build/dist/chunks/MWWYIFXJ.js +1 -0
  482. package/build/dist/chunks/MYBDO5SA.js +1 -0
  483. package/build/dist/chunks/N77ANGBT.js +1 -0
  484. package/build/dist/chunks/NCQFWPAW.js +1 -0
  485. package/build/dist/chunks/NHCRJC5X.js +1 -0
  486. package/build/dist/chunks/NNZ4SZZ4.js +1 -0
  487. package/build/dist/chunks/NUWL6TJM.js +1 -0
  488. package/build/dist/chunks/O47JXRXN.js +1 -0
  489. package/build/dist/chunks/{GIBF3YJO.js → OG5HRQU4.js} +1 -1
  490. package/build/dist/chunks/OJLMF5AR.js +1 -0
  491. package/build/dist/chunks/OJMYESQU.js +1 -0
  492. package/build/dist/chunks/OJP7Y4AM.js +1 -0
  493. package/build/dist/chunks/OK3TQFXZ.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/P6ELT4ZV.js +1 -0
  497. package/build/dist/chunks/PHXWBC4O.js +1 -0
  498. package/build/dist/chunks/Q2VMH2LB.js +1 -0
  499. package/build/dist/chunks/QH3AL3UN.js +1 -0
  500. package/build/dist/chunks/QHHZDXRG.js +1 -0
  501. package/build/dist/chunks/QNPEKNWM.js +1 -0
  502. package/build/dist/chunks/QOY4AANB.js +1 -0
  503. package/build/dist/chunks/QRUC7EFE.js +1 -0
  504. package/build/dist/chunks/QYKXWBZC.js +1 -0
  505. package/build/dist/chunks/REGJY5RC.js +1 -0
  506. package/build/dist/chunks/RETS2ZEK.js +1 -0
  507. package/build/dist/chunks/RFJCG4NA.js +1 -0
  508. package/build/dist/chunks/RNEMTLQG.js +1 -0
  509. package/build/dist/chunks/RRSODRGT.js +1 -0
  510. package/build/dist/chunks/SEW7UP5U.js +1 -0
  511. package/build/dist/chunks/SLSPWXR6.js +1 -0
  512. package/build/dist/chunks/SPRVVJXI.js +1 -0
  513. package/build/dist/chunks/SQ5BNSXR.js +1 -0
  514. package/build/dist/chunks/SQH7A4O3.js +1 -0
  515. package/build/dist/chunks/SS7U3CMZ.js +1 -0
  516. package/build/dist/chunks/SXX52Y27.js +1 -0
  517. package/build/dist/chunks/SYZ55RCX.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/TRCP7X5P.js +1 -0
  522. package/build/dist/chunks/TWR7BF72.js +1 -0
  523. package/build/dist/chunks/UEYFMXV3.js +1 -0
  524. package/build/dist/chunks/UWOFA6GV.js +1 -0
  525. package/build/dist/chunks/UXG67LH3.js +1 -0
  526. package/build/dist/chunks/V6SDKPZS.js +1 -0
  527. package/build/dist/chunks/VCWDJQDE.js +1 -0
  528. package/build/dist/chunks/{BOFA26WU.js → VXLJRRKV.js} +1 -1
  529. package/build/dist/chunks/W6G2QGYF.js +1 -0
  530. package/build/dist/chunks/WCKMQFGS.js +1117 -0
  531. package/build/dist/chunks/WHT45EFX.js +1 -0
  532. package/build/dist/chunks/WIDTTGSH.js +1 -0
  533. package/build/dist/chunks/WQZLYX64.js +1 -0
  534. package/build/dist/chunks/X5V2Z2NM.js +1 -0
  535. package/build/dist/chunks/{GDP4JSAX.js → XCFA73P2.js} +1 -1
  536. package/build/dist/chunks/XPFVT2EA.js +1 -0
  537. package/build/dist/chunks/XV6F3RET.js +1 -0
  538. package/build/dist/chunks/XW7RH7YY.js +1 -0
  539. package/build/dist/chunks/YHPOXAKA.js +1 -0
  540. package/build/dist/chunks/YONRUWN7.js +1 -0
  541. package/build/dist/chunks/YR3QJVJQ.js +1 -0
  542. package/build/dist/chunks/Z4LJ2GTX.js +1 -0
  543. package/build/dist/chunks/ZL3KVABO.js +1 -0
  544. package/build/dist/chunks/ZPM2MFXZ.js +1 -0
  545. package/build/dist/chunks/ZPNGV34U.js +1 -0
  546. package/build/dist/chunks/ZQI7B2Z7.js +1 -0
  547. package/build/dist/chunks/ZT67OMLW.js +1 -0
  548. package/package.json +13 -9
  549. package/build/dist/chunks/2IRORNOH.js +0 -1
  550. package/build/dist/chunks/3PA2XT75.js +0 -1
  551. package/build/dist/chunks/52TGAWSI.js +0 -1
  552. package/build/dist/chunks/66DWJWDA.js +0 -1
  553. package/build/dist/chunks/73EABRFC.js +0 -1
  554. package/build/dist/chunks/A5KSG6LW.js +0 -1
  555. package/build/dist/chunks/BHR46XNW.js +0 -3
  556. package/build/dist/chunks/CQNZWL7F.js +0 -1
  557. package/build/dist/chunks/GN4QZ4JA.js +0 -1
  558. package/build/dist/chunks/I5CQ64EU.js +0 -1
  559. package/build/dist/chunks/ICCJ3TOO.js +0 -1
  560. package/build/dist/chunks/KL5YE7JA.js +0 -1
  561. package/build/dist/chunks/KVVTKM6E.js +0 -1
  562. package/build/dist/chunks/M6JGTQRY.js +0 -1
  563. package/build/dist/chunks/MK6L6TGI.js +0 -1
  564. package/build/dist/chunks/MOVRI5IV.js +0 -1
  565. package/build/dist/chunks/NA7HV7BR.js +0 -1
  566. package/build/dist/chunks/NGAI6GTU.js +0 -1
  567. package/build/dist/chunks/OBX7IZG5.js +0 -1
  568. package/build/dist/chunks/OSQ4AAM2.js +0 -2
  569. package/build/dist/chunks/OWEUVFB6.js +0 -1
  570. package/build/dist/chunks/P4G3EKF7.js +0 -1
  571. package/build/dist/chunks/QGDHMVPE.js +0 -1
  572. package/build/dist/chunks/SPAKOCR7.js +0 -1
  573. package/build/dist/chunks/T6O2L6HF.js +0 -1
  574. package/build/dist/chunks/TEVKPJV5.js +0 -1
  575. package/build/dist/chunks/YX4NVVSX.js +0 -1
  576. package/build/dist/chunks/ZUC6ILK2.js +0 -1
@@ -0,0 +1 @@
1
+ import{b as xe,o as ae}from"./EAEQOS7Y.js";import{a as re}from"./XCFA73P2.js";import{b as Ie}from"./AXYOJBX6.js";import{a as ke}from"./UWOFA6GV.js";import{e as W,g as p,i as ye,n as be}from"./73N3TOJL.js";import{a as x,i as we}from"./XPFVT2EA.js";import{a as Te}from"./EG6M6SSO.js";import{a}from"./5YS5V2LK.js";import{decodeErrorResult as Oe,decodeEventLog as ie,encodeAbiParameters as D,encodeFunctionData as N,erc20Abi as Q,parseAbi as Ne,parseAbiParameters as M,toHex as Ae,zeroAddress as C}from"viem";var h=we[x].poolsTrade,J=h.liquidityLauncher.address,S=h.uerc20BeneficiaryVault.address,ce=h.universalRouter.address,ne=10n**27n,q=(1n<<128n)-1n,ve=`0x${"00".repeat(32)}`,H=63127652n,de=100000n,oe=10000000n,Le=2000n,ue={address:re,symbol:"ETH",decimals:18,chainId:x},m=Ne(["function multicall(bytes[] data) payable returns (bytes[])","function createToken(address factory,string name,string symbol,uint8 decimals,uint128 initialSupply,address recipient,bytes tokenData) payable returns (address)","function distributeToken(address token,(address strategy,uint128 amount,bytes configData) distribution,bytes32 salt) payable","function distributeWithNative(address strategy,bytes configData,bytes32 salt,uint256 nativeAmount) payable","function getGraffiti(address sender) view returns (bytes32)","function getUERC20Address(string name,string symbol,uint8 decimals,address recipient,bytes32 graffiti) view returns (address)","function execute(bytes commands,bytes[] inputs,uint256 deadline) payable","function collectFees(uint256[] ids)","function claim(uint256 id,uint256 minCurrency0Amount,uint256 minCurrency1Amount)","function amounts(uint256 id) view returns (uint128 eth,uint128 token)","function ownerOf(uint256 id) view returns (address)","function getApproved(uint256 id) view returns (address)","function approve(address spender,uint256 id)","function safeTransferFrom(address from,address to,uint256 id)","function approve(address token,address spender,uint160 amount,uint48 expiration)","error V4TooLittleReceived(uint256 minAmountOut,uint256 amountOut)"]),U=Ne(["event TokenLaunched(bytes32 indexed poolId,address indexed token,address indexed feeSplitter,(address currency0,address currency1,uint24 fee,int24 tickSpacing,address hooks) poolKey)","event Transfer(address indexed from,address indexed to,uint256 indexed tokenId)"]),_=[h.instantLaunchStrategyFeesOn.address,h.instantLaunchStrategyFeesOff.address];function se(l){if(l.status!=="success")throw new a("The launch receipt did not succeed.");let c=[];for(let y of l.logs){let F=_.findIndex(O=>p(O,y.address));if(F===-1||y.topics[0]!=="0x3b3d2bafdcae274a232217e1f80ee4305d3af6aa25c8b14b1681bd68d18042a4")continue;let j=ie({abi:U,eventName:"TokenLaunched",data:y.data,topics:[...y.topics]}),{token:T,poolId:Y,poolKey:R,feeSplitter:Z}=j.args,ee=F===0?h.feeSplitterFeesOn.address:h.feeSplitterFeesOff.address;if(!p(Z,ee)||!p(R.currency0,C)||!p(R.currency1,T)||R.fee!==2500||R.tickSpacing!==25||!p(R.hooks,C))throw new a("The launch does not match the current native ETH strategy.");let P=l.logs.filter(O=>p(O.address,h.v4PositionManager.address)).flatMap(O=>{if(O.topics[0]!=="0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef")return[];let G=ie({abi:U,eventName:"Transfer",data:O.data,topics:[...O.topics]}).args;return p(G.from,C)&&p(G.to,_[F])?[G.tokenId]:[]});if(P.length!==1)throw new a("The launch receipt must identify one matching position mint.");c.push({token:T,poolId:Y,positionId:P[0].toString(),creatorFees:F===0})}return c}function B(l){return ye(l,"Provide a valid wallet or token address.")}function $(l,c,y=!1){return be(l,`${c} is outside its supported range.`,{notString:`${c} must be an integer string in base units.`,positive:!y})}function X(l,c,y=!1){if(y&&l===void 0)return"";if(typeof l!="string"||!y&&!l.trim()||l.length>4096)throw new a(`Provide a valid ${c}.`);return l}function le(l){if(typeof l!="string"||!/^0x[0-9a-fA-F]{64}$/.test(l))throw new a("Provide a valid launch transaction hash.");return l}function fe(l,c,y="minAmountOut"){let F=c.slippageBps??xe;if(typeof F!="number")throw new a("Slippage must be an integer in basis points.");let j=ae(l.toString(),F),T=c[y]===void 0?BigInt(j):$(c[y],y,l===0n);if(T>l||l>0n&&T===0n||T>q)throw new a("The minimum output must be positive and no larger than the simulated output.");return T}var Ee=l=>{let c=l.clientFor(x),y=(e,s,o,n)=>l.unsignedTx({to:e,data:s,value:o.toString(),chainId:x,description:n}),F=e=>{throw new a(l.plainError(e))};async function j(){if(await c.getChainId()!==x)throw new a("pools.trade requires Robinhood Chain 4663.")}async function T(e,s,o){let n=await l.preview(e,s),t=n.changes.map(({token:r,amount:d})=>{let i=d.startsWith("-");return`${i?"-":""}${l.formatAmount(i?d.slice(1):d,r.decimals)} ${r.symbol} (${r.address}, chain ${r.chainId})`});return{txs:e,summary:[o,n.summary,...t].join(" ")}}async function Y(){return(await c.getBlock()).timestamp+600n}function R(e,s,o,n,t,r){let d=[C,e,2500,25,C],i=[D(M("((address,address,uint24,int24,address),bool,uint128,uint128,uint256,bytes)"),[[d,s,o,n,0n,"0x"]]),D(M("address,uint256"),[s?C:e,o]),D(M("address,address,uint256"),[s?e:C,t,0n])],f=[D(M("bytes,bytes[]"),["0x060c0e",i])];return{inputs:f,encoded:D(M("bytes,bytes[],uint256"),["0x10",f,r])}}async function Z(e,s){let o=await c.request({method:"eth_simulateV1",params:[{blockStateCalls:[{calls:e.map(i=>({from:s,gas:Ae(Te),to:i.to,data:i.data,value:Ae(BigInt(i.value))}))}],validation:!1,traceTransfers:!1},"latest"]},{retryCount:0});if(!Array.isArray(o)||o.length!==1||!W(o[0])||!Array.isArray(o[0].calls)||o[0].calls.length!==e.length)throw new a("The output simulation returned a malformed response.");let n=o[0].calls;if(!n.slice(0,-1).every(i=>W(i)&&i.status==="0x1"&&!i.error))throw new a("A prerequisite failed during the output simulation.");let t=n.at(-1);if(!W(t)||t.status!=="0x0")throw new a("The output simulation did not return the expected minimum-output control.");let r=typeof t.returnData=="string"&&t.returnData!=="0x"?t.returnData:W(t.error)?t.error.data:void 0;if(typeof r!="string"||!/^0x[0-9a-fA-F]+$/.test(r))throw new a("The output simulation did not report an expected amount.");let d=Oe({abi:m,data:r});if(d.errorName!=="V4TooLittleReceived"||d.args[0]!==q||d.args[1]<=0n||d.args[1]>=q)throw new a("The output simulation did not report a valid amount.");return d.args[1]}async function ee(e,s,o,n=()=>!0){let t=await c.getBlockNumber(),r=t<H?0n:(t-H)/oe+1n,d=1n,i=(u=1n)=>{if(d+=u,d>Le)throw new a("Pools.trade scan exceeds the 2000-request limit. Use launchTx for a specific launch; positions coverage is incomplete.")};i(r*BigInt(_.length+(e&&!o?1:0)));let f=new Map,w=new Set;for(let u=H;u<=t&&n();u+=oe){let b=u+oe-1n>t?t:u+oe-1n,v=(await Promise.all(_.map(k=>c.getLogs({address:k,event:U[0],...s?{args:{token:s}}:{},fromBlock:u,toBlock:b,strict:!0})))).flat(),L=[...new Set(v.map(k=>k.transactionHash))].filter(k=>!k||!f.has(k));for(let k=0;k<L.length&&n();k+=8)await Promise.all(L.slice(k,k+8).map(async E=>{if(!E)throw new a("A launch log is missing its transaction hash.");i();let V=await c.getTransactionReceipt({hash:E});f.set(E,V),n()&&await o?.(V)}));if(!n())break;if(e&&!o){let k=await c.getLogs({address:S,event:U[1],args:{to:e},fromBlock:u,toBlock:b,strict:!0});for(let E of k){let V=ie({abi:U,eventName:"Transfer",data:E.data,topics:E.topics}).args;w.add(V.tokenId.toString())}}}return{receipts:[...f.values()],feeIds:w}}async function P(e){let o=(e.launchTx!==void 0?[await c.getTransactionReceipt({hash:le(e.launchTx)})]:(await ee(void 0,e.token===void 0?void 0:B(e.token))).receipts).flatMap(se).filter(n=>e.positionId!==void 0?n.positionId===$(e.positionId,"positionId").toString():p(n.token,B(e.token)));if(o.length!==1)throw new a("No unique current-strategy launch was found. Older strategy generations are unsupported.");return o[0]}async function O(e,s){if(typeof e.creatorFees!="boolean")throw new a("creatorFees must be an explicit boolean; the choice is permanent.");if(e.pair!==void 0&&!p(B(e.pair),C)&&!p(B(e.pair),re))throw new a("Only the native ETH pair is supported.");if(e.decimals!==void 0&&e.decimals!==18)throw new a("Instant Launch requires 18 decimals.");if(e.supply!==void 0&&$(e.supply,"supply")!==ne)throw new a("Instant Launch requires a supply of one billion tokens.");let o=B(e.feeBeneficiary);if(p(o,C)||p(o,J))throw new a("The fee beneficiary must be a wallet other than the launcher or zero address.");let n=X(e.name,"name"),t=X(e.symbol,"symbol"),r=e.initialBuy===void 0?0n:$(e.initialBuy,"initialBuy",!0);if(r>q)throw new a("The initial buy exceeds uint128.");if(r===0n&&e.minAmountOut!==void 0)throw new a("A minimum output requires an initial buy.");let d=await c.readContract({address:J,abi:m,functionName:"getGraffiti",args:[s]}),i=B(await c.readContract({address:h.uerc20Factory.address,abi:m,functionName:"getUERC20Address",args:[n,t,18,J,d]})),f=await c.getCode({address:i});if(f&&f!=="0x")throw new a("This wallet already launched that name and symbol.");let w=D(M("(string,string,string,bytes)"),[[X(e.description,"description",!0),X(e.website,"website",!0),X(e.imageUri,"image URI",!0),"0x"]]),u=e.creatorFees?_[0]:_[1],b=[N({abi:m,functionName:"createToken",args:[h.uerc20Factory.address,n,t,18,ne,J,w]}),N({abi:m,functionName:"distributeToken",args:[i,{strategy:u,amount:ne,configData:D(M("address"),[o])},ve]})],v=await Y(),z=k=>{let E=[...b];if(r>0n){let V=D(M("(address,address,bytes)"),[[ce,s,R(i,!0,r,k,s,v).encoded]]);E.push(N({abi:m,functionName:"distributeWithNative",args:[h.universalRouterStrategyApp.address,V,ve,r]}))}return y(J,N({abi:m,functionName:"multicall",args:[E]}),r,`Atomic Instant Launch: creator fees ${e.creatorFees?"on":"off"} (permanent); beneficiary ${o}.`)},L=r>0n?fe(await Z([z(q)],s),e):0n;return T([z(L)],s,`Launch ${n} (${i}, chain 4663), supply 1000000000, decimals 18. Creator fees ${e.creatorFees?"on":"off"} are permanent; fee beneficiary ${o}. Creator ETH fees come from buys only (recorded 0.09996%); sells compound into locked liquidity. Initial-buy minimum ${L} token base units. Off-chain image/display unproven; no private metadata registration. No transaction sent.`)}async function G(e,s,o){let n=$(e.amountIn,"amountIn");if(n>q)throw new a("The trade amount exceeds uint128.");let t=B(e.token);await P(e);let r=await Y(),d=[];o||(await c.readContract({address:t,abi:Q,functionName:"allowance",args:[s,h.permit2.address]})<n&&d.push(l.approval(t,h.permit2.address,n.toString(),x)),d.push(y(h.permit2.address,N({abi:m,functionName:"approve",args:[t,ce,n,Number(r)]}),0n,`Permit the exact ${n} token base units until ${r}.`)));let i=u=>[...d,y(ce,N({abi:m,functionName:"execute",args:["0x10",R(t,o,n,u,s,r).inputs,r]}),o?n:0n,`${o?"Buy":"Sell"} ${t} with minimum output ${u}.`)],f=await Z(i(q),s),w=fe(f,e);return T(i(w),s,`${o?"Buy":"Sell"} token ${t} (chain 4663, 18 decimals), amountIn ${n}, minimum output ${w} ${o?"token":"ETH"} base units (18 decimals). Recorded swap fee 0.2899%; creator ETH fees from buys only, none from sells. No transaction sent.`)}async function pe(e,s,o){let n=await P(e),t=BigInt(n.positionId),r=n.creatorFees?h.feeSplitterFeesOn.address:h.feeSplitterFeesOff.address,d=await c.readContract({address:h.v4PositionManager.address,abi:m,functionName:"ownerOf",args:[t]});if(!p(d,r))throw new a("The position is not locked in its current-strategy splitter.");if(!o)return T([y(r,N({abi:m,functionName:"collectFees",args:[[t]]}),0n,`Collect fees for position ${t}; permissionless.`)],s,"Collect fees for the entitled recipients; collection does not transfer creator fees to the collector. No transaction sent.");if(!n.creatorFees)throw new a("Creator fees are permanently disabled for this position.");let i=await c.readContract({address:S,abi:m,functionName:"ownerOf",args:[t]});if(!p(i,s))throw new a("Only the current fee NFT holder is entitled to claim.");let f=await c.readContract({address:S,abi:m,functionName:"amounts",args:[t]}),w=fe(f[0],e,"minEth");if(f[1]!==0n)throw new a("The current buy-only creator fee configuration returned unexpected token fees.");return T([y(S,N({abi:m,functionName:"claim",args:[t,w,0n]}),0n,`Claim collected ETH fees for position ${t} to ${s}.`)],s,`Claim collected fees: ${f[0]} ETH base units (18 decimals), minimum ${w}. Uncollected fees require poolstrade_collect first. No transaction sent.`)}async function Se(e,s){let o=await P(e),n=B(e.to);if(p(n,C))throw new a("The token recipient cannot be the zero address.");let t=$(e.amount,"amount"),r=await te(o.token,await c.getBlockNumber());return T([y(r.address,N({abi:Q,functionName:"transfer",args:[n,t]}),0n,`Transfer exactly ${t} ${r.symbol} base units to ${n}.`)],s,`Transfer ${t} token base units (token ${r.address}, decimals ${r.decimals}, chain ${r.chainId}) to ${n}. No approval; no transaction sent.`)}async function Be(e,s){if(!Array.isArray(e.positionIds)||e.positionIds.length<1||e.positionIds.length>20||!Array.isArray(e.launchTxs)||e.launchTxs.length!==e.positionIds.length)throw new a("Provide 1 to 20 positionIds and one matching launchTxs entry for each.");let o=e.positionIds.map(d=>$(d,"positionId").toString());if(new Set(o).size!==o.length)throw new a("Each position ID must appear once.");let n=e.launchTxs.map(le),t=new Map;for(let[d,i]of o.entries()){let w=(await P({positionId:i,launchTx:n[d]})).creatorFees?h.feeSplitterFeesOn.address:h.feeSplitterFeesOff.address,u=BigInt(i),b=await c.readContract({address:h.v4PositionManager.address,abi:m,functionName:"ownerOf",args:[u]});if(!p(b,w))throw new a("The position is not locked in its current-strategy splitter.");t.set(w,[...t.get(w)??[],u])}let r=[...t].map(([d,i])=>y(d,N({abi:m,functionName:"collectFees",args:[i]}),0n,`Collect fees for positions ${i.join(", ")}; permissionless.`));return T(r,s,"Collect fees in batches for the fixed entitled recipients. Collection does not pay the collector. No transaction sent.")}let K="Current native ETH Instant Launch strategies only. Crowd Launch and older deployments are not covered.";async function te(e,s){let[o,n]=await Promise.all([c.readContract({address:e,abi:Q,functionName:"symbol",blockNumber:s}),c.readContract({address:e,abi:Q,functionName:"decimals",blockNumber:s})]);if(typeof o!="string"||!o||o.length>256||n!==18)throw new a("The current launch token returned invalid metadata.");return{address:e,symbol:o,decimals:n,chainId:x}}async function me(e,s,o,n){let t=n??await te(e.token,o),r=await c.readContract({address:t.address,abi:Q,functionName:"balanceOf",args:[s],blockNumber:o});return{token:t,amount:r.toString(),humanAmount:l.formatAmount(r.toString(),t.decimals)}}async function Ce(e,s){let o=await P(e),n=await c.getBlockNumber();return{wallet:s,...await me(o,s,n),blockNumber:n.toString(),coverage:K}}async function $e(e,s){let o=le(e.launchTx),n=await c.getTransactionReceipt({hash:o}),t=se(n);if(e.token!==void 0&&(t=t.filter(i=>p(i.token,B(e.token)))),e.positionId!==void 0&&(t=t.filter(i=>i.positionId===$(e.positionId,"positionId").toString())),!t.length)throw new a("The receipt contains no matching current Instant Launch. Crowd Launch and older strategies are not covered.");let r=await c.getBlockNumber(),d=await Promise.all(t.map(async i=>{let f=i.creatorFees?h.feeSplitterFeesOn.address:h.feeSplitterFeesOff.address,w=await c.readContract({address:h.v4PositionManager.address,abi:m,functionName:"ownerOf",args:[BigInt(i.positionId)],blockNumber:r});if(!p(w,f))throw new a("The position is not locked in its current-strategy splitter.");let u=i.creatorFees?{owner:await c.readContract({address:S,abi:m,functionName:"ownerOf",args:[BigInt(i.positionId)],blockNumber:r}),approved:await c.readContract({address:S,abi:m,functionName:"getApproved",args:[BigInt(i.positionId)],blockNumber:r}),collected:await c.readContract({address:S,abi:m,functionName:"amounts",args:[BigInt(i.positionId)],blockNumber:r})}:void 0,b=await te(i.token,r);return{...i,token:b,custodian:w,holding:await me(i,s,r,b),...u?{feeEntitlement:{owner:u.owner,approved:u.approved,collected:[{token:ue,amount:u.collected[0].toString()},{token:b,amount:u.collected[1].toString()}],uncollectedFeesIncluded:!1}}:{}}}));return{launchTx:o,wallet:s,creator:n.from,blockNumber:r.toString(),launches:d,coverage:K}}async function Fe(e){let s=await c.getBlockNumber(),o=e.limit??20;if(typeof o!="number"||!Number.isInteger(o)||o<1||o>50)throw new a("limit must be an integer from 1 to 50.");let n=e.fromBlock===void 0?s>=H+de?s-de+1n:H:$(e.fromBlock,"fromBlock",!0),t=e.toBlock===void 0?s:$(e.toBlock,"toBlock",!0),r=0;if(e.cursor!==void 0){if(typeof e.cursor!="string"||!/^[0-9]{1,78}:[0-9]{1,78}:[0-9]{1,10}$/.test(e.cursor))throw new a("Provide the browse cursor exactly as returned.");let u=e.cursor.split(":"),b=BigInt(u[0]),v=BigInt(u[1]);if(e.fromBlock!==void 0&&n!==b||e.toBlock!==void 0&&t!==v)throw new a("The cursor does not match this block range.");n=b,t=v,r=Number(u[2])}if(s<H&&e.fromBlock===void 0&&e.toBlock===void 0&&e.cursor===void 0)return{launches:[],cursor:null,fromBlock:H.toString(),toBlock:s.toString(),coverage:K,predeployment:!0};if(n<H||t<n||t>s||t-n>=de)throw new a("Choose a deployed block range of at most 100000 blocks, ending no later than the current head.");let d=await c.getLogs({address:_,event:U[0],fromBlock:n,toBlock:t,strict:!0});if(d.some(u=>u.blockNumber===null||u.logIndex===null||!u.transactionHash))throw new a("The launch feed returned an incomplete log.");if(d.sort((u,b)=>u.blockNumber===b.blockNumber?b.logIndex-u.logIndex:u.blockNumber>b.blockNumber?-1:1),r>d.length)throw new a("The browse cursor is outside the launch feed.");let i=new Map,f=[];for(let u of d.slice(r,r+o)){let b=u.transactionHash,v=i.get(b);v||(v=await c.getTransactionReceipt({hash:b}),i.set(b,v));let z=ie({abi:U,eventName:"TokenLaunched",data:u.data,topics:u.topics}).args,L=se(v).filter(k=>p(k.token,z.token)&&p(k.poolId,z.poolId));if(L.length!==1)throw new a("The launch feed log does not match one verified receipt launch.");f.push({...L[0],launchTx:b,blockNumber:u.blockNumber.toString(),token:await te(L[0].token,t),creator:v.from})}let w=r+o;return{launches:f,cursor:w<d.length?`${n}:${t}:${w}`:null,fromBlock:n.toString(),toBlock:t.toString(),coverage:K,previousToBlock:n>H?(n-1n).toString():null,summary:"Newest launches first within this fixed block range. Empty does not establish absence outside the range or covered strategies."}}async function he(e,s,o){let n=await P(e);if(!n.creatorFees)throw new a("Creator fees are permanently disabled for this position.");let t=BigInt(n.positionId),r=await c.readContract({address:h.v4PositionManager.address,abi:m,functionName:"ownerOf",args:[t]});if(!p(r,h.feeSplitterFeesOn.address))throw new a("The position is not locked in its current-strategy splitter.");let d=await c.readContract({address:S,abi:m,functionName:"ownerOf",args:[t]});if(!p(d,s))throw new a("Only the current fee NFT holder can change this entitlement.");let i=B(o?e.to:e.spender);if(p(i,S)||o&&p(i,C))throw new a("The fee NFT recipient cannot be the vault or zero address.");let f=o?N({abi:m,functionName:"safeTransferFrom",args:[s,i,t]}):N({abi:m,functionName:"approve",args:[i,t]});return T([y(S,f,0n,o?`Transfer fee NFT ${t} to ${i}, including accrued and future fees.`:`Approve ${i} for fee NFT ${t} only; zero address revokes approval.`)],s,o?`Transfer the entire fee entitlement for position ${t} to ${i}. This includes collected and future fees; locked LP remains in its splitter. No transaction sent.`:`Set the exact single-NFT approval for position ${t} to ${i}. This permits transfer of that fee entitlement; zero address revokes. No transaction sent.`)}async function Pe(){return{chainId:x,instant:{supported:!0,supply:ne.toString(),decimals:18,currency:ue,permanentCreatorFeeChoice:!0},crowd:{status:"BLOCKED",strategy:"0xbf1aB81f7d534b2CC0Da76fcf4d541322bB0e000",factory:"0x000000001F26a0044BaA66024e7b6599c61963F8",missing:"A verified Pools-specific auction configuration (BlockNumberish timing, reserve allocation, Q96 floor/tick, USD FDV conversion, issuance steps, locked LP plan) and a bytecode-matched factory-created auction ABI with success/refund fixtures. Generic CCA parameters are not a verified Pools Crowd Launch.",source:"https://github.com/Uniswap/sdks/blob/main/sdks/liquidity-launcher-sdk/src/addresses.ts"},coverage:K}}let g={type:"string"},I=ke(),ge={chainId:{type:"integer",const:x},slippageBps:{type:"integer",minimum:0,maximum:9999}};function A(e,s,o,n){return{name:`poolstrade_${e}`,inputSchema:{type:"object",additionalProperties:!1,properties:{...ge,...s},required:o},execute:async(t,r)=>{try{let d=new Set([...Object.keys(ge),...Object.keys(s)]);if(Object.keys(t).some(i=>!d.has(i)))throw new a("Unsupported input for this pools.trade tool.");if(t.chainId!==void 0&&t.chainId!==x)throw new a("pools.trade requires chain 4663.");if(B(r),t.slippageBps!==void 0){if(typeof t.slippageBps!="number")throw new a("Slippage must be an integer in basis points.");ae("10000",t.slippageBps)}return await j(),await n(t,r)}catch(d){F(d)}}}}return{tools:[A("launch",{name:g,symbol:g,creatorFees:{type:"boolean",description:"Permanent choice; must be explicit."},feeBeneficiary:g,pair:g,decimals:{type:"integer",const:18},supply:I,initialBuy:I,minAmountOut:I,description:g,website:g,imageUri:g},["name","symbol","creatorFees","feeBeneficiary"],O),...["buy","sell"].map(e=>A(e,{token:g,amountIn:I,minAmountOut:I,launchTx:g},["token","amountIn"],(s,o)=>G(s,o,e==="buy"))),A("collect",{positionId:I,launchTx:g},["positionId"],(e,s)=>pe(e,s,!1)),A("claim",{positionId:I,launchTx:g,minEth:I},["positionId"],(e,s)=>pe(e,s,!0)),A("browse",{fromBlock:I,toBlock:I,limit:{type:"integer",minimum:1,maximum:50},cursor:g},[],Fe),A("balance",{token:g,launchTx:g},["token"],Ce),A("status",{launchTx:g,token:g,positionId:I},["launchTx"],$e),A("launch_options",{},[],Pe),A("fee_transfer",{positionId:I,launchTx:g,to:g},["positionId","to"],(e,s)=>he(e,s,!0)),A("fee_approve",{positionId:I,launchTx:g,spender:g},["positionId","spender"],(e,s)=>he(e,s,!1)),A("transfer",{token:g,amount:I,to:g,launchTx:g},["token","amount","to"],Se),A("collect_many",{positionIds:{type:"array",items:I,minItems:1,maxItems:20},launchTxs:{type:"array",items:g,minItems:1,maxItems:20}},["positionIds","launchTxs"],Be)],positions:async e=>{B(e);let s=[],o=0,n=!0,t,r=i=>({module:"poolstrade",id:"poolstrade-discovery-incomplete",chainId:x,assets:[],incomplete:!0,description:`${i} Checked ${o} launch receipts. Readable holdings are retained. Check a known launch with poolstrade_status {"launchTx":"<hash>"} or its token holding with poolstrade_balance {"token":"<address>","launchTx":"<hash>"}. Crowd Launch and older deployments are outside this reader's coverage.`}),d=async()=>{await j(),n&&await ee(e,void 0,async i=>{o++;for(let f of se(i)){if(!n)return;let w=f.creatorFees&&p(await c.readContract({address:S,abi:m,functionName:"ownerOf",args:[BigInt(f.positionId)]}),e);if(!n)return;if(!w&&!p(i.from,e))continue;let u=w?[{token:ue,amount:(await c.readContract({address:S,abi:m,functionName:"amounts",args:[BigInt(f.positionId)]}))[0].toString()}]:[];n&&s.push({module:"poolstrade",id:f.positionId,chainId:x,assets:u,description:`Current Instant Launch ${f.token} (18 decimals, supply 1000000000), pool ${f.poolId}; creator fees ${f.creatorFees?"on":"off"} (permanent). ${w?"Collected ETH fees only; uncollected fees excluded.":"Launch record; no fee entitlement held."} Liquidity is permanently locked.`})}},()=>n)};try{return await Promise.race([d().then(()=>!0),new Promise(f=>{t=setTimeout(()=>{n=!1,f(!1)},6e3)})])?s:[...s,r("Pools.trade global launch discovery reached its 6000 ms read budget; the historical scan is incomplete.")]}catch(i){return[...s,r(`Pools.trade discovery could not finish: ${l.plainError(i)}`)]}finally{n=!1,t!==void 0&&clearTimeout(t)}}}};function Ve(l){return Ie("poolstrade",[Ee(l)])}export{se as a,Ee as b,Ve as c};
@@ -0,0 +1 @@
1
+ import{d as s,e as h,f as y,h as O,i as q,k as T,m as L,q as w,t as D}from"./53N7PNJH.js";import{b as E,c as I,e as x,g as S}from"./73N3TOJL.js";import{a as P}from"./XPFVT2EA.js";import{a as d}from"./5YS5V2LK.js";import{a as $}from"./JXOEJPJ4.js";import{getAddress as k}from"viem";var u={type:"integer",minimum:1},l={type:"string",minLength:1,maxLength:512},_={type:"string",pattern:"^0x[0-9a-fA-F]{64}$"},g={type:"integer",minimum:1,maximum:100},v={limit:g,cursor:l},j={relay_chain_health:"Read Relay service health. chainId is required.",relay_requests:"Page this wallet\u2019s requests. Requires server OAK_RELAY_API_KEY; the wallet filter is automatic. Optional id, chain and status filters narrow results.",relay_balance_events:"Page this wallet\u2019s balance events. Requires server OAK_RELAY_API_KEY with access to this resource.",relay_exchange_rates:"Read reference rates without a freshness guarantee. Relay may be unavailable; use relay_token_price for an individual token."};function C(n,r){if(r.type==="string"){if(typeof n!="string"||n.length<Number(r.minLength??0)||n.length>Number(r.maxLength??1024)||typeof r.pattern=="string"&&!new RegExp(r.pattern).test(n))throw new d("Provide a valid Relay search, address or cursor.")}else if(r.type==="integer"){if(typeof n!="number"||!Number.isSafeInteger(n)||n<Number(r.minimum??0)||n>Number(r.maximum??Number.MAX_SAFE_INTEGER))throw new d("Provide an integer within the Relay parameter bounds.")}else{if(r.type==="boolean"&&typeof n!="boolean")throw new d("Provide a boolean Relay filter.");if(r.type==="array"){if(!Array.isArray(n)||n.length>100)throw new d("Provide at most 100 Relay search values.");for(let a of n)C(a,s(r.items))}}if(Array.isArray(r.enum)&&!r.enum.includes(n))throw new d("Choose a supported Relay filter.")}function m(n){return new URLSearchParams(Object.entries(n).map(([r,a])=>[r==="cursor"?"continuation":r,String(a)])).toString()}function R(n){if(n!=null)return C(n,l),n}function p(n){return typeof n=="string"?E.test(n)?k(n.toLowerCase()):/^(?:0x[0-9a-fA-F]{64}|-?\d+(?:\.\d+)?)$/.test(n)?n:$(n):Array.isArray(n)?n.map(p):x(n)?Object.fromEntries(Object.entries(n).filter(([r])=>!/api.?key|signature|authorization|secret/i.test(r)).map(([r,a])=>[r,p(a)])):n}function A(n){return h(n).map(r=>{let a=s(r),e=a.decimals;if(typeof e!="number"||!Number.isInteger(e)||e<0||e>255||typeof a.address!="string")throw new d("Relay returned invalid currency metadata.");let t=a.vmType===void 0||a.vmType==="evm";return{chainId:O(a.chainId),address:t?k(y(a.address)):$(a.address),symbol:w(a.symbol)??"unknown",decimals:e,vmType:w(a.vmType),verified:x(a.metadata)&&a.metadata.verified===!0}})}var F=["relay_vault_status","relay_currencies","relay_token_price","relay_currency_classifications","relay_liquidity","relay_swap_sources","relay_requests","relay_app_fee_balance","relay_app_fee_claims","relay_balance_events","relay_deposit_address","relay_recovery_balances","relay_withdrawal_status","relay_chain_health","relay_token_details","relay_token_chart","relay_trending","relay_exchange_rates","relay_protocol_execution"],X=n=>{let r=D(n);function a(e,t,i,o){return{name:e,inputSchema:{type:"object",...j[e]?{description:j[e]}:{},additionalProperties:!1,properties:t,required:i},execute:async(c,b)=>{for(let f of i)if(c[f]===void 0)throw new d(`Provide ${f} for ${e}.`);for(let[f,N]of Object.entries(c)){if(!Object.hasOwn(t,f))throw new d(`Unsupported ${e} parameter ${f}.`);C(N,t[f])}return o(c,y(b))}}}return{tools:[a("relay_chain_health",{chainId:u},["chainId"],async e=>{let t=s(await r(`/chains/health?${m(e)}`));if(typeof t.healthy!="boolean")throw new d("Relay returned invalid chain health.");return{healthy:t.healthy,chainId:e.chainId}}),a("relay_token_details",{chainId:u,address:I},["chainId","address"],async e=>{let t=s(await r(`/chains/${e.chainId}/currencies/${y(e.address)}`));if(t.chainId!==e.chainId||y(t.address)!==y(e.address))throw new d("Relay returned another token.");return{token:A([t])[0],data:p(t)}}),a("relay_token_chart",{chainId:u,address:I,timeframe:{type:"string",enum:["5M","1H","4H","24H","7D","30D","MAX"]}},["chainId","address"],async e=>{let t=s(await r(`/chains/${e.chainId}/currencies/${y(e.address)}/chart?${m(e.timeframe===void 0?{}:{timeframe:e.timeframe})}`));return{chainId:e.chainId,address:k(y(e.address)),data:p(t),summary:"Relay historical market data. Chart prices and volumes are not token base-unit balances."}}),a("relay_trending",{chainId:u,limit:{...g,maximum:20},sortBy:{type:"string",enum:["relay24hBuyTxCount","relay24hBuyUsdVolume","coingecko6hTrending"]}},[],async e=>({currencies:A(await r(`/currencies/trending?${m(e)}`))})),a("relay_exchange_rates",{},[],async()=>({rates:p(s(await r("/prices/rates"))),summary:"Relay reference rates; timestamps are not supplied. These are prices, not token base-unit amounts."})),a("relay_protocol_execution",{id:_},["id"],async e=>{let t=s(await r(`/protocol/executions/${e.id}`)),i=s(t.execution);if(!S(T(i.idempotencyKey),String(e.id)))throw new d("Relay returned another protocol execution.");return{data:p(t),summary:"Oracle execution status only; this does not prove a destination bridge fill."}}),a("relay_currencies",{chainIds:{type:"array",items:u},term:{...l,maxLength:256},address:l,currencyId:l,symbol:l,groupID:l,tokens:{type:"array",items:l},verified:{type:"boolean"},defaultList:{type:"boolean"},includeAllChains:{type:"boolean"},useExternalSearch:{type:"boolean"},depositAddressOnly:{type:"boolean"},limit:g},[],async e=>({currencies:A(await r("/currencies/v2",{chainIds:[P],...e})),summary:"Relay currency search. Provider verification is not an Oak token endorsement; obtain a quote to check route availability."})),a("relay_token_price",{chainId:u,address:I},["chainId","address"],async e=>{let t=s(await r(`/currencies/token/price/v2?${m(e)}`));if(typeof t.price!="string"||!/^\d+(?:\.\d+)?$/.test(t.price))throw new d("Relay returned an invalid USD price.");return{chainId:e.chainId,address:k(y(e.address)),priceUsd:t.price,summary:"Relay USD price; freshness is not supplied by this endpoint."}}),a("relay_currency_classifications",{},[],async()=>{let e=s(await r("/currencies/classifications"));return{major:h(e.major).map(t=>w(t)??"unknown"),stable:h(e.stable).map(t=>w(t)??"unknown")}}),a("relay_liquidity",{chainId:u},["chainId"],async e=>{let t=s(await r(`/chains/liquidity?${m(e)}`));return{liquidity:h(t.liquidity).map(i=>{let o=s(i);if(o.chainId!==e.chainId)throw new d("Relay liquidity chain does not match the request.");return{...A([o])[0],amount:q(o.balance)}}),summary:"Relay solver balances are indicative capacity, not a reserved route or user funds."}}),a("relay_swap_sources",{chainId:u},[],async e=>({sources:h(s(await r(`/swap-sources?${m(e)}`)).sources).map(t=>w(t,"name")??"unknown")})),a("relay_requests",{...v,originChainId:u,destinationChainId:u,chainId:u,id:_,orderId:_,depositTxHash:_,fillTxHash:_,refundTxHash:_,status:{type:"string",enum:["success","failure","refund","pending","depositing"]},includeChildRequests:{type:"boolean"}},[],async(e,t)=>{let i=s(await r(`/requests/v3?${m({...e,user:t,includePendingRequests:!0})}`)),o=h(i.requests).map(s);for(let c of o){let b=x(c.depositAddress)?c.depositAddress.depositor:void 0;if(![c.user,c.sender,b].some(f=>typeof f=="string"&&f.toLowerCase()===t))throw new d("Relay returned a request for another wallet.");T(c.id)}return{requests:p(o),nextCursor:R(i.continuation),summary:"One page of this wallet\u2019s Relay requests, including pending requests. Pass nextCursor as cursor to resume; provider success is not destination receipt verification."}}),a("relay_app_fee_balance",{},[],async(e,t)=>{let i=s(await r(`/app-fees/${t}/balances`));return{balances:h(i.balances).map(o=>{let c=L(o);return{...c,token:{...c.token,address:k(c.token.address),symbol:w(c.token.symbol)??"unknown"}}}),summary:"Off-chain Relay app fee credits for this wallet. Claiming requires separate local signature integration."}}),a("relay_app_fee_claims",v,[],async(e,t)=>{let i=s(await r(`/app-fees/${t}/claims?${m(e)}`)),o=h(i.claims).map(s);for(let c of o)if(y(c.wallet)!==t)throw new d("Relay returned a fee claim for another wallet.");return{claims:p(o),nextCursor:R(i.continuation)}}),a("relay_balance_events",{...v,limit:{...g,maximum:50},requestId:_,chainId:u,currency:I,startTimestamp:{type:"integer",minimum:0},endTimestamp:{type:"integer",minimum:0},type:l},[],async(e,t)=>{let i=s(await r(`/balance/${t}/events?${m(e)}`));if(y(i.wallet)!==t)throw new d("Relay returned balance events for another wallet.");let o=h(i.events).map(s);for(let c of o)if(y(c.wallet)!==t)throw new d("Relay returned a balance event for another wallet.");return{events:p(o),nextCursor:R(i.continuation)}}),a("relay_deposit_address",{address:l,depositAddressId:l,pageSize:{...g,maximum:50},pageToken:l},[],async e=>{if(e.address===void 0==(e.depositAddressId===void 0))throw new d("Provide exactly one deposit address or depositAddressId.");let t=s(await r(`/deposit-addresses/v2?${m(e)}`)),i=s(t.data),o=s(i.depositAddress);if(e.address!==void 0&&o.address!==e.address||e.depositAddressId!==void 0&&o.id!==e.depositAddressId)throw new d("Relay returned another deposit address.");return{data:p(i),nextPageToken:R(i.nextPageToken),summary:"Deposit address monitoring only. Reading an address does not create, change, fund or recover it."}}),a("relay_recovery_balances",{...v,limit:{...g,maximum:50},ownerChainId:u},["ownerChainId"],async(e,t)=>{let i=s(await r(`/withdrawals/balances?${m({...e,recoveryAddress:t})}`)),o=h(i.balances).map(c=>{let b=s(c);return q(b.amount),b});return{balances:p(o),nextCursor:R(i.continuation),summary:"Credited recovery balances only. Empty balances do not prove that an unattested deposit has no recoverable funds. Withdrawal signing remains a separate action."}}),a("relay_withdrawal_status",{id:l},["id"],async e=>{let t=s(await r(`/withdrawals/status?${m(e)}`));if(typeof t.status!="string")throw new d("Relay returned an invalid withdrawal status.");return{status:w(t.status)??"unknown",data:p(t),summary:"Relay withdrawal job status; verify any reported transaction on its chain before treating funds as received."}})]}};export{F as a,X as b};
@@ -0,0 +1 @@
1
+ import{b as s}from"./OJMYESQU.js";import{a as o,c as t}from"./HNMOB76J.js";import{getAddress as i}from"viem";var u=new Set(["priors_status",...s,...t.filter(r=>r.read).map(r=>r.name),"priors_ethos_status","priors_request_borrow","priors_request_repay","priors_request_stock","priors_request_backing","priors_pt_quote","priors_pt_position","priors_stock_quote","priors_savings_liquidity","priors_market_origin","priors_market_pins","priors_capabilities"]),p=new Set(["priors_sign_consent",...t.filter(r=>r.consentRoot).map(r=>r.name)]),d=new Set([...p,"priors_starter_line"]),R=new Set([...t.filter(r=>!r.read).map(r=>r.name),"priors_root_offer","priors_autopay_on","priors_autopay_off","priors_pt_buy","priors_pt_sell","priors_pt_redeem","priors_savings_force_withdraw","priors_stock_swap","priors_market_clear_bid_budget","priors_market_revoke_nft","priors_x_link"]);function S(r){let _=t.find(e=>e.name===r);return _?[o[_.contract],..._.approval==="bid"?[o.bidSpender]:[]]:r==="priors_root_offer"?[o.pool]:r==="priors_autopay_on"||r==="priors_autopay_off"?[o.autopay]:r==="priors_savings_force_withdraw"?[o.savings]:r==="priors_stock_swap"?[i("0xCaf681a66D020601342297493863E78C959E5cb2"),i("0x7Cd4E04E433E69e588728c86A3832753B5F846d4")]:r==="priors_pt_buy"||r==="priors_pt_sell"||r==="priors_pt_redeem"?[i("0x888888888889758F76e7103c6CbF23ABbF58F946")]:r==="priors_market_clear_bid_budget"?[o.bidSpender]:r==="priors_market_revoke_nft"?[o.registry,"0x0000000000000000000000000000000000000000"]:r==="priors_x_link"?[o.registry]:[]}export{u as a,p as b,d as c,R as d,S as e};
@@ -0,0 +1 @@
1
+ import{parseAbi as e}from"viem";var n=e(["function register() returns (uint256 agentId)","function register(string agentURI) returns (uint256 agentId)","function register(string agentURI,(string metadataKey,bytes metadataValue)[] metadata) returns (uint256 agentId)","function setMetadata(uint256 agentId,string metadataKey,bytes metadataValue)","event MetadataSet(uint256 indexed agentId,string indexed indexedMetadataKey,string metadataKey,bytes metadataValue)","function setAgentURI(uint256 agentId,string newURI)","function balanceOf(address owner) view returns (uint256)","function ownerOf(uint256 agentId) view returns (address)","function tokenURI(uint256 agentId) view returns (string)","function getApproved(uint256 agentId) view returns (address)","function isApprovedForAll(address owner,address operator) view returns (bool)","function getAgentWallet(uint256 agentId) view returns (address)","function setAgentWallet(uint256 agentId,address newWallet,uint256 deadline,bytes signature)","function unsetAgentWallet(uint256 agentId)","function getMetadata(uint256 agentId,string metadataKey) view returns (bytes)","function safeTransferFrom(address from,address to,uint256 tokenId)","function approve(address to,uint256 tokenId)","function setApprovalForAll(address operator,bool approved)","function isAuthorizedOrOwner(address spender,uint256 agentId) view returns (bool)","event Registered(uint256 indexed agentId,string agentURI,address indexed owner)","event URIUpdated(uint256 indexed agentId,string newURI,address indexed updatedBy)","event Transfer(address indexed from,address indexed to,uint256 indexed tokenId)","event Approval(address indexed owner,address indexed approved,uint256 indexed tokenId)","event ApprovalForAll(address indexed owner,address indexed operator,bool approved)"]),s=e(["function getIdentityRegistry() view returns (address)","function giveFeedback(uint256 agentId,int128 value,uint8 valueDecimals,string tag1,string tag2,string endpoint,string feedbackURI,bytes32 feedbackHash)","function revokeFeedback(uint256 agentId,uint64 feedbackIndex)","function appendResponse(uint256 agentId,address clientAddress,uint64 feedbackIndex,string responseURI,bytes32 responseHash)","function getLastIndex(uint256 agentId,address clientAddress) view returns (uint64)","function readFeedback(uint256 agentId,address clientAddress,uint64 feedbackIndex) view returns (int128 value,uint8 valueDecimals,string tag1,string tag2,bool isRevoked)","function getSummary(uint256 agentId,address[] clientAddresses,string tag1,string tag2) view returns (uint64 count,int128 summaryValue,uint8 summaryValueDecimals)","function readAllFeedback(uint256 agentId,address[] clientAddresses,string tag1,string tag2,bool includeRevoked) view returns (address[] clients,uint64[] feedbackIndexes,int128[] values,uint8[] valueDecimals,string[] tag1s,string[] tag2s,bool[] revokedStatuses)","function getResponseCount(uint256 agentId,address clientAddress,uint64 feedbackIndex,address[] responders) view returns (uint64 count)","function getClients(uint256 agentId) view returns (address[])","event NewFeedback(uint256 indexed agentId,address indexed clientAddress,uint64 feedbackIndex,int128 value,uint8 valueDecimals,string indexed indexedTag1,string tag1,string tag2,string endpoint,string feedbackURI,bytes32 feedbackHash)","event FeedbackRevoked(uint256 indexed agentId,address indexed clientAddress,uint64 indexed feedbackIndex)","event ResponseAppended(uint256 indexed agentId,address indexed clientAddress,uint64 feedbackIndex,address indexed responder,string responseURI,bytes32 responseHash)"]),d=e(["function getIdentityRegistry() view returns (address)","function validationRequest(address validatorAddress,uint256 agentId,string requestURI,bytes32 requestHash)","function validationResponse(bytes32 requestHash,uint8 response,string responseURI,bytes32 responseHash,string tag)","function getValidationStatus(bytes32 requestHash) view returns (address validatorAddress,uint256 agentId,uint8 response,bytes32 responseHash,string tag,uint256 lastUpdate)","function getSummary(uint256 agentId,address[] validatorAddresses,string tag) view returns (uint64 count,uint8 avgResponse)","function getAgentValidations(uint256 agentId) view returns (bytes32[])","function getValidatorRequests(address validatorAddress) view returns (bytes32[])","event ValidationRequest(address indexed validatorAddress,uint256 indexed agentId,string requestURI,bytes32 indexed requestHash)","event ValidationResponse(address indexed validatorAddress,uint256 indexed agentId,bytes32 indexed requestHash,uint8 response,string responseURI,bytes32 responseHash,string tag)"]),i=e(["function isValidSignature(bytes32 hash,bytes signature) view returns (bytes4 magicValue)"]);export{n as a,s as b,d as c,i as d};
@@ -1 +1 @@
1
- import{a as H,b as z}from"./LIUXNOLP.js";import{a as _}from"./GIBF3YJO.js";import{a as O,b as B}from"./A5ITAEUQ.js";import{a as $,b as M,i as R,t as S}from"./ZUC6ILK2.js";import{b as D,c as E,d as U}from"./B4MLWDPM.js";import{a as u,b as N,c as I,d as F}from"./NGAI6GTU.js";import{decodeFunctionResult as J,encodeFunctionData as Q,erc20Abi as q,getAddress as G,isAddress as X,toEventSelector as Y,toHex as v,zeroAddress as Z}from"viem";var C="0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee";function ee(e){let r=e.toLowerCase();return r===Z||r===C?C:e}var te=Y("Transfer(address,address,uint256)"),K="Preview note: simulation transfer-based token changes exclude gas and do not prove external settlement.";function A(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function P(){throw new u("The endpoint returned an unexpected simulation response.")}async function L(e,r,d,a){let s=await e.getChainId();if(s!==r)throw new u(`Preview is on chain ${r}, but the endpoint reports chain ${s}.`);let i=await H(e),t=await z(e,i);if(i.number===null||typeof i.baseFeePerGas!="bigint"||i.baseFeePerGas<0n||typeof t!="bigint"||t<0n)throw new u("Current block base fee and gas price are unavailable or inconsistent. Retry the preview.");let n=t<i.baseFeePerGas?i.baseFeePerGas:t,y=D(i.gasLimit),b=d.map(f=>({from:a,to:f.to,data:f.data,value:v(BigInt(f.value)),gasPrice:v(n),gas:v(y)})),w=()=>e.request({method:"eth_simulateV1",params:[{blockStateCalls:[{blockOverrides:{baseFeePerGas:v(i.baseFeePerGas)},calls:b}],validation:!1,traceTransfers:!0},v(i.number)]},{retryCount:0});try{return await w()}catch(f){if(!I(f))throw f;let o=await e.getBalance({address:a,blockNumber:i.number}),c=await Promise.all(d.map(m=>e.estimateGas({account:a,to:m.to,data:m.data,value:BigInt(m.value),gas:y,blockNumber:i.number}).catch(()=>{}))),p=o;for(let[m,l]of b.entries()){let g=BigInt(l.value),x=U(D(i.gasLimit,c[m]),p,g,n,a,r),T=c[m];if(T!==void 0&&T>x)throw new u(E(a,r,o-p+g+T*n,o));l.gas=v(x),p-=g}let h=await w();if(Array.isArray(h)&&A(h[0])&&Array.isArray(h[0].calls))for(let[m,l]of h[0].calls.entries()){let g=b[m];if(g&&A(l)&&l.status==="0x0"&&typeof l.gasUsed=="string"&&/^0x[0-9a-f]+$/i.test(l.gasUsed)&&BigInt(l.gasUsed)>=BigInt(g.gas))throw new u(E(a,r,BigInt(g.value)+(BigInt(g.gas)+1n)*n,o))}return h}}function V(e,r,d,a){(!Array.isArray(e)||e.length!==1||!A(e[0])||!Array.isArray(e[0].calls)||e[0].calls.length!==r)&&P();let s=new Map;for(let[i,t]of e[0].calls.entries()){if(A(t)||P(),t.status==="0x0")throw new u(`Preview call ${i+1} on chain ${a} reverted. ${F(t.error)}`);(t.status!=="0x1"||t.error||!Array.isArray(t.logs))&&P();for(let n of t.logs){if((!A(n)||!Array.isArray(n.topics))&&P(),typeof n.topics[0]!="string"||n.topics[0].toLowerCase()!==te||n.topics.length===4)continue;(n.topics.length!==3||typeof n.address!="string"||!X(n.address,{strict:!1})||typeof n.data!="string"||!/^0x[0-9a-fA-F]{64}$/.test(n.data)||!n.topics.slice(1).every(c=>typeof c=="string"&&/^0x0{24}[0-9a-fA-F]{40}$/.test(c)))&&P();let y=n.topics[1].slice(-40).toLowerCase(),b=n.topics[2].slice(-40).toLowerCase(),w=d.slice(2).toLowerCase(),f=BigInt(n.data),o=(b===w?f:0n)-(y===w?f:0n);if(o!==0n){let c=ee(n.address.toLowerCase());s.set(c,(s.get(c)??0n)+o)}}}return s}async function W(e,r,d,a){let s=r===$?S.mainnet:r===M?S.testnet:void 0,i=s&&[{address:s.usdg,symbol:"USDG",decimals:6},{address:s.weth,symbol:"WETH",decimals:18},...r===$?[{address:R[4663].meridian.CollateralToken_USDe.address,symbol:"USDe",decimals:18}]:[]].find(n=>n.address.toLowerCase()===e);if(i)return{...i,address:G(e),chainId:r};let t;if(e===C){let n=d.chain?.nativeCurrency??(r===4663?{symbol:"ETH",decimals:18}:void 0);if(!n)throw new u(`Native token metadata is unavailable for chain ${r}.`);t={address:e,chainId:r,symbol:n.symbol,decimals:n.decimals}}else if(a)t=await a(e,r,d);else{let n=await _(d,r,e,"decimals");t={address:e,chainId:r,symbol:e,decimals:n}}if(!t||typeof t.address!="string"||t.address.toLowerCase()!==e||t.chainId!==r||typeof t.symbol!="string"||!t.symbol.trim()||!Number.isInteger(t.decimals)||t.decimals<0||t.decimals>255)throw new u(`Invalid token metadata for ${e} on chain ${r}.`);return{address:e===C?e:G(e),chainId:r,symbol:e===C?t.symbol:G(e),decimals:t.decimals}}function le(e){return async(r,d)=>{O(d);let a=r.map(B),s=a[0]?.chainId;if(s===void 0)return{txs:a,changes:[],summary:K};let i=a.find(t=>t.chainId!==s);if(i)throw new u(`Preview cannot combine chain ${s} with chain ${i.chainId}. Preview each chain separately.`);try{let t=e.clientFor(s),n;try{n=await L(t,s,a,d)}catch(o){if(!N(o,-32601,-32004)||!e.anvilFor)throw o;t=await e.anvilFor(s),n=await L(t,s,a,d)}let y=V(n,a.length,d,s),b=new Map,w=[];for(let[o,c]of y)if(c!==0n)try{b.set(o,await W(o,s,t,e.tokenFor))}catch(p){if(o===C||e.tokenFor||(await t.getCode({address:o})??"0x")!=="0x")throw p;w.push(o)}if(w.length){let o=w.flatMap(m=>["symbol","decimals"].map(l=>B({to:m,data:Q({abi:q,functionName:l}),value:"0",chainId:s,description:`Read simulated token ${l}.`}))),c=await L(t,s,[...a,...o],d);(!Array.isArray(c)||c.length!==1||!A(c[0])||!Array.isArray(c[0].calls)||c[0].calls.length!==a.length+o.length)&&P();let p=c[0].calls,h=V([{calls:p.slice(0,a.length)}],a.length,d,s);if(y.size!==h.size||[...y].some(([m,l])=>h.get(m)!==l))throw new u("Simulation changed while reading new-token metadata. Refresh the preview.");for(let[m,l]of w.entries()){let g=(T,j)=>{let k=p[a.length+m*2+j];if(!A(k)||k.status!=="0x1"||k.error||typeof k.returnData!="string"||!/^0x[0-9a-fA-F]+$/.test(k.returnData))throw new u(`Invalid simulated token metadata for ${l} on chain ${s}.`);return J({abi:q,functionName:T,data:k.returnData})},x={address:l,chainId:s,symbol:g("symbol",0),decimals:g("decimals",1)};b.set(l,await W(l,s,t,async()=>x))}}let f=[...y].filter(([,o])=>o!==0n).map(([o,c])=>({token:b.get(o),amount:c.toString()}));return{txs:a,changes:f,summary:K}}catch(t){throw new u(`Preview on chain ${s} failed: ${F(t)}`)}}}export{C as a,ee as b,le as c};
1
+ import{a as H,b as z}from"./LIUXNOLP.js";import{a as O,b as B}from"./6IM6A5VA.js";import{a as _}from"./OG5HRQU4.js";import{a as $,b as M,i as R,s as S}from"./XPFVT2EA.js";import{b as D,c as E,d as U}from"./EG6M6SSO.js";import{a as u,b as N,c as I,d as F}from"./5YS5V2LK.js";import{decodeFunctionResult as J,encodeFunctionData as Q,erc20Abi as q,getAddress as G,isAddress as X,toEventSelector as Y,toHex as v,zeroAddress as Z}from"viem";var C="0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee";function ee(e){let r=e.toLowerCase();return r===Z||r===C?C:e}var te=Y("Transfer(address,address,uint256)"),K="Preview note: simulation transfer-based token changes exclude gas and do not prove external settlement.";function A(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function P(){throw new u("The endpoint returned an unexpected simulation response.")}async function L(e,r,d,a){let s=await e.getChainId();if(s!==r)throw new u(`Preview is on chain ${r}, but the endpoint reports chain ${s}.`);let i=await H(e),t=await z(e,i);if(i.number===null||typeof i.baseFeePerGas!="bigint"||i.baseFeePerGas<0n||typeof t!="bigint"||t<0n)throw new u("Current block base fee and gas price are unavailable or inconsistent. Retry the preview.");let n=t<i.baseFeePerGas?i.baseFeePerGas:t,y=D(i.gasLimit),b=d.map(f=>({from:a,to:f.to,data:f.data,value:v(BigInt(f.value)),gasPrice:v(n),gas:v(y)})),w=()=>e.request({method:"eth_simulateV1",params:[{blockStateCalls:[{blockOverrides:{baseFeePerGas:v(i.baseFeePerGas)},calls:b}],validation:!1,traceTransfers:!0},v(i.number)]},{retryCount:0});try{return await w()}catch(f){if(!I(f))throw f;let o=await e.getBalance({address:a,blockNumber:i.number}),c=await Promise.all(d.map(m=>e.estimateGas({account:a,to:m.to,data:m.data,value:BigInt(m.value),gas:y,blockNumber:i.number}).catch(()=>{}))),p=o;for(let[m,l]of b.entries()){let g=BigInt(l.value),x=U(D(i.gasLimit,c[m]),p,g,n,a,r),T=c[m];if(T!==void 0&&T>x)throw new u(E(a,r,o-p+g+T*n,o));l.gas=v(x),p-=g}let h=await w();if(Array.isArray(h)&&A(h[0])&&Array.isArray(h[0].calls))for(let[m,l]of h[0].calls.entries()){let g=b[m];if(g&&A(l)&&l.status==="0x0"&&typeof l.gasUsed=="string"&&/^0x[0-9a-f]+$/i.test(l.gasUsed)&&BigInt(l.gasUsed)>=BigInt(g.gas))throw new u(E(a,r,BigInt(g.value)+(BigInt(g.gas)+1n)*n,o))}return h}}function V(e,r,d,a){(!Array.isArray(e)||e.length!==1||!A(e[0])||!Array.isArray(e[0].calls)||e[0].calls.length!==r)&&P();let s=new Map;for(let[i,t]of e[0].calls.entries()){if(A(t)||P(),t.status==="0x0")throw new u(`Preview call ${i+1} on chain ${a} reverted. ${F(t.error)}`);(t.status!=="0x1"||t.error||!Array.isArray(t.logs))&&P();for(let n of t.logs){if((!A(n)||!Array.isArray(n.topics))&&P(),typeof n.topics[0]!="string"||n.topics[0].toLowerCase()!==te||n.topics.length===4)continue;(n.topics.length!==3||typeof n.address!="string"||!X(n.address,{strict:!1})||typeof n.data!="string"||!/^0x[0-9a-fA-F]{64}$/.test(n.data)||!n.topics.slice(1).every(c=>typeof c=="string"&&/^0x0{24}[0-9a-fA-F]{40}$/.test(c)))&&P();let y=n.topics[1].slice(-40).toLowerCase(),b=n.topics[2].slice(-40).toLowerCase(),w=d.slice(2).toLowerCase(),f=BigInt(n.data),o=(b===w?f:0n)-(y===w?f:0n);if(o!==0n){let c=ee(n.address.toLowerCase());s.set(c,(s.get(c)??0n)+o)}}}return s}async function W(e,r,d,a){let s=r===$?S.mainnet:r===M?S.testnet:void 0,i=s&&[{address:s.usdg,symbol:"USDG",decimals:6},{address:s.weth,symbol:"WETH",decimals:18},...r===$?[{address:R[4663].meridian.CollateralToken_USDe.address,symbol:"USDe",decimals:18}]:[]].find(n=>n.address.toLowerCase()===e);if(i)return{...i,address:G(e),chainId:r};let t;if(e===C){let n=d.chain?.nativeCurrency??(r===4663?{symbol:"ETH",decimals:18}:void 0);if(!n)throw new u(`Native token metadata is unavailable for chain ${r}.`);t={address:e,chainId:r,symbol:n.symbol,decimals:n.decimals}}else if(a)t=await a(e,r,d);else{let n=await _(d,r,e,"decimals");t={address:e,chainId:r,symbol:e,decimals:n}}if(!t||typeof t.address!="string"||t.address.toLowerCase()!==e||t.chainId!==r||typeof t.symbol!="string"||!t.symbol.trim()||!Number.isInteger(t.decimals)||t.decimals<0||t.decimals>255)throw new u(`Invalid token metadata for ${e} on chain ${r}.`);return{address:e===C?e:G(e),chainId:r,symbol:e===C?t.symbol:G(e),decimals:t.decimals}}function le(e){return async(r,d)=>{O(d);let a=r.map(B),s=a[0]?.chainId;if(s===void 0)return{txs:a,changes:[],summary:K};let i=a.find(t=>t.chainId!==s);if(i)throw new u(`Preview cannot combine chain ${s} with chain ${i.chainId}. Preview each chain separately.`);try{let t=e.clientFor(s),n;try{n=await L(t,s,a,d)}catch(o){if(!N(o,-32601,-32004)||!e.anvilFor)throw o;t=await e.anvilFor(s),n=await L(t,s,a,d)}let y=V(n,a.length,d,s),b=new Map,w=[];for(let[o,c]of y)if(c!==0n)try{b.set(o,await W(o,s,t,e.tokenFor))}catch(p){if(o===C||e.tokenFor||(await t.getCode({address:o})??"0x")!=="0x")throw p;w.push(o)}if(w.length){let o=w.flatMap(m=>["symbol","decimals"].map(l=>B({to:m,data:Q({abi:q,functionName:l}),value:"0",chainId:s,description:`Read simulated token ${l}.`}))),c=await L(t,s,[...a,...o],d);(!Array.isArray(c)||c.length!==1||!A(c[0])||!Array.isArray(c[0].calls)||c[0].calls.length!==a.length+o.length)&&P();let p=c[0].calls,h=V([{calls:p.slice(0,a.length)}],a.length,d,s);if(y.size!==h.size||[...y].some(([m,l])=>h.get(m)!==l))throw new u("Simulation changed while reading new-token metadata. Refresh the preview.");for(let[m,l]of w.entries()){let g=(T,j)=>{let k=p[a.length+m*2+j];if(!A(k)||k.status!=="0x1"||k.error||typeof k.returnData!="string"||!/^0x[0-9a-fA-F]+$/.test(k.returnData))throw new u(`Invalid simulated token metadata for ${l} on chain ${s}.`);return J({abi:q,functionName:T,data:k.returnData})},x={address:l,chainId:s,symbol:g("symbol",0),decimals:g("decimals",1)};b.set(l,await W(l,s,t,async()=>x))}}let f=[...y].filter(([,o])=>o!==0n).map(([o,c])=>({token:b.get(o),amount:c.toString()}));return{txs:a,changes:f,summary:K}}catch(t){throw new u(`Preview on chain ${s} failed: ${F(t)}`)}}}export{C as a,ee as b,le as c};
@@ -0,0 +1 @@
1
+ import{a as r}from"./5YS5V2LK.js";var s=4663,a=46630,p=18,f=6,A=30,h="recipient",v="direct",P="totalSupply",o={4663:{pons:{factory:{address:"0x7eD598BcEf8bd9Edd8C97A195C6d13f40801EC7e",source:"Recorded chain and API observations",pointer:"/pons/factory",block:"100307770",blockKind:"read",blockPointer:"/pinnedBlocks/ponsReads"},launchAndBuyRouter:{address:"0xe33E9E479dF8802cb0866d5d05258bEc4cF62948",source:"Recorded chain and API observations",pointer:"/pons/launchAndBuyRouter",block:"100307770",blockKind:"read",blockPointer:"/pinnedBlocks/ponsReads"},memeHook:{address:"0xE5e702641Ea86F4ae6cC3cDaeD2B886f976Be044",source:"Recorded chain and API observations",pointer:"/pons/memeHook",block:"100307770",blockKind:"read",blockPointer:"/pinnedBlocks/ponsReads"},feeEscrow:{address:"0xd3AFEB2a57f70eF218Aa82451c51B2fb0416Ac9e",source:"Recorded chain and API observations",pointer:"/pons/feeEscrow",block:"100307770",blockKind:"read",blockPointer:"/pinnedBlocks/ponsReads"},buybackVault:{address:"0x42df2a798f82289E177311362e8f5ccC45c1219c",source:"Recorded chain and API observations",pointer:"/pons/buybackVault",block:"100307770",blockKind:"read",blockPointer:"/pinnedBlocks/ponsReads"},locker:{address:"0x267444D099b10fB5Ed7c3Cc7B7c767AdcA574952",source:"Recorded chain and API observations",pointer:"/pons/locker",block:"100307770",blockKind:"read",blockPointer:"/pinnedBlocks/ponsReads"},launchDeployer:{address:"0x3711ceA4feaDE896C913C68F01Eda97Cb06D1A42",source:"Recorded chain and API observations",pointer:"/pons/launchDeployer",block:"100307770",blockKind:"read",blockPointer:"/pinnedBlocks/ponsReads"},graduationExecutor:{address:"0xC7819B64A1dAECD7eC19856d026cb14EfBd89046",source:"Recorded chain and API observations",pointer:"/pons/graduationExecutor",block:"100307770",blockKind:"read",blockPointer:"/pinnedBlocks/ponsReads"},graduationGuard:{address:"0xf5695117b99B6f6401e67d4195BD653628176C6C",source:"Recorded chain and API observations",pointer:"/pons/graduationGuard",block:"100307770",blockKind:"read",blockPointer:"/pinnedBlocks/ponsReads"},poolManager:{address:"0x8366a39CC670B4001A1121B8F6A443A643e40951",source:"Recorded chain and API observations",pointer:"/pons/poolManager",block:"100307770",blockKind:"read",blockPointer:"/pinnedBlocks/ponsReads"},positionManager:{address:"0x58daec3116aae6D93017bAAea7749052E8a04fA7",source:"Recorded chain and API observations",pointer:"/pons/positionManager",block:"100307770",blockKind:"read",blockPointer:"/pinnedBlocks/ponsReads"}},oracle:{ethUsdgPool:{address:"0x52e65B17fB6E5BA00Ed806f37Afcd2DaA50271Ca",source:"Recorded chain and API observations",pointer:"/ethUsdgPool/address",block:"100307735",blockKind:"read",blockPointer:"/ethUsdgPool/rawReading/block"}},tokens:{USDG:{address:"0x5fc5360d0400a0fd4f2af552add042d716f1d168",source:"Recorded chain and API observations",pointer:"/usdg/address",block:null,blockKind:"latest",caveat:"Token reads around head 100305826; not individually pinned (Part B section 1.2)."},WETH:{address:"0x0bd7d308f8e1639fab988df18a8011f41eacad73",source:"Recorded chain and API observations",pointer:"/routers/wrappedNative",block:null,blockKind:"latest"}},routes:{kyberswap:{address:"0x6131B5fae19EA4f9D964eAc0408E4408b66337b5",source:"Recorded chain and API observations",pointer:"/routers/kyberswap/router",block:null,blockKind:"latest",caveat:"Historical API target; validate each fresh quote/build chain and target."},velora:{address:"0x6a000f20005980200259b80c5102003040001068",source:"Recorded chain and API observations",pointer:"/routers/velora/router",block:null,blockKind:"latest",caveat:"Historical API target; validate each fresh quote/build chain and target."}},ponsClaims:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",source:"Recorded chain and API observations",pointer:"/addresses/multicall3/address",block:null,blockKind:"unanchored",caveat:"Code present in the source snapshot; exact code-read block not recorded."}},ponsTrade:{universal_router:{address:"0x204faca1764b154221e35c0d20abb3c525710498",source:"Recorded chain and API observations",pointer:"/contracts/universal_router/address",block:"100372649",blockKind:"read",blockPointer:"/limitations/0"},pool_manager:{address:"0x8366a39cc670b4001a1121b8f6a443a643e40951",source:"Recorded chain and API observations",pointer:"/contracts/pool_manager/address",block:"100372649",blockKind:"read",blockPointer:"/limitations/0"},state_view:{address:"0xf3334192d15450cdd385c8b70e03f9a6bd9e673b",source:"Recorded chain and API observations",pointer:"/contracts/state_view/address",block:"100372649",blockKind:"read",blockPointer:"/limitations/0"},quoter:{address:"0x8dc178efb8111bb0973dd9d722ebeff267c98f94",source:"Recorded chain and API observations",pointer:"/contracts/quoter/address",block:"100372649",blockKind:"read",blockPointer:"/limitations/0"},permit2:{address:"0x000000000022d473030f116ddee9f6b43ac78ba3",source:"Recorded chain and API observations",pointer:"/contracts/permit2/address",block:"100372649",blockKind:"read",blockPointer:"/limitations/0"}},uniswap:{v3_factory:{address:"0x1f7d7550b1b028f7571e69a784071f0205fd2efa",source:"Recorded chain and API observations",pointer:"/addresses/v3_factory/address",block:"100361663",blockKind:"snapshot",blockPointer:"/snapshots/v3_block/number"},v3_position_manager:{address:"0x73991a25c818bf1f1128deaab1492d45638de0d3",source:"Recorded chain and API observations",pointer:"/addresses/v3_position_manager/address",block:"100361663",blockKind:"snapshot",blockPointer:"/snapshots/v3_block/number"},v4_pool_manager:{address:"0x8366a39cc670b4001a1121b8f6a443a643e40951",source:"Recorded chain and API observations",pointer:"/addresses/v4_pool_manager/address",block:"100363029",blockKind:"snapshot",blockPointer:"/snapshots/v4_block"},v4_position_manager:{address:"0x58daec3116aae6d93017baaea7749052e8a04fa7",source:"Recorded chain and API observations",pointer:"/addresses/v4_position_manager/address",block:"100363029",blockKind:"snapshot",blockPointer:"/snapshots/v4_block"},v4_state_view:{address:"0xf3334192d15450cdd385c8b70e03f9a6bd9e673b",source:"Recorded chain and API observations",pointer:"/addresses/v4_state_view/address",block:"100363029",blockKind:"snapshot",blockPointer:"/snapshots/v4_block"},swap_router02:{address:"0xcaf681a66d020601342297493863e78c959e5cb2",source:"Recorded chain and API observations",pointer:"/addresses/swap_router02/address",block:"100361663",blockKind:"snapshot",blockPointer:"/snapshots/v3_block/number"},permit2:{address:"0x000000000022d473030f116ddee9f6b43ac78ba3",source:"Recorded chain and API observations",pointer:"/addresses/permit2/address",block:"100361663",blockKind:"snapshot",blockPointer:"/snapshots/v3_block/number"},WETH:{address:"0x0bd7d308f8e1639fab988df18a8011f41eacad73",source:"Recorded chain and API observations",pointer:"/addresses/WETH/address",block:"100361663",blockKind:"snapshot",blockPointer:"/snapshots/v3_block/number"},USDG:{address:"0x5fc5360d0400a0fd4f2af552add042d716f1d168",source:"Recorded chain and API observations",pointer:"/addresses/USDG/address",block:"100361663",blockKind:"snapshot",blockPointer:"/snapshots/v3_block/number"}},clanker:{factory:{address:"0xD3f2cC1731b7Fd17f28798835C2E02f0a1839A94",source:"Recorded chain and API observations",pointer:"/contracts/factory/address",block:"100375756",blockKind:"fork",blockPointer:"/chain/fork_block_number"},locker:{address:"0xE4910b09709423aFafD995dD76D8A81CF9134A09",source:"Recorded chain and API observations",pointer:"/contracts/locker/address",block:"100375756",blockKind:"fork",blockPointer:"/chain/fork_block_number"},legacy_locker_v1:{address:"0x290f735f63824bb5836cde24a35f5103a5b5bc99",source:"Recorded chain and API observations",pointer:"/contracts/legacy_locker_v1/address",block:"100375756",blockKind:"fork",blockPointer:"/chain/fork_block_number"},fee_locker:{address:"0x88db2340bE5991B2b5Fca2Baee39B5CE048Cd70c",source:"Recorded chain and API observations",pointer:"/contracts/fee_locker/address",block:"100375756",blockKind:"fork",blockPointer:"/chain/fork_block_number"},fee_static_hook_v2:{address:"0x48B8F6AD3A1b4aA477314c9a23035b8F84dDe8cc",source:"Recorded chain and API observations",pointer:"/contracts/fee_static_hook_v2/address",block:"100375756",blockKind:"fork",blockPointer:"/chain/fork_block_number"},fee_dynamic_hook_v2:{address:"0x65efDF8Cce99b53C925DF878Df275Df21cB6E8Cc",source:"Recorded chain and API observations",pointer:"/contracts/fee_dynamic_hook_v2/address",block:"100375756",blockKind:"fork",blockPointer:"/chain/fork_block_number"},mev_module:{address:"0xEA1Fe197dF140e5d88fC6B49f2d21Ea05092299e",source:"Recorded chain and API observations",pointer:"/contracts/mev_module/address",block:"100375756",blockKind:"fork",blockPointer:"/chain/fork_block_number"},devbuy:{address:"0xa27b1986e5c7e5371Cb6507f87918fBD0302fF5a",source:"Recorded chain and API observations",pointer:"/contracts/devbuy/address",block:"100375756",blockKind:"fork",blockPointer:"/chain/fork_block_number"},vault:{address:"0x99B2a80ed21c7af1F5cc1A97383DADeEC7DD1427",source:"Recorded chain and API observations",pointer:"/contracts/vault/address",block:"100375756",blockKind:"fork",blockPointer:"/chain/fork_block_number"},airdrop:{address:"0x6f27372FF493A3855E6746b9a4fe6Ed2Cc3034B5",source:"Recorded chain and API observations",pointer:"/contracts/airdrop/address",block:"100375756",blockKind:"fork",blockPointer:"/chain/fork_block_number"},paired_weth:{address:"0x0Bd7D308f8E1639FAb988df18A8011f41EAcAD73",source:"Recorded chain and API observations",pointer:"/contracts/paired_weth/address",block:"100375756",blockKind:"fork",blockPointer:"/chain/fork_block_number"}},clankerDependencies:{pool_manager:{address:"0x8366a39CC670B4001A1121B8F6A443A643e40951",source:"Recorded chain and API observations",pointer:"/contracts/uniswap_v4_dependencies/pool_manager/address",block:"100375756",blockKind:"fork",blockPointer:"/chain/fork_block_number"},position_manager:{address:"0x58daec3116aae6D93017bAAea7749052E8a04fA7",source:"Recorded chain and API observations",pointer:"/contracts/uniswap_v4_dependencies/position_manager/address",block:"100375756",blockKind:"fork",blockPointer:"/chain/fork_block_number"},universal_router:{address:"0x53BF6B0684Ec7eF91e1387Da3D1a1769bC5A6F77",source:"Recorded chain and API observations",pointer:"/contracts/uniswap_v4_dependencies/universal_router/address",block:"100375756",blockKind:"fork",blockPointer:"/chain/fork_block_number"},permit2:{address:"0x000000000022D473030F116dDEE9F6B43aC78BA3",source:"Recorded chain and API observations",pointer:"/contracts/uniswap_v4_dependencies/permit2/address",block:"100375756",blockKind:"fork",blockPointer:"/chain/fork_block_number"}},hoodag:{registry:{address:"0x3E717dc89AAF4605b607324329EEeB0a8B3C8A1c",source:"Recorded chain and API observations",pointer:"/contracts/registry/address",block:null,blockKind:"range",blockPointer:"/measuredBlockRange"},universalResolver:{address:"0xa9ed3C73F522875F18DAa631429125da893D8E53",source:"Recorded chain and API observations",pointer:"/contracts/universalResolver/address",block:null,blockKind:"range",blockPointer:"/measuredBlockRange"},registrar:{address:"0x9a122C54e15B6287c164b90833bcDA6E16520D50",source:"Recorded chain and API observations",pointer:"/contracts/registrar/address",block:null,blockKind:"range",blockPointer:"/measuredBlockRange"},publicResolver:{address:"0x072C7a66a6D52B23274470b86096AFCBF816CA0B",source:"Recorded chain and API observations",pointer:"/contracts/publicResolver/address",block:null,blockKind:"range",blockPointer:"/measuredBlockRange"},registrarController:{address:"0x7900b2B8Cc3f0616B18C68AdA7E115A9022Ca04a",source:"Recorded chain and API observations",pointer:"/contracts/registrarController/address",block:null,blockKind:"range",blockPointer:"/measuredBlockRange"},reverseRegistrar:{address:"0x4be6D0379f56404B563afAe17c6b095b1dfcf479",source:"Recorded chain and API observations",pointer:"/contracts/reverseRegistrar/address",block:null,blockKind:"range",blockPointer:"/measuredBlockRange"}},hoodlock:{locker:{address:"0xd0f7d8c6e9f6d80c297bebe4f7fd1b9c8125c32f",source:"Recorded chain and API observations",pointer:"/contracts/locker/address",block:"100356379",blockKind:"read",blockPointer:"/chain/liveStateBlock"},burner:{address:"0x6bf43ca706faa8ea46803299c191484e82280652",source:"Recorded chain and API observations",pointer:"/contracts/burner/address",block:"100356379",blockKind:"read",blockPointer:"/chain/liveStateBlock"},airdrop:{address:"0x6B1fE7b821001144Ee74EEA258b0AafdE20102E8",source:"Recorded chain and API observations",pointer:"/contracts/airdrop/address",block:"100356379",blockKind:"read",blockPointer:"/chain/liveStateBlock"},liquidityLocker:{address:"0x91Aa2dA1956C77F8448E18DCaf53383bCc658e67",source:"Recorded chain and API observations",pointer:"/contracts/liquidityLocker/address",block:"100356379",blockKind:"read",blockPointer:"/chain/liveStateBlock"}},hookr:{HookrLimitOrders:{address:"0x0c376cc30b1AC98b8ef80a4F516212D3B99402fA",source:"Recorded chain and API observations",pointer:"/q1_liveness/contracts/HookrLimitOrders/address",block:"100371423",blockKind:"fork",blockPointer:"/fork_block_number"},HookrRoot:{address:"0x89c9FB50d1f03192230FFB1c279BB6E7d3Fe6aCc",source:"Recorded chain and API observations",pointer:"/q1_liveness/contracts/HookrRoot/address",block:"100371423",blockKind:"fork",blockPointer:"/fork_block_number"},HookrRouter:{address:"0xC2Bc9a3fe6c4Ce8C2F7EB4655b0869b01D8c93C9",source:"Recorded chain and API observations",pointer:"/q1_liveness/contracts/HookrRouter/address",block:"100371423",blockKind:"fork",blockPointer:"/fork_block_number"},HookrQuoter:{address:"0x445D7891381Aa7F91F5048EdBC6a611ccBDe7865",source:"Recorded chain and API observations",pointer:"/q1_liveness/contracts/HookrQuoter/address",block:"100371423",blockKind:"fork",blockPointer:"/fork_block_number"},HookrLauncher:{address:"0x1cf2748A6670572425eAbf9Ab9e5BC4eb2eB8Ef4",source:"Recorded chain and API observations",pointer:"/q1_liveness/contracts/HookrLauncher/address",block:"100371423",blockKind:"fork",blockPointer:"/fork_block_number"},HookrRules:{address:"0x4a71c270b1520F94064268102AebD744b0DE7942",source:"Recorded chain and API observations",pointer:"/q1_liveness/contracts/HookrRules/address",block:"100371423",blockKind:"fork",blockPointer:"/fork_block_number"},HookrRegistry:{address:"0x463c82beA1a52F4Cc05ca0741a24F0AD24bA4602",source:"Recorded chain and API observations",pointer:"/q1_liveness/contracts/HookrRegistry/address",block:"100371423",blockKind:"fork",blockPointer:"/fork_block_number"},HookrTreasury:{address:"0x2242F7FC75606500503075f29ea8cDA684EfB4a9",source:"Recorded chain and API observations",pointer:"/q1_liveness/contracts/HookrTreasury/address",block:"100371423",blockKind:"fork",blockPointer:"/fork_block_number"},HookrForwarder:{address:"0xe7863CC0E2Fb783b44c279aB159bcD812c2ceA1c",source:"Recorded chain and API observations",pointer:"/q1_liveness/contracts/HookrForwarder/address",block:"100371423",blockKind:"fork",blockPointer:"/fork_block_number"},HookrOwnedRootFactory:{address:"0xA6c2a401597301dFf57A59bC8F70a9622499f3ec",source:"Recorded chain and API observations",pointer:"/q1_liveness/contracts/HookrOwnedRootFactory/address",block:"100371423",blockKind:"fork",blockPointer:"/fork_block_number"},HookrRootFactory:{address:"0x21E438FaBE10770afb4407cF6b09d32369CBdCE4",source:"Recorded chain and API observations",pointer:"/q1_liveness/contracts/HookrRootFactory/address",block:"100371423",blockKind:"fork",blockPointer:"/fork_block_number"},HookrFamilyRouter:{address:"0x854f3Fa7AC342B244DF0d9A8c8F597b051aAE559",source:"Recorded chain and API observations",pointer:"/q1_liveness/contracts/HookrFamilyRouter/address",block:"100371423",blockKind:"fork",blockPointer:"/fork_block_number"},HookrFamilyLock:{address:"0xfAFEcE64099C1E791C4B46189c277f00c0c7e00b",source:"Recorded chain and API observations",pointer:"/q1_liveness/contracts/HookrFamilyLock/address",block:"100371423",blockKind:"fork",blockPointer:"/fork_block_number"},PoolManager:{address:"0x8366a39CC670B4001A1121B8F6A443A643e40951",source:"Recorded chain and API observations",pointer:"/q1_liveness/contracts/PoolManager/address",block:"100371423",blockKind:"fork",blockPointer:"/fork_block_number"},HOOKR_Token:{address:"0x18E674231A58c239Dc7DaeDcffE15Ec3A24cff5c",source:"Recorded chain and API observations",pointer:"/q1_liveness/contracts/HOOKR_Token/address",block:"100371423",blockKind:"fork",blockPointer:"/fork_block_number"}},merkl:{distributor:{address:"0x3Ef3D8bA38EBe18DB133cEc108f4D14CE00Dd9Ae",source:"Recorded chain and API observations",pointer:"/contracts/distributor/address",block:null,blockKind:"latest"},distributionCreator:{address:"0x8BB4C975Ff3c250e0ceEA271728547f3802B36Fd",source:"Recorded chain and API observations",pointer:"/contracts/distributionCreator/address",block:null,blockKind:"latest"},accessControlManager:{address:"0x5D36e13F076f34eE2Bf69fEAEa784887754465f8",source:"Recorded chain and API observations",pointer:"/contracts/accessControlManager/address",block:null,blockKind:"latest"}},poolsTrade:{liquidityLauncher:{address:"0x0000FffFBE8efE702c8703aE3477FF5dE3d319C0",source:"Recorded chain and API observations",pointer:"/contracts/liquidityLauncher/address",block:"100369897",blockKind:"census",blockPointer:"/chain/headAtFirstCensus"},instantLaunchStrategyFeesOn:{address:"0x7c48DDe3B447381F4d986334679b3Afc7F2D35C2",source:"Recorded chain and API observations",pointer:"/contracts/instantLaunchStrategyFeesOn/address",block:"100369897",blockKind:"census",blockPointer:"/chain/headAtFirstCensus"},instantLaunchStrategyFeesOff:{address:"0xC9566675b1Ea42861546f3c5B74Ace2c79c49572",source:"Recorded chain and API observations",pointer:"/contracts/instantLaunchStrategyFeesOff/address",block:"100369897",blockKind:"census",blockPointer:"/chain/headAtFirstCensus"},feeSplitterFeesOn:{address:"0x9411fa7F956f64aa7981AA27cB3bC6eC0415449C",source:"Recorded chain and API observations",pointer:"/contracts/feeSplitterFeesOn/address",block:"100369897",blockKind:"census",blockPointer:"/chain/headAtFirstCensus"},feeSplitterFeesOff:{address:"0x882Ae5e2095435A62Fd1BBDEfcb637f5CeAFc0ee",source:"Recorded chain and API observations",pointer:"/contracts/feeSplitterFeesOff/address",block:"100369897",blockKind:"census",blockPointer:"/chain/headAtFirstCensus"},uerc20BeneficiaryVault:{address:"0x26d2F7AcB07707034406a0dC458351Bb63C02553",source:"Recorded chain and API observations",pointer:"/contracts/uerc20BeneficiaryVault/address",block:"100369897",blockKind:"census",blockPointer:"/chain/headAtFirstCensus"},compoundingClaimRecipient:{address:"0xf585b5D728A8fdE743027307BF5F3556E3B9C58D",source:"Recorded chain and API observations",pointer:"/contracts/compoundingClaimRecipient/address",block:"100369897",blockKind:"census",blockPointer:"/chain/headAtFirstCensus"},universalRouterStrategyApp:{address:"0x1242c9439d589cAE85E121B1f79f2aF51e91DCEE",source:"Recorded chain and API observations",pointer:"/contracts/universalRouterStrategyApp/address",block:"100369897",blockKind:"census",blockPointer:"/chain/headAtFirstCensus"},uerc20Factory:{address:"0x000000e200088D55C39a11F609E5F667729ad49b",source:"Recorded chain and API observations",pointer:"/contracts/uerc20Factory/address",block:"100369897",blockKind:"census",blockPointer:"/chain/headAtFirstCensus"},universalRouter:{address:"0x8876789976dEcBfCbBbe364623C63652db8C0904",source:"Recorded chain and API observations",pointer:"/contracts/universalRouter/address",block:"100369897",blockKind:"census",blockPointer:"/chain/headAtFirstCensus"},v4PoolManager:{address:"0x8366a39CC670B4001A1121B8F6A443A643e40951",source:"Recorded chain and API observations",pointer:"/contracts/v4PoolManager/address",block:"100369897",blockKind:"census",blockPointer:"/chain/headAtFirstCensus"},v4PositionManager:{address:"0x58daec3116aae6D93017bAAea7749052E8a04fA7",source:"Recorded chain and API observations",pointer:"/contracts/v4PositionManager/address",block:"100369897",blockKind:"census",blockPointer:"/chain/headAtFirstCensus"},permit2:{address:"0x000000000022D473030F116dDEE9F6B43aC78BA3",source:"Recorded chain and API observations",pointer:"/contracts/permit2/address",block:"100369897",blockKind:"census",blockPointer:"/chain/headAtFirstCensus"},v4Quoter:{address:"0x8Dc178eFB8111BB0973Dd9d722ebeFF267c98F94",source:"Recorded chain and API observations",pointer:"/contracts/v4Quoter/address",block:"100369897",blockKind:"census",blockPointer:"/chain/headAtFirstCensus"},protocolFeeController:{address:"0x6d0009504D129CF5002Dba61D9Ae8575AA79314c",source:"Recorded chain and API observations",pointer:"/contracts/protocolFeeController/address",block:"100369897",blockKind:"census",blockPointer:"/chain/headAtFirstCensus"}},priors:{pool:{address:"0x281210097f0de7A8FB6F87310AF0f089c9C8DE21",source:"Recorded chain and API observations",pointer:"/contracts/pool/address",block:null,blockKind:"latest",blockPointer:"/recorded-calls/8"},lens:{address:"0x9d7035722bd42C551f82FEB9FDDd17453AEF3D9B",source:"Recorded chain and API observations",pointer:"/contracts/lens/address",block:null,blockKind:"latest",blockPointer:"/recorded-calls/8"},usdg:{address:"0x5fc5360D0400a0Fd4f2af552ADD042D716F1d168",source:"Recorded chain and API observations",pointer:"/contracts/usdg/address",block:null,blockKind:"latest",blockPointer:"/recorded-calls/8"},registry:{address:"0x8004A169FB4a3325136EB29fA0ceB6D2e539a432",source:"Recorded chain and API observations",pointer:"/contracts/registry/address",block:null,blockKind:"latest",blockPointer:"/recorded-calls/8"},stockVault:{address:"0xbEcd07EC689988e16b870C121756C4c2C8cb02B6",source:"Recorded chain and API observations",pointer:"/contracts/stockVault/address",block:null,blockKind:"latest",blockPointer:"/recorded-calls/8"}},morpho:{morpho_blue:{address:"0x9D53d5E3bd5E8d4Cbfa6DB1ca238AEA02E651010",source:"Recorded chain and API observations",pointer:"/addresses/morpho_blue/address",block:"100362239",blockKind:"read",blockPointer:"/chain/read_block"},adaptive_curve_irm:{address:"0x2BD3d5965B26B51814AC95127B2b80dD6CcC0fa1",source:"Recorded chain and API observations",pointer:"/addresses/adaptive_curve_irm/address",block:"100362239",blockKind:"read",blockPointer:"/chain/read_block"},USDG:{address:"0x5fc5360d0400a0fd4f2af552add042d716f1d168",source:"Recorded chain and API observations",pointer:"/addresses/USDG/address",block:"100362239",blockKind:"read",blockPointer:"/chain/read_block"},WETH:{address:"0x0Bd7D308f8E1639FAb988df18A8011f41EAcAD73",source:"Recorded chain and API observations",pointer:"/addresses/WETH/address",block:"100362239",blockKind:"read",blockPointer:"/chain/read_block"}},tickerSpring:{limitOrderHook:{address:"0xa31729621a2280C0Ff9Aaff5B3F357cFF1bEC040",source:"Recorded chain and API observations",pointer:"/liveness/contracts/limitOrderHook/address",block:null,blockKind:"range",blockPointer:"/chain/verifiedAtBlockRange"},gridStrategy:{address:"0xd597785134307B5324f469A9506066fAd4827730",source:"Recorded chain and API observations",pointer:"/liveness/contracts/gridStrategy/address",block:null,blockKind:"range",blockPointer:"/chain/verifiedAtBlockRange"},ladderStrategy:{address:"0x23c7906D8fa3ede698A00AbE66D28605A41b4177",source:"Recorded chain and API observations",pointer:"/liveness/contracts/ladderStrategy/address",block:null,blockKind:"range",blockPointer:"/chain/verifiedAtBlockRange"},basketZap:{address:"0xFca65c50325b83F8f1E07cD103c00De0cEa4Fb39",source:"Recorded chain and API observations",pointer:"/liveness/contracts/basketZap/address",block:null,blockKind:"range",blockPointer:"/chain/verifiedAtBlockRange"},usdg:{address:"0x5fc5360D0400a0Fd4f2af552ADD042D716F1d168",source:"Recorded chain and API observations",pointer:"/liveness/contracts/usdg/address",block:null,blockKind:"range",blockPointer:"/chain/verifiedAtBlockRange"}},orbio:{credit:{address:"0xe33322da1380e61e5ae5dfb21e7f62924c73004c",source:"Recorded chain and API observations",pointer:"/orbio/credit/address",block:"100313751",blockKind:"fork",caveat:"Fork anchor block recorded from chain observations; individual code reads were latest."},exchange:{address:"0x6951ffd32630b05e06f50062aea801625a58ebc0",source:"Recorded chain and API observations",pointer:"/orbio/exchange/address",block:"100313751",blockKind:"fork",caveat:"Fork anchor block recorded from chain observations; individual code reads were latest."}},vaults:{steakhouse:{address:"0xBeEff033F34C046626B8D0A041844C5d1A5409dd",source:"Recorded chain and API observations",pointer:"/vaults/eligible/0/address",block:"100320900",blockKind:"read",blockPointer:"/vaults/verifiedAtBlock",caveat:"Historical eligibility only; recheck asset and >=1e12 USDG totalAssets on every listing."},spark:{address:"0xde770c84fe66e063336b31737cfe9790f18c4087",source:"Recorded chain and API observations",pointer:"/vaults/eligible/1/address",block:"100320900",blockKind:"read",blockPointer:"/vaults/verifiedAtBlock",caveat:"Historical eligibility only; recheck asset and >=1e12 USDG totalAssets on every listing."},netnet:{address:"0x99347d5F70D3838763f6Bddcf80304C8aa953B57",source:"Recorded chain and API observations",pointer:"/vaults/eligible/2/address",block:"100320900",blockKind:"read",blockPointer:"/vaults/verifiedAtBlock",caveat:"Historical eligibility only; recheck asset and >=1e12 USDG totalAssets on every listing."},morphoV2Factory:{address:"0x0fbad98595b0186da120e41f77c102beb49f803c",source:"Recorded chain and API observations",pointer:"/vaults/morphoVaultV2Factory",block:null,blockKind:"latest"},longbowCore:{address:"0x026df18fbd2A7639089D0a16293383ec687A5Ca1",source:"Recorded chain and API observations",pointer:"/projects/0/deployments/0/address",block:"100355967",blockKind:"read",blockPointer:"/projects/0/deployments/0/read_block",caveat:"Below USDG threshold or wrong asset at measurement; deployment context only."},longbowFrontier:{address:"0x65dC90cd3a0BCDE967c8AE6019d6790b616E78F7",source:"Recorded chain and API observations",pointer:"/projects/0/deployments/1/address",block:"100355967",blockKind:"read",blockPointer:"/projects/0/deployments/1/read_block",caveat:"Below USDG threshold or wrong asset at measurement; deployment context only."},longbowEth:{address:"0xe129D4Cb2d454C4ACFAc909d1576453A9b835f61",source:"Recorded chain and API observations",pointer:"/projects/0/deployments/2/address",block:"100355967",blockKind:"read",blockPointer:"/projects/0/deployments/2/read_block",caveat:"Below USDG threshold or wrong asset at measurement; deployment context only."},beefyTestedLpVault:{address:"0xC447184BF75a84Ace3087515CCFFb54937838FC8",source:"Recorded chain and API observations",pointer:"/projects/1/tested_lp_vault",block:"100357163",blockKind:"fork",blockPointer:"/fork_environment/fork_block",caveat:"LP adapter only; not an eligible USDG ERC-4626 vault. Other per-vault/strategy addresses remain dynamic."},groveAlm:{address:"0xBEEff039907422219Fb367e525954DDC092854d9",source:"Recorded chain and API observations",pointer:"/projects/2/address",block:"100355967",blockKind:"read",blockPointer:"/raw_reads/longbow_grove_control/4/block",caveat:"Public Grove x Steakhouse USDG ERC-4626 vault; below $1M USDG threshold at measurement."}},identity:{identityRegistry:{address:"0x8004A169FB4a3325136EB29fA0ceB6D2e539a432",source:"Recorded chain and API observations",pointer:"/erc8004/identityRegistry",block:null,blockKind:"latest"},reputationRegistry:{address:"0x8004BAa17C55a88189AE136b182e5fdA19dE9b63",source:"Recorded chain and API observations",pointer:"/erc8004/reputationRegistry",block:null,blockKind:"latest"},validationRegistry:{address:"0x8004Cc8439f36fd5F9F049D9fF86523Df6dAAB58",source:"Recorded chain and API observations",pointer:"/erc8004/validationRegistry",block:null,blockKind:"latest"}},meridian:{PredictionMarketEscrow:{address:"0xE4cea507b19796362A5a28Fa7cb705A3F1866213",source:"Recorded chain and API observations",pointer:"/addresses/PredictionMarketEscrow/address",block:null,blockKind:"latest",caveat:"Code census not individually block-pinned; fork execution at 100370553 is separate."},SecondaryMarketEscrow:{address:"0x7E318ef37c3bC3d0cBA205Af2D1Fc9F9CeFEB5df",source:"Recorded chain and API observations",pointer:"/addresses/SecondaryMarketEscrow/address",block:null,blockKind:"latest",caveat:"Code census not individually block-pinned; fork execution at 100370553 is separate."},MeridianRobinhoodVault:{address:"0x79cB914f3F336426E89FaB55A9488AB25770552D",source:"Recorded chain and API observations",pointer:"/addresses/MeridianRobinhoodVault/address",block:null,blockKind:"latest",caveat:"Code census not individually block-pinned; fork execution at 100370553 is separate."},CollateralToken_USDe:{address:"0x5d3a1Ff2b6BAb83b63cd9AD0787074081a52ef34",source:"Recorded chain and API observations",pointer:"/addresses/CollateralToken_USDe/address",block:null,blockKind:"latest",caveat:"Code census not individually block-pinned; fork execution at 100370553 is separate."}},relay:{depository:{address:"0x4cd00e387622c35bddb9b4c962c136462338bc31",source:"Recorded chain and API observations",pointer:"/addresses/depository_4663",block:"100355691",blockKind:"fork",blockPointer:"/fork/fork_block",caveat:"Only quoted depositNative path fork-tested; bridge settlement is external and unmeasured."}},lighter:{settlement:{address:"0x94bAB9693Ba2f6358507eFfcbd372b0660AFfF9d",source:"Recorded chain and API observations",pointer:"/contracts_on_4663/lighter_rh_settlement_proxy/address",block:"100355574",blockKind:"read",blockPointer:"/block_number",caveat:"Settlement/custody metadata only; funding tool uses HTTP, not this contract."}},heyResearch:{heyToken:{address:"0xB33eb16782776b4D738c0Fd643577cb0284Db610",source:"Recorded chain and API observations",pointer:"/addresses/heyToken/address",block:null,blockKind:"unanchored",caveat:"API-only tools; source has time range but no block anchor."}}},46630:{deployments:{test_USDG:{address:"0x7E955252E15c84f5768B83c41a71F9eba181802F",source:"Recorded chain and API observations",pointer:"/code_probes/0/address",block:"144387817",blockKind:"read",blockPointer:"/code_probes/0/block",caveat:"Code presence alone does not establish a complete testnet integration."},test_WETH:{address:"0x7943e237c7F95DA44E0301572D358911207852Fa",source:"Recorded chain and API observations",pointer:"/code_probes/1/address",block:"144387817",blockKind:"read",blockPointer:"/code_probes/1/block",caveat:"Code presence alone does not establish a complete testnet integration."},test_gateway:{address:"0x77bF00A6A90c600f214b34BAFBB7918c0cF113A8",source:"Recorded chain and API observations",pointer:"/code_probes/2/address",block:"144387817",blockKind:"read",blockPointer:"/code_probes/2/block",caveat:"Code presence alone does not establish a complete testnet integration."},test_identity:{address:"0x8004A818BFB912233c491871b3d84c89A494BD9e",source:"Recorded chain and API observations",pointer:"/code_probes/3/address",block:"144387817",blockKind:"read",blockPointer:"/code_probes/3/block",caveat:"Code presence alone does not establish a complete testnet integration."},test_USDG_implementation:{address:"0xf0863d7a29a55d0c4263c11bfac754312ff078df",source:"Recorded chain and API observations",pointer:"/code_probes/15/address",block:"latest",blockKind:"latest",blockPointer:"/code_probes/15/block",caveat:"Code presence alone does not establish a complete testnet integration."},facet_0xef55bec6:{address:"0x08f560a85db40a7d4ac49b4F44f1D38e5B8aB811",source:"Recorded chain and API observations",pointer:"/code_probes/17/address",block:"latest",blockKind:"latest",blockPointer:"/code_probes/17/block",caveat:"Code presence alone does not establish a complete testnet integration."},Uniswap_v4_production_poolmanager:{address:"0x8366a39CC670B4001A1121B8F6A443A643e40951",source:"Recorded chain and API observations",pointer:"/code_probes/22/address",block:"144389821",blockKind:"read",blockPointer:"/code_probes/22/block",caveat:"Code presence alone does not establish a complete testnet integration."},Uniswap_v3_community_test_candidate:{address:"0xFECCB63CD759d768538458Ea56F47eA8004323c1",source:"Recorded chain and API observations",pointer:"/code_probes/50/address",block:"144389821",blockKind:"read",blockPointer:"/code_probes/50/block",caveat:"Community v3 is not canonically endorsed; v4 native stack is incomplete."},Uniswap_v4_PositionManager:{address:"0x58daec3116aae6D93017bAAea7749052E8a04fA7",source:"Recorded chain and API observations",pointer:"/code_probes/52/address",block:"144390120",blockKind:"read",blockPointer:"/code_probes/52/block",caveat:"Code presence alone does not establish a complete testnet integration."},Uniswap_v4_Quoter:{address:"0x8Dc178eFB8111BB0973Dd9d722ebeFF267c98F94",source:"Recorded chain and API observations",pointer:"/code_probes/54/address",block:"144390120",blockKind:"read",blockPointer:"/code_probes/54/block",caveat:"Code presence alone does not establish a complete testnet integration."},Uniswap_v4_StateView:{address:"0xF3334192D15450CdD385c8B70e03f9A6bD9E673b",source:"Recorded chain and API observations",pointer:"/code_probes/56/address",block:"144390120",blockKind:"read",blockPointer:"/code_probes/56/block",caveat:"Code presence alone does not establish a complete testnet integration."},test_Permit2:{address:"0x000000000022D473030F116dDEE9F6B43aC78BA3",source:"Recorded chain and API observations",pointer:"/code_probes/77/address",block:"latest",blockKind:"latest",blockPointer:"/code_probes/77/block",caveat:"Code presence alone does not establish a complete testnet integration."},v3_test_WETH9:{address:"0x37E402B8081eFcE1D82A09a066512278006e4691",source:"Recorded chain and API observations",pointer:"/code_probes/78/address",block:"latest",blockKind:"latest",blockPointer:"/code_probes/78/block",caveat:"Community v3 is not canonically endorsed; v4 native stack is incomplete."}}}},t=o[4663].tokens.USDG.address,i=o[46630].deployments.test_USDG.address,_=o[4663].pons.factory.address,R=o[4663].pons.memeHook.address,F=o[4663].pons.poolManager.address,x=o[4663].pons.feeEscrow.address,C=o[4663].oracle.ethUsdgPool.address,l={name:"Global Dollar",version:"1",chainId:s,verifyingContract:t},b={name:"Global Dollar",version:"1",chainId:a,verifyingContract:i},d={mainnet:{chainId:s,usdg:t,usdgDomain:l,weth:o[s].tokens.WETH.address,identityRegistry:o[s].identity.identityRegistry.address},testnet:{chainId:a,usdg:i,usdgDomain:b,weth:o[a].deployments.test_WETH.address,identityRegistry:o[a].deployments.test_identity.address}};function m(e="mainnet"){if(e!=="mainnet"&&e!=="testnet")throw new r("Set OAK_NETWORK to mainnet or testnet.");return e}function E(e,c){if(c.toLowerCase()!==d[e].usdg.toLowerCase())throw new r(`USDG does not match the pinned ${e} deployment on chain ${d[e].chainId}.`)}async function B(e,c){let n=await c.getChainId();if(n!==d[e].chainId)throw new r(`RPC chain ${n} does not match OAK_NETWORK ${e} (chain ${d[e].chainId}).`)}var g={4663:{kyberswap:"0xe21fd0e9",velora:"0xe3ead59e"}},k={4663:{kyberswap:{address:"0x8F10B468b06c6FD214B65F87778827F7D113f996",source:"https://raw.githubusercontent.com/KyberNetwork/kyberswap-documentation/main/developer-guide/aggregator-api/contracts.md",pointer:"Robinhood / AggregationExecutorProxy",block:"100861304",blockKind:"read",caveat:"Corroborated by successful transaction 0x4a2474960f846f412d4d1cbdebb86727c81f92a0859ad743425fdc544d8973e8; approveTarget is zero."},velora:{address:"0x006d0e0d006109f0020f3050000a713780b7b000",source:"https://rpc.mainnet.chain.robinhood.com",pointer:"eth_getTransactionByHash / 0x70bc411f8427d622798ff82e6088d6cf3c011ae04b063c731664215f982ecfba / input / executor",block:"100861280",blockKind:"read",caveat:"Observed v6.2 executor, corroborated by six fresh Velora builds on 2026-10-29; no vendor executor list for 4663. Inner route targets vary; this pin does not authenticate them."}}},D=BigInt("0x45a6e007c874ffc6321d6fb90eac272dd6864bfa")<<96n|1n<<92n|1n,I=[k[4663].velora.address,"0x082738d007001080a00099a000004f3006152085"];export{s as a,a as b,p as c,f as d,A as e,h as f,v as g,P as h,o as i,t as j,i as k,_ as l,R as m,F as n,x as o,C as p,l as q,b as r,d as s,m as t,E as u,B as v,g as w,k as x,D as y,I as z};
@@ -0,0 +1 @@
1
+ import{getAddress as t}from"viem";var e=[{name:"CARD_TARGET_USD_WAD",type:"function",inputs:[],outputs:[{name:"",type:"uint256"}],stateMutability:"view"},{name:"MAX_CONVERT_DEV_BPS",type:"function",inputs:[],outputs:[{name:"",type:"uint256"}],stateMutability:"view"},{name:"allSalesHalted",type:"function",inputs:[],outputs:[{name:"",type:"bool"}],stateMutability:"view"},{name:"asset0",type:"function",inputs:[],outputs:[{name:"",type:"address"}],stateMutability:"view"},{name:"asset1",type:"function",inputs:[],outputs:[{name:"",type:"address"}],stateMutability:"view"},{name:"asset2",type:"function",inputs:[],outputs:[{name:"",type:"address"}],stateMutability:"view"},{name:"balanceOf",type:"function",inputs:[{name:"",type:"address"},{name:"",type:"uint256"}],outputs:[{name:"",type:"uint256"}],stateMutability:"view"},{name:"balanceOfBatch",type:"function",inputs:[{name:"owners",type:"address[]"},{name:"ids",type:"uint256[]"}],outputs:[{name:"balances",type:"uint256[]"}],stateMutability:"view"},{name:"basisOf",type:"function",inputs:[{name:"seriesId",type:"uint256"},{name:"wallet",type:"address"}],outputs:[{name:"costUsdgRaw",type:"uint256"},{name:"count",type:"uint256"}],stateMutability:"view"},{name:"bookOf",type:"function",inputs:[{name:"asset",type:"address"}],outputs:[{name:"",type:"tuple",components:[{name:"potUnits",type:"uint256"},{name:"reservedUnits",type:"uint256"},{name:"putPotUsdg",type:"uint256"},{name:"putReservedUsdg",type:"uint256"},{name:"premiumUsdg",type:"uint256"},{name:"feeManagerTok",type:"uint256"},{name:"feeSleeveTok",type:"uint256"}]}],stateMutability:"view"},{name:"buy",type:"function",inputs:[{name:"seriesId",type:"uint256"},{name:"count",type:"uint256"},{name:"maxPriceUsdg",type:"uint256"}],outputs:[{name:"paidUsdgRaw",type:"uint256"}],stateMutability:"nonpayable"},{name:"cashOut",type:"function",inputs:[{name:"seriesId",type:"uint256"},{name:"count",type:"uint256"},{name:"minOut",type:"uint256"}],outputs:[{name:"paidOut",type:"uint256"}],stateMutability:"nonpayable"},{name:"claimExpiry",type:"function",inputs:[{name:"seriesId",type:"uint256"},{name:"count",type:"uint256"}],outputs:[{name:"paidOut",type:"uint256"}],stateMutability:"nonpayable"},{name:"clearKnock",type:"function",inputs:[{name:"seriesId",type:"uint256"}],outputs:[],stateMutability:"nonpayable"},{name:"convertPremiums",type:"function",inputs:[{name:"asset",type:"address"},{name:"minTokensOut",type:"uint256"},{name:"swapCalldata",type:"bytes"}],outputs:[{name:"tokensOut",type:"uint256"}],stateMutability:"nonpayable"},{name:"convertSleeveFees",type:"function",inputs:[{name:"asset",type:"address"},{name:"minTokensOut",type:"uint256"},{name:"swapCalldata",type:"bytes"}],outputs:[{name:"tokensOut",type:"uint256"}],stateMutability:"nonpayable"},{name:"createSeries",type:"function",inputs:[{name:"asset",type:"address"},{name:"side",type:"uint8"},{name:"strikeWad",type:"uint256"},{name:"unitsPerCard",type:"uint256"},{name:"expiry",type:"uint64"},{name:"maxCards",type:"uint32"}],outputs:[{name:"seriesId",type:"uint256"}],stateMutability:"nonpayable"},{name:"depositHouse",type:"function",inputs:[{name:"asset",type:"address"},{name:"amount",type:"uint256"}],outputs:[],stateMutability:"nonpayable"},{name:"depositPutPot",type:"function",inputs:[{name:"asset",type:"address"},{name:"usdgRaw",type:"uint256"}],outputs:[],stateMutability:"nonpayable"},{name:"feedAdapter",type:"function",inputs:[],outputs:[{name:"",type:"address"}],stateMutability:"view"},{name:"haltSales",type:"function",inputs:[{name:"seriesId",type:"uint256"}],outputs:[],stateMutability:"nonpayable"},{name:"halter",type:"function",inputs:[],outputs:[{name:"",type:"address"}],stateMutability:"view"},{name:"isApprovedForAll",type:"function",inputs:[{name:"",type:"address"},{name:"",type:"address"}],outputs:[{name:"",type:"bool"}],stateMutability:"view"},{name:"liquidate",type:"function",inputs:[{name:"seriesId",type:"uint256"},{name:"roundId",type:"uint80"}],outputs:[],stateMutability:"nonpayable"},{name:"liquidateKnock",type:"function",inputs:[{name:"seriesId",type:"uint256"}],outputs:[],stateMutability:"nonpayable"},{name:"manager",type:"function",inputs:[],outputs:[{name:"",type:"address"}],stateMutability:"view"},{name:"markAge",type:"function",inputs:[{name:"asset",type:"address"}],outputs:[{name:"",type:"uint256"}],stateMutability:"view"},{name:"markVoid",type:"function",inputs:[{name:"seriesId",type:"uint256"}],outputs:[],stateMutability:"nonpayable"},{name:"offHoursWindowLeft",type:"function",inputs:[{name:"seriesId",type:"uint256"}],outputs:[{name:"",type:"uint256"}],stateMutability:"view"},{name:"quoteBuy",type:"function",inputs:[{name:"seriesId",type:"uint256"},{name:"count",type:"uint256"}],outputs:[{name:"totalUsdgRaw",type:"uint256"},{name:"rung",type:"uint8"},{name:"markWad",type:"uint256"}],stateMutability:"view"},{name:"quoteCashOut",type:"function",inputs:[{name:"seriesId",type:"uint256"},{name:"count",type:"uint256"},{name:"holder",type:"address"}],outputs:[{name:"netOut",type:"uint256"},{name:"perfFee",type:"uint256"},{name:"rung",type:"uint8"},{name:"markWad",type:"uint256"}],stateMutability:"view"},{name:"recordDrift",type:"function",inputs:[{name:"seriesId",type:"uint256"}],outputs:[],stateMutability:"nonpayable"},{name:"recordKnock",type:"function",inputs:[{name:"seriesId",type:"uint256"}],outputs:[],stateMutability:"nonpayable"},{name:"refund",type:"function",inputs:[{name:"seriesId",type:"uint256"},{name:"count",type:"uint256"}],outputs:[{name:"refunded",type:"uint256"}],stateMutability:"nonpayable"},{name:"resumeSales",type:"function",inputs:[{name:"seriesId",type:"uint256"}],outputs:[],stateMutability:"nonpayable"},{name:"routerSource",type:"function",inputs:[],outputs:[{name:"",type:"address"}],stateMutability:"view"},{name:"rung2Available",type:"function",inputs:[{name:"asset",type:"address"}],outputs:[{name:"ok",type:"bool"},{name:"twapWad",type:"uint256"}],stateMutability:"view"},{name:"safeBatchTransferFrom",type:"function",inputs:[{name:"from",type:"address"},{name:"to",type:"address"},{name:"ids",type:"uint256[]"},{name:"amounts",type:"uint256[]"},{name:"data",type:"bytes"}],outputs:[],stateMutability:"nonpayable"},{name:"safeTransferFrom",type:"function",inputs:[{name:"from",type:"address"},{name:"to",type:"address"},{name:"id",type:"uint256"},{name:"amount",type:"uint256"},{name:"data",type:"bytes"}],outputs:[],stateMutability:"nonpayable"},{name:"seriesCount",type:"function",inputs:[],outputs:[{name:"",type:"uint256"}],stateMutability:"view"},{name:"seriesLive",type:"function",inputs:[{name:"seriesId",type:"uint256"}],outputs:[{name:"rung",type:"uint8"},{name:"markWad",type:"uint256"},{name:"haircutBps",type:"uint256"},{name:"effLeverageWad",type:"uint256"},{name:"distanceBps",type:"uint256"}],stateMutability:"view"},{name:"seriesOf",type:"function",inputs:[{name:"seriesId",type:"uint256"}],outputs:[{name:"",type:"tuple",components:[{name:"asset",type:"address"},{name:"side",type:"uint8"},{name:"state",type:"uint8"},{name:"salesHalted",type:"bool"},{name:"expiry",type:"uint64"},{name:"createdAt",type:"uint64"},{name:"maxCards",type:"uint32"},{name:"sold",type:"uint32"},{name:"outstanding",type:"uint32"},{name:"strikeWad",type:"uint256"},{name:"unitsPerCard",type:"uint256"},{name:"baseUiMultiplier",type:"uint256"},{name:"listLeverageWad",type:"uint256"},{name:"premiumUsdgRaw",type:"uint256"},{name:"settleMarkWad",type:"uint256"},{name:"settlePerCard",type:"uint256"},{name:"liqRoundId",type:"uint80"},{name:"settleRoundId",type:"uint80"},{name:"knockCheckpointAt",type:"uint64"},{name:"driftOnsetAt",type:"uint64"},{name:"offHoursWindowId",type:"uint80"},{name:"soldInWindow",type:"uint32"},{name:"windowCapCards",type:"uint32"}]}],stateMutability:"view"},{name:"servingRung",type:"function",inputs:[{name:"asset",type:"address"}],outputs:[{name:"rung",type:"uint8"},{name:"markWad",type:"uint256"}],stateMutability:"view"},{name:"setApprovalForAll",type:"function",inputs:[{name:"operator",type:"address"},{name:"approved",type:"bool"}],outputs:[],stateMutability:"nonpayable"},{name:"settle",type:"function",inputs:[{name:"seriesId",type:"uint256"},{name:"roundId",type:"uint80"}],outputs:[],stateMutability:"nonpayable"},{name:"skim",type:"function",inputs:[{name:"token",type:"address"}],outputs:[],stateMutability:"nonpayable"},{name:"sleeve",type:"function",inputs:[],outputs:[{name:"",type:"address"}],stateMutability:"view"},{name:"supportsInterface",type:"function",inputs:[{name:"interfaceId",type:"bytes4"}],outputs:[{name:"",type:"bool"}],stateMutability:"pure"},{name:"sweepFees",type:"function",inputs:[],outputs:[],stateMutability:"nonpayable"},{name:"unrealizedProfitUsdWad",type:"function",inputs:[{name:"seriesId",type:"uint256"},{name:"wallet",type:"address"}],outputs:[{name:"",type:"int256"}],stateMutability:"view"},{name:"uri",type:"function",inputs:[{name:"id",type:"uint256"}],outputs:[{name:"",type:"string"}],stateMutability:"view"},{name:"usdg",type:"function",inputs:[],outputs:[{name:"",type:"address"}],stateMutability:"view"},{name:"usdgFees",type:"function",inputs:[],outputs:[{name:"",type:"tuple",components:[{name:"feeManager",type:"uint256"},{name:"feeSleeve",type:"uint256"}]}],stateMutability:"view"},{name:"withdrawHouse",type:"function",inputs:[{name:"asset",type:"address"},{name:"amount",type:"uint256"}],outputs:[],stateMutability:"nonpayable"},{name:"withdrawPutPot",type:"function",inputs:[{name:"asset",type:"address"},{name:"usdgRaw",type:"uint256"}],outputs:[],stateMutability:"nonpayable"}],n=[{name:"BASE_FLOAT_CHIPS",type:"function",inputs:[],outputs:[{name:"",type:"uint256"}],stateMutability:"view"},{name:"CONVERSION_MAX_FEED_AGE",type:"function",inputs:[],outputs:[{name:"",type:"uint256"}],stateMutability:"view"},{name:"DOMAIN_SEPARATOR",type:"function",inputs:[],outputs:[{name:"",type:"bytes32"}],stateMutability:"view"},{name:"MAX_CONVERT_DEV_BPS",type:"function",inputs:[],outputs:[{name:"",type:"uint256"}],stateMutability:"view"},{name:"MIN_OPERATING_USDG",type:"function",inputs:[],outputs:[{name:"",type:"uint256"}],stateMutability:"view"},{name:"SEAT_OPEN_TYPEHASH",type:"function",inputs:[],outputs:[{name:"",type:"bytes32"}],stateMutability:"view"},{name:"SHOE_COMMIT_TYPEHASH",type:"function",inputs:[],outputs:[{name:"",type:"bytes32"}],stateMutability:"view"},{name:"STATE_TYPEHASH",type:"function",inputs:[],outputs:[{name:"",type:"bytes32"}],stateMutability:"view"},{name:"bandAlarm",type:"function",inputs:[],outputs:[{name:"tripped",type:"bool"},{name:"reserved",type:"uint256"},{name:"ceiling",type:"uint256"}],stateMutability:"view"},{name:"cards",type:"function",inputs:[],outputs:[{name:"",type:"address"}],stateMutability:"view"},{name:"challenge",type:"function",inputs:[{name:"state",type:"tuple",components:[{name:"sessionId",type:"uint256"},{name:"nonce",type:"uint64"},{name:"chips",type:"uint128"},{name:"staked",type:"uint128"},{name:"shoeCursor",type:"uint16"},{name:"logHash",type:"bytes32"},{name:"isFinal",type:"bool"}]},{name:"houseSig",type:"bytes"},{name:"playerSig",type:"bytes"}],outputs:[],stateMutability:"nonpayable"},{name:"claimUnclaimedChips",type:"function",inputs:[{name:"seriesId",type:"uint256"}],outputs:[],stateMutability:"nonpayable"},{name:"closeCooperative",type:"function",inputs:[{name:"state",type:"tuple",components:[{name:"sessionId",type:"uint256"},{name:"nonce",type:"uint64"},{name:"chips",type:"uint128"},{name:"staked",type:"uint128"},{name:"shoeCursor",type:"uint16"},{name:"logHash",type:"bytes32"},{name:"isFinal",type:"bool"}]},{name:"houseSig",type:"bytes"},{name:"playerSig",type:"bytes"}],outputs:[],stateMutability:"nonpayable"},{name:"closeUnilateral",type:"function",inputs:[{name:"state",type:"tuple",components:[{name:"sessionId",type:"uint256"},{name:"nonce",type:"uint64"},{name:"chips",type:"uint128"},{name:"staked",type:"uint128"},{name:"shoeCursor",type:"uint16"},{name:"logHash",type:"bytes32"},{name:"isFinal",type:"bool"}]},{name:"houseSig",type:"bytes"},{name:"playerSig",type:"bytes"}],outputs:[],stateMutability:"nonpayable"},{name:"commitShoe",type:"function",inputs:[{name:"sessionId",type:"uint256"},{name:"shoeIndex",type:"uint32"},{name:"houseCommit",type:"bytes32"},{name:"clientEntropy",type:"bytes32"},{name:"round",type:"uint64"},{name:"houseSig",type:"bytes"}],outputs:[],stateMutability:"nonpayable"},{name:"convertProceeds",type:"function",inputs:[{name:"minUsdgOut",type:"uint256"},{name:"swapCalldata",type:"bytes"}],outputs:[{name:"usdgOut",type:"uint256"}],stateMutability:"nonpayable"},{name:"coverageOk",type:"function",inputs:[],outputs:[{name:"",type:"bool"}],stateMutability:"view"},{name:"depositHouseUsdg",type:"function",inputs:[{name:"amount",type:"uint256"}],outputs:[],stateMutability:"nonpayable"},{name:"escrowedChips",type:"function",inputs:[],outputs:[{name:"",type:"uint256"}],stateMutability:"view"},{name:"expireSession",type:"function",inputs:[{name:"sessionId",type:"uint256"}],outputs:[],stateMutability:"nonpayable"},{name:"feedAdapter",type:"function",inputs:[],outputs:[{name:"",type:"address"}],stateMutability:"view"},{name:"finalize",type:"function",inputs:[{name:"sessionId",type:"uint256"}],outputs:[],stateMutability:"nonpayable"},{name:"floatBand",type:"function",inputs:[],outputs:[{name:"low",type:"uint256"},{name:"high",type:"uint256"}],stateMutability:"view"},{name:"floatBuy",type:"function",inputs:[{name:"count",type:"uint256"},{name:"maxUsdgSpend",type:"uint256"}],outputs:[{name:"usdgSpent",type:"uint256"}],stateMutability:"nonpayable"},{name:"floatChips",type:"function",inputs:[],outputs:[{name:"",type:"uint256"}],stateMutability:"view"},{name:"floatSell",type:"function",inputs:[{name:"count",type:"uint256"},{name:"minUnitsOut",type:"uint256"}],outputs:[{name:"unitsOut",type:"uint256"}],stateMutability:"nonpayable"},{name:"freeHouseUsdg",type:"function",inputs:[],outputs:[{name:"",type:"uint256"}],stateMutability:"view"},{name:"halt",type:"function",inputs:[],outputs:[],stateMutability:"nonpayable"},{name:"halted",type:"function",inputs:[],outputs:[{name:"",type:"bool"}],stateMutability:"view"},{name:"halter",type:"function",inputs:[],outputs:[{name:"",type:"address"}],stateMutability:"view"},{name:"houseSigners",type:"function",inputs:[{name:"",type:"address"}],outputs:[{name:"",type:"bool"}],stateMutability:"view"},{name:"houseUsdg",type:"function",inputs:[],outputs:[{name:"",type:"uint256"}],stateMutability:"view"},{name:"manager",type:"function",inputs:[],outputs:[{name:"",type:"address"}],stateMutability:"view"},{name:"maxBet",type:"function",inputs:[{name:"sessionId",type:"uint256"}],outputs:[{name:"",type:"uint256"}],stateMutability:"view"},{name:"nextSessionId",type:"function",inputs:[],outputs:[{name:"",type:"uint256"}],stateMutability:"view"},{name:"onERC1155BatchReceived",type:"function",inputs:[{name:"",type:"address"},{name:"",type:"address"},{name:"",type:"uint256[]"},{name:"",type:"uint256[]"},{name:"",type:"bytes"}],outputs:[{name:"",type:"bytes4"}],stateMutability:"pure"},{name:"onERC1155Received",type:"function",inputs:[{name:"",type:"address"},{name:"from",type:"address"},{name:"id",type:"uint256"},{name:"value",type:"uint256"},{name:"data",type:"bytes"}],outputs:[{name:"",type:"bytes4"}],stateMutability:"nonpayable"},{name:"openSessionOf",type:"function",inputs:[{name:"",type:"address"}],outputs:[{name:"",type:"uint256"}],stateMutability:"view"},{name:"openSessions",type:"function",inputs:[],outputs:[{name:"",type:"uint256"}],stateMutability:"view"},{name:"proceedsUnits",type:"function",inputs:[],outputs:[{name:"",type:"uint256"}],stateMutability:"view"},{name:"rakeChipsHeld",type:"function",inputs:[],outputs:[{name:"",type:"uint256"}],stateMutability:"view"},{name:"rakeHalvesManager",type:"function",inputs:[],outputs:[{name:"",type:"uint256"}],stateMutability:"view"},{name:"rakeHalvesSleeve",type:"function",inputs:[],outputs:[{name:"",type:"uint256"}],stateMutability:"view"},{name:"rebalanceTarget",type:"function",inputs:[],outputs:[{name:"",type:"uint256"}],stateMutability:"view"},{name:"recordState",type:"function",inputs:[{name:"state",type:"tuple",components:[{name:"sessionId",type:"uint256"},{name:"nonce",type:"uint64"},{name:"chips",type:"uint128"},{name:"staked",type:"uint128"},{name:"shoeCursor",type:"uint16"},{name:"logHash",type:"bytes32"},{name:"isFinal",type:"bool"}]},{name:"houseSig",type:"bytes"},{name:"playerSig",type:"bytes"}],outputs:[],stateMutability:"nonpayable"},{name:"reservedChips",type:"function",inputs:[],outputs:[{name:"",type:"uint256"}],stateMutability:"view"},{name:"revealShoe",type:"function",inputs:[{name:"sessionId",type:"uint256"},{name:"shoeIndex",type:"uint32"},{name:"houseSecret",type:"bytes32"}],outputs:[],stateMutability:"nonpayable"},{name:"routerSource",type:"function",inputs:[],outputs:[{name:"",type:"address"}],stateMutability:"view"},{name:"seatOpenDigest",type:"function",inputs:[{name:"player",type:"address"},{name:"sessionKey",type:"address"},{name:"houseCommit",type:"bytes32"},{name:"clientEntropy",type:"bytes32"},{name:"round",type:"uint64"}],outputs:[{name:"",type:"bytes32"}],stateMutability:"view"},{name:"seatTicketUsed",type:"function",inputs:[{name:"",type:"bytes32"}],outputs:[{name:"",type:"bool"}],stateMutability:"view"},{name:"sessionOf",type:"function",inputs:[{name:"sessionId",type:"uint256"}],outputs:[{name:"",type:"tuple",components:[{name:"player",type:"address"},{name:"openedAt",type:"uint64"},{name:"state",type:"uint8"},{name:"sessionKey",type:"address"},{name:"deadline",type:"uint64"},{name:"shoeCount",type:"uint32"},{name:"houseSigner",type:"address"},{name:"closeAt",type:"uint64"},{name:"nonce",type:"uint64"},{name:"chips",type:"uint128"},{name:"cap",type:"uint128"},{name:"staked",type:"uint128"},{name:"deposited",type:"uint128"}]}],stateMutability:"view"},{name:"setHalt",type:"function",inputs:[{name:"halted_",type:"bool"}],outputs:[],stateMutability:"nonpayable"},{name:"setHouseSigner",type:"function",inputs:[{name:"signer",type:"address"},{name:"allowed",type:"bool"}],outputs:[],stateMutability:"nonpayable"},{name:"setTableSeries",type:"function",inputs:[{name:"seriesId",type:"uint256"}],outputs:[],stateMutability:"nonpayable"},{name:"shoeCommitDigest",type:"function",inputs:[{name:"sessionId",type:"uint256"},{name:"shoeIndex",type:"uint32"},{name:"houseCommit",type:"bytes32"},{name:"clientEntropy",type:"bytes32"},{name:"round",type:"uint64"}],outputs:[{name:"",type:"bytes32"}],stateMutability:"view"},{name:"shoeOf",type:"function",inputs:[{name:"sessionId",type:"uint256"},{name:"shoeIndex",type:"uint32"}],outputs:[{name:"",type:"tuple",components:[{name:"houseCommit",type:"bytes32"},{name:"clientEntropy",type:"bytes32"},{name:"round",type:"uint64"},{name:"committedAt",type:"uint64"},{name:"revealedSecret",type:"bytes32"}]}],stateMutability:"view"},{name:"sigRegistry",type:"function",inputs:[],outputs:[{name:"",type:"address"}],stateMutability:"view"},{name:"skim",type:"function",inputs:[{name:"token",type:"address"}],outputs:[],stateMutability:"nonpayable"},{name:"sleeve",type:"function",inputs:[],outputs:[{name:"",type:"address"}],stateMutability:"view"},{name:"stateDigest",type:"function",inputs:[{name:"state",type:"tuple",components:[{name:"sessionId",type:"uint256"},{name:"nonce",type:"uint64"},{name:"chips",type:"uint128"},{name:"staked",type:"uint128"},{name:"shoeCursor",type:"uint16"},{name:"logHash",type:"bytes32"},{name:"isFinal",type:"bool"}]}],outputs:[{name:"",type:"bytes32"}],stateMutability:"view"},{name:"sweepFees",type:"function",inputs:[],outputs:[],stateMutability:"nonpayable"},{name:"tableOpen",type:"function",inputs:[],outputs:[{name:"",type:"bool"}],stateMutability:"view"},{name:"tableSeries",type:"function",inputs:[],outputs:[{name:"",type:"uint256"}],stateMutability:"view"},{name:"tableStrikeWad",type:"function",inputs:[],outputs:[{name:"",type:"uint256"}],stateMutability:"view"},{name:"tableUnitsPerCard",type:"function",inputs:[],outputs:[{name:"",type:"uint256"}],stateMutability:"view"},{name:"totalCapChips",type:"function",inputs:[],outputs:[{name:"",type:"uint256"}],stateMutability:"view"},{name:"totalCoverageChips",type:"function",inputs:[],outputs:[{name:"",type:"uint256"}],stateMutability:"view"},{name:"turbo",type:"function",inputs:[],outputs:[{name:"",type:"address"}],stateMutability:"view"},{name:"unclaimedChips",type:"function",inputs:[{name:"",type:"uint256"},{name:"",type:"address"}],outputs:[{name:"",type:"uint256"}],stateMutability:"view"},{name:"unclaimedTotal",type:"function",inputs:[],outputs:[{name:"",type:"uint256"}],stateMutability:"view"},{name:"unclaimedTotalOf",type:"function",inputs:[{name:"",type:"uint256"}],outputs:[{name:"",type:"uint256"}],stateMutability:"view"},{name:"underlying",type:"function",inputs:[],outputs:[{name:"",type:"address"}],stateMutability:"view"},{name:"underlyingFeed",type:"function",inputs:[],outputs:[{name:"",type:"address"}],stateMutability:"view"},{name:"usdg",type:"function",inputs:[],outputs:[{name:"",type:"address"}],stateMutability:"view"},{name:"withdrawHouseCards",type:"function",inputs:[{name:"seriesId",type:"uint256"},{name:"count",type:"uint256"}],outputs:[],stateMutability:"nonpayable"},{name:"withdrawHouseUsdg",type:"function",inputs:[{name:"amount",type:"uint256"}],outputs:[],stateMutability:"nonpayable"},{name:"writeOffUnclaimed",type:"function",inputs:[{name:"seriesId",type:"uint256"},{name:"player",type:"address"}],outputs:[],stateMutability:"nonpayable"}],a=[{name:"priceWad",type:"function",inputs:[{name:"feed",type:"address"},{name:"token",type:"address"}],outputs:[{name:"",type:"uint256"}],stateMutability:"view"},{name:"sessionOpen",type:"function",inputs:[{name:"timestamp",type:"uint256"}],outputs:[{name:"",type:"bool"}],stateMutability:"pure"}],u={turbo:{address:t("0x757122439420900ca44A80c390d586011FD72C8a"),codeHash:"0x8d985a093656b2491685ee8492f0470c28f775c9cb41ee8465d9e8db83387a4a",abi:e},blackjack:{address:t("0x712F52Fd42D7b89fd444e0cc4430020fAA9cfb26"),codeHash:"0x3512523f146b85bfbfadec1d8f6c62b4db79f0beada1e9edb3be3ea36f22f0fd",abi:n},feed:{address:t("0x115E5779Ce2f7BC265EAAbcAcaf7b06f01d5D471"),codeHash:"0x2dea1da93cb5cc3312cb21f2bd7cfe849a937ae136cae85ce40b9099f4fe2504",abi:a}},s={turbo:{address:"0x48acba9933ac953e0428fe7fe7e3ac242ae0dd8a",codeHash:"0x2983e8c9febc3c34eb67139ca9c5e312eddada141727610082b5ff398f66e89d"},blackjack:{address:"0xf2d7268d753bb48d784c93d944ce1279957d8510",codeHash:"0x72e140956074a08ea8812bbc4bf6ac808e5b7761a3e9a5d38f6995711b97fc76"}};export{e as a,n as b,a as c,u as d,s as e};
@@ -0,0 +1 @@
1
+ import{a as S}from"./6IM6A5VA.js";import{a as N}from"./RETS2ZEK.js";import{a,j as p}from"./XPFVT2EA.js";import{a as t}from"./5YS5V2LK.js";import{encodeFunctionData as $,erc20Abi as U,getAddress as m,parseAbi as _}from"viem";var f=_(["function asset() view returns (address)","function decimals() view returns (uint8)","function previewMint(uint256) view returns (uint256)","function previewRedeem(uint256) view returns (uint256)","function previewWithdraw(uint256) view returns (uint256)","function mint(uint256 shares,address receiver) returns (uint256)","function redeem(uint256 shares,address receiver,address owner) returns (uint256)","function withdraw(uint256 assets,address receiver,address owner) returns (uint256)"]);function M(e){if(typeof e!="string")throw new t("Amount must be a positive base-unit integer string.");let s=N(e);if(s<=0n||s>=1n<<256n)throw new t("Amount must be positive and fit uint256.");return s}function G(e){if(typeof e!="bigint"||e<0n||e>=1n<<256n)throw new t("Invalid vault amount read.");return e}function H(e,s,o){return["mint",s==="steakhouse"?"redeem":"withdraw_assets"].map(l=>{let n=l==="mint",w=l==="redeem",h=n||w?"shares":"amount",C={type:"string",pattern:"^[0-9]+$"};return{name:`${s}_${l}`,inputSchema:{type:"object",additionalProperties:!1,required:n?["shares","maxAssets"]:[h],properties:{[h]:C,...n?{maxAssets:C}:{}}},execute:async(y,r)=>{try{if(S(r),Object.keys(y).some(b=>![h,...n?["maxAssets"]:[]].includes(b)))throw new t("Unexpected vault amount argument.");let i=M(y[h]),E=n?M(y.maxAssets):void 0,u=e.clientFor(a);if(await u.getChainId()!==a)throw new t("Vault amount actions require chain 4663.");let[T,O,P]=await Promise.all([u.readContract({address:o,abi:f,functionName:"asset"}),u.readContract({address:o,abi:f,functionName:"decimals"}),u.readContract({address:m(p),abi:U,functionName:"decimals"})]);if(typeof T!="string"||m(T)!==m(p)||O!==18||P!==6)throw new t("Vault amount actions require canonical USDG and the evidenced 18-decimal shares.");let c=G(await u.readContract({address:o,abi:f,functionName:n?"previewMint":w?"previewRedeem":"previewWithdraw",args:[i]}));if(c===0n)throw new t("The vault returned a zero amount quote.");if(n&&c>E)throw new t("The mint quote exceeds maxAssets.");let D=n?void 0:G(await u.readContract({address:o,abi:U,functionName:"balanceOf",args:[r]}));if(!n&&(w?i:c)>D)throw new t("The wallet share balance cannot cover this exit.");let R=n?$({abi:f,functionName:"mint",args:[i,r]}):w?$({abi:f,functionName:"redeem",args:[i,r,r]}):$({abi:f,functionName:"withdraw",args:[i,r,r]}),I=`${l} ${i} ${h==="shares"?"18-decimal share":"6-decimal USDG"} base units from ${s}; beneficiary ${r}.`,k=[...n?[e.approval(m(p),o,c.toString(),a)]:[],e.unsignedTx({to:o,data:R,value:"0",chainId:a,description:I})],x=await e.preview(k,r),A={address:m(p),chainId:a,symbol:"USDG",decimals:6},v={address:m(o),chainId:a,symbol:`${s} shares`,decimals:18},d=b=>x.changes.filter(g=>g.token.chainId===a&&g.token.address.toLowerCase()===b.address.toLowerCase()).reduce((g,q)=>{if(q.token.decimals!==b.decimals||!/^-?\d+$/.test(q.amount))throw new t("Invalid vault preview metadata.");return g+BigInt(q.amount)},0n);if(n?d(A)!==-c||d(v)!==i:w?d(v)!==-i||d(A)<=0n:d(A)!==i||-d(v)<=0n||-d(v)>D)throw new t("The preview does not match the requested vault amount and share balance.");return{txs:k,preview:x,summary:`${I} Quoted counterpart ${c} base units. ${x.summary} Standard ERC-4626 encodes no receipt minimum. Mint approvals use the exact current quote; accrual can require a new quote. Plain exits depend on available liquidity; use a separately previewed full force exit if required.`}}catch(i){throw new t(e.plainError(i))}}}})}export{H as a};
@@ -0,0 +1 @@
1
+ import{f as s,g as u,k as v}from"./C3TJLARP.js";import{a as y}from"./5YS5V2LK.js";var k=["L2Book","Ticker","TradeFill","SubaccountLiquidation","PositionUpdate","OrderUpdate","OrderFill","TokenTransfer"],A=p=>({tools:[{name:"meridian_perps_stream",inputSchema:{type:"object",additionalProperties:!1,required:["stream"],description:"Read a bounded sample of an official perps WebSocket stream, then close. Empty timed-out samples do not prove no activity. L2Book starts with up to 100 levels per side, followed by deltas.",properties:{stream:{type:"string",enum:k},symbol:{type:"string",pattern:"^[A-Za-z0-9]{1,32}$"},subaccountId:{type:"string",format:"uuid"},maxEvents:{type:"integer",minimum:1,maximum:20,default:1},timeoutSeconds:{type:"integer",minimum:1,maximum:30,default:10}}},execute:async e=>{try{p.network==="testnet"&&s("Meridian perps streams require mainnet."),(Object.keys(e).some(c=>!["stream","symbol","subaccountId","maxEvents","timeoutSeconds"].includes(c))||!k.includes(e.stream))&&s("Choose a Meridian perps stream from the schema.");let i=["L2Book","Ticker","TradeFill"].includes(String(e.stream)),M=i?{type:e.stream,symbol:e.symbol}:{type:e.stream,subaccountId:v(e.subaccountId)};(i?e.subaccountId!==void 0||typeof e.symbol!="string"||!/^[A-Za-z0-9]{1,32}$/.test(e.symbol):e.symbol!==void 0)&&s("Market streams need symbol only; account streams need subaccountId only.");let o=e.maxEvents??1,d=e.timeoutSeconds??10;return(typeof o!="number"||!Number.isInteger(o)||o<1||o>20||typeof d!="number"||!Number.isInteger(d)||d<1||d>30)&&s("Choose 1\u201320 events and a timeout of 1\u201330 seconds."),await new Promise((c,S)=>{let n=new globalThis.WebSocket("wss://ws.meridian.xyz/v1/stream"),l=[],h=!1,f=!1,b,m=(a,r=!1)=>{if(!f){f=!0,clearTimeout(I);try{n.readyState<2&&n.close()}catch{}a?S(new y(a)):c({chainId:4663,stream:e.stream,events:l,timedOut:r,scope:"Bounded event sample; no durable subscription or complete history. L2Book events after the first are absolute-quantity deltas; zero removes a level."})}},I=setTimeout(()=>m(h?void 0:"Meridian perps stream did not connect.",!0),d*1e3);n.addEventListener("open",()=>{h=!0,n.send(JSON.stringify({event:"subscribe",data:M}))}),n.addEventListener("error",()=>m("Meridian perps stream is unavailable; retry or inspect the HTTP history.")),n.addEventListener("close",()=>m("Meridian perps stream closed before the requested sample completed.")),n.addEventListener("message",a=>{if(!f)try{(typeof a.data!="string"||a.data.length>262144)&&s("Meridian perps stream returned an oversized or invalid message.");let r=u(JSON.parse(a.data));if(r.ok===!1&&s("Meridian perps stream rejected the subscription. Verify the symbol, subaccount and subscription limits."),r.e==="pong"||r.ok===!0&&r.e===void 0)return;(r.e!==e.stream||typeof r.t!="number"||!Number.isSafeInteger(r.t))&&s("Meridian perps stream returned a different or invalid event.");let t=u(r.data);if(i&&t.s!==e.symbol&&s("Meridian perps stream returned a different product."),!i){let w=Array.isArray(t.d)?t.d.map(u):[t];(!(e.stream==="SubaccountLiquidation"?t.sid===e.subaccountId:w.every(E=>E.sid===e.subaccountId))||t.sid!==void 0&&t.sid!==e.subaccountId)&&s("Meridian perps stream returned a different subaccount.")}e.stream==="L2Book"&&((typeof t.t!="number"||!Number.isSafeInteger(t.t)||t.t<0||!Array.isArray(t.a)||!Array.isArray(t.b))&&s("Meridian perps book snapshot is malformed."),b!==void 0&&t.pt!==void 0&&t.pt!==b&&s("Meridian perps book updates have a gap. Request a fresh snapshot."),b=t.t),l.push(r),l.length>=o&&m()}catch(r){m(p.plainError(r))}})})}catch(i){throw new y(p.plainError(i))}}}]});export{k as a,A as b};
@@ -0,0 +1 @@
1
+ import{a as h}from"./HF2AGJZC.js";import{d as k,h as V}from"./JVTVOK6P.js";import{a as P,v as O}from"./FL3EF72E.js";import{a as g,b as f,f as M,g as A}from"./ITIIHCZK.js";import{a as b}from"./UWOFA6GV.js";import{c as _,g as T}from"./73N3TOJL.js";import{a as y}from"./XPFVT2EA.js";import{a as l}from"./5YS5V2LK.js";import{encodeFunctionData as c,parseAbi as j,zeroAddress as I}from"viem";var n=j(["function owner() view returns (address)","function feeTo() view returns (address)","function feeToSetter() view returns (address)","function protocolFeeController() view returns (address)","function setFeeTo(address)","function setFeeToSetter(address)","function setOwner(address)","function enableFeeAmount(uint24,int24)","function setFeeProtocol(uint8,uint8)","function collectProtocol(address,uint128,uint128) returns (uint128,uint128)","function transferOwnership(address)","function setProtocolFeeController(address)","function setProtocolFee((address currency0,address currency1,uint24 fee,int24 tickSpacing,address hooks),uint24)","function collectProtocolFees(address recipient,address currency,uint256 amount) returns (uint256)"]),E=["set_fee_recipient","set_fee_setter","set_owner","enable_fee","set_pool_fee","collect_protocol","set_controller"],R={version:{type:"string",enum:["v2","v3","v4"]},operation:{type:"string",enum:E},target:_,token0:_,token1:_,fee:{type:"integer"},tickSpacing:{type:"integer"},fee0:{type:"integer"},fee1:{type:"integer"},currency:_,amount:b(),amount0Max:b(),amount1Max:b(),poolKey:{type:"object"}};function L(w){let x=async e=>{let i=w.clientFor(y);if(e==="v2"){let[o,t]=await Promise.all([i.readContract({address:h,abi:n,functionName:"feeToSetter"}),i.readContract({address:h,abi:n,functionName:"feeTo"})]);return{version:e,contract:h,owner:o,feeRecipient:t}}if(e==="v3")return{version:e,contract:k.factory,owner:await i.readContract({address:k.factory,abi:n,functionName:"owner"})};if(e==="v4"){let[o,t]=await Promise.all([i.readContract({address:P,abi:n,functionName:"owner"}),i.readContract({address:P,abi:n,functionName:"protocolFeeController"})]);return{version:e,contract:P,owner:o,controller:t}}throw new l("Provide protocol version v2, v3 or v4.")};return{tools:[{name:"uniswap_protocol_status",inputSchema:{type:"object",additionalProperties:!1,required:["version"],properties:{version:R.version}},async execute(e){return A(e,["version"]),x(e.version)}},{name:"uniswap_protocol_admin",inputSchema:{type:"object",additionalProperties:!1,required:["version","operation"],properties:R},async execute(e,i){let{version:o,operation:t}=e,v=await x(o),K=w.clientFor(y),C=o==="v4"&&["set_pool_fee","collect_protocol"].includes(String(t))?"controller"in v?v.controller:void 0:v.owner;if(!C||!T(C,i))throw new l("The signing wallet does not hold the required Uniswap owner/controller role.");let N=v.contract,s,a,F=()=>{let r=f(e.target);if(r===I)throw new l("Administration target must be nonzero.");return r},u=(r,d,p,m)=>{if(typeof r!="number"||!Number.isInteger(r)||r<p||r>m)throw new l(`${d} must be an integer from ${p} to ${m}.`);return r};if(o==="v2"&&t==="set_fee_recipient")a=["target"],s=c({abi:n,functionName:"setFeeTo",args:[f(e.target)]});else if(o==="v2"&&t==="set_fee_setter")a=["target"],s=c({abi:n,functionName:"setFeeToSetter",args:[F()]});else if(o==="v3"&&t==="set_owner")a=["target"],s=c({abi:n,functionName:"setOwner",args:[F()]});else if(o==="v3"&&t==="enable_fee")a=["fee","tickSpacing"],s=c({abi:n,functionName:"enableFeeAmount",args:[u(e.fee,"fee",0,999999),u(e.tickSpacing,"tickSpacing",1,16383)]});else if(o==="v3"&&["set_pool_fee","collect_protocol"].includes(String(t))){a=["token0","token1","fee",...t==="set_pool_fee"?["fee0","fee1"]:["amount0Max","amount1Max"]];let r=f(e.token0),d=f(e.token1),p=u(e.fee,"fee",0,999999);if(N=await K.readContract({address:k.factory,abi:V,functionName:"getPool",args:[r,d,p]}),N===I)throw new l("No factory-verified v3 pool exists for these tokens and fee.");if(t==="set_pool_fee"){let m=$=>{let S=u($,"fee divisor",0,10);if(S!==0&&S<4)throw new l("V3 protocol fee divisors must be zero or 4 through 10.");return S};s=c({abi:n,functionName:"setFeeProtocol",args:[m(e.fee0),m(e.fee1)]})}else s=c({abi:n,functionName:"collectProtocol",args:[i,g(e.amount0Max,"amount0Max",128,!0),g(e.amount1Max,"amount1Max",128,!0)]})}else if(o==="v4"&&t==="set_owner")a=["target"],s=c({abi:n,functionName:"transferOwnership",args:[F()]});else if(o==="v4"&&t==="set_controller")a=["target"],s=c({abi:n,functionName:"setProtocolFeeController",args:[f(e.target)]});else if(o==="v4"&&t==="set_pool_fee"){a=["poolKey","fee0","fee1"];let r=O(e.poolKey),d=u(e.fee0,"fee0 pips",0,1e3),p=u(e.fee1,"fee1 pips",0,1e3);s=c({abi:n,functionName:"setProtocolFee",args:[r,d+(p<<12)]})}else if(o==="v4"&&t==="collect_protocol")a=["currency","amount"],s=c({abi:n,functionName:"collectProtocolFees",args:[i,f(e.currency),g(e.amount,"amount",256,!0)]});else throw new l("This operation is not supported by the selected Uniswap protocol version.");return A(e,["version","operation",...a]),M(w,[w.unsignedTx({to:N,data:s,value:"0",chainId:y,description:`Uniswap ${o} protocol administration: ${t}. Role holder ${i}.`})],i,"Privileged protocol operation. Review the exact role/recipient/fee changes. Protocol fee collections pay the signing wallet; no wallet token approval is required.")}}]}}export{n as a,L as b};
@@ -0,0 +1 @@
1
+ import{b as M}from"./7LDAJ6BM.js";import{a as U}from"./6HV5BR7P.js";import{b as I}from"./ZPM2MFXZ.js";import{b as C}from"./AXYOJBX6.js";import{a as W}from"./6IM6A5VA.js";import{a as P}from"./UWOFA6GV.js";import{g as $}from"./73N3TOJL.js";import{a as R}from"./RETS2ZEK.js";import{a as h,d as D,i as T,j as b}from"./XPFVT2EA.js";import{a as p}from"./5YS5V2LK.js";import{encodeFunctionData as A,erc20Abi as O,parseAbi as E}from"viem";var f=T[h].vaults.spark.address,i={address:b,chainId:h,symbol:"USDG",decimals:D},u={address:f,chainId:h,symbol:"spUSDG",decimals:6},G=(1n<<256n)-1n,k=E(["function asset() view returns (address)","function decimals() view returns (uint8)","function totalAssets() view returns (uint256)","function balanceOf(address owner) view returns (uint256)","function maxDeposit(address receiver) view returns (uint256)","function maxWithdraw(address owner) view returns (uint256)","function maxRedeem(address owner) view returns (uint256)","function previewDeposit(uint256 assets) view returns (uint256)","function previewWithdraw(uint256 assets) view returns (uint256)","function previewRedeem(uint256 shares) view returns (uint256)","function deposit(uint256 assets,address receiver) returns (uint256 shares)","function withdraw(uint256 assets,address receiver,address owner) returns (uint256 shares)","function redeem(uint256 shares,address receiver,address owner) returns (uint256 assets)"]),t=(s,l)=>({token:{...s},amount:l.toString()});function y(s,l,v=!1){if(!s||typeof s!="object"||Array.isArray(s)||Object.keys(s).some(S=>!l||S!=="amount"))throw new p(l?"Provide only the amount for this Spark action.":"Spark listing takes no arguments.");if(!l)return 0n;if(v&&s.amount==="max")return"max";if(typeof s.amount!="string")throw new p("Amount must be a positive integer string in base units.");let n=R(s.amount);if(n===0n||n>G)throw new p("Amount must be positive and within the uint256 range.");return n}var N=s=>{async function l(a){try{return await a()}catch(e){throw new p(s.plainError(e))}}async function v(a){W(a);let e=s.clientFor(h);if(await e.getChainId()!==h)throw new p("Spark requires an endpoint on chain 4663.");let[r,c,o]=await Promise.all([e.readContract({address:f,abi:k,functionName:"asset"}),e.readContract({address:f,abi:k,functionName:"decimals"}),e.readContract({address:b,abi:O,functionName:"decimals"})]);if(typeof r!="string"||!$(r,b))throw new p("Spark does not report the expected USDG asset on chain 4663.");if(c!==u.decimals||o!==i.decimals)throw new p("Spark shares and USDG must both have 6 decimals.");return async(d,x=[])=>{let m=await e.readContract({address:f,abi:k,functionName:d,args:x});if(typeof m!="bigint"||m<0n||m>G)throw new p(`Spark returned an invalid ${d} value.`);return m}}function n(a){let e=a.amount.startsWith("-"),r=e?a.amount.slice(1):a.amount;return`${e?"-":""}${s.formatAmount(r,a.token.decimals)} ${a.token.symbol}`}async function S(a,e,r,c){let o=await s.preview(a,e),d=o.changes.map(n).join(", ");return{txs:a,amounts:r,preview:o,summary:`${c} Preview values can change before execution. ${o.summary}${d?` Changes: ${d}.`:""}`}}return{positions:a=>l(async()=>{let e=await v(a),r=await e("balanceOf",[a]);if(r===0n)return[];let[c,o,d]=await Promise.all([e("previewRedeem",[r]),e("maxRedeem",[a]),e("maxWithdraw",[a])]);return[{module:"spark",id:`${h}:${f}`,chainId:h,assets:[t(u,r)],description:`${n(t(u,r))}; redeem preview ${n(t(i,c))} (rounded down). Current maximum redeem ${n(t(u,o))}; maximum withdrawal ${n(t(i,d))}.`}]}),tools:[I(s),...M(s),...U(s),{name:"spark_list",inputSchema:{type:"object",properties:{},additionalProperties:!1},execute:(a,e)=>l(async()=>{y(a,!1);let r=await v(e),c=await r("totalAssets"),[o,d,x,m,w]=await Promise.all([r("balanceOf",[e]),r("maxDeposit",[e]),r("maxWithdraw",[e]),r("maxRedeem",[e]),r("previewDeposit",[1000000n])]),g=await r("previewRedeem",[o]);return[{chainId:h,address:f,name:"Spark Savings USDG",asset:{...i},shareToken:{...u},totalAssets:t(i,c),balance:t(u,o),maxDeposit:t(i,d),maxWithdraw:t(i,x),maxRedeem:t(u,m),previewDepositAssets:t(i,1000000n),previewDeposit:t(u,w),previewRedeemShares:t(u,o),previewRedeem:t(i,g),rounding:"Deposit shares and redeemed assets round down; exact-asset withdrawals round shares up. Previews can change before execution."}]})},{name:"spark_deposit",inputSchema:{type:"object",properties:{amount:P("Positive USDG base-unit integer (6 decimals).")},required:["amount"],additionalProperties:!1},execute:(a,e)=>l(async()=>{let r=y(a,!0),c=await v(e),[o,d]=await Promise.all([c("maxDeposit",[e]),c("previewDeposit",[r])]);if(r>o)throw new p("The deposit exceeds Spark\u2019s current maximum deposit.");if(d===0n)throw new p("This deposit would return zero Spark shares.");let x=[s.approval(b,f,r.toString(),h),s.unsignedTx({to:f,data:A({abi:k,functionName:"deposit",args:[r,e]}),value:"0",chainId:h,description:`Deposit ${n(t(i,r))} into Spark for this wallet.`})];return S(x,e,{assets:t(i,r),shares:t(u,d),maxDeposit:t(i,o)},`Approve exactly ${n(t(i,r))} for Spark ${f}, then deposit. Expected ${n(t(u,d))}, rounded down; current maximum deposit ${n(t(i,o))}.`)})},{name:"spark_withdraw",inputSchema:{type:"object",properties:{amount:{type:"string",anyOf:[{pattern:"^[0-9]+$"},{const:"max"}],description:"Positive USDG base-unit integer (6 decimals), or max to redeem all held shares."}},required:["amount"],additionalProperties:!1},execute:(a,e)=>l(async()=>{let r=y(a,!0,!0),c=await v(e),[o,d,x]=await Promise.all([c("balanceOf",[e]),c("maxWithdraw",[e]),c("maxRedeem",[e])]);if(o===0n)throw new p("This wallet has no Spark shares to withdraw.");let m,w,g;if(r==="max"){if(w=o,w>x)throw new p("The full share balance exceeds Spark\u2019s current maximum redeem. Request an asset amount within the current maximum withdrawal.");m=await c("previewRedeem",[w]),g=A({abi:k,functionName:"redeem",args:[w,e,e]})}else{if(m=r,m>d)throw new p("The withdrawal exceeds Spark\u2019s current maximum withdrawal.");if(w=await c("previewWithdraw",[m]),w>o)throw new p("This wallet has insufficient Spark shares for the withdrawal.");g=A({abi:k,functionName:"withdraw",args:[m,e,e]})}if(m===0n||w===0n)throw new p("Spark returned a zero asset or share preview for this withdrawal.");let _=r==="max"?`Redeem all ${n(t(u,w))} from Spark to this wallet.`:`Withdraw ${n(t(i,m))} from Spark to this wallet.`,j=[s.unsignedTx({to:f,data:g,value:"0",chainId:h,description:_})];return S(j,e,{assets:t(i,m),shares:t(u,w),maxWithdraw:t(i,d),maxRedeem:t(u,x)},r==="max"?`Redeem all ${n(t(u,w))} for an expected ${n(t(i,m))}, rounded down. Current maximum redeem ${n(t(u,x))}.`:`Withdraw ${n(t(i,m))} using an expected ${n(t(u,w))}, rounded up. Current maximum withdrawal ${n(t(i,d))}.`)})}]}};function Z(s){return C("spark",[N(s)])}export{N as a,Z as b};
@@ -0,0 +1 @@
1
+ import{a as Ee}from"./H4S2ZCWK.js";import{a as xe}from"./L2MTPRU7.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"./EAEQOS7Y.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};