web3-wizzard-lib 1.6.11__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 (271) hide show
  1. web3_wizzard_lib-1.6.12.dist-info/METADATA +10 -0
  2. web3_wizzard_lib-1.6.12.dist-info/RECORD +107 -0
  3. web3_wizzard_lib-1.6.12.dist-info/top_level.txt +1 -0
  4. tests/__init__.py +0 -0
  5. web3_wizzard_lib/core/__init__.py +0 -1
  6. web3_wizzard_lib/core/contract/__init__.py +0 -0
  7. web3_wizzard_lib/core/contract/aavecontract.py +0 -36
  8. web3_wizzard_lib/core/contract/alienswap_contract.py +0 -21
  9. web3_wizzard_lib/core/contract/arena_games_contract.py +0 -16
  10. web3_wizzard_lib/core/contract/basiliskcontract.py +0 -58
  11. web3_wizzard_lib/core/contract/bilinear_contract.py +0 -22
  12. web3_wizzard_lib/core/contract/bungee.py +0 -33
  13. web3_wizzard_lib/core/contract/coredao_contract.py +0 -34
  14. web3_wizzard_lib/core/contract/coredao_from_contract.py +0 -40
  15. web3_wizzard_lib/core/contract/dmail_send_mail.py +0 -18
  16. web3_wizzard_lib/core/contract/empty_nft.py +0 -18
  17. web3_wizzard_lib/core/contract/era_name.py +0 -23
  18. web3_wizzard_lib/core/contract/eralendcontract.py +0 -34
  19. web3_wizzard_lib/core/contract/eth_scroll_bridge_contract.py +0 -25
  20. web3_wizzard_lib/core/contract/frog_war_contract.py +0 -48
  21. web3_wizzard_lib/core/contract/gmx_reward_router.py +0 -22
  22. web3_wizzard_lib/core/contract/horizondex_quoter.py +0 -14
  23. web3_wizzard_lib/core/contract/horizondex_router.py +0 -91
  24. web3_wizzard_lib/core/contract/imagine_contract.py +0 -18
  25. web3_wizzard_lib/core/contract/izumi.py +0 -63
  26. web3_wizzard_lib/core/contract/kreatorland_contract.py +0 -21
  27. web3_wizzard_lib/core/contract/l0_claim.py +0 -254
  28. web3_wizzard_lib/core/contract/l2_telegraph.py +0 -21
  29. web3_wizzard_lib/core/contract/layerbank_price.py +0 -18
  30. web3_wizzard_lib/core/contract/layerbank_token.py +0 -29
  31. web3_wizzard_lib/core/contract/layerbankcontract.py +0 -59
  32. web3_wizzard_lib/core/contract/linea_day_2_contract.py +0 -19
  33. web3_wizzard_lib/core/contract/linea_day_3_contract.py +0 -55
  34. web3_wizzard_lib/core/contract/linea_ens_names_contract.py +0 -55
  35. web3_wizzard_lib/core/contract/lineaswaprouter.py +0 -52
  36. web3_wizzard_lib/core/contract/maverick_multicall.py +0 -52
  37. web3_wizzard_lib/core/contract/mendi_finance_contract.py +0 -11
  38. web3_wizzard_lib/core/contract/mendi_token.py +0 -25
  39. web3_wizzard_lib/core/contract/merkly_minter.py +0 -47
  40. web3_wizzard_lib/core/contract/micro3_contract.py +0 -18
  41. web3_wizzard_lib/core/contract/mute_router.py +0 -93
  42. web3_wizzard_lib/core/contract/new_rage_contract.py +0 -31
  43. web3_wizzard_lib/core/contract/nidum_contract.py +0 -44
  44. web3_wizzard_lib/core/contract/nile_contract.py +0 -60
  45. web3_wizzard_lib/core/contract/nomis_attest_contract.py +0 -40
  46. web3_wizzard_lib/core/contract/nomis_contract.py +0 -40
  47. web3_wizzard_lib/core/contract/octomos.py +0 -31
  48. web3_wizzard_lib/core/contract/odos.py +0 -104
  49. web3_wizzard_lib/core/contract/omnisea.py +0 -29
  50. web3_wizzard_lib/core/contract/orbiter_starknet.py +0 -30
  51. web3_wizzard_lib/core/contract/pancake_pool.py +0 -19
  52. web3_wizzard_lib/core/contract/pancake_quoter.py +0 -20
  53. web3_wizzard_lib/core/contract/pancake_router.py +0 -72
  54. web3_wizzard_lib/core/contract/rage_claim.py +0 -24
  55. web3_wizzard_lib/core/contract/reactor_fusion_contract.py +0 -78
  56. web3_wizzard_lib/core/contract/readon_contract.py +0 -19
  57. web3_wizzard_lib/core/contract/rubyscore_contract.py +0 -31
  58. web3_wizzard_lib/core/contract/satoshi_universe_contract.py +0 -29
  59. web3_wizzard_lib/core/contract/scroll_bridge_contract.py +0 -24
  60. web3_wizzard_lib/core/contract/scroll_canvas_mint_contract.py +0 -26
  61. web3_wizzard_lib/core/contract/scroll_oracle.py +0 -11
  62. web3_wizzard_lib/core/contract/snap_contract.py +0 -16
  63. web3_wizzard_lib/core/contract/social_scan_contract.py +0 -20
  64. web3_wizzard_lib/core/contract/stargate_farming.py +0 -37
  65. web3_wizzard_lib/core/contract/stargate_router.py +0 -84
  66. web3_wizzard_lib/core/contract/stargate_router_eth.py +0 -41
  67. web3_wizzard_lib/core/contract/stargate_token_pool.py +0 -45
  68. web3_wizzard_lib/core/contract/stargate_v2_contract.py +0 -36
  69. web3_wizzard_lib/core/contract/syncswap_classic_pool.py +0 -15
  70. web3_wizzard_lib/core/contract/syncswap_classic_pool_factory.py +0 -15
  71. web3_wizzard_lib/core/contract/syncswap_pool.py +0 -25
  72. web3_wizzard_lib/core/contract/syncswap_router.py +0 -123
  73. web3_wizzard_lib/core/contract/tavaera_id.py +0 -18
  74. web3_wizzard_lib/core/contract/tavaera_mint.py +0 -17
  75. web3_wizzard_lib/core/contract/townstory_bonus_contract.py +0 -19
  76. web3_wizzard_lib/core/contract/townstory_contract.py +0 -21
  77. web3_wizzard_lib/core/contract/velocore_lens.py +0 -44
  78. web3_wizzard_lib/core/contract/velocore_pool.py +0 -198
  79. web3_wizzard_lib/core/contract/velocore_router.py +0 -80
  80. web3_wizzard_lib/core/contract/woofi_swap.py +0 -29
  81. web3_wizzard_lib/core/contract/xy_finance_contract.py +0 -87
  82. web3_wizzard_lib/core/contract/yoddlo_contract.py +0 -19
  83. web3_wizzard_lib/core/contract/yuliverse_contract.py +0 -36
  84. web3_wizzard_lib/core/contract/zebra_contract.py +0 -68
  85. web3_wizzard_lib/core/contract/zerolend_contract.py +0 -34
  86. web3_wizzard_lib/core/contract/zerolend_liq_contract.py +0 -20
  87. web3_wizzard_lib/core/contract/zkdx_contract.py +0 -40
  88. web3_wizzard_lib/core/contract/zkdx_data.py +0 -14
  89. web3_wizzard_lib/core/contract/zks.py +0 -24
  90. web3_wizzard_lib/core/modules/__init__.py +0 -0
  91. web3_wizzard_lib/core/modules/ads_import_proxy.py +0 -52
  92. web3_wizzard_lib/core/modules/airdrop_printer.py +0 -81
  93. web3_wizzard_lib/core/modules/bank/__init__.py +0 -0
  94. web3_wizzard_lib/core/modules/bank/aave.py +0 -25
  95. web3_wizzard_lib/core/modules/bank/bank.py +0 -15
  96. web3_wizzard_lib/core/modules/bank/basilisk.py +0 -25
  97. web3_wizzard_lib/core/modules/bank/eralend.py +0 -25
  98. web3_wizzard_lib/core/modules/bank/layerbank.py +0 -116
  99. web3_wizzard_lib/core/modules/bank/mendi_finance.py +0 -57
  100. web3_wizzard_lib/core/modules/bank/reactorfusion.py +0 -25
  101. web3_wizzard_lib/core/modules/bank/zerolend.py +0 -36
  102. web3_wizzard_lib/core/modules/bank_module.py +0 -99
  103. web3_wizzard_lib/core/modules/bridge/__init__.py +0 -0
  104. web3_wizzard_lib/core/modules/bridge/bridge.py +0 -8
  105. web3_wizzard_lib/core/modules/bridge/coredao_bridge_sub.py +0 -47
  106. web3_wizzard_lib/core/modules/bridge/orbiter_sub.py +0 -112
  107. web3_wizzard_lib/core/modules/bridge/scroll_bridge_sub.py +0 -42
  108. web3_wizzard_lib/core/modules/bridge/stargate_v2_sub.py +0 -74
  109. web3_wizzard_lib/core/modules/bridge_module.py +0 -47
  110. web3_wizzard_lib/core/modules/bungee.py +0 -109
  111. web3_wizzard_lib/core/modules/cex_sender.py +0 -60
  112. web3_wizzard_lib/core/modules/cex_subaccount_transfer.py +0 -34
  113. web3_wizzard_lib/core/modules/cex_withdraw.py +0 -91
  114. web3_wizzard_lib/core/modules/claimer.py +0 -45
  115. web3_wizzard_lib/core/modules/claims/__init__.py +0 -0
  116. web3_wizzard_lib/core/modules/claims/layerzero_claimer.py +0 -64
  117. web3_wizzard_lib/core/modules/claims/rabby_claimer.py +0 -81
  118. web3_wizzard_lib/core/modules/concrete_swap.py +0 -108
  119. web3_wizzard_lib/core/modules/coredao_bridge.py +0 -32
  120. web3_wizzard_lib/core/modules/coredao_bridge_auto.py +0 -39
  121. web3_wizzard_lib/core/modules/debank_checker.py +0 -78
  122. web3_wizzard_lib/core/modules/dmail.py +0 -54
  123. web3_wizzard_lib/core/modules/erc20_balance.py +0 -42
  124. web3_wizzard_lib/core/modules/gmx_reward.py +0 -25
  125. web3_wizzard_lib/core/modules/intract/__init__.py +0 -0
  126. web3_wizzard_lib/core/modules/intract/intract_api.py +0 -212
  127. web3_wizzard_lib/core/modules/intract/utils.py +0 -81
  128. web3_wizzard_lib/core/modules/intract_claim.py +0 -101
  129. web3_wizzard_lib/core/modules/layer_2_20.py +0 -65
  130. web3_wizzard_lib/core/modules/lending_module.py +0 -134
  131. web3_wizzard_lib/core/modules/linea_appeal.py +0 -98
  132. web3_wizzard_lib/core/modules/linea_poh_lxp.py +0 -65
  133. web3_wizzard_lib/core/modules/liquidity/__init__.py +0 -0
  134. web3_wizzard_lib/core/modules/liquidity/nile_pool.py +0 -64
  135. web3_wizzard_lib/core/modules/liquidity/pool.py +0 -16
  136. web3_wizzard_lib/core/modules/liquidity/syncswap_pool.py +0 -61
  137. web3_wizzard_lib/core/modules/liquidity/velocore_pool.py +0 -55
  138. web3_wizzard_lib/core/modules/liquidity/zerolend_liquidity.py +0 -26
  139. web3_wizzard_lib/core/modules/liquidity_pool.py +0 -60
  140. web3_wizzard_lib/core/modules/merkly_refuel.py +0 -87
  141. web3_wizzard_lib/core/modules/new_rage_withdraw.py +0 -41
  142. web3_wizzard_lib/core/modules/nft/__init__.py +0 -0
  143. web3_wizzard_lib/core/modules/nft/abbys_world.py +0 -22
  144. web3_wizzard_lib/core/modules/nft/acg_worlds.py +0 -25
  145. web3_wizzard_lib/core/modules/nft/alienswap_linea.py +0 -22
  146. web3_wizzard_lib/core/modules/nft/arena_games.py +0 -22
  147. web3_wizzard_lib/core/modules/nft/asmatch.py +0 -22
  148. web3_wizzard_lib/core/modules/nft/battlemon.py +0 -25
  149. web3_wizzard_lib/core/modules/nft/bilinear.py +0 -22
  150. web3_wizzard_lib/core/modules/nft/bitavatar.py +0 -25
  151. web3_wizzard_lib/core/modules/nft/culture_satoshi_universe.py +0 -24
  152. web3_wizzard_lib/core/modules/nft/efrogs.py +0 -26
  153. web3_wizzard_lib/core/modules/nft/empty_nft.py +0 -22
  154. web3_wizzard_lib/core/modules/nft/era_domain.py +0 -42
  155. web3_wizzard_lib/core/modules/nft/frog_war.py +0 -22
  156. web3_wizzard_lib/core/modules/nft/frog_war_bonus.py +0 -22
  157. web3_wizzard_lib/core/modules/nft/gamerboom.py +0 -25
  158. web3_wizzard_lib/core/modules/nft/gamerboom_bonus.py +0 -26
  159. web3_wizzard_lib/core/modules/nft/imagine.py +0 -32
  160. web3_wizzard_lib/core/modules/nft/kreatorland_module.py +0 -35
  161. web3_wizzard_lib/core/modules/nft/l2_telegraph_module.py +0 -22
  162. web3_wizzard_lib/core/modules/nft/layer3_meta.py +0 -25
  163. web3_wizzard_lib/core/modules/nft/linea_culture_2_2_linus.py +0 -24
  164. web3_wizzard_lib/core/modules/nft/linea_culture_2_3_yooldo.py +0 -24
  165. web3_wizzard_lib/core/modules/nft/linea_culture_2_4_frogwar.py +0 -24
  166. web3_wizzard_lib/core/modules/nft/linea_culture_2_5_acg.py +0 -25
  167. web3_wizzard_lib/core/modules/nft/linea_culture_2_6_ascend_the_end.py +0 -25
  168. web3_wizzard_lib/core/modules/nft/linea_culture_3_1_ascend_the_end.py +0 -25
  169. web3_wizzard_lib/core/modules/nft/linea_culture_3_2_sending_me.py +0 -25
  170. web3_wizzard_lib/core/modules/nft/linea_culture_3_3_townstory.py +0 -25
  171. web3_wizzard_lib/core/modules/nft/linea_culture_3_4_daniele.py +0 -25
  172. web3_wizzard_lib/core/modules/nft/linea_culture_3_5_demmortal.py +0 -25
  173. web3_wizzard_lib/core/modules/nft/linea_culture_3_6_foxy.py +0 -25
  174. web3_wizzard_lib/core/modules/nft/linea_culture_4_1_coop_records.py +0 -60
  175. web3_wizzard_lib/core/modules/nft/linea_culture_4_2_borja_moskv.py +0 -65
  176. web3_wizzard_lib/core/modules/nft/linea_culture_4_2_borja_moskv_approve.py +0 -27
  177. web3_wizzard_lib/core/modules/nft/linea_culture_4_3_fruit.py +0 -66
  178. web3_wizzard_lib/core/modules/nft/linea_culture_4_4_fruit_crux.py +0 -67
  179. web3_wizzard_lib/core/modules/nft/linea_culture_4_5_forbidden_fruit.py +0 -67
  180. web3_wizzard_lib/core/modules/nft/linea_culture_4_6_laurent.py +0 -67
  181. web3_wizzard_lib/core/modules/nft/linea_culture_day2.py +0 -20
  182. web3_wizzard_lib/core/modules/nft/linea_culture_day3.py +0 -20
  183. web3_wizzard_lib/core/modules/nft/linea_ens_names.py +0 -107
  184. web3_wizzard_lib/core/modules/nft/lucky_cat.py +0 -25
  185. web3_wizzard_lib/core/modules/nft/merkly_minter_module.py +0 -22
  186. web3_wizzard_lib/core/modules/nft/micro3.py +0 -23
  187. web3_wizzard_lib/core/modules/nft/mint_2048.py +0 -28
  188. web3_wizzard_lib/core/modules/nft/nft_submodule.py +0 -16
  189. web3_wizzard_lib/core/modules/nft/nidum.py +0 -87
  190. web3_wizzard_lib/core/modules/nft/nidum_bonus.py +0 -23
  191. web3_wizzard_lib/core/modules/nft/nomis.py +0 -64
  192. web3_wizzard_lib/core/modules/nft/nomis_attest.py +0 -66
  193. web3_wizzard_lib/core/modules/nft/nouns.py +0 -27
  194. web3_wizzard_lib/core/modules/nft/octomos.py +0 -32
  195. web3_wizzard_lib/core/modules/nft/omnisea.py +0 -33
  196. web3_wizzard_lib/core/modules/nft/omnizone.py +0 -25
  197. web3_wizzard_lib/core/modules/nft/orbiter_claim.py +0 -87
  198. web3_wizzard_lib/core/modules/nft/readon.py +0 -30
  199. web3_wizzard_lib/core/modules/nft/rubyscore.py +0 -45
  200. web3_wizzard_lib/core/modules/nft/sarubol.py +0 -22
  201. web3_wizzard_lib/core/modules/nft/satoshi_universe.py +0 -22
  202. web3_wizzard_lib/core/modules/nft/scroll_canvas_attest_year_badge.py +0 -35
  203. web3_wizzard_lib/core/modules/nft/scroll_canvas_mint.py +0 -51
  204. web3_wizzard_lib/core/modules/nft/sign.py +0 -32
  205. web3_wizzard_lib/core/modules/nft/snap.py +0 -25
  206. web3_wizzard_lib/core/modules/nft/snap_bonus.py +0 -31
  207. web3_wizzard_lib/core/modules/nft/social_scan.py +0 -22
  208. web3_wizzard_lib/core/modules/nft/tavaera.py +0 -30
  209. web3_wizzard_lib/core/modules/nft/townstory.py +0 -75
  210. web3_wizzard_lib/core/modules/nft/townstory_bonus.py +0 -45
  211. web3_wizzard_lib/core/modules/nft/trusta_reputation.py +0 -48
  212. web3_wizzard_lib/core/modules/nft/trustaa_poh.py +0 -49
  213. web3_wizzard_lib/core/modules/nft/uber_poh.py +0 -24
  214. web3_wizzard_lib/core/modules/nft/wizards_of_linea.py +0 -26
  215. web3_wizzard_lib/core/modules/nft/yoddlo.py +0 -22
  216. web3_wizzard_lib/core/modules/nft/yuliverse.py +0 -22
  217. web3_wizzard_lib/core/modules/nft/zace.py +0 -25
  218. web3_wizzard_lib/core/modules/nft/zks_domain.py +0 -41
  219. web3_wizzard_lib/core/modules/nft_minter.py +0 -107
  220. web3_wizzard_lib/core/modules/orbiter.py +0 -39
  221. web3_wizzard_lib/core/modules/orbiter_checker.py +0 -26
  222. web3_wizzard_lib/core/modules/rage.py +0 -54
  223. web3_wizzard_lib/core/modules/scroll_bridge.py +0 -45
  224. web3_wizzard_lib/core/modules/sell_all.py +0 -51
  225. web3_wizzard_lib/core/modules/sleep_module.py +0 -25
  226. web3_wizzard_lib/core/modules/smart_contract_deployment.py +0 -37
  227. web3_wizzard_lib/core/modules/stargate/__init__.py +0 -0
  228. web3_wizzard_lib/core/modules/stargate/auto_bridge.py +0 -91
  229. web3_wizzard_lib/core/modules/stargate/bridge.py +0 -38
  230. web3_wizzard_lib/core/modules/stargate/bridge_eth.py +0 -59
  231. web3_wizzard_lib/core/modules/stargate/bridge_tokens.py +0 -48
  232. web3_wizzard_lib/core/modules/stargate/classic_bridge.py +0 -34
  233. web3_wizzard_lib/core/modules/stargate/farming.py +0 -163
  234. web3_wizzard_lib/core/modules/stargate/l0_data.py +0 -10
  235. web3_wizzard_lib/core/modules/stargate/pool.py +0 -74
  236. web3_wizzard_lib/core/modules/stargate/stargate_balance_utils.py +0 -25
  237. web3_wizzard_lib/core/modules/stargate/stargate_gas_checker.py +0 -68
  238. web3_wizzard_lib/core/modules/swap/__init__.py +0 -1
  239. web3_wizzard_lib/core/modules/swap/horizondex.py +0 -38
  240. web3_wizzard_lib/core/modules/swap/izumi.py +0 -41
  241. web3_wizzard_lib/core/modules/swap/lineaswap.py +0 -34
  242. web3_wizzard_lib/core/modules/swap/maverick.py +0 -66
  243. web3_wizzard_lib/core/modules/swap/mute.py +0 -39
  244. web3_wizzard_lib/core/modules/swap/odos.py +0 -58
  245. web3_wizzard_lib/core/modules/swap/one_inch.py +0 -58
  246. web3_wizzard_lib/core/modules/swap/pancake.py +0 -41
  247. web3_wizzard_lib/core/modules/swap/swap_list.py +0 -11
  248. web3_wizzard_lib/core/modules/swap/syncswap.py +0 -62
  249. web3_wizzard_lib/core/modules/swap/velocore.py +0 -40
  250. web3_wizzard_lib/core/modules/swap/woofi.py +0 -38
  251. web3_wizzard_lib/core/modules/swap/xy_finance.py +0 -43
  252. web3_wizzard_lib/core/modules/swap/zebra.py +0 -32
  253. web3_wizzard_lib/core/modules/warm_up.py +0 -98
  254. web3_wizzard_lib/core/modules/wrapping.py +0 -74
  255. web3_wizzard_lib/core/modules/zkdx.py +0 -63
  256. web3_wizzard_lib/core/utils/__init__.py +0 -0
  257. web3_wizzard_lib/core/utils/ai_utils.py +0 -45
  258. web3_wizzard_lib/core/utils/benchmark_utils.py +0 -12
  259. web3_wizzard_lib/core/utils/module_memory.py +0 -28
  260. web3_wizzard_lib/core/utils/statistic_utils.py +0 -150
  261. web3_wizzard_lib/core/utils/sub_module.py +0 -8
  262. web3_wizzard_lib/data/__init__.py +0 -0
  263. web3_wizzard_lib/data/config_default.py +0 -52
  264. web3_wizzard_lib/data/module_config_default.py +0 -209
  265. web3_wizzard_lib/utils/__init__.py +0 -0
  266. web3_wizzard_lib/utils/debank_utils.py +0 -19
  267. web3_wizzard_lib-1.6.11.data/data/requirements.txt +0 -1
  268. web3_wizzard_lib-1.6.11.dist-info/METADATA +0 -15
  269. web3_wizzard_lib-1.6.11.dist-info/RECORD +0 -371
  270. web3_wizzard_lib-1.6.11.dist-info/top_level.txt +0 -3
  271. {web3_wizzard_lib-1.6.11.dist-info → web3_wizzard_lib-1.6.12.dist-info}/WHEEL +0 -0
