web3-wizzard-lib 0.0.2__py3-none-any.whl → 0.1.0__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/modules/linea_appeal.py +69 -52
- web3_wizzard_lib/core/modules/stargate/farming.py +1 -1
- 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 +26 -0
- web3_wizzard_lib-0.1.0.data/data/requirements.txt +1 -0
- {web3_wizzard_lib-0.0.2.dist-info → web3_wizzard_lib-0.1.0.dist-info}/METADATA +9 -4
- {web3_wizzard_lib-0.0.2.dist-info → web3_wizzard_lib-0.1.0.dist-info}/RECORD +10 -294
- {web3_wizzard_lib-0.0.2.dist-info → web3_wizzard_lib-0.1.0.dist-info}/WHEEL +1 -1
- core/__init__.py +0 -1
- core/contract/__init__.py +0 -0
- core/contract/aavecontract.py +0 -36
- core/contract/alienswap_contract.py +0 -21
- core/contract/arena_games_contract.py +0 -16
- core/contract/basiliskcontract.py +0 -58
- core/contract/bilinear_contract.py +0 -22
- core/contract/bungee.py +0 -33
- core/contract/coredao_contract.py +0 -35
- core/contract/coredao_from_contract.py +0 -40
- core/contract/dmail_send_mail.py +0 -18
- core/contract/empty_nft.py +0 -18
- core/contract/era_name.py +0 -23
- core/contract/eralendcontract.py +0 -34
- core/contract/eth_scroll_bridge_contract.py +0 -25
- core/contract/frog_war_contract.py +0 -48
- core/contract/horizondex_quoter.py +0 -14
- core/contract/horizondex_router.py +0 -91
- core/contract/imagine_contract.py +0 -18
- core/contract/izumi.py +0 -63
- core/contract/kreatorland_contract.py +0 -21
- core/contract/l0_claim.py +0 -254
- core/contract/l2_telegraph.py +0 -21
- core/contract/layerbank_price.py +0 -18
- core/contract/layerbank_token.py +0 -29
- core/contract/layerbankcontract.py +0 -59
- core/contract/linea_day_2_contract.py +0 -19
- core/contract/linea_day_3_contract.py +0 -55
- core/contract/linea_ens_names_contract.py +0 -55
- core/contract/lineaswaprouter.py +0 -52
- core/contract/maverick_multicall.py +0 -52
- core/contract/mendi_finance_contract.py +0 -11
- core/contract/mendi_token.py +0 -25
- core/contract/merkly_minter.py +0 -47
- core/contract/micro3_contract.py +0 -18
- core/contract/mute_router.py +0 -93
- core/contract/nidum_contract.py +0 -44
- core/contract/nile_contract.py +0 -60
- core/contract/nomis_attest_contract.py +0 -40
- core/contract/nomis_contract.py +0 -40
- core/contract/octomos.py +0 -31
- core/contract/odos.py +0 -104
- core/contract/omnisea.py +0 -29
- core/contract/orbiter_starknet.py +0 -30
- core/contract/pancake_pool.py +0 -19
- core/contract/pancake_quoter.py +0 -20
- core/contract/pancake_router.py +0 -72
- core/contract/rage_claim.py +0 -24
- core/contract/reactor_fusion_contract.py +0 -78
- core/contract/readon_contract.py +0 -19
- core/contract/rubyscore_contract.py +0 -31
- core/contract/satoshi_universe_contract.py +0 -29
- core/contract/scroll_bridge_contract.py +0 -24
- core/contract/scroll_canvas_mint_contract.py +0 -26
- core/contract/scroll_oracle.py +0 -11
- core/contract/snap_contract.py +0 -16
- core/contract/social_scan_contract.py +0 -20
- core/contract/stargate_farming.py +0 -37
- core/contract/stargate_router.py +0 -84
- core/contract/stargate_router_eth.py +0 -41
- core/contract/stargate_token_pool.py +0 -46
- core/contract/stargate_v2_contract.py +0 -36
- core/contract/syncswap_classic_pool.py +0 -15
- core/contract/syncswap_classic_pool_factory.py +0 -15
- core/contract/syncswap_pool.py +0 -25
- core/contract/syncswap_router.py +0 -123
- core/contract/tavaera_id.py +0 -18
- core/contract/tavaera_mint.py +0 -17
- core/contract/townstory_bonus_contract.py +0 -19
- core/contract/townstory_contract.py +0 -21
- core/contract/velocore_lens.py +0 -44
- core/contract/velocore_pool.py +0 -198
- core/contract/velocore_router.py +0 -80
- core/contract/woofi_swap.py +0 -29
- core/contract/xy_finance_contract.py +0 -87
- core/contract/yoddlo_contract.py +0 -19
- core/contract/yuliverse_contract.py +0 -36
- core/contract/zebra_contract.py +0 -68
- core/contract/zerolend_contract.py +0 -34
- core/contract/zerolend_liq_contract.py +0 -20
- core/contract/zkdx_contract.py +0 -40
- core/contract/zkdx_data.py +0 -14
- core/contract/zks.py +0 -24
- core/modules/__init__.py +0 -0
- core/modules/ads_import_proxy.py +0 -52
- core/modules/airdrop_printer.py +0 -80
- core/modules/bank/__init__.py +0 -0
- core/modules/bank/aave.py +0 -25
- core/modules/bank/bank.py +0 -15
- core/modules/bank/bank_module.py +0 -99
- core/modules/bank/basilisk.py +0 -25
- core/modules/bank/eralend.py +0 -25
- core/modules/bank/layerbank.py +0 -116
- core/modules/bank/mendi_finance.py +0 -57
- core/modules/bank/reactorfusion.py +0 -25
- core/modules/bank/zerolend.py +0 -36
- core/modules/bridge/__init__.py +0 -0
- core/modules/bridge/bridge.py +0 -8
- core/modules/bridge/coredao_bridge_sub.py +0 -47
- core/modules/bridge/orbiter_sub.py +0 -112
- core/modules/bridge/scroll_bridge_sub.py +0 -42
- core/modules/bridge/stargate_v2_sub.py +0 -74
- core/modules/bridge_module.py +0 -47
- core/modules/bungee.py +0 -109
- core/modules/cex_sender.py +0 -60
- core/modules/cex_subaccount_transfer.py +0 -34
- core/modules/cex_withdraw.py +0 -91
- core/modules/claimer.py +0 -45
- core/modules/claims/__init__.py +0 -0
- core/modules/claims/layerzero_claimer.py +0 -64
- core/modules/claims/rabby_claimer.py +0 -81
- core/modules/concrete_swap.py +0 -97
- core/modules/coredao_bridge.py +0 -32
- core/modules/coredao_bridge_auto.py +0 -39
- core/modules/debank_checker.py +0 -90
- core/modules/dmail.py +0 -54
- core/modules/erc20_balance.py +0 -42
- core/modules/intract/__init__.py +0 -0
- core/modules/intract/intract_api.py +0 -212
- core/modules/intract/utils.py +0 -81
- core/modules/intract_claim.py +0 -104
- core/modules/layer_2_20.py +0 -65
- core/modules/lending_module.py +0 -134
- core/modules/linea_appeal.py +0 -70
- core/modules/linea_poh_lxp.py +0 -64
- core/modules/liquidity/__init__.py +0 -0
- core/modules/liquidity/nile_pool.py +0 -64
- core/modules/liquidity/pool.py +0 -16
- core/modules/liquidity/syncswap_pool.py +0 -61
- core/modules/liquidity/velocore_pool.py +0 -55
- core/modules/liquidity/zerolend_liquidity.py +0 -26
- core/modules/liquidity_pool.py +0 -60
- core/modules/merkly_refuel.py +0 -87
- core/modules/modules.py +0 -4
- core/modules/nft/__init__.py +0 -0
- core/modules/nft/abbys_world.py +0 -22
- core/modules/nft/acg_worlds.py +0 -25
- core/modules/nft/alienswap_linea.py +0 -22
- core/modules/nft/arena_games.py +0 -22
- core/modules/nft/asmatch.py +0 -22
- core/modules/nft/battlemon.py +0 -25
- core/modules/nft/bilinear.py +0 -22
- core/modules/nft/bitavatar.py +0 -25
- core/modules/nft/culture_satoshi_universe.py +0 -24
- core/modules/nft/efrogs.py +0 -26
- core/modules/nft/empty_nft.py +0 -22
- core/modules/nft/era_domain.py +0 -42
- core/modules/nft/frog_war.py +0 -22
- core/modules/nft/frog_war_bonus.py +0 -22
- core/modules/nft/gamerboom.py +0 -25
- core/modules/nft/gamerboom_bonus.py +0 -26
- core/modules/nft/imagine.py +0 -32
- core/modules/nft/kreatorland_module.py +0 -35
- core/modules/nft/l2_telegraph_module.py +0 -22
- core/modules/nft/layer3_meta.py +0 -25
- core/modules/nft/linea_culture_2_2_linus.py +0 -24
- core/modules/nft/linea_culture_2_3_yooldo.py +0 -24
- core/modules/nft/linea_culture_2_4_frogwar.py +0 -24
- core/modules/nft/linea_culture_2_5_acg.py +0 -25
- core/modules/nft/linea_culture_2_6_ascend_the_end.py +0 -25
- core/modules/nft/linea_culture_3_1_ascend_the_end.py +0 -25
- core/modules/nft/linea_culture_3_2_sending_me.py +0 -25
- core/modules/nft/linea_culture_3_3_townstory.py +0 -25
- core/modules/nft/linea_culture_3_4_daniele.py +0 -25
- core/modules/nft/linea_culture_3_5_demmortal.py +0 -25
- core/modules/nft/linea_culture_3_6_foxy.py +0 -25
- core/modules/nft/linea_culture_4_1_coop_records.py +0 -60
- core/modules/nft/linea_culture_4_2_borja_moskv.py +0 -65
- core/modules/nft/linea_culture_4_2_borja_moskv_approve.py +0 -27
- core/modules/nft/linea_culture_4_3_fruit.py +0 -66
- core/modules/nft/linea_culture_4_4_fruit_crux.py +0 -67
- core/modules/nft/linea_culture_4_5_forbidden_fruit.py +0 -67
- core/modules/nft/linea_culture_4_6_laurent.py +0 -67
- core/modules/nft/linea_culture_day2.py +0 -20
- core/modules/nft/linea_culture_day3.py +0 -20
- core/modules/nft/linea_ens_names.py +0 -107
- core/modules/nft/lucky_cat.py +0 -25
- core/modules/nft/merkly_minter_module.py +0 -22
- core/modules/nft/micro3.py +0 -23
- core/modules/nft/mint_2048.py +0 -28
- core/modules/nft/nft_submodule.py +0 -16
- core/modules/nft/nidum.py +0 -87
- core/modules/nft/nidum_bonus.py +0 -23
- core/modules/nft/nomis.py +0 -64
- core/modules/nft/nomis_attest.py +0 -66
- core/modules/nft/nouns.py +0 -27
- core/modules/nft/octomos.py +0 -32
- core/modules/nft/omnisea.py +0 -33
- core/modules/nft/omnizone.py +0 -25
- core/modules/nft/orbiter_claim.py +0 -87
- core/modules/nft/readon.py +0 -30
- core/modules/nft/rubyscore.py +0 -45
- core/modules/nft/sarubol.py +0 -22
- core/modules/nft/satoshi_universe.py +0 -22
- core/modules/nft/scroll_canvas_attest_year_badge.py +0 -35
- core/modules/nft/scroll_canvas_mint.py +0 -51
- core/modules/nft/sign.py +0 -32
- core/modules/nft/snap.py +0 -25
- core/modules/nft/snap_bonus.py +0 -31
- core/modules/nft/social_scan.py +0 -22
- core/modules/nft/sub_module.py +0 -8
- core/modules/nft/tavaera.py +0 -30
- core/modules/nft/townstory.py +0 -75
- core/modules/nft/townstory_bonus.py +0 -45
- core/modules/nft/trusta_reputation.py +0 -48
- core/modules/nft/trustaa_poh.py +0 -49
- core/modules/nft/uber_poh.py +0 -24
- core/modules/nft/wizards_of_linea.py +0 -26
- core/modules/nft/yoddlo.py +0 -22
- core/modules/nft/yuliverse.py +0 -22
- core/modules/nft/zace.py +0 -25
- core/modules/nft/zks_domain.py +0 -41
- core/modules/nft_minter.py +0 -107
- core/modules/orbiter.py +0 -39
- core/modules/orbiter_checker.py +0 -26
- core/modules/rage.py +0 -54
- core/modules/scroll_bridge.py +0 -45
- core/modules/sell_all.py +0 -51
- core/modules/sleep_module.py +0 -25
- core/modules/smart_contract_deployment.py +0 -37
- core/modules/stargate/__init__.py +0 -0
- core/modules/stargate/auto_bridge.py +0 -91
- core/modules/stargate/bridge.py +0 -38
- core/modules/stargate/bridge_eth.py +0 -59
- core/modules/stargate/bridge_tokens.py +0 -48
- core/modules/stargate/classic_bridge.py +0 -34
- core/modules/stargate/farming.py +0 -163
- core/modules/stargate/l0_data.py +0 -10
- core/modules/stargate/pool.py +0 -74
- core/modules/stargate/stargate_balance_utils.py +0 -25
- core/modules/stargate/stargate_gas_checker.py +0 -68
- core/modules/swap/__init__.py +0 -1
- core/modules/swap/horizondex.py +0 -38
- core/modules/swap/izumi.py +0 -41
- core/modules/swap/lineaswap.py +0 -34
- core/modules/swap/maverick.py +0 -66
- core/modules/swap/mute.py +0 -39
- core/modules/swap/odos.py +0 -58
- core/modules/swap/one_inch.py +0 -58
- core/modules/swap/pancake.py +0 -41
- core/modules/swap/swap_facade.py +0 -10
- core/modules/swap/syncswap.py +0 -62
- core/modules/swap/velocore.py +0 -40
- core/modules/swap/woofi.py +0 -38
- core/modules/swap/xy_finance.py +0 -43
- core/modules/swap/zebra.py +0 -32
- core/modules/warm_up.py +0 -98
- core/modules/wrapping.py +0 -74
- core/modules/zkdx.py +0 -63
- tests/core/__init__.py +0 -0
- tests/core/contracts/__init__.py +0 -0
- tests/core/contracts/test_horizondex_quoter.py +0 -37
- tests/core/contracts/test_uniswap_quoter.py +0 -35
- tests/core/contracts/test_velocore_lens.py +0 -67
- tests/core/contracts/test_velocore_pool.py +0 -57
- tests/core/modules/__init__.py +0 -67
- tests/core/modules/swap/__init__.py +0 -0
- tests/core/modules/swap/test_horizondex.py +0 -37
- tests/core/modules/swap/test_lineaswap.py +0 -28
- tests/core/modules/swap/test_maverick.py +0 -31
- tests/core/modules/swap/test_mute.py +0 -29
- tests/core/modules/swap/test_odos.py +0 -36
- tests/core/modules/swap/test_pancake.py +0 -54
- tests/core/modules/swap/test_syncswap.py +0 -59
- tests/core/modules/swap/test_velocore.py +0 -33
- tests/core/modules/swap/test_woofi.py +0 -22
- tests/core/modules/test_bungee.py +0 -27
- tests/core/modules/test_concrete_swap.py +0 -62
- tests/core/modules/test_dmail.py +0 -41
- tests/core/modules/test_lending.py +0 -122
- tests/core/modules/test_nft.py +0 -32
- tests/core/modules/test_nft_minter.py +0 -30
- tests/core/modules/test_orbiter.py +0 -28
- tests/core/modules/test_sellall.py +0 -27
- tests/core/modules/test_send_to_cex.py +0 -27
- tests/core/modules/test_stargate_auto_bridge.py +0 -32
- tests/core/modules/test_stargate_bridge.py +0 -25
- tests/core/modules/test_stargate_farming.py +0 -108
- tests/core/modules/test_warmup.py +0 -78
- tests/core/modules/test_wrapping.py +0 -68
- tests/core/scenario/__init__.py +0 -0
- tests/core/scenario/module_0_test_config.py +0 -91
- tests/core/test_app.py +0 -19
- tests/core/test_config.py +0 -34
- web3_wizzard_lib/core/modules/modules.py +0 -27
- web3_wizzard_lib/core/modules/nft/sub_module.py +0 -8
- web3_wizzard_lib/core/modules/swap/swap_facade.py +0 -10
- web3_wizzard_lib-0.0.2.data/data/requirements.txt +0 -1
- {web3_wizzard_lib-0.0.2.dist-info → web3_wizzard_lib-0.1.0.dist-info}/top_level.txt +0 -0
core/contract/l0_claim.py
DELETED
@@ -1,254 +0,0 @@
|
|
1
|
-
from sybil_engine.contract.contract import Contract
|
2
|
-
from sybil_engine.contract.transaction_executor import evm_transaction
|
3
|
-
|
4
|
-
abi = [{'inputs': [{'internalType': 'address', 'name': '_zroToken', 'type': 'address'},
|
5
|
-
{'internalType': 'address', 'name': '_endpoint', 'type': 'address'},
|
6
|
-
{'internalType': 'bytes32', 'name': '_merkleRoot', 'type': 'bytes32'},
|
7
|
-
{'internalType': 'address', 'name': '_donateContract', 'type': 'address'},
|
8
|
-
{'internalType': 'address', 'name': '_stargateUsdc', 'type': 'address'},
|
9
|
-
{'internalType': 'address', 'name': '_stargateUsdt', 'type': 'address'},
|
10
|
-
{'internalType': 'address', 'name': '_stargateNative', 'type': 'address'},
|
11
|
-
{'internalType': 'uint256', 'name': '_nativePrice', 'type': 'uint256'},
|
12
|
-
{'internalType': 'address', 'name': '_owner', 'type': 'address'}], 'stateMutability': 'nonpayable',
|
13
|
-
'type': 'constructor'},
|
14
|
-
{'inputs': [{'internalType': 'address', 'name': 'target', 'type': 'address'}], 'name': 'AddressEmptyCode',
|
15
|
-
'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}],
|
16
|
-
'name': 'AddressInsufficientBalance', 'type': 'error'},
|
17
|
-
{'inputs': [{'internalType': 'address', 'name': 'user', 'type': 'address'}], 'name': 'AlreadyClaimed',
|
18
|
-
'type': 'error'}, {'inputs': [], 'name': 'DonateAndClaimAlreadySet', 'type': 'error'},
|
19
|
-
{'inputs': [], 'name': 'FailedInnerCall', 'type': 'error'}, {
|
20
|
-
'inputs': [{'internalType': 'enum Currency', 'name': 'currency', 'type': 'uint8'},
|
21
|
-
{'internalType': 'uint256', 'name': 'expectedAmount', 'type': 'uint256'},
|
22
|
-
{'internalType': 'uint256', 'name': 'actualAmount', 'type': 'uint256'}],
|
23
|
-
'name': 'InsufficientDonation', 'type': 'error'}, {'inputs': [], 'name': 'InvalidDelegate', 'type': 'error'},
|
24
|
-
{'inputs': [], 'name': 'InvalidEndpointCall', 'type': 'error'},
|
25
|
-
{'inputs': [], 'name': 'InvalidNativeStargate', 'type': 'error'},
|
26
|
-
{'inputs': [], 'name': 'InvalidProof', 'type': 'error'},
|
27
|
-
{'inputs': [{'internalType': 'uint32', 'name': 'eid', 'type': 'uint32'}], 'name': 'NoPeer', 'type': 'error'},
|
28
|
-
{'inputs': [], 'name': 'OnlyDonateAndClaim', 'type': 'error'},
|
29
|
-
{'inputs': [{'internalType': 'address', 'name': 'addr', 'type': 'address'}], 'name': 'OnlyEndpoint',
|
30
|
-
'type': 'error'}, {'inputs': [{'internalType': 'uint32', 'name': 'eid', 'type': 'uint32'},
|
31
|
-
{'internalType': 'bytes32', 'name': 'sender', 'type': 'bytes32'}],
|
32
|
-
'name': 'OnlyPeer', 'type': 'error'},
|
33
|
-
{'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'OwnableInvalidOwner',
|
34
|
-
'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}],
|
35
|
-
'name': 'OwnableUnauthorizedAccount', 'type': 'error'},
|
36
|
-
{'inputs': [{'internalType': 'address', 'name': 'token', 'type': 'address'}], 'name': 'SafeERC20FailedOperation',
|
37
|
-
'type': 'error'}, {'inputs': [{'internalType': 'enum Currency', 'name': 'currency', 'type': 'uint8'}],
|
38
|
-
'name': 'UnsupportedCurrency', 'type': 'error'},
|
39
|
-
{'inputs': [], 'name': 'DENOMINATOR', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}],
|
40
|
-
'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'components': [
|
41
|
-
{'internalType': 'uint32', 'name': 'srcEid', 'type': 'uint32'},
|
42
|
-
{'internalType': 'bytes32', 'name': 'sender', 'type': 'bytes32'},
|
43
|
-
{'internalType': 'uint64', 'name': 'nonce', 'type': 'uint64'}], 'internalType': 'struct Origin',
|
44
|
-
'name': 'origin', 'type': 'tuple'}],
|
45
|
-
'name': 'allowInitializePath', 'outputs': [
|
46
|
-
{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'view', 'type': 'function'}, {
|
47
|
-
'inputs': [{'internalType': 'enum Currency', 'name': '_currency', 'type': 'uint8'},
|
48
|
-
{'internalType': 'address', 'name': '_user', 'type': 'address'},
|
49
|
-
{'internalType': 'uint256', 'name': '_zroAmount', 'type': 'uint256'}], 'name': 'assertDonation',
|
50
|
-
'outputs': [], 'stateMutability': 'view', 'type': 'function'}, {
|
51
|
-
'inputs': [{'internalType': 'address', 'name': '_user', 'type': 'address'},
|
52
|
-
{'internalType': 'enum Currency', 'name': '_currency', 'type': 'uint8'},
|
53
|
-
{'internalType': 'uint256', 'name': '_zroAmount', 'type': 'uint256'},
|
54
|
-
{'internalType': 'bytes32[]', 'name': '_proof', 'type': 'bytes32[]'},
|
55
|
-
{'internalType': 'address', 'name': '_to', 'type': 'address'},
|
56
|
-
{'internalType': 'bytes', 'name': '', 'type': 'bytes'}], 'name': 'claim', 'outputs': [{
|
57
|
-
'components': [
|
58
|
-
{
|
59
|
-
'internalType': 'bytes32',
|
60
|
-
'name': 'guid',
|
61
|
-
'type': 'bytes32'},
|
62
|
-
{
|
63
|
-
'internalType': 'uint64',
|
64
|
-
'name': 'nonce',
|
65
|
-
'type': 'uint64'},
|
66
|
-
{
|
67
|
-
'components': [
|
68
|
-
{
|
69
|
-
'internalType': 'uint256',
|
70
|
-
'name': 'nativeFee',
|
71
|
-
'type': 'uint256'},
|
72
|
-
{
|
73
|
-
'internalType': 'uint256',
|
74
|
-
'name': 'lzTokenFee',
|
75
|
-
'type': 'uint256'}],
|
76
|
-
'internalType': 'struct MessagingFee',
|
77
|
-
'name': 'fee',
|
78
|
-
'type': 'tuple'}],
|
79
|
-
'internalType': 'struct MessagingReceipt',
|
80
|
-
'name': 'receipt',
|
81
|
-
'type': 'tuple'}],
|
82
|
-
'stateMutability': 'payable', 'type': 'function'}, {
|
83
|
-
'inputs': [{'internalType': 'enum Currency', 'name': '_currency', 'type': 'uint8'},
|
84
|
-
{'internalType': 'uint256', 'name': '_zroAmount', 'type': 'uint256'},
|
85
|
-
{'internalType': 'bytes32[]', 'name': '_proof', 'type': 'bytes32[]'},
|
86
|
-
{'internalType': 'address', 'name': '_to', 'type': 'address'},
|
87
|
-
{'internalType': 'bytes', 'name': '', 'type': 'bytes'}], 'name': 'claim', 'outputs': [{
|
88
|
-
'components': [
|
89
|
-
{
|
90
|
-
'internalType': 'bytes32',
|
91
|
-
'name': 'guid',
|
92
|
-
'type': 'bytes32'},
|
93
|
-
{
|
94
|
-
'internalType': 'uint64',
|
95
|
-
'name': 'nonce',
|
96
|
-
'type': 'uint64'},
|
97
|
-
{
|
98
|
-
'components': [
|
99
|
-
{
|
100
|
-
'internalType': 'uint256',
|
101
|
-
'name': 'nativeFee',
|
102
|
-
'type': 'uint256'},
|
103
|
-
{
|
104
|
-
'internalType': 'uint256',
|
105
|
-
'name': 'lzTokenFee',
|
106
|
-
'type': 'uint256'}],
|
107
|
-
'internalType': 'struct MessagingFee',
|
108
|
-
'name': 'fee',
|
109
|
-
'type': 'tuple'}],
|
110
|
-
'internalType': 'struct MessagingReceipt',
|
111
|
-
'name': 'receipt',
|
112
|
-
'type': 'tuple'}],
|
113
|
-
'stateMutability': 'payable', 'type': 'function'}, {
|
114
|
-
'inputs': [{'internalType': 'enum Currency', 'name': 'currency', 'type': 'uint8'},
|
115
|
-
{'internalType': 'uint256', 'name': 'amountToDonate', 'type': 'uint256'},
|
116
|
-
{'internalType': 'uint256', 'name': '_zroAmount', 'type': 'uint256'},
|
117
|
-
{'internalType': 'bytes32[]', 'name': '_proof', 'type': 'bytes32[]'},
|
118
|
-
{'internalType': 'address', 'name': '_to', 'type': 'address'},
|
119
|
-
{'internalType': 'bytes', 'name': '_extraBytes', 'type': 'bytes'}], 'name': 'donateAndClaim',
|
120
|
-
'outputs': [{'components': [{'internalType': 'bytes32', 'name': 'guid', 'type': 'bytes32'},
|
121
|
-
{'internalType': 'uint64', 'name': 'nonce', 'type': 'uint64'}, {'components': [
|
122
|
-
{'internalType': 'uint256', 'name': 'nativeFee', 'type': 'uint256'},
|
123
|
-
{'internalType': 'uint256', 'name': 'lzTokenFee', 'type': 'uint256'}],
|
124
|
-
'internalType': 'struct MessagingFee',
|
125
|
-
'name': 'fee',
|
126
|
-
'type': 'tuple'}],
|
127
|
-
'internalType': 'struct MessagingReceipt', 'name': 'receipt', 'type': 'tuple'}],
|
128
|
-
'stateMutability': 'payable', 'type': 'function'}, {'inputs': [], 'name': 'donateContract', 'outputs': [
|
129
|
-
{'internalType': 'contract IDonate', 'name': '', 'type': 'address'}], 'stateMutability': 'view',
|
130
|
-
'type': 'function'}, {'inputs': [], 'name': 'endpoint',
|
131
|
-
'outputs': [{
|
132
|
-
'internalType': 'contract ILayerZeroEndpointV2',
|
133
|
-
'name': '',
|
134
|
-
'type': 'address'}],
|
135
|
-
'stateMutability': 'view',
|
136
|
-
'type': 'function'}, {'inputs': [{
|
137
|
-
'components': [
|
138
|
-
{
|
139
|
-
'internalType': 'uint32',
|
140
|
-
'name': 'srcEid',
|
141
|
-
'type': 'uint32'},
|
142
|
-
{
|
143
|
-
'internalType': 'bytes32',
|
144
|
-
'name': 'sender',
|
145
|
-
'type': 'bytes32'},
|
146
|
-
{
|
147
|
-
'internalType': 'uint64',
|
148
|
-
'name': 'nonce',
|
149
|
-
'type': 'uint64'}],
|
150
|
-
'internalType': 'struct Origin',
|
151
|
-
'name': '',
|
152
|
-
'type': 'tuple'},
|
153
|
-
{
|
154
|
-
'internalType': 'bytes',
|
155
|
-
'name': '',
|
156
|
-
'type': 'bytes'},
|
157
|
-
{
|
158
|
-
'internalType': 'address',
|
159
|
-
'name': '_sender',
|
160
|
-
'type': 'address'}],
|
161
|
-
'name': 'isComposeMsgSender',
|
162
|
-
'outputs': [{
|
163
|
-
'internalType': 'bool',
|
164
|
-
'name': '',
|
165
|
-
'type': 'bool'}],
|
166
|
-
'stateMutability': 'view',
|
167
|
-
'type': 'function'},
|
168
|
-
{'inputs': [{'components': [{'internalType': 'uint32', 'name': 'srcEid', 'type': 'uint32'},
|
169
|
-
{'internalType': 'bytes32', 'name': 'sender', 'type': 'bytes32'},
|
170
|
-
{'internalType': 'uint64', 'name': 'nonce', 'type': 'uint64'}],
|
171
|
-
'internalType': 'struct Origin', 'name': '_origin', 'type': 'tuple'},
|
172
|
-
{'internalType': 'bytes32', 'name': '_guid', 'type': 'bytes32'},
|
173
|
-
{'internalType': 'bytes', 'name': '_message', 'type': 'bytes'},
|
174
|
-
{'internalType': 'address', 'name': '_executor', 'type': 'address'},
|
175
|
-
{'internalType': 'bytes', 'name': '_extraData', 'type': 'bytes'}], 'name': 'lzReceive',
|
176
|
-
'outputs': [], 'stateMutability': 'payable', 'type': 'function'},
|
177
|
-
{'inputs': [], 'name': 'merkleRoot', 'outputs': [{'internalType': 'bytes32', 'name': '', 'type': 'bytes32'}],
|
178
|
-
'stateMutability': 'view', 'type': 'function'}, {
|
179
|
-
'inputs': [{'internalType': 'uint32', 'name': '', 'type': 'uint32'},
|
180
|
-
{'internalType': 'bytes32', 'name': '', 'type': 'bytes32'}], 'name': 'nextNonce',
|
181
|
-
'outputs': [{'internalType': 'uint64', 'name': 'nonce', 'type': 'uint64'}], 'stateMutability': 'view',
|
182
|
-
'type': 'function'}, {'inputs': [], 'name': 'numeratorNative',
|
183
|
-
'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}],
|
184
|
-
'stateMutability': 'view', 'type': 'function'},
|
185
|
-
{'inputs': [], 'name': 'numeratorUsdc', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}],
|
186
|
-
'stateMutability': 'view', 'type': 'function'},
|
187
|
-
{'inputs': [], 'name': 'numeratorUsdt', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}],
|
188
|
-
'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'oAppVersion', 'outputs': [
|
189
|
-
{'internalType': 'uint64', 'name': 'senderVersion', 'type': 'uint64'},
|
190
|
-
{'internalType': 'uint64', 'name': 'receiverVersion', 'type': 'uint64'}], 'stateMutability': 'view',
|
191
|
-
'type': 'function'},
|
192
|
-
{'inputs': [], 'name': 'owner', 'outputs': [{'internalType': 'address', 'name': '', 'type': 'address'}],
|
193
|
-
'stateMutability': 'view', 'type': 'function'},
|
194
|
-
{'inputs': [{'internalType': 'uint32', 'name': 'eid', 'type': 'uint32'}], 'name': 'peers',
|
195
|
-
'outputs': [{'internalType': 'bytes32', 'name': 'peer', 'type': 'bytes32'}], 'stateMutability': 'view',
|
196
|
-
'type': 'function'}, {'inputs': [{'internalType': 'uint32', 'name': '_dstEid', 'type': 'uint32'},
|
197
|
-
{'internalType': 'uint256', 'name': '_zroAmount', 'type': 'uint256'}],
|
198
|
-
'name': 'quoteClaimCallback', 'outputs': [{'components': [
|
199
|
-
{'internalType': 'uint256', 'name': 'nativeFee', 'type': 'uint256'},
|
200
|
-
{'internalType': 'uint256', 'name': 'lzTokenFee', 'type': 'uint256'}],
|
201
|
-
'internalType': 'struct MessagingFee',
|
202
|
-
'name': 'msgFee', 'type': 'tuple'}],
|
203
|
-
'stateMutability': 'view', 'type': 'function'},
|
204
|
-
{'inputs': [], 'name': 'renounceOwnership', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'},
|
205
|
-
{'inputs': [{'internalType': 'uint256', 'name': '_zroAmount', 'type': 'uint256'}], 'name': 'requiredDonation',
|
206
|
-
'outputs': [{'components': [{'internalType': 'uint256', 'name': 'usdc', 'type': 'uint256'},
|
207
|
-
{'internalType': 'uint256', 'name': 'usdt', 'type': 'uint256'},
|
208
|
-
{'internalType': 'uint256', 'name': 'native', 'type': 'uint256'}],
|
209
|
-
'internalType': 'struct Donation', 'name': '', 'type': 'tuple'}], 'stateMutability': 'view',
|
210
|
-
'type': 'function'},
|
211
|
-
{'inputs': [{'internalType': 'address', 'name': '_delegate', 'type': 'address'}], 'name': 'setDelegate',
|
212
|
-
'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'},
|
213
|
-
{'inputs': [{'internalType': 'address', 'name': '_donateAndClaim', 'type': 'address'}],
|
214
|
-
'name': 'setDonateAndClaim', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'},
|
215
|
-
{'inputs': [{'internalType': 'bytes32', 'name': '_merkleRoot', 'type': 'bytes32'}], 'name': 'setMerkleRoot',
|
216
|
-
'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {
|
217
|
-
'inputs': [{'internalType': 'uint32', 'name': '_eid', 'type': 'uint32'},
|
218
|
-
{'internalType': 'bytes32', 'name': '_peer', 'type': 'bytes32'}], 'name': 'setPeer',
|
219
|
-
'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'},
|
220
|
-
{'inputs': [{'internalType': 'address', 'name': 'newOwner', 'type': 'address'}], 'name': 'transferOwnership',
|
221
|
-
'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {
|
222
|
-
'inputs': [{'internalType': 'address', 'name': '_to', 'type': 'address'},
|
223
|
-
{'internalType': 'uint256', 'name': '_amount', 'type': 'uint256'}], 'name': 'withdrawZro',
|
224
|
-
'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'},
|
225
|
-
{'inputs': [{'internalType': 'address', 'name': 'user', 'type': 'address'}], 'name': 'zroClaimed',
|
226
|
-
'outputs': [{'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'stateMutability': 'view',
|
227
|
-
'type': 'function'},
|
228
|
-
{'inputs': [], 'name': 'zroToken', 'outputs': [{'internalType': 'address', 'name': '', 'type': 'address'}],
|
229
|
-
'stateMutability': 'view', 'type': 'function'}]
|
230
|
-
|
231
|
-
|
232
|
-
class L0Claim(Contract):
|
233
|
-
def __init__(self, contract_address, web3):
|
234
|
-
super().__init__(contract_address, web3, abi)
|
235
|
-
|
236
|
-
@evm_transaction
|
237
|
-
def donateAndClaim(self, account, donate_amount, amount_to_claim, merkle_proof):
|
238
|
-
txn_params = self.build_generic_data(account.address, False)
|
239
|
-
txn_params['value'] = donate_amount
|
240
|
-
|
241
|
-
return self.contract.functions.donateAndClaim(
|
242
|
-
2,
|
243
|
-
donate_amount,
|
244
|
-
#5520000000000000
|
245
|
-
#5520000000000000
|
246
|
-
amount_to_claim,
|
247
|
-
#183461138113000003000
|
248
|
-
#183461138113000003000
|
249
|
-
merkle_proof,
|
250
|
-
#['0x1fce26056b7cc81752ae974a8baa89d78123fd539f5fb47f0e5cb1f2c603b3c8', '0x63e5fe91dbafe187829bc84f8e6ddb6c6f4d62e5ef1ff4796913101fc0ea916e', '0x9a734b2f26f5334741ee26eda57cef6c4f84430e1d91be1b65cb4e7be577d0e9', '0xcc8bc1df42652bfd0aa8032a1cf50a31e31ecbe78d52411491076bfc59b70e7d', '0x8edc7e63ae09f38a3e00b6ee33fb102eee1771ce73b8a6b089cfcc3c2b4b7b8f', '0x8870668769d7dfa64e8695bf51741c73358923b7ad7e07dd6055c088760063cc', '0x75321dbf87f550059a302d401fd3aae9b13204316e202b3d0bd459447d611739', '0x5d48d0538089ccbfade4265ff10efae09691a0204dcef8db5b20064d3c6103bb', '0xa6d7408758dc62d68fc1d768714f4f9422bb1ad8f222a687c0e1c4d88e7ddfcf', '0xfa0a2c7465fccd5838f147abad0b3f928b716eabfbbae622de7cfdb0c0fcbce1', '0x30369b62a912a4555e898133ad536bbc8b58af456cdb1001e38a8e0e4d01c034', '0xea79cef9445e78b7c5695d0bb5e5d676bfa5b7ced66df915ec13fb6fd6b3e131', '0xc4abfec16adca47f0c0d5d22dcb87586b66cba0048a684e440be04175dbc5c58', '0xecffcc8af84ed13272ad00aeee065c02e4778b6cfd0d124222f23264b0679076', '0x767c848c0da4bee189851e644bb437e9ef426d6e418f14fd3e9337e5ffe3596f', '0x55ab35e3f06e43b8af688169490819fdcb4180258210acb11db1976379754b1c', '0x950b026464be9f6fd40516d45236a70f07ff78b3dc1b9d258c9ddbf7fd0a003f', '0x6b71fb967b62b9e1f399a856517a1da9c22a0993fdb84b1b998b14849c2d7e9e', '0x9ae69f117d127a35e00c470d6bff380bfabbca78d86668984e867861853ee8fc', '0xa042d488b6a933c88ec4b41ba407ff13521c2e67e842697017bc19ed9f9a8e5d', '0x65b28f8ec7c9c9fc471c6a5000a1906b04e8da896a739ffddf6d3b71e47fd60d']
|
251
|
-
#['0x1fce26056b7cc81752ae974a8baa89d78123fd539f5fb47f0e5cb1f2c603b3c8', '0x63e5fe91dbafe187829bc84f8e6ddb6c6f4d62e5ef1ff4796913101fc0ea916e', '0x9a734b2f26f5334741ee26eda57cef6c4f84430e1d91be1b65cb4e7be577d0e9', '0xcc8bc1df42652bfd0aa8032a1cf50a31e31ecbe78d52411491076bfc59b70e7d', '0x8edc7e63ae09f38a3e00b6ee33fb102eee1771ce73b8a6b089cfcc3c2b4b7b8f', '0x8870668769d7dfa64e8695bf51741c73358923b7ad7e07dd6055c088760063cc', '0x75321dbf87f550059a302d401fd3aae9b13204316e202b3d0bd459447d611739', '0x5d48d0538089ccbfade4265ff10efae09691a0204dcef8db5b20064d3c6103bb', '0xa6d7408758dc62d68fc1d768714f4f9422bb1ad8f222a687c0e1c4d88e7ddfcf', '0xfa0a2c7465fccd5838f147abad0b3f928b716eabfbbae622de7cfdb0c0fcbce1', '0x30369b62a912a4555e898133ad536bbc8b58af456cdb1001e38a8e0e4d01c034', '0xea79cef9445e78b7c5695d0bb5e5d676bfa5b7ced66df915ec13fb6fd6b3e131', '0xc4abfec16adca47f0c0d5d22dcb87586b66cba0048a684e440be04175dbc5c58', '0xecffcc8af84ed13272ad00aeee065c02e4778b6cfd0d124222f23264b0679076', '0x767c848c0da4bee189851e644bb437e9ef426d6e418f14fd3e9337e5ffe3596f', '0x55ab35e3f06e43b8af688169490819fdcb4180258210acb11db1976379754b1c', '0x950b026464be9f6fd40516d45236a70f07ff78b3dc1b9d258c9ddbf7fd0a003f', '0x6b71fb967b62b9e1f399a856517a1da9c22a0993fdb84b1b998b14849c2d7e9e', '0x9ae69f117d127a35e00c470d6bff380bfabbca78d86668984e867861853ee8fc', '0xa042d488b6a933c88ec4b41ba407ff13521c2e67e842697017bc19ed9f9a8e5d', '0x65b28f8ec7c9c9fc471c6a5000a1906b04e8da896a739ffddf6d3b71e47fd60d']
|
252
|
-
account.address,
|
253
|
-
'0x'
|
254
|
-
).build_transaction(txn_params)
|
core/contract/l2_telegraph.py
DELETED
@@ -1,21 +0,0 @@
|
|
1
|
-
from sybil_engine.contract.contract import Contract
|
2
|
-
from sybil_engine.data.networks import get_ids_chain
|
3
|
-
from sybil_engine.data.tokens import get_tokens_for_chain
|
4
|
-
from sybil_engine.utils.file_loader import load_abi
|
5
|
-
from web3 import Web3
|
6
|
-
|
7
|
-
abi = load_abi("resources/abi/merkly.json")
|
8
|
-
|
9
|
-
|
10
|
-
class L2TelegraphMinter(Contract):
|
11
|
-
def __init__(self, contract_address, web3):
|
12
|
-
self.weth_token = get_tokens_for_chain(get_ids_chain()[web3.eth.chain_id])['WETH']
|
13
|
-
super().__init__(contract_address, web3, abi)
|
14
|
-
|
15
|
-
def mint(self, account):
|
16
|
-
txn_params = self.build_generic_data(account.address, False)
|
17
|
-
|
18
|
-
txn_params['value'] = Web3.to_wei(0.0005, "ether")
|
19
|
-
contract_txn = self.contract.functions.mint().build_transaction(txn_params)
|
20
|
-
|
21
|
-
return contract_txn
|
core/contract/layerbank_price.py
DELETED
@@ -1,18 +0,0 @@
|
|
1
|
-
from sybil_engine.contract.contract import Contract
|
2
|
-
from sybil_engine.data.networks import get_ids_chain
|
3
|
-
from sybil_engine.data.tokens import get_tokens_for_chain
|
4
|
-
from sybil_engine.utils.file_loader import load_abi
|
5
|
-
|
6
|
-
abi = load_abi("resources/abi/layerbank_price.json")
|
7
|
-
|
8
|
-
|
9
|
-
class LayerBankPrice(Contract):
|
10
|
-
def __init__(self, contract_address, web3):
|
11
|
-
self.weth_token = get_tokens_for_chain(get_ids_chain()[web3.eth.chain_id])['WETH']
|
12
|
-
super().__init__(contract_address, web3, abi)
|
13
|
-
|
14
|
-
def get_underlying_price(self, token):
|
15
|
-
return self.contract.functions.getUnderlyingPrice(token).call()
|
16
|
-
|
17
|
-
def price_of_eth(self):
|
18
|
-
return self.contract.functions.priceOfETH().call()
|
core/contract/layerbank_token.py
DELETED
@@ -1,29 +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/layerbank_token.json")
|
5
|
-
|
6
|
-
MAX_ALLOWANCE = 115792089237316195423570985008687907853269984665640564039457584007913129639935
|
7
|
-
|
8
|
-
|
9
|
-
class LayerBankToken(Contract):
|
10
|
-
def __init__(self, contract_address, web3):
|
11
|
-
super().__init__(contract_address, web3, abi)
|
12
|
-
|
13
|
-
def balance_of(self, account):
|
14
|
-
return self.contract.functions.balanceOf(account.address).call()
|
15
|
-
|
16
|
-
def underlying_balance_of(self, account):
|
17
|
-
return self.contract.functions.balanceOf(account.address).call()
|
18
|
-
|
19
|
-
def exchange_rate(self):
|
20
|
-
return self.contract.functions.exchangeRate().call()
|
21
|
-
|
22
|
-
def decimals(self):
|
23
|
-
return self.contract.functions.decimals().call()
|
24
|
-
|
25
|
-
def one_decimal(self):
|
26
|
-
return 10 ** self.contract.functions.decimals().call()
|
27
|
-
|
28
|
-
def symbol(self):
|
29
|
-
return self.contract.functions.symbol().call()
|
@@ -1,59 +0,0 @@
|
|
1
|
-
from sybil_engine.contract.contract import Contract
|
2
|
-
from sybil_engine.contract.transaction_executor import evm_transaction
|
3
|
-
from sybil_engine.data.networks import get_ids_chain
|
4
|
-
from sybil_engine.data.tokens import get_tokens_for_chain
|
5
|
-
from sybil_engine.utils.file_loader import load_abi
|
6
|
-
|
7
|
-
abi = load_abi("resources/abi/layerbank.json")
|
8
|
-
|
9
|
-
|
10
|
-
class LayerBankContract(Contract):
|
11
|
-
def __init__(self, contract_address, web3):
|
12
|
-
self.weth_token = get_tokens_for_chain(get_ids_chain()[web3.eth.chain_id])['WETH']
|
13
|
-
super().__init__(contract_address, web3, abi)
|
14
|
-
|
15
|
-
@evm_transaction
|
16
|
-
def supply(self, account, token, amount):
|
17
|
-
txn_params = self.build_generic_data(account.address, False)
|
18
|
-
|
19
|
-
contract_txn = self.contract.functions.supply(token, amount).build_transaction(txn_params)
|
20
|
-
|
21
|
-
return contract_txn
|
22
|
-
|
23
|
-
@evm_transaction
|
24
|
-
def enter_markets(self, account, token):
|
25
|
-
txn_params = self.build_generic_data(account.address, False)
|
26
|
-
|
27
|
-
return self.contract.functions.enterMarkets([token]).build_transaction(txn_params)
|
28
|
-
|
29
|
-
@evm_transaction
|
30
|
-
def borrow(self, account, token, amount):
|
31
|
-
txn_params = self.build_generic_data(account.address, False)
|
32
|
-
|
33
|
-
contract_txn = self.contract.functions.borrow(token, amount).build_transaction(txn_params)
|
34
|
-
|
35
|
-
return contract_txn
|
36
|
-
|
37
|
-
@evm_transaction
|
38
|
-
def repay_borrow(self, account, token, amount):
|
39
|
-
txn_params = self.build_generic_data(account.address, False)
|
40
|
-
|
41
|
-
txn_params['value'] = amount
|
42
|
-
|
43
|
-
contract_txn = self.contract.functions.repayBorrow(token, amount).build_transaction(txn_params)
|
44
|
-
|
45
|
-
return contract_txn
|
46
|
-
|
47
|
-
@evm_transaction
|
48
|
-
def redeem_token(self, account, token, amount):
|
49
|
-
txn_params = self.build_generic_data(account.address, False)
|
50
|
-
|
51
|
-
contract_txn = self.contract.functions.redeemUnderlying(token, amount).build_transaction(txn_params)
|
52
|
-
|
53
|
-
return contract_txn
|
54
|
-
|
55
|
-
def market_list_of(self, account):
|
56
|
-
return self.contract.functions.marketListOf(account.address).call()
|
57
|
-
|
58
|
-
def account_liquidity_of(self, account):
|
59
|
-
return self.contract.functions.accountLiquidityOf(account.address).call()
|
@@ -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/linea_day_2.json")
|
6
|
-
|
7
|
-
|
8
|
-
class LineaDay2(Contract):
|
9
|
-
def __init__(self, contract_address, web3):
|
10
|
-
super().__init__(contract_address, web3, abi)
|
11
|
-
|
12
|
-
@evm_transaction
|
13
|
-
def approve(self, account):
|
14
|
-
txn_params = self.build_generic_data(account.address, False)
|
15
|
-
|
16
|
-
contract_txn = self.contract.functions.setApprovalForAll(account.address, False).build_transaction(txn_params)
|
17
|
-
|
18
|
-
return contract_txn
|
19
|
-
|
@@ -1,55 +0,0 @@
|
|
1
|
-
from sybil_engine.contract.contract import Contract
|
2
|
-
from sybil_engine.contract.transaction_executor import evm_transaction
|
3
|
-
from sybil_engine.domain.balance.balance_utils import from_eth_to_wei
|
4
|
-
from sybil_engine.utils.file_loader import load_abi
|
5
|
-
|
6
|
-
abi = load_abi("resources/abi/linea_day_3.json")
|
7
|
-
|
8
|
-
|
9
|
-
class LineaDay3(Contract):
|
10
|
-
def __init__(self, contract_address, web3):
|
11
|
-
super().__init__(contract_address, web3, abi)
|
12
|
-
|
13
|
-
# @evm_transaction
|
14
|
-
# def mintWithVoucher(self, account):
|
15
|
-
# txn_params = self.build_generic_data(account.address, False)
|
16
|
-
#
|
17
|
-
# contract_txn = self.contract.functions.mintWithVoucher(
|
18
|
-
# (
|
19
|
-
# '0x0000000000000000000000000000000000000000'
|
20
|
-
# '0x0000000000000000000000000000000000000000',
|
21
|
-
# 0,
|
22
|
-
# 1,
|
23
|
-
# 1,
|
24
|
-
# int(datetime.now().timestamp() + 60 * 10),
|
25
|
-
# 0,
|
26
|
-
# 1,
|
27
|
-
# '0x0000000000000000000000000000000000000000'
|
28
|
-
# ),
|
29
|
-
# '0xbb6fef09ef7f8958207a489df32fa334879b963aa975b8a62a3839e3c887d5540f05bdeba16649c507c8350a987a2556425707b6f01f4592b744d9767c0b47ca1c'
|
30
|
-
# ).build_transaction(txn_params)
|
31
|
-
#
|
32
|
-
# return contract_txn
|
33
|
-
|
34
|
-
@evm_transaction
|
35
|
-
def claim(self, account):
|
36
|
-
txn_params = self.build_generic_data(account.address, False)
|
37
|
-
|
38
|
-
txn_params['value'] = from_eth_to_wei(0.0000029)
|
39
|
-
|
40
|
-
contract_txn = self.contract.functions.claim(
|
41
|
-
account.address, # address
|
42
|
-
0, # uint256
|
43
|
-
1, # uint256
|
44
|
-
'0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE', # address
|
45
|
-
0, # uint256
|
46
|
-
(
|
47
|
-
[], # bytes32[] - This needs to be populated with actual data or kept as empty if applicable
|
48
|
-
2, # uint256
|
49
|
-
0, # uint256
|
50
|
-
'0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE' # address
|
51
|
-
),
|
52
|
-
'0x' # bytes - This typically represents an empty byte string or could be filled if needed
|
53
|
-
).build_transaction(txn_params)
|
54
|
-
|
55
|
-
return contract_txn
|
@@ -1,55 +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/linea_ens_names.json")
|
6
|
-
|
7
|
-
|
8
|
-
class LineaEnsNamesContract(Contract):
|
9
|
-
def __init__(self, contract_address, web3):
|
10
|
-
super().__init__(contract_address, web3, abi)
|
11
|
-
self.addr_contract = web3.eth.contract(
|
12
|
-
abi='[{"inputs":[{"internalType":"bytes32","name":"node","type":"bytes32"},{"internalType":"uint256","name":"coinType","type":"uint256"},{"internalType":"bytes","name":"a","type":"bytes"}],"name":"setAddr","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"node","type":"bytes32"},{"internalType":"address","name":"a","type":"address"}],"name":"setAddr","outputs":[],"stateMutability":"nonpayable","type":"function"}]'
|
13
|
-
)
|
14
|
-
|
15
|
-
def available(self, linea_name):
|
16
|
-
return self.contract.functions.available(linea_name).call()
|
17
|
-
|
18
|
-
def make_commitment(self, account, linea_name, duration, secret, data):
|
19
|
-
return self.contract.functions.makeCommitment(
|
20
|
-
linea_name,
|
21
|
-
account.address,
|
22
|
-
duration,
|
23
|
-
secret,
|
24
|
-
"0x86c5AED9F27837074612288610fB98ccC1733126",
|
25
|
-
[data],
|
26
|
-
True,
|
27
|
-
0,
|
28
|
-
).call().hex()
|
29
|
-
|
30
|
-
def redeemed(self, account):
|
31
|
-
return self.contract.functions.redeemed(account.address).call()
|
32
|
-
|
33
|
-
@evm_transaction
|
34
|
-
def register_poh(self, account, linea_name, duration, secret, data, poh_signature):
|
35
|
-
txn_params = self.build_generic_data(account.address, set_contract_address=False)
|
36
|
-
|
37
|
-
return self.contract.functions.registerPoh(
|
38
|
-
linea_name,
|
39
|
-
account.address,
|
40
|
-
duration,
|
41
|
-
secret,
|
42
|
-
"0x86c5AED9F27837074612288610fB98ccC1733126",
|
43
|
-
[data],
|
44
|
-
True,
|
45
|
-
0,
|
46
|
-
poh_signature["sign"]
|
47
|
-
).build_transaction(txn_params)
|
48
|
-
|
49
|
-
@evm_transaction
|
50
|
-
def commit(self, account, commitment):
|
51
|
-
txn_params = self.build_generic_data(account.address, set_contract_address=False)
|
52
|
-
|
53
|
-
return self.contract.functions.commit(
|
54
|
-
"0x" + commitment
|
55
|
-
).build_transaction(txn_params)
|
core/contract/lineaswaprouter.py
DELETED
@@ -1,52 +0,0 @@
|
|
1
|
-
from datetime import datetime
|
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/lineaswap_router.json")
|
8
|
-
|
9
|
-
|
10
|
-
class LineaSwapRouter(Contract):
|
11
|
-
def __init__(self, contract_address, web3):
|
12
|
-
super().__init__(contract_address, web3, abi)
|
13
|
-
|
14
|
-
@evm_transaction
|
15
|
-
def swap_exact_eth_for_tokens(self, account, amount_to_swap, token_in_address, token_out_address, amount_out_min):
|
16
|
-
sender = account.address
|
17
|
-
|
18
|
-
txn_params = self.build_generic_data(sender, False)
|
19
|
-
txn_params['value'] = amount_to_swap.wei if amount_to_swap.token == 'ETH' else 10000000000000
|
20
|
-
|
21
|
-
paths = [token_in_address, token_out_address]
|
22
|
-
deadline = int(datetime.now().timestamp() + 60 * 60 * 3)
|
23
|
-
|
24
|
-
return self.contract.functions.swapExactETHForTokens(
|
25
|
-
amount_out_min,
|
26
|
-
paths,
|
27
|
-
sender,
|
28
|
-
deadline
|
29
|
-
).build_transaction(txn_params)
|
30
|
-
|
31
|
-
@evm_transaction
|
32
|
-
def swap_exact_tokens_for_eth(self, account, amount_to_swap, token_in_address, token_out_address, amount_out_min):
|
33
|
-
sender = account.address
|
34
|
-
|
35
|
-
txn_params = self.build_generic_data(sender, False)
|
36
|
-
|
37
|
-
paths = [token_in_address, token_out_address]
|
38
|
-
deadline = int(datetime.now().timestamp() + 60 * 60 * 3)
|
39
|
-
|
40
|
-
return self.contract.functions.swapExactTokensForETH(
|
41
|
-
amount_to_swap.wei,
|
42
|
-
amount_out_min,
|
43
|
-
paths,
|
44
|
-
sender,
|
45
|
-
deadline
|
46
|
-
).build_transaction(txn_params)
|
47
|
-
|
48
|
-
def get_amount_out(self, amount_to_swap, token_in_address, token_out_address):
|
49
|
-
return self.contract.functions.getAmountsOut(
|
50
|
-
amount_to_swap.wei,
|
51
|
-
[token_in_address, token_out_address]
|
52
|
-
).call()[1]
|
@@ -1,52 +0,0 @@
|
|
1
|
-
from datetime import datetime
|
2
|
-
|
3
|
-
from sybil_engine.contract.contract import Contract
|
4
|
-
from sybil_engine.contract.transaction_executor import evm_transaction
|
5
|
-
from sybil_engine.data.networks import get_ids_chain
|
6
|
-
from sybil_engine.data.tokens import get_tokens_for_chain
|
7
|
-
from sybil_engine.utils.file_loader import load_abi
|
8
|
-
|
9
|
-
swap_method_id = 'c04b8d59'
|
10
|
-
|
11
|
-
length_3c = '000000000000000000000000000000000000000000000000000000000000003c'
|
12
|
-
universal_value = '000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0'
|
13
|
-
|
14
|
-
abi = load_abi("resources/abi/maverick_multicall.json")
|
15
|
-
|
16
|
-
|
17
|
-
class MaverickMulticall(Contract):
|
18
|
-
def __init__(self, contract_address, web3):
|
19
|
-
self.weth_token = get_tokens_for_chain(get_ids_chain()[web3.eth.chain_id])['WETH']
|
20
|
-
super().__init__(contract_address, web3, abi)
|
21
|
-
|
22
|
-
@evm_transaction
|
23
|
-
def multicall(self, account, amount_to_swap, amount_out_min_in, token_in_address, pool_address, token_out_address):
|
24
|
-
txn_params = self.build_generic_data(account.address, False)
|
25
|
-
|
26
|
-
if amount_to_swap.token == 'ETH':
|
27
|
-
txn_params['value'] = amount_to_swap.wei # amount in for ETH
|
28
|
-
|
29
|
-
deadline_hex = decimal_to_padded_hexadecimal(int(datetime.now().timestamp() + 60 * 60 * 3), 64)
|
30
|
-
amount_in = decimal_to_padded_hexadecimal(amount_to_swap.wei, 64)
|
31
|
-
amount_out_min = decimal_to_padded_hexadecimal(amount_out_min_in, 64)
|
32
|
-
recipient = pad_hex(account.address, 64) if token_out_address != self.weth_token else pad_hex('', 64)
|
33
|
-
|
34
|
-
eth_to_usdc = '0x' + swap_method_id + universal_value + recipient + deadline_hex + amount_in + amount_out_min + length_3c + pad_hex(
|
35
|
-
token_in_address, 40) + pad_hex(pool_address, 40) + pad_hex(token_out_address, 40) + '00000000'
|
36
|
-
|
37
|
-
if token_out_address == self.weth_token:
|
38
|
-
encoded_action = self.contract.encode_abi("unwrapWETH9", args=(amount_out_min_in, account.address))
|
39
|
-
else:
|
40
|
-
encoded_action = self.contract.encode_abi("refundETH") + pad_hex(account.address, 128)
|
41
|
-
|
42
|
-
return self.contract.functions.multicall([eth_to_usdc, encoded_action]).build_transaction(txn_params)
|
43
|
-
|
44
|
-
|
45
|
-
def decimal_to_padded_hexadecimal(decimal_number, desired_length):
|
46
|
-
hex_value = hex(decimal_number)[2:]
|
47
|
-
|
48
|
-
return hex_value.zfill(desired_length)
|
49
|
-
|
50
|
-
|
51
|
-
def pad_hex(un_padded_hex, desired_length):
|
52
|
-
return un_padded_hex[2:].zfill(desired_length)
|