@guru-fund/sdk 0.1.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 (413) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +226 -0
  3. package/dist/GuruProtocol.d.ts +44 -0
  4. package/dist/GuruProtocol.js +75 -0
  5. package/dist/addresses.d.ts +40 -0
  6. package/dist/addresses.js +111 -0
  7. package/dist/constants.d.ts +22 -0
  8. package/dist/constants.js +23 -0
  9. package/dist/helpers/FundDataFetcher.d.ts +24 -0
  10. package/dist/helpers/FundDataFetcher.js +66 -0
  11. package/dist/helpers/ReceiptParser.d.ts +23 -0
  12. package/dist/helpers/ReceiptParser.js +59 -0
  13. package/dist/helpers/Token.d.ts +18 -0
  14. package/dist/helpers/Token.js +43 -0
  15. package/dist/helpers/compareAddresses.d.ts +1 -0
  16. package/dist/helpers/compareAddresses.js +15 -0
  17. package/dist/index.d.ts +17 -0
  18. package/dist/index.js +3 -0
  19. package/dist/quotes/quoteDeposit.d.ts +41 -0
  20. package/dist/quotes/quoteDeposit.js +186 -0
  21. package/dist/quotes/quoteHarvest.d.ts +34 -0
  22. package/dist/quotes/quoteHarvest.js +105 -0
  23. package/dist/quotes/quoteRebalance.d.ts +51 -0
  24. package/dist/quotes/quoteRebalance.js +201 -0
  25. package/dist/quotes/quoteTrade.d.ts +18 -0
  26. package/dist/quotes/quoteTrade.js +51 -0
  27. package/dist/quotes/quoteWithdrawal.d.ts +41 -0
  28. package/dist/quotes/quoteWithdrawal.js +113 -0
  29. package/dist/router/constants.d.ts +18 -0
  30. package/dist/router/constants.js +25 -0
  31. package/dist/router/finalizeRoute.d.ts +16 -0
  32. package/dist/router/finalizeRoute.js +29 -0
  33. package/dist/router/getFallbackRoutes.d.ts +10 -0
  34. package/dist/router/getFallbackRoutes.js +91 -0
  35. package/dist/router/getUniswapV4Route.d.ts +42 -0
  36. package/dist/router/getUniswapV4Route.js +324 -0
  37. package/dist/router/getVeloraRoute.d.ts +10 -0
  38. package/dist/router/getVeloraRoute.js +68 -0
  39. package/dist/router/helpers.d.ts +11 -0
  40. package/dist/router/helpers.js +30 -0
  41. package/dist/router/index.d.ts +22 -0
  42. package/dist/router/index.js +135 -0
  43. package/dist/router/pathCache.d.ts +16 -0
  44. package/dist/router/pathCache.js +116 -0
  45. package/dist/router/poolHelper.d.ts +126 -0
  46. package/dist/router/poolHelper.js +807 -0
  47. package/dist/router/quoteWethTrade.d.ts +14 -0
  48. package/dist/router/quoteWethTrade.js +125 -0
  49. package/dist/router/simulation.d.ts +43 -0
  50. package/dist/router/simulation.js +70 -0
  51. package/dist/router/types.d.ts +149 -0
  52. package/dist/router/types.js +1 -0
  53. package/dist/router/v4PoolDiscovery.d.ts +30 -0
  54. package/dist/router/v4PoolDiscovery.js +147 -0
  55. package/dist/router/velora.d.ts +42 -0
  56. package/dist/router/velora.js +279 -0
  57. package/dist/schemas/index.d.ts +6 -0
  58. package/dist/schemas/index.js +6 -0
  59. package/dist/schemas/primitives.d.ts +3 -0
  60. package/dist/schemas/primitives.js +9 -0
  61. package/dist/schemas/quoteDeposit.d.ts +23 -0
  62. package/dist/schemas/quoteDeposit.js +10 -0
  63. package/dist/schemas/quoteHarvest.d.ts +17 -0
  64. package/dist/schemas/quoteHarvest.js +8 -0
  65. package/dist/schemas/quoteRebalance.d.ts +29 -0
  66. package/dist/schemas/quoteRebalance.js +10 -0
  67. package/dist/schemas/quoteTrade.d.ts +20 -0
  68. package/dist/schemas/quoteTrade.js +9 -0
  69. package/dist/schemas/quoteWithdrawal.d.ts +23 -0
  70. package/dist/schemas/quoteWithdrawal.js +10 -0
  71. package/dist/txBuilders/buildDepositTx.d.ts +17 -0
  72. package/dist/txBuilders/buildDepositTx.js +18 -0
  73. package/dist/txBuilders/buildHarvestTx.d.ts +16 -0
  74. package/dist/txBuilders/buildHarvestTx.js +17 -0
  75. package/dist/txBuilders/buildTradeTx.d.ts +9 -0
  76. package/dist/txBuilders/buildTradeTx.js +9 -0
  77. package/dist/txBuilders/buildWithdrawTx.d.ts +16 -0
  78. package/dist/txBuilders/buildWithdrawTx.js +17 -0
  79. package/dist/txBuilders/index.d.ts +8 -0
  80. package/dist/txBuilders/index.js +4 -0
  81. package/dist/typechain/common.d.ts +50 -0
  82. package/dist/typechain/common.js +1 -0
  83. package/dist/typechain/factories/include/IPancakeQuoterV2__factory.d.ts +225 -0
  84. package/dist/typechain/factories/include/IPancakeQuoterV2__factory.js +295 -0
  85. package/dist/typechain/factories/include/ISwapRouter02__factory.d.ts +826 -0
  86. package/dist/typechain/factories/include/ISwapRouter02__factory.js +1073 -0
  87. package/dist/typechain/factories/include/index.d.ts +2 -0
  88. package/dist/typechain/factories/include/index.js +2 -0
  89. package/dist/typechain/factories/index.d.ts +2 -0
  90. package/dist/typechain/factories/index.js +2 -0
  91. package/dist/typechain/factories/out/Adapter__factory.d.ts +31 -0
  92. package/dist/typechain/factories/out/Adapter__factory.js +43 -0
  93. package/dist/typechain/factories/out/AerodromeV2Adapter__factory.d.ts +179 -0
  94. package/dist/typechain/factories/out/AerodromeV2Adapter__factory.js +237 -0
  95. package/dist/typechain/factories/out/AerodromeV3Adapter__factory.d.ts +162 -0
  96. package/dist/typechain/factories/out/AerodromeV3Adapter__factory.js +215 -0
  97. package/dist/typechain/factories/out/AssetManager.sol/LedgerAssetManager__factory.d.ts +1032 -0
  98. package/dist/typechain/factories/out/AssetManager.sol/LedgerAssetManager__factory.js +1357 -0
  99. package/dist/typechain/factories/out/AssetManager.sol/index.d.ts +1 -0
  100. package/dist/typechain/factories/out/AssetManager.sol/index.js +1 -0
  101. package/dist/typechain/factories/out/Bookkeeper.sol/LedgerBookkeeper__factory.d.ts +950 -0
  102. package/dist/typechain/factories/out/Bookkeeper.sol/LedgerBookkeeper__factory.js +1250 -0
  103. package/dist/typechain/factories/out/Bookkeeper.sol/index.d.ts +1 -0
  104. package/dist/typechain/factories/out/Bookkeeper.sol/index.js +1 -0
  105. package/dist/typechain/factories/out/Checkpoint.sol/CheckpointController__factory.d.ts +33 -0
  106. package/dist/typechain/factories/out/Checkpoint.sol/CheckpointController__factory.js +47 -0
  107. package/dist/typechain/factories/out/Checkpoint.sol/index.d.ts +1 -0
  108. package/dist/typechain/factories/out/Checkpoint.sol/index.js +1 -0
  109. package/dist/typechain/factories/out/Closure.sol/ClosureController__factory.d.ts +459 -0
  110. package/dist/typechain/factories/out/Closure.sol/ClosureController__factory.js +603 -0
  111. package/dist/typechain/factories/out/Closure.sol/index.d.ts +1 -0
  112. package/dist/typechain/factories/out/Closure.sol/index.js +1 -0
  113. package/dist/typechain/factories/out/ContextBuilder__factory.d.ts +671 -0
  114. package/dist/typechain/factories/out/ContextBuilder__factory.js +870 -0
  115. package/dist/typechain/factories/out/Control.sol/Controllable__factory.d.ts +107 -0
  116. package/dist/typechain/factories/out/Control.sol/Controllable__factory.js +141 -0
  117. package/dist/typechain/factories/out/Control.sol/Controller__factory.d.ts +21 -0
  118. package/dist/typechain/factories/out/Control.sol/Controller__factory.js +30 -0
  119. package/dist/typechain/factories/out/Control.sol/index.d.ts +2 -0
  120. package/dist/typechain/factories/out/Control.sol/index.js +2 -0
  121. package/dist/typechain/factories/out/Controller.sol/ClosureDelegate__factory.d.ts +57 -0
  122. package/dist/typechain/factories/out/Controller.sol/ClosureDelegate__factory.js +77 -0
  123. package/dist/typechain/factories/out/Controller.sol/CreationDelegate__factory.d.ts +58 -0
  124. package/dist/typechain/factories/out/Controller.sol/CreationDelegate__factory.js +77 -0
  125. package/dist/typechain/factories/out/Controller.sol/DepositDelegate__factory.d.ts +55 -0
  126. package/dist/typechain/factories/out/Controller.sol/DepositDelegate__factory.js +74 -0
  127. package/dist/typechain/factories/out/Controller.sol/FundController__factory.d.ts +703 -0
  128. package/dist/typechain/factories/out/Controller.sol/FundController__factory.js +911 -0
  129. package/dist/typechain/factories/out/Controller.sol/HarvestDelegate__factory.d.ts +234 -0
  130. package/dist/typechain/factories/out/Controller.sol/HarvestDelegate__factory.js +303 -0
  131. package/dist/typechain/factories/out/Controller.sol/TradeDelegate__factory.d.ts +61 -0
  132. package/dist/typechain/factories/out/Controller.sol/TradeDelegate__factory.js +81 -0
  133. package/dist/typechain/factories/out/Controller.sol/TransferDelegate__factory.d.ts +29 -0
  134. package/dist/typechain/factories/out/Controller.sol/TransferDelegate__factory.js +40 -0
  135. package/dist/typechain/factories/out/Controller.sol/WithdrawalDelegate__factory.d.ts +51 -0
  136. package/dist/typechain/factories/out/Controller.sol/WithdrawalDelegate__factory.js +69 -0
  137. package/dist/typechain/factories/out/Controller.sol/index.d.ts +8 -0
  138. package/dist/typechain/factories/out/Controller.sol/index.js +8 -0
  139. package/dist/typechain/factories/out/Cooldown.sol/LedgerCooldown__factory.d.ts +747 -0
  140. package/dist/typechain/factories/out/Cooldown.sol/LedgerCooldown__factory.js +982 -0
  141. package/dist/typechain/factories/out/Cooldown.sol/index.d.ts +1 -0
  142. package/dist/typechain/factories/out/Cooldown.sol/index.js +1 -0
  143. package/dist/typechain/factories/out/Creation.sol/CreationController__factory.d.ts +172 -0
  144. package/dist/typechain/factories/out/Creation.sol/CreationController__factory.js +225 -0
  145. package/dist/typechain/factories/out/Creation.sol/index.d.ts +1 -0
  146. package/dist/typechain/factories/out/Creation.sol/index.js +1 -0
  147. package/dist/typechain/factories/out/Deposit.sol/DepositController__factory.d.ts +162 -0
  148. package/dist/typechain/factories/out/Deposit.sol/DepositController__factory.js +223 -0
  149. package/dist/typechain/factories/out/Deposit.sol/index.d.ts +1 -0
  150. package/dist/typechain/factories/out/Deposit.sol/index.js +1 -0
  151. package/dist/typechain/factories/out/Error__factory.d.ts +318 -0
  152. package/dist/typechain/factories/out/Error__factory.js +423 -0
  153. package/dist/typechain/factories/out/Harvest.sol/HarvestController__factory.d.ts +401 -0
  154. package/dist/typechain/factories/out/Harvest.sol/HarvestController__factory.js +527 -0
  155. package/dist/typechain/factories/out/Harvest.sol/index.d.ts +1 -0
  156. package/dist/typechain/factories/out/Harvest.sol/index.js +1 -0
  157. package/dist/typechain/factories/out/IAerodromeRouter__factory.d.ts +85 -0
  158. package/dist/typechain/factories/out/IAerodromeRouter__factory.js +113 -0
  159. package/dist/typechain/factories/out/IAerodromeSwapRouter__factory.d.ts +89 -0
  160. package/dist/typechain/factories/out/IAerodromeSwapRouter__factory.js +119 -0
  161. package/dist/typechain/factories/out/IUniswapV4.sol/IPermit2__factory.d.ts +29 -0
  162. package/dist/typechain/factories/out/IUniswapV4.sol/IPermit2__factory.js +40 -0
  163. package/dist/typechain/factories/out/IUniswapV4.sol/IUniversalRouter__factory.d.ts +25 -0
  164. package/dist/typechain/factories/out/IUniswapV4.sol/IUniversalRouter__factory.js +35 -0
  165. package/dist/typechain/factories/out/IUniswapV4.sol/index.d.ts +2 -0
  166. package/dist/typechain/factories/out/IUniswapV4.sol/index.js +2 -0
  167. package/dist/typechain/factories/out/IV0Fund__factory.d.ts +129 -0
  168. package/dist/typechain/factories/out/IV0Fund__factory.js +173 -0
  169. package/dist/typechain/factories/out/IV3SwapRouter__factory.d.ts +38 -0
  170. package/dist/typechain/factories/out/IV3SwapRouter__factory.js +53 -0
  171. package/dist/typechain/factories/out/Initializer.sol/LedgerInitializer__factory.d.ts +655 -0
  172. package/dist/typechain/factories/out/Initializer.sol/LedgerInitializer__factory.js +859 -0
  173. package/dist/typechain/factories/out/Initializer.sol/VaultInitializer__factory.d.ts +141 -0
  174. package/dist/typechain/factories/out/Initializer.sol/VaultInitializer__factory.js +185 -0
  175. package/dist/typechain/factories/out/Initializer.sol/index.d.ts +2 -0
  176. package/dist/typechain/factories/out/Initializer.sol/index.js +2 -0
  177. package/dist/typechain/factories/out/Ledger.sol/FundLedger__factory.d.ts +1502 -0
  178. package/dist/typechain/factories/out/Ledger.sol/FundLedger__factory.js +1959 -0
  179. package/dist/typechain/factories/out/Ledger.sol/index.d.ts +1 -0
  180. package/dist/typechain/factories/out/Ledger.sol/index.js +1 -0
  181. package/dist/typechain/factories/out/LotusP2P__factory.d.ts +847 -0
  182. package/dist/typechain/factories/out/LotusP2P__factory.js +1095 -0
  183. package/dist/typechain/factories/out/MulticallStatic__factory.d.ts +29 -0
  184. package/dist/typechain/factories/out/MulticallStatic__factory.js +42 -0
  185. package/dist/typechain/factories/out/Operator.sol/VaultOperator__factory.d.ts +235 -0
  186. package/dist/typechain/factories/out/Operator.sol/VaultOperator__factory.js +308 -0
  187. package/dist/typechain/factories/out/Operator.sol/index.d.ts +1 -0
  188. package/dist/typechain/factories/out/Operator.sol/index.js +1 -0
  189. package/dist/typechain/factories/out/P2PAdapter__factory.d.ts +216 -0
  190. package/dist/typechain/factories/out/P2PAdapter__factory.js +287 -0
  191. package/dist/typechain/factories/out/ProtocolMigrationExtension__factory.d.ts +1084 -0
  192. package/dist/typechain/factories/out/ProtocolMigrationExtension__factory.js +1409 -0
  193. package/dist/typechain/factories/out/ProtocolProvider__factory.d.ts +21 -0
  194. package/dist/typechain/factories/out/ProtocolProvider__factory.js +30 -0
  195. package/dist/typechain/factories/out/Protocol__factory.d.ts +1095 -0
  196. package/dist/typechain/factories/out/Protocol__factory.js +1424 -0
  197. package/dist/typechain/factories/out/Registrar.sol/LedgerRegistrar__factory.d.ts +1375 -0
  198. package/dist/typechain/factories/out/Registrar.sol/LedgerRegistrar__factory.js +1791 -0
  199. package/dist/typechain/factories/out/Registrar.sol/index.d.ts +1 -0
  200. package/dist/typechain/factories/out/Registrar.sol/index.js +1 -0
  201. package/dist/typechain/factories/out/Settings.sol/SettingsController__factory.d.ts +143 -0
  202. package/dist/typechain/factories/out/Settings.sol/SettingsController__factory.js +188 -0
  203. package/dist/typechain/factories/out/Settings.sol/index.d.ts +1 -0
  204. package/dist/typechain/factories/out/Settings.sol/index.js +1 -0
  205. package/dist/typechain/factories/out/Shares.sol/ICheckpointController__factory.d.ts +21 -0
  206. package/dist/typechain/factories/out/Shares.sol/ICheckpointController__factory.js +31 -0
  207. package/dist/typechain/factories/out/Shares.sol/ITransferController__factory.d.ts +25 -0
  208. package/dist/typechain/factories/out/Shares.sol/ITransferController__factory.js +35 -0
  209. package/dist/typechain/factories/out/Shares.sol/LedgerShares__factory.d.ts +829 -0
  210. package/dist/typechain/factories/out/Shares.sol/LedgerShares__factory.js +1089 -0
  211. package/dist/typechain/factories/out/Shares.sol/index.d.ts +3 -0
  212. package/dist/typechain/factories/out/Shares.sol/index.js +3 -0
  213. package/dist/typechain/factories/out/SignatureVerifier__factory.d.ts +171 -0
  214. package/dist/typechain/factories/out/SignatureVerifier__factory.js +224 -0
  215. package/dist/typechain/factories/out/Storage.sol/LedgerStorage__factory.d.ts +527 -0
  216. package/dist/typechain/factories/out/Storage.sol/LedgerStorage__factory.js +695 -0
  217. package/dist/typechain/factories/out/Storage.sol/index.d.ts +1 -0
  218. package/dist/typechain/factories/out/Storage.sol/index.js +1 -0
  219. package/dist/typechain/factories/out/Trade.sol/TradeController__factory.d.ts +200 -0
  220. package/dist/typechain/factories/out/Trade.sol/TradeController__factory.js +262 -0
  221. package/dist/typechain/factories/out/Trade.sol/index.d.ts +1 -0
  222. package/dist/typechain/factories/out/Trade.sol/index.js +1 -0
  223. package/dist/typechain/factories/out/Transfer.sol/TransferController__factory.d.ts +100 -0
  224. package/dist/typechain/factories/out/Transfer.sol/TransferController__factory.js +141 -0
  225. package/dist/typechain/factories/out/Transfer.sol/index.d.ts +1 -0
  226. package/dist/typechain/factories/out/Transfer.sol/index.js +1 -0
  227. package/dist/typechain/factories/out/UniswapV2Adapter__factory.d.ts +162 -0
  228. package/dist/typechain/factories/out/UniswapV2Adapter__factory.js +215 -0
  229. package/dist/typechain/factories/out/UniswapV3Adapter__factory.d.ts +162 -0
  230. package/dist/typechain/factories/out/UniswapV3Adapter__factory.js +215 -0
  231. package/dist/typechain/factories/out/UniswapV3SwapRouter02Adapter__factory.d.ts +162 -0
  232. package/dist/typechain/factories/out/UniswapV3SwapRouter02Adapter__factory.js +215 -0
  233. package/dist/typechain/factories/out/UniswapV4Adapter__factory.d.ts +203 -0
  234. package/dist/typechain/factories/out/UniswapV4Adapter__factory.js +268 -0
  235. package/dist/typechain/factories/out/V0ToLotusMigrator__factory.d.ts +216 -0
  236. package/dist/typechain/factories/out/V0ToLotusMigrator__factory.js +284 -0
  237. package/dist/typechain/factories/out/Vault.sol/FundVault__factory.d.ts +258 -0
  238. package/dist/typechain/factories/out/Vault.sol/FundVault__factory.js +339 -0
  239. package/dist/typechain/factories/out/Vault.sol/index.d.ts +1 -0
  240. package/dist/typechain/factories/out/Vault.sol/index.js +1 -0
  241. package/dist/typechain/factories/out/Withdrawal.sol/WithdrawalController__factory.d.ts +285 -0
  242. package/dist/typechain/factories/out/Withdrawal.sol/WithdrawalController__factory.js +377 -0
  243. package/dist/typechain/factories/out/Withdrawal.sol/index.d.ts +1 -0
  244. package/dist/typechain/factories/out/Withdrawal.sol/index.js +1 -0
  245. package/dist/typechain/factories/out/index.d.ts +43 -0
  246. package/dist/typechain/factories/out/index.js +43 -0
  247. package/dist/typechain/include/IPancakeQuoterV2.d.ts +223 -0
  248. package/dist/typechain/include/IPancakeQuoterV2.js +1 -0
  249. package/dist/typechain/include/ISwapRouter02.d.ts +682 -0
  250. package/dist/typechain/include/ISwapRouter02.js +1 -0
  251. package/dist/typechain/include/index.d.ts +2 -0
  252. package/dist/typechain/include/index.js +1 -0
  253. package/dist/typechain/index.d.ts +119 -0
  254. package/dist/typechain/index.js +58 -0
  255. package/dist/typechain/out/Adapter.d.ts +29 -0
  256. package/dist/typechain/out/Adapter.js +1 -0
  257. package/dist/typechain/out/AerodromeV2Adapter.d.ts +106 -0
  258. package/dist/typechain/out/AerodromeV2Adapter.js +1 -0
  259. package/dist/typechain/out/AerodromeV3Adapter.d.ts +87 -0
  260. package/dist/typechain/out/AerodromeV3Adapter.js +1 -0
  261. package/dist/typechain/out/AssetManager.sol/LedgerAssetManager.d.ts +604 -0
  262. package/dist/typechain/out/AssetManager.sol/LedgerAssetManager.js +1 -0
  263. package/dist/typechain/out/AssetManager.sol/index.d.ts +1 -0
  264. package/dist/typechain/out/AssetManager.sol/index.js +1 -0
  265. package/dist/typechain/out/Bookkeeper.sol/LedgerBookkeeper.d.ts +548 -0
  266. package/dist/typechain/out/Bookkeeper.sol/LedgerBookkeeper.js +1 -0
  267. package/dist/typechain/out/Bookkeeper.sol/index.d.ts +1 -0
  268. package/dist/typechain/out/Bookkeeper.sol/index.js +1 -0
  269. package/dist/typechain/out/Checkpoint.sol/CheckpointController.d.ts +29 -0
  270. package/dist/typechain/out/Checkpoint.sol/CheckpointController.js +1 -0
  271. package/dist/typechain/out/Checkpoint.sol/index.d.ts +1 -0
  272. package/dist/typechain/out/Checkpoint.sol/index.js +1 -0
  273. package/dist/typechain/out/Closure.sol/ClosureController.d.ts +273 -0
  274. package/dist/typechain/out/Closure.sol/ClosureController.js +1 -0
  275. package/dist/typechain/out/Closure.sol/index.d.ts +1 -0
  276. package/dist/typechain/out/Closure.sol/index.js +1 -0
  277. package/dist/typechain/out/ContextBuilder.d.ts +403 -0
  278. package/dist/typechain/out/ContextBuilder.js +1 -0
  279. package/dist/typechain/out/Control.sol/Controllable.d.ts +97 -0
  280. package/dist/typechain/out/Control.sol/Controllable.js +1 -0
  281. package/dist/typechain/out/Control.sol/Controller.d.ts +25 -0
  282. package/dist/typechain/out/Control.sol/Controller.js +1 -0
  283. package/dist/typechain/out/Control.sol/index.d.ts +2 -0
  284. package/dist/typechain/out/Control.sol/index.js +1 -0
  285. package/dist/typechain/out/Controller.sol/ClosureDelegate.d.ts +61 -0
  286. package/dist/typechain/out/Controller.sol/ClosureDelegate.js +1 -0
  287. package/dist/typechain/out/Controller.sol/CreationDelegate.d.ts +61 -0
  288. package/dist/typechain/out/Controller.sol/CreationDelegate.js +1 -0
  289. package/dist/typechain/out/Controller.sol/DepositDelegate.d.ts +56 -0
  290. package/dist/typechain/out/Controller.sol/DepositDelegate.js +1 -0
  291. package/dist/typechain/out/Controller.sol/FundController.d.ts +464 -0
  292. package/dist/typechain/out/Controller.sol/FundController.js +1 -0
  293. package/dist/typechain/out/Controller.sol/HarvestDelegate.d.ts +163 -0
  294. package/dist/typechain/out/Controller.sol/HarvestDelegate.js +1 -0
  295. package/dist/typechain/out/Controller.sol/TradeDelegate.d.ts +67 -0
  296. package/dist/typechain/out/Controller.sol/TradeDelegate.js +1 -0
  297. package/dist/typechain/out/Controller.sol/TransferDelegate.d.ts +37 -0
  298. package/dist/typechain/out/Controller.sol/TransferDelegate.js +1 -0
  299. package/dist/typechain/out/Controller.sol/WithdrawalDelegate.d.ts +53 -0
  300. package/dist/typechain/out/Controller.sol/WithdrawalDelegate.js +1 -0
  301. package/dist/typechain/out/Controller.sol/index.d.ts +8 -0
  302. package/dist/typechain/out/Controller.sol/index.js +1 -0
  303. package/dist/typechain/out/Cooldown.sol/LedgerCooldown.d.ts +446 -0
  304. package/dist/typechain/out/Cooldown.sol/LedgerCooldown.js +1 -0
  305. package/dist/typechain/out/Cooldown.sol/index.d.ts +1 -0
  306. package/dist/typechain/out/Cooldown.sol/index.js +1 -0
  307. package/dist/typechain/out/Creation.sol/CreationController.d.ts +102 -0
  308. package/dist/typechain/out/Creation.sol/CreationController.js +1 -0
  309. package/dist/typechain/out/Creation.sol/index.d.ts +1 -0
  310. package/dist/typechain/out/Creation.sol/index.js +1 -0
  311. package/dist/typechain/out/Deposit.sol/DepositController.d.ts +68 -0
  312. package/dist/typechain/out/Deposit.sol/DepositController.js +1 -0
  313. package/dist/typechain/out/Deposit.sol/index.d.ts +1 -0
  314. package/dist/typechain/out/Deposit.sol/index.js +1 -0
  315. package/dist/typechain/out/Error.d.ts +20 -0
  316. package/dist/typechain/out/Error.js +1 -0
  317. package/dist/typechain/out/Harvest.sol/HarvestController.d.ts +241 -0
  318. package/dist/typechain/out/Harvest.sol/HarvestController.js +1 -0
  319. package/dist/typechain/out/Harvest.sol/index.d.ts +1 -0
  320. package/dist/typechain/out/Harvest.sol/index.js +1 -0
  321. package/dist/typechain/out/IAerodromeRouter.d.ts +80 -0
  322. package/dist/typechain/out/IAerodromeRouter.js +1 -0
  323. package/dist/typechain/out/IAerodromeSwapRouter.d.ts +96 -0
  324. package/dist/typechain/out/IAerodromeSwapRouter.js +1 -0
  325. package/dist/typechain/out/IUniswapV4.sol/IPermit2.d.ts +39 -0
  326. package/dist/typechain/out/IUniswapV4.sol/IPermit2.js +1 -0
  327. package/dist/typechain/out/IUniswapV4.sol/IUniversalRouter.d.ts +37 -0
  328. package/dist/typechain/out/IUniswapV4.sol/IUniversalRouter.js +1 -0
  329. package/dist/typechain/out/IUniswapV4.sol/index.d.ts +2 -0
  330. package/dist/typechain/out/IUniswapV4.sol/index.js +1 -0
  331. package/dist/typechain/out/IV0Fund.d.ts +69 -0
  332. package/dist/typechain/out/IV0Fund.js +1 -0
  333. package/dist/typechain/out/IV3SwapRouter.d.ts +52 -0
  334. package/dist/typechain/out/IV3SwapRouter.js +1 -0
  335. package/dist/typechain/out/Initializer.sol/LedgerInitializer.d.ts +379 -0
  336. package/dist/typechain/out/Initializer.sol/LedgerInitializer.js +1 -0
  337. package/dist/typechain/out/Initializer.sol/VaultInitializer.d.ts +129 -0
  338. package/dist/typechain/out/Initializer.sol/VaultInitializer.js +1 -0
  339. package/dist/typechain/out/Initializer.sol/index.d.ts +2 -0
  340. package/dist/typechain/out/Initializer.sol/index.js +1 -0
  341. package/dist/typechain/out/Ledger.sol/FundLedger.d.ts +926 -0
  342. package/dist/typechain/out/Ledger.sol/FundLedger.js +1 -0
  343. package/dist/typechain/out/Ledger.sol/index.d.ts +1 -0
  344. package/dist/typechain/out/Ledger.sol/index.js +1 -0
  345. package/dist/typechain/out/LotusP2P.d.ts +610 -0
  346. package/dist/typechain/out/LotusP2P.js +1 -0
  347. package/dist/typechain/out/MulticallStatic.d.ts +25 -0
  348. package/dist/typechain/out/MulticallStatic.js +1 -0
  349. package/dist/typechain/out/Operator.sol/VaultOperator.d.ts +197 -0
  350. package/dist/typechain/out/Operator.sol/VaultOperator.js +1 -0
  351. package/dist/typechain/out/Operator.sol/index.d.ts +1 -0
  352. package/dist/typechain/out/Operator.sol/index.js +1 -0
  353. package/dist/typechain/out/P2PAdapter.d.ts +100 -0
  354. package/dist/typechain/out/P2PAdapter.js +1 -0
  355. package/dist/typechain/out/Protocol.d.ts +815 -0
  356. package/dist/typechain/out/Protocol.js +1 -0
  357. package/dist/typechain/out/ProtocolMigrationExtension.d.ts +806 -0
  358. package/dist/typechain/out/ProtocolMigrationExtension.js +1 -0
  359. package/dist/typechain/out/ProtocolProvider.d.ts +25 -0
  360. package/dist/typechain/out/ProtocolProvider.js +1 -0
  361. package/dist/typechain/out/Registrar.sol/LedgerRegistrar.d.ts +866 -0
  362. package/dist/typechain/out/Registrar.sol/LedgerRegistrar.js +1 -0
  363. package/dist/typechain/out/Registrar.sol/index.d.ts +1 -0
  364. package/dist/typechain/out/Registrar.sol/index.js +1 -0
  365. package/dist/typechain/out/Settings.sol/SettingsController.d.ts +97 -0
  366. package/dist/typechain/out/Settings.sol/SettingsController.js +1 -0
  367. package/dist/typechain/out/Settings.sol/index.d.ts +1 -0
  368. package/dist/typechain/out/Settings.sol/index.js +1 -0
  369. package/dist/typechain/out/Shares.sol/ICheckpointController.d.ts +29 -0
  370. package/dist/typechain/out/Shares.sol/ICheckpointController.js +1 -0
  371. package/dist/typechain/out/Shares.sol/ITransferController.d.ts +37 -0
  372. package/dist/typechain/out/Shares.sol/ITransferController.js +1 -0
  373. package/dist/typechain/out/Shares.sol/LedgerShares.d.ts +494 -0
  374. package/dist/typechain/out/Shares.sol/LedgerShares.js +1 -0
  375. package/dist/typechain/out/Shares.sol/index.d.ts +3 -0
  376. package/dist/typechain/out/Shares.sol/index.js +1 -0
  377. package/dist/typechain/out/SignatureVerifier.d.ts +139 -0
  378. package/dist/typechain/out/SignatureVerifier.js +1 -0
  379. package/dist/typechain/out/Storage.sol/LedgerStorage.d.ts +281 -0
  380. package/dist/typechain/out/Storage.sol/LedgerStorage.js +1 -0
  381. package/dist/typechain/out/Storage.sol/index.d.ts +1 -0
  382. package/dist/typechain/out/Storage.sol/index.js +1 -0
  383. package/dist/typechain/out/Trade.sol/TradeController.d.ts +137 -0
  384. package/dist/typechain/out/Trade.sol/TradeController.js +1 -0
  385. package/dist/typechain/out/Trade.sol/index.d.ts +1 -0
  386. package/dist/typechain/out/Trade.sol/index.js +1 -0
  387. package/dist/typechain/out/Transfer.sol/TransferController.d.ts +49 -0
  388. package/dist/typechain/out/Transfer.sol/TransferController.js +1 -0
  389. package/dist/typechain/out/Transfer.sol/index.d.ts +1 -0
  390. package/dist/typechain/out/Transfer.sol/index.js +1 -0
  391. package/dist/typechain/out/UniswapV2Adapter.d.ts +87 -0
  392. package/dist/typechain/out/UniswapV2Adapter.js +1 -0
  393. package/dist/typechain/out/UniswapV3Adapter.d.ts +87 -0
  394. package/dist/typechain/out/UniswapV3Adapter.js +1 -0
  395. package/dist/typechain/out/UniswapV3SwapRouter02Adapter.d.ts +87 -0
  396. package/dist/typechain/out/UniswapV3SwapRouter02Adapter.js +1 -0
  397. package/dist/typechain/out/UniswapV4Adapter.d.ts +110 -0
  398. package/dist/typechain/out/UniswapV4Adapter.js +1 -0
  399. package/dist/typechain/out/V0ToLotusMigrator.d.ts +94 -0
  400. package/dist/typechain/out/V0ToLotusMigrator.js +1 -0
  401. package/dist/typechain/out/Vault.sol/FundVault.d.ts +197 -0
  402. package/dist/typechain/out/Vault.sol/FundVault.js +1 -0
  403. package/dist/typechain/out/Vault.sol/index.d.ts +1 -0
  404. package/dist/typechain/out/Vault.sol/index.js +1 -0
  405. package/dist/typechain/out/Withdrawal.sol/WithdrawalController.d.ts +152 -0
  406. package/dist/typechain/out/Withdrawal.sol/WithdrawalController.js +1 -0
  407. package/dist/typechain/out/Withdrawal.sol/index.d.ts +1 -0
  408. package/dist/typechain/out/Withdrawal.sol/index.js +1 -0
  409. package/dist/typechain/out/index.d.ts +65 -0
  410. package/dist/typechain/out/index.js +1 -0
  411. package/dist/types/Fund.d.ts +27 -0
  412. package/dist/types/Fund.js +1 -0
  413. package/package.json +67 -0
