web3-wizzard-lib 1.6.10__py3-none-any.whl → 1.6.12__py3-none-any.whl

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 (370) hide show
  1. web3_wizzard_lib/resources/abi/aave.json +282 -0
  2. web3_wizzard_lib/resources/abi/abbysworld.json +1113 -0
  3. web3_wizzard_lib/resources/abi/arena_games.json +15 -0
  4. web3_wizzard_lib/resources/abi/asmatch.json +1113 -0
  5. web3_wizzard_lib/resources/abi/basiliks.json +1467 -0
  6. web3_wizzard_lib/resources/abi/bilinear.json +1375 -0
  7. web3_wizzard_lib/resources/abi/bungee.json +525 -0
  8. web3_wizzard_lib/resources/abi/coredao.json +1068 -0
  9. web3_wizzard_lib/resources/abi/coredao_bridge.json +1012 -0
  10. web3_wizzard_lib/resources/abi/dmail.json +964 -0
  11. web3_wizzard_lib/resources/abi/empty_nft.json +1131 -0
  12. web3_wizzard_lib/resources/abi/era_ns.json +878 -0
  13. web3_wizzard_lib/resources/abi/eralend.json +1221 -0
  14. web3_wizzard_lib/resources/abi/erc20.json +801 -0
  15. web3_wizzard_lib/resources/abi/erc20_test.json +337 -0
  16. web3_wizzard_lib/resources/abi/eth_scroll_bridge.json +675 -0
  17. web3_wizzard_lib/resources/abi/frog_war_contract.json +1943 -0
  18. web3_wizzard_lib/resources/abi/gmx_reward_router.json +749 -0
  19. web3_wizzard_lib/resources/abi/horizondex.json +413 -0
  20. web3_wizzard_lib/resources/abi/horizondex_quoter.json +273 -0
  21. web3_wizzard_lib/resources/abi/imagine.json +457 -0
  22. web3_wizzard_lib/resources/abi/izumi.json +532 -0
  23. web3_wizzard_lib/resources/abi/kreatorland.json +500 -0
  24. web3_wizzard_lib/resources/abi/layerbank.json +1240 -0
  25. web3_wizzard_lib/resources/abi/layerbank_price.json +354 -0
  26. web3_wizzard_lib/resources/abi/layerbank_token.json +1124 -0
  27. web3_wizzard_lib/resources/abi/linea_day_2.json +933 -0
  28. web3_wizzard_lib/resources/abi/linea_day_3.json +1804 -0
  29. web3_wizzard_lib/resources/abi/linea_ens_names.json +1000 -0
  30. web3_wizzard_lib/resources/abi/lineaswap_router.json +973 -0
  31. web3_wizzard_lib/resources/abi/maverick_ipool.json +942 -0
  32. web3_wizzard_lib/resources/abi/maverick_multicall.json +1082 -0
  33. web3_wizzard_lib/resources/abi/mendi_token.json +1690 -0
  34. web3_wizzard_lib/resources/abi/merkly.json +787 -0
  35. web3_wizzard_lib/resources/abi/micro3.json +1054 -0
  36. web3_wizzard_lib/resources/abi/mute_router.json +856 -0
  37. web3_wizzard_lib/resources/abi/new_rage_abi.json +1944 -0
  38. web3_wizzard_lib/resources/abi/nidus.json +1017 -0
  39. web3_wizzard_lib/resources/abi/nile_pool.json +1313 -0
  40. web3_wizzard_lib/resources/abi/nomis.json +1601 -0
  41. web3_wizzard_lib/resources/abi/nomis_attest.json +710 -0
  42. web3_wizzard_lib/resources/abi/octomos.json +408 -0
  43. web3_wizzard_lib/resources/abi/omnisea.json +175 -0
  44. web3_wizzard_lib/resources/abi/orbiter_starknet.json +48 -0
  45. web3_wizzard_lib/resources/abi/pancake/factory.json +450 -0
  46. web3_wizzard_lib/resources/abi/pancake/pool.json +713 -0
  47. web3_wizzard_lib/resources/abi/pancake/quoter.json +285 -0
  48. web3_wizzard_lib/resources/abi/pancake/router.json +1271 -0
  49. web3_wizzard_lib/resources/abi/rage_claim.json +218 -0
  50. web3_wizzard_lib/resources/abi/reactor_fusion.json +1479 -0
  51. web3_wizzard_lib/resources/abi/readon.json +71 -0
  52. web3_wizzard_lib/resources/abi/rubyscore.json +698 -0
  53. web3_wizzard_lib/resources/abi/satoshi_universe.json +301 -0
  54. web3_wizzard_lib/resources/abi/scroll_bridge.json +666 -0
  55. web3_wizzard_lib/resources/abi/scroll_canvas_mint.json +602 -0
  56. web3_wizzard_lib/resources/abi/scroll_oracle.json +714 -0
  57. web3_wizzard_lib/resources/abi/snap.json +622 -0
  58. web3_wizzard_lib/resources/abi/socialscan.json +884 -0
  59. web3_wizzard_lib/resources/abi/stargate_farming.json +494 -0
  60. web3_wizzard_lib/resources/abi/stargate_router.json +1341 -0
  61. web3_wizzard_lib/resources/abi/stargate_swapETH_abi.json +106 -0
  62. web3_wizzard_lib/resources/abi/stargate_token_pool.json +1940 -0
  63. web3_wizzard_lib/resources/abi/stargate_v2.json +1936 -0
  64. web3_wizzard_lib/resources/abi/syncswap_classic_pool.json +151 -0
  65. web3_wizzard_lib/resources/abi/syncswap_classic_pool_factory.json +151 -0
  66. web3_wizzard_lib/resources/abi/syncswap_pool.json +924 -0
  67. web3_wizzard_lib/resources/abi/syncswap_router.json +1178 -0
  68. web3_wizzard_lib/resources/abi/syncswap_stable_pool.json +950 -0
  69. web3_wizzard_lib/resources/abi/tavaera.json +586 -0
  70. web3_wizzard_lib/resources/abi/tavaera_id.json +724 -0
  71. web3_wizzard_lib/resources/abi/townstory.json +391 -0
  72. web3_wizzard_lib/resources/abi/townstory_bonus.json +279 -0
  73. web3_wizzard_lib/resources/abi/uniswap_abi.json +193 -0
  74. web3_wizzard_lib/resources/abi/velocore.json +1008 -0
  75. web3_wizzard_lib/resources/abi/velocore_lens.json +1030 -0
  76. web3_wizzard_lib/resources/abi/velocore_pool.json +490 -0
  77. web3_wizzard_lib/resources/abi/velocore_vault.json +1272 -0
  78. web3_wizzard_lib/resources/abi/weth.json +279 -0
  79. web3_wizzard_lib/resources/abi/woofi.json +400 -0
  80. web3_wizzard_lib/resources/abi/yoddlo.json +67 -0
  81. web3_wizzard_lib/resources/abi/zebra.json +1075 -0
  82. web3_wizzard_lib/resources/abi/zerolend.json +282 -0
  83. web3_wizzard_lib/resources/abi/zerolend_liquidity.json +1038 -0
  84. web3_wizzard_lib/resources/abi/zkdx_data.json +436 -0
  85. web3_wizzard_lib/resources/abi/zks.json +671 -0
  86. web3_wizzard_lib/resources/banner.txt +7 -0
  87. web3_wizzard_lib/resources/goerli/contracts.json +48 -0
  88. web3_wizzard_lib/resources/goerli/networks.json +139 -0
  89. web3_wizzard_lib/resources/goerli/pairs.json +113 -0
  90. web3_wizzard_lib/resources/goerli/tokens.json +40 -0
  91. web3_wizzard_lib/resources/local/contracts.json +150 -0
  92. web3_wizzard_lib/resources/local/networks.json +119 -0
  93. web3_wizzard_lib/resources/local/pairs.json +451 -0
  94. web3_wizzard_lib/resources/local/tokens.json +88 -0
  95. web3_wizzard_lib/resources/main/contracts.json +231 -0
  96. web3_wizzard_lib/resources/main/networks.json +272 -0
  97. web3_wizzard_lib/resources/main/pairs.json +516 -0
  98. web3_wizzard_lib/resources/main/tokens.json +119 -0
  99. web3_wizzard_lib/resources/verify_data.json +1243 -0
  100. web3_wizzard_lib-1.6.12.dist-info/METADATA +10 -0
  101. web3_wizzard_lib-1.6.12.dist-info/RECORD +107 -0
  102. web3_wizzard_lib-1.6.12.dist-info/top_level.txt +1 -0
  103. web3_wizzard_lib/core/__init__.py +0 -1
  104. web3_wizzard_lib/core/contract/__init__.py +0 -0
  105. web3_wizzard_lib/core/contract/aavecontract.py +0 -36
  106. web3_wizzard_lib/core/contract/alienswap_contract.py +0 -21
  107. web3_wizzard_lib/core/contract/arena_games_contract.py +0 -16
  108. web3_wizzard_lib/core/contract/basiliskcontract.py +0 -58
  109. web3_wizzard_lib/core/contract/bilinear_contract.py +0 -22
  110. web3_wizzard_lib/core/contract/bungee.py +0 -33
  111. web3_wizzard_lib/core/contract/coredao_contract.py +0 -34
  112. web3_wizzard_lib/core/contract/coredao_from_contract.py +0 -40
  113. web3_wizzard_lib/core/contract/dmail_send_mail.py +0 -18
  114. web3_wizzard_lib/core/contract/empty_nft.py +0 -18
  115. web3_wizzard_lib/core/contract/era_name.py +0 -23
  116. web3_wizzard_lib/core/contract/eralendcontract.py +0 -34
  117. web3_wizzard_lib/core/contract/eth_scroll_bridge_contract.py +0 -25
  118. web3_wizzard_lib/core/contract/frog_war_contract.py +0 -48
  119. web3_wizzard_lib/core/contract/gmx_reward_router.py +0 -22
  120. web3_wizzard_lib/core/contract/horizondex_quoter.py +0 -14
  121. web3_wizzard_lib/core/contract/horizondex_router.py +0 -91
  122. web3_wizzard_lib/core/contract/imagine_contract.py +0 -18
  123. web3_wizzard_lib/core/contract/izumi.py +0 -63
  124. web3_wizzard_lib/core/contract/kreatorland_contract.py +0 -21
  125. web3_wizzard_lib/core/contract/l0_claim.py +0 -254
  126. web3_wizzard_lib/core/contract/l2_telegraph.py +0 -21
  127. web3_wizzard_lib/core/contract/layerbank_price.py +0 -18
  128. web3_wizzard_lib/core/contract/layerbank_token.py +0 -29
  129. web3_wizzard_lib/core/contract/layerbankcontract.py +0 -59
  130. web3_wizzard_lib/core/contract/linea_day_2_contract.py +0 -19
  131. web3_wizzard_lib/core/contract/linea_day_3_contract.py +0 -55
  132. web3_wizzard_lib/core/contract/linea_ens_names_contract.py +0 -55
  133. web3_wizzard_lib/core/contract/lineaswaprouter.py +0 -52
  134. web3_wizzard_lib/core/contract/maverick_multicall.py +0 -52
  135. web3_wizzard_lib/core/contract/mendi_finance_contract.py +0 -11
  136. web3_wizzard_lib/core/contract/mendi_token.py +0 -25
  137. web3_wizzard_lib/core/contract/merkly_minter.py +0 -47
  138. web3_wizzard_lib/core/contract/micro3_contract.py +0 -18
  139. web3_wizzard_lib/core/contract/mute_router.py +0 -93
  140. web3_wizzard_lib/core/contract/new_rage_contract.py +0 -31
  141. web3_wizzard_lib/core/contract/nidum_contract.py +0 -44
  142. web3_wizzard_lib/core/contract/nile_contract.py +0 -60
  143. web3_wizzard_lib/core/contract/nomis_attest_contract.py +0 -40
  144. web3_wizzard_lib/core/contract/nomis_contract.py +0 -40
  145. web3_wizzard_lib/core/contract/octomos.py +0 -31
  146. web3_wizzard_lib/core/contract/odos.py +0 -104
  147. web3_wizzard_lib/core/contract/omnisea.py +0 -29
  148. web3_wizzard_lib/core/contract/orbiter_starknet.py +0 -30
  149. web3_wizzard_lib/core/contract/pancake_pool.py +0 -19
  150. web3_wizzard_lib/core/contract/pancake_quoter.py +0 -20
  151. web3_wizzard_lib/core/contract/pancake_router.py +0 -72
  152. web3_wizzard_lib/core/contract/rage_claim.py +0 -24
  153. web3_wizzard_lib/core/contract/reactor_fusion_contract.py +0 -78
  154. web3_wizzard_lib/core/contract/readon_contract.py +0 -19
  155. web3_wizzard_lib/core/contract/rubyscore_contract.py +0 -31
  156. web3_wizzard_lib/core/contract/satoshi_universe_contract.py +0 -29
  157. web3_wizzard_lib/core/contract/scroll_bridge_contract.py +0 -24
  158. web3_wizzard_lib/core/contract/scroll_canvas_mint_contract.py +0 -26
  159. web3_wizzard_lib/core/contract/scroll_oracle.py +0 -11
  160. web3_wizzard_lib/core/contract/snap_contract.py +0 -16
  161. web3_wizzard_lib/core/contract/social_scan_contract.py +0 -20
  162. web3_wizzard_lib/core/contract/stargate_farming.py +0 -37
  163. web3_wizzard_lib/core/contract/stargate_router.py +0 -84
  164. web3_wizzard_lib/core/contract/stargate_router_eth.py +0 -41
  165. web3_wizzard_lib/core/contract/stargate_token_pool.py +0 -45
  166. web3_wizzard_lib/core/contract/stargate_v2_contract.py +0 -36
  167. web3_wizzard_lib/core/contract/syncswap_classic_pool.py +0 -15
  168. web3_wizzard_lib/core/contract/syncswap_classic_pool_factory.py +0 -15
  169. web3_wizzard_lib/core/contract/syncswap_pool.py +0 -25
  170. web3_wizzard_lib/core/contract/syncswap_router.py +0 -123
  171. web3_wizzard_lib/core/contract/tavaera_id.py +0 -18
  172. web3_wizzard_lib/core/contract/tavaera_mint.py +0 -17
  173. web3_wizzard_lib/core/contract/townstory_bonus_contract.py +0 -19
  174. web3_wizzard_lib/core/contract/townstory_contract.py +0 -21
  175. web3_wizzard_lib/core/contract/velocore_lens.py +0 -44
  176. web3_wizzard_lib/core/contract/velocore_pool.py +0 -198
  177. web3_wizzard_lib/core/contract/velocore_router.py +0 -80
  178. web3_wizzard_lib/core/contract/woofi_swap.py +0 -29
  179. web3_wizzard_lib/core/contract/xy_finance_contract.py +0 -87
  180. web3_wizzard_lib/core/contract/yoddlo_contract.py +0 -19
  181. web3_wizzard_lib/core/contract/yuliverse_contract.py +0 -36
  182. web3_wizzard_lib/core/contract/zebra_contract.py +0 -68
  183. web3_wizzard_lib/core/contract/zerolend_contract.py +0 -34
  184. web3_wizzard_lib/core/contract/zerolend_liq_contract.py +0 -20
  185. web3_wizzard_lib/core/contract/zkdx_contract.py +0 -40
  186. web3_wizzard_lib/core/contract/zkdx_data.py +0 -14
  187. web3_wizzard_lib/core/contract/zks.py +0 -24
  188. web3_wizzard_lib/core/modules/__init__.py +0 -0
  189. web3_wizzard_lib/core/modules/ads_import_proxy.py +0 -52
  190. web3_wizzard_lib/core/modules/airdrop_printer.py +0 -81
  191. web3_wizzard_lib/core/modules/bank/__init__.py +0 -0
  192. web3_wizzard_lib/core/modules/bank/aave.py +0 -25
  193. web3_wizzard_lib/core/modules/bank/bank.py +0 -15
  194. web3_wizzard_lib/core/modules/bank/basilisk.py +0 -25
  195. web3_wizzard_lib/core/modules/bank/eralend.py +0 -25
  196. web3_wizzard_lib/core/modules/bank/layerbank.py +0 -116
  197. web3_wizzard_lib/core/modules/bank/mendi_finance.py +0 -57
  198. web3_wizzard_lib/core/modules/bank/reactorfusion.py +0 -25
  199. web3_wizzard_lib/core/modules/bank/zerolend.py +0 -36
  200. web3_wizzard_lib/core/modules/bank_module.py +0 -99
  201. web3_wizzard_lib/core/modules/bridge/__init__.py +0 -0
  202. web3_wizzard_lib/core/modules/bridge/bridge.py +0 -8
  203. web3_wizzard_lib/core/modules/bridge/coredao_bridge_sub.py +0 -47
  204. web3_wizzard_lib/core/modules/bridge/orbiter_sub.py +0 -112
  205. web3_wizzard_lib/core/modules/bridge/scroll_bridge_sub.py +0 -42
  206. web3_wizzard_lib/core/modules/bridge/stargate_v2_sub.py +0 -74
  207. web3_wizzard_lib/core/modules/bridge_module.py +0 -47
  208. web3_wizzard_lib/core/modules/bungee.py +0 -109
  209. web3_wizzard_lib/core/modules/cex_sender.py +0 -60
  210. web3_wizzard_lib/core/modules/cex_subaccount_transfer.py +0 -34
  211. web3_wizzard_lib/core/modules/cex_withdraw.py +0 -91
  212. web3_wizzard_lib/core/modules/claimer.py +0 -45
  213. web3_wizzard_lib/core/modules/claims/__init__.py +0 -0
  214. web3_wizzard_lib/core/modules/claims/layerzero_claimer.py +0 -64
  215. web3_wizzard_lib/core/modules/claims/rabby_claimer.py +0 -81
  216. web3_wizzard_lib/core/modules/concrete_swap.py +0 -108
  217. web3_wizzard_lib/core/modules/coredao_bridge.py +0 -32
  218. web3_wizzard_lib/core/modules/coredao_bridge_auto.py +0 -39
  219. web3_wizzard_lib/core/modules/debank_checker.py +0 -78
  220. web3_wizzard_lib/core/modules/dmail.py +0 -54
  221. web3_wizzard_lib/core/modules/erc20_balance.py +0 -42
  222. web3_wizzard_lib/core/modules/gmx_reward.py +0 -25
  223. web3_wizzard_lib/core/modules/intract/__init__.py +0 -0
  224. web3_wizzard_lib/core/modules/intract/intract_api.py +0 -212
  225. web3_wizzard_lib/core/modules/intract/utils.py +0 -81
  226. web3_wizzard_lib/core/modules/intract_claim.py +0 -101
  227. web3_wizzard_lib/core/modules/layer_2_20.py +0 -65
  228. web3_wizzard_lib/core/modules/lending_module.py +0 -134
  229. web3_wizzard_lib/core/modules/linea_appeal.py +0 -98
  230. web3_wizzard_lib/core/modules/linea_poh_lxp.py +0 -65
  231. web3_wizzard_lib/core/modules/liquidity/__init__.py +0 -0
  232. web3_wizzard_lib/core/modules/liquidity/nile_pool.py +0 -64
  233. web3_wizzard_lib/core/modules/liquidity/pool.py +0 -16
  234. web3_wizzard_lib/core/modules/liquidity/syncswap_pool.py +0 -61
  235. web3_wizzard_lib/core/modules/liquidity/velocore_pool.py +0 -55
  236. web3_wizzard_lib/core/modules/liquidity/zerolend_liquidity.py +0 -26
  237. web3_wizzard_lib/core/modules/liquidity_pool.py +0 -60
  238. web3_wizzard_lib/core/modules/merkly_refuel.py +0 -87
  239. web3_wizzard_lib/core/modules/new_rage_withdraw.py +0 -41
  240. web3_wizzard_lib/core/modules/nft/__init__.py +0 -0
  241. web3_wizzard_lib/core/modules/nft/abbys_world.py +0 -22
  242. web3_wizzard_lib/core/modules/nft/acg_worlds.py +0 -25
  243. web3_wizzard_lib/core/modules/nft/alienswap_linea.py +0 -22
  244. web3_wizzard_lib/core/modules/nft/arena_games.py +0 -22
  245. web3_wizzard_lib/core/modules/nft/asmatch.py +0 -22
  246. web3_wizzard_lib/core/modules/nft/battlemon.py +0 -25
  247. web3_wizzard_lib/core/modules/nft/bilinear.py +0 -22
  248. web3_wizzard_lib/core/modules/nft/bitavatar.py +0 -25
  249. web3_wizzard_lib/core/modules/nft/culture_satoshi_universe.py +0 -24
  250. web3_wizzard_lib/core/modules/nft/efrogs.py +0 -26
  251. web3_wizzard_lib/core/modules/nft/empty_nft.py +0 -22
  252. web3_wizzard_lib/core/modules/nft/era_domain.py +0 -42
  253. web3_wizzard_lib/core/modules/nft/frog_war.py +0 -22
  254. web3_wizzard_lib/core/modules/nft/frog_war_bonus.py +0 -22
  255. web3_wizzard_lib/core/modules/nft/gamerboom.py +0 -25
  256. web3_wizzard_lib/core/modules/nft/gamerboom_bonus.py +0 -26
  257. web3_wizzard_lib/core/modules/nft/imagine.py +0 -32
  258. web3_wizzard_lib/core/modules/nft/kreatorland_module.py +0 -35
  259. web3_wizzard_lib/core/modules/nft/l2_telegraph_module.py +0 -22
  260. web3_wizzard_lib/core/modules/nft/layer3_meta.py +0 -25
  261. web3_wizzard_lib/core/modules/nft/linea_culture_2_2_linus.py +0 -24
  262. web3_wizzard_lib/core/modules/nft/linea_culture_2_3_yooldo.py +0 -24
  263. web3_wizzard_lib/core/modules/nft/linea_culture_2_4_frogwar.py +0 -24
  264. web3_wizzard_lib/core/modules/nft/linea_culture_2_5_acg.py +0 -25
  265. web3_wizzard_lib/core/modules/nft/linea_culture_2_6_ascend_the_end.py +0 -25
  266. web3_wizzard_lib/core/modules/nft/linea_culture_3_1_ascend_the_end.py +0 -25
  267. web3_wizzard_lib/core/modules/nft/linea_culture_3_2_sending_me.py +0 -25
  268. web3_wizzard_lib/core/modules/nft/linea_culture_3_3_townstory.py +0 -25
  269. web3_wizzard_lib/core/modules/nft/linea_culture_3_4_daniele.py +0 -25
  270. web3_wizzard_lib/core/modules/nft/linea_culture_3_5_demmortal.py +0 -25
  271. web3_wizzard_lib/core/modules/nft/linea_culture_3_6_foxy.py +0 -25
  272. web3_wizzard_lib/core/modules/nft/linea_culture_4_1_coop_records.py +0 -60
  273. web3_wizzard_lib/core/modules/nft/linea_culture_4_2_borja_moskv.py +0 -65
  274. web3_wizzard_lib/core/modules/nft/linea_culture_4_2_borja_moskv_approve.py +0 -27
  275. web3_wizzard_lib/core/modules/nft/linea_culture_4_3_fruit.py +0 -66
  276. web3_wizzard_lib/core/modules/nft/linea_culture_4_4_fruit_crux.py +0 -67
  277. web3_wizzard_lib/core/modules/nft/linea_culture_4_5_forbidden_fruit.py +0 -67
  278. web3_wizzard_lib/core/modules/nft/linea_culture_4_6_laurent.py +0 -67
  279. web3_wizzard_lib/core/modules/nft/linea_culture_day2.py +0 -20
  280. web3_wizzard_lib/core/modules/nft/linea_culture_day3.py +0 -20
  281. web3_wizzard_lib/core/modules/nft/linea_ens_names.py +0 -107
  282. web3_wizzard_lib/core/modules/nft/lucky_cat.py +0 -25
  283. web3_wizzard_lib/core/modules/nft/merkly_minter_module.py +0 -22
  284. web3_wizzard_lib/core/modules/nft/micro3.py +0 -23
  285. web3_wizzard_lib/core/modules/nft/mint_2048.py +0 -28
  286. web3_wizzard_lib/core/modules/nft/nft_submodule.py +0 -16
  287. web3_wizzard_lib/core/modules/nft/nidum.py +0 -87
  288. web3_wizzard_lib/core/modules/nft/nidum_bonus.py +0 -23
  289. web3_wizzard_lib/core/modules/nft/nomis.py +0 -64
  290. web3_wizzard_lib/core/modules/nft/nomis_attest.py +0 -66
  291. web3_wizzard_lib/core/modules/nft/nouns.py +0 -27
  292. web3_wizzard_lib/core/modules/nft/octomos.py +0 -32
  293. web3_wizzard_lib/core/modules/nft/omnisea.py +0 -33
  294. web3_wizzard_lib/core/modules/nft/omnizone.py +0 -25
  295. web3_wizzard_lib/core/modules/nft/orbiter_claim.py +0 -87
  296. web3_wizzard_lib/core/modules/nft/readon.py +0 -30
  297. web3_wizzard_lib/core/modules/nft/rubyscore.py +0 -45
  298. web3_wizzard_lib/core/modules/nft/sarubol.py +0 -22
  299. web3_wizzard_lib/core/modules/nft/satoshi_universe.py +0 -22
  300. web3_wizzard_lib/core/modules/nft/scroll_canvas_attest_year_badge.py +0 -35
  301. web3_wizzard_lib/core/modules/nft/scroll_canvas_mint.py +0 -51
  302. web3_wizzard_lib/core/modules/nft/sign.py +0 -32
  303. web3_wizzard_lib/core/modules/nft/snap.py +0 -25
  304. web3_wizzard_lib/core/modules/nft/snap_bonus.py +0 -31
  305. web3_wizzard_lib/core/modules/nft/social_scan.py +0 -22
  306. web3_wizzard_lib/core/modules/nft/tavaera.py +0 -30
  307. web3_wizzard_lib/core/modules/nft/townstory.py +0 -75
  308. web3_wizzard_lib/core/modules/nft/townstory_bonus.py +0 -45
  309. web3_wizzard_lib/core/modules/nft/trusta_reputation.py +0 -48
  310. web3_wizzard_lib/core/modules/nft/trustaa_poh.py +0 -49
  311. web3_wizzard_lib/core/modules/nft/uber_poh.py +0 -24
  312. web3_wizzard_lib/core/modules/nft/wizards_of_linea.py +0 -26
  313. web3_wizzard_lib/core/modules/nft/yoddlo.py +0 -22
  314. web3_wizzard_lib/core/modules/nft/yuliverse.py +0 -22
  315. web3_wizzard_lib/core/modules/nft/zace.py +0 -25
  316. web3_wizzard_lib/core/modules/nft/zks_domain.py +0 -41
  317. web3_wizzard_lib/core/modules/nft_minter.py +0 -107
  318. web3_wizzard_lib/core/modules/orbiter.py +0 -39
  319. web3_wizzard_lib/core/modules/orbiter_checker.py +0 -26
  320. web3_wizzard_lib/core/modules/rage.py +0 -54
  321. web3_wizzard_lib/core/modules/scroll_bridge.py +0 -45
  322. web3_wizzard_lib/core/modules/sell_all.py +0 -51
  323. web3_wizzard_lib/core/modules/sleep_module.py +0 -25
  324. web3_wizzard_lib/core/modules/smart_contract_deployment.py +0 -37
  325. web3_wizzard_lib/core/modules/stargate/__init__.py +0 -0
  326. web3_wizzard_lib/core/modules/stargate/auto_bridge.py +0 -91
  327. web3_wizzard_lib/core/modules/stargate/bridge.py +0 -38
  328. web3_wizzard_lib/core/modules/stargate/bridge_eth.py +0 -59
  329. web3_wizzard_lib/core/modules/stargate/bridge_tokens.py +0 -48
  330. web3_wizzard_lib/core/modules/stargate/classic_bridge.py +0 -34
  331. web3_wizzard_lib/core/modules/stargate/farming.py +0 -163
  332. web3_wizzard_lib/core/modules/stargate/l0_data.py +0 -10
  333. web3_wizzard_lib/core/modules/stargate/pool.py +0 -74
  334. web3_wizzard_lib/core/modules/stargate/stargate_balance_utils.py +0 -25
  335. web3_wizzard_lib/core/modules/stargate/stargate_gas_checker.py +0 -68
  336. web3_wizzard_lib/core/modules/swap/__init__.py +0 -1
  337. web3_wizzard_lib/core/modules/swap/horizondex.py +0 -38
  338. web3_wizzard_lib/core/modules/swap/izumi.py +0 -41
  339. web3_wizzard_lib/core/modules/swap/lineaswap.py +0 -34
  340. web3_wizzard_lib/core/modules/swap/maverick.py +0 -66
  341. web3_wizzard_lib/core/modules/swap/mute.py +0 -39
  342. web3_wizzard_lib/core/modules/swap/odos.py +0 -58
  343. web3_wizzard_lib/core/modules/swap/one_inch.py +0 -58
  344. web3_wizzard_lib/core/modules/swap/pancake.py +0 -41
  345. web3_wizzard_lib/core/modules/swap/swap_list.py +0 -11
  346. web3_wizzard_lib/core/modules/swap/syncswap.py +0 -62
  347. web3_wizzard_lib/core/modules/swap/velocore.py +0 -40
  348. web3_wizzard_lib/core/modules/swap/woofi.py +0 -38
  349. web3_wizzard_lib/core/modules/swap/xy_finance.py +0 -43
  350. web3_wizzard_lib/core/modules/swap/zebra.py +0 -32
  351. web3_wizzard_lib/core/modules/warm_up.py +0 -98
  352. web3_wizzard_lib/core/modules/wrapping.py +0 -74
  353. web3_wizzard_lib/core/modules/zkdx.py +0 -63
  354. web3_wizzard_lib/core/utils/__init__.py +0 -0
  355. web3_wizzard_lib/core/utils/ai_utils.py +0 -45
  356. web3_wizzard_lib/core/utils/benchmark_utils.py +0 -12
  357. web3_wizzard_lib/core/utils/module_memory.py +0 -28
  358. web3_wizzard_lib/core/utils/statistic_utils.py +0 -150
  359. web3_wizzard_lib/core/utils/sub_module.py +0 -8
  360. web3_wizzard_lib/data/__init__.py +0 -0
  361. web3_wizzard_lib/data/config_default.py +0 -52
  362. web3_wizzard_lib/data/module_config_default.py +0 -209
  363. web3_wizzard_lib/utils/__init__.py +0 -0
  364. web3_wizzard_lib/utils/debank_utils.py +0 -19
  365. web3_wizzard_lib-1.6.10.data/data/requirements.txt +0 -1
  366. web3_wizzard_lib-1.6.10.dist-info/METADATA +0 -15
  367. web3_wizzard_lib-1.6.10.dist-info/RECORD +0 -271
  368. web3_wizzard_lib-1.6.10.dist-info/top_level.txt +0 -3
  369. /tests/__init__.py → /web3_wizzard_lib/resources/linea_appeal.txt +0 -0
  370. {web3_wizzard_lib-1.6.10.dist-info → web3_wizzard_lib-1.6.12.dist-info}/WHEEL +0 -0