@@ -1,104 +0,0 @@
1
- import requests
2
- from sybil_engine.config.app_config import get_network
3
-
4
- from sybil_engine.contract.contract import Contract
5
- from sybil_engine.contract.transaction_executor import evm_transaction
6
- from sybil_engine.utils.file_loader import load_abi
7
- from sybil_engine.utils.utils import SwapException
8
-
9
- abi = load_abi("resources/abi/lineaswap_router.json")
10
-
11
- referral = {
12
- 324: 387663447,
13
- 260: 387663447,
14
- 8453: 1030612943,
15
- 18453: 1030612943,
16
- 59144: 268273819
17
- }
18
-
19
- chain_map_id = {
20
- 'BASE': 8453,
21
- 'ZKSYNC': 324
22
- }
23
-
24
-
25
- class Odos(Contract):
26
- def __init__(self, contract_address, web3):
27
- super().__init__(contract_address, web3, abi)
28
-
29
- def quote(self, account, from_token: str, to_token: str, amount: int, slippage: float, chain: str):
30
- chain_id = self.get_chain_id(chain)
31
-
32
- url = "https://api.odos.xyz/sor/quote/v2"
33
-
34
- data = {
35
- "chainId": chain_id,
36
- "inputTokens": [
37
- {
38
- "tokenAddress": from_token,
39
- "amount": f"{amount}"
40
- }
41
- ],
42
- "outputTokens": [
43
- {
44
- "tokenAddress": to_token,
45
- "proportion": 1
46
- }
47
- ],
48
- "slippageLimitPercent": slippage,
49
- "userAddr": account.address,
50
- "referralCode": referral[self.web3.eth.chain_id] if True is True else 0,
51
- "compact": True
52
- }
53
-
54
- response = self.proxy_request(account, data, url)
55
-
56
- if response.status_code == 200:
57
- return response.json()
58
- else:
59
- raise SwapException(f"[{account.app_id}][{account.address}] Bad Odos request")
60
-
61
- def assemble(self, account, path_id):
62
- url = "https://api.odos.xyz/sor/assemble"
63
-
64
- data = {
65
- "userAddr": account.address,
66
- "pathId": path_id,
67
- "simulate": False,
68
- }
69
-
70
- response = self.proxy_request(account, data, url)
71
-
72
- if response.status_code == 200:
73
- return response.json()
74
- else:
75
- raise SwapException(f"[{account.app_id}][{account.address}] Bad Odos request")
76
-
77
- def proxy_request(self, account, data, url):
78
- proxies = {}
79
- proxies.update(
80
- {"http": account.proxy}
81
- )
82
- response = requests.post(
83
- url=url,
84
- headers={"Content-Type": "application/json"},
85
- json=data,
86
- proxies=proxies
87
- )
88
- return response
89
-
90
- @evm_transaction
91
- def swap(self, account, transaction_data):
92
- transaction = transaction_data["transaction"]
93
-
94
- transaction["nonce"] = self.web3.eth.get_transaction_count(transaction['from'])
95
- transaction["chainId"] = self.web3.eth.chain_id
96
- transaction["value"] = int(transaction["value"])
97
-
98
- return transaction
99
-
100
- def get_chain_id(self, chain):
101
- if get_network() == 'MAIN':
102
- return self.web3.eth.chain_id
103
- else:
104
- return chain_map_id[chain]
@@ -1,29 +0,0 @@
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
-
7
- abi = load_abi("resources/abi/omnisea.json")
8
-
9
-
10
- class OmniSea(Contract):
11
- def __init__(self, contract_address, web3):
12
- super().__init__(contract_address, web3, abi)
13
-
14
- @evm_transaction
15
- def create(self, account, title, symbol):
16
- txn_params = self.build_generic_data(account.address, False)
17
-
18
- contract_txn = self.contract.functions.create([
19
- title,
20
- symbol,
21
- "",
22
- "",
23
- 0,
24
- True,
25
- 0,
26
- int(time.time()) + 1000000]
27
- ).build_transaction(txn_params)
28
-
29
- return contract_txn
@@ -1,30 +0,0 @@
1
- from sybil_engine.contract.contract import Contract
2
- from sybil_engine.contract.transaction_executor import evm_starknet_transaction
3
- from sybil_engine.utils.file_loader import load_abi
4
-
5
- abi = load_abi("resources/abi/orbiter_starknet.json")
6
-
7
-
8
- class OrbiterStarknet(Contract):
9
- def __init__(self, contract_address, web3):
10
- super().__init__(contract_address, web3, abi)
11
-
12
- @evm_starknet_transaction
13
- def bridge(self, account, amount):
14
- txn_params = self.build_generic_data(account.address, False)
15
-
16
- txn_params['value'] = amount.wei
17
-
18
- if account.starknet_address[:3] == '0x0':
19
- starknet_wallet = f'030{account.starknet_address[3:]}'
20
- else:
21
- starknet_wallet = f'030{account.starknet_address[2:]}'
22
-
23
- starknet_wallet = bytes.fromhex(starknet_wallet)
24
-
25
- contract_txn = self.contract.functions.transfer(
26
- '0x80C67432656d59144cEFf962E8fAF8926599bCF8',
27
- starknet_wallet
28
- ).build_transaction(txn_params)
29
-
30
- return contract_txn
@@ -1,19 +0,0 @@
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/pancake/factory.json")
5
-
6
-
7
- class PancakePool(Contract):
8
- def __init__(self, contract_address, web3):
9
- super().__init__(contract_address, web3, abi)
10
-
11
- def get_pool(self, from_token: str, to_token: str):
12
-
13
- pool = self.contract.functions.getPool(
14
- from_token,
15
- to_token,
16
- 500
17
- ).call()
18
-
19
- return pool
@@ -1,20 +0,0 @@
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/pancake/quoter.json")
5
-
6
-
7
- class PancakeQuoter(Contract):
8
- def __init__(self, contract_address, web3):
9
- super().__init__(contract_address, web3, abi)
10
-
11
- def quote_exact_input_single(self, from_token: str, to_token: str, amount: int):
12
- return self.contract.functions.quoteExactInputSingle(
13
- (
14
- from_token,
15
- to_token,
16
- amount,
17
- 500,
18
- 0
19
- )
20
- ).call()[0]
@@ -1,72 +0,0 @@
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
-
7
- from web3_wizzard_lib.core.modules.stargate.stargate_balance_utils import NativeBalance, Erc20Balance
8
-
9
- abi = load_abi("resources/abi/pancake/router.json")
10
-
11
-
12
- class PancakeRouter(Contract):
13
- def __init__(self, contract_address, web3):
14
- super().__init__(contract_address, web3, abi)
15
-
16
- @evm_transaction
17
- def swap_to_token(self, account, amount: NativeBalance, from_token: str, to_token: str, min_amount_out: int):
18
- txn_params = self.build_generic_data(account.address, False)
19
-
20
- txn_params['value'] = amount.wei
21
-
22
- deadline = int(time.time()) + 1000000
23
-
24
- transaction_data = self.contract.encode_abi(
25
- "exactInputSingle",
26
- args=[(
27
- from_token,
28
- to_token,
29
- 500,
30
- account.address,
31
- amount.wei,
32
- min_amount_out,
33
- 0
34
- )]
35
- )
36
-
37
- return self.contract.functions.multicall(deadline, [transaction_data]).build_transaction(txn_params)
38
-
39
- @evm_transaction
40
- def swap_to_eth(self, account, amount: Erc20Balance, from_token: str, to_token: str, min_amount_out: int):
41
- txn_params = self.build_generic_data(account.address, False)
42
-
43
- deadline = int(time.time()) + 1000000
44
-
45
- transaction_data = self.contract.encode_abi(
46
- fn_name="exactInputSingle",
47
- args=[(
48
- from_token,
49
- to_token,
50
- 500,
51
- "0x0000000000000000000000000000000000000002",
52
- amount.wei,
53
- min_amount_out,
54
- 0
55
- )]
56
- )
57
-
58
- unwrap_data = self.contract.encode_abi(
59
- fn_name="unwrapWETH9",
60
- args=[
61
- min_amount_out,
62
- account.address
63
- ]
64
-
65
- )
66
-
67
- contract_txn = self.contract.functions.multicall(
68
- deadline,
69
- [transaction_data, unwrap_data]
70
- ).build_transaction(txn_params)
71
-
72
- return contract_txn
@@ -1,24 +0,0 @@
1
- from sybil_engine.contract.contract import Contract
2
- from sybil_engine.contract.transaction_executor import evm_transaction
3
-
4
- from sybil_engine.utils.file_loader import load_abi
5
-
6
- abi = load_abi("resources/abi/rage_claim.json")
7
-
8
-
9
- class RageClaimer(Contract):
10
- def __init__(self, contract_address, web3):
11
- super().__init__(contract_address, web3, abi)
12
-
13
- @evm_transaction
14
- def claim(self, account, amount, index, merkle_proof):
15
- txn_params = self.build_generic_data(account.address, False)
16
-
17
- contract_txn = self.contract.functions.claim(
18
- index,
19
- account.address,
20
- amount,
21
- merkle_proof
22
- ).build_transaction(txn_params)
23
-
24
- return contract_txn
@@ -1,78 +0,0 @@
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/reactor_fusion.json")
6
-
7
-
8
- class ReactorFusionContract(Contract):
9
-
10
- def __init__(self, contract_address, web3):
11
- super().__init__(contract_address, web3, abi)
12
-
13
- def get_deposit_amount(self, account):
14
- return self.contract.functions.balanceOf(account.address).call()
15
-
16
- @evm_transaction
17
- def mint(self, account, amount_wei: int):
18
- tx_data = self.build_generic_data(account.address)
19
-
20
- tx_data['data'] = self.contract.encode_abi('mint', args=())
21
- tx_data['gas'] = int(self.web3.eth.estimate_gas(tx_data))
22
- tx_data['value'] = amount_wei
23
-
24
- return tx_data
25
-
26
- @evm_transaction
27
- def redeem_underlying(self, account, amount):
28
- tx_data = self.build_generic_data(account.address, False)
29
-
30
- return self.contract.functions.redeem(amount).build_transaction(tx_data)
31
-
32
- # if amount > 0:
33
- # logger.info(
34
- # f"[{self.account_id}][{self.address}] Make withdraw from ReactorFusion | " +
35
- # f"{Web3.from_wei(amount, 'ether')} ETH"
36
- # )
37
- #
38
- #
39
- # else:
40
- # logger.error(f"[{self.account_id}][{self.address}] Deposit not found")
41
-
42
- # @retry
43
- # @check_gas
44
- # async def enable_collateral(self):
45
- # logger.info(f"[{self.account_id}][{self.address}] Enable collateral on ReactorFusion")
46
- #
47
- # contract = self.get_contract(REACTORFUSION_CONTRACTS["collateral"], REACTORFUSION_ABI)
48
- #
49
- # tx_data = await self.get_tx_data()
50
- #
51
- # transaction = await contract.functions.enterMarkets(
52
- # [Web3.to_checksum_address(REACTORFUSION_CONTRACTS["landing"])]
53
- # ).build_transaction(tx_data)
54
- #
55
- # signed_txn = await self.sign(transaction)
56
- #
57
- # txn_hash = await self.send_raw_transaction(signed_txn)
58
- #
59
- # await self.wait_until_tx_finished(txn_hash.hex())
60
- #
61
- # @retry
62
- # @check_gas
63
- # async def disable_collateral(self):
64
- # logger.info(f"[{self.account_id}][{self.address}] Disable collateral on ReactorFusion")
65
- #
66
- # contract = self.get_contract(REACTORFUSION_CONTRACTS["collateral"], REACTORFUSION_ABI)
67
- #
68
- # tx_data = await self.get_tx_data()
69
- #
70
- # transaction = await contract.functions.exitMarket(
71
- # Web3.to_checksum_address(REACTORFUSION_CONTRACTS["landing"])
72
- # ).build_transaction(tx_data)
73
- #
74
- # signed_txn = await self.sign(transaction)
75
- #
76
- # txn_hash = await self.send_raw_transaction(signed_txn)
77
- #
78
- # await self.wait_until_tx_finished(txn_hash.hex())
@@ -1,19 +0,0 @@
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/abbysworld.json")
6
-
7
-
8
- class ReadOnContract(Contract):
9
- def __init__(self, contract_address, web3):
10
- super().__init__(contract_address, web3, abi)
11
-
12
- @evm_transaction
13
- def curate(self, account, contentUrl):
14
- txn_params = self.build_generic_data(account.address, True)
15
-
16
- txn_params['data'] = f'0x7859bb8d{contentUrl}'
17
- txn_params['gasPrice'] = self.web3.eth.gas_price
18
-
19
- return txn_params
@@ -1,31 +0,0 @@
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
- from web3 import Web3
5
-
6
- abi = load_abi("resources/abi/rubyscore.json")
7
-
8
-
9
- class RubyscoreContract(Contract):
10
- def __init__(self, contract_address, web3):
11
- super().__init__(contract_address, web3, abi)
12
-
13
- @evm_transaction
14
- def attest_rubyscore(self, account, signature, schemaId, expirationDate):
15
- txn_params = self.build_generic_data(account.address, False)
16
-
17
- txn_params['value'] = 500000000000000
18
-
19
- signature_bytes = Web3.to_bytes(hexstr=signature[2:])
20
-
21
- contract_txn = self.contract.functions.attestRubyscore(
22
- (
23
- Web3.to_bytes(hexstr=schemaId[2:]),
24
- expirationDate,
25
- Web3.to_bytes(hexstr=f'000000000000000000000000{account.address[2:]}'),
26
- Web3.to_bytes(hexstr='0000000000000000000000000000000000000000000000000000000000000000'),
27
- ),
28
- [signature_bytes] # Encapsulate in a list to match bytes[]
29
- ).build_transaction(txn_params)
30
-
31
- return contract_txn
@@ -1,29 +0,0 @@
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/satoshi_universe.json")
6
-
7
-
8
- class SatoshiUniverseContract(Contract):
9
- def __init__(self, contract_address, web3):
10
- super().__init__(contract_address, web3, abi)
11
-
12
- @evm_transaction
13
- def mint(self, account, amount):
14
- txn_params = self.build_generic_data(account.address, False)
15
-
16
- txn_params['value'] = 150000000000000
17
-
18
- contract_txn = self.contract.functions.mint(
19
- (
20
- account.address,
21
- '0xFf9B136F19D1Ad1f1716e2Ebe98b4A773f263275',
22
- amount,
23
- [],
24
- 1,
25
- '0x'
26
- )
27
- ).build_transaction(txn_params)
28
-
29
- return contract_txn
@@ -1,24 +0,0 @@
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/scroll_bridge.json")
6
-
7
-
8
- class ScrollBridgeContract(Contract):
9
- def __init__(self, contract_address, web3):
10
- super().__init__(contract_address, web3, abi)
11
-
12
- @evm_transaction
13
- def withdraw(
14
- self,
15
- account,
16
- amount_wei
17
- ):
18
- txn_params = self.build_generic_data(account.address, False)
19
- txn_params['value'] = amount_wei
20
-
21
- return self.contract.functions.withdrawETH(
22
- amount_wei,
23
- 0
24
- ).build_transaction(txn_params)
@@ -1,26 +0,0 @@
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/scroll_canvas_mint.json")
6
-
7
-
8
- class ScrollCanvasMintContract(Contract):
9
- def __init__(self, contract_address, web3):
10
- super().__init__(contract_address, web3, abi)
11
-
12
- @evm_transaction
13
- def mint(
14
- self,
15
- account,
16
- username,
17
- referral,
18
- value
19
- ):
20
- txn_params = self.build_generic_data(account.address, False)
21
- txn_params['value'] = value
22
-
23
- return self.contract.functions.mint(
24
- username,
25
- referral
26
- ).build_transaction(txn_params)
@@ -1,11 +0,0 @@
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/scroll_oracle.json")
5
-
6
- class ScrollOracle(Contract):
7
- def __init__(self, contract_address, web3):
8
- super().__init__(contract_address, web3, abi)
9
-
10
- def estimateCrossDomainMessageFee(self):
11
- return self.contract.functions.estimateCrossDomainMessageFee(168000).call()
@@ -1,16 +0,0 @@
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/snap.json")
6
-
7
-
8
- class SnapContract(Contract):
9
- def __init__(self, contract_address, web3):
10
- super().__init__(contract_address, web3, abi)
11
-
12
- @evm_transaction
13
- def stake(self, account, token_id):
14
- txn_params = self.build_generic_data(account.address, False)
15
-
16
- return self.contract.functions.stake(token_id).build_transaction(txn_params)
@@ -1,20 +0,0 @@
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/socialscan.json")
6
-
7
-
8
- class SocialScanContract(Contract):
9
- def __init__(self, contract_address, web3):
10
- super().__init__(contract_address, web3, abi)
11
-
12
- @evm_transaction
13
- def set_approval_for_all(self, account, operator, approved):
14
- txn_params = self.build_generic_data(account.address, False)
15
-
16
- contract_txn = self.contract.functions.setApprovalForAll(
17
- operator, approved
18
- ).build_transaction(txn_params)
19
-
20
- return contract_txn
@@ -1,37 +0,0 @@
1
- from sybil_engine.contract.contract import Contract
2
- from sybil_engine.contract.transaction_executor import evm_transaction
3
-
4
- with open("resources/abi/stargate_farming.json") as f:
5
- abi = f.read()
6
-
7
-
8
- class StargateFarming(Contract):
9
- def __init__(self, contract_address, web3):
10
- super().__init__(contract_address, web3, abi)
11
-
12
- @evm_transaction
13
- def deposit(self, account, pool_amount):
14
- sender = account.address
15
- txn_params = self.build_generic_data(sender, False)
16
-
17
- contract_txn = self.contract.functions.deposit(0, pool_amount.wei).build_transaction(txn_params)
18
- contract_txn['gas'] = int(self.web3.eth.estimate_gas(contract_txn) * 1.05)
19
-
20
- return contract_txn
21
-
22
- @evm_transaction
23
- def withdraw(self, account, amount_to_bridge):
24
- sender = account.address
25
-
26
- txn_params = self.build_generic_data(sender, False)
27
-
28
- contract_txn = self.contract.functions.withdraw(
29
- 0,
30
- amount_to_bridge
31
- ).build_transaction(txn_params)
32
- contract_txn['gas'] = int(self.web3.eth.estimate_gas(contract_txn) * 1.05)
33
-
34
- return contract_txn
35
-
36
- def user_info(self, account):
37
- return int(self.contract.functions.userInfo(0, account.address).call()[0])