@@ -0,0 +1,1095 @@
1
+ import { Contract, ContractFactory, Interface, } from "ethers";
2
+ const _abi = [
3
+ {
4
+ type: "constructor",
5
+ inputs: [
6
+ {
7
+ name: "_protocol",
8
+ type: "address",
9
+ internalType: "contract Protocol",
10
+ },
11
+ {
12
+ name: "_offchainSigner",
13
+ type: "address",
14
+ internalType: "address",
15
+ },
16
+ ],
17
+ stateMutability: "nonpayable",
18
+ },
19
+ {
20
+ type: "function",
21
+ name: "FEE",
22
+ inputs: [],
23
+ outputs: [
24
+ {
25
+ name: "",
26
+ type: "uint24",
27
+ internalType: "uint24",
28
+ },
29
+ ],
30
+ stateMutability: "view",
31
+ },
32
+ {
33
+ type: "function",
34
+ name: "PERCENT_DENOMINATOR",
35
+ inputs: [],
36
+ outputs: [
37
+ {
38
+ name: "",
39
+ type: "uint24",
40
+ internalType: "uint24",
41
+ },
42
+ ],
43
+ stateMutability: "view",
44
+ },
45
+ {
46
+ type: "function",
47
+ name: "PROTOCOL",
48
+ inputs: [],
49
+ outputs: [
50
+ {
51
+ name: "",
52
+ type: "address",
53
+ internalType: "contract Protocol",
54
+ },
55
+ ],
56
+ stateMutability: "view",
57
+ },
58
+ {
59
+ type: "function",
60
+ name: "SIGNED_ACTION_TYPEHASH",
61
+ inputs: [],
62
+ outputs: [
63
+ {
64
+ name: "",
65
+ type: "bytes32",
66
+ internalType: "bytes32",
67
+ },
68
+ ],
69
+ stateMutability: "view",
70
+ },
71
+ {
72
+ type: "function",
73
+ name: "cancelOrder",
74
+ inputs: [
75
+ {
76
+ name: "orderId",
77
+ type: "uint256",
78
+ internalType: "uint256",
79
+ },
80
+ ],
81
+ outputs: [],
82
+ stateMutability: "nonpayable",
83
+ },
84
+ {
85
+ type: "function",
86
+ name: "createOffer",
87
+ inputs: [
88
+ {
89
+ name: "_signedPayload",
90
+ type: "tuple",
91
+ internalType: "struct SignedPayload",
92
+ components: [
93
+ {
94
+ name: "data",
95
+ type: "bytes",
96
+ internalType: "bytes",
97
+ },
98
+ {
99
+ name: "signature",
100
+ type: "bytes",
101
+ internalType: "bytes",
102
+ },
103
+ {
104
+ name: "expiresAt",
105
+ type: "uint256",
106
+ internalType: "uint256",
107
+ },
108
+ ],
109
+ },
110
+ ],
111
+ outputs: [],
112
+ stateMutability: "nonpayable",
113
+ },
114
+ {
115
+ type: "function",
116
+ name: "createSale",
117
+ inputs: [
118
+ {
119
+ name: "_signedPayload",
120
+ type: "tuple",
121
+ internalType: "struct SignedPayload",
122
+ components: [
123
+ {
124
+ name: "data",
125
+ type: "bytes",
126
+ internalType: "bytes",
127
+ },
128
+ {
129
+ name: "signature",
130
+ type: "bytes",
131
+ internalType: "bytes",
132
+ },
133
+ {
134
+ name: "expiresAt",
135
+ type: "uint256",
136
+ internalType: "uint256",
137
+ },
138
+ ],
139
+ },
140
+ ],
141
+ outputs: [],
142
+ stateMutability: "nonpayable",
143
+ },
144
+ {
145
+ type: "function",
146
+ name: "eip712Domain",
147
+ inputs: [],
148
+ outputs: [
149
+ {
150
+ name: "fields",
151
+ type: "bytes1",
152
+ internalType: "bytes1",
153
+ },
154
+ {
155
+ name: "name",
156
+ type: "string",
157
+ internalType: "string",
158
+ },
159
+ {
160
+ name: "version",
161
+ type: "string",
162
+ internalType: "string",
163
+ },
164
+ {
165
+ name: "chainId",
166
+ type: "uint256",
167
+ internalType: "uint256",
168
+ },
169
+ {
170
+ name: "verifyingContract",
171
+ type: "address",
172
+ internalType: "address",
173
+ },
174
+ {
175
+ name: "salt",
176
+ type: "bytes32",
177
+ internalType: "bytes32",
178
+ },
179
+ {
180
+ name: "extensions",
181
+ type: "uint256[]",
182
+ internalType: "uint256[]",
183
+ },
184
+ ],
185
+ stateMutability: "view",
186
+ },
187
+ {
188
+ type: "function",
189
+ name: "fillOrder",
190
+ inputs: [
191
+ {
192
+ name: "_signedPayload",
193
+ type: "tuple",
194
+ internalType: "struct SignedPayload",
195
+ components: [
196
+ {
197
+ name: "data",
198
+ type: "bytes",
199
+ internalType: "bytes",
200
+ },
201
+ {
202
+ name: "signature",
203
+ type: "bytes",
204
+ internalType: "bytes",
205
+ },
206
+ {
207
+ name: "expiresAt",
208
+ type: "uint256",
209
+ internalType: "uint256",
210
+ },
211
+ ],
212
+ },
213
+ ],
214
+ outputs: [],
215
+ stateMutability: "nonpayable",
216
+ },
217
+ {
218
+ type: "function",
219
+ name: "getBuyOut",
220
+ inputs: [
221
+ {
222
+ name: "inAssetAmt",
223
+ type: "uint256",
224
+ internalType: "uint256",
225
+ },
226
+ {
227
+ name: "offerId",
228
+ type: "uint256",
229
+ internalType: "uint256",
230
+ },
231
+ ],
232
+ outputs: [
233
+ {
234
+ name: "",
235
+ type: "uint256",
236
+ internalType: "uint256",
237
+ },
238
+ {
239
+ name: "",
240
+ type: "uint256",
241
+ internalType: "uint256",
242
+ },
243
+ {
244
+ name: "",
245
+ type: "uint256",
246
+ internalType: "uint256",
247
+ },
248
+ ],
249
+ stateMutability: "view",
250
+ },
251
+ {
252
+ type: "function",
253
+ name: "getOffchainSigner",
254
+ inputs: [],
255
+ outputs: [
256
+ {
257
+ name: "",
258
+ type: "address",
259
+ internalType: "address",
260
+ },
261
+ ],
262
+ stateMutability: "view",
263
+ },
264
+ {
265
+ type: "function",
266
+ name: "getOrder",
267
+ inputs: [
268
+ {
269
+ name: "orderId",
270
+ type: "uint256",
271
+ internalType: "uint256",
272
+ },
273
+ ],
274
+ outputs: [
275
+ {
276
+ name: "",
277
+ type: "tuple",
278
+ internalType: "struct LotusP2P.Order",
279
+ components: [
280
+ {
281
+ name: "maker",
282
+ type: "address",
283
+ internalType: "address",
284
+ },
285
+ {
286
+ name: "orderType",
287
+ type: "uint8",
288
+ internalType: "enum LotusP2P.OrderType",
289
+ },
290
+ {
291
+ name: "orderStatus",
292
+ type: "uint8",
293
+ internalType: "enum LotusP2P.OrderStatus",
294
+ },
295
+ {
296
+ name: "ledger",
297
+ type: "address",
298
+ internalType: "contract FundLedger",
299
+ },
300
+ {
301
+ name: "token",
302
+ type: "address",
303
+ internalType: "contract IERC20Metadata",
304
+ },
305
+ {
306
+ name: "coin",
307
+ type: "address",
308
+ internalType: "contract IERC20",
309
+ },
310
+ {
311
+ name: "expiresAt",
312
+ type: "uint256",
313
+ internalType: "uint256",
314
+ },
315
+ {
316
+ name: "assetAmount",
317
+ type: "uint256",
318
+ internalType: "uint256",
319
+ },
320
+ {
321
+ name: "assetUsdPrice",
322
+ type: "uint256",
323
+ internalType: "uint256",
324
+ },
325
+ {
326
+ name: "coinAmount",
327
+ type: "uint256",
328
+ internalType: "uint256",
329
+ },
330
+ {
331
+ name: "filledAssetAmount",
332
+ type: "uint256",
333
+ internalType: "uint256",
334
+ },
335
+ {
336
+ name: "filledCoinAmount",
337
+ type: "uint256",
338
+ internalType: "uint256",
339
+ },
340
+ {
341
+ name: "secretHash",
342
+ type: "bytes32",
343
+ internalType: "bytes32",
344
+ },
345
+ ],
346
+ },
347
+ ],
348
+ stateMutability: "view",
349
+ },
350
+ {
351
+ type: "function",
352
+ name: "getSellOut",
353
+ inputs: [
354
+ {
355
+ name: "inCoinAmt",
356
+ type: "uint256",
357
+ internalType: "uint256",
358
+ },
359
+ {
360
+ name: "saleId",
361
+ type: "uint256",
362
+ internalType: "uint256",
363
+ },
364
+ ],
365
+ outputs: [
366
+ {
367
+ name: "",
368
+ type: "uint256",
369
+ internalType: "uint256",
370
+ },
371
+ {
372
+ name: "",
373
+ type: "uint256",
374
+ internalType: "uint256",
375
+ },
376
+ {
377
+ name: "",
378
+ type: "uint256",
379
+ internalType: "uint256",
380
+ },
381
+ ],
382
+ stateMutability: "view",
383
+ },
384
+ {
385
+ type: "function",
386
+ name: "noncesByUser",
387
+ inputs: [
388
+ {
389
+ name: "",
390
+ type: "address",
391
+ internalType: "address",
392
+ },
393
+ ],
394
+ outputs: [
395
+ {
396
+ name: "",
397
+ type: "uint256",
398
+ internalType: "uint256",
399
+ },
400
+ ],
401
+ stateMutability: "view",
402
+ },
403
+ {
404
+ type: "function",
405
+ name: "numOfOrders",
406
+ inputs: [],
407
+ outputs: [
408
+ {
409
+ name: "",
410
+ type: "uint256",
411
+ internalType: "uint256",
412
+ },
413
+ ],
414
+ stateMutability: "view",
415
+ },
416
+ {
417
+ type: "function",
418
+ name: "owner",
419
+ inputs: [],
420
+ outputs: [
421
+ {
422
+ name: "",
423
+ type: "address",
424
+ internalType: "address",
425
+ },
426
+ ],
427
+ stateMutability: "view",
428
+ },
429
+ {
430
+ type: "function",
431
+ name: "pause",
432
+ inputs: [],
433
+ outputs: [],
434
+ stateMutability: "nonpayable",
435
+ },
436
+ {
437
+ type: "function",
438
+ name: "paused",
439
+ inputs: [],
440
+ outputs: [
441
+ {
442
+ name: "",
443
+ type: "bool",
444
+ internalType: "bool",
445
+ },
446
+ ],
447
+ stateMutability: "view",
448
+ },
449
+ {
450
+ type: "function",
451
+ name: "renounceOwnership",
452
+ inputs: [],
453
+ outputs: [],
454
+ stateMutability: "nonpayable",
455
+ },
456
+ {
457
+ type: "function",
458
+ name: "setOffchainSigner",
459
+ inputs: [
460
+ {
461
+ name: "signer_",
462
+ type: "address",
463
+ internalType: "address",
464
+ },
465
+ ],
466
+ outputs: [],
467
+ stateMutability: "nonpayable",
468
+ },
469
+ {
470
+ type: "function",
471
+ name: "totalFeeAmt",
472
+ inputs: [
473
+ {
474
+ name: "",
475
+ type: "address",
476
+ internalType: "address",
477
+ },
478
+ ],
479
+ outputs: [
480
+ {
481
+ name: "",
482
+ type: "uint256",
483
+ internalType: "uint256",
484
+ },
485
+ ],
486
+ stateMutability: "view",
487
+ },
488
+ {
489
+ type: "function",
490
+ name: "totalWithdrawnFeeAmt",
491
+ inputs: [
492
+ {
493
+ name: "",
494
+ type: "address",
495
+ internalType: "address",
496
+ },
497
+ ],
498
+ outputs: [
499
+ {
500
+ name: "",
501
+ type: "uint256",
502
+ internalType: "uint256",
503
+ },
504
+ ],
505
+ stateMutability: "view",
506
+ },
507
+ {
508
+ type: "function",
509
+ name: "transferOwnership",
510
+ inputs: [
511
+ {
512
+ name: "newOwner",
513
+ type: "address",
514
+ internalType: "address",
515
+ },
516
+ ],
517
+ outputs: [],
518
+ stateMutability: "nonpayable",
519
+ },
520
+ {
521
+ type: "function",
522
+ name: "unpause",
523
+ inputs: [],
524
+ outputs: [],
525
+ stateMutability: "nonpayable",
526
+ },
527
+ {
528
+ type: "function",
529
+ name: "updateOffer",
530
+ inputs: [
531
+ {
532
+ name: "_signedPayload",
533
+ type: "tuple",
534
+ internalType: "struct SignedPayload",
535
+ components: [
536
+ {
537
+ name: "data",
538
+ type: "bytes",
539
+ internalType: "bytes",
540
+ },
541
+ {
542
+ name: "signature",
543
+ type: "bytes",
544
+ internalType: "bytes",
545
+ },
546
+ {
547
+ name: "expiresAt",
548
+ type: "uint256",
549
+ internalType: "uint256",
550
+ },
551
+ ],
552
+ },
553
+ ],
554
+ outputs: [],
555
+ stateMutability: "nonpayable",
556
+ },
557
+ {
558
+ type: "function",
559
+ name: "updateSale",
560
+ inputs: [
561
+ {
562
+ name: "_signedPayload",
563
+ type: "tuple",
564
+ internalType: "struct SignedPayload",
565
+ components: [
566
+ {
567
+ name: "data",
568
+ type: "bytes",
569
+ internalType: "bytes",
570
+ },
571
+ {
572
+ name: "signature",
573
+ type: "bytes",
574
+ internalType: "bytes",
575
+ },
576
+ {
577
+ name: "expiresAt",
578
+ type: "uint256",
579
+ internalType: "uint256",
580
+ },
581
+ ],
582
+ },
583
+ ],
584
+ outputs: [],
585
+ stateMutability: "nonpayable",
586
+ },
587
+ {
588
+ type: "function",
589
+ name: "withdrawFee",
590
+ inputs: [
591
+ {
592
+ name: "coin",
593
+ type: "address",
594
+ internalType: "address",
595
+ },
596
+ {
597
+ name: "amount",
598
+ type: "uint256",
599
+ internalType: "uint256",
600
+ },
601
+ ],
602
+ outputs: [],
603
+ stateMutability: "nonpayable",
604
+ },
605
+ {
606
+ type: "event",
607
+ name: "EIP712DomainChanged",
608
+ inputs: [],
609
+ anonymous: false,
610
+ },
611
+ {
612
+ type: "event",
613
+ name: "FeeWithdrawn",
614
+ inputs: [
615
+ {
616
+ name: "coin",
617
+ type: "address",
618
+ indexed: false,
619
+ internalType: "address",
620
+ },
621
+ {
622
+ name: "amount",
623
+ type: "uint256",
624
+ indexed: false,
625
+ internalType: "uint256",
626
+ },
627
+ ],
628
+ anonymous: false,
629
+ },
630
+ {
631
+ type: "event",
632
+ name: "OfferCreated",
633
+ inputs: [
634
+ {
635
+ name: "orderId",
636
+ type: "uint256",
637
+ indexed: false,
638
+ internalType: "uint256",
639
+ },
640
+ {
641
+ name: "creation",
642
+ type: "tuple",
643
+ indexed: false,
644
+ internalType: "struct P2PAction.CreateOffer",
645
+ components: [
646
+ {
647
+ name: "token",
648
+ type: "address",
649
+ internalType: "contract IERC20Metadata",
650
+ },
651
+ {
652
+ name: "coin",
653
+ type: "address",
654
+ internalType: "contract IERC20",
655
+ },
656
+ {
657
+ name: "coinAmount",
658
+ type: "uint256",
659
+ internalType: "uint256",
660
+ },
661
+ {
662
+ name: "assetUsdPrice",
663
+ type: "uint256",
664
+ internalType: "uint256",
665
+ },
666
+ {
667
+ name: "expiresAt",
668
+ type: "uint256",
669
+ internalType: "uint256",
670
+ },
671
+ ],
672
+ },
673
+ {
674
+ name: "coinAmount",
675
+ type: "uint256",
676
+ indexed: false,
677
+ internalType: "uint256",
678
+ },
679
+ ],
680
+ anonymous: false,
681
+ },
682
+ {
683
+ type: "event",
684
+ name: "OfferUpdated",
685
+ inputs: [
686
+ {
687
+ name: "updates",
688
+ type: "tuple",
689
+ indexed: false,
690
+ internalType: "struct P2PAction.UpdateOffer",
691
+ components: [
692
+ {
693
+ name: "orderId",
694
+ type: "uint256",
695
+ internalType: "uint256",
696
+ },
697
+ {
698
+ name: "coinAmount",
699
+ type: "uint256",
700
+ internalType: "uint256",
701
+ },
702
+ {
703
+ name: "assetUsdPrice",
704
+ type: "uint256",
705
+ internalType: "uint256",
706
+ },
707
+ {
708
+ name: "expiresAt",
709
+ type: "uint256",
710
+ internalType: "uint256",
711
+ },
712
+ ],
713
+ },
714
+ ],
715
+ anonymous: false,
716
+ },
717
+ {
718
+ type: "event",
719
+ name: "OrderCancelled",
720
+ inputs: [
721
+ {
722
+ name: "orderId",
723
+ type: "uint256",
724
+ indexed: false,
725
+ internalType: "uint256",
726
+ },
727
+ ],
728
+ anonymous: false,
729
+ },
730
+ {
731
+ type: "event",
732
+ name: "OrderFilled",
733
+ inputs: [
734
+ {
735
+ name: "orderId",
736
+ type: "uint256",
737
+ indexed: false,
738
+ internalType: "uint256",
739
+ },
740
+ {
741
+ name: "buyer",
742
+ type: "address",
743
+ indexed: false,
744
+ internalType: "address",
745
+ },
746
+ {
747
+ name: "inAmount",
748
+ type: "uint256",
749
+ indexed: false,
750
+ internalType: "uint256",
751
+ },
752
+ {
753
+ name: "outAmount",
754
+ type: "uint256",
755
+ indexed: false,
756
+ internalType: "uint256",
757
+ },
758
+ {
759
+ name: "feeAmount",
760
+ type: "uint256",
761
+ indexed: false,
762
+ internalType: "uint256",
763
+ },
764
+ {
765
+ name: "secretHash",
766
+ type: "bytes32",
767
+ indexed: false,
768
+ internalType: "bytes32",
769
+ },
770
+ ],
771
+ anonymous: false,
772
+ },
773
+ {
774
+ type: "event",
775
+ name: "OwnershipTransferred",
776
+ inputs: [
777
+ {
778
+ name: "previousOwner",
779
+ type: "address",
780
+ indexed: true,
781
+ internalType: "address",
782
+ },
783
+ {
784
+ name: "newOwner",
785
+ type: "address",
786
+ indexed: true,
787
+ internalType: "address",
788
+ },
789
+ ],
790
+ anonymous: false,
791
+ },
792
+ {
793
+ type: "event",
794
+ name: "Paused",
795
+ inputs: [
796
+ {
797
+ name: "account",
798
+ type: "address",
799
+ indexed: false,
800
+ internalType: "address",
801
+ },
802
+ ],
803
+ anonymous: false,
804
+ },
805
+ {
806
+ type: "event",
807
+ name: "SaleCreated",
808
+ inputs: [
809
+ {
810
+ name: "orderId",
811
+ type: "uint256",
812
+ indexed: false,
813
+ internalType: "uint256",
814
+ },
815
+ {
816
+ name: "creation",
817
+ type: "tuple",
818
+ indexed: false,
819
+ internalType: "struct P2PAction.CreateSale",
820
+ components: [
821
+ {
822
+ name: "ledger",
823
+ type: "address",
824
+ internalType: "contract FundLedger",
825
+ },
826
+ {
827
+ name: "token",
828
+ type: "address",
829
+ internalType: "contract IERC20Metadata",
830
+ },
831
+ {
832
+ name: "coin",
833
+ type: "address",
834
+ internalType: "contract IERC20",
835
+ },
836
+ {
837
+ name: "assetAmount",
838
+ type: "uint256",
839
+ internalType: "uint256",
840
+ },
841
+ {
842
+ name: "assetUsdPrice",
843
+ type: "uint256",
844
+ internalType: "uint256",
845
+ },
846
+ {
847
+ name: "expiresAt",
848
+ type: "uint256",
849
+ internalType: "uint256",
850
+ },
851
+ {
852
+ name: "secretHash",
853
+ type: "bytes32",
854
+ internalType: "bytes32",
855
+ },
856
+ ],
857
+ },
858
+ ],
859
+ anonymous: false,
860
+ },
861
+ {
862
+ type: "event",
863
+ name: "SaleUpdated",
864
+ inputs: [
865
+ {
866
+ name: "updates",
867
+ type: "tuple",
868
+ indexed: false,
869
+ internalType: "struct P2PAction.UpdateSale",
870
+ components: [
871
+ {
872
+ name: "orderId",
873
+ type: "uint256",
874
+ internalType: "uint256",
875
+ },
876
+ {
877
+ name: "assetAmount",
878
+ type: "uint256",
879
+ internalType: "uint256",
880
+ },
881
+ {
882
+ name: "assetUsdPrice",
883
+ type: "uint256",
884
+ internalType: "uint256",
885
+ },
886
+ {
887
+ name: "expiresAt",
888
+ type: "uint256",
889
+ internalType: "uint256",
890
+ },
891
+ ],
892
+ },
893
+ ],
894
+ anonymous: false,
895
+ },
896
+ {
897
+ type: "event",
898
+ name: "SignerUpdated",
899
+ inputs: [
900
+ {
901
+ name: "signer",
902
+ type: "address",
903
+ indexed: false,
904
+ internalType: "address",
905
+ },
906
+ ],
907
+ anonymous: false,
908
+ },
909
+ {
910
+ type: "event",
911
+ name: "Unpaused",
912
+ inputs: [
913
+ {
914
+ name: "account",
915
+ type: "address",
916
+ indexed: false,
917
+ internalType: "address",
918
+ },
919
+ ],
920
+ anonymous: false,
921
+ },
922
+ {
923
+ type: "error",
924
+ name: "EnforcedPause",
925
+ inputs: [],
926
+ },
927
+ {
928
+ type: "error",
929
+ name: "ExpectedPause",
930
+ inputs: [],
931
+ },
932
+ {
933
+ type: "error",
934
+ name: "ExpiredSignature",
935
+ inputs: [],
936
+ },
937
+ {
938
+ type: "error",
939
+ name: "FundNotOpen",
940
+ inputs: [],
941
+ },
942
+ {
943
+ type: "error",
944
+ name: "InsufficientAllowance",
945
+ inputs: [],
946
+ },
947
+ {
948
+ type: "error",
949
+ name: "InsufficientFee",
950
+ inputs: [],
951
+ },
952
+ {
953
+ type: "error",
954
+ name: "InvalidAddress",
955
+ inputs: [],
956
+ },
957
+ {
958
+ type: "error",
959
+ name: "InvalidAmount",
960
+ inputs: [],
961
+ },
962
+ {
963
+ type: "error",
964
+ name: "InvalidExpiration",
965
+ inputs: [],
966
+ },
967
+ {
968
+ type: "error",
969
+ name: "InvalidLedger",
970
+ inputs: [],
971
+ },
972
+ {
973
+ type: "error",
974
+ name: "InvalidPrice",
975
+ inputs: [],
976
+ },
977
+ {
978
+ type: "error",
979
+ name: "InvalidSecret",
980
+ inputs: [],
981
+ },
982
+ {
983
+ type: "error",
984
+ name: "InvalidShortString",
985
+ inputs: [],
986
+ },
987
+ {
988
+ type: "error",
989
+ name: "InvalidSignature",
990
+ inputs: [],
991
+ },
992
+ {
993
+ type: "error",
994
+ name: "OrderAlreadyOpen",
995
+ inputs: [],
996
+ },
997
+ {
998
+ type: "error",
999
+ name: "OrderExpired",
1000
+ inputs: [],
1001
+ },
1002
+ {
1003
+ type: "error",
1004
+ name: "OrderNotFound",
1005
+ inputs: [],
1006
+ },
1007
+ {
1008
+ type: "error",
1009
+ name: "OwnableInvalidOwner",
1010
+ inputs: [
1011
+ {
1012
+ name: "owner",
1013
+ type: "address",
1014
+ internalType: "address",
1015
+ },
1016
+ ],
1017
+ },
1018
+ {
1019
+ type: "error",
1020
+ name: "OwnableUnauthorizedAccount",
1021
+ inputs: [
1022
+ {
1023
+ name: "account",
1024
+ type: "address",
1025
+ internalType: "address",
1026
+ },
1027
+ ],
1028
+ },
1029
+ {
1030
+ type: "error",
1031
+ name: "ReentrancyGuardReentrantCall",
1032
+ inputs: [],
1033
+ },
1034
+ {
1035
+ type: "error",
1036
+ name: "SafeERC20FailedOperation",
1037
+ inputs: [
1038
+ {
1039
+ name: "token",
1040
+ type: "address",
1041
+ internalType: "address",
1042
+ },
1043
+ ],
1044
+ },
1045
+ {
1046
+ type: "error",
1047
+ name: "StringTooLong",
1048
+ inputs: [
1049
+ {
1050
+ name: "str",
1051
+ type: "string",
1052
+ internalType: "string",
1053
+ },
1054
+ ],
1055
+ },
1056
+ {
1057
+ type: "error",
1058
+ name: "TooLowAmountOut",
1059
+ inputs: [],
1060
+ },
1061
+ {
1062
+ type: "error",
1063
+ name: "Unauthorized",
1064
+ inputs: [],
1065
+ },
1066
+ ];
1067
+ const _bytecode = "0x610180604052348015610010575f5ffd5b50604051613b22380380613b2283398101604081905261002f91610326565b604080518082018252600881526704c4f5455535032560c41b6020808301919091528251808401909352600683526576302e302e3160d01b90830152908233838361007a825f61018c565b6101205261008981600161018c565b61014052815160208084019190912060e052815190820120610100524660a05261011560e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b60805250503060c0526001600160a01b03811661014c57604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b610155816101be565b5061015f81610217565b50505060016101786101756102ae60201b60201c565b90565b55506001600160a01b031661016052610508565b5f6020835110156101a7576101a0836102d2565b90506101b8565b816101b284826103f6565b5060ff90505b92915050565b600280546001600160a01b03838116610100818102610100600160a81b031985161790945560405193909204169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6001600160a01b0381161580159061023d57506003546001600160a01b03828116911614155b61025a5760405163e6c4247b60e01b815260040160405180910390fd5b600380546001600160a01b0319166001600160a01b0383169081179091556040519081527f5553331329228fbd4123164423717a4a7539f6dfa1c3279a923b98fd681a6c739060200160405180910390a150565b7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0090565b5f5f829050601f815111156102fc578260405163305a27a960e01b815260040161014391906104b0565b8051610307826104e5565b179392505050565b6001600160a01b0381168114610323575f5ffd5b50565b5f5f60408385031215610337575f5ffd5b82516103428161030f565b60208401519092506103538161030f565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061038657607f821691505b6020821081036103a457634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156103f157805f5260205f20601f840160051c810160208510156103cf5750805b601f840160051c820191505b818110156103ee575f81556001016103db565b50505b505050565b81516001600160401b0381111561040f5761040f61035e565b6104238161041d8454610372565b846103aa565b6020601f821160018114610455575f831561043e5750848201515b5f19600385901b1c1916600184901b1784556103ee565b5f84815260208120601f198516915b828110156104845787850151825560209485019460019092019101610464565b50848210156104a157868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b805160208083015191908110156103a4575f1960209190910360031b1b16919050565b60805160a05160c05160e051610100516101205161014051610160516135b16105715f395f818161031a0152818161158701526121e601525f61260d01525f6125dc01525f612b1b01525f612af301525f612a4e01525f612a7801525f612aa201526135b15ff3fe608060405234801561000f575f5ffd5b50600436106101a1575f3560e01c80638916e74a116100f3578063aad1f00a11610093578063d09ef2411161006e578063d09ef241146103ca578063eb372239146103ea578063f2fde38b146103fd578063fd9be52214610410575f5ffd5b8063aad1f00a14610390578063c57981b5146103af578063cc3aa095146103b7575f5ffd5b80639e6c2959116100ce5780639e6c29591461033c578063a4af999d14610359578063a7a28b681461036a578063a7ef31771461037d575f5ffd5b80638916e74a146102cc5780638da5cb5b146102eb57806391b9b82714610315575f5ffd5b80635c975abb1161015e578063715018a611610139578063715018a61461028257806373b4bffe1461028a5780638456cb59146102a957806384b0196e146102b1575f5ffd5b80635c975abb1461024657806364384b1f1461025c5780636cdb66461461026f575f5ffd5b806304f81b11146101a5578063147c47ed146101ba5780631854dc7a146101d65780632b9a104a146101fd5780633f4ba83a1461022b578063514fcac714610233575b5f5ffd5b6101b86101b3366004612d05565b610423565b005b6101c360055481565b6040519081526020015b60405180910390f35b6101c37f7a5e13c00d001fd24f434a2322118b8a340058f1abefa200fe4683e26bf103f081565b61021061020b366004612d20565b610437565b604080519384526020840192909252908201526060016101cd565b6101b861063d565b6101b8610241366004612d40565b61064f565b60025460ff1660405190151581526020016101cd565b6101b861026a366004612d57565b6107be565b6101b861027d366004612d57565b6109a9565b6101b8610c44565b6101c3610298366004612d05565b60096020525f908152604090205481565b6101b8610c55565b6102b9610c65565b6040516101cd9796959493929190612dbc565b6101c36102da366004612d05565b60086020525f908152604090205481565b60025461010090046001600160a01b03165b6040516001600160a01b0390911681526020016101cd565b6102fd7f000000000000000000000000000000000000000000000000000000000000000081565b61034561271081565b60405162ffffff90911681526020016101cd565b6003546001600160a01b03166102fd565b6101b8610378366004612d57565b610ca7565b6101b861038b366004612d57565b610fbf565b6101c361039e366004612d05565b60046020525f908152604090205481565b610345603281565b6102106103c5366004612d20565b6111d8565b6103dd6103d8366004612d40565b6113af565b6040516101cd9190612e8a565b6101b86103f8366004612d57565b611539565b6101b861040b366004612d05565b611b57565b6101b861041e366004612f69565b611b96565b61042b611c75565b61043481611ca8565b50565b5f8181526006602090815260408083206002810154825163313ce56760e01b815292518594859485936001600160a01b03169263313ce567926004808401939192918290030181865afa158015610490573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104b49190612f93565b90505f826003015f9054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610509573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061052d9190612f93565b90505f61271061053e60328b612fc7565b6105489190612fde565b90505f610555828b612ffd565b90505f61056384600a6130f3565b86600601546105729190612fc7565b61057d86600a6130f3565b61058f84670de0b6b3a7640000612fc7565b6105999190612fc7565b6105a39190612fde565b90505f866008015487600501546105ba9190612ffd565b905080821115610628575f6105cf8284612ffd565b90505f836105dd8f84612fc7565b6105e79190612fde565b90505f818f6105f69190612ffd565b90505f612710610607603284612fc7565b6106119190612fde565b919d50939b50995061063698505050505050505050565b508a98509650909450505050505b9250925092565b610645611c75565b61064d611d3f565b565b610657611d91565b61065f611db5565b5f81815260066020526040902080546001600160a01b03163314610695576040516282b42960e81b815260040160405180910390fd5b5f8154600160a81b900460ff1660028111156106b3576106b3612e52565b146106d15760405163d36d896560e01b815260040160405180910390fd5b60018154600160a01b900460ff1660018111156106f0576106f0612e52565b0361072c575f8160090154826007015461070a9190612ffd565b6003830154909150610726906001600160a01b03163383611dd0565b50610763565b60018101546001600160a01b039081165f9081526007602090815260408083206002860154909416835292905220805460ff191690555b805460ff60a81b1916600160a91b1781556040805183815290517f61b9399f2f0f32ca39ce8d7be32caed5ec22fe07a6daba3a467ed479ec6065829181900360200190a15061043460015f51602061355c5f395f51905f5255565b6107c6611d91565b6107ce611db5565b6107d83282611e0a565b5f6107e38280613101565b8101906107f091906131dc565b80515f90815260066020908152604080832081516101a0810190925280546001600160a01b03811683529495509293909291830190600160a01b900460ff16600181111561084057610840612e52565b600181111561085157610851612e52565b81528154602090910190600160a81b900460ff16600281111561087657610876612e52565b600281111561088757610887612e52565b815260018201546001600160a01b039081166020830152600283015481166040830152600383015416606082015260048201546080820152600582015460a0820152600682015460c080830191909152600783015460e083015260088301546101008301526009830154610120830152600a90920154610140909101528101519091504210610929576040516362b439dd60e11b815260040160405180910390fd5b5f8160400151600281111561094057610940612e52565b1461095e5760405163d36d896560e01b815260040160405180910390fd5b5f8160200151600181111561097557610975612e52565b036109885761098382611e39565b610991565b610991826121af565b505061043460015f51602061355c5f395f51905f5255565b6109b1611d91565b6109bb3282611e0a565b5f6109c68280613101565b8101906109d39190613340565b80515f9081526006602052604090208054919250906001600160a01b03163214610a0f576040516282b42960e81b815260040160405180910390fd5b5f8154600160a81b900460ff166002811115610a2d57610a2d612e52565b148015610a5557505f8154600160a01b900460ff166001811115610a5357610a53612e52565b145b610a725760405163d36d896560e01b815260040160405180910390fd5b8060080154826020015111610a9a5760405163162908e360e11b815260040160405180910390fd5b60018101546040805163fbfa77cf60e01b815290515f926001600160a01b03169163fbfa77cf9160048083019260209291908290030181865afa158015610ae3573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b07919061335a565b60208401516002840154604051636eb1769f60e11b81526001600160a01b0380851660048301523060248301529394509192169063dd62ed3e90604401602060405180830381865afa158015610b5f573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b839190613375565b1015610ba2576040516313be252b60e01b815260040160405180910390fd5b5f836040015111610bc55760405162bfc92160e01b815260040160405180910390fd5b42836060015111610be957604051637d9533a960e11b815260040160405180910390fd5b60208301516005830155604080840151600684015560608401516004840155517f527e2a85f121736afd14cb2e2273d70dae81674c84fad87089b416f0181adf9f90610c3690859061338c565b60405180910390a150505050565b610c4c611c75565b61064d5f61253f565b610c5d611c75565b61064d612598565b5f6060805f5f5f6060610c766125d5565b610c7e612606565b604080515f80825260208201909252600f60f81b9b939a50919850469750309650945092509050565b610caf611d91565b610cb7611db5565b610cc13382611e0a565b5f610ccc8280613101565b810190610cd991906133b7565b90505f816040015111610cff5760405163162908e360e11b815260040160405180910390fd5b42816080015111610d2357604051637d9533a960e11b815260040160405180910390fd5b5f816060015111610d465760405162bfc92160e01b815260040160405180910390fd5b610d6e3330836040015184602001516001600160a01b0316612633909392919063ffffffff16565b600554604080516101a0810190915233815260208101600181526020015f81525f602080830182905285516001600160a01b039081166040808601919091528783015182166060808701919091526080808a01519087015260a0860185905288015160c08601528781015160e08601526101008501849052610120850184905261014090940183905285835260068252929091208351815493166001600160a01b0319841681178255918401519092909183916001600160a81b03191617600160a01b836001811115610e4357610e43612e52565b021790555060408201518154829060ff60a81b1916600160a81b836002811115610e6f57610e6f612e52565b021790555060608201516001820180546001600160a01b039283166001600160a01b031991821617909155608084015160028401805491841691831691909117905560a084015160038401805491909316911617905560c0820151600482015560e0820151600580830191909155610100830151600683015561012083015160078301556101408301516008830155610160830151600983015561018090920151600a909101558054905f610f2383613436565b909155505060408083018051825184815285516001600160a01b039081166020808401919091528701511693810193909352905160608084019190915284015160808084019190915284015160a083015260c08201527fa93de41cc316ab5c2470a31a32e884cc6ff4ed107d03887f77a40d57d2f8f8bc9060e0015b60405180910390a1505061043460015f51602061355c5f395f51905f5255565b610fc7611d91565b610fcf611db5565b610fd93382611e0a565b5f610fe48280613101565b810190610ff19190613340565b80515f9081526006602052604090208054919250906001600160a01b0316331461102d576040516282b42960e81b815260040160405180910390fd5b5f8154600160a81b900460ff16600281111561104b5761104b612e52565b148015611074575060018154600160a01b900460ff16600181111561107257611072612e52565b145b6110915760405163d36d896560e01b815260040160405180910390fd5b80600901548260200151116110b95760405163162908e360e11b815260040160405180910390fd5b5f8260400151116110dc5760405162bfc92160e01b815260040160405180910390fd5b4282606001511161110057604051637d9533a960e11b815260040160405180910390fd5b806007015482602001511115611148575f816007015483602001516111259190612ffd565b6003830154909150611142906001600160a01b0316333084612633565b5061118b565b80600701548260200151101561118b575f8260200151826007015461116d9190612ffd565b6003830154909150611189906001600160a01b03163383611dd0565b505b60208201516007820155604080830151600683015560608301516004830155517f26ae3d5252b222118385f2b2bb201556cca23c9a076a0d6cbf699f47bd127c7990610f9f90849061338c565b5f8181526006602090815260408083206002810154825163313ce56760e01b815292518594859485936001600160a01b03169263313ce567926004808401939192918290030181865afa158015611231573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112559190612f93565b90505f826003015f9054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112aa573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112ce9190612f93565b90505f6112dc83600a6130f3565b6112ee90670de0b6b3a7640000612fc7565b6112f983600a6130f3565b6006860154611308908c612fc7565b6113129190612fc7565b61131c9190612fde565b90505f846009015485600701546113339190612ffd565b90508981831115611375575f6113498385612ffd565b90505f846113578e84612fc7565b6113619190612fde565b905061136d8184612ffd565b925083945050505b5f612710611384603286612fc7565b61138e9190612fde565b90508161139b8286612ffd565b909a50985096505050505050509250925092565b61142a604080516101a081019091525f808252602082019081526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f8281526006602090815260409182902082516101a0810190935280546001600160a01b03811684529091830190600160a01b900460ff16600181111561147357611473612e52565b600181111561148457611484612e52565b81528154602090910190600160a81b900460ff1660028111156114a9576114a9612e52565b60028111156114ba576114ba612e52565b815260018201546001600160a01b039081166020830152600283015481166040830152600383015416606082015260048201546080820152600582015460a0820152600682015460c0820152600782015460e082015260088201546101008201526009820154610120820152600a909101546101409091015292915050565b611541611d91565b61154b3282611e0a565b5f6115568280613101565b810190611563919061344e565b80516040516384145e3960e01b81526001600160a01b0391821660048201529192507f000000000000000000000000000000000000000000000000000000000000000016906384145e3990602401602060405180830381865afa1580156115cc573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115f091906134cc565b61160d576040516328bb3bf960e21b815260040160405180910390fd5b326001600160a01b0316815f01516001600160a01b031663481c6a756040518163ffffffff1660e01b8152600401602060405180830381865afa158015611656573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061167a919061335a565b6001600160a01b0316146116a0576040516282b42960e81b815260040160405180910390fd5b805f01516001600160a01b03166347535d7b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116df573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061170391906134cc565b61172057604051631fba62ed60e11b815260040160405180910390fd5b80516001600160a01b039081165f908152600760209081526040808320828601519094168352929052205460ff161561176c5760405163e6cfdf4160e01b815260040160405180910390fd5b5f8160600151116117905760405163162908e360e11b815260040160405180910390fd5b5f815f01516001600160a01b031663fbfa77cf6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156117d0573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117f4919061335a565b60608301516020840151604051636eb1769f60e11b81526001600160a01b0380851660048301523060248301529394509192169063dd62ed3e90604401602060405180830381865afa15801561184c573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118709190613375565b101561188f576040516313be252b60e01b815260040160405180910390fd5b428260a00151116118b357604051637d9533a960e11b815260040160405180910390fd5b5f8260800151116118d65760405162bfc92160e01b815260040160405180910390fd5b81516001600160a01b039081165f9081526007602090815260408083208287018051861685529083528184208054600160ff19909116811790915560055483516101a0810185523281528086018781528186018890528a51891660608084019190915294518916608080840191909152868c01518a1660a0808501919091528c015160c080850191909152958c015160e08401528b0151610100830152610120820188905261014082018890526101608201889052938a01516101808201528187526006909552929094208351815496166001600160a01b0319871681178255915192959394909384926001600160a81b03199091161790600160a01b9084908111156119e5576119e5612e52565b021790555060408201518154829060ff60a81b1916600160a81b836002811115611a1157611a11612e52565b021790555060608201516001820180546001600160a01b039283166001600160a01b031991821617909155608084015160028401805491841691831691909117905560a084015160038401805491909316911617905560c0820151600482015560e0820151600580830191909155610100830151600683015561012083015160078301556101408301516008830155610160830151600983015561018090920151600a909101558054905f611ac583613436565b90915550506040805182815284516001600160a01b039081166020808401919091528601518116828401529185015190911660608083019190915284015160808083019190915284015160a08083019190915284015160c08083019190915284015160e08201527f09335b02981b6176ea9fb25c462ca06bc2774aa50929d725aab477278923fcf59061010001610c36565b611b5f611c75565b6001600160a01b038116611b8d57604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b6104348161253f565b611b9e611c75565b6001600160a01b0382165f908152600960209081526040808320546008909252822054611bcb9190612ffd565b905081811015611bed5760405162976f7560e21b815260040160405180910390fd5b6001600160a01b0383165f9081526009602052604081208054849290611c149084906134eb565b90915550611c2e90506001600160a01b0384163384611dd0565b604080516001600160a01b0385168152602081018490527f78473f3f373f7673597f4f0fa5873cb4d375fea6d4339ad6b56dbd411513cb3f910160405180910390a1505050565b6002546001600160a01b0361010090910416331461064d5760405163118cdaa760e01b8152336004820152602401611b84565b6001600160a01b03811615801590611cce57506003546001600160a01b03828116911614155b611ceb5760405163e6c4247b60e01b815260040160405180910390fd5b600380546001600160a01b0319166001600160a01b0383169081179091556040519081527f5553331329228fbd4123164423717a4a7539f6dfa1c3279a923b98fd681a6c739060200160405180910390a150565b611d4761266f565b6002805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b60025460ff161561064d5760405163d93c066560e01b815260040160405180910390fd5b611dbd612692565b60025f51602061355c5f395f51905f5255565b611ddd83838360016126c1565b611e0557604051635274afe760e01b81526001600160a01b0384166004820152602401611b84565b505050565b611e357f7a5e13c00d001fd24f434a2322118b8a340058f1abefa200fe4683e26bf103f08383612723565b5050565b80515f9081526006602090815260408083206001810154825163fbfa77cf60e01b815292519194936001600160a01b039091169263fbfa77cf92600480830193928290030181865afa158015611e91573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611eb5919061335a565b9050816001015f9054906101000a90046001600160a01b03166001600160a01b03166347535d7b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f09573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f2d91906134cc565b611f4a57604051631fba62ed60e11b815260040160405180910390fd5b8260800151604051602001611f5f91906134fe565b6040516020818303038152906040528051906020012082600a015414611f985760405163abab6bd760e01b815260040160405180910390fd5b5f836040015111611fbc5760405163162908e360e11b815260040160405180910390fd5b602083015160018301546001600160a01b03908116911614611ff1576040516328bb3bf960e21b815260040160405180910390fd5b5f5f5f6120058660400151875f0151610437565b92509250925085606001518210156120305760405163c5af111f60e01b815260040160405180910390fd5b60038501546001600160a01b03165f908152600860205260408120805483929061205b9084906134eb565b909155505060a0860151600a8601556008850180548391905f906120809084906134eb565b9250508190555082856009015f82825461209a91906134eb565b909155505060058501546008860154036120f657845460ff60a81b1916600160a81b17855560018501546001600160a01b039081165f90815260076020908152604080832060028a0154909416835292905220805460ff191690555b6003850154612110906001600160a01b0316333086612633565b600285015461212a906001600160a01b0316853385612633565b61214d846121388386612ffd565b60038801546001600160a01b03169190611dd0565b8551600a860154604080519283523360208401528201859052606082018490526080820183905260a08201527fd196fdb5c75834cab75cbe18d91b0f075cd45755909a727758333d0334af107e9060c0015b60405180910390a1505050505050565b80515f908152600660209081526040918290209083015191516384145e3960e01b81526001600160a01b03928316600482015290917f000000000000000000000000000000000000000000000000000000000000000016906384145e3990602401602060405180830381865afa15801561222b573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061224f91906134cc565b61226c576040516328bb3bf960e21b815260040160405180910390fd5b81602001516001600160a01b03166347535d7b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156122ac573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122d091906134cc565b6122ed57604051631fba62ed60e11b815260040160405180910390fd5b326001600160a01b031682602001516001600160a01b031663481c6a756040518163ffffffff1660e01b8152600401602060405180830381865afa158015612337573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061235b919061335a565b6001600160a01b031614612381576040516282b42960e81b815260040160405180910390fd5b5f82602001516001600160a01b031663fbfa77cf6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156123c2573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123e6919061335a565b90505f5f5f6123fc8660400151875f01516111d8565b92509250925085606001518210156124275760405163c5af111f60e01b815260040160405180910390fd5b60038501546001600160a01b03165f90815260086020526040812080548392906124529084906134eb565b9250508190555082856008015f82825461246c91906134eb565b9091555061247c905081836134eb565b856009015f82825461248e91906134eb565b909155505060078501546009860154036124b457845460ff60a81b1916600160a81b1785555b845460028601546124d4916001600160a01b039182169187911686612633565b60038501546124ed906001600160a01b03168584611dd0565b855160408051918252336020830152810184905260608101839052608081018290525f60a08201527fd196fdb5c75834cab75cbe18d91b0f075cd45755909a727758333d0334af107e9060c00161219f565b600280546001600160a01b03838116610100818102610100600160a81b031985161790945560405193909204169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6125a0611d91565b6002805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611d743390565b60606126017f00000000000000000000000000000000000000000000000000000000000000005f61284e565b905090565b60606126017f0000000000000000000000000000000000000000000000000000000000000000600161284e565b6126418484848460016128f9565b61266957604051635274afe760e01b81526001600160a01b0385166004820152602401611b84565b50505050565b60025460ff1661064d57604051638dfc202b60e01b815260040160405180910390fd5b5f51602061355c5f395f51905f525460020361064d57604051633ee5aeb560e01b815260040160405180910390fd5b60405163a9059cbb60e01b5f8181526001600160a01b038616600452602485905291602083604481808b5af1925060015f5114831661271757838315161561270b573d5f823e3d81fd5b5f873b113d1516831692505b60405250949350505050565b43816040013510156127485760405163df4cc36d60e01b815260040160405180910390fd5b6003546001600160a01b038381165f9081526004602052604090208054600181019091556128319291909116906127eb908690866127868780613101565b604051612794929190613514565b604080519182900382206020830195909552818101939093526001600160a01b039091166060820152608081019290925285013560a082015260c00160405160208183030381529060405280519060200120612966565b6127f86020850185613101565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061299292505050565b611e0557604051638baa579f60e01b815260040160405180910390fd5b606060ff83146128685761286183612a05565b90506128f3565b81805461287490613523565b80601f01602080910402602001604051908101604052809291908181526020018280546128a090613523565b80156128eb5780601f106128c2576101008083540402835291602001916128eb565b820191905f5260205f20905b8154815290600101906020018083116128ce57829003601f168201915b505050505090505b92915050565b6040516323b872dd60e01b5f8181526001600160a01b038781166004528616602452604485905291602083606481808c5af1925060015f51148316612955578383151615612949573d5f823e3d81fd5b5f883b113d1516831692505b604052505f60605295945050505050565b5f6128f3612972612a42565b8360405161190160f01b8152600281019290925260228201526042902090565b5f836001600160a01b03163b5f036129f0575f5f6129b08585612b6b565b5090925090505f8160038111156129c9576129c9612e52565b1480156129e75750856001600160a01b0316826001600160a01b0316145b925050506129fe565b6129fb848484612bb1565b90505b9392505050565b60605f612a1183612c02565b6040805160208082528183019092529192505f91906020820181803683375050509182525060208101929092525090565b5f306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015612a9a57507f000000000000000000000000000000000000000000000000000000000000000046145b15612ac457507f000000000000000000000000000000000000000000000000000000000000000090565b612601604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b5f5f5f8351604103612ba2576020840151604085015160608601515f1a612b9488828585612c29565b955095509550505050610636565b505081515f9150600290610636565b805160408051630b135d3f60e11b8082526004820186905260248201929092525f92906020820185604483015e60205f60648401838a5afa9050825f5114601f3d1116811693505050509392505050565b5f60ff8216601f8111156128f357604051632cd44ac360e21b815260040160405180910390fd5b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841115612c6257505f91506003905082612ce7565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015612cb3573d5f5f3e3d5ffd5b5050604051601f1901519150506001600160a01b038116612cde57505f925060019150829050612ce7565b92505f91508190505b9450945094915050565b6001600160a01b0381168114610434575f5ffd5b5f60208284031215612d15575f5ffd5b81356129fe81612cf1565b5f5f60408385031215612d31575f5ffd5b50508035926020909101359150565b5f60208284031215612d50575f5ffd5b5035919050565b5f60208284031215612d67575f5ffd5b813567ffffffffffffffff811115612d7d575f5ffd5b8201606081850312156129fe575f5ffd5b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b60ff60f81b8816815260e060208201525f612dda60e0830189612d8e565b8281036040840152612dec8189612d8e565b606084018890526001600160a01b038716608085015260a0840186905283810360c0850152845180825260208087019350909101905f5b81811015612e41578351835260209384019390920191600101612e23565b50909b9a5050505050505050505050565b634e487b7160e01b5f52602160045260245ffd5b60028110612e7657612e76612e52565b9052565b60038110612e7657612e76612e52565b81516001600160a01b031681526101a081016020830151612eae6020840182612e66565b506040830151612ec16040840182612e7a565b506060830151612edc60608401826001600160a01b03169052565b506080830151612ef760808401826001600160a01b03169052565b5060a0830151612f1260a08401826001600160a01b03169052565b5060c083015160c083015260e083015160e083015261010083015161010083015261012083015161012083015261014083015161014083015261016083015161016083015261018083015161018083015292915050565b5f5f60408385031215612f7a575f5ffd5b8235612f8581612cf1565b946020939093013593505050565b5f60208284031215612fa3575f5ffd5b815160ff811681146129fe575f5ffd5b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176128f3576128f3612fb3565b5f82612ff857634e487b7160e01b5f52601260045260245ffd5b500490565b818103818111156128f3576128f3612fb3565b6001815b600184111561304b5780850481111561302f5761302f612fb3565b600184161561303d57908102905b60019390931c928002613014565b935093915050565b5f82613061575060016128f3565b8161306d57505f6128f3565b8160018114613083576002811461308d576130a9565b60019150506128f3565b60ff84111561309e5761309e612fb3565b50506001821b6128f3565b5060208310610133831016604e8410600b84101617156130cc575081810a6128f3565b6130d85f198484613010565b805f19048211156130eb576130eb612fb3565b029392505050565b5f6129fe60ff841683613053565b5f5f8335601e19843603018112613116575f5ffd5b83018035915067ffffffffffffffff821115613130575f5ffd5b602001915036819003821315613144575f5ffd5b9250929050565b634e487b7160e01b5f52604160045260245ffd5b60405160c0810167ffffffffffffffff811182821017156131825761318261314b565b60405290565b60405160e0810167ffffffffffffffff811182821017156131825761318261314b565b604051601f8201601f1916810167ffffffffffffffff811182821017156131d4576131d461314b565b604052919050565b5f602082840312156131ec575f5ffd5b813567ffffffffffffffff811115613202575f5ffd5b820160c08185031215613213575f5ffd5b61321b61315f565b81358152602082013561322d81612cf1565b60208201526040828101359082015260608083013590820152608082013567ffffffffffffffff81111561325f575f5ffd5b8201601f8101861361326f575f5ffd5b803567ffffffffffffffff8111156132895761328961314b565b61329c601f8201601f19166020016131ab565b8181528760208385010111156132b0575f5ffd5b816020840160208301375f9181016020019190915260808301525060a091820135918101919091529392505050565b5f608082840312156132ef575f5ffd5b6040516080810167ffffffffffffffff811182821017156133125761331261314b565b6040908152833582526020808501359083015283810135908201526060928301359281019290925250919050565b5f60808284031215613350575f5ffd5b6129fe83836132df565b5f6020828403121561336a575f5ffd5b81516129fe81612cf1565b5f60208284031215613385575f5ffd5b5051919050565b81518152602080830151908201526040808301519082015260608083015190820152608081016128f3565b5f60a08284031280156133c8575f5ffd5b5060405160a0810167ffffffffffffffff811182821017156133ec576133ec61314b565b60405282356133fa81612cf1565b8152602083013561340a81612cf1565b602082015260408381013590820152606080840135908201526080928301359281019290925250919050565b5f6001820161344757613447612fb3565b5060010190565b5f60e082840312801561345f575f5ffd5b50613468613188565b823561347381612cf1565b8152602083013561348381612cf1565b6020820152604083013561349681612cf1565b6040820152606083810135908201526080808401359082015260a0808401359082015260c0928301359281019290925250919050565b5f602082840312156134dc575f5ffd5b815180151581146129fe575f5ffd5b808201808211156128f3576128f3612fb3565b5f82518060208501845e5f920191825250919050565b818382375f9101908152919050565b600181811c9082168061353757607f821691505b60208210810361355557634e487b7160e01b5f52602260045260245ffd5b5091905056fe9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00a264697066735822122017af03006cb3d41198babcc337805442c900950fbd470de90fcd9c0067b1d6e964736f6c634300081e0033";
1068
+ const isSuperArgs = (xs) => xs.length > 1;
1069
+ export class LotusP2P__factory extends ContractFactory {
1070
+ constructor(...args) {
1071
+ if (isSuperArgs(args)) {
1072
+ super(...args);
1073
+ }
1074
+ else {
1075
+ super(_abi, _bytecode, args[0]);
1076
+ }
1077
+ }
1078
+ getDeployTransaction(_protocol, _offchainSigner, overrides) {
1079
+ return super.getDeployTransaction(_protocol, _offchainSigner, overrides || {});
1080
+ }
1081
+ deploy(_protocol, _offchainSigner, overrides) {
1082
+ return super.deploy(_protocol, _offchainSigner, overrides || {});
1083
+ }
1084
+ connect(runner) {
1085
+ return super.connect(runner);
1086
+ }
1087
+ static bytecode = _bytecode;
1088
+ static abi = _abi;
1089
+ static createInterface() {
1090
+ return new Interface(_abi);
1091
+ }
1092
+ static connect(address, runner) {
1093
+ return new Contract(address, _abi, runner);
1094
+ }
1095
+ }