@@ -1,52 +0,0 @@
1
- from urllib.parse import urlparse
2
-
3
- from loguru import logger
4
- from sybil_engine.module.module import Module
5
- import requests
6
-
7
-
8
- class AdsImportProxy(Module):
9
- module_name = 'ADS_IMPORT_PROXY'
10
- module_config = 'ads_import_config'
11
-
12
- def execute(self, ads_url, account):
13
- parsed_proxy = urlparse(account.proxy)
14
- proxy_type = parsed_proxy.scheme
15
- proxy_host = parsed_proxy.hostname
16
- proxy_port = parsed_proxy.port
17
- proxy_user = parsed_proxy.username
18
- proxy_password = parsed_proxy.password
19
-
20
- logger.info(f"Import proxy {account.proxy} for account {account.app_id}")
21
-
22
- response = requests.get(f"{ads_url}/list", params={"serial_number": str(account.app_id)})
23
- user_id = response.json()['data']['list'][0]["user_id"]
24
-
25
- self.updateProfile(ads_url, user_id, proxy_host, proxy_password, proxy_port, proxy_type, proxy_user)
26
-
27
- def updateProfile(self, ads_url, user_id, proxy_host, proxy_password, proxy_port, proxy_type, proxy_user):
28
- data = {
29
- "user_id": user_id,
30
- "user_proxy_config": {
31
- "proxy_type": proxy_type,
32
- "proxy_host": proxy_host,
33
- "proxy_port": str(proxy_port),
34
- "proxy_user": proxy_user,
35
- "proxy_password": proxy_password,
36
- "proxy_soft": "luminati"
37
- }
38
- }
39
- response = requests.post(f"{ads_url}/update", json=data)
40
- logger.info(response.status_code)
41
- logger.info(response.json())
42
-
43
- def log(self):
44
- return "ADS IMPORT PROXY"
45
-
46
- def parse_params(self, module_params):
47
- if 'ads_url' not in module_params:
48
- module_params['ads_url'] = "http://local.adspower.net:50325/api/v1/user"
49
-
50
- return [
51
- module_params['ads_url']
52
- ]
@@ -1,81 +0,0 @@
1
- import requests
2
- from loguru import logger
3
- from sybil_engine.data.networks import get_chain_instance
4
- from sybil_engine.module.module import Module
5
- from web3 import Web3
6
-
7
- from web3_wizzard_lib.core.utils.statistic_utils import get_statistic_writer, statistic_date_string
8
-
9
-
10
- class AirdropPrinter(Module):
11
- module_name = 'AIRDROP_PRINTER'
12
- module_config = None
13
-
14
- claimers = {
15
- "L0": "0xB09F16F625B363875e39ADa56C03682088471523",
16
- "SCROLL": "0xE8bE8eB940c0ca3BD19D911CD3bEBc97Bea0ED62",
17
- "ZKSYNC": "0x66Fd4FC8FA52c9bec2AbA368047A0b27e24ecfe4",
18
- "ORBITER": "0x13dFDd3a9B39323F228Daf73B62C23F7017E4679",
19
- "ODOS": "0x4C8f8055D88705f52c9994969DDe61AB574895a3"
20
- }
21
-
22
- EMPTY_ADDRESS = '-'
23
-
24
- chains = ["ARBITRUM", "ZKSYNC", "SCROLL", "BASE"]
25
-
26
- def execute(self, account, statistic_write='GOOGLE'):
27
- chain_contracts = {}
28
- for chain in self.chains:
29
- chain_instance = get_chain_instance(chain)
30
-
31
- datas = self.find_interacted_contracts_hash(
32
- account.address,
33
- chain_instance['api_scan'],
34
- chain_instance['api_scan_key']
35
- )
36
-
37
- chain_contracts[chain] = datas['result']
38
-
39
- account_links = {}
40
-
41
- for project, claim_address in self.claimers.items():
42
- for chain, datas in chain_contracts.items():
43
- chain_instance = get_chain_instance(chain)
44
- for data in datas:
45
- if data['to'] != "" and claim_address == Web3.to_checksum_address(data['to']):
46
- account_links[project] = chain_instance['scan'] + "tx/" + data['hash']
47
-
48
- if account_links.get(project) is None:
49
- account_links[project] = self.EMPTY_ADDRESS
50
-
51
- logger.info(account_links)
52
- statistics_writer = get_statistic_writer()
53
- job_name = f"airdrops_{statistic_date_string}"
54
- statistics_writer.init_if_required(job_name, ['#', 'Address'] + list(self.claimers.keys()))
55
-
56
- value_row = [account.app_id, account.address]
57
- for project, address in account_links.items():
58
- value_row.append(address)
59
-
60
- statistics_writer.write_row(job_name, value_row)
61
-
62
- def find_interacted_contracts_hash(self, wallet_address, api_url, api_key):
63
- api_url = f"{api_url}/api?module=account&action=txlist&address={wallet_address}&startblock=0&endblock=latest&sort=asc&apikey={api_key}&offset=200"
64
-
65
- if "base" in api_url:
66
- logger.info(f"BASE {api_url}")
67
- pass
68
-
69
- response = requests.get(api_url)
70
- data = response.json()
71
-
72
- if data['status'] == '1' and data['message'] == 'OK':
73
- return data
74
- else:
75
- logger.info("nothing")
76
- logger.info(data)
77
- pass
78
- return data
79
-
80
- def log(self):
81
- return "AIRDROP PRINTER"
File without changes
@@ -1,25 +0,0 @@
1
- from sybil_engine.contract.weth import WETH
2
- from sybil_engine.data.networks import get_ids_chain
3
- from sybil_engine.data.tokens import get_tokens_for_chain
4
-
5
- from web3_wizzard_lib.core.contract.aavecontract import AaveContract
6
- from web3_wizzard_lib.core.modules.bank.bank import Bank
7
-
8
-
9
- class Aave(Bank):
10
- app_name = 'AAVE'
11
- supported_chains = ['SCROLL']
12
-
13
- def __init__(self, contract, web3):
14
- self.contract = AaveContract(contract, web3)
15
-
16
- def supply(self, account, amount):
17
- self.contract.depositETH(account, amount.wei)
18
-
19
- def redeem(self, account, withdraw):
20
- self.contract.withdrawETH(account, withdraw.wei)
21
-
22
- def get_deposit_amount(self, account, token):
23
- weth_token = get_tokens_for_chain(get_ids_chain()[self.contract.web3.eth.chain_id])['AAVE_WETH']
24
-
25
- return WETH(weth_token, self.contract.web3).balance_of(account)
@@ -1,15 +0,0 @@
1
- class Bank:
2
- def supply(self, account, amount):
3
- pass
4
-
5
- def borrow(self, account, amount):
6
- pass
7
-
8
- def repay_borrow(self, account, amount):
9
- pass
10
-
11
- def redeem(self, account, amount, token):
12
- pass
13
-
14
- def get_deposit_amount(self, account, token):
15
- pass
@@ -1,25 +0,0 @@
1
- from sybil_engine.contract.weth import WETH
2
- from sybil_engine.data.networks import get_ids_chain
3
- from sybil_engine.data.tokens import get_tokens_for_chain
4
-
5
- from web3_wizzard_lib.core.contract.basiliskcontract import BasiliskContract
6
- from web3_wizzard_lib.core.modules.bank.bank import Bank
7
-
8
-
9
- class Basilisk(Bank):
10
- app_name = 'BASILISK_LANDING'
11
- supported_chains = ['ZKSYNC']
12
-
13
- def __init__(self, contract, web3):
14
- self.contract = BasiliskContract(contract, web3)
15
-
16
- def supply(self, account, amount):
17
- self.contract.mint(account, amount.wei)
18
-
19
- def redeem(self, account, withdraw):
20
- self.contract.redeem_underlying(account, withdraw.wei)
21
-
22
- def get_deposit_amount(self, account, token):
23
- weth_token = get_tokens_for_chain(get_ids_chain()[self.contract.web3.eth.chain_id])['BASILISK_LANDING']
24
-
25
- return WETH(weth_token, self.contract.web3).balance_of(account)
@@ -1,25 +0,0 @@
1
- from sybil_engine.contract.weth import WETH
2
- from sybil_engine.data.networks import get_ids_chain
3
- from sybil_engine.data.tokens import get_tokens_for_chain
4
-
5
- from web3_wizzard_lib.core.contract.eralendcontract import EraLendContract
6
- from web3_wizzard_lib.core.modules.bank.bank import Bank
7
-
8
-
9
- class Eralend(Bank):
10
- app_name = 'ERALEND'
11
- supported_chains = ['ZKSYNC']
12
-
13
- def __init__(self, contract, web3):
14
- self.contract = EraLendContract(contract, web3)
15
-
16
- def supply(self, account, amount):
17
- self.contract.mint(account, amount.wei)
18
-
19
- def redeem(self, account, withdraw):
20
- self.contract.redeem_underlying(account, withdraw.wei)
21
-
22
- def get_deposit_amount(self, account, token):
23
- weth_token = get_tokens_for_chain(get_ids_chain()[self.contract.web3.eth.chain_id])['ERALEND']
24
-
25
- return WETH(weth_token, self.contract.web3).balance_of(account)
@@ -1,116 +0,0 @@
1
- from loguru import logger
2
- from sybil_engine.data.contracts import get_contracts_for_chain
3
- from sybil_engine.data.tokens import get_tokens_for_chain
4
- from sybil_engine.domain.balance.tokens import Erc20Token
5
-
6
- from web3_wizzard_lib.core.contract.layerbank_price import LayerBankPrice
7
- from web3_wizzard_lib.core.contract.layerbank_token import LayerBankToken
8
- from web3_wizzard_lib.core.contract.layerbankcontract import LayerBankContract
9
- from web3_wizzard_lib.core.modules.bank.bank import Bank
10
-
11
-
12
- class LayerBank(Bank):
13
- app_name = 'LAYERBANK'
14
- supported_chains = ['LINEA']
15
-
16
- def __init__(self, chain, web3):
17
- self.chain = chain
18
- self.web3 = web3
19
- self.layerbank = LayerBankContract(get_contracts_for_chain(chain)["LAYERBANK"], web3)
20
-
21
- lbwstETH = get_tokens_for_chain(chain)['lbwstETH']
22
- self.lbWstETHToken = LayerBankToken(lbwstETH, web3)
23
-
24
- lbETH = get_tokens_for_chain(chain)['lbETH']
25
- self.lbETHToken = LayerBankToken(lbETH, web3)
26
-
27
- def supply(self, account, token):
28
- token = LayerBankToken(get_tokens_for_chain(self.chain)[token], self.web3)
29
-
30
- erc20_token = Erc20Token(self.chain, token, self.web3)
31
- amount = erc20_token.balance(account)
32
-
33
- if 25 * token.one_decimal() <= self.layerbank.account_liquidity_of(account)[0]:
34
- logger.info("Already supplied over 25$ worth, skip this step")
35
- return
36
-
37
- if erc20_token.allowance(account, token.contract_address) < amount.wei:
38
- erc20_token.approve(account, token.contract_address)
39
-
40
- if amount.wei > 0:
41
- if token.contract_address not in self.layerbank.market_list_of(account):
42
- logger.info("Add support wstETH to LayerBank")
43
- self.layerbank.enter_markets(account, token.contract_address)
44
-
45
- logger.info(f"Supply {amount.log_line()}")
46
-
47
- self.layerbank.supply(account, token.contract_address, amount.wei)
48
-
49
- if 25 * token.one_decimal() > self.layerbank.account_liquidity_of(account)[0]:
50
- raise Exception(
51
- f"Not enough supply for 25$ borrow {self.layerbank.account_liquidity_of(account)[0] / token.one_decimal()}"
52
- )
53
-
54
- def borrow(self, account, token):
55
- token = LayerBankToken(get_tokens_for_chain(self.chain)[token], self.web3)
56
-
57
- layerbank_price = LayerBankPrice(get_contracts_for_chain(self.chain)["LAYERBANK_PRICE"], self.web3)
58
-
59
- usd_collateral = self.layerbank.account_liquidity_of(account)[0]
60
- eth_amount = (usd_collateral / layerbank_price.get_underlying_price(token.contract_address))
61
-
62
- logger.info(f"Borrow {eth_amount} {token.symbol()}")
63
-
64
- borrow_amount = int(
65
- eth_amount * token.one_decimal() * token.one_decimal() / token.exchange_rate())
66
-
67
- self.layerbank.borrow(
68
- account,
69
- token.contract_address,
70
- borrow_amount
71
- )
72
-
73
- def repay_borrow(self, account, token):
74
- token = LayerBankToken(get_tokens_for_chain(self.chain)[token], self.web3)
75
-
76
- layerbank_price = LayerBankPrice(get_contracts_for_chain(self.chain)["LAYERBANK_PRICE"], self.web3)
77
-
78
- borrowed_usdc = self.layerbank.account_liquidity_of(account)[2]
79
- lbETHPrice = layerbank_price.get_underlying_price(token.contract_address)
80
- ethAmount = int(
81
- (
82
- borrowed_usdc / lbETHPrice) * token.one_decimal() * token.one_decimal() / token.exchange_rate()
83
- )
84
-
85
- if 2 * token.one_decimal() > borrowed_usdc:
86
- logger.info("Less than 2$ borrowed, skip")
87
- return
88
-
89
- logger.info(f"Repay Borrow {ethAmount / token.one_decimal()}")
90
- self.layerbank.repay_borrow(account, token.contract_address, ethAmount)
91
-
92
- def redeem(self, account, amount, token):
93
- if token == 'ETH':
94
- token = self.lbETHToken
95
- elif token == 'wstETH':
96
- token = self.lbWstETHToken
97
-
98
- underlying_balance = self.get_deposit_amount(account, token)
99
-
100
- if underlying_balance < 10000:
101
- logger.info("Less than 0.001$ supplied, skip")
102
- return
103
-
104
- self.layerbank.redeem_token(
105
- account,
106
- token.contract_address,
107
- int(underlying_balance * token.one_decimal() * 0.999 / token.exchange_rate())
108
- )
109
-
110
- def get_deposit_amount(self, account, token):
111
- if token == 'ETH':
112
- token = self.lbETHToken
113
- elif token == 'wstETH':
114
- token = self.lbWstETHToken
115
-
116
- return token.underlying_balance_of(account)
@@ -1,57 +0,0 @@
1
- from loguru import logger
2
- from sybil_engine.data.tokens import get_tokens_for_chain
3
- from sybil_engine.domain.balance.tokens import Erc20Token
4
-
5
- from web3_wizzard_lib.core.contract.mendi_token import MendiTokenContract
6
- from web3_wizzard_lib.core.modules.bank.bank import Bank
7
-
8
-
9
- class MendiFinance(Bank):
10
- app_name = 'MENDI_FINANCE'
11
- supported_chains = ['LINEA']
12
-
13
- def __init__(self, chain, web3):
14
- self.chain = chain
15
- self.web3 = web3
16
-
17
- def supply(self, account, amount):
18
- erc20 = Erc20Token(self.chain, amount.token, self.web3)
19
- amount = erc20.balance(account)
20
-
21
- me_token = f'me{amount.token}'
22
- mendi_token_address = get_tokens_for_chain(self.chain)[me_token]
23
-
24
- logger.info(f"Mendi supply {amount} {amount.token}")
25
-
26
- if erc20.allowance(account, mendi_token_address) < erc20.balance(account).wei:
27
- erc20.approve(account, mendi_token_address)
28
-
29
- mendi = MendiTokenContract(mendi_token_address, self.web3)
30
- mendi.mint(account, amount.wei)
31
-
32
- def borrow(self, account, amount):
33
- logger.info(f"Mendi borrow {amount.token}")
34
-
35
- def repay_borrow(self, account, amount):
36
- logger.info(f"Mendi repay {amount.token}")
37
-
38
- def redeem(self, account, amount):
39
- me_token = f'me{amount.token}'
40
- mendi_token_address = get_tokens_for_chain(self.chain)[me_token]
41
- mendi = MendiTokenContract(mendi_token_address, self.web3)
42
-
43
- redeem_balance = mendi.balance_of(account)
44
-
45
- if redeem_balance > 1000000000:
46
- logger.info(f"Mendi reedem {amount. token}")
47
- mendi.redeem(account, redeem_balance)
48
- else:
49
- logger.info(f"Mendi balance is 0")
50
-
51
- def get_deposit_amount(self, account, token):
52
- #me_token = f'meweETH'
53
- mendi_token_address = get_tokens_for_chain(self.chain)[token]
54
- mendi = MendiTokenContract(mendi_token_address, self.web3)
55
-
56
- return mendi.balance_of(account)
57
-
@@ -1,25 +0,0 @@
1
- from sybil_engine.contract.weth import WETH
2
- from sybil_engine.data.networks import get_ids_chain
3
- from sybil_engine.data.tokens import get_tokens_for_chain
4
-
5
- from web3_wizzard_lib.core.contract.reactor_fusion_contract import ReactorFusionContract
6
- from web3_wizzard_lib.core.modules.bank.bank import Bank
7
-
8
-
9
- class ReactorFusion(Bank):
10
- app_name = 'REACTORFUSION_LANDING'
11
- supported_chains = ['ZKSYNC']
12
-
13
- def __init__(self, contract, web3):
14
- self.contract = ReactorFusionContract(contract, web3)
15
-
16
- def supply(self, account, amount):
17
- self.contract.mint(account, amount.wei)
18
-
19
- def redeem(self, account, withdraw):
20
- self.contract.redeem_underlying(account, withdraw.wei)
21
-
22
- def get_deposit_amount(self, account, token):
23
- weth_token = get_tokens_for_chain(get_ids_chain()[self.contract.web3.eth.chain_id])['REACTORFUSION_LANDING']
24
-
25
- return WETH(weth_token, self.contract.web3).balance_of(account)
@@ -1,36 +0,0 @@
1
- from loguru import logger
2
- from sybil_engine.data.contracts import get_contracts_for_chain
3
- from sybil_engine.data.tokens import get_tokens_for_chain
4
- from sybil_engine.domain.balance.tokens import Erc20Token
5
-
6
- from web3_wizzard_lib.core.contract.zerolend_contract import ZeroLendContract
7
- from web3_wizzard_lib.core.modules.bank.bank import Bank
8
-
9
-
10
- class ZeroLend(Bank):
11
- app_name = 'ZEROLEND'
12
- supported_chains = ['LINEA']
13
-
14
- def __init__(self, chain, web3):
15
- self.chain = chain
16
- self.web3 = web3
17
- self.contract = ZeroLendContract(get_contracts_for_chain(self.chain)['ZEROLEND_LEND'], self.web3)
18
-
19
- def supply(self, account, amount):
20
- logger.info(f"Deposit {amount} to ZEROLEND")
21
-
22
- self.contract.deposit_eth(account, amount.wei)
23
-
24
- def redeem(self, account, amount):
25
- erc20_token = Erc20Token('LINEA', get_tokens_for_chain(self.chain)['ZEROLEND_WETH'], self.web3)
26
-
27
- if erc20_token.allowance(account, self.contract.contract_address) < 100:
28
- erc20_token.approve(account, self.contract.contract_address)
29
-
30
- self.contract.withdraw_eth(account, amount.wei)
31
-
32
- def get_deposit_amount(self, account, token):
33
- erc20_token = Erc20Token('LINEA', get_tokens_for_chain(self.chain)['ZEROLEND_WETH'], self.web3)
34
-
35
- return erc20_token.balance(account)
36
-
@@ -1,99 +0,0 @@
1
- from loguru import logger
2
- from sybil_engine.data.networks import get_chain_instance
3
- from sybil_engine.domain.balance.balance_utils import get_native_balance, interval_to_eth_balance, \
4
- interval_to_erc20_balance
5
- from sybil_engine.module.module import Order, Module
6
- from sybil_engine.utils.app_account_utils import AppAccount
7
- from sybil_engine.utils.retry import retry
8
- from sybil_engine.utils.utils import ConfigurationException
9
- from sybil_engine.utils.web3_utils import init_web3
10
-
11
- from web3_wizzard_lib.core.modules.bank.basilisk import Basilisk
12
- from web3_wizzard_lib.core.modules.bank.eralend import Eralend
13
- from web3_wizzard_lib.core.modules.bank.layerbank import LayerBank
14
- from web3_wizzard_lib.core.modules.bank.mendi_finance import MendiFinance
15
- from web3_wizzard_lib.core.modules.bank.aave import Aave
16
- from web3_wizzard_lib.core.modules.bank.reactorfusion import ReactorFusion
17
- from web3_wizzard_lib.core.modules.bank.zerolend import ZeroLend
18
-
19
-
20
- class Banking(Module):
21
- module_name = 'BANKING'
22
- random_order = Order.RANDOM
23
- module_config = 'banking_config'
24
-
25
- @retry(max_attempts=10, retry_interval={'from': 10, 'to': 20})
26
- def execute(self, bank_app_name, action, token, amount_interval, chain, account: AppAccount):
27
- chain_instance = get_chain_instance(chain)
28
- web3 = init_web3(chain_instance, account.proxy)
29
- balance = get_native_balance(account, web3, chain_instance)
30
-
31
- logger.info(f"Balance {balance}")
32
-
33
- if token == 'ETH':
34
- amount = interval_to_eth_balance(amount_interval, account, chain, web3)
35
- else:
36
- amount = interval_to_erc20_balance(amount_interval, account, token, chain, web3)
37
-
38
- bank_app = self.get_bank_app(bank_app_name, chain, web3)
39
-
40
- logger.info(f"{bank_app.app_name}")
41
-
42
- self.perform_action(bank_app, action, amount, token, account)
43
-
44
- def perform_action(self, bank_app, action, amount, token, account):
45
- logger.info(action)
46
- if action == 'SUPPLY':
47
- bank_app.supply(account, amount)
48
- elif action == 'BORROW':
49
- bank_app.borrow(account, amount)
50
- elif action == 'REPAY':
51
- bank_app.repay_borrow(account, amount)
52
- elif action == 'REDEEM':
53
- amount = bank_app.get_deposit_amount(account, token)
54
- logger.info(f"Redeem {amount} of {token} from {bank_app.app_name}")
55
-
56
- bank_app.redeem(account, amount, token)
57
- else:
58
- raise ConfigurationException("Unsupported action")
59
-
60
- def get_bank_app(self, bank_app, chain, web3):
61
- bank_app = self.get_bank_app_by_name(bank_app)
62
-
63
- if chain not in bank_app.supported_chains:
64
- raise ConfigurationException(
65
- f"{bank_app} not supported in {chain}. Supported chains: {bank_app.supported_chains}")
66
-
67
- return bank_app(chain, web3)
68
-
69
- def get_bank_app_by_name(self, bank_app_name):
70
- for bank_app in self.get_bank_apps():
71
- if bank_app.app_name == bank_app_name:
72
- return bank_app
73
- raise ConfigurationException(f"No Bank App with name {bank_app_name} found")
74
-
75
- def get_bank_apps(self):
76
- return {
77
- Basilisk,
78
- ReactorFusion,
79
- Eralend,
80
- MendiFinance,
81
- LayerBank,
82
- Aave,
83
- ZeroLend
84
- }
85
-
86
- def log(self):
87
- return "BANKING"
88
-
89
- def parse_params(self, module_params):
90
- if 'chain' not in module_params:
91
- module_params['chain'] = 'LINEA'
92
-
93
- return [
94
- module_params['bank'],
95
- module_params['action'],
96
- module_params['token'],
97
- module_params['amount_interval'],
98
- module_params['chain']
99
- ]
File without changes
@@ -1,8 +0,0 @@
1
- class Bridge:
2
- module_name = None
3
-
4
- def execute(self, *args):
5
- pass
6
-
7
- def log(self):
8
- pass
@@ -1,47 +0,0 @@
1
- from loguru import logger
2
- from sybil_engine.data.contracts import get_contracts_for_chain
3
- from sybil_engine.data.networks import get_chain_instance
4
- from sybil_engine.domain.balance.balance import NotEnoughERC20Balance
5
- from sybil_engine.domain.balance.balance_utils import interval_to_erc20_balance, get_native_balance
6
- from sybil_engine.domain.balance.tokens import Erc20Token
7
- from sybil_engine.utils.retry import retry
8
- from sybil_engine.utils.web3_utils import init_web3
9
-
10
- from web3_wizzard_lib.core.contract.coredao_contract import CoreDaoContract
11
- from web3_wizzard_lib.core.contract.coredao_from_contract import CoreDaoFromContract
12
- from web3_wizzard_lib.core.modules.bridge.bridge import Bridge
13
-
14
-
15
- class CoreDaoBridgeSubModule(Bridge):
16
- supported_chains = ['POLYGON', 'COREDAO']
17
-
18
- @retry(max_attempts=5, retry_interval={'from': 60 * 15, 'to': 60 * 25})
19
- def execute(self, bridge_amount_interval, from_chain, to_chain, token, min_native_balance, account):
20
- chain_instance = get_chain_instance(from_chain)
21
- web3 = init_web3(chain_instance, account.proxy)
22
-
23
- erc20_token = Erc20Token(from_chain, token, web3)
24
-
25
- amount = interval_to_erc20_balance(bridge_amount_interval, account, token, from_chain, web3)
26
-
27
- logger.info(f"Native balance: {get_native_balance(account, web3, chain_instance)}")
28
- logger.info(f"Balance: {erc20_token.balance(account)}")
29
-
30
- logger.info(f"Bridge {from_chain + ' -> ' + to_chain} {amount}")
31
-
32
- if amount.wei == 0:
33
- raise NotEnoughERC20Balance(f"Can't swap zero balance")
34
-
35
- coredao_contract = get_contracts_for_chain(from_chain)['COREDAO_BRIDGE']
36
-
37
- if erc20_token.allowance(account, coredao_contract) < amount.wei:
38
- erc20_token.approve(account, coredao_contract)
39
-
40
- if from_chain == 'COREDAO':
41
- coredao = CoreDaoFromContract(coredao_contract, web3)
42
- fee = coredao.estimate_bridge_fee(to_chain)
43
- else:
44
- coredao = CoreDaoContract(coredao_contract, web3)
45
- fee = coredao.estimate_bridge_fee()
46
-
47
- coredao.bridge(account, amount, erc20_token.erc20_contract.contract_address, fee, to_chain)