@eulerxyz/euler-v2-sdk 0.1.0-beta

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 (399) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +115 -0
  3. package/dist/src/entities/Account.d.ts +242 -0
  4. package/dist/src/entities/Account.js +509 -0
  5. package/dist/src/entities/Account.js.map +1 -0
  6. package/dist/src/entities/ERC4626Vault.d.ts +56 -0
  7. package/dist/src/entities/ERC4626Vault.js +94 -0
  8. package/dist/src/entities/ERC4626Vault.js.map +1 -0
  9. package/dist/src/entities/EVault.d.ts +159 -0
  10. package/dist/src/entities/EVault.js +224 -0
  11. package/dist/src/entities/EVault.js.map +1 -0
  12. package/dist/src/entities/EulerEarn.d.ts +69 -0
  13. package/dist/src/entities/EulerEarn.js +89 -0
  14. package/dist/src/entities/EulerEarn.js.map +1 -0
  15. package/dist/src/entities/EulerLabels.d.ts +53 -0
  16. package/dist/src/entities/EulerLabels.js +2 -0
  17. package/dist/src/entities/EulerLabels.js.map +1 -0
  18. package/dist/src/entities/SecuritizeCollateralVault.d.ts +16 -0
  19. package/dist/src/entities/SecuritizeCollateralVault.js +22 -0
  20. package/dist/src/entities/SecuritizeCollateralVault.js.map +1 -0
  21. package/dist/src/entities/Wallet.d.ts +27 -0
  22. package/dist/src/entities/Wallet.js +21 -0
  23. package/dist/src/entities/Wallet.js.map +1 -0
  24. package/dist/src/index.d.ts +43 -0
  25. package/dist/src/index.js +46 -0
  26. package/dist/src/index.js.map +1 -0
  27. package/dist/src/plugins/batchSimulation.d.ts +34 -0
  28. package/dist/src/plugins/batchSimulation.js +83 -0
  29. package/dist/src/plugins/batchSimulation.js.map +1 -0
  30. package/dist/src/plugins/index.d.ts +4 -0
  31. package/dist/src/plugins/index.js +5 -0
  32. package/dist/src/plugins/index.js.map +1 -0
  33. package/dist/src/plugins/keyring/index.d.ts +1 -0
  34. package/dist/src/plugins/keyring/index.js +2 -0
  35. package/dist/src/plugins/keyring/index.js.map +1 -0
  36. package/dist/src/plugins/keyring/keyringPlugin.d.ts +41 -0
  37. package/dist/src/plugins/keyring/keyringPlugin.js +182 -0
  38. package/dist/src/plugins/keyring/keyringPlugin.js.map +1 -0
  39. package/dist/src/plugins/pyth/index.d.ts +1 -0
  40. package/dist/src/plugins/pyth/index.js +2 -0
  41. package/dist/src/plugins/pyth/index.js.map +1 -0
  42. package/dist/src/plugins/pyth/pythPlugin.d.ts +29 -0
  43. package/dist/src/plugins/pyth/pythPlugin.js +190 -0
  44. package/dist/src/plugins/pyth/pythPlugin.js.map +1 -0
  45. package/dist/src/plugins/types.d.ts +39 -0
  46. package/dist/src/plugins/types.js +16 -0
  47. package/dist/src/plugins/types.js.map +1 -0
  48. package/dist/src/sdk/buildSDK.d.ts +77 -0
  49. package/dist/src/sdk/buildSDK.js +366 -0
  50. package/dist/src/sdk/buildSDK.js.map +1 -0
  51. package/dist/src/sdk/defaultConfig.d.ts +26 -0
  52. package/dist/src/sdk/defaultConfig.js +68 -0
  53. package/dist/src/sdk/defaultConfig.js.map +1 -0
  54. package/dist/src/sdk/sdk.d.ts +73 -0
  55. package/dist/src/sdk/sdk.js +67 -0
  56. package/dist/src/sdk/sdk.js.map +1 -0
  57. package/dist/src/services/abiService/abiService.d.ts +13 -0
  58. package/dist/src/services/abiService/abiService.js +25 -0
  59. package/dist/src/services/abiService/abiService.js.map +1 -0
  60. package/dist/src/services/abiService/index.d.ts +2 -0
  61. package/dist/src/services/abiService/index.js +2 -0
  62. package/dist/src/services/abiService/index.js.map +1 -0
  63. package/dist/src/services/accountService/accountService.d.ts +44 -0
  64. package/dist/src/services/accountService/accountService.js +193 -0
  65. package/dist/src/services/accountService/accountService.js.map +1 -0
  66. package/dist/src/services/accountService/accountServiceConfig.d.ts +15 -0
  67. package/dist/src/services/accountService/accountServiceConfig.js +2 -0
  68. package/dist/src/services/accountService/accountServiceConfig.js.map +1 -0
  69. package/dist/src/services/accountService/adapters/accountOnchainAdapter/abis/accountLensAbi.d.ts +960 -0
  70. package/dist/src/services/accountService/adapters/accountOnchainAdapter/abis/accountLensAbi.js +1230 -0
  71. package/dist/src/services/accountService/adapters/accountOnchainAdapter/abis/accountLensAbi.js.map +1 -0
  72. package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountInfoConverter.d.ts +17 -0
  73. package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountInfoConverter.js +158 -0
  74. package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountInfoConverter.js.map +1 -0
  75. package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountLensTypes.d.ts +48 -0
  76. package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountLensTypes.js +2 -0
  77. package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountLensTypes.js.map +1 -0
  78. package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountOnchainAdapter.d.ts +210 -0
  79. package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountOnchainAdapter.js +287 -0
  80. package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountOnchainAdapter.js.map +1 -0
  81. package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountVaultsSubgraphAdapter.d.ts +22 -0
  82. package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountVaultsSubgraphAdapter.js +80 -0
  83. package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountVaultsSubgraphAdapter.js.map +1 -0
  84. package/dist/src/services/accountService/adapters/accountOutputNormalization.d.ts +8 -0
  85. package/dist/src/services/accountService/adapters/accountOutputNormalization.js +50 -0
  86. package/dist/src/services/accountService/adapters/accountOutputNormalization.js.map +1 -0
  87. package/dist/src/services/accountService/adapters/accountV3Adapter/accountV3Adapter.d.ts +62 -0
  88. package/dist/src/services/accountService/adapters/accountV3Adapter/accountV3Adapter.js +287 -0
  89. package/dist/src/services/accountService/adapters/accountV3Adapter/accountV3Adapter.js.map +1 -0
  90. package/dist/src/services/accountService/adapters/accountVaultsSubgraphAdapter/accountVaultsSubgraphAdapter.d.ts +1 -0
  91. package/dist/src/services/accountService/adapters/accountVaultsSubgraphAdapter/accountVaultsSubgraphAdapter.js +2 -0
  92. package/dist/src/services/accountService/adapters/accountVaultsSubgraphAdapter/accountVaultsSubgraphAdapter.js.map +1 -0
  93. package/dist/src/services/accountService/index.d.ts +5 -0
  94. package/dist/src/services/accountService/index.js +4 -0
  95. package/dist/src/services/accountService/index.js.map +1 -0
  96. package/dist/src/services/deploymentService/deploymentService.d.ts +116 -0
  97. package/dist/src/services/deploymentService/deploymentService.js +44 -0
  98. package/dist/src/services/deploymentService/deploymentService.js.map +1 -0
  99. package/dist/src/services/deploymentService/index.d.ts +2 -0
  100. package/dist/src/services/deploymentService/index.js +2 -0
  101. package/dist/src/services/deploymentService/index.js.map +1 -0
  102. package/dist/src/services/eulerLabelsService/eulerLabelsService.d.ts +54 -0
  103. package/dist/src/services/eulerLabelsService/eulerLabelsService.js +178 -0
  104. package/dist/src/services/eulerLabelsService/eulerLabelsService.js.map +1 -0
  105. package/dist/src/services/eulerLabelsService/index.d.ts +2 -0
  106. package/dist/src/services/eulerLabelsService/index.js +2 -0
  107. package/dist/src/services/eulerLabelsService/index.js.map +1 -0
  108. package/dist/src/services/executionService/abis/eVaultAbi.d.ts +1948 -0
  109. package/dist/src/services/executionService/abis/eVaultAbi.js +2517 -0
  110. package/dist/src/services/executionService/abis/eVaultAbi.js.map +1 -0
  111. package/dist/src/services/executionService/abis/ethereumVaultConnectorAbi.d.ts +1070 -0
  112. package/dist/src/services/executionService/abis/ethereumVaultConnectorAbi.js +1387 -0
  113. package/dist/src/services/executionService/abis/ethereumVaultConnectorAbi.js.map +1 -0
  114. package/dist/src/services/executionService/abis/permit2PermitAbi.d.ts +52 -0
  115. package/dist/src/services/executionService/abis/permit2PermitAbi.js +36 -0
  116. package/dist/src/services/executionService/abis/permit2PermitAbi.js.map +1 -0
  117. package/dist/src/services/executionService/abis/swapVerifierAbi.d.ts +139 -0
  118. package/dist/src/services/executionService/abis/swapVerifierAbi.js +70 -0
  119. package/dist/src/services/executionService/abis/swapVerifierAbi.js.map +1 -0
  120. package/dist/src/services/executionService/abis/swapperAbi.d.ts +270 -0
  121. package/dist/src/services/executionService/abis/swapperAbi.js +152 -0
  122. package/dist/src/services/executionService/abis/swapperAbi.js.map +1 -0
  123. package/dist/src/services/executionService/executionService.d.ts +619 -0
  124. package/dist/src/services/executionService/executionService.js +2037 -0
  125. package/dist/src/services/executionService/executionService.js.map +1 -0
  126. package/dist/src/services/executionService/executionServiceTypes.d.ts +423 -0
  127. package/dist/src/services/executionService/executionServiceTypes.js +14 -0
  128. package/dist/src/services/executionService/executionServiceTypes.js.map +1 -0
  129. package/dist/src/services/executionService/index.d.ts +7 -0
  130. package/dist/src/services/executionService/index.js +7 -0
  131. package/dist/src/services/executionService/index.js.map +1 -0
  132. package/dist/src/services/feeFlowService/feeFlowService.d.ts +22 -0
  133. package/dist/src/services/feeFlowService/feeFlowService.js +239 -0
  134. package/dist/src/services/feeFlowService/feeFlowService.js.map +1 -0
  135. package/dist/src/services/feeFlowService/feeFlowServiceTypes.d.ts +42 -0
  136. package/dist/src/services/feeFlowService/feeFlowServiceTypes.js +2 -0
  137. package/dist/src/services/feeFlowService/feeFlowServiceTypes.js.map +1 -0
  138. package/dist/src/services/feeFlowService/index.d.ts +2 -0
  139. package/dist/src/services/feeFlowService/index.js +2 -0
  140. package/dist/src/services/feeFlowService/index.js.map +1 -0
  141. package/dist/src/services/intrinsicApyService/adapters/intrinsicApyV3Adapter/index.d.ts +2 -0
  142. package/dist/src/services/intrinsicApyService/adapters/intrinsicApyV3Adapter/index.js +2 -0
  143. package/dist/src/services/intrinsicApyService/adapters/intrinsicApyV3Adapter/index.js.map +1 -0
  144. package/dist/src/services/intrinsicApyService/adapters/intrinsicApyV3Adapter/intrinsicApyV3Adapter.d.ts +21 -0
  145. package/dist/src/services/intrinsicApyService/adapters/intrinsicApyV3Adapter/intrinsicApyV3Adapter.js +125 -0
  146. package/dist/src/services/intrinsicApyService/adapters/intrinsicApyV3Adapter/intrinsicApyV3Adapter.js.map +1 -0
  147. package/dist/src/services/intrinsicApyService/adapters/intrinsicApyV3Adapter/intrinsicApyV3AdapterTypes.d.ts +30 -0
  148. package/dist/src/services/intrinsicApyService/adapters/intrinsicApyV3Adapter/intrinsicApyV3AdapterTypes.js +2 -0
  149. package/dist/src/services/intrinsicApyService/adapters/intrinsicApyV3Adapter/intrinsicApyV3AdapterTypes.js.map +1 -0
  150. package/dist/src/services/intrinsicApyService/index.d.ts +4 -0
  151. package/dist/src/services/intrinsicApyService/index.js +3 -0
  152. package/dist/src/services/intrinsicApyService/index.js.map +1 -0
  153. package/dist/src/services/intrinsicApyService/intrinsicApyService.d.ts +28 -0
  154. package/dist/src/services/intrinsicApyService/intrinsicApyService.js +42 -0
  155. package/dist/src/services/intrinsicApyService/intrinsicApyService.js.map +1 -0
  156. package/dist/src/services/oracleAdapterService/index.d.ts +1 -0
  157. package/dist/src/services/oracleAdapterService/index.js +2 -0
  158. package/dist/src/services/oracleAdapterService/index.js.map +1 -0
  159. package/dist/src/services/oracleAdapterService/oracleAdapterService.d.ts +40 -0
  160. package/dist/src/services/oracleAdapterService/oracleAdapterService.js +65 -0
  161. package/dist/src/services/oracleAdapterService/oracleAdapterService.js.map +1 -0
  162. package/dist/src/services/priceService/backendClient.d.ts +70 -0
  163. package/dist/src/services/priceService/backendClient.js +108 -0
  164. package/dist/src/services/priceService/backendClient.js.map +1 -0
  165. package/dist/src/services/priceService/index.d.ts +2 -0
  166. package/dist/src/services/priceService/index.js +3 -0
  167. package/dist/src/services/priceService/index.js.map +1 -0
  168. package/dist/src/services/priceService/priceService.d.ts +133 -0
  169. package/dist/src/services/priceService/priceService.js +499 -0
  170. package/dist/src/services/priceService/priceService.js.map +1 -0
  171. package/dist/src/services/priceService/utilsLensPriceAbi.d.ts +60 -0
  172. package/dist/src/services/priceService/utilsLensPriceAbi.js +31 -0
  173. package/dist/src/services/priceService/utilsLensPriceAbi.js.map +1 -0
  174. package/dist/src/services/providerService/index.d.ts +2 -0
  175. package/dist/src/services/providerService/index.js +2 -0
  176. package/dist/src/services/providerService/index.js.map +1 -0
  177. package/dist/src/services/providerService/providerService.d.ts +11 -0
  178. package/dist/src/services/providerService/providerService.js +61 -0
  179. package/dist/src/services/providerService/providerService.js.map +1 -0
  180. package/dist/src/services/rewardsService/adapters/rewardsDirectAdapter/index.d.ts +2 -0
  181. package/dist/src/services/rewardsService/adapters/rewardsDirectAdapter/index.js +2 -0
  182. package/dist/src/services/rewardsService/adapters/rewardsDirectAdapter/index.js.map +1 -0
  183. package/dist/src/services/rewardsService/adapters/rewardsDirectAdapter/rewardsDirectAdapter.d.ts +48 -0
  184. package/dist/src/services/rewardsService/adapters/rewardsDirectAdapter/rewardsDirectAdapter.js +391 -0
  185. package/dist/src/services/rewardsService/adapters/rewardsDirectAdapter/rewardsDirectAdapter.js.map +1 -0
  186. package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/index.d.ts +2 -0
  187. package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/index.js +2 -0
  188. package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/index.js.map +1 -0
  189. package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/rewardsV3Adapter.d.ts +23 -0
  190. package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/rewardsV3Adapter.js +296 -0
  191. package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/rewardsV3Adapter.js.map +1 -0
  192. package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/rewardsV3AdapterTypes.d.ts +110 -0
  193. package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/rewardsV3AdapterTypes.js +2 -0
  194. package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/rewardsV3AdapterTypes.js.map +1 -0
  195. package/dist/src/services/rewardsService/index.d.ts +5 -0
  196. package/dist/src/services/rewardsService/index.js +4 -0
  197. package/dist/src/services/rewardsService/index.js.map +1 -0
  198. package/dist/src/services/rewardsService/rewardsService.d.ts +34 -0
  199. package/dist/src/services/rewardsService/rewardsService.js +298 -0
  200. package/dist/src/services/rewardsService/rewardsService.js.map +1 -0
  201. package/dist/src/services/rewardsService/rewardsServiceTypes.d.ts +270 -0
  202. package/dist/src/services/rewardsService/rewardsServiceTypes.js +2 -0
  203. package/dist/src/services/rewardsService/rewardsServiceTypes.js.map +1 -0
  204. package/dist/src/services/simulationService/index.d.ts +2 -0
  205. package/dist/src/services/simulationService/index.js +2 -0
  206. package/dist/src/services/simulationService/index.js.map +1 -0
  207. package/dist/src/services/simulationService/simulationService.d.ts +88 -0
  208. package/dist/src/services/simulationService/simulationService.js +497 -0
  209. package/dist/src/services/simulationService/simulationService.js.map +1 -0
  210. package/dist/src/services/swapService/index.d.ts +3 -0
  211. package/dist/src/services/swapService/index.js +3 -0
  212. package/dist/src/services/swapService/index.js.map +1 -0
  213. package/dist/src/services/swapService/swapService.d.ts +121 -0
  214. package/dist/src/services/swapService/swapService.js +329 -0
  215. package/dist/src/services/swapService/swapService.js.map +1 -0
  216. package/dist/src/services/swapService/swapServiceTypes.d.ts +130 -0
  217. package/dist/src/services/swapService/swapServiceTypes.js +16 -0
  218. package/dist/src/services/swapService/swapServiceTypes.js.map +1 -0
  219. package/dist/src/services/swapService/swapVerifierAbi.d.ts +139 -0
  220. package/dist/src/services/swapService/swapVerifierAbi.js +178 -0
  221. package/dist/src/services/swapService/swapVerifierAbi.js.map +1 -0
  222. package/dist/src/services/tokenlistService/index.d.ts +3 -0
  223. package/dist/src/services/tokenlistService/index.js +2 -0
  224. package/dist/src/services/tokenlistService/index.js.map +1 -0
  225. package/dist/src/services/tokenlistService/tokenlistService.d.ts +31 -0
  226. package/dist/src/services/tokenlistService/tokenlistService.js +56 -0
  227. package/dist/src/services/tokenlistService/tokenlistService.js.map +1 -0
  228. package/dist/src/services/tokenlistService/tokenlistServiceTypes.d.ts +33 -0
  229. package/dist/src/services/tokenlistService/tokenlistServiceTypes.js +2 -0
  230. package/dist/src/services/tokenlistService/tokenlistServiceTypes.js.map +1 -0
  231. package/dist/src/services/vaults/IVaultService.d.ts +47 -0
  232. package/dist/src/services/vaults/IVaultService.js +2 -0
  233. package/dist/src/services/vaults/IVaultService.js.map +1 -0
  234. package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/abis/vaultLensAbi.d.ts +1280 -0
  235. package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/abis/vaultLensAbi.js +1640 -0
  236. package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/abis/vaultLensAbi.js.map +1 -0
  237. package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/eVaultLensTypes.d.ts +97 -0
  238. package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/eVaultLensTypes.js +9 -0
  239. package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/eVaultLensTypes.js.map +1 -0
  240. package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/eVaultOnchainAdapter.d.ts +141 -0
  241. package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/eVaultOnchainAdapter.js +189 -0
  242. package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/eVaultOnchainAdapter.js.map +1 -0
  243. package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/vaultInfoConverter.d.ts +10 -0
  244. package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/vaultInfoConverter.js +454 -0
  245. package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/vaultInfoConverter.js.map +1 -0
  246. package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3Adapter.d.ts +25 -0
  247. package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3Adapter.js +214 -0
  248. package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3Adapter.js.map +1 -0
  249. package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3AdapterConversions.d.ts +5 -0
  250. package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3AdapterConversions.js +795 -0
  251. package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3AdapterConversions.js.map +1 -0
  252. package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3AdapterTypes.d.ts +146 -0
  253. package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3AdapterTypes.js +2 -0
  254. package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3AdapterTypes.js.map +1 -0
  255. package/dist/src/services/vaults/eVaultService/eVaultService.d.ts +74 -0
  256. package/dist/src/services/vaults/eVaultService/eVaultService.js +362 -0
  257. package/dist/src/services/vaults/eVaultService/eVaultService.js.map +1 -0
  258. package/dist/src/services/vaults/eVaultService/eVaultServiceConfig.d.ts +15 -0
  259. package/dist/src/services/vaults/eVaultService/eVaultServiceConfig.js +2 -0
  260. package/dist/src/services/vaults/eVaultService/eVaultServiceConfig.js.map +1 -0
  261. package/dist/src/services/vaults/eVaultService/index.d.ts +5 -0
  262. package/dist/src/services/vaults/eVaultService/index.js +4 -0
  263. package/dist/src/services/vaults/eVaultService/index.js.map +1 -0
  264. package/dist/src/services/vaults/eulerEarnService/adapters/abis/eulerEarnVaultLensAbi.d.ts +468 -0
  265. package/dist/src/services/vaults/eulerEarnService/adapters/abis/eulerEarnVaultLensAbi.js +600 -0
  266. package/dist/src/services/vaults/eulerEarnService/adapters/abis/eulerEarnVaultLensAbi.js.map +1 -0
  267. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnInfoConverter.d.ts +10 -0
  268. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnInfoConverter.js +151 -0
  269. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnInfoConverter.js.map +1 -0
  270. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnLensTypes.d.ts +55 -0
  271. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnLensTypes.js +2 -0
  272. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnLensTypes.js.map +1 -0
  273. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnOnchainAdapter.d.ts +109 -0
  274. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnOnchainAdapter.js +238 -0
  275. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnOnchainAdapter.js.map +1 -0
  276. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnV3Adapter.d.ts +100 -0
  277. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnV3Adapter.js +373 -0
  278. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnV3Adapter.js.map +1 -0
  279. package/dist/src/services/vaults/eulerEarnService/eulerEarnService.d.ts +77 -0
  280. package/dist/src/services/vaults/eulerEarnService/eulerEarnService.js +298 -0
  281. package/dist/src/services/vaults/eulerEarnService/eulerEarnService.js.map +1 -0
  282. package/dist/src/services/vaults/eulerEarnService/eulerEarnServiceConfig.d.ts +13 -0
  283. package/dist/src/services/vaults/eulerEarnService/eulerEarnServiceConfig.js +2 -0
  284. package/dist/src/services/vaults/eulerEarnService/eulerEarnServiceConfig.js.map +1 -0
  285. package/dist/src/services/vaults/eulerEarnService/index.d.ts +5 -0
  286. package/dist/src/services/vaults/eulerEarnService/index.js +4 -0
  287. package/dist/src/services/vaults/eulerEarnService/index.js.map +1 -0
  288. package/dist/src/services/vaults/index.d.ts +1 -0
  289. package/dist/src/services/vaults/index.js +2 -0
  290. package/dist/src/services/vaults/index.js.map +1 -0
  291. package/dist/src/services/vaults/securitizeVaultService/adapters/abis/erc4626EvcCollateralSecuritizeAbi.d.ts +22 -0
  292. package/dist/src/services/vaults/securitizeVaultService/adapters/abis/erc4626EvcCollateralSecuritizeAbi.js +18 -0
  293. package/dist/src/services/vaults/securitizeVaultService/adapters/abis/erc4626EvcCollateralSecuritizeAbi.js.map +1 -0
  294. package/dist/src/services/vaults/securitizeVaultService/adapters/abis/utilsLensAbi.d.ts +64 -0
  295. package/dist/src/services/vaults/securitizeVaultService/adapters/abis/utilsLensAbi.js +30 -0
  296. package/dist/src/services/vaults/securitizeVaultService/adapters/abis/utilsLensAbi.js.map +1 -0
  297. package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultInfoConverter.d.ts +4 -0
  298. package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultInfoConverter.js +53 -0
  299. package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultInfoConverter.js.map +1 -0
  300. package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultLensTypes.d.ts +16 -0
  301. package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultLensTypes.js +2 -0
  302. package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultLensTypes.js.map +1 -0
  303. package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultOnchainAdapter.d.ts +37 -0
  304. package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultOnchainAdapter.js +113 -0
  305. package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultOnchainAdapter.js.map +1 -0
  306. package/dist/src/services/vaults/securitizeVaultService/index.d.ts +2 -0
  307. package/dist/src/services/vaults/securitizeVaultService/index.js +3 -0
  308. package/dist/src/services/vaults/securitizeVaultService/index.js.map +1 -0
  309. package/dist/src/services/vaults/securitizeVaultService/securitizeVaultService.d.ts +52 -0
  310. package/dist/src/services/vaults/securitizeVaultService/securitizeVaultService.js +190 -0
  311. package/dist/src/services/vaults/securitizeVaultService/securitizeVaultService.js.map +1 -0
  312. package/dist/src/services/vaults/vaultMetaService/adapters/IVaultTypeAdapter.d.ts +29 -0
  313. package/dist/src/services/vaults/vaultMetaService/adapters/IVaultTypeAdapter.js +2 -0
  314. package/dist/src/services/vaults/vaultMetaService/adapters/IVaultTypeAdapter.js.map +1 -0
  315. package/dist/src/services/vaults/vaultMetaService/adapters/VaultTypeSubgraphAdapter.d.ts +18 -0
  316. package/dist/src/services/vaults/vaultMetaService/adapters/VaultTypeSubgraphAdapter.js +82 -0
  317. package/dist/src/services/vaults/vaultMetaService/adapters/VaultTypeSubgraphAdapter.js.map +1 -0
  318. package/dist/src/services/vaults/vaultMetaService/adapters/VaultTypeV3Adapter.d.ts +35 -0
  319. package/dist/src/services/vaults/vaultMetaService/adapters/VaultTypeV3Adapter.js +154 -0
  320. package/dist/src/services/vaults/vaultMetaService/adapters/VaultTypeV3Adapter.js.map +1 -0
  321. package/dist/src/services/vaults/vaultMetaService/index.d.ts +4 -0
  322. package/dist/src/services/vaults/vaultMetaService/index.js +4 -0
  323. package/dist/src/services/vaults/vaultMetaService/index.js.map +1 -0
  324. package/dist/src/services/vaults/vaultMetaService/vaultMetaService.d.ts +71 -0
  325. package/dist/src/services/vaults/vaultMetaService/vaultMetaService.js +283 -0
  326. package/dist/src/services/vaults/vaultMetaService/vaultMetaService.js.map +1 -0
  327. package/dist/src/services/walletService/adapters/walletOnchainAdapter.d.ts +20 -0
  328. package/dist/src/services/walletService/adapters/walletOnchainAdapter.js +222 -0
  329. package/dist/src/services/walletService/adapters/walletOnchainAdapter.js.map +1 -0
  330. package/dist/src/services/walletService/index.d.ts +3 -0
  331. package/dist/src/services/walletService/index.js +2 -0
  332. package/dist/src/services/walletService/index.js.map +1 -0
  333. package/dist/src/services/walletService/walletService.d.ts +19 -0
  334. package/dist/src/services/walletService/walletService.js +37 -0
  335. package/dist/src/services/walletService/walletService.js.map +1 -0
  336. package/dist/src/utils/accountComputations.d.ts +96 -0
  337. package/dist/src/utils/accountComputations.js +297 -0
  338. package/dist/src/utils/accountComputations.js.map +1 -0
  339. package/dist/src/utils/batch.d.ts +2 -0
  340. package/dist/src/utils/batch.js +51 -0
  341. package/dist/src/utils/batch.js.map +1 -0
  342. package/dist/src/utils/buildQuery.d.ts +19 -0
  343. package/dist/src/utils/buildQuery.js +72 -0
  344. package/dist/src/utils/buildQuery.js.map +1 -0
  345. package/dist/src/utils/callBundler.d.ts +32 -0
  346. package/dist/src/utils/callBundler.js +93 -0
  347. package/dist/src/utils/callBundler.js.map +1 -0
  348. package/dist/src/utils/decodeSmartContractErrors.d.ts +13 -0
  349. package/dist/src/utils/decodeSmartContractErrors.js +311 -0
  350. package/dist/src/utils/decodeSmartContractErrors.js.map +1 -0
  351. package/dist/src/utils/entityDiagnostics.d.ts +28 -0
  352. package/dist/src/utils/entityDiagnostics.js +72 -0
  353. package/dist/src/utils/entityDiagnostics.js.map +1 -0
  354. package/dist/src/utils/eulerErrorSelectors.d.ts +226 -0
  355. package/dist/src/utils/eulerErrorSelectors.js +227 -0
  356. package/dist/src/utils/eulerErrorSelectors.js.map +1 -0
  357. package/dist/src/utils/irm.d.ts +60 -0
  358. package/dist/src/utils/irm.js +213 -0
  359. package/dist/src/utils/irm.js.map +1 -0
  360. package/dist/src/utils/normalization.d.ts +30 -0
  361. package/dist/src/utils/normalization.js +79 -0
  362. package/dist/src/utils/normalization.js.map +1 -0
  363. package/dist/src/utils/oracle.d.ts +107 -0
  364. package/dist/src/utils/oracle.js +437 -0
  365. package/dist/src/utils/oracle.js.map +1 -0
  366. package/dist/src/utils/parsing.d.ts +29 -0
  367. package/dist/src/utils/parsing.js +199 -0
  368. package/dist/src/utils/parsing.js.map +1 -0
  369. package/dist/src/utils/queryNames.d.ts +28 -0
  370. package/dist/src/utils/queryNames.js +2 -0
  371. package/dist/src/utils/queryNames.js.map +1 -0
  372. package/dist/src/utils/stateOverrides/accessList.d.ts +14 -0
  373. package/dist/src/utils/stateOverrides/accessList.js +24 -0
  374. package/dist/src/utils/stateOverrides/accessList.js.map +1 -0
  375. package/dist/src/utils/stateOverrides/approvalOverrides.d.ts +20 -0
  376. package/dist/src/utils/stateOverrides/approvalOverrides.js +111 -0
  377. package/dist/src/utils/stateOverrides/approvalOverrides.js.map +1 -0
  378. package/dist/src/utils/stateOverrides/balanceOverrides.d.ts +13 -0
  379. package/dist/src/utils/stateOverrides/balanceOverrides.js +145 -0
  380. package/dist/src/utils/stateOverrides/balanceOverrides.js.map +1 -0
  381. package/dist/src/utils/stateOverrides/getStateOverrides.d.ts +31 -0
  382. package/dist/src/utils/stateOverrides/getStateOverrides.js +86 -0
  383. package/dist/src/utils/stateOverrides/getStateOverrides.js.map +1 -0
  384. package/dist/src/utils/stateOverrides/index.d.ts +4 -0
  385. package/dist/src/utils/stateOverrides/index.js +5 -0
  386. package/dist/src/utils/stateOverrides/index.js.map +1 -0
  387. package/dist/src/utils/stateOverrides/mergeStateOverrides.d.ts +6 -0
  388. package/dist/src/utils/stateOverrides/mergeStateOverrides.js +40 -0
  389. package/dist/src/utils/stateOverrides/mergeStateOverrides.js.map +1 -0
  390. package/dist/src/utils/stateOverrides/types.d.ts +5 -0
  391. package/dist/src/utils/stateOverrides/types.js +2 -0
  392. package/dist/src/utils/stateOverrides/types.js.map +1 -0
  393. package/dist/src/utils/subAccounts.d.ts +6 -0
  394. package/dist/src/utils/subAccounts.js +24 -0
  395. package/dist/src/utils/subAccounts.js.map +1 -0
  396. package/dist/src/utils/types.d.ts +20 -0
  397. package/dist/src/utils/types.js +8 -0
  398. package/dist/src/utils/types.js.map +1 -0
  399. package/package.json +67 -0
