web3-wizzard-lib 0.0.2__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 (547) hide show
  1. core/__init__.py +1 -0
  2. core/contract/__init__.py +0 -0
  3. core/contract/aavecontract.py +36 -0
  4. core/contract/alienswap_contract.py +21 -0
  5. core/contract/arena_games_contract.py +16 -0
  6. core/contract/basiliskcontract.py +58 -0
  7. core/contract/bilinear_contract.py +22 -0
  8. core/contract/bungee.py +33 -0
  9. core/contract/coredao_contract.py +35 -0
  10. core/contract/coredao_from_contract.py +40 -0
  11. core/contract/dmail_send_mail.py +18 -0
  12. core/contract/empty_nft.py +18 -0
  13. core/contract/era_name.py +23 -0
  14. core/contract/eralendcontract.py +34 -0
  15. core/contract/eth_scroll_bridge_contract.py +25 -0
  16. core/contract/frog_war_contract.py +48 -0
  17. core/contract/horizondex_quoter.py +14 -0
  18. core/contract/horizondex_router.py +91 -0
  19. core/contract/imagine_contract.py +18 -0
  20. core/contract/izumi.py +63 -0
  21. core/contract/kreatorland_contract.py +21 -0
  22. core/contract/l0_claim.py +254 -0
  23. core/contract/l2_telegraph.py +21 -0
  24. core/contract/layerbank_price.py +18 -0
  25. core/contract/layerbank_token.py +29 -0
  26. core/contract/layerbankcontract.py +59 -0
  27. core/contract/linea_day_2_contract.py +19 -0
  28. core/contract/linea_day_3_contract.py +55 -0
  29. core/contract/linea_ens_names_contract.py +55 -0
  30. core/contract/lineaswaprouter.py +52 -0
  31. core/contract/maverick_multicall.py +52 -0
  32. core/contract/mendi_finance_contract.py +11 -0
  33. core/contract/mendi_token.py +25 -0
  34. core/contract/merkly_minter.py +47 -0
  35. core/contract/micro3_contract.py +18 -0
  36. core/contract/mute_router.py +93 -0
  37. core/contract/nidum_contract.py +44 -0
  38. core/contract/nile_contract.py +60 -0
  39. core/contract/nomis_attest_contract.py +40 -0
  40. core/contract/nomis_contract.py +40 -0
  41. core/contract/octomos.py +31 -0
  42. core/contract/odos.py +104 -0
  43. core/contract/omnisea.py +29 -0
  44. core/contract/orbiter_starknet.py +30 -0
  45. core/contract/pancake_pool.py +19 -0
  46. core/contract/pancake_quoter.py +20 -0
  47. core/contract/pancake_router.py +72 -0
  48. core/contract/rage_claim.py +24 -0
  49. core/contract/reactor_fusion_contract.py +78 -0
  50. core/contract/readon_contract.py +19 -0
  51. core/contract/rubyscore_contract.py +31 -0
  52. core/contract/satoshi_universe_contract.py +29 -0
  53. core/contract/scroll_bridge_contract.py +24 -0
  54. core/contract/scroll_canvas_mint_contract.py +26 -0
  55. core/contract/scroll_oracle.py +11 -0
  56. core/contract/snap_contract.py +16 -0
  57. core/contract/social_scan_contract.py +20 -0
  58. core/contract/stargate_farming.py +37 -0
  59. core/contract/stargate_router.py +84 -0
  60. core/contract/stargate_router_eth.py +41 -0
  61. core/contract/stargate_token_pool.py +46 -0
  62. core/contract/stargate_v2_contract.py +36 -0
  63. core/contract/syncswap_classic_pool.py +15 -0
  64. core/contract/syncswap_classic_pool_factory.py +15 -0
  65. core/contract/syncswap_pool.py +25 -0
  66. core/contract/syncswap_router.py +123 -0
  67. core/contract/tavaera_id.py +18 -0
  68. core/contract/tavaera_mint.py +17 -0
  69. core/contract/townstory_bonus_contract.py +19 -0
  70. core/contract/townstory_contract.py +21 -0
  71. core/contract/velocore_lens.py +44 -0
  72. core/contract/velocore_pool.py +198 -0
  73. core/contract/velocore_router.py +80 -0
  74. core/contract/woofi_swap.py +29 -0
  75. core/contract/xy_finance_contract.py +87 -0
  76. core/contract/yoddlo_contract.py +19 -0
  77. core/contract/yuliverse_contract.py +36 -0
  78. core/contract/zebra_contract.py +68 -0
  79. core/contract/zerolend_contract.py +34 -0
  80. core/contract/zerolend_liq_contract.py +20 -0
  81. core/contract/zkdx_contract.py +40 -0
  82. core/contract/zkdx_data.py +14 -0
  83. core/contract/zks.py +24 -0
  84. core/modules/__init__.py +0 -0
  85. core/modules/ads_import_proxy.py +52 -0
  86. core/modules/airdrop_printer.py +80 -0
  87. core/modules/bank/__init__.py +0 -0
  88. core/modules/bank/aave.py +25 -0
  89. core/modules/bank/bank.py +15 -0
  90. core/modules/bank/bank_module.py +99 -0
  91. core/modules/bank/basilisk.py +25 -0
  92. core/modules/bank/eralend.py +25 -0
  93. core/modules/bank/layerbank.py +116 -0
  94. core/modules/bank/mendi_finance.py +57 -0
  95. core/modules/bank/reactorfusion.py +25 -0
  96. core/modules/bank/zerolend.py +36 -0
  97. core/modules/bridge/__init__.py +0 -0
  98. core/modules/bridge/bridge.py +8 -0
  99. core/modules/bridge/coredao_bridge_sub.py +47 -0
  100. core/modules/bridge/orbiter_sub.py +112 -0
  101. core/modules/bridge/scroll_bridge_sub.py +42 -0
  102. core/modules/bridge/stargate_v2_sub.py +74 -0
  103. core/modules/bridge_module.py +47 -0
  104. core/modules/bungee.py +109 -0
  105. core/modules/cex_sender.py +60 -0
  106. core/modules/cex_subaccount_transfer.py +34 -0
  107. core/modules/cex_withdraw.py +91 -0
  108. core/modules/claimer.py +45 -0
  109. core/modules/claims/__init__.py +0 -0
  110. core/modules/claims/layerzero_claimer.py +64 -0
  111. core/modules/claims/rabby_claimer.py +81 -0
  112. core/modules/concrete_swap.py +97 -0
  113. core/modules/coredao_bridge.py +32 -0
  114. core/modules/coredao_bridge_auto.py +39 -0
  115. core/modules/debank_checker.py +90 -0
  116. core/modules/dmail.py +54 -0
  117. core/modules/erc20_balance.py +42 -0
  118. core/modules/intract/__init__.py +0 -0
  119. core/modules/intract/intract_api.py +212 -0
  120. core/modules/intract/utils.py +81 -0
  121. core/modules/intract_claim.py +104 -0
  122. core/modules/layer_2_20.py +65 -0
  123. core/modules/lending_module.py +134 -0
  124. core/modules/linea_appeal.py +70 -0
  125. core/modules/linea_poh_lxp.py +64 -0
  126. core/modules/liquidity/__init__.py +0 -0
  127. core/modules/liquidity/nile_pool.py +64 -0
  128. core/modules/liquidity/pool.py +16 -0
  129. core/modules/liquidity/syncswap_pool.py +61 -0
  130. core/modules/liquidity/velocore_pool.py +55 -0
  131. core/modules/liquidity/zerolend_liquidity.py +26 -0
  132. core/modules/liquidity_pool.py +60 -0
  133. core/modules/merkly_refuel.py +87 -0
  134. core/modules/modules.py +4 -0
  135. core/modules/nft/__init__.py +0 -0
  136. core/modules/nft/abbys_world.py +22 -0
  137. core/modules/nft/acg_worlds.py +25 -0
  138. core/modules/nft/alienswap_linea.py +22 -0
  139. core/modules/nft/arena_games.py +22 -0
  140. core/modules/nft/asmatch.py +22 -0
  141. core/modules/nft/battlemon.py +25 -0
  142. core/modules/nft/bilinear.py +22 -0
  143. core/modules/nft/bitavatar.py +25 -0
  144. core/modules/nft/culture_satoshi_universe.py +24 -0
  145. core/modules/nft/efrogs.py +26 -0
  146. core/modules/nft/empty_nft.py +22 -0
  147. core/modules/nft/era_domain.py +42 -0
  148. core/modules/nft/frog_war.py +22 -0
  149. core/modules/nft/frog_war_bonus.py +22 -0
  150. core/modules/nft/gamerboom.py +25 -0
  151. core/modules/nft/gamerboom_bonus.py +26 -0
  152. core/modules/nft/imagine.py +32 -0
  153. core/modules/nft/kreatorland_module.py +35 -0
  154. core/modules/nft/l2_telegraph_module.py +22 -0
  155. core/modules/nft/layer3_meta.py +25 -0
  156. core/modules/nft/linea_culture_2_2_linus.py +24 -0
  157. core/modules/nft/linea_culture_2_3_yooldo.py +24 -0
  158. core/modules/nft/linea_culture_2_4_frogwar.py +24 -0
  159. core/modules/nft/linea_culture_2_5_acg.py +25 -0
  160. core/modules/nft/linea_culture_2_6_ascend_the_end.py +25 -0
  161. core/modules/nft/linea_culture_3_1_ascend_the_end.py +25 -0
  162. core/modules/nft/linea_culture_3_2_sending_me.py +25 -0
  163. core/modules/nft/linea_culture_3_3_townstory.py +25 -0
  164. core/modules/nft/linea_culture_3_4_daniele.py +25 -0
  165. core/modules/nft/linea_culture_3_5_demmortal.py +25 -0
  166. core/modules/nft/linea_culture_3_6_foxy.py +25 -0
  167. core/modules/nft/linea_culture_4_1_coop_records.py +60 -0
  168. core/modules/nft/linea_culture_4_2_borja_moskv.py +65 -0
  169. core/modules/nft/linea_culture_4_2_borja_moskv_approve.py +27 -0
  170. core/modules/nft/linea_culture_4_3_fruit.py +66 -0
  171. core/modules/nft/linea_culture_4_4_fruit_crux.py +67 -0
  172. core/modules/nft/linea_culture_4_5_forbidden_fruit.py +67 -0
  173. core/modules/nft/linea_culture_4_6_laurent.py +67 -0
  174. core/modules/nft/linea_culture_day2.py +20 -0
  175. core/modules/nft/linea_culture_day3.py +20 -0
  176. core/modules/nft/linea_ens_names.py +107 -0
  177. core/modules/nft/lucky_cat.py +25 -0
  178. core/modules/nft/merkly_minter_module.py +22 -0
  179. core/modules/nft/micro3.py +23 -0
  180. core/modules/nft/mint_2048.py +28 -0
  181. core/modules/nft/nft_submodule.py +16 -0
  182. core/modules/nft/nidum.py +87 -0
  183. core/modules/nft/nidum_bonus.py +23 -0
  184. core/modules/nft/nomis.py +64 -0
  185. core/modules/nft/nomis_attest.py +66 -0
  186. core/modules/nft/nouns.py +27 -0
  187. core/modules/nft/octomos.py +32 -0
  188. core/modules/nft/omnisea.py +33 -0
  189. core/modules/nft/omnizone.py +25 -0
  190. core/modules/nft/orbiter_claim.py +87 -0
  191. core/modules/nft/readon.py +30 -0
  192. core/modules/nft/rubyscore.py +45 -0
  193. core/modules/nft/sarubol.py +22 -0
  194. core/modules/nft/satoshi_universe.py +22 -0
  195. core/modules/nft/scroll_canvas_attest_year_badge.py +35 -0
  196. core/modules/nft/scroll_canvas_mint.py +51 -0
  197. core/modules/nft/sign.py +32 -0
  198. core/modules/nft/snap.py +25 -0
  199. core/modules/nft/snap_bonus.py +31 -0
  200. core/modules/nft/social_scan.py +22 -0
  201. core/modules/nft/sub_module.py +8 -0
  202. core/modules/nft/tavaera.py +30 -0
  203. core/modules/nft/townstory.py +75 -0
  204. core/modules/nft/townstory_bonus.py +45 -0
  205. core/modules/nft/trusta_reputation.py +48 -0
  206. core/modules/nft/trustaa_poh.py +49 -0
  207. core/modules/nft/uber_poh.py +24 -0
  208. core/modules/nft/wizards_of_linea.py +26 -0
  209. core/modules/nft/yoddlo.py +22 -0
  210. core/modules/nft/yuliverse.py +22 -0
  211. core/modules/nft/zace.py +25 -0
  212. core/modules/nft/zks_domain.py +41 -0
  213. core/modules/nft_minter.py +107 -0
  214. core/modules/orbiter.py +39 -0
  215. core/modules/orbiter_checker.py +26 -0
  216. core/modules/rage.py +54 -0
  217. core/modules/scroll_bridge.py +45 -0
  218. core/modules/sell_all.py +51 -0
  219. core/modules/sleep_module.py +25 -0
  220. core/modules/smart_contract_deployment.py +37 -0
  221. core/modules/stargate/__init__.py +0 -0
  222. core/modules/stargate/auto_bridge.py +91 -0
  223. core/modules/stargate/bridge.py +38 -0
  224. core/modules/stargate/bridge_eth.py +59 -0
  225. core/modules/stargate/bridge_tokens.py +48 -0
  226. core/modules/stargate/classic_bridge.py +34 -0
  227. core/modules/stargate/farming.py +163 -0
  228. core/modules/stargate/l0_data.py +10 -0
  229. core/modules/stargate/pool.py +74 -0
  230. core/modules/stargate/stargate_balance_utils.py +25 -0
  231. core/modules/stargate/stargate_gas_checker.py +68 -0
  232. core/modules/swap/__init__.py +1 -0
  233. core/modules/swap/horizondex.py +38 -0
  234. core/modules/swap/izumi.py +41 -0
  235. core/modules/swap/lineaswap.py +34 -0
  236. core/modules/swap/maverick.py +66 -0
  237. core/modules/swap/mute.py +39 -0
  238. core/modules/swap/odos.py +58 -0
  239. core/modules/swap/one_inch.py +58 -0
  240. core/modules/swap/pancake.py +41 -0
  241. core/modules/swap/swap_facade.py +10 -0
  242. core/modules/swap/syncswap.py +62 -0
  243. core/modules/swap/velocore.py +40 -0
  244. core/modules/swap/woofi.py +38 -0
  245. core/modules/swap/xy_finance.py +43 -0
  246. core/modules/swap/zebra.py +32 -0
  247. core/modules/warm_up.py +98 -0
  248. core/modules/wrapping.py +74 -0
  249. core/modules/zkdx.py +63 -0
  250. data/__init__.py +0 -0
  251. data/config_default.py +52 -0
  252. data/module_config_default.py +209 -0
  253. tests/__init__.py +0 -0
  254. tests/core/__init__.py +0 -0
  255. tests/core/contracts/__init__.py +0 -0
  256. tests/core/contracts/test_horizondex_quoter.py +37 -0
  257. tests/core/contracts/test_uniswap_quoter.py +35 -0
  258. tests/core/contracts/test_velocore_lens.py +67 -0
  259. tests/core/contracts/test_velocore_pool.py +57 -0
  260. tests/core/modules/__init__.py +67 -0
  261. tests/core/modules/swap/__init__.py +0 -0
  262. tests/core/modules/swap/test_horizondex.py +37 -0
  263. tests/core/modules/swap/test_lineaswap.py +28 -0
  264. tests/core/modules/swap/test_maverick.py +31 -0
  265. tests/core/modules/swap/test_mute.py +29 -0
  266. tests/core/modules/swap/test_odos.py +36 -0
  267. tests/core/modules/swap/test_pancake.py +54 -0
  268. tests/core/modules/swap/test_syncswap.py +59 -0
  269. tests/core/modules/swap/test_velocore.py +33 -0
  270. tests/core/modules/swap/test_woofi.py +22 -0
  271. tests/core/modules/test_bungee.py +27 -0
  272. tests/core/modules/test_concrete_swap.py +62 -0
  273. tests/core/modules/test_dmail.py +41 -0
  274. tests/core/modules/test_lending.py +122 -0
  275. tests/core/modules/test_nft.py +32 -0
  276. tests/core/modules/test_nft_minter.py +30 -0
  277. tests/core/modules/test_orbiter.py +28 -0
  278. tests/core/modules/test_sellall.py +27 -0
  279. tests/core/modules/test_send_to_cex.py +27 -0
  280. tests/core/modules/test_stargate_auto_bridge.py +32 -0
  281. tests/core/modules/test_stargate_bridge.py +25 -0
  282. tests/core/modules/test_stargate_farming.py +108 -0
  283. tests/core/modules/test_warmup.py +78 -0
  284. tests/core/modules/test_wrapping.py +68 -0
  285. tests/core/scenario/__init__.py +0 -0
  286. tests/core/scenario/module_0_test_config.py +91 -0
  287. tests/core/test_app.py +19 -0
  288. tests/core/test_config.py +34 -0
  289. web3_wizzard_lib/__init__.py +0 -0
  290. web3_wizzard_lib/core/__init__.py +1 -0
  291. web3_wizzard_lib/core/contract/__init__.py +0 -0
  292. web3_wizzard_lib/core/contract/aavecontract.py +36 -0
  293. web3_wizzard_lib/core/contract/alienswap_contract.py +21 -0
  294. web3_wizzard_lib/core/contract/arena_games_contract.py +16 -0
  295. web3_wizzard_lib/core/contract/basiliskcontract.py +58 -0
  296. web3_wizzard_lib/core/contract/bilinear_contract.py +22 -0
  297. web3_wizzard_lib/core/contract/bungee.py +33 -0
  298. web3_wizzard_lib/core/contract/coredao_contract.py +35 -0
  299. web3_wizzard_lib/core/contract/coredao_from_contract.py +40 -0
  300. web3_wizzard_lib/core/contract/dmail_send_mail.py +18 -0
  301. web3_wizzard_lib/core/contract/empty_nft.py +18 -0
  302. web3_wizzard_lib/core/contract/era_name.py +23 -0
  303. web3_wizzard_lib/core/contract/eralendcontract.py +34 -0
  304. web3_wizzard_lib/core/contract/eth_scroll_bridge_contract.py +25 -0
  305. web3_wizzard_lib/core/contract/frog_war_contract.py +48 -0
  306. web3_wizzard_lib/core/contract/horizondex_quoter.py +14 -0
  307. web3_wizzard_lib/core/contract/horizondex_router.py +91 -0
  308. web3_wizzard_lib/core/contract/imagine_contract.py +18 -0
  309. web3_wizzard_lib/core/contract/izumi.py +63 -0
  310. web3_wizzard_lib/core/contract/kreatorland_contract.py +21 -0
  311. web3_wizzard_lib/core/contract/l0_claim.py +254 -0
  312. web3_wizzard_lib/core/contract/l2_telegraph.py +21 -0
  313. web3_wizzard_lib/core/contract/layerbank_price.py +18 -0
  314. web3_wizzard_lib/core/contract/layerbank_token.py +29 -0
  315. web3_wizzard_lib/core/contract/layerbankcontract.py +59 -0
  316. web3_wizzard_lib/core/contract/linea_day_2_contract.py +19 -0
  317. web3_wizzard_lib/core/contract/linea_day_3_contract.py +55 -0
  318. web3_wizzard_lib/core/contract/linea_ens_names_contract.py +55 -0
  319. web3_wizzard_lib/core/contract/lineaswaprouter.py +52 -0
  320. web3_wizzard_lib/core/contract/maverick_multicall.py +52 -0
  321. web3_wizzard_lib/core/contract/mendi_finance_contract.py +11 -0
  322. web3_wizzard_lib/core/contract/mendi_token.py +25 -0
  323. web3_wizzard_lib/core/contract/merkly_minter.py +47 -0
  324. web3_wizzard_lib/core/contract/micro3_contract.py +18 -0
  325. web3_wizzard_lib/core/contract/mute_router.py +93 -0
  326. web3_wizzard_lib/core/contract/nidum_contract.py +44 -0
  327. web3_wizzard_lib/core/contract/nile_contract.py +60 -0
  328. web3_wizzard_lib/core/contract/nomis_attest_contract.py +40 -0
  329. web3_wizzard_lib/core/contract/nomis_contract.py +40 -0
  330. web3_wizzard_lib/core/contract/octomos.py +31 -0
  331. web3_wizzard_lib/core/contract/odos.py +104 -0
  332. web3_wizzard_lib/core/contract/omnisea.py +29 -0
  333. web3_wizzard_lib/core/contract/orbiter_starknet.py +30 -0
  334. web3_wizzard_lib/core/contract/pancake_pool.py +19 -0
  335. web3_wizzard_lib/core/contract/pancake_quoter.py +20 -0
  336. web3_wizzard_lib/core/contract/pancake_router.py +72 -0
  337. web3_wizzard_lib/core/contract/rage_claim.py +24 -0
  338. web3_wizzard_lib/core/contract/reactor_fusion_contract.py +78 -0
  339. web3_wizzard_lib/core/contract/readon_contract.py +19 -0
  340. web3_wizzard_lib/core/contract/rubyscore_contract.py +31 -0
  341. web3_wizzard_lib/core/contract/satoshi_universe_contract.py +29 -0
  342. web3_wizzard_lib/core/contract/scroll_bridge_contract.py +24 -0
  343. web3_wizzard_lib/core/contract/scroll_canvas_mint_contract.py +26 -0
  344. web3_wizzard_lib/core/contract/scroll_oracle.py +11 -0
  345. web3_wizzard_lib/core/contract/snap_contract.py +16 -0
  346. web3_wizzard_lib/core/contract/social_scan_contract.py +20 -0
  347. web3_wizzard_lib/core/contract/stargate_farming.py +37 -0
  348. web3_wizzard_lib/core/contract/stargate_router.py +84 -0
  349. web3_wizzard_lib/core/contract/stargate_router_eth.py +41 -0
  350. web3_wizzard_lib/core/contract/stargate_token_pool.py +46 -0
  351. web3_wizzard_lib/core/contract/stargate_v2_contract.py +36 -0
  352. web3_wizzard_lib/core/contract/syncswap_classic_pool.py +15 -0
  353. web3_wizzard_lib/core/contract/syncswap_classic_pool_factory.py +15 -0
  354. web3_wizzard_lib/core/contract/syncswap_pool.py +25 -0
  355. web3_wizzard_lib/core/contract/syncswap_router.py +123 -0
  356. web3_wizzard_lib/core/contract/tavaera_id.py +18 -0
  357. web3_wizzard_lib/core/contract/tavaera_mint.py +17 -0
  358. web3_wizzard_lib/core/contract/townstory_bonus_contract.py +19 -0
  359. web3_wizzard_lib/core/contract/townstory_contract.py +21 -0
  360. web3_wizzard_lib/core/contract/velocore_lens.py +44 -0
  361. web3_wizzard_lib/core/contract/velocore_pool.py +198 -0
  362. web3_wizzard_lib/core/contract/velocore_router.py +80 -0
  363. web3_wizzard_lib/core/contract/woofi_swap.py +29 -0
  364. web3_wizzard_lib/core/contract/xy_finance_contract.py +87 -0
  365. web3_wizzard_lib/core/contract/yoddlo_contract.py +19 -0
  366. web3_wizzard_lib/core/contract/yuliverse_contract.py +36 -0
  367. web3_wizzard_lib/core/contract/zebra_contract.py +68 -0
  368. web3_wizzard_lib/core/contract/zerolend_contract.py +34 -0
  369. web3_wizzard_lib/core/contract/zerolend_liq_contract.py +20 -0
  370. web3_wizzard_lib/core/contract/zkdx_contract.py +40 -0
  371. web3_wizzard_lib/core/contract/zkdx_data.py +14 -0
  372. web3_wizzard_lib/core/contract/zks.py +24 -0
  373. web3_wizzard_lib/core/modules/__init__.py +0 -0
  374. web3_wizzard_lib/core/modules/ads_import_proxy.py +52 -0
  375. web3_wizzard_lib/core/modules/airdrop_printer.py +80 -0
  376. web3_wizzard_lib/core/modules/bank/__init__.py +0 -0
  377. web3_wizzard_lib/core/modules/bank/aave.py +25 -0
  378. web3_wizzard_lib/core/modules/bank/bank.py +15 -0
  379. web3_wizzard_lib/core/modules/bank/bank_module.py +99 -0
  380. web3_wizzard_lib/core/modules/bank/basilisk.py +25 -0
  381. web3_wizzard_lib/core/modules/bank/eralend.py +25 -0
  382. web3_wizzard_lib/core/modules/bank/layerbank.py +116 -0
  383. web3_wizzard_lib/core/modules/bank/mendi_finance.py +57 -0
  384. web3_wizzard_lib/core/modules/bank/reactorfusion.py +25 -0
  385. web3_wizzard_lib/core/modules/bank/zerolend.py +36 -0
  386. web3_wizzard_lib/core/modules/bridge/__init__.py +0 -0
  387. web3_wizzard_lib/core/modules/bridge/bridge.py +8 -0
  388. web3_wizzard_lib/core/modules/bridge/coredao_bridge_sub.py +47 -0
  389. web3_wizzard_lib/core/modules/bridge/orbiter_sub.py +112 -0
  390. web3_wizzard_lib/core/modules/bridge/scroll_bridge_sub.py +42 -0
  391. web3_wizzard_lib/core/modules/bridge/stargate_v2_sub.py +74 -0
  392. web3_wizzard_lib/core/modules/bridge_module.py +47 -0
  393. web3_wizzard_lib/core/modules/bungee.py +109 -0
  394. web3_wizzard_lib/core/modules/cex_sender.py +60 -0
  395. web3_wizzard_lib/core/modules/cex_subaccount_transfer.py +34 -0
  396. web3_wizzard_lib/core/modules/cex_withdraw.py +91 -0
  397. web3_wizzard_lib/core/modules/claimer.py +45 -0
  398. web3_wizzard_lib/core/modules/claims/__init__.py +0 -0
  399. web3_wizzard_lib/core/modules/claims/layerzero_claimer.py +64 -0
  400. web3_wizzard_lib/core/modules/claims/rabby_claimer.py +81 -0
  401. web3_wizzard_lib/core/modules/concrete_swap.py +97 -0
  402. web3_wizzard_lib/core/modules/coredao_bridge.py +32 -0
  403. web3_wizzard_lib/core/modules/coredao_bridge_auto.py +39 -0
  404. web3_wizzard_lib/core/modules/debank_checker.py +90 -0
  405. web3_wizzard_lib/core/modules/dmail.py +54 -0
  406. web3_wizzard_lib/core/modules/erc20_balance.py +42 -0
  407. web3_wizzard_lib/core/modules/intract/__init__.py +0 -0
  408. web3_wizzard_lib/core/modules/intract/intract_api.py +212 -0
  409. web3_wizzard_lib/core/modules/intract/utils.py +81 -0
  410. web3_wizzard_lib/core/modules/intract_claim.py +104 -0
  411. web3_wizzard_lib/core/modules/layer_2_20.py +65 -0
  412. web3_wizzard_lib/core/modules/lending_module.py +134 -0
  413. web3_wizzard_lib/core/modules/linea_appeal.py +70 -0
  414. web3_wizzard_lib/core/modules/linea_poh_lxp.py +64 -0
  415. web3_wizzard_lib/core/modules/liquidity/__init__.py +0 -0
  416. web3_wizzard_lib/core/modules/liquidity/nile_pool.py +64 -0
  417. web3_wizzard_lib/core/modules/liquidity/pool.py +16 -0
  418. web3_wizzard_lib/core/modules/liquidity/syncswap_pool.py +61 -0
  419. web3_wizzard_lib/core/modules/liquidity/velocore_pool.py +55 -0
  420. web3_wizzard_lib/core/modules/liquidity/zerolend_liquidity.py +26 -0
  421. web3_wizzard_lib/core/modules/liquidity_pool.py +60 -0
  422. web3_wizzard_lib/core/modules/merkly_refuel.py +87 -0
  423. web3_wizzard_lib/core/modules/modules.py +27 -0
  424. web3_wizzard_lib/core/modules/nft/__init__.py +0 -0
  425. web3_wizzard_lib/core/modules/nft/abbys_world.py +22 -0
  426. web3_wizzard_lib/core/modules/nft/acg_worlds.py +25 -0
  427. web3_wizzard_lib/core/modules/nft/alienswap_linea.py +22 -0
  428. web3_wizzard_lib/core/modules/nft/arena_games.py +22 -0
  429. web3_wizzard_lib/core/modules/nft/asmatch.py +22 -0
  430. web3_wizzard_lib/core/modules/nft/battlemon.py +25 -0
  431. web3_wizzard_lib/core/modules/nft/bilinear.py +22 -0
  432. web3_wizzard_lib/core/modules/nft/bitavatar.py +25 -0
  433. web3_wizzard_lib/core/modules/nft/culture_satoshi_universe.py +24 -0
  434. web3_wizzard_lib/core/modules/nft/efrogs.py +26 -0
  435. web3_wizzard_lib/core/modules/nft/empty_nft.py +22 -0
  436. web3_wizzard_lib/core/modules/nft/era_domain.py +42 -0
  437. web3_wizzard_lib/core/modules/nft/frog_war.py +22 -0
  438. web3_wizzard_lib/core/modules/nft/frog_war_bonus.py +22 -0
  439. web3_wizzard_lib/core/modules/nft/gamerboom.py +25 -0
  440. web3_wizzard_lib/core/modules/nft/gamerboom_bonus.py +26 -0
  441. web3_wizzard_lib/core/modules/nft/imagine.py +32 -0
  442. web3_wizzard_lib/core/modules/nft/kreatorland_module.py +35 -0
  443. web3_wizzard_lib/core/modules/nft/l2_telegraph_module.py +22 -0
  444. web3_wizzard_lib/core/modules/nft/layer3_meta.py +25 -0
  445. web3_wizzard_lib/core/modules/nft/linea_culture_2_2_linus.py +24 -0
  446. web3_wizzard_lib/core/modules/nft/linea_culture_2_3_yooldo.py +24 -0
  447. web3_wizzard_lib/core/modules/nft/linea_culture_2_4_frogwar.py +24 -0
  448. web3_wizzard_lib/core/modules/nft/linea_culture_2_5_acg.py +25 -0
  449. web3_wizzard_lib/core/modules/nft/linea_culture_2_6_ascend_the_end.py +25 -0
  450. web3_wizzard_lib/core/modules/nft/linea_culture_3_1_ascend_the_end.py +25 -0
  451. web3_wizzard_lib/core/modules/nft/linea_culture_3_2_sending_me.py +25 -0
  452. web3_wizzard_lib/core/modules/nft/linea_culture_3_3_townstory.py +25 -0
  453. web3_wizzard_lib/core/modules/nft/linea_culture_3_4_daniele.py +25 -0
  454. web3_wizzard_lib/core/modules/nft/linea_culture_3_5_demmortal.py +25 -0
  455. web3_wizzard_lib/core/modules/nft/linea_culture_3_6_foxy.py +25 -0
  456. web3_wizzard_lib/core/modules/nft/linea_culture_4_1_coop_records.py +60 -0
  457. web3_wizzard_lib/core/modules/nft/linea_culture_4_2_borja_moskv.py +65 -0
  458. web3_wizzard_lib/core/modules/nft/linea_culture_4_2_borja_moskv_approve.py +27 -0
  459. web3_wizzard_lib/core/modules/nft/linea_culture_4_3_fruit.py +66 -0
  460. web3_wizzard_lib/core/modules/nft/linea_culture_4_4_fruit_crux.py +67 -0
  461. web3_wizzard_lib/core/modules/nft/linea_culture_4_5_forbidden_fruit.py +67 -0
  462. web3_wizzard_lib/core/modules/nft/linea_culture_4_6_laurent.py +67 -0
  463. web3_wizzard_lib/core/modules/nft/linea_culture_day2.py +20 -0
  464. web3_wizzard_lib/core/modules/nft/linea_culture_day3.py +20 -0
  465. web3_wizzard_lib/core/modules/nft/linea_ens_names.py +107 -0
  466. web3_wizzard_lib/core/modules/nft/lucky_cat.py +25 -0
  467. web3_wizzard_lib/core/modules/nft/merkly_minter_module.py +22 -0
  468. web3_wizzard_lib/core/modules/nft/micro3.py +23 -0
  469. web3_wizzard_lib/core/modules/nft/mint_2048.py +28 -0
  470. web3_wizzard_lib/core/modules/nft/nft_submodule.py +16 -0
  471. web3_wizzard_lib/core/modules/nft/nidum.py +87 -0
  472. web3_wizzard_lib/core/modules/nft/nidum_bonus.py +23 -0
  473. web3_wizzard_lib/core/modules/nft/nomis.py +64 -0
  474. web3_wizzard_lib/core/modules/nft/nomis_attest.py +66 -0
  475. web3_wizzard_lib/core/modules/nft/nouns.py +27 -0
  476. web3_wizzard_lib/core/modules/nft/octomos.py +32 -0
  477. web3_wizzard_lib/core/modules/nft/omnisea.py +33 -0
  478. web3_wizzard_lib/core/modules/nft/omnizone.py +25 -0
  479. web3_wizzard_lib/core/modules/nft/orbiter_claim.py +87 -0
  480. web3_wizzard_lib/core/modules/nft/readon.py +30 -0
  481. web3_wizzard_lib/core/modules/nft/rubyscore.py +45 -0
  482. web3_wizzard_lib/core/modules/nft/sarubol.py +22 -0
  483. web3_wizzard_lib/core/modules/nft/satoshi_universe.py +22 -0
  484. web3_wizzard_lib/core/modules/nft/scroll_canvas_attest_year_badge.py +35 -0
  485. web3_wizzard_lib/core/modules/nft/scroll_canvas_mint.py +51 -0
  486. web3_wizzard_lib/core/modules/nft/sign.py +32 -0
  487. web3_wizzard_lib/core/modules/nft/snap.py +25 -0
  488. web3_wizzard_lib/core/modules/nft/snap_bonus.py +31 -0
  489. web3_wizzard_lib/core/modules/nft/social_scan.py +22 -0
  490. web3_wizzard_lib/core/modules/nft/sub_module.py +8 -0
  491. web3_wizzard_lib/core/modules/nft/tavaera.py +30 -0
  492. web3_wizzard_lib/core/modules/nft/townstory.py +75 -0
  493. web3_wizzard_lib/core/modules/nft/townstory_bonus.py +45 -0
  494. web3_wizzard_lib/core/modules/nft/trusta_reputation.py +48 -0
  495. web3_wizzard_lib/core/modules/nft/trustaa_poh.py +49 -0
  496. web3_wizzard_lib/core/modules/nft/uber_poh.py +24 -0
  497. web3_wizzard_lib/core/modules/nft/wizards_of_linea.py +26 -0
  498. web3_wizzard_lib/core/modules/nft/yoddlo.py +22 -0
  499. web3_wizzard_lib/core/modules/nft/yuliverse.py +22 -0
  500. web3_wizzard_lib/core/modules/nft/zace.py +25 -0
  501. web3_wizzard_lib/core/modules/nft/zks_domain.py +41 -0
  502. web3_wizzard_lib/core/modules/nft_minter.py +107 -0
  503. web3_wizzard_lib/core/modules/orbiter.py +39 -0
  504. web3_wizzard_lib/core/modules/orbiter_checker.py +26 -0
  505. web3_wizzard_lib/core/modules/rage.py +54 -0
  506. web3_wizzard_lib/core/modules/scroll_bridge.py +45 -0
  507. web3_wizzard_lib/core/modules/sell_all.py +51 -0
  508. web3_wizzard_lib/core/modules/sleep_module.py +25 -0
  509. web3_wizzard_lib/core/modules/smart_contract_deployment.py +37 -0
  510. web3_wizzard_lib/core/modules/stargate/__init__.py +0 -0
  511. web3_wizzard_lib/core/modules/stargate/auto_bridge.py +91 -0
  512. web3_wizzard_lib/core/modules/stargate/bridge.py +38 -0
  513. web3_wizzard_lib/core/modules/stargate/bridge_eth.py +59 -0
  514. web3_wizzard_lib/core/modules/stargate/bridge_tokens.py +48 -0
  515. web3_wizzard_lib/core/modules/stargate/classic_bridge.py +34 -0
  516. web3_wizzard_lib/core/modules/stargate/farming.py +163 -0
  517. web3_wizzard_lib/core/modules/stargate/l0_data.py +10 -0
  518. web3_wizzard_lib/core/modules/stargate/pool.py +74 -0
  519. web3_wizzard_lib/core/modules/stargate/stargate_balance_utils.py +25 -0
  520. web3_wizzard_lib/core/modules/stargate/stargate_gas_checker.py +68 -0
  521. web3_wizzard_lib/core/modules/swap/__init__.py +1 -0
  522. web3_wizzard_lib/core/modules/swap/horizondex.py +38 -0
  523. web3_wizzard_lib/core/modules/swap/izumi.py +41 -0
  524. web3_wizzard_lib/core/modules/swap/lineaswap.py +34 -0
  525. web3_wizzard_lib/core/modules/swap/maverick.py +66 -0
  526. web3_wizzard_lib/core/modules/swap/mute.py +39 -0
  527. web3_wizzard_lib/core/modules/swap/odos.py +58 -0
  528. web3_wizzard_lib/core/modules/swap/one_inch.py +58 -0
  529. web3_wizzard_lib/core/modules/swap/pancake.py +41 -0
  530. web3_wizzard_lib/core/modules/swap/swap_facade.py +10 -0
  531. web3_wizzard_lib/core/modules/swap/swap_list.py +10 -0
  532. web3_wizzard_lib/core/modules/swap/syncswap.py +62 -0
  533. web3_wizzard_lib/core/modules/swap/velocore.py +40 -0
  534. web3_wizzard_lib/core/modules/swap/woofi.py +38 -0
  535. web3_wizzard_lib/core/modules/swap/xy_finance.py +43 -0
  536. web3_wizzard_lib/core/modules/swap/zebra.py +32 -0
  537. web3_wizzard_lib/core/modules/warm_up.py +98 -0
  538. web3_wizzard_lib/core/modules/wrapping.py +74 -0
  539. web3_wizzard_lib/core/modules/zkdx.py +63 -0
  540. web3_wizzard_lib/core/utils/__init__.py +0 -0
  541. web3_wizzard_lib/core/utils/sub_module.py +8 -0
  542. web3_wizzard_lib/launcher.py +39 -0
  543. web3_wizzard_lib-0.0.2.data/data/requirements.txt +1 -0
  544. web3_wizzard_lib-0.0.2.dist-info/METADATA +10 -0
  545. web3_wizzard_lib-0.0.2.dist-info/RECORD +547 -0
  546. web3_wizzard_lib-0.0.2.dist-info/WHEEL +5 -0
  547. web3_wizzard_lib-0.0.2.dist-info/top_level.txt +3 -0
