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.domain.balance.balance import NativeBalance
|
3
|
+
from sybil_engine.domain.balance.balance_utils import from_eth_to_wei
|
4
|
+
from sybil_engine.utils.app_account_utils import AppAccount
|
5
|
+
|
6
|
+
from web3_wizzard_lib.core.modules.nft.nft_submodule import NftSubmodule
|
7
|
+
|
8
|
+
|
9
|
+
class LineaCultureWeek3Day4(NftSubmodule):
|
10
|
+
module_name = 'LINEA_CULTURE_3_4'
|
11
|
+
nft_address = '0x3A21e152aC78f3055aA6b23693FB842dEFdE0213'
|
12
|
+
|
13
|
+
def execute(self, account: AppAccount, chain='LINEA', wei_cost=from_eth_to_wei(0)):
|
14
|
+
Send(
|
15
|
+
None,
|
16
|
+
self.create_web3(account, chain)
|
17
|
+
).send_to_wallet(
|
18
|
+
account,
|
19
|
+
self.nft_address,
|
20
|
+
NativeBalance(wei_cost, chain, "ETH"),
|
21
|
+
"0x00000000"
|
22
|
+
)
|
23
|
+
|
24
|
+
def log(self):
|
25
|
+
return "LINEA CULTURE 3 WEEK DAY 3 (Daniele)"
|
@@ -0,0 +1,25 @@
|
|
1
|
+
from sybil_engine.contract.send import Send
|
2
|
+
from sybil_engine.domain.balance.balance import NativeBalance
|
3
|
+
from sybil_engine.domain.balance.balance_utils import from_eth_to_wei
|
4
|
+
from sybil_engine.utils.app_account_utils import AppAccount
|
5
|
+
|
6
|
+
from web3_wizzard_lib.core.modules.nft.nft_submodule import NftSubmodule
|
7
|
+
|
8
|
+
|
9
|
+
class LineaCultureWeek3Day4(NftSubmodule):
|
10
|
+
module_name = 'LINEA_CULTURE_3_5'
|
11
|
+
nft_address = '0x5A77B45B6f5309b07110fe98E25A178eEe7516c1'
|
12
|
+
|
13
|
+
def execute(self, account: AppAccount, chain='LINEA', wei_cost=from_eth_to_wei(0)):
|
14
|
+
Send(
|
15
|
+
None,
|
16
|
+
self.create_web3(account, chain)
|
17
|
+
).send_to_wallet(
|
18
|
+
account,
|
19
|
+
self.nft_address,
|
20
|
+
NativeBalance(wei_cost, chain, "ETH"),
|
21
|
+
f"0x731133e9000000000000000000000000{account.address[2:]}0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000"
|
22
|
+
)
|
23
|
+
|
24
|
+
def log(self):
|
25
|
+
return "LINEA CULTURE 3 WEEK DAY 5 (Demortal)"
|
@@ -0,0 +1,25 @@
|
|
1
|
+
from sybil_engine.contract.send import Send
|
2
|
+
from sybil_engine.domain.balance.balance import NativeBalance
|
3
|
+
from sybil_engine.domain.balance.balance_utils import from_eth_to_wei
|
4
|
+
from sybil_engine.utils.app_account_utils import AppAccount
|
5
|
+
|
6
|
+
from web3_wizzard_lib.core.modules.nft.nft_submodule import NftSubmodule
|
7
|
+
|
8
|
+
|
9
|
+
class LineaCultureWeek3Day4(NftSubmodule):
|
10
|
+
module_name = 'LINEA_CULTURE_3_6'
|
11
|
+
nft_address = '0xBcFa22a36E555c507092FF16c1af4cB74B8514C8'
|
12
|
+
|
13
|
+
def execute(self, account: AppAccount, chain='LINEA', wei_cost=from_eth_to_wei(0)):
|
14
|
+
Send(
|
15
|
+
None,
|
16
|
+
self.create_web3(account, chain)
|
17
|
+
).send_to_wallet(
|
18
|
+
account,
|
19
|
+
self.nft_address,
|
20
|
+
NativeBalance(wei_cost, chain, "ETH"),
|
21
|
+
f"0x1b7af8fc0c21cfbb000000000000000000000000000000000000000000000000000000002968bd75000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
|
22
|
+
)
|
23
|
+
|
24
|
+
def log(self):
|
25
|
+
return "LINEA CULTURE 3 WEEK DAY 6 (Foxy)"
|
@@ -0,0 +1,60 @@
|
|
1
|
+
import requests
|
2
|
+
from sybil_engine.contract.send import Send
|
3
|
+
from sybil_engine.domain.balance.balance import NativeBalance
|
4
|
+
from sybil_engine.domain.balance.balance_utils import from_eth_to_wei
|
5
|
+
from sybil_engine.utils.app_account_utils import AppAccount
|
6
|
+
|
7
|
+
from web3_wizzard_lib.core.modules.nft.nft_submodule import NftSubmodule
|
8
|
+
|
9
|
+
|
10
|
+
class LineaCultureWeek4Day1(NftSubmodule):
|
11
|
+
module_name = 'LINEA_CULTURE_4_1'
|
12
|
+
nft_address = '0xAd626D0F8BE64076C4c27a583e3df3878874467E'
|
13
|
+
|
14
|
+
def execute(self, account: AppAccount, chain='LINEA', wei_cost=from_eth_to_wei(0)):
|
15
|
+
url = 'https://public-api.phosphor.xyz/v1/purchase-intents'
|
16
|
+
|
17
|
+
data = {
|
18
|
+
"buyer": {
|
19
|
+
"eth_address": account.address
|
20
|
+
},
|
21
|
+
"listing_id": "fceb2be9-f9fd-458a-8952-9a0a6f873aff",
|
22
|
+
"provider": "MINT_VOUCHER",
|
23
|
+
"quantity": 1
|
24
|
+
}
|
25
|
+
|
26
|
+
proxy = {
|
27
|
+
'http': account.proxy,
|
28
|
+
'https': account.proxy
|
29
|
+
}
|
30
|
+
|
31
|
+
response = requests.post(url, json=data, proxies=proxy)
|
32
|
+
|
33
|
+
signature = response.json()['data']['signature'][2:]
|
34
|
+
expiry = response.json()['data']['voucher']['expiry']
|
35
|
+
|
36
|
+
data = f"0xd4dfd6bc0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000{decimal_to_hex(expiry)}00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000041{signature}00000000000000000000000000000000000000000000000000000000000000"
|
37
|
+
|
38
|
+
Send(
|
39
|
+
None,
|
40
|
+
self.create_web3(account, chain)
|
41
|
+
).send_to_wallet(
|
42
|
+
account,
|
43
|
+
self.nft_address,
|
44
|
+
NativeBalance(wei_cost, chain, "ETH"),
|
45
|
+
data
|
46
|
+
)
|
47
|
+
|
48
|
+
def log(self):
|
49
|
+
return "LINEA CULTURE 4 WEEK DAY 1 (Coop Records)"
|
50
|
+
|
51
|
+
def decimal_to_hex(decimal):
|
52
|
+
if decimal == 0:
|
53
|
+
return "0x0"
|
54
|
+
hex_digits = "0123456789ABCDEF"
|
55
|
+
hex_result = ""
|
56
|
+
while decimal > 0:
|
57
|
+
remainder = decimal % 16
|
58
|
+
hex_result = hex_digits[remainder] + hex_result
|
59
|
+
decimal = decimal // 16
|
60
|
+
return hex_result.lower()
|
@@ -0,0 +1,65 @@
|
|
1
|
+
import requests
|
2
|
+
from sybil_engine.contract.send import Send
|
3
|
+
from sybil_engine.domain.balance.balance import NativeBalance
|
4
|
+
from sybil_engine.domain.balance.balance_utils import from_eth_to_wei
|
5
|
+
from sybil_engine.utils.app_account_utils import AppAccount
|
6
|
+
from sybil_engine.utils.utils import AppException
|
7
|
+
|
8
|
+
from web3_wizzard_lib.core.modules.nft.nft_submodule import NftSubmodule
|
9
|
+
|
10
|
+
|
11
|
+
class LineaCultureWeek4Day2(NftSubmodule):
|
12
|
+
module_name = 'LINEA_CULTURE_4_2'
|
13
|
+
nft_address = '0x3f0A935c8f3Eb7F9112b54bD3b7fd19237E441Ee'
|
14
|
+
|
15
|
+
def execute(self, account: AppAccount, chain='LINEA', wei_cost=from_eth_to_wei(0)):
|
16
|
+
url = 'https://public-api.phosphor.xyz/v1/purchase-intents'
|
17
|
+
|
18
|
+
data = {
|
19
|
+
"buyer": {
|
20
|
+
"eth_address": account.address
|
21
|
+
},
|
22
|
+
"listing_id": "849e42a7-45dd-4a5b-a895-f5496e46ade2",
|
23
|
+
"provider": "MINT_VOUCHER",
|
24
|
+
"quantity": 1
|
25
|
+
}
|
26
|
+
|
27
|
+
proxy = {
|
28
|
+
'http': account.proxy,
|
29
|
+
'https': account.proxy
|
30
|
+
}
|
31
|
+
|
32
|
+
response = requests.post(url, json=data, proxies=proxy)
|
33
|
+
|
34
|
+
if 'error' in response.json():
|
35
|
+
raise AppException(response.json())
|
36
|
+
|
37
|
+
signature = response.json()['data']['signature'][2:]
|
38
|
+
expiry = response.json()['data']['voucher']['expiry']
|
39
|
+
nonce = response.json()['data']['voucher']['nonce']
|
40
|
+
|
41
|
+
data = f"0xd4dfd6bc0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000{nonce}00000000000000000000000000000000000000000000000000000000{decimal_to_hex(expiry)}00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000041{signature}00000000000000000000000000000000000000000000000000000000000000"
|
42
|
+
|
43
|
+
Send(
|
44
|
+
None,
|
45
|
+
self.create_web3(account, chain)
|
46
|
+
).send_to_wallet(
|
47
|
+
account,
|
48
|
+
self.nft_address,
|
49
|
+
NativeBalance(wei_cost, chain, "ETH"),
|
50
|
+
data
|
51
|
+
)
|
52
|
+
|
53
|
+
def log(self):
|
54
|
+
return "LINEA CULTURE 4 WEEK DAY 2 (Borja Moskv)"
|
55
|
+
|
56
|
+
def decimal_to_hex(decimal):
|
57
|
+
if decimal == 0:
|
58
|
+
return "0x0"
|
59
|
+
hex_digits = "0123456789ABCDEF"
|
60
|
+
hex_result = ""
|
61
|
+
while decimal > 0:
|
62
|
+
remainder = decimal % 16
|
63
|
+
hex_result = hex_digits[remainder] + hex_result
|
64
|
+
decimal = decimal // 16
|
65
|
+
return hex_result.lower()
|
@@ -0,0 +1,27 @@
|
|
1
|
+
from sybil_engine.contract.send import Send
|
2
|
+
from sybil_engine.domain.balance.balance import NativeBalance
|
3
|
+
from sybil_engine.domain.balance.balance_utils import from_eth_to_wei
|
4
|
+
from sybil_engine.utils.app_account_utils import AppAccount
|
5
|
+
|
6
|
+
from web3_wizzard_lib.core.modules.nft.nft_submodule import NftSubmodule
|
7
|
+
|
8
|
+
|
9
|
+
class LineaCultureWeek4Day2Approve(NftSubmodule):
|
10
|
+
module_name = 'LINEA_CULTURE_4_2_APPROVE'
|
11
|
+
nft_address = '0x3f0A935c8f3Eb7F9112b54bD3b7fd19237E441Ee'
|
12
|
+
|
13
|
+
def execute(self, account: AppAccount, chain='LINEA', wei_cost=from_eth_to_wei(0)):
|
14
|
+
data = f"0xa22cb4650000000000000000000000000cab6977a9c70e04458b740476b498b2140196410000000000000000000000000000000000000000000000000000000000000001"
|
15
|
+
|
16
|
+
Send(
|
17
|
+
None,
|
18
|
+
self.create_web3(account, chain)
|
19
|
+
).send_to_wallet(
|
20
|
+
account,
|
21
|
+
self.nft_address,
|
22
|
+
NativeBalance(wei_cost, chain, "ETH"),
|
23
|
+
data
|
24
|
+
)
|
25
|
+
|
26
|
+
def log(self):
|
27
|
+
return "LINEA CULTURE 4 WEEK DAY 2 (Borja Moskv APPROVE)"
|
@@ -0,0 +1,66 @@
|
|
1
|
+
import requests
|
2
|
+
from sybil_engine.contract.send import Send
|
3
|
+
from sybil_engine.domain.balance.balance import NativeBalance
|
4
|
+
from sybil_engine.domain.balance.balance_utils import from_eth_to_wei
|
5
|
+
from sybil_engine.utils.app_account_utils import AppAccount
|
6
|
+
from sybil_engine.utils.utils import AppException
|
7
|
+
|
8
|
+
from web3_wizzard_lib.core.modules.nft.nft_submodule import NftSubmodule
|
9
|
+
|
10
|
+
|
11
|
+
class LineaCultureWeek4Day2(NftSubmodule):
|
12
|
+
module_name = 'LINEA_CULTURE_4_3'
|
13
|
+
nft_address = '0x3EB78e881b28B71329344dF622Ea3A682538EC6a'
|
14
|
+
|
15
|
+
def execute(self, account: AppAccount, chain='LINEA', wei_cost=from_eth_to_wei(0)):
|
16
|
+
url = 'https://public-api.phosphor.xyz/v1/purchase-intents'
|
17
|
+
|
18
|
+
data = {
|
19
|
+
"buyer": {
|
20
|
+
"eth_address": account.address
|
21
|
+
},
|
22
|
+
"listing_id": "3d595f3e-6609-405f-ba3c-d1e28381f11a",
|
23
|
+
"provider": "MINT_VOUCHER",
|
24
|
+
"quantity": 1
|
25
|
+
}
|
26
|
+
|
27
|
+
proxy = {
|
28
|
+
'http': account.proxy,
|
29
|
+
'https': account.proxy
|
30
|
+
}
|
31
|
+
|
32
|
+
response = requests.post(url, json=data, proxies=proxy)
|
33
|
+
|
34
|
+
if 'error' in response.json():
|
35
|
+
raise AppException(response.json())
|
36
|
+
|
37
|
+
signature = response.json()['data']['signature'][2:]
|
38
|
+
expiry = response.json()['data']['voucher']['expiry']
|
39
|
+
nonce = response.json()['data']['voucher']['nonce']
|
40
|
+
|
41
|
+
data = f"0xd4dfd6bc0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000{nonce}00000000000000000000000000000000000000000000000000000000{decimal_to_hex(expiry)}00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000041{signature}00000000000000000000000000000000000000000000000000000000000000"
|
42
|
+
|
43
|
+
Send(
|
44
|
+
None,
|
45
|
+
self.create_web3(account, chain)
|
46
|
+
).send_to_wallet(
|
47
|
+
account,
|
48
|
+
self.nft_address,
|
49
|
+
NativeBalance(wei_cost, chain, "ETH"),
|
50
|
+
data
|
51
|
+
)
|
52
|
+
|
53
|
+
def log(self):
|
54
|
+
return "LINEA CULTURE 4 WEEK DAY 3 (Forbidden Fruit)"
|
55
|
+
|
56
|
+
|
57
|
+
def decimal_to_hex(decimal):
|
58
|
+
if decimal == 0:
|
59
|
+
return "0x0"
|
60
|
+
hex_digits = "0123456789ABCDEF"
|
61
|
+
hex_result = ""
|
62
|
+
while decimal > 0:
|
63
|
+
remainder = decimal % 16
|
64
|
+
hex_result = hex_digits[remainder] + hex_result
|
65
|
+
decimal = decimal // 16
|
66
|
+
return hex_result.lower()
|
@@ -0,0 +1,67 @@
|
|
1
|
+
import requests
|
2
|
+
from sybil_engine.contract.send import Send
|
3
|
+
from sybil_engine.domain.balance.balance import NativeBalance
|
4
|
+
from sybil_engine.domain.balance.balance_utils import from_eth_to_wei
|
5
|
+
from sybil_engine.utils.app_account_utils import AppAccount
|
6
|
+
from sybil_engine.utils.utils import AppException
|
7
|
+
|
8
|
+
from web3_wizzard_lib.core.modules.nft.nft_submodule import NftSubmodule
|
9
|
+
|
10
|
+
|
11
|
+
class LineaCultureWeek4Day2(NftSubmodule):
|
12
|
+
module_name = 'LINEA_CULTURE_4_4'
|
13
|
+
nft_address = '0x3EB78e881b28B71329344dF622Ea3A682538EC6a'
|
14
|
+
|
15
|
+
def execute(self, account: AppAccount, chain='LINEA', wei_cost=from_eth_to_wei(0)):
|
16
|
+
url = 'https://public-api.phosphor.xyz/v1/purchase-intents'
|
17
|
+
|
18
|
+
data = {
|
19
|
+
"buyer": {
|
20
|
+
"eth_address": account.address
|
21
|
+
},
|
22
|
+
"listing_id": "d3542d49-273c-4f2d-9d33-8904c773ed14",
|
23
|
+
"provider": "MINT_VOUCHER",
|
24
|
+
"quantity": 1
|
25
|
+
}
|
26
|
+
|
27
|
+
proxy = {
|
28
|
+
'http': account.proxy,
|
29
|
+
'https': account.proxy
|
30
|
+
}
|
31
|
+
|
32
|
+
response = requests.post(url, json=data, proxies=proxy)
|
33
|
+
|
34
|
+
if 'error' in response.json():
|
35
|
+
raise AppException(response.json())
|
36
|
+
|
37
|
+
signature = response.json()['data']['signature'][2:]
|
38
|
+
expiry = response.json()['data']['voucher']['expiry']
|
39
|
+
nonce = response.json()['data']['voucher']['nonce']
|
40
|
+
tokenID = response.json()['data']['voucher']['token_id']
|
41
|
+
|
42
|
+
data = f"0xd4dfd6bc0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000{nonce}00000000000000000000000000000000000000000000000000000000{decimal_to_hex(expiry)}0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000{tokenID}000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000041{signature}00000000000000000000000000000000000000000000000000000000000000"
|
43
|
+
|
44
|
+
Send(
|
45
|
+
None,
|
46
|
+
self.create_web3(account, chain)
|
47
|
+
).send_to_wallet(
|
48
|
+
account,
|
49
|
+
self.nft_address,
|
50
|
+
NativeBalance(wei_cost, chain, "ETH"),
|
51
|
+
data
|
52
|
+
)
|
53
|
+
|
54
|
+
def log(self):
|
55
|
+
return "LINEA CULTURE 4 WEEK DAY 4 (Fruit Crux)"
|
56
|
+
|
57
|
+
|
58
|
+
def decimal_to_hex(decimal):
|
59
|
+
if decimal == 0:
|
60
|
+
return "0x0"
|
61
|
+
hex_digits = "0123456789ABCDEF"
|
62
|
+
hex_result = ""
|
63
|
+
while decimal > 0:
|
64
|
+
remainder = decimal % 16
|
65
|
+
hex_result = hex_digits[remainder] + hex_result
|
66
|
+
decimal = decimal // 16
|
67
|
+
return hex_result.lower()
|
@@ -0,0 +1,67 @@
|
|
1
|
+
import requests
|
2
|
+
from sybil_engine.contract.send import Send
|
3
|
+
from sybil_engine.domain.balance.balance import NativeBalance
|
4
|
+
from sybil_engine.domain.balance.balance_utils import from_eth_to_wei
|
5
|
+
from sybil_engine.utils.app_account_utils import AppAccount
|
6
|
+
from sybil_engine.utils.utils import AppException
|
7
|
+
|
8
|
+
from web3_wizzard_lib.core.modules.nft.nft_submodule import NftSubmodule
|
9
|
+
|
10
|
+
|
11
|
+
class LineaCultureWeek4Day2(NftSubmodule):
|
12
|
+
module_name = 'LINEA_CULTURE_4_5'
|
13
|
+
nft_address = '0x3EB78e881b28B71329344dF622Ea3A682538EC6a'
|
14
|
+
|
15
|
+
def execute(self, account: AppAccount, chain='LINEA', wei_cost=from_eth_to_wei(0)):
|
16
|
+
url = 'https://public-api.phosphor.xyz/v1/purchase-intents'
|
17
|
+
|
18
|
+
data = {
|
19
|
+
"buyer": {
|
20
|
+
"eth_address": account.address
|
21
|
+
},
|
22
|
+
"listing_id": "3c23e064-486d-46c5-8675-eabbc2e7d15e",
|
23
|
+
"provider": "MINT_VOUCHER",
|
24
|
+
"quantity": 1
|
25
|
+
}
|
26
|
+
|
27
|
+
proxy = {
|
28
|
+
'http': account.proxy,
|
29
|
+
'https': account.proxy
|
30
|
+
}
|
31
|
+
|
32
|
+
response = requests.post(url, json=data, proxies=proxy)
|
33
|
+
|
34
|
+
if 'error' in response.json():
|
35
|
+
raise AppException(response.json())
|
36
|
+
|
37
|
+
signature = response.json()['data']['signature'][2:]
|
38
|
+
expiry = response.json()['data']['voucher']['expiry']
|
39
|
+
nonce = response.json()['data']['voucher']['nonce']
|
40
|
+
tokenID = response.json()['data']['voucher']['token_id']
|
41
|
+
|
42
|
+
data = f"0xd4dfd6bc0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000{nonce}00000000000000000000000000000000000000000000000000000000{decimal_to_hex(expiry)}0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000{tokenID}000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000041{signature}00000000000000000000000000000000000000000000000000000000000000"
|
43
|
+
|
44
|
+
Send(
|
45
|
+
None,
|
46
|
+
self.create_web3(account, chain)
|
47
|
+
).send_to_wallet(
|
48
|
+
account,
|
49
|
+
self.nft_address,
|
50
|
+
NativeBalance(wei_cost, chain, "ETH"),
|
51
|
+
data
|
52
|
+
)
|
53
|
+
|
54
|
+
def log(self):
|
55
|
+
return "LINEA CULTURE 4 WEEK DAY 5 (Forbidden Fruit)"
|
56
|
+
|
57
|
+
|
58
|
+
def decimal_to_hex(decimal):
|
59
|
+
if decimal == 0:
|
60
|
+
return "0x0"
|
61
|
+
hex_digits = "0123456789ABCDEF"
|
62
|
+
hex_result = ""
|
63
|
+
while decimal > 0:
|
64
|
+
remainder = decimal % 16
|
65
|
+
hex_result = hex_digits[remainder] + hex_result
|
66
|
+
decimal = decimal // 16
|
67
|
+
return hex_result.lower()
|
@@ -0,0 +1,67 @@
|
|
1
|
+
import requests
|
2
|
+
from sybil_engine.contract.send import Send
|
3
|
+
from sybil_engine.domain.balance.balance import NativeBalance
|
4
|
+
from sybil_engine.domain.balance.balance_utils import from_eth_to_wei
|
5
|
+
from sybil_engine.utils.app_account_utils import AppAccount
|
6
|
+
from sybil_engine.utils.utils import AppException
|
7
|
+
|
8
|
+
from web3_wizzard_lib.core.modules.nft.nft_submodule import NftSubmodule
|
9
|
+
|
10
|
+
|
11
|
+
class LineaCultureWeek4Day6(NftSubmodule):
|
12
|
+
module_name = 'LINEA_CULTURE_4_6'
|
13
|
+
nft_address = '0x8975e0635586C6754C8D549Db0e3C7Ee807D9C8C'
|
14
|
+
|
15
|
+
def execute(self, account: AppAccount, chain='LINEA', wei_cost=from_eth_to_wei(0)):
|
16
|
+
url = 'https://public-api.phosphor.xyz/v1/purchase-intents'
|
17
|
+
|
18
|
+
data = {
|
19
|
+
"buyer": {
|
20
|
+
"eth_address": account.address
|
21
|
+
},
|
22
|
+
"listing_id": "86a8741b-28dd-42ca-9f2f-dfb173a62099",
|
23
|
+
"provider": "MINT_VOUCHER",
|
24
|
+
"quantity": 1
|
25
|
+
}
|
26
|
+
|
27
|
+
proxy = {
|
28
|
+
'http': account.proxy,
|
29
|
+
'https': account.proxy
|
30
|
+
}
|
31
|
+
|
32
|
+
response = requests.post(url, json=data, proxies=proxy)
|
33
|
+
|
34
|
+
if 'error' in response.json():
|
35
|
+
raise AppException(response.json())
|
36
|
+
|
37
|
+
signature = response.json()['data']['signature'][2:]
|
38
|
+
expiry = response.json()['data']['voucher']['expiry']
|
39
|
+
nonce = response.json()['data']['voucher']['nonce']
|
40
|
+
tokenID = response.json()['data']['voucher']['token_id']
|
41
|
+
|
42
|
+
data = f"0xd4dfd6bc0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000{nonce}00000000000000000000000000000000000000000000000000000000{decimal_to_hex(expiry)}0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000{tokenID}000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000041{signature}00000000000000000000000000000000000000000000000000000000000000"
|
43
|
+
|
44
|
+
Send(
|
45
|
+
None,
|
46
|
+
self.create_web3(account, chain)
|
47
|
+
).send_to_wallet(
|
48
|
+
account,
|
49
|
+
self.nft_address,
|
50
|
+
NativeBalance(wei_cost, chain, "ETH"),
|
51
|
+
data
|
52
|
+
)
|
53
|
+
|
54
|
+
def log(self):
|
55
|
+
return "LINEA CULTURE 4 WEEK DAY 6 (Laurent)"
|
56
|
+
|
57
|
+
|
58
|
+
def decimal_to_hex(decimal):
|
59
|
+
if decimal == 0:
|
60
|
+
return "0x0"
|
61
|
+
hex_digits = "0123456789ABCDEF"
|
62
|
+
hex_result = ""
|
63
|
+
while decimal > 0:
|
64
|
+
remainder = decimal % 16
|
65
|
+
hex_result = hex_digits[remainder] + hex_result
|
66
|
+
decimal = decimal // 16
|
67
|
+
return hex_result.lower()
|
@@ -0,0 +1,20 @@
|
|
1
|
+
from sybil_engine.data.networks import get_chain_instance
|
2
|
+
from sybil_engine.utils.app_account_utils import AppAccount
|
3
|
+
from sybil_engine.utils.web3_utils import init_web3
|
4
|
+
|
5
|
+
from web3_wizzard_lib.core.contract.linea_day_2_contract import LineaDay2
|
6
|
+
from web3_wizzard_lib.core.utils.sub_module import SubModule
|
7
|
+
|
8
|
+
|
9
|
+
class LineaCultureDay2(SubModule):
|
10
|
+
module_name = 'LINEA_CULTURE_2'
|
11
|
+
|
12
|
+
def execute(self, account: AppAccount, chain='LINEA'):
|
13
|
+
chain_instance = get_chain_instance(chain)
|
14
|
+
web3 = init_web3(chain_instance, account.proxy)
|
15
|
+
|
16
|
+
linea = LineaDay2('0xB8DD4f5Aa8AD3fEADc50F9d670644c02a07c9374', web3)
|
17
|
+
linea.approve(account)
|
18
|
+
|
19
|
+
def log(self):
|
20
|
+
return "LINEA CULTURE 2"
|
@@ -0,0 +1,20 @@
|
|
1
|
+
from sybil_engine.data.networks import get_chain_instance
|
2
|
+
from sybil_engine.utils.app_account_utils import AppAccount
|
3
|
+
from sybil_engine.utils.web3_utils import init_web3
|
4
|
+
|
5
|
+
from web3_wizzard_lib.core.contract.linea_day_3_contract import LineaDay3
|
6
|
+
from web3_wizzard_lib.core.utils.sub_module import SubModule
|
7
|
+
|
8
|
+
|
9
|
+
class LineaCultureDay3(SubModule):
|
10
|
+
module_name = 'LINEA_CULTURE_3'
|
11
|
+
|
12
|
+
def execute(self, account: AppAccount, chain='LINEA'):
|
13
|
+
chain_instance = get_chain_instance(chain)
|
14
|
+
web3 = init_web3(chain_instance, account.proxy)
|
15
|
+
|
16
|
+
linea = LineaDay3('0x3685102bc3D0dd23A88eF8fc084a8235bE929f1c', web3)
|
17
|
+
linea.claim(account)
|
18
|
+
|
19
|
+
def log(self):
|
20
|
+
return "LINEA CULTURE 3"
|
@@ -0,0 +1,107 @@
|
|
1
|
+
from random import choices
|
2
|
+
from string import ascii_letters, digits
|
3
|
+
|
4
|
+
import requests
|
5
|
+
from eth_utils import keccak
|
6
|
+
from faker import Faker
|
7
|
+
from loguru import logger
|
8
|
+
from sybil_engine.data.networks import get_chain_instance
|
9
|
+
from sybil_engine.utils.app_account_utils import AppAccount
|
10
|
+
from sybil_engine.utils.retry import retry
|
11
|
+
from sybil_engine.utils.web3_utils import init_web3
|
12
|
+
|
13
|
+
from web3_wizzard_lib.core.contract.linea_ens_names_contract import LineaEnsNamesContract
|
14
|
+
from web3_wizzard_lib.core.utils.sub_module import SubModule
|
15
|
+
from web3_wizzard_lib.core.modules.nft_minter import SkipRetryException
|
16
|
+
|
17
|
+
|
18
|
+
class LineaENSNames(SubModule):
|
19
|
+
module_name = 'LINEA_ENS'
|
20
|
+
nft_address = '0xDb75Db974B1F2bD3b5916d503036208064D18295'
|
21
|
+
|
22
|
+
def execute(self, account: AppAccount, chain='LINEA'):
|
23
|
+
self.sleep_after_conf = True
|
24
|
+
|
25
|
+
chain_instance = get_chain_instance(chain)
|
26
|
+
web3 = init_web3(chain_instance, account.proxy)
|
27
|
+
|
28
|
+
contract = LineaEnsNamesContract(self.nft_address, web3)
|
29
|
+
|
30
|
+
linea_name = self.get_available_name(contract)
|
31
|
+
|
32
|
+
if contract.redeemed(account):
|
33
|
+
#logger.info("[+] Web3 | Wallet already redeemed Linea name.")
|
34
|
+
raise SkipRetryException("[+] Web3 | Wallet already redeemed Linea name.")
|
35
|
+
|
36
|
+
logger.info(f"Minting {linea_name}.linea.eth for {account.address}")
|
37
|
+
duration = 60 * 60 * 24 * 365 * 3 # 3 years
|
38
|
+
secret, data = self.commit(account, linea_name, duration, contract)
|
39
|
+
|
40
|
+
# Uncomment the following line to perform the registration
|
41
|
+
self.register_poh(account, contract, data, duration, linea_name, secret)
|
42
|
+
|
43
|
+
def get_available_name(self, contract):
|
44
|
+
while True:
|
45
|
+
linea_name = self.generate_linea_name()
|
46
|
+
if contract.available(linea_name):
|
47
|
+
break
|
48
|
+
logger.warning(f'[-] Web3 | Linea name "{linea_name}.linea.eth" is unavailable. Retrying...')
|
49
|
+
return linea_name
|
50
|
+
|
51
|
+
@retry(max_attempts=20, retry_interval={'from': 10, 'to': 20})
|
52
|
+
def register_poh(self, account, contract, data, duration, linea_name, secret):
|
53
|
+
contract.register_poh(account, linea_name, duration, secret, data, self.get_poh_signature(account))
|
54
|
+
|
55
|
+
def generate_linea_name(self):
|
56
|
+
return Faker().user_name().replace('_', '-')
|
57
|
+
|
58
|
+
def log(self):
|
59
|
+
return "LINEA ENS"
|
60
|
+
|
61
|
+
def commit(self, account, linea_name: str, duration: int, linea_ens_contract):
|
62
|
+
secret = "0x" + ''.join(choices(ascii_letters + digits, k=10)).encode().hex().ljust(64, '0')
|
63
|
+
hashed_name = self.namehash(f"{linea_name}.linea.eth")
|
64
|
+
data = linea_ens_contract.addr_contract.functions.setAddr(
|
65
|
+
hashed_name, 60,
|
66
|
+
account.address
|
67
|
+
)._encode_transaction_data()
|
68
|
+
|
69
|
+
commitment = linea_ens_contract.make_commitment(
|
70
|
+
account,
|
71
|
+
linea_name,
|
72
|
+
duration,
|
73
|
+
secret,
|
74
|
+
data,
|
75
|
+
)
|
76
|
+
|
77
|
+
linea_ens_contract.commit(account, commitment)
|
78
|
+
|
79
|
+
return secret, data
|
80
|
+
|
81
|
+
def namehash(self, name: str):
|
82
|
+
labels = name.split('.')
|
83
|
+
labels.reverse()
|
84
|
+
result = "0000000000000000000000000000000000000000000000000000000000000000"
|
85
|
+
|
86
|
+
for label in labels:
|
87
|
+
hashed = keccak(text=label).hex()
|
88
|
+
result = keccak(hexstr=result + hashed).hex()
|
89
|
+
|
90
|
+
return "0x" + result
|
91
|
+
|
92
|
+
def sleep_after_conf(self):
|
93
|
+
return self.sleep_after_conf
|
94
|
+
|
95
|
+
def get_poh_signature(self, account):
|
96
|
+
headers = {
|
97
|
+
"Origin": "https://relay.link",
|
98
|
+
"Referer": "https://relay.link/"
|
99
|
+
}
|
100
|
+
|
101
|
+
r = requests.get(f'https://linea-poh-signer-api.linea.build/poh/{account.address}', headers=headers)
|
102
|
+
if len(r.text) == 132 and r.text.startswith("0x"):
|
103
|
+
return {"sign": r.text, "success": True, "msg": ""}
|
104
|
+
elif "address not POH" in r.text:
|
105
|
+
return {"sign": "", "success": False, "msg": "This wallet dont have POH"}
|
106
|
+
else:
|
107
|
+
raise Exception(r.text)
|