web3-wizzard-lib 1.6.12__py3-none-any.whl → 1.6.15__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.
- web3_wizzard_lib/core/__init__.py +1 -0
- web3_wizzard_lib/core/contract/__init__.py +0 -0
- web3_wizzard_lib/core/contract/aavecontract.py +36 -0
- web3_wizzard_lib/core/contract/alienswap_contract.py +21 -0
- web3_wizzard_lib/core/contract/arena_games_contract.py +16 -0
- web3_wizzard_lib/core/contract/basiliskcontract.py +58 -0
- web3_wizzard_lib/core/contract/bilinear_contract.py +22 -0
- web3_wizzard_lib/core/contract/bungee.py +33 -0
- web3_wizzard_lib/core/contract/coredao_contract.py +34 -0
- web3_wizzard_lib/core/contract/coredao_from_contract.py +40 -0
- web3_wizzard_lib/core/contract/dmail_send_mail.py +18 -0
- web3_wizzard_lib/core/contract/empty_nft.py +18 -0
- web3_wizzard_lib/core/contract/era_name.py +23 -0
- web3_wizzard_lib/core/contract/eralendcontract.py +34 -0
- web3_wizzard_lib/core/contract/eth_scroll_bridge_contract.py +25 -0
- web3_wizzard_lib/core/contract/frog_war_contract.py +48 -0
- web3_wizzard_lib/core/contract/gmx_reward_router.py +22 -0
- web3_wizzard_lib/core/contract/horizondex_quoter.py +14 -0
- web3_wizzard_lib/core/contract/horizondex_router.py +91 -0
- web3_wizzard_lib/core/contract/imagine_contract.py +18 -0
- web3_wizzard_lib/core/contract/izumi.py +63 -0
- web3_wizzard_lib/core/contract/kreatorland_contract.py +21 -0
- web3_wizzard_lib/core/contract/l0_claim.py +254 -0
- web3_wizzard_lib/core/contract/l2_telegraph.py +21 -0
- web3_wizzard_lib/core/contract/layerbank_price.py +18 -0
- web3_wizzard_lib/core/contract/layerbank_token.py +29 -0
- web3_wizzard_lib/core/contract/layerbankcontract.py +59 -0
- web3_wizzard_lib/core/contract/linea_day_2_contract.py +19 -0
- web3_wizzard_lib/core/contract/linea_day_3_contract.py +55 -0
- web3_wizzard_lib/core/contract/linea_ens_names_contract.py +55 -0
- web3_wizzard_lib/core/contract/lineaswaprouter.py +52 -0
- web3_wizzard_lib/core/contract/maverick_multicall.py +52 -0
- web3_wizzard_lib/core/contract/mendi_finance_contract.py +11 -0
- web3_wizzard_lib/core/contract/mendi_token.py +25 -0
- web3_wizzard_lib/core/contract/merkly_minter.py +47 -0
- web3_wizzard_lib/core/contract/micro3_contract.py +18 -0
- web3_wizzard_lib/core/contract/mute_router.py +93 -0
- web3_wizzard_lib/core/contract/new_rage_contract.py +31 -0
- web3_wizzard_lib/core/contract/nidum_contract.py +44 -0
- web3_wizzard_lib/core/contract/nile_contract.py +60 -0
- web3_wizzard_lib/core/contract/nomis_attest_contract.py +40 -0
- web3_wizzard_lib/core/contract/nomis_contract.py +40 -0
- web3_wizzard_lib/core/contract/octomos.py +31 -0
- web3_wizzard_lib/core/contract/odos.py +104 -0
- web3_wizzard_lib/core/contract/omnisea.py +29 -0
- web3_wizzard_lib/core/contract/orbiter_starknet.py +30 -0
- web3_wizzard_lib/core/contract/pancake_pool.py +19 -0
- web3_wizzard_lib/core/contract/pancake_quoter.py +20 -0
- web3_wizzard_lib/core/contract/pancake_router.py +72 -0
- web3_wizzard_lib/core/contract/rage_claim.py +24 -0
- web3_wizzard_lib/core/contract/reactor_fusion_contract.py +78 -0
- web3_wizzard_lib/core/contract/readon_contract.py +19 -0
- web3_wizzard_lib/core/contract/rubyscore_contract.py +31 -0
- web3_wizzard_lib/core/contract/satoshi_universe_contract.py +29 -0
- web3_wizzard_lib/core/contract/scroll_bridge_contract.py +24 -0
- web3_wizzard_lib/core/contract/scroll_canvas_mint_contract.py +26 -0
- web3_wizzard_lib/core/contract/scroll_oracle.py +11 -0
- web3_wizzard_lib/core/contract/snap_contract.py +16 -0
- web3_wizzard_lib/core/contract/social_scan_contract.py +20 -0
- web3_wizzard_lib/core/contract/stargate_farming.py +37 -0
- web3_wizzard_lib/core/contract/stargate_router.py +84 -0
- web3_wizzard_lib/core/contract/stargate_router_eth.py +41 -0
- web3_wizzard_lib/core/contract/stargate_token_pool.py +45 -0
- web3_wizzard_lib/core/contract/stargate_v2_contract.py +36 -0
- web3_wizzard_lib/core/contract/syncswap_classic_pool.py +15 -0
- web3_wizzard_lib/core/contract/syncswap_classic_pool_factory.py +15 -0
- web3_wizzard_lib/core/contract/syncswap_pool.py +25 -0
- web3_wizzard_lib/core/contract/syncswap_router.py +123 -0
- web3_wizzard_lib/core/contract/tavaera_id.py +18 -0
- web3_wizzard_lib/core/contract/tavaera_mint.py +17 -0
- web3_wizzard_lib/core/contract/townstory_bonus_contract.py +19 -0
- web3_wizzard_lib/core/contract/townstory_contract.py +21 -0
- web3_wizzard_lib/core/contract/velocore_lens.py +44 -0
- web3_wizzard_lib/core/contract/velocore_pool.py +198 -0
- web3_wizzard_lib/core/contract/velocore_router.py +80 -0
- web3_wizzard_lib/core/contract/woofi_swap.py +29 -0
- web3_wizzard_lib/core/contract/xy_finance_contract.py +87 -0
- web3_wizzard_lib/core/contract/yoddlo_contract.py +19 -0
- web3_wizzard_lib/core/contract/yuliverse_contract.py +36 -0
- web3_wizzard_lib/core/contract/zebra_contract.py +68 -0
- web3_wizzard_lib/core/contract/zerolend_contract.py +34 -0
- web3_wizzard_lib/core/contract/zerolend_liq_contract.py +20 -0
- web3_wizzard_lib/core/contract/zkdx_contract.py +40 -0
- web3_wizzard_lib/core/contract/zkdx_data.py +14 -0
- web3_wizzard_lib/core/contract/zks.py +24 -0
- web3_wizzard_lib/core/modules/__init__.py +0 -0
- web3_wizzard_lib/core/modules/ads_import_proxy.py +52 -0
- web3_wizzard_lib/core/modules/airdrop_printer.py +81 -0
- web3_wizzard_lib/core/modules/bank/__init__.py +0 -0
- web3_wizzard_lib/core/modules/bank/aave.py +25 -0
- web3_wizzard_lib/core/modules/bank/bank.py +15 -0
- web3_wizzard_lib/core/modules/bank/basilisk.py +25 -0
- web3_wizzard_lib/core/modules/bank/eralend.py +25 -0
- web3_wizzard_lib/core/modules/bank/layerbank.py +116 -0
- web3_wizzard_lib/core/modules/bank/mendi_finance.py +57 -0
- web3_wizzard_lib/core/modules/bank/reactorfusion.py +25 -0
- web3_wizzard_lib/core/modules/bank/zerolend.py +36 -0
- web3_wizzard_lib/core/modules/bank_module.py +99 -0
- web3_wizzard_lib/core/modules/bridge/__init__.py +0 -0
- web3_wizzard_lib/core/modules/bridge/bridge.py +8 -0
- web3_wizzard_lib/core/modules/bridge/coredao_bridge_sub.py +47 -0
- web3_wizzard_lib/core/modules/bridge/orbiter_sub.py +112 -0
- web3_wizzard_lib/core/modules/bridge/scroll_bridge_sub.py +42 -0
- web3_wizzard_lib/core/modules/bridge/stargate_v2_sub.py +74 -0
- web3_wizzard_lib/core/modules/bridge_module.py +47 -0
- web3_wizzard_lib/core/modules/bungee.py +109 -0
- web3_wizzard_lib/core/modules/cex_sender.py +60 -0
- web3_wizzard_lib/core/modules/cex_subaccount_transfer.py +34 -0
- web3_wizzard_lib/core/modules/cex_withdraw.py +91 -0
- web3_wizzard_lib/core/modules/claimer.py +45 -0
- web3_wizzard_lib/core/modules/claims/__init__.py +0 -0
- web3_wizzard_lib/core/modules/claims/layerzero_claimer.py +64 -0
- web3_wizzard_lib/core/modules/claims/rabby_claimer.py +81 -0
- web3_wizzard_lib/core/modules/concrete_swap.py +108 -0
- web3_wizzard_lib/core/modules/coredao_bridge.py +32 -0
- web3_wizzard_lib/core/modules/coredao_bridge_auto.py +39 -0
- web3_wizzard_lib/core/modules/debank_checker.py +78 -0
- web3_wizzard_lib/core/modules/dmail.py +54 -0
- web3_wizzard_lib/core/modules/erc20_balance.py +42 -0
- web3_wizzard_lib/core/modules/gmx_reward.py +25 -0
- web3_wizzard_lib/core/modules/intract/__init__.py +0 -0
- web3_wizzard_lib/core/modules/intract/intract_api.py +212 -0
- web3_wizzard_lib/core/modules/intract/utils.py +81 -0
- web3_wizzard_lib/core/modules/intract_claim.py +101 -0
- web3_wizzard_lib/core/modules/layer_2_20.py +65 -0
- web3_wizzard_lib/core/modules/lending_module.py +134 -0
- web3_wizzard_lib/core/modules/linea_appeal.py +98 -0
- web3_wizzard_lib/core/modules/linea_poh_lxp.py +65 -0
- web3_wizzard_lib/core/modules/liquidity/__init__.py +0 -0
- web3_wizzard_lib/core/modules/liquidity/nile_pool.py +64 -0
- web3_wizzard_lib/core/modules/liquidity/pool.py +16 -0
- web3_wizzard_lib/core/modules/liquidity/syncswap_pool.py +61 -0
- web3_wizzard_lib/core/modules/liquidity/velocore_pool.py +55 -0
- web3_wizzard_lib/core/modules/liquidity/zerolend_liquidity.py +26 -0
- web3_wizzard_lib/core/modules/liquidity_pool.py +60 -0
- web3_wizzard_lib/core/modules/merkly_refuel.py +87 -0
- web3_wizzard_lib/core/modules/new_rage_withdraw.py +41 -0
- web3_wizzard_lib/core/modules/nft/__init__.py +0 -0
- web3_wizzard_lib/core/modules/nft/abbys_world.py +22 -0
- web3_wizzard_lib/core/modules/nft/acg_worlds.py +25 -0
- web3_wizzard_lib/core/modules/nft/alienswap_linea.py +22 -0
- web3_wizzard_lib/core/modules/nft/arena_games.py +22 -0
- web3_wizzard_lib/core/modules/nft/asmatch.py +22 -0
- web3_wizzard_lib/core/modules/nft/battlemon.py +25 -0
- web3_wizzard_lib/core/modules/nft/bilinear.py +22 -0
- web3_wizzard_lib/core/modules/nft/bitavatar.py +25 -0
- web3_wizzard_lib/core/modules/nft/culture_satoshi_universe.py +24 -0
- web3_wizzard_lib/core/modules/nft/efrogs.py +26 -0
- web3_wizzard_lib/core/modules/nft/empty_nft.py +22 -0
- web3_wizzard_lib/core/modules/nft/era_domain.py +42 -0
- web3_wizzard_lib/core/modules/nft/frog_war.py +22 -0
- web3_wizzard_lib/core/modules/nft/frog_war_bonus.py +22 -0
- web3_wizzard_lib/core/modules/nft/gamerboom.py +25 -0
- web3_wizzard_lib/core/modules/nft/gamerboom_bonus.py +26 -0
- web3_wizzard_lib/core/modules/nft/imagine.py +32 -0
- web3_wizzard_lib/core/modules/nft/kreatorland_module.py +35 -0
- web3_wizzard_lib/core/modules/nft/l2_telegraph_module.py +22 -0
- web3_wizzard_lib/core/modules/nft/layer3_meta.py +25 -0
- web3_wizzard_lib/core/modules/nft/linea_culture_2_2_linus.py +24 -0
- web3_wizzard_lib/core/modules/nft/linea_culture_2_3_yooldo.py +24 -0
- web3_wizzard_lib/core/modules/nft/linea_culture_2_4_frogwar.py +24 -0
- web3_wizzard_lib/core/modules/nft/linea_culture_2_5_acg.py +25 -0
- web3_wizzard_lib/core/modules/nft/linea_culture_2_6_ascend_the_end.py +25 -0
- web3_wizzard_lib/core/modules/nft/linea_culture_3_1_ascend_the_end.py +25 -0
- web3_wizzard_lib/core/modules/nft/linea_culture_3_2_sending_me.py +25 -0
- web3_wizzard_lib/core/modules/nft/linea_culture_3_3_townstory.py +25 -0
- web3_wizzard_lib/core/modules/nft/linea_culture_3_4_daniele.py +25 -0
- web3_wizzard_lib/core/modules/nft/linea_culture_3_5_demmortal.py +25 -0
- web3_wizzard_lib/core/modules/nft/linea_culture_3_6_foxy.py +25 -0
- web3_wizzard_lib/core/modules/nft/linea_culture_4_1_coop_records.py +60 -0
- web3_wizzard_lib/core/modules/nft/linea_culture_4_2_borja_moskv.py +65 -0
- web3_wizzard_lib/core/modules/nft/linea_culture_4_2_borja_moskv_approve.py +27 -0
- web3_wizzard_lib/core/modules/nft/linea_culture_4_3_fruit.py +66 -0
- web3_wizzard_lib/core/modules/nft/linea_culture_4_4_fruit_crux.py +67 -0
- web3_wizzard_lib/core/modules/nft/linea_culture_4_5_forbidden_fruit.py +67 -0
- web3_wizzard_lib/core/modules/nft/linea_culture_4_6_laurent.py +67 -0
- web3_wizzard_lib/core/modules/nft/linea_culture_day2.py +20 -0
- web3_wizzard_lib/core/modules/nft/linea_culture_day3.py +20 -0
- web3_wizzard_lib/core/modules/nft/linea_ens_names.py +107 -0
- web3_wizzard_lib/core/modules/nft/lucky_cat.py +25 -0
- web3_wizzard_lib/core/modules/nft/merkly_minter_module.py +22 -0
- web3_wizzard_lib/core/modules/nft/micro3.py +23 -0
- web3_wizzard_lib/core/modules/nft/mint_2048.py +28 -0
- web3_wizzard_lib/core/modules/nft/nft_submodule.py +16 -0
- web3_wizzard_lib/core/modules/nft/nidum.py +87 -0
- web3_wizzard_lib/core/modules/nft/nidum_bonus.py +23 -0
- web3_wizzard_lib/core/modules/nft/nomis.py +64 -0
- web3_wizzard_lib/core/modules/nft/nomis_attest.py +66 -0
- web3_wizzard_lib/core/modules/nft/nouns.py +27 -0
- web3_wizzard_lib/core/modules/nft/octomos.py +32 -0
- web3_wizzard_lib/core/modules/nft/omnisea.py +33 -0
- web3_wizzard_lib/core/modules/nft/omnizone.py +25 -0
- web3_wizzard_lib/core/modules/nft/orbiter_claim.py +87 -0
- web3_wizzard_lib/core/modules/nft/readon.py +30 -0
- web3_wizzard_lib/core/modules/nft/rubyscore.py +45 -0
- web3_wizzard_lib/core/modules/nft/sarubol.py +22 -0
- web3_wizzard_lib/core/modules/nft/satoshi_universe.py +22 -0
- web3_wizzard_lib/core/modules/nft/scroll_canvas_attest_year_badge.py +35 -0
- web3_wizzard_lib/core/modules/nft/scroll_canvas_mint.py +51 -0
- web3_wizzard_lib/core/modules/nft/sign.py +32 -0
- web3_wizzard_lib/core/modules/nft/snap.py +25 -0
- web3_wizzard_lib/core/modules/nft/snap_bonus.py +31 -0
- web3_wizzard_lib/core/modules/nft/social_scan.py +22 -0
- web3_wizzard_lib/core/modules/nft/tavaera.py +30 -0
- web3_wizzard_lib/core/modules/nft/townstory.py +75 -0
- web3_wizzard_lib/core/modules/nft/townstory_bonus.py +45 -0
- web3_wizzard_lib/core/modules/nft/trusta_reputation.py +48 -0
- web3_wizzard_lib/core/modules/nft/trustaa_poh.py +49 -0
- web3_wizzard_lib/core/modules/nft/uber_poh.py +24 -0
- web3_wizzard_lib/core/modules/nft/wizards_of_linea.py +26 -0
- web3_wizzard_lib/core/modules/nft/yoddlo.py +22 -0
- web3_wizzard_lib/core/modules/nft/yuliverse.py +22 -0
- web3_wizzard_lib/core/modules/nft/zace.py +25 -0
- web3_wizzard_lib/core/modules/nft/zks_domain.py +41 -0
- web3_wizzard_lib/core/modules/nft_minter.py +107 -0
- web3_wizzard_lib/core/modules/orbiter.py +39 -0
- web3_wizzard_lib/core/modules/orbiter_checker.py +26 -0
- web3_wizzard_lib/core/modules/rage.py +54 -0
- web3_wizzard_lib/core/modules/scroll_bridge.py +45 -0
- web3_wizzard_lib/core/modules/sell_all.py +51 -0
- web3_wizzard_lib/core/modules/sleep_module.py +25 -0
- web3_wizzard_lib/core/modules/smart_contract_deployment.py +37 -0
- web3_wizzard_lib/core/modules/stargate/__init__.py +0 -0
- web3_wizzard_lib/core/modules/stargate/auto_bridge.py +91 -0
- web3_wizzard_lib/core/modules/stargate/bridge.py +38 -0
- web3_wizzard_lib/core/modules/stargate/bridge_eth.py +59 -0
- web3_wizzard_lib/core/modules/stargate/bridge_tokens.py +48 -0
- web3_wizzard_lib/core/modules/stargate/classic_bridge.py +34 -0
- web3_wizzard_lib/core/modules/stargate/farming.py +163 -0
- web3_wizzard_lib/core/modules/stargate/l0_data.py +10 -0
- web3_wizzard_lib/core/modules/stargate/pool.py +74 -0
- web3_wizzard_lib/core/modules/stargate/stargate_balance_utils.py +25 -0
- web3_wizzard_lib/core/modules/stargate/stargate_gas_checker.py +68 -0
- web3_wizzard_lib/core/modules/swap/__init__.py +1 -0
- web3_wizzard_lib/core/modules/swap/horizondex.py +38 -0
- web3_wizzard_lib/core/modules/swap/izumi.py +41 -0
- web3_wizzard_lib/core/modules/swap/lineaswap.py +34 -0
- web3_wizzard_lib/core/modules/swap/maverick.py +66 -0
- web3_wizzard_lib/core/modules/swap/mute.py +39 -0
- web3_wizzard_lib/core/modules/swap/odos.py +58 -0
- web3_wizzard_lib/core/modules/swap/one_inch.py +58 -0
- web3_wizzard_lib/core/modules/swap/pancake.py +41 -0
- web3_wizzard_lib/core/modules/swap/swap_list.py +11 -0
- web3_wizzard_lib/core/modules/swap/syncswap.py +62 -0
- web3_wizzard_lib/core/modules/swap/velocore.py +40 -0
- web3_wizzard_lib/core/modules/swap/woofi.py +38 -0
- web3_wizzard_lib/core/modules/swap/xy_finance.py +43 -0
- web3_wizzard_lib/core/modules/swap/zebra.py +32 -0
- web3_wizzard_lib/core/modules/warm_up.py +98 -0
- web3_wizzard_lib/core/modules/wrapping.py +74 -0
- web3_wizzard_lib/core/modules/zkdx.py +63 -0
- web3_wizzard_lib/core/utils/__init__.py +0 -0
- web3_wizzard_lib/core/utils/ai_utils.py +45 -0
- web3_wizzard_lib/core/utils/benchmark_utils.py +12 -0
- web3_wizzard_lib/core/utils/module_memory.py +28 -0
- web3_wizzard_lib/core/utils/statistic_utils.py +150 -0
- web3_wizzard_lib/core/utils/sub_module.py +8 -0
- web3_wizzard_lib/data/__init__.py +0 -0
- web3_wizzard_lib/data/config_default.py +52 -0
- web3_wizzard_lib/data/module_config_default.py +209 -0
- web3_wizzard_lib/utils/__init__.py +0 -0
- web3_wizzard_lib/utils/debank_utils.py +19 -0
- {web3_wizzard_lib-1.6.12.dist-info → web3_wizzard_lib-1.6.15.dist-info}/METADATA +2 -2
- web3_wizzard_lib-1.6.15.dist-info/RECORD +369 -0
- web3_wizzard_lib-1.6.12.dist-info/RECORD +0 -107
- {web3_wizzard_lib-1.6.12.dist-info → web3_wizzard_lib-1.6.15.dist-info}/WHEEL +0 -0
- {web3_wizzard_lib-1.6.12.dist-info → web3_wizzard_lib-1.6.15.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,25 @@
|
|
1
|
+
from sybil_engine.contract.send import Send
|
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 NativeBalance
|
5
|
+
from sybil_engine.utils.web3_utils import init_web3
|
6
|
+
|
7
|
+
from web3_wizzard_lib.core.utils.sub_module import SubModule
|
8
|
+
|
9
|
+
|
10
|
+
class LuckyCat(SubModule):
|
11
|
+
module_name = 'LUCKYCAT'
|
12
|
+
|
13
|
+
def execute(self, account, chain='LINEA'):
|
14
|
+
chain_instance = get_chain_instance(chain)
|
15
|
+
web3 = init_web3(chain_instance, account.proxy)
|
16
|
+
|
17
|
+
contract_address = get_contracts_for_chain(chain)['LUCKYCAT']
|
18
|
+
|
19
|
+
send = Send(None, web3)
|
20
|
+
send.send_to_wallet(
|
21
|
+
account, contract_address, NativeBalance(0, chain, "ETH"), "0x70245bdc"
|
22
|
+
)
|
23
|
+
|
24
|
+
def log(self):
|
25
|
+
return "LUCKYCAT"
|
@@ -0,0 +1,22 @@
|
|
1
|
+
from sybil_engine.data.contracts import get_contracts_for_chain
|
2
|
+
from sybil_engine.data.networks import get_chain_instance
|
3
|
+
from sybil_engine.utils.web3_utils import init_web3
|
4
|
+
|
5
|
+
from web3_wizzard_lib.core.contract.merkly_minter import MerklyMinter
|
6
|
+
from web3_wizzard_lib.core.utils.sub_module import SubModule
|
7
|
+
|
8
|
+
|
9
|
+
class MerklyMinterModule(SubModule):
|
10
|
+
module_name = "MERKLY_MINTER"
|
11
|
+
|
12
|
+
def execute(self, account, chain='ZKSYNC'):
|
13
|
+
chain_instance = get_chain_instance(chain)
|
14
|
+
web3 = init_web3(chain_instance, account.proxy)
|
15
|
+
|
16
|
+
contract_address = get_contracts_for_chain(chain)['MERKLY']
|
17
|
+
merkly_minter = MerklyMinter(contract_address, web3)
|
18
|
+
|
19
|
+
merkly_minter.mint(account)
|
20
|
+
|
21
|
+
def log(self):
|
22
|
+
return "MERKLY MINTER"
|
@@ -0,0 +1,23 @@
|
|
1
|
+
from sybil_engine.data.contracts import get_contracts_for_chain
|
2
|
+
from sybil_engine.data.networks import get_chain_instance
|
3
|
+
from sybil_engine.utils.web3_utils import init_web3
|
4
|
+
|
5
|
+
from web3_wizzard_lib.core.contract.micro3_contract import Micro3Contract
|
6
|
+
from web3_wizzard_lib.core.utils.sub_module import SubModule
|
7
|
+
|
8
|
+
|
9
|
+
class Micro3(SubModule):
|
10
|
+
module_name = 'MICRO3'
|
11
|
+
|
12
|
+
def execute(self, account, chain='LINEA'):
|
13
|
+
chain_instance = get_chain_instance(chain)
|
14
|
+
web3 = init_web3(chain_instance, account.proxy)
|
15
|
+
|
16
|
+
contract_address = get_contracts_for_chain(chain)['MICRO3']
|
17
|
+
|
18
|
+
micro3_cotnract = Micro3Contract(contract_address, web3)
|
19
|
+
|
20
|
+
micro3_cotnract.purchase(account, 1)
|
21
|
+
|
22
|
+
def log(self):
|
23
|
+
return "MICRO3 NFT"
|
@@ -0,0 +1,28 @@
|
|
1
|
+
import secrets
|
2
|
+
|
3
|
+
from sybil_engine.contract.send import Send
|
4
|
+
from sybil_engine.data.contracts import get_contracts_for_chain
|
5
|
+
from sybil_engine.data.networks import get_chain_instance
|
6
|
+
from sybil_engine.domain.balance.balance import NativeBalance
|
7
|
+
from sybil_engine.utils.web3_utils import init_web3
|
8
|
+
|
9
|
+
from web3_wizzard_lib.core.utils.sub_module import SubModule
|
10
|
+
|
11
|
+
|
12
|
+
class Mint2048(SubModule):
|
13
|
+
module_name = '2048'
|
14
|
+
|
15
|
+
def execute(self, account, chain='LINEA'):
|
16
|
+
chain_instance = get_chain_instance(chain)
|
17
|
+
web3 = init_web3(chain_instance, account.proxy)
|
18
|
+
|
19
|
+
contract_address = get_contracts_for_chain(chain)['2048']
|
20
|
+
|
21
|
+
data = f'0x36ab86c4{secrets.token_hex(32)}0000000000000000000000000000000000000000000000000000000000000001'
|
22
|
+
send = Send(None, web3)
|
23
|
+
send.send_to_wallet(
|
24
|
+
account, contract_address, NativeBalance(0, chain, "ETH"), data
|
25
|
+
)
|
26
|
+
|
27
|
+
def log(self):
|
28
|
+
return "2048 NFT"
|
@@ -0,0 +1,16 @@
|
|
1
|
+
from sybil_engine.data.networks import get_chain_instance
|
2
|
+
from sybil_engine.utils.web3_utils import init_web3
|
3
|
+
|
4
|
+
from web3_wizzard_lib.core.utils.sub_module import SubModule
|
5
|
+
|
6
|
+
|
7
|
+
class NftSubmodule(SubModule):
|
8
|
+
def execute(self, *args):
|
9
|
+
pass
|
10
|
+
|
11
|
+
def log(self):
|
12
|
+
pass
|
13
|
+
|
14
|
+
def create_web3(self, account, chain):
|
15
|
+
chain_instance = get_chain_instance(chain)
|
16
|
+
return init_web3(chain_instance, account.proxy)
|
@@ -0,0 +1,87 @@
|
|
1
|
+
from json import dumps
|
2
|
+
|
3
|
+
import requests
|
4
|
+
from sybil_engine.data.contracts import get_contracts_for_chain
|
5
|
+
from sybil_engine.data.networks import get_chain_instance
|
6
|
+
from sybil_engine.utils.web3_utils import init_web3
|
7
|
+
|
8
|
+
from web3_wizzard_lib.core.contract.nidum_contract import NidumContract
|
9
|
+
from web3_wizzard_lib.core.modules.nft.sign import sign_msg
|
10
|
+
from web3_wizzard_lib.core.utils.sub_module import SubModule
|
11
|
+
|
12
|
+
|
13
|
+
class Nidum(SubModule):
|
14
|
+
module_name = 'NIDUM'
|
15
|
+
|
16
|
+
def execute(self, account, chain='LINEA'):
|
17
|
+
chain_instance = get_chain_instance(chain)
|
18
|
+
web3 = init_web3(chain_instance, account.proxy)
|
19
|
+
|
20
|
+
contract_address = get_contracts_for_chain(chain)['NIDUM']
|
21
|
+
nidus_nft = NidumContract(contract_address, web3)
|
22
|
+
|
23
|
+
claim_data = request_ops(account, web3)
|
24
|
+
|
25
|
+
nidus_nft.mint_nft(account, claim_data)
|
26
|
+
|
27
|
+
def log(self):
|
28
|
+
return "NIDUM NFT"
|
29
|
+
|
30
|
+
|
31
|
+
def register_wallet(wallet):
|
32
|
+
url = f'https://auth.sidusheroes.com/api/v1/users'
|
33
|
+
headers = {'Content-Type': 'application/json'}
|
34
|
+
data = {'address': wallet.address.lower()}
|
35
|
+
json_data = dumps(data)
|
36
|
+
requests.post(url, data=json_data, headers=headers)
|
37
|
+
|
38
|
+
|
39
|
+
def get_msg(wallet):
|
40
|
+
url = 'https://auth.sidusheroes.com/api/v1/users/' + wallet.address.lower()
|
41
|
+
r = requests.get(url)
|
42
|
+
response = r.json()
|
43
|
+
nonce = response['data']['nonce']
|
44
|
+
msg_text = f'Please sign this message to connect to sidusheroes.com: {nonce}'
|
45
|
+
return msg_text
|
46
|
+
|
47
|
+
|
48
|
+
def auth(wallet, signature):
|
49
|
+
data = {"address": f"{wallet.address}", "signature": f"{signature}"}
|
50
|
+
json_data = dumps(data)
|
51
|
+
url = 'https://auth.sidusheroes.com/api/v1/auth'
|
52
|
+
headers = {'Content-Type': 'application/json'}
|
53
|
+
r = requests.post(url, data=json_data, headers=headers)
|
54
|
+
response = r.json()
|
55
|
+
bearer = response['data']['accessToken']
|
56
|
+
return bearer
|
57
|
+
|
58
|
+
|
59
|
+
def get_token_data(wallet, bearer):
|
60
|
+
url = f'https://plsrv.sidusheroes.com/shadow-game-linea/api/v1/item'
|
61
|
+
headers = {'Content-Type': 'application/json', 'Authorization': f'Bearer {bearer}'}
|
62
|
+
data = {"user": f"{wallet.address.lower()}", "contract": "0x34Be5b8C30eE4fDe069DC878989686aBE9884470", "tokenId": 9}
|
63
|
+
json_data = dumps(data)
|
64
|
+
r = requests.post(url, data=json_data, headers=headers)
|
65
|
+
|
66
|
+
|
67
|
+
def get_claim_data(wallet, bearer):
|
68
|
+
url = 'https://plsrv.sidusheroes.com/shadow-game-linea/api/v1/claim'
|
69
|
+
headers = {'Content-Type': 'application/json', 'Authorization': f'Bearer {bearer}',
|
70
|
+
'Content-Length': '151', 'If-None-Match': 'W/"81-IPXBWNB48bs1CNK6NL+XgeHJooA"'}
|
71
|
+
data = {"contract": "0x34Be5b8C30eE4fDe069DC878989686aBE9884470",
|
72
|
+
"user": f'{wallet.address.lower()}',
|
73
|
+
"tokensData": [{"tokenId": 9, "amount": 1}]}
|
74
|
+
json_data = dumps(data)
|
75
|
+
r = requests.post(url, data=json_data, headers=headers)
|
76
|
+
response = r.json()
|
77
|
+
return response
|
78
|
+
|
79
|
+
|
80
|
+
def request_ops(wallet, web3):
|
81
|
+
register_wallet(wallet)
|
82
|
+
msg_text = get_msg(wallet)
|
83
|
+
signature = sign_msg(wallet, msg_text, web3)
|
84
|
+
bearer = auth(wallet, signature)
|
85
|
+
get_token_data(wallet, bearer)
|
86
|
+
claim_data = get_claim_data(wallet, bearer)
|
87
|
+
return claim_data
|
@@ -0,0 +1,23 @@
|
|
1
|
+
from sybil_engine.data.contracts import get_contracts_for_chain
|
2
|
+
from sybil_engine.data.networks import get_chain_instance
|
3
|
+
from sybil_engine.utils.web3_utils import init_web3
|
4
|
+
|
5
|
+
from web3_wizzard_lib.core.contract.nidum_contract import NidumContract
|
6
|
+
from web3_wizzard_lib.core.utils.sub_module import SubModule
|
7
|
+
|
8
|
+
|
9
|
+
class NidumBonus(SubModule):
|
10
|
+
module_name = 'NIDUM_BONUS'
|
11
|
+
allow_reuse_address = True
|
12
|
+
|
13
|
+
def execute(self, account, chain='LINEA'):
|
14
|
+
chain_instance = get_chain_instance(chain)
|
15
|
+
web3 = init_web3(chain_instance, account.proxy)
|
16
|
+
|
17
|
+
contract_address = get_contracts_for_chain(chain)['NIDUM']
|
18
|
+
nidum_nft = NidumContract(contract_address, web3)
|
19
|
+
|
20
|
+
nidum_nft.burn(account)
|
21
|
+
|
22
|
+
def log(self):
|
23
|
+
return "NIDUM BONUS NFT"
|
@@ -0,0 +1,64 @@
|
|
1
|
+
import requests
|
2
|
+
from loguru import logger
|
3
|
+
from sybil_engine.data.contracts import get_contracts_for_chain
|
4
|
+
from sybil_engine.data.networks import get_chain_instance
|
5
|
+
from sybil_engine.utils.web3_utils import init_web3
|
6
|
+
|
7
|
+
from web3_wizzard_lib.core.contract.nomis_contract import NomisContract
|
8
|
+
from web3_wizzard_lib.core.utils.sub_module import SubModule
|
9
|
+
|
10
|
+
|
11
|
+
class Nomis(SubModule):
|
12
|
+
module_name = 'NOMIS'
|
13
|
+
|
14
|
+
def execute(self, account, chain='LINEA'):
|
15
|
+
chain_instance = get_chain_instance(chain)
|
16
|
+
web3 = init_web3(chain_instance, account.proxy)
|
17
|
+
|
18
|
+
contract_address = get_contracts_for_chain(chain)['NOMIS']
|
19
|
+
|
20
|
+
response = requests.get(f'https://bg.nomis.cc/api/proxy/linea/wallet/{account.address}/score?scoreType=0&calculationModel=14&UseTokenLists=false&nonce=0&deadline=1790647549&GetCyberConnectProtocolData=false&prepareToMint=true&MintChain=0&ShouldGetReferrerCode=false&disableProxy=true&referrerCode=nomis', timeout=10)
|
21
|
+
|
22
|
+
signature = response.json()['data']['mintData']['signature']
|
23
|
+
mintedScore = response.json()['data']['mintData']['mintedScore']
|
24
|
+
deadline = response.json()['data']['mintData']['deadline']
|
25
|
+
metadataUrl = response.json()['data']['mintData']['metadataUrl']
|
26
|
+
chainId = response.json()['data']['mintData']['chainId']
|
27
|
+
referralCode = response.json()['data']['mintData']['referralCode']
|
28
|
+
referrerCode = response.json()['data']['mintData']['referrerCode']
|
29
|
+
calculationModel = response.json()['data']['mintData']['calculationModel']
|
30
|
+
onftMetadataUrl = response.json()['data']['mintData']['onftMetadataUrl']
|
31
|
+
|
32
|
+
nomis_contract = NomisContract(contract_address, web3)
|
33
|
+
|
34
|
+
if mintedScore < 3000:
|
35
|
+
formatted_score = "{:.2f}".format(mintedScore / 100)
|
36
|
+
logger.info(f"Minted score is {formatted_score}, minimum 30 is required, skip account")
|
37
|
+
return
|
38
|
+
|
39
|
+
nomis_contract.set_score(
|
40
|
+
account,
|
41
|
+
signature,
|
42
|
+
mintedScore,
|
43
|
+
calculationModel,
|
44
|
+
deadline,
|
45
|
+
metadataUrl,
|
46
|
+
chainId,
|
47
|
+
referralCode,
|
48
|
+
referrerCode,
|
49
|
+
onftMetadataUrl
|
50
|
+
)
|
51
|
+
|
52
|
+
def log(self):
|
53
|
+
return "NOMIS POH"
|
54
|
+
|
55
|
+
|
56
|
+
def get_attest_data_media(token_auth):
|
57
|
+
url = 'https://mp.trustalabs.ai/accounts/attest_calldata?attest_type=media'
|
58
|
+
headers = {'Authorization': f'TOKEN {token_auth}', 'Accept': 'application/json'}
|
59
|
+
r = requests.get(url, headers=headers)
|
60
|
+
if r.status_code == 200:
|
61
|
+
res = [r.json()]
|
62
|
+
if res[0]['code'] == 0:
|
63
|
+
txn_calldata = res[0]['data']
|
64
|
+
return txn_calldata
|
@@ -0,0 +1,66 @@
|
|
1
|
+
import requests
|
2
|
+
from loguru import logger
|
3
|
+
from sybil_engine.data.contracts import get_contracts_for_chain
|
4
|
+
from sybil_engine.data.networks import get_chain_instance
|
5
|
+
from sybil_engine.utils.retry import retry
|
6
|
+
from sybil_engine.utils.web3_utils import init_web3
|
7
|
+
|
8
|
+
from web3_wizzard_lib.core.contract.nomis_attest_contract import NomisAttestContract
|
9
|
+
from web3_wizzard_lib.core.utils.sub_module import SubModule
|
10
|
+
|
11
|
+
|
12
|
+
class NomisAttest(SubModule):
|
13
|
+
module_name = 'NOMIS_ATTEST'
|
14
|
+
|
15
|
+
def execute(self, account, chain='LINEA'):
|
16
|
+
chain_instance = get_chain_instance(chain)
|
17
|
+
web3 = init_web3(chain_instance, account.proxy)
|
18
|
+
|
19
|
+
contract_address = get_contracts_for_chain(chain)['NOMIS_ATTEST']
|
20
|
+
|
21
|
+
url_template = f'http://nomis.cc/api/proxy/verax/attestation-data?address={account.address}&nonce=0'
|
22
|
+
|
23
|
+
response = self.get_attest(url_template)
|
24
|
+
|
25
|
+
mintedScore = response['data']['value']
|
26
|
+
|
27
|
+
if mintedScore < 3000:
|
28
|
+
formatted_score = "{:.2f}".format(mintedScore / 100)
|
29
|
+
logger.info(f"Minted score is {formatted_score}, minimum 30 is required, skip account")
|
30
|
+
return
|
31
|
+
|
32
|
+
schema = response['data']['schema']
|
33
|
+
expirationTime = response['data']['expirationTime']
|
34
|
+
revocable = response['data']['revocable']
|
35
|
+
tokenId = response['data']['tokenId']
|
36
|
+
updated = response['data']['updated']
|
37
|
+
value = response['data']['value']
|
38
|
+
chainId = response['data']['chainId']
|
39
|
+
calcModel = response['data']['calcModel']
|
40
|
+
validationPayload = response['data']['validationPayload']
|
41
|
+
|
42
|
+
nomis_attest_contract = NomisAttestContract(contract_address, web3)
|
43
|
+
|
44
|
+
nomis_attest_contract.attest(
|
45
|
+
account,
|
46
|
+
schema,
|
47
|
+
expirationTime,
|
48
|
+
revocable,
|
49
|
+
tokenId,
|
50
|
+
updated,
|
51
|
+
value,
|
52
|
+
chainId,
|
53
|
+
calcModel,
|
54
|
+
validationPayload
|
55
|
+
)
|
56
|
+
|
57
|
+
@retry(max_attempts=15, retry_interval={'from': 60 * 1, 'to': 60 * 4})
|
58
|
+
def get_attest(self, url_template):
|
59
|
+
response = requests.get(url_template)
|
60
|
+
if response.status_code == 200:
|
61
|
+
return response.json()
|
62
|
+
else:
|
63
|
+
raise Exception(f"HTTP error {response.json()}")
|
64
|
+
|
65
|
+
def log(self):
|
66
|
+
return "ATTEST NOMIS SCORE"
|
@@ -0,0 +1,27 @@
|
|
1
|
+
from sybil_engine.contract.send import Send
|
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 NativeBalance
|
5
|
+
from sybil_engine.utils.web3_utils import init_web3
|
6
|
+
|
7
|
+
from web3_wizzard_lib.core.utils.sub_module import SubModule
|
8
|
+
|
9
|
+
|
10
|
+
class Nouns(SubModule):
|
11
|
+
module_name = 'NOUNS'
|
12
|
+
|
13
|
+
def execute(self, account, chain='LINEA'):
|
14
|
+
chain_instance = get_chain_instance(chain)
|
15
|
+
web3 = init_web3(chain_instance, account.proxy)
|
16
|
+
|
17
|
+
contract_address = get_contracts_for_chain(chain)['NOUNS']
|
18
|
+
|
19
|
+
data = f'0x57bc3d78000000000000000000000000{account.address[2:]}00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000080ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
|
20
|
+
|
21
|
+
send = Send(None, web3)
|
22
|
+
send.send_to_wallet(
|
23
|
+
account, contract_address, NativeBalance(0, chain, "ETH"), data
|
24
|
+
)
|
25
|
+
|
26
|
+
def log(self):
|
27
|
+
return "NOUNS NFT"
|
@@ -0,0 +1,32 @@
|
|
1
|
+
from sybil_engine.data.contracts import get_contracts_for_chain
|
2
|
+
from sybil_engine.data.networks import get_chain_instance
|
3
|
+
from sybil_engine.utils.web3_utils import init_web3
|
4
|
+
from web3 import Web3
|
5
|
+
|
6
|
+
from web3_wizzard_lib.core.contract.octomos import OctomosContract
|
7
|
+
from web3_wizzard_lib.core.utils.sub_module import SubModule
|
8
|
+
|
9
|
+
|
10
|
+
class Octomos(SubModule):
|
11
|
+
module_name = 'OCTOMOS'
|
12
|
+
|
13
|
+
def execute(self, account, chain='LINEA'):
|
14
|
+
chain_instance = get_chain_instance(chain)
|
15
|
+
web3 = init_web3(chain_instance, account.proxy)
|
16
|
+
|
17
|
+
contract_address = get_contracts_for_chain(chain)['OCTOMOS']
|
18
|
+
|
19
|
+
octomos_contract = OctomosContract(contract_address, web3)
|
20
|
+
|
21
|
+
octomos_contract.launchpadBuy(
|
22
|
+
account,
|
23
|
+
Web3.to_bytes(hexstr='0x0c21cfbb').ljust(4, b'\0'),
|
24
|
+
Web3.to_bytes(hexstr='0x53b93973').ljust(4, b'\0'),
|
25
|
+
0,
|
26
|
+
1,
|
27
|
+
[],
|
28
|
+
b''
|
29
|
+
)
|
30
|
+
|
31
|
+
def log(self):
|
32
|
+
return "OCTOMOS"
|
@@ -0,0 +1,33 @@
|
|
1
|
+
import random
|
2
|
+
|
3
|
+
from sybil_engine.data.contracts import get_contracts_for_chain
|
4
|
+
from sybil_engine.data.networks import get_chain_instance
|
5
|
+
from sybil_engine.utils.web3_utils import init_web3
|
6
|
+
|
7
|
+
from web3_wizzard_lib.core.contract.omnisea import OmniSea
|
8
|
+
from web3_wizzard_lib.core.utils.sub_module import SubModule
|
9
|
+
|
10
|
+
|
11
|
+
class OmniSeaModule(SubModule):
|
12
|
+
module_name = 'OMNI_SEA'
|
13
|
+
|
14
|
+
def execute(self, account, chain='ZKSYNC'):
|
15
|
+
|
16
|
+
chain_instance = get_chain_instance(chain)
|
17
|
+
web3 = init_web3(chain_instance, account.proxy)
|
18
|
+
|
19
|
+
contract_address = get_contracts_for_chain(chain)['OMNISEA']
|
20
|
+
omnisea = OmniSea(contract_address, web3)
|
21
|
+
|
22
|
+
title, symbol = self.generate_collection_data()
|
23
|
+
|
24
|
+
omnisea.create(account, title, symbol)
|
25
|
+
|
26
|
+
@staticmethod
|
27
|
+
def generate_collection_data():
|
28
|
+
title = "".join(random.sample([chr(i) for i in range(97, 123)], random.randint(5, 15)))
|
29
|
+
symbol = "".join(random.sample([chr(i) for i in range(65, 91)], random.randint(3, 6)))
|
30
|
+
return title, symbol
|
31
|
+
|
32
|
+
def log(self):
|
33
|
+
return "OMNI SEA COLLECTION"
|
@@ -0,0 +1,25 @@
|
|
1
|
+
from sybil_engine.contract.send import Send
|
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 NativeBalance
|
5
|
+
from sybil_engine.utils.web3_utils import init_web3
|
6
|
+
|
7
|
+
from web3_wizzard_lib.core.utils.sub_module import SubModule
|
8
|
+
|
9
|
+
|
10
|
+
class Omnizone(SubModule):
|
11
|
+
module_name = 'OMNIZONE'
|
12
|
+
|
13
|
+
def execute(self, account, chain='LINEA'):
|
14
|
+
chain_instance = get_chain_instance(chain)
|
15
|
+
web3 = init_web3(chain_instance, account.proxy)
|
16
|
+
|
17
|
+
contract_address = get_contracts_for_chain(chain)['OMNIZONE']
|
18
|
+
|
19
|
+
send = Send(None, web3)
|
20
|
+
send.send_to_wallet(
|
21
|
+
account, contract_address, NativeBalance(0, chain, "ETH"), "0x1249c58b"
|
22
|
+
)
|
23
|
+
|
24
|
+
def log(self):
|
25
|
+
return "OMNIZONE NFT"
|
@@ -0,0 +1,87 @@
|
|
1
|
+
import requests
|
2
|
+
from eth_account import Account
|
3
|
+
from eth_account.messages import encode_defunct
|
4
|
+
from loguru import logger
|
5
|
+
from sybil_engine.contract.send import Send
|
6
|
+
from sybil_engine.data.networks import get_chain_instance
|
7
|
+
from sybil_engine.domain.balance.balance import NativeBalance
|
8
|
+
from sybil_engine.utils.web3_utils import init_web3
|
9
|
+
from web3_wizzard_lib.core.utils.sub_module import SubModule
|
10
|
+
|
11
|
+
|
12
|
+
class OrbiterClaim(SubModule):
|
13
|
+
module_name = 'ORBITER_CLAIM'
|
14
|
+
|
15
|
+
nft_address = "0x13dFDd3a9B39323F228Daf73B62C23F7017E4679"
|
16
|
+
|
17
|
+
def execute(self, account, chain='ARBITRUM'):
|
18
|
+
|
19
|
+
# message to sign Orbiter Airdrop
|
20
|
+
message_text = "Orbiter Airdrop"
|
21
|
+
text_hex = "0x" + message_text.encode('utf-8').hex()
|
22
|
+
text_encoded = encode_defunct(hexstr=text_hex)
|
23
|
+
signed_message = Account.sign_message(text_encoded, private_key=account.key)
|
24
|
+
|
25
|
+
signature = f'0x{signed_message.signature.hex()}'
|
26
|
+
headers = {
|
27
|
+
"token": signature
|
28
|
+
}
|
29
|
+
|
30
|
+
result = requests.post(
|
31
|
+
"https://airdrop-api.orbiter.finance/airdrop/snapshot",
|
32
|
+
headers=headers
|
33
|
+
).json()
|
34
|
+
|
35
|
+
chain_id = result['result']['chainId']
|
36
|
+
|
37
|
+
chain, data = self.form_data(chain, chain_id, result)
|
38
|
+
|
39
|
+
try:
|
40
|
+
self.send_transaction(account, chain, data)
|
41
|
+
except Exception as e:
|
42
|
+
self.send_transaction(account, chain, data.replace("0000000000000000014", "0000000000000000013"))
|
43
|
+
|
44
|
+
def form_data(self, chain, chain_id, result):
|
45
|
+
amount_str = result['result']['proof'][0]['amount']
|
46
|
+
logger.info(f"Orbiter Airdrop snapshot result: {amount_str}")
|
47
|
+
amount_int = int(amount_str.replace(".", ""))
|
48
|
+
logger.info(f"AMOUNT INT: {amount_int}")
|
49
|
+
hex_value = hex(amount_int)[2:]
|
50
|
+
logger.info(f"AMOUNT: {hex_value}")
|
51
|
+
logger.info(f"HEX {hex_value}")
|
52
|
+
if int(chain_id) == 42161:
|
53
|
+
chain = 'ARBITRUM'
|
54
|
+
data = "0xfa5c4e99071cbb2ff029ddaf4b691745b2ba185cbe9ca2f5fa9e7358bada8fbdce764291"
|
55
|
+
data += f"0000000000000000000000000000000000000000000000{hex_value}00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000014"
|
56
|
+
else:
|
57
|
+
data = "0xfa5c4e995d32ba2a988b8fa6c2ae96d3b5980c67e8d8cfbf0d4c89479b79c1e277843438"
|
58
|
+
data += f"000000000000000000000000000000000000000000000010b202b565eb37160000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000010"
|
59
|
+
chain = 'BASE'
|
60
|
+
for line_data in result['result']['proof'][0]['data']:
|
61
|
+
data += line_data[2:]
|
62
|
+
logger.info(data)
|
63
|
+
return chain, data
|
64
|
+
|
65
|
+
def send_transaction(self, account, chain, data):
|
66
|
+
chain_instance = get_chain_instance(chain)
|
67
|
+
web3 = init_web3(chain_instance, account.proxy)
|
68
|
+
Send(None, web3).send_to_wallet(
|
69
|
+
account,
|
70
|
+
self.nft_address,
|
71
|
+
NativeBalance(0, chain, "ETH"),
|
72
|
+
data
|
73
|
+
)
|
74
|
+
|
75
|
+
def log(self):
|
76
|
+
return "ORBITER NFT"
|
77
|
+
|
78
|
+
def round_to_custom_precision(number, precision):
|
79
|
+
# Find the rounding factor (10^precision)
|
80
|
+
factor = 10 ** precision
|
81
|
+
# Perform rounding
|
82
|
+
return round(number / factor) * factor
|
83
|
+
|
84
|
+
|
85
|
+
def truncate_to_decimal_places(value, decimals):
|
86
|
+
factor = 10 ** decimals
|
87
|
+
return int(float(int(value * factor)) / factor)
|
@@ -0,0 +1,30 @@
|
|
1
|
+
import random
|
2
|
+
|
3
|
+
from sybil_engine.data.contracts import get_contracts_for_chain
|
4
|
+
from sybil_engine.data.networks import get_chain_instance
|
5
|
+
from sybil_engine.utils.web3_utils import init_web3
|
6
|
+
|
7
|
+
from web3_wizzard_lib.core.contract.readon_contract import ReadOnContract
|
8
|
+
from web3_wizzard_lib.core.utils.sub_module import SubModule
|
9
|
+
|
10
|
+
|
11
|
+
class ReadOn(SubModule):
|
12
|
+
module_name = 'READON'
|
13
|
+
|
14
|
+
def execute(self, account, chain='LINEA'):
|
15
|
+
chain_instance = get_chain_instance(chain)
|
16
|
+
web3 = init_web3(chain_instance, account.proxy)
|
17
|
+
|
18
|
+
contract_address = get_contracts_for_chain(chain)['READON']
|
19
|
+
readon_curate = ReadOnContract(contract_address, web3)
|
20
|
+
|
21
|
+
low = 1700890697805328281
|
22
|
+
high = 1709890697805328281
|
23
|
+
|
24
|
+
# Generate a random number within the given range
|
25
|
+
contentUrl = format(random.randint(low, high), 'x').zfill(64)
|
26
|
+
|
27
|
+
readon_curate.curate(account, contentUrl)
|
28
|
+
|
29
|
+
def log(self):
|
30
|
+
return "READON NFT"
|
@@ -0,0 +1,45 @@
|
|
1
|
+
import requests
|
2
|
+
from eth_account import Account
|
3
|
+
from eth_account.messages import encode_defunct
|
4
|
+
from sybil_engine.data.contracts import get_contracts_for_chain
|
5
|
+
from sybil_engine.data.networks import get_chain_instance
|
6
|
+
from sybil_engine.utils.web3_utils import init_web3
|
7
|
+
|
8
|
+
from web3_wizzard_lib.core.contract.rubyscore_contract import RubyscoreContract
|
9
|
+
from web3_wizzard_lib.core.utils.sub_module import SubModule
|
10
|
+
|
11
|
+
|
12
|
+
class Rubyscore(SubModule):
|
13
|
+
module_name = 'RUBYSCORE'
|
14
|
+
|
15
|
+
def execute(self, account, chain='LINEA'):
|
16
|
+
chain_instance = get_chain_instance(chain)
|
17
|
+
web3 = init_web3(chain_instance, account.proxy)
|
18
|
+
|
19
|
+
message = " A signature is required for authorization on the platform and does not pose a threat to users!"
|
20
|
+
|
21
|
+
message_encoded = encode_defunct(text=message)
|
22
|
+
signed_message = Account.sign_message(message_encoded, private_key=account.key).signature.hex()
|
23
|
+
|
24
|
+
login_request_url = f"https://rubyscore.io/api/auth/login?signature={signed_message}&message=+A+signature+is+required+for+authorization+on+the+platform+and+does+not+pose+a+threat+to+users!&wallet={account.address}"
|
25
|
+
|
26
|
+
login_token = requests.post(login_request_url).json()['result']['token']
|
27
|
+
|
28
|
+
request_signature_request = "https://rubyscore.io/api/attestation/claim?project=linea"
|
29
|
+
request_signature_response = requests.post(
|
30
|
+
request_signature_request,
|
31
|
+
headers={
|
32
|
+
'Authorization': f'Bearer {login_token}'
|
33
|
+
}
|
34
|
+
).json()['result']
|
35
|
+
|
36
|
+
schemaId = request_signature_response['attestationParams']['schemaId']
|
37
|
+
expirationDate = int(request_signature_response['attestationParams']['expirationDate'])
|
38
|
+
signature = request_signature_response['signature']
|
39
|
+
|
40
|
+
contract_address = get_contracts_for_chain(chain)['RUBYSCORE']
|
41
|
+
rubyscore = RubyscoreContract(contract_address, web3)
|
42
|
+
rubyscore.attest_rubyscore(account, signature, schemaId, expirationDate)
|
43
|
+
|
44
|
+
def log(self):
|
45
|
+
return "RUBYSCORE"
|
@@ -0,0 +1,22 @@
|
|
1
|
+
from sybil_engine.data.contracts import get_contracts_for_chain
|
2
|
+
from sybil_engine.data.networks import get_chain_instance
|
3
|
+
from sybil_engine.utils.web3_utils import init_web3
|
4
|
+
|
5
|
+
from web3_wizzard_lib.core.contract.alienswap_contract import AlienSwapContract
|
6
|
+
from web3_wizzard_lib.core.utils.sub_module import SubModule
|
7
|
+
|
8
|
+
|
9
|
+
class Sarubol(SubModule):
|
10
|
+
module_name = 'SARUBOL'
|
11
|
+
|
12
|
+
def execute(self, account, chain='LINEA'):
|
13
|
+
chain_instance = get_chain_instance(chain)
|
14
|
+
web3 = init_web3(chain_instance, account.proxy)
|
15
|
+
|
16
|
+
contract_address = get_contracts_for_chain(chain)['SARUBOL']
|
17
|
+
sarubol_nft = AlienSwapContract(contract_address, web3)
|
18
|
+
|
19
|
+
sarubol_nft.purchase(account, 1)
|
20
|
+
|
21
|
+
def log(self):
|
22
|
+
return "SARUBOL NFT"
|