@oakagentkit/core 0.1.2 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (580) hide show
  1. package/build/dist/api/addresses.d.ts +0 -1219
  2. package/build/dist/api/addresses.js +1 -1
  3. package/build/dist/api/amounts.d.ts +0 -1
  4. package/build/dist/api/amounts.js +1 -1
  5. package/build/dist/api/args.js +1 -1
  6. package/build/dist/api/canonical.d.ts +0 -1
  7. package/build/dist/api/canonical.js +1 -1
  8. package/build/dist/api/chain.d.ts +2 -0
  9. package/build/dist/api/chain.js +1 -1
  10. package/build/dist/api/deployments.d.ts +26 -0
  11. package/build/dist/api/deployments.js +1 -0
  12. package/build/dist/api/errors.js +1 -1
  13. package/build/dist/api/gas.js +1 -1
  14. package/build/dist/api/grandfather.js +1 -1
  15. package/build/dist/api/guards.d.ts +23 -0
  16. package/build/dist/api/guards.js +1 -0
  17. package/build/dist/api/history.js +1 -1
  18. package/build/dist/api/http.js +1 -1
  19. package/build/dist/api/identity-link.js +1 -1
  20. package/build/dist/api/launch.d.ts +1 -0
  21. package/build/dist/api/launch.js +1 -1
  22. package/build/dist/api/merkle.js +1 -1
  23. package/build/dist/api/metadata.js +1 -1
  24. package/build/dist/api/module.js +1 -1
  25. package/build/dist/api/modules/beefy/boosts.d.ts +132 -0
  26. package/build/dist/api/modules/beefy/boosts.js +1 -0
  27. package/build/dist/api/modules/beefy/clm.d.ts +282 -0
  28. package/build/dist/api/modules/beefy/clm.js +1 -0
  29. package/build/dist/api/modules/beefy/guard.d.ts +5 -0
  30. package/build/dist/api/modules/beefy/guard.js +1 -0
  31. package/build/dist/api/modules/beefy/index.js +1 -1
  32. package/build/dist/api/modules/beefy/liquidity.d.ts +237 -0
  33. package/build/dist/api/modules/beefy/liquidity.js +1 -0
  34. package/build/dist/api/modules/beefy/management.d.ts +100 -0
  35. package/build/dist/api/modules/beefy/management.js +1 -0
  36. package/build/dist/api/modules/beefy/vaults.d.ts +14 -0
  37. package/build/dist/api/modules/beefy/vaults.js +1 -0
  38. package/build/dist/api/modules/clanker/extensions.d.ts +62 -0
  39. package/build/dist/api/modules/clanker/extensions.js +1 -0
  40. package/build/dist/api/modules/clanker/index.js +1 -1
  41. package/build/dist/api/modules/clanker/manage.d.ts +2 -0
  42. package/build/dist/api/modules/clanker/manage.js +1 -0
  43. package/build/dist/api/modules/clanker/pool-config.d.ts +96 -0
  44. package/build/dist/api/modules/clanker/pool-config.js +1 -0
  45. package/build/dist/api/modules/clanker/protocol.d.ts +2 -0
  46. package/build/dist/api/modules/clanker/protocol.js +1 -0
  47. package/build/dist/api/modules/clanker/state.d.ts +246 -0
  48. package/build/dist/api/modules/clanker/state.js +1 -0
  49. package/build/dist/api/modules/erc8004/abi.d.ts +808 -0
  50. package/build/dist/api/modules/erc8004/abi.js +1 -0
  51. package/build/dist/api/modules/erc8004/common.d.ts +69 -0
  52. package/build/dist/api/modules/erc8004/common.js +1 -0
  53. package/build/dist/api/modules/erc8004/domain.d.ts +3 -0
  54. package/build/dist/api/modules/erc8004/domain.js +1 -0
  55. package/build/dist/api/modules/erc8004/index.d.ts +3 -171
  56. package/build/dist/api/modules/erc8004/index.js +1 -1
  57. package/build/dist/api/modules/erc8004/management.d.ts +4 -0
  58. package/build/dist/api/modules/erc8004/management.js +1 -0
  59. package/build/dist/api/modules/erc8004/reputation.d.ts +3 -0
  60. package/build/dist/api/modules/erc8004/reputation.js +1 -0
  61. package/build/dist/api/modules/erc8004/services.d.ts +2 -0
  62. package/build/dist/api/modules/erc8004/services.js +1 -0
  63. package/build/dist/api/modules/erc8004/validation.d.ts +2 -0
  64. package/build/dist/api/modules/erc8004/validation.js +1 -0
  65. package/build/dist/api/modules/grove/index.js +1 -1
  66. package/build/dist/api/modules/heyresearch/freshness.d.ts +12 -0
  67. package/build/dist/api/modules/heyresearch/freshness.js +1 -0
  68. package/build/dist/api/modules/heyresearch/index.js +1 -1
  69. package/build/dist/api/modules/heyresearch/public-reads.d.ts +5 -0
  70. package/build/dist/api/modules/heyresearch/public-reads.js +1 -0
  71. package/build/dist/api/modules/hoodag/chain-reads.d.ts +33 -0
  72. package/build/dist/api/modules/hoodag/chain-reads.js +1 -0
  73. package/build/dist/api/modules/hoodag/index.d.ts +9 -1
  74. package/build/dist/api/modules/hoodag/index.js +1 -1
  75. package/build/dist/api/modules/hoodag/management.d.ts +2 -0
  76. package/build/dist/api/modules/hoodag/management.js +1 -0
  77. package/build/dist/api/modules/hoodag/public-reads.d.ts +2 -0
  78. package/build/dist/api/modules/hoodag/public-reads.js +1 -0
  79. package/build/dist/api/modules/hoodag/reconstruct.d.ts +14 -0
  80. package/build/dist/api/modules/hoodag/reconstruct.js +1 -0
  81. package/build/dist/api/modules/hoodlock/airdrop.js +1 -1
  82. package/build/dist/api/modules/hoodlock/buyback.d.ts +28 -0
  83. package/build/dist/api/modules/hoodlock/buyback.js +1 -0
  84. package/build/dist/api/modules/hoodlock/commerce.d.ts +24 -0
  85. package/build/dist/api/modules/hoodlock/commerce.js +1 -0
  86. package/build/dist/api/modules/hoodlock/fee.d.ts +15 -0
  87. package/build/dist/api/modules/hoodlock/fee.js +1 -0
  88. package/build/dist/api/modules/hoodlock/guard.d.ts +5 -0
  89. package/build/dist/api/modules/hoodlock/guard.js +1 -0
  90. package/build/dist/api/modules/hoodlock/index.d.ts +4 -0
  91. package/build/dist/api/modules/hoodlock/index.js +1 -1
  92. package/build/dist/api/modules/hoodlock/lifecycle.d.ts +285 -0
  93. package/build/dist/api/modules/hoodlock/lifecycle.js +1 -0
  94. package/build/dist/api/modules/hoodlock/locks-burn.d.ts +3 -3
  95. package/build/dist/api/modules/hoodlock/locks-burn.js +1 -1
  96. package/build/dist/api/modules/hoodlock/public.d.ts +3 -0
  97. package/build/dist/api/modules/hoodlock/public.js +1 -0
  98. package/build/dist/api/modules/hookr/actions.d.ts +4 -0
  99. package/build/dist/api/modules/hookr/actions.js +1 -0
  100. package/build/dist/api/modules/hookr/addons.d.ts +4 -0
  101. package/build/dist/api/modules/hookr/addons.js +1 -0
  102. package/build/dist/api/modules/hookr/contracts.d.ts +30 -0
  103. package/build/dist/api/modules/hookr/contracts.js +1 -0
  104. package/build/dist/api/modules/hookr/create-cancel.d.ts +10 -73
  105. package/build/dist/api/modules/hookr/create-cancel.js +1 -1
  106. package/build/dist/api/modules/hookr/discovery.d.ts +3 -0
  107. package/build/dist/api/modules/hookr/discovery.js +1 -0
  108. package/build/dist/api/modules/hookr/fill-bounty.js +1 -1
  109. package/build/dist/api/modules/hookr/index.d.ts +0 -3
  110. package/build/dist/api/modules/hookr/index.js +1 -1
  111. package/build/dist/api/modules/hookr/public-reads.d.ts +4 -0
  112. package/build/dist/api/modules/hookr/public-reads.js +1 -0
  113. package/build/dist/api/modules/hookr/relay.d.ts +304 -0
  114. package/build/dist/api/modules/hookr/relay.js +1 -0
  115. package/build/dist/api/modules/hookr/revenue.d.ts +5 -0
  116. package/build/dist/api/modules/hookr/revenue.js +1 -0
  117. package/build/dist/api/modules/kyberswap/index.d.ts +18 -2
  118. package/build/dist/api/modules/kyberswap/index.js +1 -1
  119. package/build/dist/api/modules/kyberswap/source-pools.d.ts +28 -0
  120. package/build/dist/api/modules/kyberswap/source-pools.js +1 -0
  121. package/build/dist/api/modules/lighter/index.js +1 -1
  122. package/build/dist/api/modules/longbow/administration.d.ts +119 -0
  123. package/build/dist/api/modules/longbow/administration.js +1 -0
  124. package/build/dist/api/modules/longbow/analytics.d.ts +272 -0
  125. package/build/dist/api/modules/longbow/analytics.js +1 -0
  126. package/build/dist/api/modules/longbow/fixed.d.ts +126 -0
  127. package/build/dist/api/modules/longbow/fixed.js +1 -0
  128. package/build/dist/api/modules/longbow/index.d.ts +16 -0
  129. package/build/dist/api/modules/longbow/index.js +1 -1
  130. package/build/dist/api/modules/longbow/nft.d.ts +236 -0
  131. package/build/dist/api/modules/longbow/nft.js +1 -0
  132. package/build/dist/api/modules/longbow/rebates.d.ts +152 -0
  133. package/build/dist/api/modules/longbow/rebates.js +1 -0
  134. package/build/dist/api/modules/longbow/staking.d.ts +4 -0
  135. package/build/dist/api/modules/longbow/staking.js +1 -0
  136. package/build/dist/api/modules/meridian/index.js +1 -1
  137. package/build/dist/api/modules/meridian/markets.js +1 -1
  138. package/build/dist/api/modules/meridian/perps-batch.d.ts +4 -0
  139. package/build/dist/api/modules/meridian/perps-batch.js +1 -0
  140. package/build/dist/api/modules/meridian/perps-common.d.ts +56 -0
  141. package/build/dist/api/modules/meridian/perps-common.js +1 -0
  142. package/build/dist/api/modules/meridian/perps-guards.d.ts +3 -0
  143. package/build/dist/api/modules/meridian/perps-guards.js +1 -0
  144. package/build/dist/api/modules/meridian/perps-intents.d.ts +18 -0
  145. package/build/dist/api/modules/meridian/perps-intents.js +1 -0
  146. package/build/dist/api/modules/meridian/perps-stream.d.ts +3 -0
  147. package/build/dist/api/modules/meridian/perps-stream.js +1 -0
  148. package/build/dist/api/modules/meridian/perps.d.ts +3 -0
  149. package/build/dist/api/modules/meridian/perps.js +1 -0
  150. package/build/dist/api/modules/meridian/predict-read.d.ts +2 -0
  151. package/build/dist/api/modules/meridian/predict-read.js +1 -0
  152. package/build/dist/api/modules/meridian/rfq.d.ts +29 -0
  153. package/build/dist/api/modules/meridian/rfq.js +1 -1
  154. package/build/dist/api/modules/merkl/discovery.d.ts +2 -0
  155. package/build/dist/api/modules/merkl/discovery.js +1 -0
  156. package/build/dist/api/modules/merkl/index.d.ts +10 -1
  157. package/build/dist/api/modules/merkl/index.js +1 -1
  158. package/build/dist/api/modules/merkl/manage.d.ts +2 -0
  159. package/build/dist/api/modules/merkl/manage.js +1 -0
  160. package/build/dist/api/modules/merkl/protocol.d.ts +2 -0
  161. package/build/dist/api/modules/merkl/protocol.js +1 -0
  162. package/build/dist/api/modules/morpho/allocator.d.ts +308 -0
  163. package/build/dist/api/modules/morpho/allocator.js +1 -0
  164. package/build/dist/api/modules/morpho/bundles-abi.d.ts +705 -0
  165. package/build/dist/api/modules/morpho/bundles-abi.js +1 -0
  166. package/build/dist/api/modules/morpho/bundles.d.ts +3 -0
  167. package/build/dist/api/modules/morpho/bundles.js +1 -0
  168. package/build/dist/api/modules/morpho/in-kind.d.ts +85 -0
  169. package/build/dist/api/modules/morpho/in-kind.js +1 -0
  170. package/build/dist/api/modules/morpho/index.d.ts +10 -2
  171. package/build/dist/api/modules/morpho/index.js +1 -12
  172. package/build/dist/api/modules/morpho/local-guard.d.ts +26 -0
  173. package/build/dist/api/modules/morpho/local-guard.js +1 -0
  174. package/build/dist/api/modules/morpho/midnight-abi.d.ts +1690 -0
  175. package/build/dist/api/modules/morpho/midnight-abi.js +1 -0
  176. package/build/dist/api/modules/morpho/midnight.d.ts +179 -0
  177. package/build/dist/api/modules/morpho/midnight.js +1 -0
  178. package/build/dist/api/modules/morpho/protocol.d.ts +290 -0
  179. package/build/dist/api/modules/morpho/protocol.js +1 -0
  180. package/build/dist/api/modules/morpho/surface.d.ts +4 -0
  181. package/build/dist/api/modules/morpho/surface.js +1 -0
  182. package/build/dist/api/modules/morpho/vault-management.d.ts +10 -0
  183. package/build/dist/api/modules/morpho/vault-management.js +1 -0
  184. package/build/dist/api/modules/morpho/vault-tools.d.ts +6 -0
  185. package/build/dist/api/modules/morpho/vault-tools.js +1 -0
  186. package/build/dist/api/modules/morpho/vault-v2.d.ts +190 -0
  187. package/build/dist/api/modules/morpho/vault-v2.js +1 -0
  188. package/build/dist/api/modules/netnet/blackjack-hashes.d.ts +89 -0
  189. package/build/dist/api/modules/netnet/blackjack-hashes.js +1 -0
  190. package/build/dist/api/modules/netnet/card-abi.d.ts +3758 -0
  191. package/build/dist/api/modules/netnet/card-abi.js +1 -0
  192. package/build/dist/api/modules/netnet/card-plan.d.ts +43 -0
  193. package/build/dist/api/modules/netnet/card-plan.js +1 -0
  194. package/build/dist/api/modules/netnet/card-policy.d.ts +10 -0
  195. package/build/dist/api/modules/netnet/card-policy.js +1 -0
  196. package/build/dist/api/modules/netnet/card-read.d.ts +2 -0
  197. package/build/dist/api/modules/netnet/card-read.js +1 -0
  198. package/build/dist/api/modules/netnet/card-recovery.d.ts +2 -0
  199. package/build/dist/api/modules/netnet/card-recovery.js +1 -0
  200. package/build/dist/api/modules/netnet/desk-action-abi.d.ts +2 -0
  201. package/build/dist/api/modules/netnet/desk-action-abi.js +1 -0
  202. package/build/dist/api/modules/netnet/desk-action.d.ts +3 -0
  203. package/build/dist/api/modules/netnet/desk-action.js +1 -0
  204. package/build/dist/api/modules/netnet/desk-read.d.ts +5 -0
  205. package/build/dist/api/modules/netnet/desk-read.js +1 -0
  206. package/build/dist/api/modules/netnet/desk-registry.d.ts +5 -0
  207. package/build/dist/api/modules/netnet/desk-registry.js +1 -0
  208. package/build/dist/api/modules/netnet/financial-abi.d.ts +1764 -0
  209. package/build/dist/api/modules/netnet/financial-abi.js +1 -0
  210. package/build/dist/api/modules/netnet/financial.d.ts +13 -0
  211. package/build/dist/api/modules/netnet/financial.js +1 -0
  212. package/build/dist/api/modules/netnet/index.d.ts +1 -0
  213. package/build/dist/api/modules/netnet/index.js +1 -1
  214. package/build/dist/api/modules/netnet/staking.d.ts +8 -0
  215. package/build/dist/api/modules/netnet/staking.js +1 -0
  216. package/build/dist/api/modules/orbio/gateway.d.ts +24 -0
  217. package/build/dist/api/modules/orbio/gateway.js +1 -0
  218. package/build/dist/api/modules/orbio/index.d.ts +3 -1
  219. package/build/dist/api/modules/orbio/index.js +1 -1
  220. package/build/dist/api/modules/orbio/pins.d.ts +457 -0
  221. package/build/dist/api/modules/orbio/pins.js +1 -0
  222. package/build/dist/api/modules/pons/claim.d.ts +33 -1
  223. package/build/dist/api/modules/pons/claim.js +1 -1
  224. package/build/dist/api/modules/pons/holder-directory.d.ts +35 -0
  225. package/build/dist/api/modules/pons/holder-directory.js +1 -0
  226. package/build/dist/api/modules/pons/index.js +1 -1
  227. package/build/dist/api/modules/pons/launch-status.d.ts +151 -5
  228. package/build/dist/api/modules/pons/launch-status.js +1 -1
  229. package/build/dist/api/modules/pons/prices.js +1 -1
  230. package/build/dist/api/modules/pons/reads.d.ts +3 -0
  231. package/build/dist/api/modules/pons/reads.js +1 -0
  232. package/build/dist/api/modules/pons/swap-terms.d.ts +77 -0
  233. package/build/dist/api/modules/pons/swap-terms.js +1 -0
  234. package/build/dist/api/modules/pons/trade.d.ts +13 -2
  235. package/build/dist/api/modules/pons/trade.js +1 -1
  236. package/build/dist/api/modules/poolstrade/index.js +1 -1
  237. package/build/dist/api/modules/priors/coverage.d.ts +23 -0
  238. package/build/dist/api/modules/priors/coverage.js +1 -0
  239. package/build/dist/api/modules/priors/discovery.d.ts +4 -0
  240. package/build/dist/api/modules/priors/discovery.js +1 -0
  241. package/build/dist/api/modules/priors/features.d.ts +62 -0
  242. package/build/dist/api/modules/priors/features.js +1 -0
  243. package/build/dist/api/modules/priors/index.d.ts +9 -2
  244. package/build/dist/api/modules/priors/index.js +1 -1
  245. package/build/dist/api/modules/priors/integration.d.ts +6 -0
  246. package/build/dist/api/modules/priors/integration.js +1 -0
  247. package/build/dist/api/modules/priors/market.d.ts +10 -0
  248. package/build/dist/api/modules/priors/market.js +1 -0
  249. package/build/dist/api/modules/priors/pt.d.ts +421 -0
  250. package/build/dist/api/modules/priors/pt.js +1 -0
  251. package/build/dist/api/modules/priors/savings-exit.d.ts +85 -0
  252. package/build/dist/api/modules/priors/savings-exit.js +1 -0
  253. package/build/dist/api/modules/priors/starter-line.d.ts +495 -0
  254. package/build/dist/api/modules/priors/starter-line.js +1 -0
  255. package/build/dist/api/modules/priors/stock-swap.d.ts +101 -0
  256. package/build/dist/api/modules/priors/stock-swap.js +1 -0
  257. package/build/dist/api/modules/relay/api.d.ts +52 -0
  258. package/build/dist/api/modules/relay/api.js +1 -0
  259. package/build/dist/api/modules/relay/bootstrap.d.ts +2 -0
  260. package/build/dist/api/modules/relay/bootstrap.js +1 -0
  261. package/build/dist/api/modules/relay/discovery.d.ts +2 -0
  262. package/build/dist/api/modules/relay/discovery.js +1 -0
  263. package/build/dist/api/modules/relay/inbound.js +1 -1
  264. package/build/dist/api/modules/relay/index.d.ts +2 -0
  265. package/build/dist/api/modules/relay/index.js +1 -1
  266. package/build/dist/api/modules/relay/order.d.ts +2 -0
  267. package/build/dist/api/modules/relay/order.js +1 -0
  268. package/build/dist/api/modules/relay/outbound-status.js +1 -1
  269. package/build/dist/api/modules/relay/readiness.d.ts +5 -0
  270. package/build/dist/api/modules/relay/readiness.js +1 -0
  271. package/build/dist/api/modules/relay/reads.d.ts +3 -0
  272. package/build/dist/api/modules/relay/reads.js +1 -0
  273. package/build/dist/api/modules/relay/vaults.d.ts +24 -0
  274. package/build/dist/api/modules/relay/vaults.js +1 -0
  275. package/build/dist/api/modules/spark/actions.d.ts +2 -0
  276. package/build/dist/api/modules/spark/actions.js +1 -0
  277. package/build/dist/api/modules/spark/details.d.ts +3 -0
  278. package/build/dist/api/modules/spark/details.js +1 -0
  279. package/build/dist/api/modules/spark/index.js +1 -1
  280. package/build/dist/api/modules/spark/management.d.ts +7 -0
  281. package/build/dist/api/modules/spark/management.js +1 -0
  282. package/build/dist/api/modules/steakhouse/analytics.d.ts +2 -0
  283. package/build/dist/api/modules/steakhouse/analytics.js +1 -0
  284. package/build/dist/api/modules/steakhouse/erc4626.d.ts +2 -0
  285. package/build/dist/api/modules/steakhouse/erc4626.js +1 -0
  286. package/build/dist/api/modules/steakhouse/index.js +1 -1
  287. package/build/dist/api/modules/steakhouse/local-guard.d.ts +7 -0
  288. package/build/dist/api/modules/steakhouse/local-guard.js +1 -0
  289. package/build/dist/api/modules/steakhouse/management.d.ts +3 -0
  290. package/build/dist/api/modules/steakhouse/management.js +1 -0
  291. package/build/dist/api/modules/steakhouse/v2-exit.d.ts +19 -0
  292. package/build/dist/api/modules/steakhouse/v2-exit.js +1 -0
  293. package/build/dist/api/modules/tickerspring/basket-routes.d.ts +2 -0
  294. package/build/dist/api/modules/tickerspring/basket-routes.js +1 -0
  295. package/build/dist/api/modules/tickerspring/contract-reads.d.ts +2 -0
  296. package/build/dist/api/modules/tickerspring/contract-reads.js +1 -0
  297. package/build/dist/api/modules/tickerspring/discovery.d.ts +27 -0
  298. package/build/dist/api/modules/tickerspring/discovery.js +1 -0
  299. package/build/dist/api/modules/tickerspring/exit-preview.d.ts +14 -0
  300. package/build/dist/api/modules/tickerspring/exit-preview.js +1 -0
  301. package/build/dist/api/modules/tickerspring/guards.d.ts +7 -0
  302. package/build/dist/api/modules/tickerspring/guards.js +1 -0
  303. package/build/dist/api/modules/tickerspring/index.d.ts +80 -1
  304. package/build/dist/api/modules/tickerspring/index.js +1 -1
  305. package/build/dist/api/modules/tickerspring/journeys.d.ts +31 -0
  306. package/build/dist/api/modules/tickerspring/journeys.js +1 -0
  307. package/build/dist/api/modules/tickerspring/ladder.d.ts +8 -0
  308. package/build/dist/api/modules/tickerspring/ladder.js +1 -0
  309. package/build/dist/api/modules/tickerspring/maker.d.ts +8 -0
  310. package/build/dist/api/modules/tickerspring/maker.js +1 -0
  311. package/build/dist/api/modules/tickerspring/order-accounting.d.ts +4 -0
  312. package/build/dist/api/modules/tickerspring/order-accounting.js +1 -0
  313. package/build/dist/api/modules/tickerspring/research.d.ts +2 -0
  314. package/build/dist/api/modules/tickerspring/research.js +1 -0
  315. package/build/dist/api/modules/tickerspring/strategies.d.ts +17 -0
  316. package/build/dist/api/modules/tickerspring/strategies.js +1 -0
  317. package/build/dist/api/modules/uniswap/auction-create.d.ts +112 -0
  318. package/build/dist/api/modules/uniswap/auction-create.js +1 -0
  319. package/build/dist/api/modules/uniswap/auction.d.ts +212 -0
  320. package/build/dist/api/modules/uniswap/auction.js +1 -0
  321. package/build/dist/api/modules/uniswap/batch.d.ts +22 -0
  322. package/build/dist/api/modules/uniswap/batch.js +1 -0
  323. package/build/dist/api/modules/uniswap/common.d.ts +12 -0
  324. package/build/dist/api/modules/uniswap/common.js +1 -0
  325. package/build/dist/api/modules/uniswap/fees.d.ts +54 -0
  326. package/build/dist/api/modules/uniswap/fees.js +1 -0
  327. package/build/dist/api/modules/uniswap/index.d.ts +2 -1
  328. package/build/dist/api/modules/uniswap/index.js +1 -1
  329. package/build/dist/api/modules/uniswap/local-guard.d.ts +16 -0
  330. package/build/dist/api/modules/uniswap/local-guard.js +1 -0
  331. package/build/dist/api/modules/uniswap/oracle.d.ts +2 -0
  332. package/build/dist/api/modules/uniswap/oracle.js +1 -0
  333. package/build/dist/api/modules/uniswap/pool-math.d.ts +13 -0
  334. package/build/dist/api/modules/uniswap/pool-math.js +1 -0
  335. package/build/dist/api/modules/uniswap/pools.d.ts +30 -0
  336. package/build/dist/api/modules/uniswap/pools.js +1 -0
  337. package/build/dist/api/modules/uniswap/position.d.ts +69 -0
  338. package/build/dist/api/modules/uniswap/position.js +1 -0
  339. package/build/dist/api/modules/uniswap/protocol.d.ts +154 -0
  340. package/build/dist/api/modules/uniswap/protocol.js +1 -0
  341. package/build/dist/api/modules/uniswap/token-jar.d.ts +52 -0
  342. package/build/dist/api/modules/uniswap/token-jar.js +1 -0
  343. package/build/dist/api/modules/uniswap/trade-batch.d.ts +2 -0
  344. package/build/dist/api/modules/uniswap/trade-batch.js +1 -0
  345. package/build/dist/api/modules/uniswap/trade.d.ts +406 -0
  346. package/build/dist/api/modules/uniswap/trade.js +1 -0
  347. package/build/dist/api/modules/uniswap/v2.d.ts +180 -0
  348. package/build/dist/api/modules/uniswap/v2.js +1 -0
  349. package/build/dist/api/modules/uniswap/v3.d.ts +23 -2
  350. package/build/dist/api/modules/uniswap/v3.js +1 -1
  351. package/build/dist/api/modules/uniswap/v4.d.ts +17 -28
  352. package/build/dist/api/modules/uniswap/v4.js +1 -1
  353. package/build/dist/api/modules/uniswap/wrap.d.ts +17 -0
  354. package/build/dist/api/modules/uniswap/wrap.js +1 -0
  355. package/build/dist/api/modules/velora/claims.d.ts +86 -0
  356. package/build/dist/api/modules/velora/claims.js +1 -0
  357. package/build/dist/api/modules/velora/delta-reads.d.ts +2 -0
  358. package/build/dist/api/modules/velora/delta-reads.js +1 -0
  359. package/build/dist/api/modules/velora/index.js +1 -1
  360. package/build/dist/api/owner-signature.d.ts +29 -0
  361. package/build/dist/api/owner-signature.js +1 -0
  362. package/build/dist/api/positions.js +1 -1
  363. package/build/dist/api/pricenote.d.ts +0 -1
  364. package/build/dist/api/pricenote.js +1 -1
  365. package/build/dist/api/prices.js +1 -1
  366. package/build/dist/api/pricing.d.ts +1 -14
  367. package/build/dist/api/pricing.js +1 -1
  368. package/build/dist/api/routes.d.ts +2 -0
  369. package/build/dist/api/routes.js +1 -1
  370. package/build/dist/api/rpc.d.ts +23 -0
  371. package/build/dist/api/rpc.js +1 -0
  372. package/build/dist/api/secret-fields.js +1 -1
  373. package/build/dist/api/send.js +1 -1
  374. package/build/dist/api/signing-registry.d.ts +19 -0
  375. package/build/dist/api/signing-registry.js +1 -0
  376. package/build/dist/api/signing.d.ts +162 -0
  377. package/build/dist/api/signing.js +1 -0
  378. package/build/dist/api/simulate.js +1 -1
  379. package/build/dist/api/swap.d.ts +61 -27
  380. package/build/dist/api/swap.js +1 -1
  381. package/build/dist/api/tokens.d.ts +5 -0
  382. package/build/dist/api/tokens.js +1 -1
  383. package/build/dist/api/tool-policy.d.ts +6 -0
  384. package/build/dist/api/tool-policy.js +1 -1
  385. package/build/dist/api/tx.js +1 -1
  386. package/build/dist/api/types.d.ts +2 -0
  387. package/build/dist/api/vendor-limits.js +1 -1
  388. package/build/dist/chunks/2EDXKJ3B.js +1 -0
  389. package/build/dist/chunks/2NA6JLEC.js +1 -0
  390. package/build/dist/chunks/2SNQWKHA.js +1 -0
  391. package/build/dist/chunks/3ACEWCKZ.js +1 -0
  392. package/build/dist/chunks/3CCBUYUM.js +1 -0
  393. package/build/dist/chunks/3RFSGU2Y.js +1 -0
  394. package/build/dist/chunks/46ZA2R5L.js +1 -0
  395. package/build/dist/chunks/4IPW5WZ4.js +1 -0
  396. package/build/dist/chunks/53N7PNJH.js +1 -0
  397. package/build/dist/chunks/55NX776C.js +1 -0
  398. package/build/dist/chunks/5EHQM6DM.js +1 -0
  399. package/build/dist/chunks/5FTSKYQH.js +1 -0
  400. package/build/dist/chunks/5HW6JKME.js +1 -0
  401. package/build/dist/chunks/5VXNQFYJ.js +1 -0
  402. package/build/dist/chunks/5XFXH2JT.js +1 -0
  403. package/build/dist/chunks/5YS5V2LK.js +1 -0
  404. package/build/dist/chunks/64AF7ECA.js +1 -0
  405. package/build/dist/chunks/65QFM4JU.js +1 -0
  406. package/build/dist/chunks/67TJOOBI.js +1 -0
  407. package/build/dist/chunks/6HV5BR7P.js +1 -0
  408. package/build/dist/chunks/{A5ITAEUQ.js → 6IM6A5VA.js} +1 -1
  409. package/build/dist/chunks/6JCEJ66K.js +1 -0
  410. package/build/dist/chunks/6LLOTPH2.js +1 -0
  411. package/build/dist/chunks/6NR7SVRO.js +1 -0
  412. package/build/dist/chunks/6PU2CMQZ.js +1 -0
  413. package/build/dist/chunks/6SCCW74G.js +1 -0
  414. package/build/dist/chunks/73N3TOJL.js +1 -0
  415. package/build/dist/chunks/74BPMUAG.js +1 -0
  416. package/build/dist/chunks/7B5UH2VS.js +1 -0
  417. package/build/dist/chunks/7BTELNNI.js +1 -0
  418. package/build/dist/chunks/7LDAJ6BM.js +1 -0
  419. package/build/dist/chunks/7MR37STI.js +1 -0
  420. package/build/dist/chunks/7T4BYFD4.js +1 -0
  421. package/build/dist/chunks/7US6PD56.js +1 -0
  422. package/build/dist/chunks/7YU6DELJ.js +1 -0
  423. package/build/dist/chunks/7Z5IM2QZ.js +1 -0
  424. package/build/dist/chunks/A25P24G2.js +1 -0
  425. package/build/dist/chunks/AFHHRDPJ.js +1 -0
  426. package/build/dist/chunks/ANQ43XJA.js +1 -0
  427. package/build/dist/chunks/{UCMNB2UP.js → AXYOJBX6.js} +1 -1
  428. package/build/dist/chunks/AYM5L6L7.js +1 -0
  429. package/build/dist/chunks/BFVLBENV.js +1 -0
  430. package/build/dist/chunks/BV3AHLH5.js +1 -0
  431. package/build/dist/chunks/BXN3MDS4.js +1 -0
  432. package/build/dist/chunks/BYXBS45D.js +1 -0
  433. package/build/dist/chunks/C2FEXLMA.js +1 -0
  434. package/build/dist/chunks/C3TJLARP.js +1 -0
  435. package/build/dist/chunks/C3ZZSGSP.js +1 -0
  436. package/build/dist/chunks/CAU44UWP.js +1 -0
  437. package/build/dist/chunks/CBA776XQ.js +1 -0
  438. package/build/dist/chunks/CCEWSOBT.js +1 -0
  439. package/build/dist/chunks/CEQNXF6A.js +1 -0
  440. package/build/dist/chunks/{6SYTB6FB.js → D3OWLDVB.js} +1 -1
  441. package/build/dist/chunks/D6VP3N27.js +3 -0
  442. package/build/dist/chunks/DHXVYHT4.js +1 -0
  443. package/build/dist/chunks/DLIOZCEG.js +1 -0
  444. package/build/dist/chunks/EA6IYKIB.js +1 -0
  445. package/build/dist/chunks/EC5W3UZD.js +1 -0
  446. package/build/dist/chunks/{B4MLWDPM.js → EG6M6SSO.js} +1 -1
  447. package/build/dist/chunks/EVANKNJV.js +1 -0
  448. package/build/dist/chunks/EYYUWFUR.js +1 -0
  449. package/build/dist/chunks/F2YH72GF.js +1 -0
  450. package/build/dist/chunks/F3TJCOVV.js +1 -0
  451. package/build/dist/chunks/F6WBPPBN.js +1 -0
  452. package/build/dist/chunks/FSPNOVKB.js +1 -0
  453. package/build/dist/chunks/G4PDM3MX.js +1 -0
  454. package/build/dist/chunks/G7UKNO2I.js +1 -0
  455. package/build/dist/chunks/GHDDVBPK.js +1 -0
  456. package/build/dist/chunks/GSI5COTD.js +1 -0
  457. package/build/dist/chunks/GZ5TW3WB.js +1 -0
  458. package/build/dist/chunks/H4S2ZCWK.js +1 -0
  459. package/build/dist/chunks/H6ED3RHF.js +1 -0
  460. package/build/dist/chunks/HFQS5344.js +1 -0
  461. package/build/dist/chunks/{Y3P6SUNL.js → HIMVOTIU.js} +1 -1
  462. package/build/dist/chunks/HL2MLC3O.js +1 -0
  463. package/build/dist/chunks/HNMOB76J.js +1 -0
  464. package/build/dist/chunks/HQVC6X3T.js +1 -0
  465. package/build/dist/chunks/HRG2VVPY.js +1 -0
  466. package/build/dist/chunks/IHGVCPVA.js +2 -0
  467. package/build/dist/chunks/ITV52TIE.js +1 -0
  468. package/build/dist/chunks/IUXOUKQN.js +1 -0
  469. package/build/dist/chunks/IWALIX7Q.js +1 -0
  470. package/build/dist/chunks/JC4SYMBV.js +18 -0
  471. package/build/dist/chunks/JREVERSC.js +1 -0
  472. package/build/dist/chunks/JRO6WTK4.js +1 -0
  473. package/build/dist/chunks/JRVTSGAT.js +1 -0
  474. package/build/dist/chunks/K463HFGC.js +1 -0
  475. package/build/dist/chunks/KQFDLDHL.js +1 -0
  476. package/build/dist/chunks/L24EOVLT.js +1 -0
  477. package/build/dist/chunks/LBEMCOND.js +1 -0
  478. package/build/dist/chunks/LI7FYINH.js +1 -0
  479. package/build/dist/chunks/MRWCFTMS.js +1 -0
  480. package/build/dist/chunks/MYBDO5SA.js +1 -0
  481. package/build/dist/chunks/N6RL3SUZ.js +1 -0
  482. package/build/dist/chunks/N77ANGBT.js +1 -0
  483. package/build/dist/chunks/{SJ7HDRI4.js → NBRMUFJP.js} +1 -1
  484. package/build/dist/chunks/NCQFWPAW.js +1 -0
  485. package/build/dist/chunks/NHCRJC5X.js +1 -0
  486. package/build/dist/chunks/NIOBE2LK.js +1 -0
  487. package/build/dist/chunks/NMFVXBTL.js +1 -0
  488. package/build/dist/chunks/NO57NGRV.js +1 -0
  489. package/build/dist/chunks/O47JXRXN.js +1 -0
  490. package/build/dist/chunks/O5SU2I3G.js +1 -0
  491. package/build/dist/chunks/{GIBF3YJO.js → OG5HRQU4.js} +1 -1
  492. package/build/dist/chunks/OJLMF5AR.js +1 -0
  493. package/build/dist/chunks/OJMYESQU.js +1 -0
  494. package/build/dist/chunks/OW7GOYKA.js +1 -0
  495. package/build/dist/chunks/P4UQGWCP.js +1 -0
  496. package/build/dist/chunks/PJ65ZOQ7.js +1 -0
  497. package/build/dist/chunks/Q2VMH2LB.js +1 -0
  498. package/build/dist/chunks/QCD33HMD.js +1 -0
  499. package/build/dist/chunks/QHHZDXRG.js +1 -0
  500. package/build/dist/chunks/QNPEKNWM.js +1 -0
  501. package/build/dist/chunks/QQWF6A4P.js +1 -0
  502. package/build/dist/chunks/QRUC7EFE.js +1 -0
  503. package/build/dist/chunks/QYKXWBZC.js +1 -0
  504. package/build/dist/chunks/QZM7CWZW.js +1 -0
  505. package/build/dist/chunks/QZTUMSQY.js +1 -0
  506. package/build/dist/chunks/R7D256HG.js +1 -0
  507. package/build/dist/chunks/RETS2ZEK.js +1 -0
  508. package/build/dist/chunks/RFJCG4NA.js +1 -0
  509. package/build/dist/chunks/RRSODRGT.js +1 -0
  510. package/build/dist/chunks/RTBOMWCB.js +1 -0
  511. package/build/dist/chunks/SDICP7BT.js +1 -0
  512. package/build/dist/chunks/SLSPWXR6.js +1 -0
  513. package/build/dist/chunks/SPRVVJXI.js +1 -0
  514. package/build/dist/chunks/SQ5BNSXR.js +1 -0
  515. package/build/dist/chunks/SQH7A4O3.js +1 -0
  516. package/build/dist/chunks/SXX52Y27.js +1 -0
  517. package/build/dist/chunks/T3NPRRTY.js +1 -0
  518. package/build/dist/chunks/T6MTTMLQ.js +1 -0
  519. package/build/dist/chunks/TAI63P6E.js +1 -0
  520. package/build/dist/chunks/TCS3ICNE.js +2 -0
  521. package/build/dist/chunks/TNRDCBGO.js +1 -0
  522. package/build/dist/chunks/TRCP7X5P.js +1 -0
  523. package/build/dist/chunks/TWR7BF72.js +1 -0
  524. package/build/dist/chunks/U3FMCX3L.js +1 -0
  525. package/build/dist/chunks/UIIJWIR6.js +1 -0
  526. package/build/dist/chunks/UMK564HS.js +1 -0
  527. package/build/dist/chunks/UPPYXY74.js +1 -0
  528. package/build/dist/chunks/UWOFA6GV.js +1 -0
  529. package/build/dist/chunks/UXG67LH3.js +1 -0
  530. package/build/dist/chunks/V6SDKPZS.js +1 -0
  531. package/build/dist/chunks/{GDP4JSAX.js → VJ3W2V3B.js} +1 -1
  532. package/build/dist/chunks/{BOFA26WU.js → VXLJRRKV.js} +1 -1
  533. package/build/dist/chunks/VY3P34PY.js +1 -0
  534. package/build/dist/chunks/WCKMQFGS.js +1117 -0
  535. package/build/dist/chunks/WDGPCPQJ.js +1 -0
  536. package/build/dist/chunks/WIDTTGSH.js +1 -0
  537. package/build/dist/chunks/WQZLYX64.js +1 -0
  538. package/build/dist/chunks/X5V2Z2NM.js +1 -0
  539. package/build/dist/chunks/XKRWJCYE.js +1 -0
  540. package/build/dist/chunks/XPFVT2EA.js +1 -0
  541. package/build/dist/chunks/XV6F3RET.js +1 -0
  542. package/build/dist/chunks/XW7RH7YY.js +1 -0
  543. package/build/dist/chunks/Y2IWPNEW.js +1 -0
  544. package/build/dist/chunks/YHPOXAKA.js +1 -0
  545. package/build/dist/chunks/YR3QJVJQ.js +1 -0
  546. package/build/dist/chunks/ZCGVBK5K.js +1 -0
  547. package/build/dist/chunks/ZGXNTWYG.js +1 -0
  548. package/build/dist/chunks/ZPM2MFXZ.js +1 -0
  549. package/build/dist/chunks/ZT67OMLW.js +1 -0
  550. package/build/dist/chunks/ZYR5LSVB.js +1 -0
  551. package/package.json +13 -9
  552. package/build/dist/chunks/2IRORNOH.js +0 -1
  553. package/build/dist/chunks/3PA2XT75.js +0 -1
  554. package/build/dist/chunks/52TGAWSI.js +0 -1
  555. package/build/dist/chunks/66DWJWDA.js +0 -1
  556. package/build/dist/chunks/73EABRFC.js +0 -1
  557. package/build/dist/chunks/A5KSG6LW.js +0 -1
  558. package/build/dist/chunks/B4FOHEBE.js +0 -1
  559. package/build/dist/chunks/BHR46XNW.js +0 -3
  560. package/build/dist/chunks/CQNZWL7F.js +0 -1
  561. package/build/dist/chunks/GN4QZ4JA.js +0 -1
  562. package/build/dist/chunks/I5CQ64EU.js +0 -1
  563. package/build/dist/chunks/ICCJ3TOO.js +0 -1
  564. package/build/dist/chunks/KL5YE7JA.js +0 -1
  565. package/build/dist/chunks/KVVTKM6E.js +0 -1
  566. package/build/dist/chunks/M6JGTQRY.js +0 -1
  567. package/build/dist/chunks/MK6L6TGI.js +0 -1
  568. package/build/dist/chunks/MOVRI5IV.js +0 -1
  569. package/build/dist/chunks/NA7HV7BR.js +0 -1
  570. package/build/dist/chunks/NGAI6GTU.js +0 -1
  571. package/build/dist/chunks/OBX7IZG5.js +0 -1
  572. package/build/dist/chunks/OSQ4AAM2.js +0 -2
  573. package/build/dist/chunks/OWEUVFB6.js +0 -1
  574. package/build/dist/chunks/P4G3EKF7.js +0 -1
  575. package/build/dist/chunks/QGDHMVPE.js +0 -1
  576. package/build/dist/chunks/SPAKOCR7.js +0 -1
  577. package/build/dist/chunks/T6O2L6HF.js +0 -1
  578. package/build/dist/chunks/TEVKPJV5.js +0 -1
  579. package/build/dist/chunks/YX4NVVSX.js +0 -1
  580. package/build/dist/chunks/ZUC6ILK2.js +0 -1