@@ -0,0 +1,199 @@
1
+ import { formatUnits, getAddress } from "viem";
2
+ export const ZERO_ADDRESS = "0x0000000000000000000000000000000000000000";
3
+ export function parseBigIntField(value, params) {
4
+ try {
5
+ if (typeof value !== "string")
6
+ throw new Error("invalid bigint input");
7
+ return BigInt(value);
8
+ }
9
+ catch {
10
+ params.errors.push({
11
+ code: "DEFAULT_APPLIED",
12
+ severity: "warning",
13
+ message: `Failed to parse bigint at ${params.path}; defaulted to 0.`,
14
+ paths: [params.path],
15
+ entityId: params.entityId,
16
+ source: params.source,
17
+ originalValue: value,
18
+ normalizedValue: "0",
19
+ });
20
+ return 0n;
21
+ }
22
+ }
23
+ export function parseRatio1e4(value, params) {
24
+ const parsed = Number(value);
25
+ if (Number.isFinite(parsed))
26
+ return parsed / 1e4;
27
+ params.errors.push({
28
+ code: "DEFAULT_APPLIED",
29
+ severity: "warning",
30
+ message: `Failed to parse ratio at ${params.path}; defaulted to 0.`,
31
+ paths: [params.path],
32
+ entityId: params.entityId,
33
+ source: params.source,
34
+ originalValue: value,
35
+ normalizedValue: 0,
36
+ });
37
+ return 0;
38
+ }
39
+ export function parseAddressField(value, params) {
40
+ if (value) {
41
+ try {
42
+ return getAddress(value);
43
+ }
44
+ catch {
45
+ // handled below
46
+ }
47
+ }
48
+ const fallback = params.fallback ?? ZERO_ADDRESS;
49
+ params.errors.push({
50
+ code: "DEFAULT_APPLIED",
51
+ severity: "warning",
52
+ message: `Missing or invalid address at ${params.path}; defaulted to ${params.fallbackLabel ?? "zero address"}.`,
53
+ paths: [params.path],
54
+ entityId: params.entityId,
55
+ source: params.source,
56
+ originalValue: value,
57
+ normalizedValue: fallback,
58
+ });
59
+ return fallback;
60
+ }
61
+ export function parseAddressArrayField(value, params) {
62
+ if (!Array.isArray(value)) {
63
+ params.errors.push({
64
+ code: "DEFAULT_APPLIED",
65
+ severity: "warning",
66
+ message: `Missing address array at ${params.path}; defaulted to empty array.`,
67
+ paths: [params.path],
68
+ entityId: params.entityId,
69
+ source: params.source,
70
+ originalValue: value,
71
+ normalizedValue: [],
72
+ });
73
+ return [];
74
+ }
75
+ return value.map((entry, index) => parseAddressField(entry, {
76
+ ...params,
77
+ path: `${params.path}[${index}]`,
78
+ }));
79
+ }
80
+ export function parseStringField(value, params) {
81
+ const fallback = params.fallback ?? "";
82
+ if (typeof value === "string")
83
+ return value;
84
+ params.errors.push({
85
+ code: "DEFAULT_APPLIED",
86
+ severity: "warning",
87
+ message: `Missing string at ${params.path}; defaulted to ${JSON.stringify(fallback)}.`,
88
+ paths: [params.path],
89
+ entityId: params.entityId,
90
+ source: params.source,
91
+ originalValue: value,
92
+ normalizedValue: fallback,
93
+ });
94
+ return fallback;
95
+ }
96
+ export function parseNumberField(value, params) {
97
+ const fallback = params.fallback ?? 0;
98
+ if (typeof value === "number" && Number.isFinite(value))
99
+ return value;
100
+ params.errors.push({
101
+ code: "DEFAULT_APPLIED",
102
+ severity: "warning",
103
+ message: `Missing or invalid number at ${params.path}; defaulted to ${fallback}.`,
104
+ paths: [params.path],
105
+ entityId: params.entityId,
106
+ source: params.source,
107
+ originalValue: value,
108
+ normalizedValue: fallback,
109
+ });
110
+ return fallback;
111
+ }
112
+ export function parseBooleanField(value, params) {
113
+ const fallback = params.fallback ?? false;
114
+ if (typeof value === "boolean")
115
+ return value;
116
+ params.errors.push({
117
+ code: "DEFAULT_APPLIED",
118
+ severity: "warning",
119
+ message: `Missing boolean at ${params.path}; defaulted to ${fallback}.`,
120
+ paths: [params.path],
121
+ entityId: params.entityId,
122
+ source: params.source,
123
+ originalValue: value,
124
+ normalizedValue: fallback,
125
+ });
126
+ return fallback;
127
+ }
128
+ export function parseDaysToLiquidation(value, params) {
129
+ if (value === "Infinity" || value === "MoreThanAYear")
130
+ return value;
131
+ if (typeof value === "number" && Number.isFinite(value))
132
+ return value;
133
+ if (typeof value === "string") {
134
+ const parsed = Number(value);
135
+ if (Number.isFinite(parsed))
136
+ return parsed;
137
+ }
138
+ params.errors.push({
139
+ code: "DEFAULT_APPLIED",
140
+ severity: "warning",
141
+ message: `Failed to parse daysToLiquidation at ${params.path}; defaulted to Infinity.`,
142
+ paths: [params.path],
143
+ entityId: params.entityId,
144
+ source: params.source,
145
+ originalValue: String(value),
146
+ normalizedValue: "Infinity",
147
+ });
148
+ return "Infinity";
149
+ }
150
+ export function parseTimestampField(value, params) {
151
+ if (!value) {
152
+ params.errors.push({
153
+ code: "DEFAULT_APPLIED",
154
+ severity: "warning",
155
+ message: `Missing timestamp at ${params.path}; defaulted to 0.`,
156
+ paths: [params.path],
157
+ entityId: params.entityId,
158
+ source: params.source,
159
+ normalizedValue: 0,
160
+ });
161
+ return 0;
162
+ }
163
+ const parsed = Date.parse(value);
164
+ if (Number.isFinite(parsed))
165
+ return Math.floor(parsed / 1000);
166
+ params.errors.push({
167
+ code: "DEFAULT_APPLIED",
168
+ severity: "warning",
169
+ message: `Failed to parse timestamp at ${params.path}; defaulted to 0.`,
170
+ paths: [params.path],
171
+ entityId: params.entityId,
172
+ source: params.source,
173
+ originalValue: value,
174
+ normalizedValue: 0,
175
+ });
176
+ return 0;
177
+ }
178
+ export function parsePerformanceFee(value, params) {
179
+ try {
180
+ const parsed = Number(formatUnits(BigInt(value ?? "0"), 18));
181
+ if (Number.isFinite(parsed))
182
+ return parsed;
183
+ }
184
+ catch {
185
+ // handled below
186
+ }
187
+ params.errors.push({
188
+ code: "DEFAULT_APPLIED",
189
+ severity: "warning",
190
+ message: `Failed to parse performance fee at ${params.path}; defaulted to 0.`,
191
+ paths: [params.path],
192
+ entityId: params.entityId,
193
+ source: params.source,
194
+ originalValue: value,
195
+ normalizedValue: 0,
196
+ });
197
+ return 0;
198
+ }
199
+ //# sourceMappingURL=parsing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parsing.js","sourceRoot":"","sources":["../../../src/utils/parsing.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import type { ABIService } from "../services/abiService/abiService.js";
2
+ import type { AccountOnchainAdapter } from "../services/accountService/adapters/accountOnchainAdapter/accountOnchainAdapter.js";
3
+ import type { AccountVaultsSubgraphAdapter } from "../services/accountService/adapters/accountOnchainAdapter/accountVaultsSubgraphAdapter.js";
4
+ import type { AccountV3Adapter } from "../services/accountService/adapters/accountV3Adapter/accountV3Adapter.js";
5
+ import type { DeploymentService } from "../services/deploymentService/deploymentService.js";
6
+ import type { EulerLabelsURLAdapter } from "../services/eulerLabelsService/eulerLabelsService.js";
7
+ import type { IntrinsicApyV3Adapter } from "../services/intrinsicApyService/adapters/intrinsicApyV3Adapter/index.js";
8
+ import type { OracleAdapterService } from "../services/oracleAdapterService/oracleAdapterService.js";
9
+ import type { PricingBackendClient } from "../services/priceService/backendClient.js";
10
+ import type { PriceService } from "../services/priceService/priceService.js";
11
+ import type { RewardsDirectAdapter } from "../services/rewardsService/adapters/rewardsDirectAdapter/index.js";
12
+ import type { RewardsV3Adapter } from "../services/rewardsService/adapters/rewardsV3Adapter/index.js";
13
+ import type { RewardsService } from "../services/rewardsService/rewardsService.js";
14
+ import type { SwapService } from "../services/swapService/swapService.js";
15
+ import type { TokenlistService } from "../services/tokenlistService/tokenlistService.js";
16
+ import type { WalletOnchainAdapter } from "../services/walletService/adapters/walletOnchainAdapter.js";
17
+ import type { EVaultOnchainAdapter } from "../services/vaults/eVaultService/adapters/eVaultOnchainAdapter/eVaultOnchainAdapter.js";
18
+ import type { EVaultV3Adapter } from "../services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3Adapter.js";
19
+ import type { EulerEarnOnchainAdapter } from "../services/vaults/eulerEarnService/adapters/eulerEarnOnchainAdapter.js";
20
+ import type { EulerEarnV3Adapter } from "../services/vaults/eulerEarnService/adapters/eulerEarnV3Adapter.js";
21
+ import type { SecuritizeVaultOnchainAdapter } from "../services/vaults/securitizeVaultService/adapters/securitizeVaultOnchainAdapter.js";
22
+ import type { VaultTypeSubgraphAdapter } from "../services/vaults/vaultMetaService/adapters/VaultTypeSubgraphAdapter.js";
23
+ import type { VaultTypeV3Adapter } from "../services/vaults/vaultMetaService/adapters/VaultTypeV3Adapter.js";
24
+ import type { BatchSimulationAdapter } from "../plugins/batchSimulation.js";
25
+ import type { KeyringPluginAdapter } from "../plugins/keyring/keyringPlugin.js";
26
+ import type { PythPluginAdapter } from "../plugins/pyth/pythPlugin.js";
27
+ export type QueryMethodName<T> = Extract<keyof T, `query${string}`>;
28
+ export type EulerSDKQueryName = QueryMethodName<ABIService> | QueryMethodName<AccountOnchainAdapter> | QueryMethodName<AccountVaultsSubgraphAdapter> | QueryMethodName<AccountV3Adapter> | QueryMethodName<typeof DeploymentService> | QueryMethodName<EulerLabelsURLAdapter> | QueryMethodName<IntrinsicApyV3Adapter> | QueryMethodName<OracleAdapterService> | QueryMethodName<PricingBackendClient> | QueryMethodName<PriceService> | QueryMethodName<RewardsDirectAdapter> | QueryMethodName<RewardsV3Adapter> | QueryMethodName<RewardsService> | QueryMethodName<SwapService> | QueryMethodName<TokenlistService> | QueryMethodName<WalletOnchainAdapter> | QueryMethodName<EVaultOnchainAdapter> | QueryMethodName<EVaultV3Adapter> | QueryMethodName<EulerEarnOnchainAdapter> | QueryMethodName<EulerEarnV3Adapter> | QueryMethodName<SecuritizeVaultOnchainAdapter> | QueryMethodName<VaultTypeSubgraphAdapter> | QueryMethodName<VaultTypeV3Adapter> | QueryMethodName<BatchSimulationAdapter> | QueryMethodName<KeyringPluginAdapter> | QueryMethodName<PythPluginAdapter>;
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=queryNames.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queryNames.js","sourceRoot":"","sources":["../../../src/utils/queryNames.ts"],"names":[],"mappings":""}
@@ -0,0 +1,14 @@
1
+ import { type Address, type Hex, type PublicClient } from "viem";
2
+ type CallParams = {
3
+ data: Hex;
4
+ to: Address;
5
+ from?: Address;
6
+ };
7
+ /**
8
+ * Discover storage slots accessed by a call using eth_createAccessList.
9
+ * Works on all nodes including Anvil (unlike debug_traceCall with prestateTracer).
10
+ *
11
+ * @returns Map from contract address to list of storage slots accessed
12
+ */
13
+ export declare function getAccessedSlots(client: PublicClient, params: CallParams): Promise<Map<Address, Hex[]>>;
14
+ export {};
@@ -0,0 +1,24 @@
1
+ import { getAddress } from "viem";
2
+ /**
3
+ * Discover storage slots accessed by a call using eth_createAccessList.
4
+ * Works on all nodes including Anvil (unlike debug_traceCall with prestateTracer).
5
+ *
6
+ * @returns Map from contract address to list of storage slots accessed
7
+ */
8
+ export async function getAccessedSlots(client, params) {
9
+ const tx = {
10
+ to: params.to,
11
+ data: params.data,
12
+ ...(params.from ? { from: params.from } : {}),
13
+ };
14
+ const result = (await client.request({
15
+ method: "eth_createAccessList",
16
+ params: [tx, "latest"],
17
+ }));
18
+ const map = new Map();
19
+ for (const entry of result.accessList || []) {
20
+ map.set(getAddress(entry.address), (entry.storageKeys || []));
21
+ }
22
+ return map;
23
+ }
24
+ //# sourceMappingURL=accessList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accessList.js","sourceRoot":"","sources":["../../../../src/utils/stateOverrides/accessList.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6C,UAAU,EAAE,MAAM,MAAM,CAAC;AAQ7E;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACrC,MAAoB,EACpB,MAAkB;IAElB,MAAM,EAAE,GAAG;QACV,EAAE,EAAE,MAAM,CAAC,EAAE;QACb,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC7C,CAAC;IAEF,MAAM,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,OAAO,CAAC;QACpC,MAAM,EAAE,sBAA6B;QACrC,MAAM,EAAE,CAAC,EAAE,EAAE,QAAQ,CAAQ;KAC7B,CAAC,CAAQ,CAAC;IAEX,MAAM,GAAG,GAAG,IAAI,GAAG,EAAkB,CAAC;IACtC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,UAAU,IAAI,EAAE,EAAE,CAAC;QAC7C,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,IAAI,EAAE,CAAU,CAAC,CAAC;IACxE,CAAC;IACD,OAAO,GAAG,CAAC;AACZ,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { type Address, type PublicClient, type StateMapping, type StateOverride } from "viem";
2
+ /**
3
+ * Compute Permit2 allowance storage slots for the given approvals.
4
+ *
5
+ * Permit2 uses: mapping(owner => mapping(token => mapping(spender => PackedAllowance)))
6
+ * Storage slot 1 is the base slot for the allowance mapping.
7
+ */
8
+ export declare function computePermit2StateDiff(account: Address, approvals: [Address, Address][]): StateMapping;
9
+ /**
10
+ * Generate state overrides for ERC20 approvals and Permit2 allowances.
11
+ *
12
+ * 1. Computes Permit2 storage slots deterministically (keccak256 mapping layout)
13
+ * 2. Traces actual ERC20 approve() calls to discover approval storage slots
14
+ *
15
+ * @param client - viem PublicClient (must support eth_createAccessList and eth_call with state overrides)
16
+ * @param account - token owner address
17
+ * @param approvals - array of [assetAddress, spenderAddress] pairs
18
+ * @param permit2Address - Permit2 contract address
19
+ */
20
+ export declare function getApprovalOverrides(client: PublicClient, account: Address, approvals: [Address, Address][], permit2Address: Address): Promise<StateOverride>;
@@ -0,0 +1,111 @@
1
+ import { erc20Abi, encodePacked, getAddress, hexToBigInt, keccak256, maxUint256, toHex, } from "viem";
2
+ import { encodeFunctionData } from "viem/utils";
3
+ import { getAccessedSlots } from "./accessList.js";
4
+ /**
5
+ * Compute Permit2 allowance storage slots for the given approvals.
6
+ *
7
+ * Permit2 uses: mapping(owner => mapping(token => mapping(spender => PackedAllowance)))
8
+ * Storage slot 1 is the base slot for the allowance mapping.
9
+ */
10
+ export function computePermit2StateDiff(account, approvals) {
11
+ const stateDiff = [];
12
+ const seen = new Set();
13
+ for (const [asset, spender] of approvals) {
14
+ // Permit2 allowance mapping: mapping(address owner => mapping(address token => mapping(address spender => PackedAllowance)))
15
+ // Slot 1 is the base mapping slot
16
+ const baseSlot = keccak256(encodePacked(["uint256", "uint256"], [hexToBigInt(account), 1n]));
17
+ const assetSlot = keccak256(encodePacked(["uint256", "uint256"], [hexToBigInt(asset), hexToBigInt(baseSlot)]));
18
+ const spenderSlot = keccak256(encodePacked(["uint256", "uint256"], [hexToBigInt(spender), hexToBigInt(assetSlot)]));
19
+ if (!seen.has(spenderSlot)) {
20
+ seen.add(spenderSlot);
21
+ stateDiff.push({ slot: spenderSlot, value: toHex(maxUint256) });
22
+ }
23
+ }
24
+ return stateDiff;
25
+ }
26
+ /**
27
+ * Discover ERC20 allowance storage slots using eth_createAccessList,
28
+ * then create overrides that set them to maxUint256.
29
+ *
30
+ * Traces allowance(account, permit2) to find candidate slots, then
31
+ * tests each by overriding and re-reading to verify.
32
+ */
33
+ async function discoverAllowanceSlots(client, account, assets, permit2) {
34
+ const stateOverride = [];
35
+ const valueHex = toHex(maxUint256, { size: 32 });
36
+ for (const asset of assets) {
37
+ try {
38
+ const accessedSlots = await getAccessedSlots(client, {
39
+ data: encodeFunctionData({
40
+ abi: erc20Abi,
41
+ functionName: "allowance",
42
+ args: [account, permit2],
43
+ }),
44
+ to: asset,
45
+ });
46
+ const tokenSlots = accessedSlots.get(getAddress(asset));
47
+ if (!tokenSlots || tokenSlots.length === 0)
48
+ continue;
49
+ // Test each candidate: override slot with maxUint256, read allowance, verify
50
+ const testResults = await Promise.all(tokenSlots.map((slot) => client
51
+ .readContract({
52
+ abi: erc20Abi,
53
+ address: asset,
54
+ functionName: "allowance",
55
+ args: [account, permit2],
56
+ stateOverride: [
57
+ {
58
+ address: asset,
59
+ stateDiff: [{ slot, value: valueHex }],
60
+ },
61
+ ],
62
+ })
63
+ .catch(() => 0n)));
64
+ const stateDiff = [];
65
+ for (let i = 0; i < tokenSlots.length; i++) {
66
+ if (testResults[i] === maxUint256) {
67
+ stateDiff.push({ slot: tokenSlots[i], value: valueHex });
68
+ }
69
+ }
70
+ if (stateDiff.length > 0) {
71
+ stateOverride.push({ address: asset, stateDiff });
72
+ }
73
+ }
74
+ catch (e) {
75
+ console.warn(`[approvalOverrides] slot discovery failed for ${asset}:`, e);
76
+ }
77
+ }
78
+ return stateOverride;
79
+ }
80
+ /**
81
+ * Generate state overrides for ERC20 approvals and Permit2 allowances.
82
+ *
83
+ * 1. Computes Permit2 storage slots deterministically (keccak256 mapping layout)
84
+ * 2. Traces actual ERC20 approve() calls to discover approval storage slots
85
+ *
86
+ * @param client - viem PublicClient (must support eth_createAccessList and eth_call with state overrides)
87
+ * @param account - token owner address
88
+ * @param approvals - array of [assetAddress, spenderAddress] pairs
89
+ * @param permit2Address - Permit2 contract address
90
+ */
91
+ export async function getApprovalOverrides(client, account, approvals, permit2Address) {
92
+ if (approvals.length === 0)
93
+ return [];
94
+ const stateOverride = [];
95
+ // 1. Permit2 allowance overrides (deterministic slot computation)
96
+ const permit2StateDiff = computePermit2StateDiff(account, approvals);
97
+ if (permit2StateDiff.length > 0) {
98
+ stateOverride.push({
99
+ address: permit2Address,
100
+ stateDiff: permit2StateDiff,
101
+ });
102
+ }
103
+ // 2. ERC20 approval overrides (discovered via eth_createAccessList)
104
+ const uniqueAssets = [
105
+ ...new Set(approvals.map(([asset]) => getAddress(asset))),
106
+ ];
107
+ const allowanceOverrides = await discoverAllowanceSlots(client, account, uniqueAssets, permit2Address);
108
+ stateOverride.push(...allowanceOverrides);
109
+ return stateOverride;
110
+ }
111
+ //# sourceMappingURL=approvalOverrides.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"approvalOverrides.js","sourceRoot":"","sources":["../../../../src/utils/stateOverrides/approvalOverrides.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { type Address, type PublicClient, type StateOverride } from "viem";
2
+ /**
3
+ * Generate state overrides that give `account` sufficient ERC20 balances.
4
+ *
5
+ * For each token where the on-chain balance is below the requested amount,
6
+ * uses eth_createAccessList to discover the balanceOf storage slot, then builds
7
+ * a stateDiff that sets that slot to the desired value.
8
+ *
9
+ * @param client - viem PublicClient (must support eth_createAccessList and eth_call with state overrides)
10
+ * @param account - address whose balance to override
11
+ * @param tokens - array of [tokenAddress, requiredAmount]
12
+ */
13
+ export declare function getBalanceOverrides(client: PublicClient, account: Address, tokens: [Address, bigint][]): Promise<StateOverride>;
@@ -0,0 +1,145 @@
1
+ import { erc20Abi, getAddress, numberToHex, } from "viem";
2
+ import { encodeFunctionData } from "viem/utils";
3
+ import { getAccessedSlots } from "./accessList.js";
4
+ const balanceSlotCache = new Map();
5
+ // wM token requires special storage layout handling
6
+ const WM_CONTRACT = "0x437cc33344a0B27A429f795ff6B469C72698B291";
7
+ function shouldSkipCaching(token) {
8
+ return getAddress(token) === getAddress(WM_CONTRACT);
9
+ }
10
+ function applySpecialCasing(stateOverride) {
11
+ const result = [];
12
+ for (const override of stateOverride) {
13
+ if (getAddress(override.address) === getAddress(WM_CONTRACT) &&
14
+ override.stateDiff) {
15
+ // wM token: shift values left by 8 bits and write to adjacent slot
16
+ const newStateDiff = override.stateDiff.flatMap((diff) => {
17
+ const shiftedValue = `0x${(BigInt(diff.value) << 8n)
18
+ .toString(16)
19
+ .padStart(64, "0")}`;
20
+ return [
21
+ { slot: diff.slot, value: shiftedValue },
22
+ {
23
+ slot: `0x${(BigInt(diff.slot) + 1n)
24
+ .toString(16)
25
+ .padStart(64, "0")}`,
26
+ value: shiftedValue,
27
+ },
28
+ ];
29
+ });
30
+ result.push({ ...override, stateDiff: newStateDiff });
31
+ }
32
+ else {
33
+ result.push(override);
34
+ }
35
+ }
36
+ return result;
37
+ }
38
+ function findIndexOfLargest(arr) {
39
+ if (arr.length === 0)
40
+ return -1;
41
+ let maxIndex = 0;
42
+ let maxValue = arr[0];
43
+ for (let i = 1; i < arr.length; i++) {
44
+ if (arr[i] > maxValue) {
45
+ maxValue = arr[i];
46
+ maxIndex = i;
47
+ }
48
+ }
49
+ return maxIndex;
50
+ }
51
+ /**
52
+ * Generate state overrides that give `account` sufficient ERC20 balances.
53
+ *
54
+ * For each token where the on-chain balance is below the requested amount,
55
+ * uses eth_createAccessList to discover the balanceOf storage slot, then builds
56
+ * a stateDiff that sets that slot to the desired value.
57
+ *
58
+ * @param client - viem PublicClient (must support eth_createAccessList and eth_call with state overrides)
59
+ * @param account - address whose balance to override
60
+ * @param tokens - array of [tokenAddress, requiredAmount]
61
+ */
62
+ export async function getBalanceOverrides(client, account, tokens) {
63
+ if (tokens.length === 0)
64
+ return [];
65
+ const chainId = client.chain?.id;
66
+ if (!chainId)
67
+ throw new Error("Client must have a chain configured");
68
+ const stateOverride = [];
69
+ // Batch-read current balances
70
+ const currentBalances = await Promise.all(tokens.map(([token]) => client
71
+ .readContract({
72
+ abi: erc20Abi,
73
+ address: token,
74
+ functionName: "balanceOf",
75
+ args: [account],
76
+ })
77
+ .catch(() => 0n)));
78
+ for (const [i, [token, requiredAmount]] of tokens.entries()) {
79
+ const currentBalance = currentBalances[i] ?? 0n;
80
+ if (currentBalance >= requiredAmount)
81
+ continue;
82
+ const cacheKey = `${chainId}:${account}:${token}`;
83
+ const valueHex = numberToHex(requiredAmount, { size: 32 });
84
+ // Check cache first
85
+ const cached = balanceSlotCache.get(cacheKey);
86
+ if (cached && !shouldSkipCaching(token)) {
87
+ stateOverride.push({
88
+ address: cached.address,
89
+ stateDiff: [{ slot: cached.slot, value: valueHex }],
90
+ });
91
+ continue;
92
+ }
93
+ // Use eth_createAccessList to find candidate storage slots
94
+ try {
95
+ const accessedSlots = await getAccessedSlots(client, {
96
+ data: encodeFunctionData({
97
+ abi: erc20Abi,
98
+ functionName: "balanceOf",
99
+ args: [account],
100
+ }),
101
+ to: token,
102
+ });
103
+ const tokenSlots = accessedSlots.get(getAddress(token));
104
+ if (!tokenSlots || tokenSlots.length === 0)
105
+ continue;
106
+ const candidateSlots = tokenSlots.map((slot) => ({
107
+ address: getAddress(token),
108
+ slot,
109
+ }));
110
+ if (candidateSlots.length === 0)
111
+ continue;
112
+ // Test each candidate: override slot → read balanceOf → pick best
113
+ const testBalances = await Promise.all(candidateSlots.map((slot) => client
114
+ .readContract({
115
+ abi: erc20Abi,
116
+ address: token,
117
+ functionName: "balanceOf",
118
+ args: [account],
119
+ stateOverride: [
120
+ {
121
+ address: slot.address,
122
+ stateDiff: [{ slot: slot.slot, value: valueHex }],
123
+ },
124
+ ],
125
+ })
126
+ .catch(() => 0n)));
127
+ const bestIdx = findIndexOfLargest(testBalances);
128
+ const bestSlot = candidateSlots[bestIdx];
129
+ if (bestSlot) {
130
+ stateOverride.push({
131
+ address: bestSlot.address,
132
+ stateDiff: [{ slot: bestSlot.slot, value: valueHex }],
133
+ });
134
+ if (!shouldSkipCaching(token)) {
135
+ balanceSlotCache.set(cacheKey, bestSlot);
136
+ }
137
+ }
138
+ }
139
+ catch (e) {
140
+ console.warn(`[balanceOverrides] slot discovery failed for ${token}:`, e);
141
+ }
142
+ }
143
+ return applySpecialCasing(stateOverride);
144
+ }
145
+ //# sourceMappingURL=balanceOverrides.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"balanceOverrides.js","sourceRoot":"","sources":["../../../../src/utils/stateOverrides/balanceOverrides.ts"],"names":[],"mappings":"AAAA,OAAO,EAKN,QAAQ,EACR,UAAU,EACV,WAAW,GACX,MAAM,MAAM,CAAC;AACd,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAKnD,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAA6B,CAAC;AAE9D,oDAAoD;AACpD,MAAM,WAAW,GAAG,4CAA4C,CAAC;AAEjE,SAAS,iBAAiB,CAAC,KAAc;IACxC,OAAO,UAAU,CAAC,KAAK,CAAC,KAAK,UAAU,CAAC,WAAW,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,kBAAkB,CAAC,aAA4B;IACvD,MAAM,MAAM,GAAkB,EAAE,CAAC;IAEjC,KAAK,MAAM,QAAQ,IAAI,aAAa,EAAE,CAAC;QACtC,IACC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,UAAU,CAAC,WAAW,CAAC;YACxD,QAAQ,CAAC,SAAS,EACjB,CAAC;YACF,mEAAmE;YACnE,MAAM,YAAY,GAAG,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBACxD,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;qBAClD,QAAQ,CAAC,EAAE,CAAC;qBACZ,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,EAAS,CAAC;gBAC7B,OAAO;oBACN,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE;oBACxC;wBACC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;6BACjC,QAAQ,CAAC,EAAE,CAAC;6BACZ,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,EAAS;wBAC5B,KAAK,EAAE,YAAY;qBACnB;iBACD,CAAC;YACH,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,CAAC;QACvD,CAAC;aAAM,CAAC;YACP,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvB,CAAC;IACF,CAAC;IAED,OAAO,MAAM,CAAC;AACf,CAAC;AAED,SAAS,kBAAkB,CAAC,GAAa;IACxC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC,CAAC;IAChC,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,IAAI,QAAQ,GAAG,GAAG,CAAC,CAAC,CAAE,CAAC;IACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,IAAI,GAAG,CAAC,CAAC,CAAE,GAAG,QAAQ,EAAE,CAAC;YACxB,QAAQ,GAAG,GAAG,CAAC,CAAC,CAAE,CAAC;YACnB,QAAQ,GAAG,CAAC,CAAC;QACd,CAAC;IACF,CAAC;IACD,OAAO,QAAQ,CAAC;AACjB,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACxC,MAAoB,EACpB,OAAgB,EAChB,MAA2B;IAE3B,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEnC,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC;IACjC,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IAErE,MAAM,aAAa,GAAkB,EAAE,CAAC;IAExC,8BAA8B;IAC9B,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,GAAG,CACxC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,CACtB,MAAM;SACJ,YAAY,CAAC;QACb,GAAG,EAAE,QAAQ;QACb,OAAO,EAAE,KAAK;QACd,YAAY,EAAE,WAAW;QACzB,IAAI,EAAE,CAAC,OAAO,CAAC;KACf,CAAC;SACD,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CACjB,CACD,CAAC;IAEF,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;QAC7D,MAAM,cAAc,GAAG,eAAe,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAChD,IAAI,cAAc,IAAI,cAAc;YAAE,SAAS;QAE/C,MAAM,QAAQ,GAAG,GAAG,OAAO,IAAI,OAAO,IAAI,KAAK,EAAkB,CAAC;QAClE,MAAM,QAAQ,GAAG,WAAW,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QAE3D,oBAAoB;QACpB,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC9C,IAAI,MAAM,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;YACzC,aAAa,CAAC,IAAI,CAAC;gBAClB,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;aACnD,CAAC,CAAC;YACH,SAAS;QACV,CAAC;QAED,2DAA2D;QAC3D,IAAI,CAAC;YACJ,MAAM,aAAa,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE;gBACpD,IAAI,EAAE,kBAAkB,CAAC;oBACxB,GAAG,EAAE,QAAQ;oBACb,YAAY,EAAE,WAAW;oBACzB,IAAI,EAAE,CAAC,OAAO,CAAC;iBACf,CAAC;gBACF,EAAE,EAAE,KAAK;aACT,CAAC,CAAC;YAEH,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;YACxD,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YAErD,MAAM,cAAc,GAAkB,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBAC/D,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC;gBAC1B,IAAI;aACJ,CAAC,CAAC,CAAC;YAEJ,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YAE1C,kEAAkE;YAClE,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,GAAG,CACrC,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAC3B,MAAM;iBACJ,YAAY,CAAC;gBACb,GAAG,EAAE,QAAQ;gBACb,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,WAAW;gBACzB,IAAI,EAAE,CAAC,OAAO,CAAC;gBACf,aAAa,EAAE;oBACd;wBACC,OAAO,EAAE,IAAI,CAAC,OAAO;wBACrB,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;qBACjD;iBACD;aACD,CAAC;iBACD,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CACjB,CACD,CAAC;YAEF,MAAM,OAAO,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAC;YACjD,MAAM,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;YACzC,IAAI,QAAQ,EAAE,CAAC;gBACd,aAAa,CAAC,IAAI,CAAC;oBAClB,OAAO,EAAE,QAAQ,CAAC,OAAO;oBACzB,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;iBACrD,CAAC,CAAC;gBACH,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC/B,gBAAgB,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBAC1C,CAAC;YACF,CAAC;QACF,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACZ,OAAO,CAAC,IAAI,CAAC,gDAAgD,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC;QAC3E,CAAC;IACF,CAAC;IAED,OAAO,kBAAkB,CAAC,aAAa,CAAC,CAAC;AAC1C,CAAC"}
@@ -0,0 +1,31 @@
1
+ import { type Address, type PublicClient, type StateOverride } from "viem";
2
+ import type { TransactionPlan } from "../../services/executionService/executionServiceTypes.js";
3
+ export type DeriveStateOverridesOptions = {
4
+ /** Override the native (ETH) balance. Defaults to 1000 ETH. Set to 0n to skip. */
5
+ nativeBalance?: bigint;
6
+ /** Permit2 contract address. Required for approval overrides. */
7
+ permit2Address: Address;
8
+ };
9
+ /**
10
+ * Generate all state overrides needed to simulate a TransactionPlan
11
+ * for an account that may not have sufficient tokens or approvals.
12
+ *
13
+ * Combines:
14
+ * - Native balance override (ETH)
15
+ * - ERC20 balance overrides (via storage slot discovery)
16
+ * - ERC20 approval + Permit2 allowance overrides
17
+ *
18
+ * @param client - viem PublicClient (must support eth_createAccessList and eth_call with state overrides)
19
+ * @param plan - TransactionPlan from the SDK's execution service
20
+ * @param account - the connected wallet address
21
+ * @param options - Permit2 address and optional native balance override
22
+ *
23
+ * @example
24
+ * ```ts
25
+ * const plan = sdk.executionService.planDeposit({ ... })
26
+ * const permit2 = sdk.deploymentService.getDeployment(chainId).addresses.coreAddrs.permit2
27
+ * const overrides = await deriveStateOverrides(client, plan, account, { permit2Address: permit2 })
28
+ * // Use overrides with simulateContract or eth_call
29
+ * ```
30
+ */
31
+ export declare function deriveStateOverrides(client: PublicClient, plan: TransactionPlan, account: Address, options: DeriveStateOverridesOptions): Promise<StateOverride>;