@@ -0,0 +1,36 @@
1
+ from sybil_engine.contract.contract import Contract
2
+ from sybil_engine.contract.transaction_executor import evm_transaction
3
+ from sybil_engine.utils.file_loader import load_abi
4
+
5
+ abi = load_abi("resources/abi/yoddlo.json")
6
+
7
+
8
+ class YuliverseContract(Contract):
9
+ def __init__(self, contract_address, web3):
10
+ super().__init__(contract_address, web3, abi)
11
+
12
+ @evm_transaction
13
+ def purchase(self, account):
14
+ txn_params = self.build_generic_data(account.address, True)
15
+
16
+ function_selector = "0x064a181e"
17
+
18
+ # Example uint256 paramet er
19
+ varg0 = 123456789 # Make sure this is the value you intend to use
20
+
21
+ # Example bytes parameter (signature) - Ensure this is exactly 65 bytes
22
+ varg1 = b'Your65ByteSignatureHere' # This should be the actual signature bytes
23
+
24
+ # Encoding the transaction data
25
+ data = function_selector
26
+ data += varg0.to_bytes(32, byteorder='big').hex()
27
+ data += (32).to_bytes(32, byteorder='big').hex() # Offset for dynamic data
28
+ data += (65).to_bytes(32, byteorder='big').hex() # Length of the signature
29
+ data += varg1.hex()
30
+
31
+ print(data)
32
+
33
+ # Concatenate the selector and the encoded parameters
34
+ txn_params['data'] = data
35
+
36
+ return txn_params
@@ -0,0 +1,68 @@
1
+ import time
2
+
3
+ from sybil_engine.contract.contract import Contract
4
+ from sybil_engine.contract.transaction_executor import evm_transaction
5
+ from sybil_engine.utils.file_loader import load_abi
6
+ from web3 import Web3
7
+
8
+ abi = load_abi("resources/abi/zebra.json")
9
+
10
+
11
+ class ZebraContract(Contract):
12
+ def __init__(self, contract_address, web3):
13
+ super().__init__(contract_address, web3, abi)
14
+
15
+ def get_min_amount_out(self, amount, from_token: str, to_token: str):
16
+ min_amount_out = self.contract.functions.getAmountsOut(
17
+ amount.wei,
18
+ [
19
+ Web3.to_checksum_address(from_token),
20
+ Web3.to_checksum_address(to_token)
21
+ ]
22
+ ).call()
23
+ return min_amount_out[1]
24
+
25
+ @evm_transaction
26
+ def swap_to_token(self, account, amount, from_token: str, to_token: str, min_amount_out: int):
27
+ tx_data = self.build_generic_data(
28
+ account.address,
29
+ False
30
+ )
31
+
32
+ tx_data['value'] = amount.wei
33
+
34
+ deadline = int(time.time()) + 1000000
35
+
36
+ contract_txn = self.contract.functions.swapExactETHForTokens(
37
+ min_amount_out,
38
+ [
39
+ from_token,
40
+ to_token,
41
+ ],
42
+ account.address,
43
+ deadline
44
+ ).build_transaction(tx_data)
45
+
46
+ return contract_txn
47
+
48
+ @evm_transaction
49
+ def swap_to_eth(self, account, amount, from_token: str, to_token: str, min_amount_out: int):
50
+ tx_data = self.build_generic_data(
51
+ account.address,
52
+ False
53
+ )
54
+
55
+ deadline = int(time.time()) + 1000000
56
+
57
+ contract_txn = self.contract.functions.swapExactTokensForETH(
58
+ amount.wei,
59
+ min_amount_out,
60
+ [
61
+ from_token,
62
+ to_token,
63
+ ],
64
+ account.address,
65
+ deadline
66
+ ).build_transaction(tx_data)
67
+
68
+ return contract_txn
@@ -0,0 +1,34 @@
1
+ from sybil_engine.contract.contract import Contract
2
+ from sybil_engine.contract.transaction_executor import evm_transaction
3
+ from sybil_engine.utils.file_loader import load_abi
4
+
5
+ abi = load_abi("resources/abi/zerolend.json")
6
+
7
+
8
+ class ZeroLendContract(Contract):
9
+ def __init__(self, contract_address, web3):
10
+ super().__init__(contract_address, web3, abi)
11
+
12
+ @evm_transaction
13
+ def deposit_eth(self, account, amount):
14
+ sender = account.address
15
+ txn_params = self.build_generic_data(sender, False)
16
+
17
+ txn_params['value'] = amount
18
+
19
+ return self.contract.functions.depositETH(
20
+ '0x2f9bB73a8e98793e26Cb2F6C4ad037BDf1C6B269',
21
+ account.address,
22
+ 0
23
+ ).build_transaction(txn_params)
24
+
25
+ @evm_transaction
26
+ def withdraw_eth(self, account, amount):
27
+ sender = account.address
28
+ txn_params = self.build_generic_data(sender, False)
29
+
30
+ return self.contract.functions.withdrawETH(
31
+ '0x2f9bB73a8e98793e26Cb2F6C4ad037BDf1C6B269',
32
+ int(amount * 0.98),
33
+ account.address
34
+ ).build_transaction(txn_params)
@@ -0,0 +1,20 @@
1
+ from sybil_engine.contract.contract import Contract
2
+ from sybil_engine.contract.transaction_executor import evm_transaction
3
+ from sybil_engine.utils.file_loader import load_abi
4
+
5
+ abi = load_abi("resources/abi/zerolend_liquidity.json")
6
+
7
+ class ZeroLendLiqContract(Contract):
8
+ def __init__(self, contract_address, web3):
9
+ super().__init__(contract_address, web3, abi)
10
+
11
+ @evm_transaction
12
+ def create_lock(self, account, amount):
13
+ sender = account.address
14
+ txn_params = self.build_generic_data(sender, False)
15
+
16
+ return self.contract.functions.createLock(
17
+ int(amount.wei * 0.99),
18
+ 31536000,
19
+ True
20
+ ).build_transaction(txn_params)
@@ -0,0 +1,40 @@
1
+ from sybil_engine.contract.contract import Contract
2
+ from sybil_engine.contract.transaction_executor import evm_transaction
3
+ from sybil_engine.utils.file_loader import load_abi
4
+
5
+ abi = load_abi("resources/abi/woofi.json")
6
+
7
+
8
+ class ZKDXContract(Contract):
9
+ def __init__(self, contract_address, web3):
10
+ super().__init__(contract_address, web3, abi)
11
+ self.zkdx_token = '176211869ca2b568f2a7d4ee941e073a821ee1ff'
12
+
13
+ @evm_transaction
14
+ def swap_to_zkdx(self, account, amount):
15
+ sender = account.address
16
+ txn_params = self.build_generic_data(sender, True)
17
+
18
+ amount_hex = self.decimal_to_hex_padded(amount.wei)
19
+ txn_params[
20
+ 'data'] = f'0x045d0389000000000000000000000000{self.zkdx_token}00000000000000000000000000000000{amount_hex}'
21
+
22
+ return txn_params
23
+
24
+ @evm_transaction
25
+ def swap_from_zkdx(self, account, amount):
26
+ sender = account.address
27
+ txn_params = self.build_generic_data(sender, True)
28
+
29
+ amount_hex = self.decimal_to_hex_padded(amount)
30
+
31
+ # txn_params['gas'] = 60000
32
+
33
+ txn_params[
34
+ 'data'] = f'0x1e9a6950000000000000000000000000{self.zkdx_token}00000000000000000000000000000000{amount_hex}'
35
+
36
+ return txn_params
37
+
38
+ def decimal_to_hex_padded(self, decimal_number):
39
+ hex_number = hex(decimal_number)[2:] # Remove the '0x' prefix
40
+ return hex_number.zfill(32) # Pad with zeros to make the length 32
@@ -0,0 +1,14 @@
1
+ from sybil_engine.contract.contract import Contract
2
+ from sybil_engine.utils.file_loader import load_abi
3
+
4
+ abi = load_abi("resources/abi/zkdx_data.json")
5
+
6
+
7
+ class ZKDXDataContract(Contract):
8
+ def __init__(self, contract_address, web3):
9
+ super().__init__(contract_address, web3, abi)
10
+ # self.zkdx_token = '0x176211869cA2b568f2A7D4EE941E073a821EE1ff'
11
+ self.zkdx_token = '0x2167C4D5FE05A1250588F0B8AA83A599e7732eae'
12
+
13
+ def get_balance(self, account):
14
+ return self.contract.functions.getTokenBalances(account.address, [self.zkdx_token]).call()
core/contract/zks.py ADDED
@@ -0,0 +1,24 @@
1
+ from sybil_engine.contract.contract import Contract
2
+ from sybil_engine.contract.transaction_executor import evm_transaction
3
+ from sybil_engine.utils.file_loader import load_abi
4
+
5
+ abi = load_abi("resources/abi/zks.json")
6
+
7
+
8
+ class ZKS(Contract):
9
+ def __init__(self, contract_address, web3):
10
+ super().__init__(contract_address, web3, abi)
11
+
12
+ @evm_transaction
13
+ def register(self, account, domain_name):
14
+ sender = account.address
15
+
16
+ txn_params = self.build_generic_data(sender, False)
17
+
18
+ contract_txn = self.contract.functions.register(domain_name, sender, 1).build_transaction(txn_params)
19
+ contract_txn['gas'] = self.web3.eth.estimate_gas(contract_txn)
20
+
21
+ return contract_txn
22
+
23
+ def available(self, domain_name):
24
+ return self.contract.functions.available(domain_name).call()
File without changes
@@ -0,0 +1,52 @@
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
+ ]
@@ -0,0 +1,80 @@
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 sybil_engine.utils.statistic_utils import get_statistic_writer, statistic_date_string
6
+ from web3 import Web3
7
+
8
+
9
+ class AirdropPrinter(Module):
10
+ module_name = 'AIRDROP_PRINTER'
11
+ module_config = None
12
+
13
+ claimers = {
14
+ "L0": "0xB09F16F625B363875e39ADa56C03682088471523",
15
+ "SCROLL": "0xE8bE8eB940c0ca3BD19D911CD3bEBc97Bea0ED62",
16
+ "ZKSYNC": "0x66Fd4FC8FA52c9bec2AbA368047A0b27e24ecfe4",
17
+ "ORBITER": "0x13dFDd3a9B39323F228Daf73B62C23F7017E4679",
18
+ "ODOS": "0x4C8f8055D88705f52c9994969DDe61AB574895a3"
19
+ }
20
+
21
+ EMPTY_ADDRESS = '-'
22
+
23
+ chains = ["ARBITRUM", "ZKSYNC", "SCROLL", "BASE"]
24
+
25
+ def execute(self, account, statistic_write='GOOGLE'):
26
+ chain_contracts = {}
27
+ for chain in self.chains:
28
+ chain_instance = get_chain_instance(chain)
29
+
30
+ datas = self.find_interacted_contracts_hash(
31
+ account.address,
32
+ chain_instance['api_scan'],
33
+ chain_instance['api_scan_key']
34
+ )
35
+
36
+ chain_contracts[chain] = datas['result']
37
+
38
+ account_links = {}
39
+
40
+ for project, claim_address in self.claimers.items():
41
+ for chain, datas in chain_contracts.items():
42
+ chain_instance = get_chain_instance(chain)
43
+ for data in datas:
44
+ if data['to'] != "" and claim_address == Web3.to_checksum_address(data['to']):
45
+ account_links[project] = chain_instance['scan'] + "tx/" + data['hash']
46
+
47
+ if account_links.get(project) is None:
48
+ account_links[project] = self.EMPTY_ADDRESS
49
+
50
+ logger.info(account_links)
51
+ statistics_writer = get_statistic_writer()
52
+ job_name = f"airdrops_{statistic_date_string}"
53
+ statistics_writer.init_if_required(job_name, ['#', 'Address'] + list(self.claimers.keys()))
54
+
55
+ value_row = [account.app_id, account.address]
56
+ for project, address in account_links.items():
57
+ value_row.append(address)
58
+
59
+ statistics_writer.write_row(job_name, value_row)
60
+
61
+ def find_interacted_contracts_hash(self, wallet_address, api_url, api_key):
62
+ api_url = f"{api_url}/api?module=account&action=txlist&address={wallet_address}&startblock=0&endblock=latest&sort=asc&apikey={api_key}&offset=200"
63
+
64
+ if "base" in api_url:
65
+ logger.info(f"BASE {api_url}")
66
+ pass
67
+
68
+ response = requests.get(api_url)
69
+ data = response.json()
70
+
71
+ if data['status'] == '1' and data['message'] == 'OK':
72
+ return data
73
+ else:
74
+ logger.info("nothing")
75
+ logger.info(data)
76
+ pass
77
+ return data
78
+
79
+ def log(self):
80
+ return "AIRDROP PRINTER"
File without changes
@@ -0,0 +1,25 @@
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)
@@ -0,0 +1,15 @@
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
@@ -0,0 +1,99 @@
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 import Eralend
13
+ from web3_wizzard_lib.core.modules.bank.layerbank import LayerBank
14
+ from web3_wizzard_lib.core.modules import MendiFinance
15
+ from web3_wizzard_lib.core.modules.bank.aave import Aave
16
+ from web3_wizzard_lib.core.modules 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
+ ]
@@ -0,0 +1,25 @@
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)
@@ -0,0 +1,25 @@
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 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)