@@ -0,0 +1 @@
1
+ var e=[{name:"claimContinuousFee",type:"function",inputs:[{name:"market",type:"tuple",components:[{name:"chainId",type:"uint256",internalType:"uint256"},{name:"midnight",type:"address",internalType:"address"},{name:"loanToken",type:"address",internalType:"address"},{name:"collateralParams",type:"tuple[]",components:[{name:"token",type:"address",internalType:"address"},{name:"lltv",type:"uint256",internalType:"uint256"},{name:"liquidationCursor",type:"uint256",internalType:"uint256"},{name:"oracle",type:"address",internalType:"address"}],internalType:"struct CollateralParams[]"},{name:"maturity",type:"uint256",internalType:"uint256"},{name:"rcfThreshold",type:"uint256",internalType:"uint256"},{name:"enterGate",type:"address",internalType:"address"},{name:"liquidatorGate",type:"address",internalType:"address"}],internalType:"struct Market"},{name:"amount",type:"uint256",internalType:"uint256"},{name:"receiver",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{name:"claimSettlementFee",type:"function",inputs:[{name:"token",type:"address",internalType:"address"},{name:"amount",type:"uint256",internalType:"uint256"},{name:"receiver",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{name:"claimableSettlementFee",type:"function",inputs:[{name:"token",type:"address",internalType:"address"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"collateral",type:"function",inputs:[{name:"id",type:"bytes32",internalType:"bytes32"},{name:"user",type:"address",internalType:"address"},{name:"index",type:"uint256",internalType:"uint256"}],outputs:[{name:"",type:"uint128",internalType:"uint128"}],stateMutability:"view"},{name:"collateralBitmap",type:"function",inputs:[{name:"id",type:"bytes32",internalType:"bytes32"},{name:"user",type:"address",internalType:"address"}],outputs:[{name:"",type:"uint128",internalType:"uint128"}],stateMutability:"view"},{name:"configurator",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{name:"consumed",type:"function",inputs:[{name:"user",type:"address",internalType:"address"},{name:"group",type:"bytes32",internalType:"bytes32"}],outputs:[{name:"",type:"uint128",internalType:"uint128"}],stateMutability:"view"},{name:"continuousFee",type:"function",inputs:[{name:"id",type:"bytes32",internalType:"bytes32"}],outputs:[{name:"",type:"uint32",internalType:"uint32"}],stateMutability:"view"},{name:"continuousFeeCredit",type:"function",inputs:[{name:"id",type:"bytes32",internalType:"bytes32"}],outputs:[{name:"",type:"uint128",internalType:"uint128"}],stateMutability:"view"},{name:"credit",type:"function",inputs:[{name:"id",type:"bytes32",internalType:"bytes32"},{name:"user",type:"address",internalType:"address"}],outputs:[{name:"",type:"uint128",internalType:"uint128"}],stateMutability:"view"},{name:"debt",type:"function",inputs:[{name:"id",type:"bytes32",internalType:"bytes32"},{name:"user",type:"address",internalType:"address"}],outputs:[{name:"",type:"uint128",internalType:"uint128"}],stateMutability:"view"},{name:"defaultContinuousFee",type:"function",inputs:[{name:"loanToken",type:"address",internalType:"address"}],outputs:[{name:"",type:"uint32",internalType:"uint32"}],stateMutability:"view"},{name:"defaultSettlementFeeCbp",type:"function",inputs:[{name:"loanToken",type:"address",internalType:"address"},{name:"",type:"uint256",internalType:"uint256"}],outputs:[{name:"",type:"uint16",internalType:"uint16"}],stateMutability:"view"},{name:"enableLiquidationCursor",type:"function",inputs:[{name:"liquidationCursor",type:"uint256",internalType:"uint256"}],outputs:[],stateMutability:"nonpayable"},{name:"enableLltv",type:"function",inputs:[{name:"lltv",type:"uint256",internalType:"uint256"}],outputs:[],stateMutability:"nonpayable"},{name:"feeClaimer",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{name:"feeSetter",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{name:"isAuthorized",type:"function",inputs:[{name:"authorizer",type:"address",internalType:"address"},{name:"authorized",type:"address",internalType:"address"}],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{name:"isHealthy",type:"function",inputs:[{name:"market",type:"tuple",components:[{name:"chainId",type:"uint256",internalType:"uint256"},{name:"midnight",type:"address",internalType:"address"},{name:"loanToken",type:"address",internalType:"address"},{name:"collateralParams",type:"tuple[]",components:[{name:"token",type:"address",internalType:"address"},{name:"lltv",type:"uint256",internalType:"uint256"},{name:"liquidationCursor",type:"uint256",internalType:"uint256"},{name:"oracle",type:"address",internalType:"address"}],internalType:"struct CollateralParams[]"},{name:"maturity",type:"uint256",internalType:"uint256"},{name:"rcfThreshold",type:"uint256",internalType:"uint256"},{name:"enterGate",type:"address",internalType:"address"},{name:"liquidatorGate",type:"address",internalType:"address"}],internalType:"struct Market"},{name:"id",type:"bytes32",internalType:"bytes32"},{name:"borrower",type:"address",internalType:"address"}],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{name:"isLiquidationCursorEnabled",type:"function",inputs:[{name:"liquidationCursor",type:"uint256",internalType:"uint256"}],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{name:"isLltvEnabled",type:"function",inputs:[{name:"lltv",type:"uint256",internalType:"uint256"}],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{name:"lastAccrual",type:"function",inputs:[{name:"id",type:"bytes32",internalType:"bytes32"},{name:"user",type:"address",internalType:"address"}],outputs:[{name:"",type:"uint128",internalType:"uint128"}],stateMutability:"view"},{name:"lastLossFactor",type:"function",inputs:[{name:"id",type:"bytes32",internalType:"bytes32"},{name:"user",type:"address",internalType:"address"}],outputs:[{name:"",type:"uint128",internalType:"uint128"}],stateMutability:"view"},{name:"liquidate",type:"function",inputs:[{name:"market",type:"tuple",components:[{name:"chainId",type:"uint256",internalType:"uint256"},{name:"midnight",type:"address",internalType:"address"},{name:"loanToken",type:"address",internalType:"address"},{name:"collateralParams",type:"tuple[]",components:[{name:"token",type:"address",internalType:"address"},{name:"lltv",type:"uint256",internalType:"uint256"},{name:"liquidationCursor",type:"uint256",internalType:"uint256"},{name:"oracle",type:"address",internalType:"address"}],internalType:"struct CollateralParams[]"},{name:"maturity",type:"uint256",internalType:"uint256"},{name:"rcfThreshold",type:"uint256",internalType:"uint256"},{name:"enterGate",type:"address",internalType:"address"},{name:"liquidatorGate",type:"address",internalType:"address"}],internalType:"struct Market"},{name:"collateralIndex",type:"uint256",internalType:"uint256"},{name:"seizedAssets",type:"uint256",internalType:"uint256"},{name:"repaidUnits",type:"uint256",internalType:"uint256"},{name:"borrower",type:"address",internalType:"address"},{name:"postMaturityMode",type:"bool",internalType:"bool"},{name:"receiver",type:"address",internalType:"address"},{name:"callback",type:"address",internalType:"address"},{name:"data",type:"bytes",internalType:"bytes"}],outputs:[{name:"",type:"uint256",internalType:"uint256"},{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"nonpayable"},{name:"liquidationLocked",type:"function",inputs:[{name:"id",type:"bytes32",internalType:"bytes32"},{name:"user",type:"address",internalType:"address"}],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{name:"lossFactor",type:"function",inputs:[{name:"id",type:"bytes32",internalType:"bytes32"}],outputs:[{name:"",type:"uint128",internalType:"uint128"}],stateMutability:"view"},{name:"marketState",type:"function",inputs:[{name:"id",type:"bytes32",internalType:"bytes32"}],outputs:[{name:"totalUnits",type:"uint128",internalType:"uint128"},{name:"lossFactor",type:"uint128",internalType:"uint128"},{name:"withdrawable",type:"uint128",internalType:"uint128"},{name:"continuousFeeCredit",type:"uint128",internalType:"uint128"},{name:"settlementFeeCbp0",type:"uint16",internalType:"uint16"},{name:"settlementFeeCbp1",type:"uint16",internalType:"uint16"},{name:"settlementFeeCbp2",type:"uint16",internalType:"uint16"},{name:"settlementFeeCbp3",type:"uint16",internalType:"uint16"},{name:"settlementFeeCbp4",type:"uint16",internalType:"uint16"},{name:"settlementFeeCbp5",type:"uint16",internalType:"uint16"},{name:"settlementFeeCbp6",type:"uint16",internalType:"uint16"},{name:"continuousFee",type:"uint32",internalType:"uint32"},{name:"tickSpacing",type:"uint8",internalType:"uint8"}],stateMutability:"view"},{name:"multicall",type:"function",inputs:[{name:"calls",type:"bytes[]",internalType:"bytes[]"}],outputs:[],stateMutability:"nonpayable"},{name:"pendingFee",type:"function",inputs:[{name:"id",type:"bytes32",internalType:"bytes32"},{name:"user",type:"address",internalType:"address"}],outputs:[{name:"",type:"uint128",internalType:"uint128"}],stateMutability:"view"},{name:"position",type:"function",inputs:[{name:"id",type:"bytes32",internalType:"bytes32"},{name:"user",type:"address",internalType:"address"}],outputs:[{name:"credit",type:"uint128",internalType:"uint128"},{name:"pendingFee",type:"uint128",internalType:"uint128"},{name:"lastLossFactor",type:"uint128",internalType:"uint128"},{name:"lastAccrual",type:"uint128",internalType:"uint128"},{name:"debt",type:"uint128",internalType:"uint128"},{name:"collateralBitmap",type:"uint128",internalType:"uint128"}],stateMutability:"view"},{name:"repay",type:"function",inputs:[{name:"market",type:"tuple",components:[{name:"chainId",type:"uint256",internalType:"uint256"},{name:"midnight",type:"address",internalType:"address"},{name:"loanToken",type:"address",internalType:"address"},{name:"collateralParams",type:"tuple[]",components:[{name:"token",type:"address",internalType:"address"},{name:"lltv",type:"uint256",internalType:"uint256"},{name:"liquidationCursor",type:"uint256",internalType:"uint256"},{name:"oracle",type:"address",internalType:"address"}],internalType:"struct CollateralParams[]"},{name:"maturity",type:"uint256",internalType:"uint256"},{name:"rcfThreshold",type:"uint256",internalType:"uint256"},{name:"enterGate",type:"address",internalType:"address"},{name:"liquidatorGate",type:"address",internalType:"address"}],internalType:"struct Market"},{name:"units",type:"uint256",internalType:"uint256"},{name:"onBehalf",type:"address",internalType:"address"},{name:"callback",type:"address",internalType:"address"},{name:"data",type:"bytes",internalType:"bytes"}],outputs:[],stateMutability:"nonpayable"},{name:"setConfigurator",type:"function",inputs:[{name:"newConfigurator",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{name:"setConsumed",type:"function",inputs:[{name:"group",type:"bytes32",internalType:"bytes32"},{name:"amount",type:"uint128",internalType:"uint128"},{name:"onBehalf",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{name:"setDefaultContinuousFee",type:"function",inputs:[{name:"loanToken",type:"address",internalType:"address"},{name:"newContinuousFee",type:"uint256",internalType:"uint256"}],outputs:[],stateMutability:"nonpayable"},{name:"setDefaultSettlementFee",type:"function",inputs:[{name:"loanToken",type:"address",internalType:"address"},{name:"index",type:"uint256",internalType:"uint256"},{name:"newSettlementFee",type:"uint256",internalType:"uint256"}],outputs:[],stateMutability:"nonpayable"},{name:"setFeeClaimer",type:"function",inputs:[{name:"newFeeClaimer",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{name:"setFeeSetter",type:"function",inputs:[{name:"newFeeSetter",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{name:"setIsAuthorized",type:"function",inputs:[{name:"authorized",type:"address",internalType:"address"},{name:"newIsAuthorized",type:"bool",internalType:"bool"},{name:"onBehalf",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{name:"setMarketContinuousFee",type:"function",inputs:[{name:"id",type:"bytes32",internalType:"bytes32"},{name:"newContinuousFee",type:"uint256",internalType:"uint256"}],outputs:[],stateMutability:"nonpayable"},{name:"setMarketSettlementFee",type:"function",inputs:[{name:"id",type:"bytes32",internalType:"bytes32"},{name:"index",type:"uint256",internalType:"uint256"},{name:"newSettlementFee",type:"uint256",internalType:"uint256"}],outputs:[],stateMutability:"nonpayable"},{name:"setMarketTickSpacing",type:"function",inputs:[{name:"id",type:"bytes32",internalType:"bytes32"},{name:"newTickSpacing",type:"uint256",internalType:"uint256"}],outputs:[],stateMutability:"nonpayable"},{name:"setTickSpacingSetter",type:"function",inputs:[{name:"newTickSpacingSetter",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{name:"settlementFee",type:"function",inputs:[{name:"id",type:"bytes32",internalType:"bytes32"},{name:"timeToMaturity",type:"uint256",internalType:"uint256"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{name:"settlementFeeCbps",type:"function",inputs:[{name:"id",type:"bytes32",internalType:"bytes32"}],outputs:[{name:"",type:"uint16[7]",internalType:"uint16[7]"}],stateMutability:"view"},{name:"supplyCollateral",type:"function",inputs:[{name:"market",type:"tuple",components:[{name:"chainId",type:"uint256",internalType:"uint256"},{name:"midnight",type:"address",internalType:"address"},{name:"loanToken",type:"address",internalType:"address"},{name:"collateralParams",type:"tuple[]",components:[{name:"token",type:"address",internalType:"address"},{name:"lltv",type:"uint256",internalType:"uint256"},{name:"liquidationCursor",type:"uint256",internalType:"uint256"},{name:"oracle",type:"address",internalType:"address"}],internalType:"struct CollateralParams[]"},{name:"maturity",type:"uint256",internalType:"uint256"},{name:"rcfThreshold",type:"uint256",internalType:"uint256"},{name:"enterGate",type:"address",internalType:"address"},{name:"liquidatorGate",type:"address",internalType:"address"}],internalType:"struct Market"},{name:"collateralIndex",type:"uint256",internalType:"uint256"},{name:"assets",type:"uint256",internalType:"uint256"},{name:"onBehalf",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{name:"take",type:"function",inputs:[{name:"offer",type:"tuple",components:[{name:"market",type:"tuple",components:[{name:"chainId",type:"uint256",internalType:"uint256"},{name:"midnight",type:"address",internalType:"address"},{name:"loanToken",type:"address",internalType:"address"},{name:"collateralParams",type:"tuple[]",components:[{name:"token",type:"address",internalType:"address"},{name:"lltv",type:"uint256",internalType:"uint256"},{name:"liquidationCursor",type:"uint256",internalType:"uint256"},{name:"oracle",type:"address",internalType:"address"}],internalType:"struct CollateralParams[]"},{name:"maturity",type:"uint256",internalType:"uint256"},{name:"rcfThreshold",type:"uint256",internalType:"uint256"},{name:"enterGate",type:"address",internalType:"address"},{name:"liquidatorGate",type:"address",internalType:"address"}],internalType:"struct Market"},{name:"buy",type:"bool",internalType:"bool"},{name:"maker",type:"address",internalType:"address"},{name:"start",type:"uint256",internalType:"uint256"},{name:"expiry",type:"uint256",internalType:"uint256"},{name:"tick",type:"uint256",internalType:"uint256"},{name:"group",type:"bytes32",internalType:"bytes32"},{name:"callback",type:"address",internalType:"address"},{name:"callbackData",type:"bytes",internalType:"bytes"},{name:"receiverIfMakerIsSeller",type:"address",internalType:"address"},{name:"ratifier",type:"address",internalType:"address"},{name:"reduceOnly",type:"bool",internalType:"bool"},{name:"maxUnits",type:"uint128",internalType:"uint128"},{name:"maxAssets",type:"uint128",internalType:"uint128"},{name:"continuousFeeCap",type:"uint256",internalType:"uint256"}],internalType:"struct Offer"},{name:"ratifierData",type:"bytes",internalType:"bytes"},{name:"units",type:"uint256",internalType:"uint256"},{name:"taker",type:"address",internalType:"address"},{name:"receiverIfTakerIsSeller",type:"address",internalType:"address"},{name:"takerCallback",type:"address",internalType:"address"},{name:"takerCallbackData",type:"bytes",internalType:"bytes"}],outputs:[{name:"",type:"uint256",internalType:"uint256"},{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"nonpayable"},{name:"tickSpacing",type:"function",inputs:[{name:"id",type:"bytes32",internalType:"bytes32"}],outputs:[{name:"",type:"uint8",internalType:"uint8"}],stateMutability:"view"},{name:"tickSpacingSetter",type:"function",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{name:"toMarket",type:"function",inputs:[{name:"id",type:"bytes32",internalType:"bytes32"}],outputs:[{name:"",type:"tuple",components:[{name:"chainId",type:"uint256",internalType:"uint256"},{name:"midnight",type:"address",internalType:"address"},{name:"loanToken",type:"address",internalType:"address"},{name:"collateralParams",type:"tuple[]",components:[{name:"token",type:"address",internalType:"address"},{name:"lltv",type:"uint256",internalType:"uint256"},{name:"liquidationCursor",type:"uint256",internalType:"uint256"},{name:"oracle",type:"address",internalType:"address"}],internalType:"struct CollateralParams[]"},{name:"maturity",type:"uint256",internalType:"uint256"},{name:"rcfThreshold",type:"uint256",internalType:"uint256"},{name:"enterGate",type:"address",internalType:"address"},{name:"liquidatorGate",type:"address",internalType:"address"}],internalType:"struct Market"}],stateMutability:"view"},{name:"totalUnits",type:"function",inputs:[{name:"id",type:"bytes32",internalType:"bytes32"}],outputs:[{name:"",type:"uint128",internalType:"uint128"}],stateMutability:"view"},{name:"touchMarket",type:"function",inputs:[{name:"market",type:"tuple",components:[{name:"chainId",type:"uint256",internalType:"uint256"},{name:"midnight",type:"address",internalType:"address"},{name:"loanToken",type:"address",internalType:"address"},{name:"collateralParams",type:"tuple[]",components:[{name:"token",type:"address",internalType:"address"},{name:"lltv",type:"uint256",internalType:"uint256"},{name:"liquidationCursor",type:"uint256",internalType:"uint256"},{name:"oracle",type:"address",internalType:"address"}],internalType:"struct CollateralParams[]"},{name:"maturity",type:"uint256",internalType:"uint256"},{name:"rcfThreshold",type:"uint256",internalType:"uint256"},{name:"enterGate",type:"address",internalType:"address"},{name:"liquidatorGate",type:"address",internalType:"address"}],internalType:"struct Market"}],outputs:[{name:"",type:"bytes32",internalType:"bytes32"}],stateMutability:"nonpayable"},{name:"updatePosition",type:"function",inputs:[{name:"market",type:"tuple",components:[{name:"chainId",type:"uint256",internalType:"uint256"},{name:"midnight",type:"address",internalType:"address"},{name:"loanToken",type:"address",internalType:"address"},{name:"collateralParams",type:"tuple[]",components:[{name:"token",type:"address",internalType:"address"},{name:"lltv",type:"uint256",internalType:"uint256"},{name:"liquidationCursor",type:"uint256",internalType:"uint256"},{name:"oracle",type:"address",internalType:"address"}],internalType:"struct CollateralParams[]"},{name:"maturity",type:"uint256",internalType:"uint256"},{name:"rcfThreshold",type:"uint256",internalType:"uint256"},{name:"enterGate",type:"address",internalType:"address"},{name:"liquidatorGate",type:"address",internalType:"address"}],internalType:"struct Market"},{name:"user",type:"address",internalType:"address"}],outputs:[{name:"",type:"uint128",internalType:"uint128"},{name:"",type:"uint128",internalType:"uint128"},{name:"",type:"uint128",internalType:"uint128"}],stateMutability:"nonpayable"},{name:"updatePositionView",type:"function",inputs:[{name:"market",type:"tuple",components:[{name:"chainId",type:"uint256",internalType:"uint256"},{name:"midnight",type:"address",internalType:"address"},{name:"loanToken",type:"address",internalType:"address"},{name:"collateralParams",type:"tuple[]",components:[{name:"token",type:"address",internalType:"address"},{name:"lltv",type:"uint256",internalType:"uint256"},{name:"liquidationCursor",type:"uint256",internalType:"uint256"},{name:"oracle",type:"address",internalType:"address"}],internalType:"struct CollateralParams[]"},{name:"maturity",type:"uint256",internalType:"uint256"},{name:"rcfThreshold",type:"uint256",internalType:"uint256"},{name:"enterGate",type:"address",internalType:"address"},{name:"liquidatorGate",type:"address",internalType:"address"}],internalType:"struct Market"},{name:"id",type:"bytes32",internalType:"bytes32"},{name:"user",type:"address",internalType:"address"}],outputs:[{name:"",type:"uint128",internalType:"uint128"},{name:"",type:"uint128",internalType:"uint128"},{name:"",type:"uint128",internalType:"uint128"}],stateMutability:"view"},{name:"withdraw",type:"function",inputs:[{name:"market",type:"tuple",components:[{name:"chainId",type:"uint256",internalType:"uint256"},{name:"midnight",type:"address",internalType:"address"},{name:"loanToken",type:"address",internalType:"address"},{name:"collateralParams",type:"tuple[]",components:[{name:"token",type:"address",internalType:"address"},{name:"lltv",type:"uint256",internalType:"uint256"},{name:"liquidationCursor",type:"uint256",internalType:"uint256"},{name:"oracle",type:"address",internalType:"address"}],internalType:"struct CollateralParams[]"},{name:"maturity",type:"uint256",internalType:"uint256"},{name:"rcfThreshold",type:"uint256",internalType:"uint256"},{name:"enterGate",type:"address",internalType:"address"},{name:"liquidatorGate",type:"address",internalType:"address"}],internalType:"struct Market"},{name:"units",type:"uint256",internalType:"uint256"},{name:"onBehalf",type:"address",internalType:"address"},{name:"receiver",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{name:"withdrawCollateral",type:"function",inputs:[{name:"market",type:"tuple",components:[{name:"chainId",type:"uint256",internalType:"uint256"},{name:"midnight",type:"address",internalType:"address"},{name:"loanToken",type:"address",internalType:"address"},{name:"collateralParams",type:"tuple[]",components:[{name:"token",type:"address",internalType:"address"},{name:"lltv",type:"uint256",internalType:"uint256"},{name:"liquidationCursor",type:"uint256",internalType:"uint256"},{name:"oracle",type:"address",internalType:"address"}],internalType:"struct CollateralParams[]"},{name:"maturity",type:"uint256",internalType:"uint256"},{name:"rcfThreshold",type:"uint256",internalType:"uint256"},{name:"enterGate",type:"address",internalType:"address"},{name:"liquidatorGate",type:"address",internalType:"address"}],internalType:"struct Market"},{name:"collateralIndex",type:"uint256",internalType:"uint256"},{name:"assets",type:"uint256",internalType:"uint256"},{name:"onBehalf",type:"address",internalType:"address"},{name:"receiver",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{name:"withdrawable",type:"function",inputs:[{name:"id",type:"bytes32",internalType:"bytes32"}],outputs:[{name:"",type:"uint128",internalType:"uint128"}],stateMutability:"view"}];export{e as a};
@@ -0,0 +1 @@
1
+ import{a as o}from"./5YS5V2LK.js";import{createHash as c}from"node:crypto";function f(n){if(n===null||typeof n!="object"||Array.isArray(n))return!1;let t=Object.getPrototypeOf(n);return t===Object.prototype||t===null}function s(n){if(n===null||typeof n=="boolean"||typeof n=="string")return JSON.stringify(n);if(typeof n=="number"){if(!Number.isSafeInteger(n))throw new o("Canonical JSON numbers must be safe integers; encode base-unit amounts as decimal strings.");return Object.is(n,-0)?"0":String(n)}if(typeof n=="bigint")throw new o("BigInt values must be encoded as decimal strings before JSON serialization.");if(Array.isArray(n)){let t=[];for(let r=0;r<n.length;r++){if(!Object.prototype.hasOwnProperty.call(n,r))throw new o(`Sparse arrays are not permitted in canonical JSON (missing index ${r}).`);t.push(s(n[r]))}return`[${t.join(",")}]`}if(f(n)){let t=Object.keys(n).sort((e,i)=>e<i?-1:e>i?1:0),r=[];for(let e of t){let i=n[e];if(i===void 0)throw new o(`Canonical JSON object key "${e}" must not be undefined.`);r.push(`${JSON.stringify(e)}:${s(i)}`)}return`{${r.join(",")}}`}throw new o("Unsupported value in canonical JSON.")}function p(n){return new TextEncoder().encode(s(n))}function g(n){return`0x${c("sha256").update(p(n)).digest("hex")}`}export{s as a,p as b,g as c};
@@ -0,0 +1 @@
1
+ import{a as de}from"./UIIJWIR6.js";import{c as ce}from"./D6VP3N27.js";import{a as W}from"./QZM7CWZW.js";import{a as L,b as P}from"./VJ3W2V3B.js";import{a as O}from"./OG5HRQU4.js";import{a as ae}from"./P4UQGWCP.js";import{a as E}from"./6IM6A5VA.js";import{b as re,c as ie}from"./MYBDO5SA.js";import{a as ne,b as j,c as se}from"./5HCXZWUH.js";import{l as te,n as R,o as oe}from"./IWALIX7Q.js";import{a as g,b as U,c as $,d as Y,i as _,j as ee,s as D}from"./XPFVT2EA.js";import{a as k}from"./5YS5V2LK.js";import{a as w,b as H,c as V}from"./JXOEJPJ4.js";import{decodeFunctionResult as Ce,encodeFunctionData as xe,erc20Abi as G,getAddress as h,isAddress as K,parseAbi as Q}from"viem";var pe="https://api.robinhood.com/rhj/assets",Oe={address:L,symbol:"ETH",decimals:18,chainId:g},Z={address:h(ee),symbol:"USDG",decimals:Y,chainId:g},z={address:h(_[4663].tokens.WETH.address),symbol:"WETH",decimals:18,chainId:g},ye={address:h(_[4663].meridian.CollateralToken_USDe.address),symbol:"USDe",decimals:18,chainId:g};function M(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function q(e,s=g,t={}){let n=Array.isArray(e)?e:M(e)&&Array.isArray(e.assets)?e.assets:void 0;if(!n)throw new k("Official stock asset list response is malformed.");let a=new Map,i=new Map;if(n.length>1e4)throw new k("Official stock asset list exceeds the lookup limit.");for(let o of n){if(!M(o))continue;let r=o;if(typeof r.tokenSymbol!="string"||!r.tokenSymbol.trim()||!Array.isArray(r.deployments))continue;if(r.deployments.length>100)throw new k("Official stock deployment list exceeds the lookup limit.");let l=r.tokenSymbol.trim();if(!/^[A-Za-z0-9.$_-]{1,32}$/.test(l))throw new k(`Invalid official stock ticker ${w(l)}.`);let m=typeof r.tokenDecimals=="number"&&Number.isInteger(r.tokenDecimals)&&r.tokenDecimals>=0&&r.tokenDecimals<=255?r.tokenDecimals:18;for(let u of r.deployments){if(!M(u))continue;let f=u;if(f.chainId!==s||typeof f.contractAddress!="string"||!K(f.contractAddress,{strict:!1}))continue;let b=h(f.contractAddress),p=b.toLowerCase(),C=l.toUpperCase(),c=i.get(C);if(!t.allowAmbiguousSymbols&&c&&c!==p)throw new k(`Ambiguous official stock ticker ${w(l)} across multiple addresses.`);i.set(C,p),a.set(p,{address:b,symbol:l,decimals:m,chainId:s,...t.includeNames&&typeof r.tokenName=="string"&&r.tokenName.trim()?{name:r.tokenName.trim()}:{}})}}return[...a.values()]}function Ie(e,s){if(typeof e.address!="string"||!K(e.address,{strict:!1}))return!1;let t=e.chainId??g,n=e.address.toLowerCase();return s.some(a=>a.chainId===t&&a.address.toLowerCase()===n&&a.symbol===e.symbol)}function le(e,s){E(e.address);let t=e.chainId??g,n=h(e.address),a=n.toLowerCase(),i=e.symbol.trim().toUpperCase(),o=s.find(l=>l.chainId===t&&l.address.toLowerCase()===a),r=s.find(l=>l.chainId===t&&l.symbol.toUpperCase()===i);if(o){if(e.symbol!==o.symbol)throw new k(`Token at ${n} does not match official stock ticker ${w(o.symbol)} (received ${w(e.symbol)}).`);if(e.decimals!==void 0&&e.decimals!==o.decimals)throw new k(`Token ${w(o.symbol)} at ${n} does not match official decimals ${o.decimals}.`);return o}if(r)throw new k(`Token symbol ${w(e.symbol)} at ${n} does not match the official stock contract address ${r.address}.`);return{address:n,symbol:e.symbol.trim(),decimals:e.decimals??18,chainId:t}}var ue=new WeakMap,J=new WeakMap;function B(e,s){return(J.get(e)??R)(s)}async function be(e){let s=e?.http??re(),t=e?.url??pe,n=e?.chainId??g,a=se(s),i=ue.get(a);i||(i=new ne(3e4),ue.set(a,i));let{value:o}=await B(s,()=>i.read(`${n}:${t}`,async()=>{let r=await R(l=>ie(a,t,{method:"GET",signal:l},m=>M(m)||Array.isArray(m)));return q(r,n,{allowAmbiguousSymbols:!0}),r}));return q(o,n,e)}var De=Q(["function aggregate3((address target, bool allowFailure, bytes callData)[] calls) payable returns ((bool success, bytes returnData)[] returnData)"]);function me(e){let s=e,t=new Set;for(;s&&typeof s=="object"&&!t.has(s)&&t.size<10;){t.add(s);let n=s;if(n.name==="ContractFunctionZeroDataError"||n.name==="AbiDecodingZeroDataError")return!0;let a=`${typeof n.shortMessage=="string"?n.shortMessage:""} ${typeof n.message=="string"?n.message:""}`;if(/returned no data \("0x"\)|Cannot decode zero data/i.test(a))return!0;s=n.cause}return!1}function Pe(e){return e instanceof k?/RPC endpoint|too many requests|malformed JSON/i.test(e.message):e instanceof Error?/fetch failed|network|ECONNREFUSED|ETIMEDOUT|HTTP \d{3}|rate limit|too many requests/i.test(e.message):!1}async function _e(e,s,t){if(typeof e.getCode=="function")try{let n=await e.getCode({address:s});return!n||n==="0x"}catch{return me(t)}return me(t)}async function fe(e,s,t){if(s.length===0)return[];let n=await Promise.allSettled(s.map(a=>e.readContract({address:a.address,abi:G,functionName:"balanceOf",args:[t]})));if(n.every(a=>a.status==="rejected")&&n[0]?.status==="rejected"&&Pe(n[0].reason))throw n[0].reason;return n.map(a=>{if(a.status!=="fulfilled"||a.value===void 0||a.value===null)return{ok:!1};try{let i=typeof a.value=="bigint"?a.value:BigInt(a.value);return i>=0n?{ok:!0,amount:i}:{ok:!1}}catch{return{ok:!1}}})}async function we(e,s,t,n){if(t.length===0)return[];let a=te(s,e);if(!a)return fe(e,t,n);let i=t.map(r=>({target:r.address,allowFailure:!0,callData:xe({abi:G,functionName:"balanceOf",args:[n]})})),o;try{o=await e.readContract({address:a,abi:De,functionName:"aggregate3",args:[i]})}catch(r){if(await _e(e,a,r))return fe(e,t,n);throw r}if(!Array.isArray(o)||o.length!==t.length)throw new k("Multicall3 aggregate3 returned an invalid result list.");return o.map(r=>{let l=r,m=Array.isArray(l)?l[0]:l?.success,u=Array.isArray(l)?l[1]:l?.returnData;if(!m||typeof u!="string"||u==="0x")return{ok:!1};try{let f=Ce({abi:G,functionName:"balanceOf",data:u}),b=typeof f=="bigint"?f:BigInt(f);return b>=0n?{ok:!0,amount:b}:{ok:!1}}catch{return{ok:!1}}})}async function Xe(e,s={}){E(e);let t=h(e),n=s.chainId??g,a=s.client??oe(s.rpcUrl,n),i=[];if(s.stockTokens?i=[...s.stockTokens]:s.stockAssetsPayload!==void 0?i=q(s.stockAssetsPayload,n):s.includeStockTokens!==!1&&n!==U&&(i=await be({http:s.http,url:s.stockAssetsUrl,chainId:n})),s.tokens)for(let c of s.tokens)le(c,i);let o=n===g?[Z,z,ye,...s.oakTokenAddress||process.env.OAK_TOKEN_ADDRESS?[{address:h(s.oakTokenAddress??process.env.OAK_TOKEN_ADDRESS),symbol:"OAK",decimals:$,chainId:n}]:[]]:n===U?[{...Z,address:h(D.testnet.usdg),chainId:n},{...z,address:h(D.testnet.weth),chainId:n},...s.oakTokenAddress?[{address:h(s.oakTokenAddress),symbol:"OAK",decimals:$,chainId:n}]:[]]:[],r=n===g&&s.includePoolTokens!==!1?ae.vaults.flatMap(c=>[{address:h(c.tokenAddress),symbol:h(c.tokenAddress),decimals:c.tokenDecimals,chainId:n},{address:h(c.earnContractAddress),symbol:h(c.earnContractAddress),decimals:18,chainId:n}]):[],l=new Set(r.map(c=>c.address.toLowerCase())),m=[],u=new Set;for(let c of[...o,...i,...s.tokens??[],...r]){if(c.chainId!==n||P(c.address)===L)continue;let d=le(c,i),y=d.address.toLowerCase();u.has(y)||(u.add(y),m.push(d))}let[f,b]=await Promise.all([a.getBalance({address:t}),we(a,n,m,t)]),p=[],C={address:L,symbol:"ETH",decimals:18,chainId:n};(f>0n||s.includeZero)&&p.push({token:C,amount:f.toString()});for(let c=0;c<m.length;c++){let d=m[c],y=o.some(A=>S(A.address,d.address))||i.some(A=>S(A.address,d.address))?d.symbol:w(d.symbol),v=b[c]??{ok:!1};if(!v.ok){p.push({token:{address:d.address,symbol:y,decimals:d.decimals,chainId:d.chainId},amount:"unavailable"});continue}let T=v.amount;if(T>0n&&l.has(d.address.toLowerCase()))try{let[A,N]=await Promise.all([O(a,n,d.address,"symbol"),O(a,n,d.address,"decimals")]);y=w(A),d.decimals=N}catch{}(T>0n||s.includeZero)&&p.push({token:{address:d.address,symbol:y,decimals:d.decimals,chainId:d.chainId},amount:T.toString()})}return p}async function Qe(e,s,t){if(E(e),s.length>1e4)throw new k("Journal token discovery exceeds the balance lookup limit.");let n=[...new Set(s.map(o=>(E(o),h(o))))].filter(o=>P(o)!==L).map(o=>({address:o,symbol:o,decimals:0,chainId:t.chainId})),a=await we(t.client,t.chainId,n,h(e)),i=n.flatMap((o,r)=>{let l=a[r];return l.ok&&l.amount===0n?[]:[{token:o,amount:l.ok?l.amount.toString():"unavailable"}]});return Promise.all(i.map(async({token:o,amount:r})=>{let[l,m]=await Promise.all([O(t.client,t.chainId,o.address,"symbol").catch(()=>o.address),O(t.client,t.chainId,o.address,"decimals").catch(()=>{throw new k(`Token decimals are unavailable for journal-received token ${o.address}; retry balances when RPC metadata is available.`)})]);return{token:{...o,symbol:w(l),decimals:m},amount:r}}))}var S=(e,s)=>e.toLowerCase()===s.toLowerCase(),x=e=>V(e.normalize("NFKC")).toLowerCase().replace(/[^\p{L}\p{N}]/gu,"");function ge(e){let s=e.context.network??"mainnet",{chainId:t,usdg:n,weth:a}=D[s],i=(o,r,l)=>({...o,address:P(h(o.address)),name:r,kind:l,verified:!0,source:"Oak fixed addresses",warnings:[]});return[i({...Oe,chainId:t},"Ether","native"),i({...Z,address:n,chainId:t},"Global Dollar","stablecoin"),i({...z,address:a,chainId:t},"Wrapped Ether","wrapped"),...s==="mainnet"?[i(ye,"USDe","stablecoin")]:[],...e.oakTokenAddress?[i({address:e.oakTokenAddress,symbol:"OAK",decimals:$,chainId:t},"Oak","oak")]:[]]}async function Te(e){if(e.context.network==="testnet")return[];let s=await be({http:e.context.http,includeNames:!0,allowAmbiguousSymbols:!0});return s.filter(t=>Ie(t,s)).map(t=>({...t,name:t.name??t.symbol,kind:"official_stock",verified:!0,source:pe,warnings:[]}))}async function X(e,s,t=!0){let{chainId:n}=D[s.context.network??"mainnet"],a=s.context.clientFor(n);if(await a.getChainId()!==n)throw new k(`Token lookup requires Robinhood Chain ${n}.`);let[i,o,r]=await Promise.all([B(a,()=>O(a,n,e,"name")).catch(l=>{if(t)throw l;return""}),B(a,()=>O(a,n,e,"symbol")),B(a,()=>O(a,n,e,"decimals"))]);if(typeof i!="string"||t&&!i.trim()||typeof o!="string"||!o.trim()||!Number.isInteger(r)||r<0||r>255)throw new k("The contract returned invalid token metadata.");return{address:h(e),name:i||o,symbol:o,decimals:r,chainId:n}}async function ke(e,s){let t=await s.context.clientFor(g).readContract({address:_[g].clanker.factory.address,abi:Q(["function tokenDeploymentInfo(address) view returns ((address,address,address,address[]))"]),functionName:"tokenDeploymentInfo",args:[e]});return Array.isArray(t)&&t.length===4&&typeof t[0]=="string"&&S(t[0],e)}async function Ee(e,s){let t=s.context.clientFor(g),n=_[g].poolsTrade,a=[n.instantLaunchStrategyFeesOn.address,n.instantLaunchStrategyFeesOff.address],i=Q(["event TokenLaunched(bytes32 indexed poolId,address indexed token,address indexed feeSplitter,(address currency0,address currency1,uint24 fee,int24 tickSpacing,address hooks) poolKey)"])[0],o=await t.getBlockNumber(),r=new Set,l=0,m=0;for(let u=63127652n;u<=o;u+=10000000n){if(++l>Ae)throw new k("Token origin scan limit reached.");let f=u+9999999n>o?o:u+9999999n,b=await t.getLogs({address:a,event:i,args:{token:e},fromBlock:u,toBlock:f,strict:!0});for(let p of b){if(p.removed||!a.some(c=>S(c,p.address))||!p.args.token||!S(p.args.token,e)||!p.transactionHash||r.has(p.transactionHash))continue;if(r.add(p.transactionHash),++m>20)throw new k("Token origin receipt limit reached.");let C=await t.getTransactionReceipt({hash:p.transactionHash});if(de(C).some(c=>S(c.token,e)))return h(C.from)}}}var Ae=5,Le=100,Ne=500,Fe=3e4;function Se(e){let s=Date.now()+Fe,t=0,n=new Map,a=o=>{let r=s-Date.now();if(r<=0)throw new k("Token lookup time budget reached; results are partial.");return R(o,Math.min(1e4,r))},i=j((o,r)=>a(async l=>{let m=await e.context.http(o,{...r,signal:l});return new Proxy(m,{get(u,f){if(f==="json")return()=>a(()=>u.json());let b=Reflect.get(u,f,u);return typeof b=="function"?b.bind(u):b}})}),e.context.http);return J.set(i,a),{...e,context:{...e.context,http:i,clientFor:o=>{if(!n.has(o)){let r=e.context.clientFor(o),l=m=>{if(++t>Ne)throw new k("Token lookup RPC budget reached; results are partial.");return a(m)};n.set(o,j(new Proxy(r,{get(m,u){let f=Reflect.get(m,u);return typeof f!="function"?f:(...b)=>l(()=>f.apply(m,b))}}),r)),J.set(n.get(o),l)}return n.get(o)}}}}function he(e){return e.source==="Oak fixed addresses"?e:{...e,symbol:w(e.symbol),name:w(e.name)}}async function Ve(e,s){if(s=Se(s),typeof e!="string"||e.length>256||!x(e))throw new k("Provide a token name, symbol or address to find_token.");let t=x(e),n=K(e.trim(),{strict:!1})?P(h(e.trim())):void 0,{chainId:a}=D[s.context.network??"mainnet"],i=[],o=ge(s),r=!1;try{o.push(...await Te(s))}catch{r=!0,i.push("The official stock list is unavailable; results are partial and stock identities and lookalikes could not be checked.")}let l=c=>n?S(c.address,n):x(c.symbol).includes(t)||x(c.name).includes(t),m=o.filter(l),u=[],f=(c,d)=>[c.symbol,c.name??""].some(y=>[d.symbol,d.name].some(v=>{let T=x(y),A=x(v);return!!T&&!!A&&(T.includes(A)||A.includes(T))})),b=(c,d={})=>{if(u.some(T=>S(T.address,c.address)))return;let y=[`Token ${w(c.symbol)} at ${c.address} is an unverified ${d.launchpad?"launchpad token":"token"}. Use its address, not its name or symbol.`];(H(c.symbol)||H(c.name)||o.some(T=>!S(T.address,c.address)&&f(c,T)))&&y.push(`Lookalike warning: ${w(c.symbol)} at ${c.address} resembles a verified token's name or symbol.`);let v={...c,...d,kind:d.launchpad?"launchpad":"erc20",verified:!1,source:d.launchpad?`${d.launchpad} origin and on-chain metadata; not a verified token`:"On-chain metadata only",warnings:y};u.push(v),i.push(...y)};if(n&&!m.length){let c=await X(n,s),d={};if(a===g){try{await ke(n,s)&&(d.launchpad="clanker")}catch{i.push("Clanker origin lookup was unavailable for this address.")}if(d.launchpad==="clanker")try{let v=(await W(s.context,{q:n,limit:20})).tokens.find(T=>S(T.contract_address,n));v&&(d.creator=h(v.msg_sender),d.creatorSource="Clanker indexer msg_sender")}catch{i.push("Clanker creator lookup is unavailable.")}else try{let y=await ce(s.context,n);d.launchpad="pons",d.creator=h(y.creator),d.creatorSource="Pons factory deployer"}catch{i.push("Pons launch origin could not be confirmed for this address.")}if(!d.launchpad)try{let y=await Ee(n,s);y&&(d.launchpad="pools.trade",d.creator=y,d.creatorSource="Launch transaction sender; may be a relayer")}catch{r=!0,i.push("pools.trade launch receipt lookup is unavailable; origin results are partial.")}}b(c,d)}else if(!n&&a===g){let c=new Set,d=new Set,y,v=0,T=0;try{do{if(++v>Ae)throw new k("Token search page limit reached.");let A=await W(s.context,{q:e.trim(),limit:20,...y?{cursor:y}:{}});for(let N of A.tokens){if(++T>Le)throw new k("Token candidate limit reached.");let I=h(N.contract_address);if(!(d.has(I)||o.some(F=>S(F.address,I)))){d.add(I);try{let F=await X(I,s);if(!l(F))continue;let ve=await ke(I,s)?{launchpad:"clanker",creator:h(N.msg_sender),creatorSource:"Clanker indexer msg_sender"}:{};b(F,ve)}catch{r=!0,i.push(`Could not read Clanker candidate ${I}; it was omitted from these partial results.`)}}}if(A.cursor&&c.has(A.cursor))throw new k("The Clanker indexer repeated a pagination cursor.");A.cursor&&c.add(A.cursor),y=A.cursor??void 0}while(y)}catch{r=!0,i.push("Clanker name search is unavailable, incomplete or reached its scan limit; results are partial.")}i.push("Pons and pools.trade require a token address; name search does not cover those launchpads.")}a===U&&i.push("Testnet lookup covers pinned tokens and explicit token addresses; stock and launchpad discovery are unavailable.");let p=c=>[...new Map(c.map(d=>[d.address.toLowerCase(),d])).values()],C=p([...m,...u]);for(let c of C)if(C.some(d=>!S(d.address,c.address)&&(x(c.symbol)===x(d.symbol)||x(c.name)===x(d.name)))){let d=`Duplicate warning: several tokens share the symbol or name of ${c.address}. Choose the intended address; do not guess from the name.`;c.warnings.push(d),i.push(d)}return m.length>1&&i.push("Several verified tokens match this search, including possible substring matches. Choose an exact address; the search does not select a quote token."),{query:w(e.trim()),chainId:a,partial:r,matches:p(m).map(he),unverified:p(u).map(he),warnings:i}}async function Ye(e,s){if(typeof e!="string"||!e.trim())throw new k("Provide a token address or verified symbol; use find_token to look it up.");let t=e.trim(),n=K(t,{strict:!1})?P(h(t)):void 0,a=ge(s),i=n&&a.find(f=>S(f.address,n));if(i)return i;let o=[],r=[];try{o=await Te(s)}catch{if(!n)throw new k("The official stock list is unavailable; stock identities and symbol ambiguity cannot be checked. Use find_token and retry, or quote an explicit address.");r.push("The official stock list is unavailable; this address is unverified.")}if(n){let f=o.find(p=>S(p.address,n));if(f)return{...f,name:w(f.name)};let b=await X(n,Se(s),!1);return{...b,symbol:w(b.symbol),name:w(b.name),kind:"erc20",verified:!1,source:"On-chain metadata only",warnings:[...r,"This token address is unverified. On-chain names and symbols do not prove identity."]}}let l=t.toUpperCase()==="$OAK"?"OAK":t.toUpperCase(),m=[...a,...o].filter(f=>f.symbol.toUpperCase()===l);if(m.length!==1)throw new k(`Token symbol ${w(t)} is ${m.length?"ambiguous":"unverified"}; use find_token and choose an explicit address.`);let u=m[0];return u.source==="Oak fixed addresses"?u:{...u,name:w(u.name)}}export{pe as a,Oe as b,Z as c,z as d,ye as e,q as f,Ie as g,le as h,be as i,De as j,Xe as k,Qe as l,Ve as m,Ye as n};
@@ -0,0 +1 @@
1
+ import{a as b,b as w,e as R,f as N,g as S}from"./64AF7ECA.js";import{a as h}from"./UWOFA6GV.js";import{c as g,g as E}from"./73N3TOJL.js";import{a as d}from"./XPFVT2EA.js";import{a as r}from"./5YS5V2LK.js";import{encodeFunctionData as v,erc20Abi as I,getAddress as _,parseAbi as O,zeroAddress as C}from"viem";var k=_("0x2ac03e14cfe755426daaee0a4994184ce81482f8"),a=_("0x7a8f74c2585f84c781f951b7f2ff21337d5b630b"),o=O(["function RESOURCE() view returns (address)","function TOKEN_JAR() view returns (address)","function threshold() view returns (uint256)","function nonce() view returns (uint256)","function release(uint256 nonce,address[] assets,address recipient)"]),B={assets:{type:"array",minItems:1,maxItems:20,items:g},nonce:h(),maxResourceAmount:h()};function F(n){return{tools:[!1,!0].map(i=>({name:i?"uniswap_token_jar_release":"uniswap_token_jar",inputSchema:{type:"object",additionalProperties:!1,required:i?["assets","nonce","maxResourceAmount"]:["assets"],properties:B},async execute(t,m){if(S(t,i?["assets","nonce","maxResourceAmount"]:["assets"]),!Array.isArray(t.assets)||t.assets.length<1||t.assets.length>20)throw new r("Provide 1 to 20 unique assets to release.");let c=t.assets.map(w);if(new Set(c).size!==c.length)throw new r("Token Jar assets must be unique.");let s=n.clientFor(d),e=await s.getBlockNumber(),[x,P,u,f]=await Promise.all([s.readContract({address:a,abi:o,functionName:"RESOURCE",blockNumber:e}),s.readContract({address:a,abi:o,functionName:"TOKEN_JAR",blockNumber:e}),s.readContract({address:a,abi:o,functionName:"threshold",blockNumber:e}),s.readContract({address:a,abi:o,functionName:"nonce",blockNumber:e})]);if(!E(String(P),k)||x===C)throw new r("Releaser deployment does not match the pinned Token Jar and ERC-20 resource.");let p=await R(n,w(x),e),T=await Promise.all(c.map(async l=>({token:await R(n,l,e),amount:(l===C?await s.getBalance({address:k,blockNumber:e}):await s.readContract({address:l,abi:I,functionName:"balanceOf",args:[k],blockNumber:e})).toString()}))),y={payment:{token:p,amount:String(u)},nonce:String(f),assets:T,blockNumber:e.toString()};if(!i)return{...y,summary:"Resource payment buys the listed jar contents; no profit is promised. Release uses a nonce to refuse competing releases."};let J=b(t.maxResourceAmount,"maxResourceAmount"),A=b(t.nonce,"nonce",256,!0);if(A!==BigInt(f)||BigInt(u)>J)throw new r("Token Jar nonce or resource cost changed. Read uniswap_token_jar and confirm fresh terms.");let j=[n.approval(p.address,a,String(u),d),n.unsignedTx({to:a,data:v({abi:o,functionName:"release",args:[A,c,m]}),value:"0",chainId:d,description:`Pay ${u} base units of ${p.address} to release Token Jar assets to ${m}, nonce ${f}.`})];return{...await N(n,j,m,"Exchange resource tokens for Token Jar assets. Check the full payment, assets and recipient in the preview; gas is additional."),...y}}}))}}export{k as a,a as b,o as c,F as d};
@@ -0,0 +1 @@
1
+ import{a as h,c as A}from"./MYBDO5SA.js";import{d as l,e as m,f as y,j as w}from"./73N3TOJL.js";import{a as t}from"./5YS5V2LK.js";import{a as f}from"./JXOEJPJ4.js";import{erc20Abi as g,parseAbi as R}from"viem";var x="https://api.relay.link",I="0x0000000000000000000000000000000000000000",L=R(["function depositNative(address depositor, bytes32 id) payable","function depositErc20(address depositor, address token, uint256 amount, bytes32 id)"]),k=(1n<<256n)-1n;function p(e){return y(e,"Relay returned an unexpected response.")}function _(e){if(!Array.isArray(e))throw new t("Relay returned an unexpected list.");return e}function b(e){return w(e,"Provide a valid wallet or token address.",l)}function S(e){let n=b(e);return n==="0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"?I:n}function E(e){if(typeof e!="number"||!Number.isSafeInteger(e)||e<=0)throw new t("Provide a positive integer chain ID.");return e}function P(e){if(typeof e!="string"||!/^(0|[1-9]\d*)$/.test(e)||BigInt(e)>k)throw new t("Amounts must be decimal base-unit strings within the uint256 range.");return e}function $(e){if(typeof e!="number"||!Number.isSafeInteger(e)||e<=0)throw new t("Relay returned an invalid order or refund deadline. Request a fresh quote.");return e}function q(e){if(typeof e!="string"||!/^0x[0-9a-fA-F]{64}$/.test(e))throw new t("Provide a valid Relay request or order ID.");return e}function T(e){let n=p(e);if(typeof n.symbol!="string"||!n.symbol.trim()||typeof n.decimals!="number"||!Number.isInteger(n.decimals)||n.decimals<0||n.decimals>255)throw new t("Relay returned invalid token metadata.");return{address:b(n.address),chainId:E(n.chainId),decimals:n.decimals,symbol:n.symbol}}function D(e){let n=p(e);return{token:T(n.currency),amount:P(n.amount)}}function M(e){if(!e)throw new t("Relay quote does not match the requested amount, chain, recipient, minimum or transaction.")}function V(e){return e===void 0?[]:_(e).map(q)}function z(e){if(!(e==null||e==="N/A")){if(typeof e!="string")throw new t("Relay returned an invalid failure reason.");return f(e)}}function H(e,n="symbol"){if(!(typeof e!="string"||!e.trim()))return(n==="symbol"?/^[A-Za-z0-9._-]{1,32}$/:/^[A-Za-z0-9 ()+-]{1,32}$/).test(e)?e:f(e)}async function J(e,n,r,o,s,c){let i=await e.clientFor(s).readContract({address:n,abi:g,functionName:"allowance",args:[c,r]});if(typeof i!="bigint"||i<0n||i>k)throw new t("Could not read the Relay token allowance.");return[...i>0n?[e.approval(n,r,"0",s)]:[],e.approval(n,r,o,s)]}function j(e){return async(n,r)=>p(await v(e)(n,r))}function v(e){return async(n,r)=>{let o=process.env.OAK_RELAY_API_KEY?.trim(),s=n.split("?")[0],c=s==="/quote/v2",i=s==="/requests/v3"||/^\/balance\/[^/]+\/events$/.test(s);if(!o&&i)throw new t("Configure OAK_RELAY_API_KEY on the server: Relay request history and balance events require an API key. A missing key does not mean this wallet has no requests or events. Check a saved request with relay_status.");if(!o&&c)throw new t("Configure the Relay API key (OAK_RELAY_API_KEY) on the server: Relay quote/v2 requires a valid API key since October 2, 2026. Status and chain reads remain available without it.");try{return await A(e.http,`${x}${n}`,{method:r===void 0?"GET":"POST",headers:{...o?{"x-api-key":o}:{},"Content-Type":"application/json","User-Agent":"oak-relay/1.0"},...r===void 0?{}:{body:JSON.stringify(r)}},a=>m(a)||Array.isArray(a))}catch(a){let d=a instanceof h?a.response.status:void 0,u=e.plainError(a);throw d===401||d===403||/HTTP (401|403)\b/.test(u)?new t("Relay requires an authorized API key for this endpoint. Ask the operator to configure a valid OAK_RELAY_API_KEY on the server with access to this resource; never pass keys in tool arguments."):s==="/prices/rates"&&(d!==void 0&&d>=500||/HTTP 5\d\d\b/.test(u))?new t("Relay exchange rates are unavailable because the upstream service failed. Retry later; no rates were returned. Use relay_token_price with chainId and address for an individual token."):new t(o?u.replaceAll(o,"[redacted]"):u)}}}export{x as a,I as b,L as c,p as d,_ as e,b as f,S as g,E as h,P as i,$ as j,q as k,T as l,D as m,M as n,V as o,z as p,H as q,J as r,j as s,v as t};
@@ -0,0 +1 @@
1
+ import{a as M}from"./NCQFWPAW.js";import{a as v}from"./65QFM4JU.js";import{K as A}from"./JC4SYMBV.js";import{c as k}from"./46ZA2R5L.js";import{a as $}from"./6IM6A5VA.js";import{a as x}from"./UWOFA6GV.js";import{d as F,g as U,i as _}from"./73N3TOJL.js";import{a as N}from"./XPFVT2EA.js";import{a as n}from"./5YS5V2LK.js";import{encodeFunctionData as H,erc20Abi as P,getAddress as y,zeroAddress as q}from"viem";var B={genesis:y("0x575b7B7c97Ef3E21C82DAeB427899d583e1E913f"),bond:y("0xff32a969A0c567129eECD926D04657728E1980C1"),inverse:y("0x92166e94Eea5B7799b761653881692f881dFC4C9"),treasury:y("0x04822Ea321A0DEE6F40656172F29312104855d66"),pteam:y("0x650F58079dAa17ee28928c2F92d22291d038B2B0"),rwa:y("0x99B6eE6eDe47d9a8a9bfd03F728a99B789df1961"),premium:y("0x346e1a31171A0f7aC73909010b5435768d3B5462"),tax:y("0x086C58400b8708Ef993f256E12e752dcF0AC918e")},j=y("0x59F95461E68e0c77605299791E1449f175165B54"),D={genesis:["purchase","finalize","refund","claim"],bond:["deposit","redeem"],inverse:["swap"],treasury:["rebalanceToMorpho","rebalanceFromMorpho","mintNet","spendUsdg"],pteam:["exercise"],rwa:["redeem","depositInventory","pokeHwm","setDiscount","setInventoryMax","setHalt","setMenu","skim"],premium:["execute"],tax:["convert"]},G={genesis:["wired","finalized","finalizeTime","saleStart","saleDeadline","raisedRaw","totalRaised","registryLength"],bond:["wired","enabled","startTime","marketCount"],inverse:["active","price","capacityRemaining","spreadBps"],treasury:["wired","rfv","backingPerToken","liquidUsdg","morphoAssets","polRfv","morphoCapBps","morphoVault","canonicalPair"],pteam:["wired","holder","vestedFraction","exercisableNow","exercised","strikeWad","capBps","circulatingSupply","excludedFromFloat"],rwa:["manager","halted","inventory","inventoryMax","owedNet","bHwm","deskDiscountBps","VEST","MAX_DISCOUNT_BPS","INVENTORY_HARD_CAP","menu","routerSource","sleeve"],premium:["active","clipSize","lastExecuteAt","premiumThresholdWad","router","pairContract"],tax:["wired","pendingNet","teamBps","treasuryBps","teamWallet","router","pairContract"]},T=b=>JSON.parse(JSON.stringify(b,(S,I)=>typeof I=="bigint"?I.toString():I));function h(b){return _(b,"Provide a checksummed address.",F)}var ne=b=>{async function S(t){if(typeof t!="string"||!Object.hasOwn(B,t))throw new n("Choose a published NetNet financial product.");let c=t,e=B[c],d=M[c],m=b.clientFor(N);if(await m.getChainId()!==N)throw new n("NetNet requires chain 4663.");let a=await m.getBlock(),s=(g,E=[])=>m.readContract({address:e,abi:d,functionName:g,args:E,blockNumber:a.number}),[i,o,p,f]=await Promise.all([s("net"),s("usdg"),m.readContract({address:v.address,abi:P,functionName:"decimals",blockNumber:a.number}),m.readContract({address:k.address,abi:P,functionName:"decimals",blockNumber:a.number})]);if(h(i)!==v.address||h(o)!==k.address||p!==v.decimals||f!==k.decimals)throw new n("NetNet financial token pins or decimals do not match the deployment.");return{product:c,contract:e,abi:d,rpc:m,block:a,read:s}}let I=(t,c,e,d)=>({name:t,inputSchema:{type:"object",properties:c,required:e,additionalProperties:!1},execute:async(m,a)=>{try{if($(a),Object.keys(m).some(s=>!Object.hasOwn(c,s)))throw new n("Unsupported NetNet financial argument.");return await d(m,a)}catch(s){throw new n(b.plainError(s))}}}),C={type:"string",enum:Object.keys(B)};return{tools:[I("netnet_financial_status",{product:C,offset:{type:"integer",minimum:0},limit:{type:"integer",minimum:1,maximum:50}},["product"],async(t,c)=>{let e=await S(t.product),d=G[e.product],m=t.offset??0,a=t.limit??20;if(!Number.isSafeInteger(m)||Number(m)<0||!Number.isSafeInteger(a)||Number(a)<1||Number(a)>50)throw new n("Use a nonnegative offset and limit 1..50.");let s=await Promise.all(d.map(async o=>{try{return[o,{value:T(await e.read(o))}]}catch(p){return[o,{unavailable:b.plainError(p)}]}})),i={};if(e.product==="genesis")for(let o of["purchasedRaw","purchasedNetOf","claimedNet","claimableNetOf"])i[o]=T(await e.read(o,[c]));if(e.product==="bond"||e.product==="rwa"){i.pending=T(await e.read("pendingFor",[c]));let o=await e.read("noteCount",[c]);if(typeof o!="bigint"||o<0n)throw new n("Invalid NetNet note count.");let p=o<BigInt(Number(m)+Number(a))?o:BigInt(Number(m)+Number(a));i.noteCount=o.toString(),i.notes=await Promise.all(Array.from({length:Math.max(0,Number(p-BigInt(Number(m))))},async(f,g)=>({id:String(Number(m)+g),note:T(await e.read(e.product==="bond"?"notes":"noteAt",[c,BigInt(Number(m)+g)]))}))),i.nextOffset=p<o?p.toString():null,e.product==="bond"&&(i.markets=await Promise.all([0n,1n].map(async f=>{try{return{id:f.toString(),quoteToken:h(await e.read("quoteToken",[f])),priceWad:String(await e.read("bondPrice",[f]))}}catch(g){return{id:f.toString(),unavailable:b.plainError(g)}}})))}return e.product==="treasury"&&(i.isMinter=await e.read("isMinter",[c]),i.isSpender=await e.read("isSpender",[c])),{chainId:N,contract:e.contract,product:e.product,blockNumber:String(e.block.number),tokens:[v,k],metrics:Object.fromEntries(s),wallet:i,units:"Raw token amounts use each token\u2019s decimals. Prices, NAV, reserve values and capacityRemaining use 18-decimal USDG WAD. Note timestamps are Unix seconds.",operations:D[e.product],caveat:"An unavailable metric is not zero. Formulaic eligibility, oracle liveness, caps and vesting are checked by the action preview. RWA entry/router calldata and initial deployment wiring remain unsupported."}}),I("netnet_financial_action",{product:C,operation:{type:"string",enum:[...new Set(Object.values(D).flat())]},amount:x(),minAmountOut:x(),maxPriceWad:x(),maxPayment:x(),marketId:{type:"integer",enum:[0,1]},recipient:{type:"string"},halted:{type:"boolean"},token:{type:"string"},noteIds:{type:"array",maxItems:50,items:x()},menu:{type:"array",maxItems:32,items:{type:"object"}}},["product","operation"],async(t,c)=>{let e=await S(t.product),d=t.operation;if(typeof d!="string"||!D[e.product].includes(d))throw new n("This operation is not supported by the selected financial product.");let m=new Set(["product","operation"]),a=[],s,i=0n,o="",p=(...r)=>r.forEach(u=>m.add(u)),f=()=>(p("amount"),A(t.amount)),g=()=>(p("minAmountOut"),A(t.minAmountOut));if(e.product==="genesis"){if(d==="purchase"&&(i=f(),s=k,a=[i],o="Founding subscription; NET is claimable only after successful finalization and vesting. A failed sale requires refund."),d==="claim"&&await e.read("claimableNetOf",[c])===0n)throw new n("No vested founding NET is claimable by this wallet.")}else if(e.product==="bond")if(d==="deposit"){if(p("marketId","maxPriceWad"),t.marketId!==0&&t.marketId!==1)throw new n("Bond marketId must be 0 (USDG) or 1 (canonical LP).");let r=BigInt(t.marketId);if(h(await e.read("quoteToken",[r]))!==(r===0n?k.address:j))throw new n("Bond quote token is not the pinned USDG or canonical LP.");i=f(),s=r===0n?k:{address:j,decimals:18,symbol:"NET/USDG LP",chainId:N};let l=A(t.maxPriceWad),w=await e.read("bondPrice",[r]);if(typeof w!="bigint"||w===0n||w>l)throw new n("Bond price exceeds maxPriceWad or is invalid.");a=[r,i,l,c],o="Payment is exchanged for a non-transferable NET note with two-day linear vesting. Redeem vested NET with the same product; payment cannot be withdrawn."}else a=[c];else if(e.product==="inverse"){if(i=f(),s=v,a=[i,g()],o="Purchased NET is burned permanently; USDG pays directly to this wallet. Capacity is denominated in USDG WAD, not raw USDG.",await e.read("active")!==!0)throw new n("NetNet buyback is inactive: oracle, finalization or capacity is unavailable.")}else if(e.product==="pteam"){if(h(await e.read("holder"))!==y(c))throw new n("This wallet is not the immutable pTEAM holder.");let r=f();if(p("maxPayment"),r>await e.read("exercisableNow"))throw new n("The NET exercise amount exceeds the vested cap.");let u=await e.read("strikeWad");if(i=(r*u/10n**BigInt(v.decimals)+10n**12n-1n)/10n**12n,i===0n||i>A(t.maxPayment))throw new n("The exercise payment exceeds maxPayment or rounds to zero.");s=k,a=[r],o=`Exercise pays ${i} USDG base units into treasury reserves and mints ${r} NET base units to the immutable holder. No withdrawal or exercise reversal exists.`}else if(e.product==="treasury"){let r=f();if(d==="mintNet"||d==="spendUsdg"){p("recipient");let u=h(t.recipient);if(await e.read(d==="mintNet"?"isMinter":"isSpender",[c])!==!0)throw new n("This wallet lacks the fixed NetNet treasury minter/spender role.");a=[u,r],o=`Protocol treasury operation sends ${r} base units to ${u}; it does not deposit into this wallet\u2019s savings.`}else a=[r],o="Permissionless protocol reserve rebalance; assets remain owned by the NetNet treasury. The deployed fraction is constrained by the immutable cap."}else if(e.product==="rwa"){if(["depositInventory","setDiscount","setInventoryMax","setHalt","setMenu"].includes(d)&&h(await e.read("manager"))!==y(c))throw new n("This wallet lacks the immutable RWA manager role.");if(d==="redeem")if(p("noteIds"),t.noteIds===void 0)a=[c];else{if(!Array.isArray(t.noteIds)||!t.noteIds.length||t.noteIds.length>50)throw new n("Provide 1..50 unique note IDs.");let u=t.noteIds.map(w=>A(w,!0));if(new Set(u.map(String)).size!==u.length)throw new n("Note IDs must be unique.");let l=await e.read("noteCount",[c]);if(u.some(w=>w>=l))throw new n("RWA note ID is out of range.");a=[c,u]}else if(d==="setHalt"){if(p("halted"),typeof t.halted!="boolean")throw new n("Provide halted as a boolean.");a=[t.halted]}else if(d==="setMenu"){if(p("menu"),!Array.isArray(t.menu)||!t.menu.length||t.menu.length>32)throw new n("Provide 1..32 explicit RWA menu entries.");let u=t.menu.map(l=>{if(!l||typeof l!="object"||Array.isArray(l)||Object.keys(l).some(z=>!["token","feed","targetWeightBps","active"].includes(z)))throw new n("Invalid RWA menu fields.");let w=l;if(typeof w.active!="boolean")throw new n("RWA active must be boolean.");return{token:h(w.token),feed:h(w.feed),targetWeightBps:A(w.targetWeightBps,!0),active:w.active}});if(new Set(u.map(l=>l.token)).size!==u.length||u.reduce((l,w)=>l+w.targetWeightBps,0n)!==10000n||u.some(l=>l.active&&(l.token===q||l.feed===q)))throw new n("RWA menu tokens must be unique, weights sum to 10000, active feeds/tokens nonzero.");a=[u],o=`Replace the complete RWA equity menu: ${JSON.stringify(T(u))}.`}else if(d==="skim")p("token"),a=[h(t.token)],o=`Sweep eligible stray assets to sleeve ${h(await e.read("sleeve"))}, not to this wallet.`;else if(d!=="pokeHwm"){let u=f();if(a=[u],d==="depositInventory"&&(s=v,i=u,o="Inventory funding is one-way. The manager cannot withdraw these NET; they are committed to bond obligations."),d==="setDiscount"&&u>await e.read("MAX_DISCOUNT_BPS")||d==="setInventoryMax"&&u>await e.read("INVENTORY_HARD_CAP"))throw new n("RWA setting exceeds its immutable maximum.")}}else e.product==="premium"?(a=[g()],o="Permissionless mint-and-sell keeper operation; all sale proceeds go to NetNet treasury. The caller receives no reward."):(a=[f(),g()],o="Convert NET already owned by the tax collector. Proceeds split to treasury and team; the caller receives no reward and supplies no NET.");if(Object.keys(t).some(r=>!m.has(r)))throw new n("Unexpected fields for this NetNet operation.");if(s&&await e.rpc.readContract({address:s.address,abi:P,functionName:"balanceOf",args:[c],blockNumber:e.block.number})<i)throw new n(`Top up ${s.symbol}: needs ${i} base units.`);let E=`NetNet ${e.product}.${d}, contract ${e.contract}, chain ${N}, values ${JSON.stringify(T(a))}. ${s?`Approve exactly ${i} ${s.symbol} base units (${s.address}, decimals ${s.decimals}). `:""}${o}`,O=[...s?[b.approval(s.address,e.contract,i.toString(),N)]:[],b.unsignedTx({to:e.contract,data:H({abi:e.abi,functionName:d,args:a}),value:"0",chainId:N,description:E})],R=await b.preview(O,c),W=0n;for(let r of R.changes){if(!/^-?\d+$/.test(r.amount))throw new n("Invalid NetNet preview amount.");if(BigInt(r.amount)<0n&&(W-=BigInt(r.amount)),BigInt(r.amount)<0n&&(!s||r.token.chainId!==N||!U(r.token.address,s.address)||r.token.decimals!==s.decimals||-BigInt(r.amount)>i))throw new n("NetNet preview spends outside the exact input budget.")}if(W>i)throw new n("NetNet preview exceeds the aggregate input budget.");return{txs:O,preview:R,summary:E}})]}};export{B as a,j as b,ne as c};
@@ -0,0 +1 @@
1
+ import{e as y,g as a,i as l,l as h,m as A,n as g}from"./73N3TOJL.js";import{a as f,i as k}from"./XPFVT2EA.js";import{a as s}from"./5YS5V2LK.js";import{encodeAbiParameters as S,keccak256 as I,parseAbi as _,parseAbiParameters as P}from"viem";var u=k[f].clanker,O={type:"string",pattern:"^\\d+$"},$={type:"string",pattern:"^0x[0-9a-fA-F]{64}$"},R=_(["function tokenDeploymentInfo(address) view returns ((address,address,address,address[]))","function tokenRewards(address) view returns ((address token,(address currency0,address currency1,uint24 fee,int24 tickSpacing,address hooks) poolKey,uint256 positionId,uint256 numPositions,uint16[] rewardBps,address[] rewardAdmins,address[] rewardRecipients))","function feePreferences(address,uint256) view returns (uint8)","function updateRewardRecipient(address,uint256,address)","function updateRewardAdmin(address,uint256,address)","function updateFeePreference(address,uint256,uint8)"]),x="Provide a valid nonzero address.";function c(e,o=!1){let r=l(e,x);return o?r:h(r,x)}function F(e){return g(e,"Amount exceeds uint256.")}function w(e,o,r){if(typeof e!="number"||!Number.isSafeInteger(e)||e<o||e>r)throw new s(`Choose an integer from ${o} to ${r}.`);return e}function H(e,o){let r=Object.keys(e).find(n=>!o.includes(n));if(r)throw new s(`Unsupported Clanker input: ${r}.`)}function T(e){if(typeof e!="string"||!/^0x[0-9a-fA-F]{64}$/.test(e))throw new s("Provide bytes32 hexadecimal data.");return e}function b(e){return A(e,"Clanker returned an invalid amount.").toString()}async function v(e,o){let r=await e.clientFor(f).readContract({address:u.factory.address,abi:R,functionName:"tokenDeploymentInfo",args:[o]});if(!Array.isArray(r)||r.length!==4||typeof r[0]!="string"||!a(r[0],o)||!Array.isArray(r[3]))throw new s("The pinned factory did not identify this Clanker token.");let n=c(r[1]),d=c(r[2]);if(![u.locker.address,u.legacy_locker_v1.address].some(t=>a(t,d))||![u.fee_static_hook_v2.address,u.fee_dynamic_hook_v2.address].some(t=>a(t,n)))throw new s("This Clanker locker or hook has not been verified by Oak.");return{hook:n,locker:d,extensions:r[3].map(t=>c(t))}}async function K(e,o){let r=await v(e,o),n=await e.clientFor(f).readContract({address:r.locker,abi:R,functionName:"tokenRewards",args:[o]});if(!y(n)||typeof n.token!="string"||!a(n.token,o)||!y(n.poolKey)||!Array.isArray(n.rewardBps)||!Array.isArray(n.rewardAdmins)||!Array.isArray(n.rewardRecipients))throw new s("Clanker returned invalid reward configuration.");let d=n.poolKey,t={currency0:c(d.currency0),currency1:c(d.currency1),fee:w(d.fee,0,16777215),tickSpacing:w(d.tickSpacing,1,32767),hooks:c(d.hooks)};if(BigInt(t.currency0)>=BigInt(t.currency1)||!a(t.hooks,r.hook)||![t.currency0,t.currency1].some(i=>a(i,o)))throw new s("Clanker returned a mismatched pool key.");let p=n.rewardBps.length;if(!p||p>7||p!==n.rewardAdmins.length||p!==n.rewardRecipients.length)throw new s("Clanker returned mismatched rewards.");let m=n.rewardBps.map(i=>w(i,1,1e4));if(m.reduce((i,C)=>i+C,0)!==1e4)throw new s("Clanker returned invalid reward splits.");return{...r,poolKey:t,poolId:I(S(P("address,address,uint24,int24,address"),[t.currency0,t.currency1,t.fee,t.tickSpacing,t.hooks])),positionId:b(n.positionId),numPositions:b(n.numPositions),rewardBps:m,rewardAdmins:n.rewardAdmins.map(i=>c(i)),rewardRecipients:n.rewardRecipients.map(i=>c(i)),pairedToken:a(t.currency0,o)?t.currency1:t.currency0}}export{u as a,O as b,$ as c,R as d,x as e,c as f,F as g,w as h,H as i,T as j,b as k,v as l,K as m};
@@ -0,0 +1 @@
1
+ import{b as W}from"./HL2MLC3O.js";import{d as R,e as _}from"./XV6F3RET.js";import{b as z,c as I}from"./SPRVVJXI.js";import{K as E}from"./JC4SYMBV.js";import{a as F}from"./6IM6A5VA.js";import{d as H,g as A,i as j}from"./73N3TOJL.js";import{a as C,s as S}from"./XPFVT2EA.js";import{a as s}from"./5YS5V2LK.js";import{encodeFunctionData as M,erc20Abi as V,getAddress as Z,keccak256 as K,zeroAddress as x}from"viem";var r=R.turbo,h=R.blackjack,g=m=>j(m,"Provide an explicit card address.",H);function G(m,d){if(/^uint\d*\[\]$/.test(m.type)&&Array.isArray(d))return d.map(c=>G({...m,type:m.type.slice(0,-2)},c));if(/^uint\d*$/.test(m.type)&&(typeof d!="string"||!/^(0|[1-9]\d*)$/.test(d)))throw new s("Card integers must be canonical decimal strings, without leading zeros.");return W(m,d)}var J=["buy","cashOut","claimExpiry","refund","safeTransferFrom","safeBatchTransferFrom"],X=["liquidate","recordKnock","liquidateKnock","clearKnock","recordDrift","settle","markVoid","depositHouse","depositPutPot","withdrawHouse","withdrawPutPot","createSeries","haltSales","resumeSales","sweepFees","skim"],Q=m=>m==="netnet_turbo_action"||m.startsWith("netnet_blackjack_")&&["netnet_blackjack_finalize","netnet_blackjack_expire","netnet_blackjack_claim"].includes(m);async function de(m,d,c,k){if(F(c),!Q(m))throw new s("No local NetNet card action builder exists.");let v=m!=="netnet_turbo_action";if(Object.keys(d).some(e=>!(v?["sessionId","seriesId"]:["operation","values","minimum","allowZeroPayout"]).includes(e)))throw new s("Unexpected card action argument.");if(v&&!z(m,d))throw new s("Recovery accepts exactly one positive decimal session or series ID.");if(await k.getChainId()!==C)throw new s("NetNet cards require chain 4663.");let w=await k.getBlock();if(w.number===null||!w.hash)throw new s("Card action block is unavailable.");let p=(e,t,i=[])=>k.readContract({address:e.address,abi:e.abi,functionName:t,args:i,blockNumber:w.number});for(let e of v?[r,h]:[r]){let t=await k.getCode({address:e.address,blockNumber:w.number});if(!t||K(t)!==e.codeHash)throw new s("NetNet card runtime changed or is unavailable. Requalify this deployment before signing.")}for(let e of v?Object.values(_):[_.turbo]){let t=await k.getCode({address:Z(e.address),blockNumber:w.number});if(!t||K(t)!==e.codeHash)throw new s("NetNet linked card library changed or is unavailable. Requalify before signing.")}let l={txs:[],inputs:[],cards:[],decision:"",blockNumber:w.number,blockHash:w.hash},$=(e,t,i,a,o)=>({chainId:4663,collection:r.address,operator:e,from:t,to:i,id:a,amount:o,operation:t===x?"mint":i===x?"burn":"transfer"}),T=(e,t,i,a,o=[])=>{l.txs.push({to:e,chainId:C,value:"0",data:M({abi:t,functionName:i,args:a}),description:l.decision}),l.cards.push(o)},D=(e,t)=>{if(t<=0n||t>=1n<<128n)throw new s("Card payment must be positive and below the exact-approval ceiling.");l.inputs.push({token:e,amount:t,to:r.address}),T(e,V,"approve",[r.address,t])};if(v){if(g(await p(h,"cards"))!==r.address||g(await p(h,"turbo"))!==r.address)throw new s("Blackjack card wiring changed.");let e=m==="netnet_blackjack_claim";if(Object.keys(d).some(b=>b!==(e?"seriesId":"sessionId")))throw new s("Recovery accepts only its one exact session or series ID.");let t=E(e?d.seriesId:d.sessionId),i,a,o,u="Original-series parked payout; self-claim only.";if(e){if(i=t,a=await p(h,"unclaimedChips",[t,c]),o="claimUnclaimedChips",a===0n)throw new s("This wallet has no parked chips for that series.")}else{let b=await p(h,"sessionOf",[t]);if(!b||!A(b.player,c))throw new s("Recovery is limited to this wallet\u2019s recorded blackjack session.");let y=m==="netnet_blackjack_finalize";if(o=y?"finalize":"expireSession",b.state!==(y?2:1))throw new s(y?"Session is not Closing. Use its current on-chain state to choose recovery.":"Session is not Open. A Closing session uses finalize after its challenge window.");let N=y?b.closeAt:b.deadline;if(u=y?`Challenge ends ${new Date(Number(N)*1e3).toISOString()}.`:`Session deadline ${new Date(Number(N)*1e3).toISOString()}; player-only expiry until ${new Date(Number(N+3600n)*1e3).toISOString()}.`,w.timestamp<N)throw new s(`Recovery is not due until ${N} Unix seconds.`);i=await p(h,"tableSeries"),a=b.chips}if(i<=0n||a<0n)throw new s("Blackjack recovery accounting is unavailable.");return l.decision=`${o} ${e?"series":"session"} ${t} at ${h.address}: return ${a} whole cards of collection ${r.address}, series ${i}, to ${Z(c)}. ${u} Last on-chain chips may omit off-chain winnings; cards may be worthless. A failed receiver parks the payout at ${h.address}; self-claim only. ETH gas extra.`,T(h.address,h.abi,o,[t],a===0n?[]:[$(h.address,h.address,c,i,a)]),l.recovery={...e?{}:{sessionId:t.toString()},seriesId:i.toString(),count:a.toString(),player:c,operation:o},l}let n=String(d.operation);if(n==="setApprovalForAll")throw new s(I.setApprovalForAll);if(["convertPremiums","convertSleeveFees"].includes(n))throw new s(I.conversion);if(![...J,...X].includes(n))throw new s("Choose a qualified finite TURBO operation.");if(!Array.isArray(d.values))throw new s("Provide ordered TURBO values using decimal integer strings.");let U=n==="safeTransferFrom"||n==="safeBatchTransferFrom",B=r.abi.find(e=>e.name===n),q=U?B.inputs.slice(1,-1):B.inputs;if(d.values.length!==q.length)throw new s("TURBO values do not match the exact operation inputs.");let f=q.map((e,t)=>G(e,d.values[t])),O=g(await p(r,"manager")),L=g(await p(r,"sleeve")),P=[];if(U){if(d.minimum!==void 0||d.allowZeroPayout!==void 0)throw new s("Transfer has no payout floor.");let e=g(f[0]);if(e===x||A(e,c))throw new s("Name a nonzero, non-self card recipient.");let t=await k.getCode({address:e,blockNumber:w.number});if(t&&t!=="0x")throw new s("Card transfer to a contract requires qualified credit and recovery. New blackjack seating remains disabled.");let i=n==="safeTransferFrom"?[f[1]]:f[1],a=n==="safeTransferFrom"?[f[2]]:f[2];if(!i.length||i.length>8||i.length!==a.length||new Set(i.map(String)).size!==i.length||i.some((o,u)=>o<=0n||a[u]<=0n||u>0&&o<=i[u-1]))throw new s("Use at most eight unique positive series IDs in increasing order and exact positive counts.");for(let o=0;o<i.length;o++){if(await p(r,"balanceOf",[c,i[o]])<a[o])throw new s("Card transfer exceeds this wallet\u2019s balance.");P.push($(c,c,e,i[o],a[o])),l.inputs.push({token:r.address,id:i[o],amount:a[o],to:e,exact:!0})}l.decision=`Transfer whole cards of collection ${r.address}: ${i.map((o,u)=>`series ${o} count ${a[u]}`).join(", ")} to ${e}. Basis does not travel with cards; no operator approval. No payout; transfer is irreversible. ETH gas extra.`,f=[c,...f,"0x"]}else if(["buy","cashOut","claimExpiry","refund"].includes(n)){let e=f[0],t=f[1],i=await p(r,"seriesOf",[e]);if(!i||i.asset===x||t<=0n)throw new s("Choose a known series and positive whole-card count.");let a=i.side===0?g(i.asset):S.mainnet.usdg,o=await k.readContract({address:a,abi:V,functionName:"decimals",blockNumber:w.number});if((n==="buy"||n==="cashOut")&&(i.state!==1||w.timestamp>=i.expiry))throw new s("This TURBO series is not OPEN and unexpired.");if(n==="buy"){let[u]=await p(r,"quoteBuy",[e,t]);if(!u||u>f[2])throw new s("Current card quote exceeds the explicit maximum USDG payment.");if(d.minimum!==void 0||d.allowZeroPayout!==void 0)throw new s("Buy uses its exact count and maximum USDG price.");l.decision=`Spend at most ${f[2]} USDG base units (${S.mainnet.usdg}, decimals 6) at ${r.address}; receive ${t} whole cards, collection ${r.address}, series ${e}, into this wallet. Exact quoted approval ${u}; fees included. Strike ${i.strikeWad} WAD; expiry ${new Date(Number(i.expiry)*1e3).toISOString()}; cards can lose all value. Any residual USDG allowance requires zero cleanup. ETH gas extra.`,D(S.mainnet.usdg,u),P=[$(c,x,c,e,t)]}else{if(n==="cashOut"&&d.minimum!==void 0)throw new s("cashOut takes its one encoded minimum in values, not a second local minimum.");if(await p(r,"balanceOf",[c,e])<t)throw new s("Card burn exceeds this wallet\u2019s balance.");let u=n==="cashOut"?f[2]:E(d.minimum,!0);if(u===0n&&d.allowZeroPayout!==!0)throw new s("A zero payout floor requires allowZeroPayout:true and explicit human confirmation.");let b=0n;if(n==="cashOut"){let y=await p(r,"quoteCashOut",[e,t,c]);if(y[0]<u)throw new s("The current cash-out quote misses the payout minimum.");b=y[1]}else if(i.state!==(n==="claimExpiry"?3:4))throw new s("Expiry claims require EXPIRED; pro-rata refunds require VOID.");l.decision=`Burn ${t} whole cards of ${r.address}, series ${e}; ${n==="refund"?"series pro-rata VOID refund, not personal purchase-price repayment":n}; receive >=${u} base units of ${a} (decimals ${o}) into this wallet. ${n==="cashOut"?`Minimum encoded in calldata; current performance fee ${b}.`:"Floor is local simulation only; no on-chain minimum. Settled payout includes applicable fees."} Burned cards cannot be returned; ETH gas extra.`,P=[$(c,c,x,e,t)],l.inputs.push({token:r.address,id:e,amount:t,to:x,exact:!0}),l.receipt={token:a,minimum:u,recipient:c,enforcement:n==="cashOut"?"calldata":"simulation"}}}else{if(d.minimum!==void 0||d.allowZeroPayout!==void 0)throw new s("This TURBO operation has no caller payout floor.");if(["withdrawHouse","withdrawPutPot","createSeries","resumeSales"].includes(n)&&!A(O,c))throw new s(`This TURBO operation requires manager ${O}.`);if(n==="haltSales"&&!A(c,O)&&!A(c,g(await p(r,"halter"))))throw new s("TURBO haltSales requires the current manager or halter.");if(["depositHouse","depositPutPot","withdrawHouse","withdrawPutPot","createSeries"].includes(n)){let t=g(f[0]);if(!(await Promise.all(["asset0","asset1","asset2"].map(a=>p(r,a)))).some(a=>typeof a=="string"&&A(a,t)))throw new s("This is not a pinned TURBO reserve asset.")}l.decision=`${n} at ${r.address}; values ${JSON.stringify(f,(t,i)=>typeof i=="bigint"?String(i):i)}. Protocol capital/accounting action; manager ${O}; sleeve ${L}; no caller reward. ${n.startsWith("deposit")?"Irreversible house funding; no personal withdrawable balance.":n.startsWith("withdraw")?"Pays the current manager; operating and reservation floors still apply.":"Series state, risk or protocol fee allocation may change."} No card approval; ETH gas extra.`,(n==="depositHouse"||n==="depositPutPot")&&D(n==="depositHouse"?g(f[0]):S.mainnet.usdg,f[1])}if(l.decision.length>1024)throw new s("Card decision terms exceed the complete confirmation label capacity. Use fewer card IDs.");T(r.address,r.abi,n,f,P);for(let e of l.txs)e.description=l.decision;return l}export{J as a,X as b,Q as c,de as d};
@@ -0,0 +1 @@
1
+ import{e as g,f as T,g as k,i as E}from"./JC4SYMBV.js";import{c as _,d as S}from"./46ZA2R5L.js";import{g as h}from"./73N3TOJL.js";import{a as l}from"./XPFVT2EA.js";import{a as i}from"./5YS5V2LK.js";import{decodeAbiParameters as B,encodeAbiParameters as H,getAddress as d}from"viem";var D=d("0xcEF685D4796FA80F71a97e803D2c0b6719F1b4E2"),O=[{name:"items",type:"tuple[]",components:[{...k[0],name:"offer"},{name:"ratifierData",type:"bytes"}]}],G=p=>({tools:[{name:"longbow_fixed_offers",inputSchema:{type:"object",additionalProperties:!1,properties:{limit:{type:"integer",minimum:1,maximum:50},marketId:{type:"string"}}},execute:async o=>{try{let a=o.limit??20;if(Object.keys(o).some(s=>!["limit","marketId"].includes(s))||!Number.isInteger(a)||Number(a)<1||Number(a)>50||o.marketId!==void 0&&(typeof o.marketId!="string"||!/^0x[0-9a-f]{64}$/i.test(o.marketId)))throw new i("Use limit 1..50 and an optional exact bytes32 marketId.");let f=await p.http("https://longbow.credit/api/fixed/offers",{method:"GET",redirect:"error"});if(!f.ok)throw new i(`Longbow fixed order book returned HTTP ${f.status}; offers are unavailable.`);let x=await f.text();if(x.length>2e6)throw new i("Longbow fixed order book exceeds the supported response size.");let t=JSON.parse(x);if(!t||t.chainId!==l||typeof t.mempool!="string"||d(t.mempool)!==D||!Array.isArray(t.publications)||t.publications.length>1e3||!Number.isSafeInteger(t.head)||Number(t.head)<0)throw new i("Longbow fixed indexer does not match the pinned chain, mempool or publication schema.");let c=[],u=[],y=0;for(let[s,m]of t.publications.entries())try{if(!m||typeof m!="object")throw new i("Invalid publication.");let r=m,n=r.itemsAbi;if(!Number.isSafeInteger(r.blockNumber)||Number(r.blockNumber)<0||Number(r.blockNumber)>Number(t.head))throw new i("Invalid publication block.");if(typeof n!="string"||!/^0x[0-9a-f]+$/i.test(n)||n.length>1e6||n.length<130||BigInt(`0x${n.slice(2,66)}`)!==32n||BigInt(`0x${n.slice(66,130)}`)>512n)throw new i("Invalid or oversized publication encoding.");let[I]=B(O,n);if(I.length!==r.items)throw new i("Publication count mismatch.");for(let b of I){y++;let e=b.offer;if(e.market.chainId!==BigInt(l)||d(e.market.midnight)!==g||b.ratifierData.length>32770)throw new i("Publication market or proof is unqualified.");let w=E(e.market);if(o.marketId!==void 0&&!h(w,String(o.marketId)))continue;let N=[_,S].find(P=>h(P.address,e.market.loanToken));c.push({marketId:w,offer:H(k,[e]),ratifierData:b.ratifierData,maker:d(e.maker),buy:e.buy,maturity:e.market.maturity.toString(),start:e.start.toString(),expiry:e.expiry.toString(),tick:e.tick.toString(),loanToken:N??null,directBuilderSupported:!!N&&/^0x0{40}$/i.test(e.callback)&&e.callbackData==="0x"&&T.includes(d(e.ratifier)),sourceBlock:String(r.blockNumber)})}}catch(r){u.push({publication:s,reason:p.plainError(r)})}return c.sort((s,m)=>BigInt(s.expiry)>BigInt(m.expiry)?-1:BigInt(s.expiry)<BigInt(m.expiry)?1:0),{chainId:l,midnight:g,mempool:D,indexedHead:String(t.head),decodedCount:y,matchingCount:c.length,offers:c.slice(0,Number(a)),incomplete:u.length>0||t.skipped!==0,rejected:u,warning:"Historical off-chain publications, not executable quotes. Expiry, consumption, authorization, signatures and liquidity are not verified here. Use morpho_midnight_status and preview morpho_midnight_take with the returned exact offer/proof; callback offers need a separately qualified builder. This read publishes nothing and creates no signature."}}catch(a){throw new i(p.plainError(a))}}}]});export{D as a,O as b,G as c};