diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 2b8b1f3b2..26d7482a2 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1,3 +1,3 @@ # These owners will be the default owners for everything in # the repo. Unless a later match takes precedence. -* @safe-global/safe-services +* @safe-global/core-api diff --git a/.github/workflows/cla.yml b/.github/workflows/cla.yml index 86eeafb4c..a58219473 100644 --- a/.github/workflows/cla.yml +++ b/.github/workflows/cla.yml @@ -22,7 +22,7 @@ jobs: path-to-document: 'https://safe.global/cla' # branch should not be protected branch: 'cla-signatures' - allowlist: hectorgomezv,moisses89,fmrsabino,luarx,rmeissner,Uxio0,*bot # may need to update this expression if we add new bots + allowlist: falvaradorodriguez,hectorgomezv,moisses89,fmrsabino,luarx,rmeissner,Uxio0,*bot # may need to update this expression if we add new bots #below are the optional inputs - If the optional inputs are not given, then default values will be taken #remote-organization-name: enter the remote organization name where the signatures should be stored (Default is storing the signatures in the same repository) diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index 172d3adcb..7e4aa1263 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -14,7 +14,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: [3.11] + python-version: [3.12] steps: - uses: actions/checkout@v4 @@ -24,7 +24,7 @@ jobs: python-version: ${{ matrix.python-version }} cache: 'pip' cache-dependency-path: '.pre-commit-config.yaml' - - uses: actions/cache@v3 + - uses: actions/cache@v4 with: path: ~/.cache/pre-commit key: pre-commit|${{ env.pythonLocation }}|${{ hashFiles('.pre-commit-config.yaml') }} @@ -37,7 +37,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: [3.8, 3.9, "3.10", 3.11] + python-version: [3.8, 3.9, "3.10", 3.11, 3.12] services: postgres: image: postgres:13 @@ -62,7 +62,7 @@ jobs: cache-dependency-path: 'requirements*.txt' - name: Install dependencies run: | - pip install wheel + pip install wheel setuptools pip install -r requirements-test.txt coveralls env: PIP_USE_MIRRORS: true diff --git a/.readthedocs.yaml b/.readthedocs.yaml index 7eb9668a9..66489de8e 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -1,20 +1,35 @@ -# .readthedocs.yaml -# Read the Docs configuration file +# Read the Docs configuration file for Sphinx projects # See https://docs.readthedocs.io/en/stable/config-file/v2.html for details # Required version: 2 -# Build documentation in the docs/ directory with Sphinx +# Set the OS, Python version and other tools you might need +build: + os: ubuntu-22.04 + tools: + python: "3.11" + # You can also specify other tool versions: + # nodejs: "20" + # rust: "1.70" + # golang: "1.20" + +# Build documentation in the "docs/" directory with Sphinx sphinx: - configuration: docs/source/conf.py + configuration: docs/source/conf.py + # You can configure Sphinx to use a different builder, for instance use the dirhtml builder for simpler URLs + # builder: "dirhtml" + # Fail on all warnings to avoid broken references + # fail_on_warning: true -# Optionally build your docs in additional formats such as PDF +# Optionally build your docs in additional formats such as PDF and ePub formats: - - pdf + - pdf + - epub -# Optionally set the version of Python and requirements required to build your docs +# Optional but recommended, declare the Python requirements required +# to build your documentation +# See https://docs.readthedocs.io/en/stable/guides/reproducible-builds.html python: - version: 3.8 - install: - - requirements: requirements-dev.txt + install: + - requirements: requirements-dev.txt diff --git a/docs/source/quickstart.rst b/docs/source/quickstart.rst index b7a76405f..efc747745 100644 --- a/docs/source/quickstart.rst +++ b/docs/source/quickstart.rst @@ -184,21 +184,21 @@ To work with Multisig Transactions: safe_tx.call() # Check it works safe_tx.execute(tx_sender_private_key) -Protocol +CowSwap ~~~~~~~~ -On ``gnosis.protocol`` there're classes to work with `Gnosis Protocol v2 `_ +On ``gnosis.cowswap`` there're classes to work with `CowSwap `_ .. code-block:: python import time from gnosis.eth import EthereumNetwork - from gnosis.protocol import Order, OrderKind, GnosisProtocolAPI + from gnosis.cowswap import Order, OrderKind, CowSwapAPI - account_address = '' # Fill with checksummed version of a Gnosis Protocol user address + account_address = '' # Fill with checksummed version of a CowSwap user address account_private_key = '' # Fill with private key of a user address - gnosis_protocol_api = GnosisProtocolAPI(EthereumNetwork.RINKEBY) - print(gnosis_protocol_api.get_trades(owner=account_address)) - buy_amount = gnosis_protocol_api.get_estimated_amount(base_token, quote_token, OrderKind.SELL, sell_amount) + cow_swap_api = CowSwapAPI(EthereumNetwork.SEPOLIA) + print(cow_swap_api.get_trades(owner=account_address)) + buy_amount = cow_swap_api.get_estimated_amount(base_token, quote_token, OrderKind.SELL, sell_amount) valid_to = int(time.time() + (24 * 60 * 60)) # Order valid for 1 day order = Order( sellToken=base_token, @@ -207,11 +207,11 @@ On ``gnosis.protocol`` there're classes to work with `Gnosis Protocol v2 requests.Session: - """ - Prepare http session with custom pooling. See: - https://urllib3.readthedocs.io/en/stable/advanced-usage.html - https://docs.python-requests.org/en/v1.2.3/api/#requests.adapters.HTTPAdapter - https://web3py.readthedocs.io/en/stable/providers.html#httpprovider - """ - session = requests.Session() - adapter = requests.adapters.HTTPAdapter( - pool_connections=10, - pool_maxsize=100, - pool_block=False, - ) - session.mount("http://", adapter) - session.mount("https://", adapter) - return session - @cached_property def weth_address(self) -> ChecksumAddress: """ @@ -91,8 +74,6 @@ def weth_address(self) -> ChecksumAddress: """ if self.network == EthereumNetwork.GNOSIS: # WXDAI return ChecksumAddress("0xe91D153E0b41518A2Ce8Dd3D7944Fa863463a97d") - if self.network == EthereumNetwork.GOERLI: # Goerli WETH9 - return ChecksumAddress("0xB4FBF271143F4FBf7B91A5ded31805e42b2208d6") # Mainnet WETH9 return ChecksumAddress("0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2") @@ -100,15 +81,13 @@ def weth_address(self) -> ChecksumAddress: def get_quote( self, order: Order, from_address: ChecksumAddress ) -> Union[Dict[str, Any], ErrorResponse]: - url = self.base_url + "quote" + url = self.base_url + "/api/v1/quote" data_json = { "sellToken": order.sellToken.lower(), "buyToken": order.buyToken.lower(), "sellAmountAfterFee": str(order.sellAmount), # "validTo": order.validTo, - "appData": HexBytes(order.appData).hex() - if isinstance(order.appData, bytes) - else order.appData, + "appData": json.dumps(order.appData), "feeAmount": str(order.feeAmount), "kind": order.kind, "partiallyFillable": order.partiallyFillable, @@ -144,7 +123,7 @@ def place_order( order.buyAmount and order.sellAmount ), "Order buyAmount and sellAmount cannot be empty" - url = self.base_url + "orders/" + url = self.base_url + "/api/v1/orders" from_address = Account.from_key(private_key).address if not order.feeAmount: fee_amount = self.get_fee(order, from_address) @@ -167,9 +146,7 @@ def place_order( "sellAmount": str(order.sellAmount), "buyAmount": str(order.buyAmount), "validTo": order.validTo, - "appData": HexBytes(order.appData).hex() - if isinstance(order.appData, bytes) - else order.appData, + "appData": json.dumps(order.appData), "feeAmount": str(order.feeAmount), "kind": order.kind, "partiallyFillable": order.partiallyFillable, @@ -196,7 +173,7 @@ def get_orders( total number of returned results. When a response contains less than the limit the last page has been reached. """ - url = self.base_url + f"account/{owner}/orders" + url = self.base_url + f"/api/v1/account/{owner}/orders" r = self.http_session.get(url, timeout=self.request_timeout) if r.ok: return cast(List[Dict[str, Any]], r.json()) @@ -209,7 +186,7 @@ def get_trades( assert bool(order_ui) ^ bool( owner ), "order_ui or owner must be provided, but not both" - url = self.base_url + "trades/?" + url = self.base_url + "/api/v1/trades/?" if order_ui: url += f"orderUid={order_ui}" elif owner: @@ -243,7 +220,7 @@ def get_estimated_amount( sellAmount=amount_wei * 10 if kind == OrderKind.SELL else 0, buyAmount=amount_wei * 10 if kind == OrderKind.BUY else 0, validTo=0, # Valid for 1 hour - appData="0x0000000000000000000000000000000000000000000000000000000000000000", + appData={}, feeAmount=0, kind=kind.name.lower(), # `sell` or `buy` partiallyFillable=False, diff --git a/gnosis/protocol/order.py b/gnosis/cowsap/order.py similarity index 92% rename from gnosis/protocol/order.py rename to gnosis/cowsap/order.py index 446a329dc..bf524700a 100644 --- a/gnosis/protocol/order.py +++ b/gnosis/cowsap/order.py @@ -1,8 +1,9 @@ +import json from dataclasses import dataclass from enum import Enum from typing import Any, Dict, Literal -from eth_typing import ChecksumAddress, Hash32 +from eth_typing import ChecksumAddress @dataclass @@ -13,7 +14,7 @@ class Order: sellAmount: int buyAmount: int validTo: int - appData: Hash32 + appData: Dict feeAmount: int kind: Literal["sell", "buy"] partiallyFillable: bool @@ -40,7 +41,7 @@ def get_eip712_structured_data( {"name": "sellAmount", "type": "uint256"}, {"name": "buyAmount", "type": "uint256"}, {"name": "validTo", "type": "uint32"}, - {"name": "appData", "type": "bytes32"}, + {"name": "appData", "type": "string"}, {"name": "feeAmount", "type": "uint256"}, {"name": "kind", "type": "string"}, {"name": "partiallyFillable", "type": "bool"}, @@ -55,7 +56,7 @@ def get_eip712_structured_data( "sellAmount": self.sellAmount, "buyAmount": self.buyAmount, "validTo": self.validTo, - "appData": self.appData, + "appData": json.dumps(self.appData), "feeAmount": self.feeAmount, "kind": self.kind, "partiallyFillable": self.partiallyFillable, @@ -67,7 +68,7 @@ def get_eip712_structured_data( "types": types, "primaryType": "Order", "domain": { - "name": "Gnosis Protocol", + "name": "CowSwap", "version": "v2", "chainId": chain_id, "verifyingContract": verifying_contract, diff --git a/gnosis/protocol/tests/__init__.py b/gnosis/cowsap/tests/__init__.py similarity index 100% rename from gnosis/protocol/tests/__init__.py rename to gnosis/cowsap/tests/__init__.py diff --git a/gnosis/protocol/tests/test_gnosis_protocol_api.py b/gnosis/cowsap/tests/test_cow_swap_api.py similarity index 71% rename from gnosis/protocol/tests/test_gnosis_protocol_api.py rename to gnosis/cowsap/tests/test_cow_swap_api.py index 5182d3750..5148bae17 100644 --- a/gnosis/protocol/tests/test_gnosis_protocol_api.py +++ b/gnosis/cowsap/tests/test_cow_swap_api.py @@ -4,38 +4,34 @@ import pytest from eth_account import Account -from web3 import Web3 from ...eth import EthereumNetwork from ...eth.constants import NULL_ADDRESS -from .. import GnosisProtocolAPI, Order, OrderKind +from .. import CowSwapAPI, Order, OrderKind -@pytest.skip("Having issues often", allow_module_level=True) -class TestGnosisProtocolAPI(TestCase): +class TestCowSwapAPI(TestCase): @classmethod def setUpClass(cls): super().setUpClass() - cls.mainnet_gnosis_protocol_api = GnosisProtocolAPI(EthereumNetwork.MAINNET) - cls.goerli_gnosis_protocol_api = GnosisProtocolAPI(EthereumNetwork.GOERLI) + cls.mainnet_cow_swap_api = CowSwapAPI(EthereumNetwork.MAINNET) + cls.sepolia_cow_swap_api = CowSwapAPI(EthereumNetwork.SEPOLIA) cls.mainnet_gno_token_address = "0x6810e776880C02933D47DB1b9fc05908e5386b96" - cls.goerli_cow_token_address = "0x3430d04E42a722c5Ae52C5Bffbf1F230C2677600" + cls.sepolia_cow_token_address = "0x0625aFB445C3B6B7B929342a04A22599fd5dBB59" def test_api_is_available(self): random_owner = Account.create().address for ethereum_network in ( EthereumNetwork.MAINNET, - EthereumNetwork.GOERLI, + EthereumNetwork.SEPOLIA, EthereumNetwork.GNOSIS, ): with self.subTest(ethereum_network=ethereum_network): - self.assertEqual( - self.goerli_gnosis_protocol_api.get_orders(random_owner), [] - ) + self.assertEqual(self.sepolia_cow_swap_api.get_orders(random_owner), []) def test_get_estimated_amount(self): - gnosis_protocol_api = GnosisProtocolAPI(EthereumNetwork.MAINNET) - response = gnosis_protocol_api.get_estimated_amount( + cow_swap = CowSwapAPI(EthereumNetwork.MAINNET) + response = cow_swap.get_estimated_amount( self.mainnet_gno_token_address, self.mainnet_gno_token_address, OrderKind.SELL, @@ -49,7 +45,7 @@ def test_get_estimated_amount(self): }, ) - response = gnosis_protocol_api.get_estimated_amount( + response = cow_swap.get_estimated_amount( "0x6820e776880c02933d47db1b9fc05908e5386b96", self.mainnet_gno_token_address, OrderKind.SELL, @@ -58,9 +54,9 @@ def test_get_estimated_amount(self): self.assertIn("errorType", response) self.assertIn("description", response) - response = gnosis_protocol_api.get_estimated_amount( + response = cow_swap.get_estimated_amount( self.mainnet_gno_token_address, - self.mainnet_gnosis_protocol_api.weth_address, + self.mainnet_cow_swap_api.weth_address, OrderKind.SELL, int(1e18), ) @@ -76,7 +72,7 @@ def test_get_fee(self): sellAmount=int(1e18), buyAmount=1, validTo=int(time()) + 3600, - appData=Web3.keccak(text="hola"), + appData={"version": "1.2.2", "metadata": {}}, feeAmount=0, kind="sell", partiallyFillable=False, @@ -85,21 +81,21 @@ def test_get_fee(self): ) from_address = Account.create().address self.assertEqual( - self.mainnet_gnosis_protocol_api.get_fee(order, from_address), + self.mainnet_cow_swap_api.get_fee(order, from_address), { "errorType": "SameBuyAndSellToken", "description": "Buy token is the same as the sell token.", }, ) - order.buyToken = self.mainnet_gnosis_protocol_api.weth_address + order.buyToken = self.mainnet_cow_swap_api.weth_address self.assertGreaterEqual( - self.mainnet_gnosis_protocol_api.get_fee(order, from_address), 0 + self.mainnet_cow_swap_api.get_fee(order, from_address), 0 ) def test_get_trades(self): mainnet_order_ui = "0x65F1206182C77A040ED41D507B59C622FA94AB5E71CCA567202CFF3909F3D5C4DBE338E45276630FD8237149DD47EE027AF26F9C619723D0" self.assertEqual( - self.mainnet_gnosis_protocol_api.get_trades(order_ui=mainnet_order_ui), + self.mainnet_cow_swap_api.get_trades(order_ui=mainnet_order_ui), [ { "blockNumber": 13643462, @@ -124,16 +120,14 @@ def test_place_order(self): sellAmount=1, buyAmount=1, validTo=int(time()) + 3600, - appData=Web3.keccak(text="hola"), + appData={}, feeAmount=0, kind="sell", partiallyFillable=False, sellTokenBalance="erc20", buyTokenBalance="erc20", ) - result = self.goerli_gnosis_protocol_api.place_order( - order, Account().create().key - ) + result = self.sepolia_cow_swap_api.place_order(order, Account().create().key) self.assertEqual( order.feeAmount, 0 ) # Cannot estimate, as buy token is the same as the sell token @@ -145,11 +139,9 @@ def test_place_order(self): }, ) - order.sellToken = self.goerli_gnosis_protocol_api.weth_address - order.buyToken = self.goerli_cow_token_address - order_id = self.goerli_gnosis_protocol_api.place_order( - order, Account().create().key - ) + order.sellToken = self.sepolia_cow_swap_api.weth_address + order.buyToken = self.sepolia_cow_token_address + order_id = self.sepolia_cow_swap_api.place_order(order, Account().create().key) if type(order_id) is dict: pytest.xfail(order_id["errorType"]) diff --git a/gnosis/eth/account_abstraction/__init__.py b/gnosis/eth/account_abstraction/__init__.py new file mode 100644 index 000000000..b0b74f9e7 --- /dev/null +++ b/gnosis/eth/account_abstraction/__init__.py @@ -0,0 +1,6 @@ +""" +Account abstraction utils +""" +# flake8: noqa F401 +from .bundler_client import BundlerClient +from .user_operation import UserOperation diff --git a/gnosis/eth/account_abstraction/bundler_client.py b/gnosis/eth/account_abstraction/bundler_client.py new file mode 100644 index 000000000..2204f5709 --- /dev/null +++ b/gnosis/eth/account_abstraction/bundler_client.py @@ -0,0 +1,74 @@ +import logging +from typing import Any, Dict, List, Optional + +from eth_typing import ChecksumAddress, HexStr + +from gnosis.util.http import prepare_http_session + +from .user_operation import UserOperation + +logger = logging.getLogger(__name__) + + +class BundlerClient: + """ + Account Abstraction client for EIP4337 bundlers + """ + + def __init__( + self, + url: str, + retry_count: int = 1, + ): + self.url = url + self.retry_count = retry_count + self.http_session = prepare_http_session(1, 100, retry_count=retry_count) + + def _do_request(self, payload: Dict[Any, Any]) -> Optional[Dict[str, Any]]: + response = self.http_session.post(self.url, json=payload) + if not response.ok: + raise ConnectionError( + f"Error connecting to bundler {self.url} : {response.status_code} {response.content}" + ) + + response_json = response.json() + result = response_json.get("result") + if not result and "error" in response_json: + logger.warning( + "Bundler returned error for payload %s : %s", + payload, + response_json["error"], + ) + return result + + def get_user_operation_by_hash( + self, user_operation_hash: HexStr + ) -> Optional[UserOperation]: + payload = { + "jsonrpc": "2.0", + "method": "eth_getUserOperationByHash", + "params": [user_operation_hash], + "id": 1, + } + result = self._do_request(payload) + return UserOperation(user_operation_hash, result) if result else None + + def get_user_operation_receipt( + self, user_operation_hash: HexStr + ) -> Optional[Dict[str, Any]]: + payload = { + "jsonrpc": "2.0", + "method": "eth_getUserOperationReceipt", + "params": [user_operation_hash], + "id": 1, + } + return self._do_request(payload) + + def supported_entry_points(self) -> List[ChecksumAddress]: + payload = { + "jsonrpc": "2.0", + "method": "eth_supportedEntryPoints", + "params": [], + "id": 1, + } + return self._do_request(payload) diff --git a/gnosis/eth/account_abstraction/user_operation.py b/gnosis/eth/account_abstraction/user_operation.py new file mode 100644 index 000000000..5b6b8e4c6 --- /dev/null +++ b/gnosis/eth/account_abstraction/user_operation.py @@ -0,0 +1,110 @@ +import dataclasses +from typing import Any, Dict, Union + +from eth_abi import encode as abi_encode +from eth_typing import ChecksumAddress, HexStr +from hexbytes import HexBytes + +from gnosis.eth.utils import fast_keccak + + +@dataclasses.dataclass +class UserOperation: + """ + EIP4337 UserOperation for Entrypoint v0.6 + + https://github.com/eth-infinitism/account-abstraction/blob/v0.6.0 + """ + + sender: ChecksumAddress + nonce: int + init_code: bytes + call_data: bytes + call_gas_limit: int + verification_gas_limit: int + pre_verification_gas: int + max_fee_per_gas: int + max_priority_fee_per_gas: int + paymaster_and_data: bytes + signature: bytes + entry_point: ChecksumAddress + transaction_hash: bytes + block_hash: bytes + block_number: int + user_operation_hash: bytes + + def __init__( + self, + user_operation_hash: Union[HexStr, bytes], + user_operation_response: Dict[str, Any], + ): + self.sender = ChecksumAddress( + user_operation_response["userOperation"]["sender"] + ) + self.nonce = int(user_operation_response["userOperation"]["nonce"], 16) + self.init_code = HexBytes(user_operation_response["userOperation"]["initCode"]) + self.call_data = HexBytes(user_operation_response["userOperation"]["callData"]) + self.call_gas_limit = int( + user_operation_response["userOperation"]["callGasLimit"], 16 + ) + self.verification_gas_limit = int( + user_operation_response["userOperation"]["verificationGasLimit"], 16 + ) + self.pre_verification_gas = int( + user_operation_response["userOperation"]["preVerificationGas"], 16 + ) + self.max_fee_per_gas = int( + user_operation_response["userOperation"]["maxFeePerGas"], 16 + ) + self.max_priority_fee_per_gas = int( + user_operation_response["userOperation"]["maxPriorityFeePerGas"], 16 + ) + self.paymaster_and_data = HexBytes( + user_operation_response["userOperation"]["paymasterAndData"] + ) + self.signature = HexBytes(user_operation_response["userOperation"]["signature"]) + self.entry_point = ChecksumAddress(user_operation_response["entryPoint"]) + self.transaction_hash = HexBytes(user_operation_response["transactionHash"]) + self.block_hash = HexBytes(user_operation_response["blockHash"]) + self.block_number = int(user_operation_response["blockNumber"], 16) + self.user_operation_hash = HexBytes(user_operation_hash) + + def __str__(self): + return f"User Operation sender={self.sender} nonce={self.nonce} hash={self.user_operation_hash.hex()}" + + def calculate_user_operation_hash(self, chain_id: int) -> bytes: + hash_init_code = fast_keccak(self.init_code) + hash_call_data = fast_keccak(self.call_data) + hash_paymaster_and_data = fast_keccak(self.paymaster_and_data) + user_operation_encoded = abi_encode( + [ + "address", + "uint256", + "bytes32", + "bytes32", + "uint256", + "uint256", + "uint256", + "uint256", + "uint256", + "bytes32", + ], + [ + self.sender, + self.nonce, + hash_init_code, + hash_call_data, + self.call_gas_limit, + self.verification_gas_limit, + self.pre_verification_gas, + self.max_fee_per_gas, + self.max_priority_fee_per_gas, + hash_paymaster_and_data, + ], + ) + return fast_keccak( + abi_encode( + ["bytes32", "address", "uint256"], + [fast_keccak(user_operation_encoded), self.entry_point, chain_id], + ) + ) diff --git a/gnosis/eth/clients/blockscout_client.py b/gnosis/eth/clients/blockscout_client.py index 169fcbb1e..1298706dc 100644 --- a/gnosis/eth/clients/blockscout_client.py +++ b/gnosis/eth/clients/blockscout_client.py @@ -50,17 +50,17 @@ class BlockscoutClient: EthereumNetwork.KCC_MAINNET: "https://scan.kcc.io/graphiql", EthereumNetwork.KCC_TESTNET: "https://scan-testnet.kcc.network/graphiql", EthereumNetwork.CROSSBELL: "https://scan.crossbell.io/graphiql", - EthereumNetwork.ETHEREUM_CLASSIC_MAINNET: "https://blockscout.com/etc/mainnet/graphiql", - EthereumNetwork.ETHEREUM_CLASSIC_TESTNET_MORDOR: "https://blockscout.com/etc/mordor/graphiql", + EthereumNetwork.ETHEREUM_CLASSIC: "https://blockscout.com/etc/mainnet/graphiql", + EthereumNetwork.MORDOR_TESTNET: "https://blockscout.com/etc/mordor/graphiql", EthereumNetwork.SCROLL_SEPOLIA_TESTNET: "https://sepolia-blockscout.scroll.io/graphiql", EthereumNetwork.MANTLE: "https://explorer.mantle.xyz/graphiql", EthereumNetwork.MANTLE_TESTNET: "https://explorer.testnet.mantle.xyz/graphiql", EthereumNetwork.JAPAN_OPEN_CHAIN_MAINNET: "https://mainnet.japanopenchain.org/graphiql", EthereumNetwork.JAPAN_OPEN_CHAIN_TESTNET: "https://explorer.testnet.japanopenchain.org/graphiql", - EthereumNetwork.ZETACHAIN_ATHENS_TESTNET: "https://zetachain-athens-3.blockscout.com/graphiql", + EthereumNetwork.ZETACHAIN_ATHENS_3_TESTNET: "https://zetachain-athens-3.blockscout.com/graphiql", EthereumNetwork.SCROLL: "https://blockscout.scroll.io/graphiql", - EthereumNetwork.RSK_MAINNET: "https://rootstock.blockscout.com/graphiql", - EthereumNetwork.RSK_TESTNET: "https://rootstock-testnet.blockscout.com/graphiql", + EthereumNetwork.ROOTSTOCK_MAINNET: "https://rootstock.blockscout.com/graphiql", + EthereumNetwork.ROOTSTOCK_TESTNET: "https://rootstock-testnet.blockscout.com/graphiql", EthereumNetwork.LINEA: "https://explorer.linea.build/graphiql", EthereumNetwork.LINEA_TESTNET: "https://explorer.goerli.linea.build/graphiql", EthereumNetwork.NEON_EVM_MAINNET: "https://neon.blockscout.com/graphiql", @@ -71,17 +71,27 @@ class BlockscoutClient: EthereumNetwork.TENET: "https://tenetscan.io/graphiql", EthereumNetwork.TENET_TESTNET: "https://testnet.tenetscan.io/graphiql", EthereumNetwork.VELAS_EVM_MAINNET: "https://evmexplorer.velas.com/graphiql", - EthereumNetwork.CRONOS_MAINNET_BETA: "https://cronos.org/explorer/graphiql", + EthereumNetwork.CRONOS_MAINNET: "https://cronos.org/explorer/graphiql", EthereumNetwork.CRONOS_TESTNET: "https://cronos.org/explorer/testnet3/graphiql", EthereumNetwork.THUNDERCORE_MAINNET: "https://explorer-mainnet.thundercore.com/graphiql", EthereumNetwork.THUNDERCORE_TESTNET: "https://explorer-testnet.thundercore.com/graphiql", - EthereumNetwork.PGN_MAINNET: "https://explorer.publicgoods.network/graphiql", - EthereumNetwork.PGN_TESTNET: "https://explorer.sepolia.publicgoods.network/graphiql", + EthereumNetwork.PGN_PUBLIC_GOODS_NETWORK: "https://explorer.publicgoods.network/graphiql", + EthereumNetwork.SEPOLIA_PGN_PUBLIC_GOODS_NETWORK: "https://explorer.sepolia.publicgoods.network/graphiql", EthereumNetwork.ARTHERA_TESTNET: "https://explorer-test.arthera.net/graphiql", EthereumNetwork.MANTA_PACIFIC_MAINNET: "https://pacific-explorer.manta.network/graphiql", EthereumNetwork.KROMA: "https://blockscout.kroma.network/graphiql", EthereumNetwork.KROMA_SEPOLIA: "https://blockscout.sepolia.kroma.network/graphiql", - EthereumNetwork.ZORA_NETWORK: "https://explorer.mode.network/graphiql", + EthereumNetwork.ZORA: "https://explorer.zora.energy/graphiql", + EthereumNetwork.ZORA_SEPOLIA_TESTNET: "https://sepolia.explorer.zora.energy/graphiql", + EthereumNetwork.HAQQ_NETWORK: "https://explorer.haqq.network/graphiql", + EthereumNetwork.HAQQ_CHAIN_TESTNET: "https://explorer.testedge2.haqq.network/graphiql", + EthereumNetwork.MODE: "https://explorer.mode.network/graphiql", + EthereumNetwork.MODE_TESTNET: "https://sepolia.explorer.mode.network/graphiql", + EthereumNetwork.MANTLE_SEPOLIA_TESTNET: "https://explorer.sepolia.mantle.xyz/graphiql", + EthereumNetwork.OP_SEPOLIA_TESTNET: "https://optimism-sepolia.blockscout.com/graphiql", + EthereumNetwork.UNREAL_TESTNET: "https://unreal.blockscout.com/graphiql", + EthereumNetwork.TAIKO_KATLA_L2: "https://explorer.katla.taiko.xyz/graphiql", + EthereumNetwork.SHIBARIUM: "https://www.shibariumscan.io/graphiql", } def __init__(self, network: EthereumNetwork): diff --git a/gnosis/eth/clients/etherscan_client.py b/gnosis/eth/clients/etherscan_client.py index 0264dd414..e56023899 100644 --- a/gnosis/eth/clients/etherscan_client.py +++ b/gnosis/eth/clients/etherscan_client.py @@ -3,8 +3,7 @@ from typing import Any, Dict, Optional from urllib.parse import urljoin -import requests - +from ...util.http import prepare_http_session from .. import EthereumNetwork from .contract_metadata import ContractMetadata @@ -27,8 +26,7 @@ class EtherscanClient: EthereumNetwork.RINKEBY: "https://rinkeby.etherscan.io", EthereumNetwork.ROPSTEN: "https://ropsten.etherscan.io", EthereumNetwork.GOERLI: "https://goerli.etherscan.io", - EthereumNetwork.KOVAN: "https://kovan.etherscan.io", - EthereumNetwork.BINANCE_SMART_CHAIN_MAINNET: "https://bscscan.com", + EthereumNetwork.BNB_SMART_CHAIN_MAINNET: "https://bscscan.com", EthereumNetwork.POLYGON: "https://polygonscan.com", EthereumNetwork.POLYGON_ZKEVM: "https://zkevm.polygonscan.com", EthereumNetwork.OPTIMISM: "https://optimistic.etherscan.io", @@ -40,14 +38,14 @@ class EtherscanClient: EthereumNetwork.MOONBEAM: "https://moonscan.io", EthereumNetwork.MOONRIVER: "https://moonriver.moonscan.io", EthereumNetwork.MOONBASE_ALPHA: "https://moonbase.moonscan.io", - EthereumNetwork.CRONOS_MAINNET_BETA: "https://cronoscan.com", + EthereumNetwork.CRONOS_MAINNET: "https://cronoscan.com", EthereumNetwork.CRONOS_TESTNET: "https://testnet.cronoscan.com", EthereumNetwork.CELO_MAINNET: "https://celoscan.io", EthereumNetwork.BASE_GOERLI_TESTNET: "https://goerli.basescan.org", EthereumNetwork.NEON_EVM_DEVNET: "https://devnet.neonscan.org", EthereumNetwork.NEON_EVM_MAINNET: "https://neonscan.org", EthereumNetwork.SEPOLIA: "https://sepolia.etherscan.io", - EthereumNetwork.ZKSYNC_V2: "https://explorer.zksync.io/", + EthereumNetwork.ZKSYNC_MAINNET: "https://explorer.zksync.io/", EthereumNetwork.FANTOM_OPERA: "https://ftmscan.com", EthereumNetwork.FANTOM_TESTNET: "https://testnet.ftmscan.com/", EthereumNetwork.LINEA: "https://www.lineascan.build", @@ -67,8 +65,7 @@ class EtherscanClient: EthereumNetwork.RINKEBY: "https://api-rinkeby.etherscan.io", EthereumNetwork.ROPSTEN: "https://api-ropsten.etherscan.io", EthereumNetwork.GOERLI: "https://api-goerli.etherscan.io", - EthereumNetwork.KOVAN: "https://api-kovan.etherscan.io", - EthereumNetwork.BINANCE_SMART_CHAIN_MAINNET: "https://api.bscscan.com", + EthereumNetwork.BNB_SMART_CHAIN_MAINNET: "https://api.bscscan.com", EthereumNetwork.POLYGON: "https://api.polygonscan.com", EthereumNetwork.POLYGON_ZKEVM: "https://api-zkevm.polygonscan.com", EthereumNetwork.OPTIMISM: "https://api-optimistic.etherscan.io", @@ -81,14 +78,14 @@ class EtherscanClient: EthereumNetwork.MOONBEAM: "https://api-moonbeam.moonscan.io", EthereumNetwork.MOONRIVER: "https://api-moonriver.moonscan.io", EthereumNetwork.MOONBASE_ALPHA: "https://api-moonbase.moonscan.io", - EthereumNetwork.CRONOS_MAINNET_BETA: "https://api.cronoscan.com", + EthereumNetwork.CRONOS_MAINNET: "https://api.cronoscan.com", EthereumNetwork.CRONOS_TESTNET: "https://api-testnet.cronoscan.com", EthereumNetwork.CELO_MAINNET: "https://api.celoscan.io", EthereumNetwork.BASE_GOERLI_TESTNET: "https://api-goerli.basescan.org", EthereumNetwork.NEON_EVM_DEVNET: "https://devnet-api.neonscan.org", EthereumNetwork.NEON_EVM_MAINNET: "https://api.neonscan.org", EthereumNetwork.SEPOLIA: "https://api-sepolia.etherscan.io", - EthereumNetwork.ZKSYNC_V2: "https://block-explorer-api.mainnet.zksync.io/", + EthereumNetwork.ZKSYNC_MAINNET: "https://block-explorer-api.mainnet.zksync.io/", EthereumNetwork.FANTOM_OPERA: "https://api.ftmscan.com", EthereumNetwork.FANTOM_TESTNET: "https://api-testnet.ftmscan.com", EthereumNetwork.LINEA: "https://api.lineascan.build", @@ -120,27 +117,10 @@ def __init__( raise EtherscanClientConfigurationProblem( f"Network {network.name} - {network.value} not supported" ) - self.http_session = self._prepare_http_session() + self.http_session = prepare_http_session(10, 100) self.http_session.headers = self.HTTP_HEADERS self.request_timeout = request_timeout - def _prepare_http_session(self) -> requests.Session: - """ - Prepare http session with custom pooling. See: - https://urllib3.readthedocs.io/en/stable/advanced-usage.html - https://docs.python-requests.org/en/v1.2.3/api/#requests.adapters.HTTPAdapter - https://web3py.readthedocs.io/en/stable/providers.html#httpprovider - """ - session = requests.Session() - adapter = requests.adapters.HTTPAdapter( - pool_connections=10, - pool_maxsize=100, - pool_block=False, - ) - session.mount("http://", adapter) - session.mount("https://", adapter) - return session - def build_url(self, path: str): url = urljoin(self.base_api_url, path) if self.api_key: diff --git a/gnosis/eth/clients/sourcify_client.py b/gnosis/eth/clients/sourcify_client.py index 4ffd4ffb5..1ce8ad9ec 100644 --- a/gnosis/eth/clients/sourcify_client.py +++ b/gnosis/eth/clients/sourcify_client.py @@ -1,10 +1,9 @@ from typing import Any, Dict, List, Optional from urllib.parse import urljoin -import requests - from gnosis.util import cache +from ...util.http import prepare_http_session from .. import EthereumNetwork from ..utils import fast_is_checksum_address from .contract_metadata import ContractMetadata @@ -40,7 +39,7 @@ def __init__( self.network = network self.base_url_api = base_url_api self.base_url_repo = base_url_repo - self.http_session = self._prepare_http_session() + self.http_session = prepare_http_session(10, 100) self.request_timeout = request_timeout if not self.is_chain_supported(network.value): @@ -48,23 +47,6 @@ def __init__( f"Network {network.name} - {network.value} not supported" ) - def _prepare_http_session(self) -> requests.Session: - """ - Prepare http session with custom pooling. See: - https://urllib3.readthedocs.io/en/stable/advanced-usage.html - https://docs.python-requests.org/en/v1.2.3/api/#requests.adapters.HTTPAdapter - https://web3py.readthedocs.io/en/stable/providers.html#httpprovider - """ - session = requests.Session() - adapter = requests.adapters.HTTPAdapter( - pool_connections=10, - pool_maxsize=100, - pool_block=False, - ) - session.mount("http://", adapter) - session.mount("https://", adapter) - return session - def _get_abi_from_metadata(self, metadata: Dict[str, Any]) -> List[Dict[str, Any]]: return metadata["output"]["abi"] diff --git a/gnosis/eth/ethereum_client.py b/gnosis/eth/ethereum_client.py index 83093118b..a4a292a28 100644 --- a/gnosis/eth/ethereum_client.py +++ b/gnosis/eth/ethereum_client.py @@ -16,7 +16,6 @@ ) import eth_abi -import requests from eth_abi.exceptions import DecodingError from eth_account import Account from eth_account.signers.local import LocalAccount @@ -60,6 +59,7 @@ ) from gnosis.util import cache, chunks +from ..util.http import prepare_http_session from .constants import ( ERC20_721_TRANSFER_TOPIC, GAS_CALL_DATA_BYTE, @@ -1189,7 +1189,7 @@ def __init__( :param use_caching_middleware: Use web3 simple cache middleware: https://web3py.readthedocs.io/en/stable/middleware.html#web3.middleware.construct_simple_cache_middleware :param batch_request_max_size: Max size for JSON RPC Batch requests. Some providers have a limitation on 500 """ - self.http_session = self._prepare_http_session(retry_count) + self.http_session = prepare_http_session(1, 100, retry_count=retry_count) self.ethereum_node_url: str = ethereum_node_url self.timeout = provider_timeout self.slow_timeout = slow_provider_timeout @@ -1237,33 +1237,6 @@ def __init__( def __str__(self): return f"EthereumClient for url={self.ethereum_node_url}" - def _prepare_http_session(self, retry_count: int) -> requests.Session: - """ - Prepare http session with custom pooling. See: - https://urllib3.readthedocs.io/en/stable/advanced-usage.html - https://docs.python-requests.org/en/v1.2.3/api/#requests.adapters.HTTPAdapter - https://web3py.readthedocs.io/en/stable/providers.html#httpprovider - """ - session = requests.Session() - retry_conf = ( - requests.adapters.Retry( - total=retry_count, - backoff_factor=0.3, - ) - if retry_count - else 0 - ) - - adapter = requests.adapters.HTTPAdapter( - pool_connections=1, # Doing all the connections to the same url - pool_maxsize=100, # Number of concurrent connections - max_retries=retry_conf, # Nodes are not very responsive some times - pool_block=False, - ) - session.mount("http://", adapter) - session.mount("https://", adapter) - return session - def raw_batch_request( self, payload: List[Dict[str, Any]], batch_size: Optional[int] = None ) -> Iterable[Optional[Dict[str, Any]]]: diff --git a/gnosis/eth/ethereum_network.py b/gnosis/eth/ethereum_network.py index 78c8c52c7..1482c71a3 100644 --- a/gnosis/eth/ethereum_network.py +++ b/gnosis/eth/ethereum_network.py @@ -18,7 +18,7 @@ class EthereumNetwork(Enum): ROPSTEN = 3 RINKEBY = 4 GOERLI = 5 - ETHEREUM_CLASSIC_TESTNET_KOTTI = 6 + KOTTI_TESTNET = 6 THAICHAIN = 7 UBIQ = 8 UBIQ_NETWORK_TESTNET = 9 @@ -37,44 +37,45 @@ class EthereumNetwork(Enum): ELA_DID_SIDECHAIN_MAINNET = 22 ELA_DID_SIDECHAIN_TESTNET = 23 KARDIACHAIN_MAINNET = 24 - CRONOS_MAINNET_BETA = 25 + CRONOS_MAINNET = 25 GENESIS_L1_TESTNET = 26 SHIBACHAIN = 27 BOBA_NETWORK_RINKEBY_TESTNET = 28 GENESIS_L1 = 29 - RSK_MAINNET = 30 - RSK_TESTNET = 31 + ROOTSTOCK_MAINNET = 30 + ROOTSTOCK_TESTNET = 31 GOODDATA_TESTNET = 32 GOODDATA_MAINNET = 33 - DITHEREUM_TESTNET = 34 + SECURECHAIN_MAINNET = 34 TBWG_CHAIN = 35 DXCHAIN_MAINNET = 36 - SEEDCOIN_NETWORK = 37 + XPLA_MAINNET = 37 VALORBIT = 38 - UNICORN_ULTRA_TESTNET = 39 + U2U_SOLARIS_MAINNET = 39 TELOS_EVM_MAINNET = 40 TELOS_EVM_TESTNET = 41 - KOVAN = 42 + LUKSO_MAINNET = 42 DARWINIA_PANGOLIN_TESTNET = 43 - DARWINIA_CRAB_NETWORK = 44 + CRAB_NETWORK = 44 DARWINIA_PANGORO_TESTNET = 45 DARWINIA_NETWORK = 46 + ACRIA_INTELLICHAIN = 47 ENNOTHEM_MAINNET_PROTEROZOIC = 48 ENNOTHEM_TESTNET_PIONEER = 49 - XINFIN_XDC_NETWORK = 50 + XDC_NETWORK = 50 XDC_APOTHEM_NETWORK = 51 COINEX_SMART_CHAIN_MAINNET = 52 COINEX_SMART_CHAIN_TESTNET = 53 OPENPIECE_MAINNET = 54 ZYX_MAINNET = 55 - BINANCE_SMART_CHAIN_MAINNET = 56 + BNB_SMART_CHAIN_MAINNET = 56 SYSCOIN_MAINNET = 57 ONTOLOGY_MAINNET = 58 - EOS_MAINNET = 59 + EOS_EVM_LEGACY = 59 GOCHAIN = 60 - ETHEREUM_CLASSIC_MAINNET = 61 - ETHEREUM_CLASSIC_TESTNET_MORDEN = 62 - ETHEREUM_CLASSIC_TESTNET_MORDOR = 63 + ETHEREUM_CLASSIC = 61 + MORDEN_TESTNET = 62 + MORDOR_TESTNET = 63 ELLAISM = 64 OKEXCHAIN_TESTNET = 65 OKXCHAIN_MAINNET = 66 @@ -95,6 +96,7 @@ class EthereumNetwork(Enum): JAPAN_OPEN_CHAIN_MAINNET = 81 METER_MAINNET = 82 METER_TESTNET = 83 + LINQTO_DEVNET = 84 GATECHAIN_TESTNET = 85 GATECHAIN_MAINNET = 86 NOVA_NETWORK = 87 @@ -104,24 +106,34 @@ class EthereumNetwork(Enum): GARIZON_STAGE1 = 91 GARIZON_STAGE2 = 92 GARIZON_STAGE3 = 93 - CRYPTOKYLIN_TESTNET = 95 - NEXT_SMART_CHAIN = 96 - BINANCE_SMART_CHAIN_TESTNET = 97 + SWISSDLT = 94 + CAMDL_MAINNET = 95 + BITKUB_CHAIN = 96 + BNB_SMART_CHAIN_TESTNET = 97 + SIX_PROTOCOL = 98 POA_NETWORK_CORE = 99 GNOSIS = 100 ETHERINC = 101 WEB3GAMES_TESTNET = 102 + WORLDLAND_MAINNET = 103 KAIBA_LIGHTNING_CHAIN_TESTNET = 104 WEB3GAMES_DEVNET = 105 VELAS_EVM_MAINNET = 106 NEBULA_TESTNET = 107 THUNDERCORE_MAINNET = 108 + SHIBARIUM = 109 PROTON_TESTNET = 110 ETHERLITE_CHAIN = 111 + COINBIT_MAINNET = 112 DEHVO = 113 FLARE_TESTNET_COSTON2 = 114 - DEBANK_TESTNET = 115 + DEBANK_TESTNET_DEPRECATED = 115 DEBANK_MAINNET = 116 + UPTICK_MAINNET = 117 + ARCOLOGY_TESTNET = 118 + ENULS_MAINNET = 119 + ENULS_TESTNET = 120 + REALCHAIN_MAINNET = 121 FUSE_MAINNET = 122 FUSE_SPARKNET = 123 DECENTRALIZED_WEB_MAINNET = 124 @@ -129,16 +141,31 @@ class EthereumNetwork(Enum): OYCHAIN_MAINNET = 126 FACTORY_127_MAINNET = 127 HUOBI_ECO_CHAIN_MAINNET = 128 + PROTOJUMBO_TESTNET = 129 + ENGRAM_TESTNET = 131 + IEXEC_SIDECHAIN = 134 ALYX_CHAIN_TESTNET = 135 + DEAMCHAIN_MAINNET = 136 POLYGON = 137 + DEFI_ORACLE_META_MAINNET = 138 + WOOPCHAIN_MAINNET = 139 OPENPIECE_TESTNET = 141 DAX_CHAIN = 142 PHI_NETWORK_V2 = 144 + SHIMMEREVM = 148 + SIX_PROTOCOL_TESTNET = 150 + REDBELLY_NETWORK_MAINNET = 151 + REDBELLY_NETWORK_DEVNET = 152 + REDBELLY_NETWORK_TESTNET = 153 + REDBELLY_NETWORK_TGE = 154 TENET_TESTNET = 155 + OEBLOCK_TESTNET = 156 ARMONIA_EVA_CHAIN_MAINNET = 160 ARMONIA_EVA_CHAIN_TESTNET = 161 LIGHTSTREAMS_TESTNET = 162 LIGHTSTREAMS_MAINNET = 163 + OMNI_TESTNET = 165 + ATOSHI_TESTNET = 167 AIOZ_NETWORK = 168 MANTA_PACIFIC_MAINNET = 169 HOO_SMART_CHAIN_TESTNET = 170 @@ -148,33 +175,60 @@ class EthereumNetwork(Enum): BMC_MAINNET = 188 BMC_TESTNET = 189 CRYPTO_EMERGENCY = 193 + X1_TESTNET = 195 + X1_MAINNET = 196 + NEUTRINOS_TESTNET = 197 + BITCHAIN_MAINNET = 198 BITTORRENT_CHAIN_MAINNET = 199 ARBITRUM_ON_XDAI = 200 MOAC_TESTNET = 201 + OPBNB_MAINNET = 204 + VINUCHAIN_TESTNET = 206 + VINUCHAIN_NETWORK = 207 + STRUCTX_MAINNET = 208 + BITNET = 210 FREIGHT_TRUST_NETWORK = 211 MAP_MAKALU = 212 + SHINARIUM_MAINNET = 214 SIRIUSNET_V2 = 217 SOTERONE_MAINNET_OLD = 218 + SCALIND_TESTNET = 220 PERMISSION = 222 LACHAIN_MAINNET = 225 LACHAIN_TESTNET = 226 + SWAPDEX = 230 + DEAMCHAIN_TESTNET = 236 + BLAST_MAINNET = 238 + PLINGA_MAINNET = 242 ENERGY_WEB_CHAIN = 246 OASYS_MAINNET = 248 FANTOM_OPERA = 250 + FRAXTAL_MAINNET = 252 KROMA = 255 HUOBI_ECO_CHAIN_TESTNET = 256 SETHEUM = 258 + NEONLINK_MAINNET = 259 SUR_BLOCKCHAIN_NETWORK = 262 HIGH_PERFORMANCE_BLOCKCHAIN = 269 - ZKSYNC_ALPHA_TESTNET = 280 + EGONCOIN_MAINNET = 271 + LACHAIN = 274 + ZKSYNC_ERA_GOERLI_TESTNET_DEPRECATED = 280 BOBA_NETWORK = 288 - OPTIMISM_ON_GNOSIS = 300 + ORDERLY_MAINNET = 291 + HEDERA_MAINNET = 295 + HEDERA_TESTNET = 296 + HEDERA_PREVIEWNET = 297 + HEDERA_LOCALNET = 298 + ZKSYNC_SEPOLIA_TESTNET = 300 BOBAOPERA = 301 + NEUROCHAIN_TESTNET = 303 + WYZTH_TESTNET = 309 OMAX_MAINNET = 311 + NEUROCHAIN_MAINNET = 313 FILECOIN_MAINNET = 314 KCC_MAINNET = 321 KCC_TESTNET = 322 - ZKSYNC_V2 = 324 + ZKSYNC_MAINNET = 324 WEB3Q_MAINNET = 333 DFK_CHAIN_TEST = 335 SHIDEN = 336 @@ -183,13 +237,24 @@ class EthereumNetwork(Enum): THETA_SAPPHIRE_TESTNET = 363 THETA_AMBER_TESTNET = 364 THETA_TESTNET = 365 - PULSECHAIN_MAINNET = 369 + PULSECHAIN = 369 + CONSTA_TESTNET = 371 LISINSKI = 385 + NATIV3_MAINNET = 399 HYPERONCHAIN_TESTNET = 400 + OZONE_CHAIN_TESTNET = 401 + PEPE_CHAIN_MAINNET = 411 SX_NETWORK_MAINNET = 416 + LATESTNET = 418 OPTIMISM_GOERLI_TESTNET = 420 - PGN_MAINNET = 424 + PGN_PUBLIC_GOODS_NETWORK = 424 ZEETH_CHAIN = 427 + GESO_VERSE = 428 + TEN_TESTNET = 443 + SYNAPSE_CHAIN_TESTNET = 444 + ARZIO_CHAIN = 456 + AREON_NETWORK_TESTNET = 462 + AREON_NETWORK_MAINNET = 463 RUPAYA = 499 CAMINO_C_CHAIN = 500 COLUMBUS_TEST_NETWORK = 501 @@ -200,39 +265,62 @@ class EthereumNetwork(Enum): FIRECHAIN_MAINNET = 529 F_XCORE_MAINNET_NETWORK = 530 CANDLE = 534 + PAWCHAIN_TESTNET = 542 VELA1_CHAIN_MAINNET = 555 TAO_NETWORK = 558 DOGECHAIN_TESTNET = 568 + ROLLUX_MAINNET = 570 + METACHAIN_MAINNET = 571 METIS_STARDUST_TESTNET = 588 ASTAR = 592 - ACALA_MANDALA_TESTNET = 595 + ACALA_MANDALA_TESTNET_TC9 = 595 KARURA_NETWORK_TESTNET = 596 ACALA_NETWORK_TESTNET = 597 METIS_GOERLI_TESTNET = 599 MESHNYAN_TESTNET = 600 + VINE_TESTNET = 601 + GRAPHLINQ_BLOCKCHAIN_MAINNET = 614 + AVOCADO = 634 SX_NETWORK_TESTNET = 647 + ENDURANCE_SMART_CHAIN_MAINNET = 648 + KALICHAIN_TESTNET = 653 + KALICHAIN = 654 PIXIE_CHAIN_TESTNET = 666 + LAOS_ARRAKIS = 667 + JUNCACHAIN = 668 + JUNCACHAIN_TESTNET = 669 KARURA_NETWORK = 686 STAR_SOCIAL_TESTNET = 700 BLOCKCHAIN_STATION_MAINNET = 707 BLOCKCHAIN_STATION_TESTNET = 708 + HIGHBURY = 710 + SHIBARIUM_BETA = 719 LYCAN_CHAIN = 721 + BLUCRATES = 727 + CANTO_TESTNET = 740 VENTION_SMART_CHAIN_TESTNET = 741 + SCRIPT_TESTNET = 742 QL1 = 766 OPENCHAIN_TESTNET = 776 CHEAPETH = 777 + MAAL_CHAIN = 786 ACALA_NETWORK = 787 AEROCHAIN_TESTNET = 788 + PATEX = 789 LUCID_BLOCKCHAIN = 800 HAIC = 803 PORTAL_FANTASY_CHAIN_TEST = 808 + HAVEN1_TESTNET = 810 QITMEER = 813 + FIRECHAIN_ZKEVM = 814 + BEONE_CHAIN_MAINNET = 818 CALLISTO_MAINNET = 820 CALLISTO_TESTNET_DEPRECATED = 821 TARAXA_MAINNET = 841 TARAXA_TESTNET = 842 ZEETH_CHAIN_DEV = 859 FANTASIA_CHAIN_MAINNET = 868 + BANDAI_NAMCO_RESEARCH_VERSE_MAINNET = 876 DEXIT_NETWORK = 877 AMBROS_CHAIN_MAINNET = 880 WANCHAIN = 888 @@ -241,11 +329,17 @@ class EthereumNetwork(Enum): GARIZON_TESTNET_STAGE2 = 902 GARIZON_TESTNET_STAGE3 = 903 PORTAL_FANTASY_CHAIN = 909 + DECENTRABONE_LAYER1_TESTNET = 910 RINIA_TESTNET = 917 + MODE_TESTNET = 919 + YIDARK_CHAIN_MAINNET = 927 PULSECHAIN_TESTNET = 940 PULSECHAIN_TESTNET_V2B = 941 PULSECHAIN_TESTNET_V3 = 942 + PULSECHAIN_TESTNET_V4 = 943 MUNODE_TESTNET = 956 + LYRA_CHAIN = 957 + BTC20_SMART_CHAIN = 963 OORT_MAINNET = 970 OORT_HUYGENS = 971 OORT_ASCRAEUS = 972 @@ -253,10 +347,13 @@ class EthereumNetwork(Enum): TOP_MAINNET_EVM = 980 MEMO_SMART_CHAIN_MAINNET = 985 TOP_MAINNET = 989 + ELIBERTY_MAINNET = 990 + _5IRECHAIN_THUNDER = 997 LUCKY_NETWORK = 998 WANCHAIN_TESTNET = 999 GTON_MAINNET = 1000 KLAYTN_TESTNET_BAOBAB = 1001 + TECTUM_EMISSION_TOKEN = 1003 T_EKTA = 1004 NEWTON_TESTNET = 1007 EURUS_MAINNET = 1008 @@ -270,16 +367,30 @@ class EthereumNetwork(Enum): PROXY_NETWORK_TESTNET = 1031 BRONOS_TESTNET = 1038 BRONOS_MAINNET = 1039 + SHIMMEREVM_TESTNET_DEPRECATED = 1071 + SHIMMEREVM_TESTNET_DEPRECATED_1072 = 1072 + SHIMMEREVM_TESTNET = 1073 + MINTARA_TESTNET = 1079 + MINTARA_MAINNET = 1080 METIS_ANDROMEDA_MAINNET = 1088 + HUMANS_AI_MAINNET = 1089 MOAC_MAINNET = 1099 POLYGON_ZKEVM = 1101 + BLXQ_TESTNET = 1107 + BLXQ_MAINNET = 1108 WEMIX3_0_MAINNET = 1111 WEMIX3_0_TESTNET = 1112 + CORE_BLOCKCHAIN_TESTNET = 1115 CORE_BLOCKCHAIN_MAINNET = 1116 + DOGCOIN_MAINNET = 1117 DEFICHAIN_EVM_NETWORK_MAINNET = 1130 DEFICHAIN_EVM_NETWORK_TESTNET = 1131 + DEFIMETACHAIN_CHANGI_TESTNET = 1133 + AMSTAR_TESTNET = 1138 MATHCHAIN = 1139 MATHCHAIN_TESTNET = 1140 + SYMPLEXIA_SMART_CHAIN = 1149 + ORIGIN_TESTNET = 1170 SMART_HOST_TEKNOLOJI_TESTNET = 1177 IORA_CHAIN = 1197 EVANESCO_TESTNET = 1201 @@ -290,7 +401,10 @@ class EthereumNetwork(Enum): ULTRON_TESTNET = 1230 ULTRON_MAINNET = 1231 STEP_NETWORK = 1234 + ARC_MAINNET = 1243 + ARC_TESTNET = 1244 OM_PLATFORM_MAINNET = 1246 + DOGETHER_MAINNET = 1248 CIC_CHAIN_TESTNET = 1252 HALO_MAINNET = 1280 MOONBEAM = 1284 @@ -298,16 +412,30 @@ class EthereumNetwork(Enum): MOONROCK_OLD = 1286 MOONBASE_ALPHA = 1287 MOONROCK = 1288 + SWISSTRONIK_TESTNET = 1291 BOBABEAM = 1294 BOBABASE_TESTNET = 1297 DOS_FUJI_SUBNET = 1311 ALYX_MAINNET = 1314 - AITD_MAINNET = 1319 - AITD_TESTNET = 1320 + AIA_MAINNET = 1319 + AIA_TESTNET = 1320 GANACHE = 1337 + ELYSIUM_TESTNET = 1338 + ELYSIUM_MAINNET = 1339 + BLITZ_SUBNET = 1343 CIC_CHAIN_MAINNET = 1353 - POLYGON_ZKEVM_TESTNET = 1402 + ZAFIRIUM_MAINNET = 1369 + KALAR_CHAIN = 1379 + AMSTAR_MAINNET = 1388 + JOSEON_MAINNET = 1392 + POLYGON_ZKEVM_TESTNET_OLD = 1402 + POLYGON_ZKEVM_TESTNET_PRE_AUDIT_UPGRADED = 1422 + RIKEZA_NETWORK_MAINNET = 1433 + LIVING_ASSETS_MAINNET = 1440 + POLYGON_ZKEVM_TESTNET = 1442 + GIL_TESTNET = 1452 CTEX_SCAN_BLOCKCHAIN = 1455 + BEVM_CANARY = 1501 SHERPAX_MAINNET = 1506 SHERPAX_TESTNET = 1507 BEAGLE_MESSAGING_CHAIN = 1515 @@ -315,25 +443,48 @@ class EthereumNetwork(Enum): CATECOIN_CHAIN_MAINNET = 1618 ATHEIOS = 1620 BTACHAIN = 1657 + LIQUICHAIN = 1662 + HORIZEN_GOBI_TESTNET = 1663 LUDAN_MAINNET = 1688 ANYTYPE_EVM_CHAIN = 1701 TBSI_MAINNET = 1707 TBSI_TESTNET = 1708 + PALETTE_CHAIN_MAINNET = 1718 + PARTYCHAIN = 1773 + GAUSS_MAINNET = 1777 KERLEANO = 1804 RABBIT_ANALOG_TESTNET_CHAIN = 1807 CUBE_CHAIN_MAINNET = 1818 CUBE_CHAIN_TESTNET = 1819 + RUBY_SMART_CHAIN_MAINNET = 1821 TESLAFUNDS = 1856 + WHITEBIT_NETWORK = 1875 GITSHOCK_CARTENZ_TESTNET = 1881 + LIGHTLINK_PHOENIX_MAINNET = 1890 + LIGHTLINK_PEGASUS_TESTNET = 1891 BON_NETWORK = 1898 + SPORTS_CHAIN_NETWORK = 1904 + BITCICHAIN_MAINNET = 1907 + BITCICHAIN_TESTNET = 1908 + MERKLE_SCAN = 1909 + SCALIND = 1911 + RUBY_SMART_CHAIN_TESTNET = 1912 ONUS_CHAIN_TESTNET = 1945 D_CHAIN_MAINNET = 1951 + DEXILLA_TESTNET = 1954 + ELEANOR = 1967 + SUPER_SMART_CHAIN_TESTNET = 1969 + SUPER_SMART_CHAIN_MAINNET = 1970 ATELIER = 1971 + REDECOIN = 1972 ONUS_CHAIN_MAINNET = 1975 EURUS_TESTNET = 1984 + SATOSHIE = 1985 + SATOSHIE_TESTNET = 1986 ETHERGEM = 1987 EKTA = 1994 EDEXA_TESTNET = 1995 + KYOTO_TESTNET = 1998 DOGECHAIN_MAINNET = 2000 MILKOMEDA_C1_MAINNET = 2001 MILKOMEDA_A1_MAINNET = 2002 @@ -343,115 +494,241 @@ class EthereumNetwork(Enum): PUBLICMINT_DEVNET = 2018 PUBLICMINT_TESTNET = 2019 PUBLICMINT_MAINNET = 2020 - EDGEWARE_MAINNET = 2021 - BERESHEET_TESTNET = 2022 + EDGEWARE_EDGEEVM_MAINNET = 2021 + BERESHEET_BEREEVM_TESTNET = 2022 TAYCAN_TESTNET = 2023 RANGERS_PROTOCOL_MAINNET = 2025 + CENTRIFUGE = 2031 + CATALYST = 2032 + PHALA_NETWORK = 2035 + KIWI_SUBNET = 2037 + SHRAPNEL_TESTNET = 2038 ORIGINTRAIL_PARACHAIN = 2043 + SHRAPNEL_SUBNET = 2044 + STRATOS_TESTNET = 2047 + STRATOS = 2048 + MOVO_SMART_CHAIN_MAINNET = 2049 QUOKKACOIN_MAINNET = 2077 + ALTAIR = 2088 + ALGOL = 2089 ECOBALL_MAINNET = 2100 ECOBALL_TESTNET_ESPUMA = 2101 EXOSAMA_NETWORK = 2109 METAPLAYERONE_MAINNET = 2122 + METAPLAYERONE_DUBAI_TESTNET = 2124 + BIGSHORTBETS = 2137 + DEFI_ORACLE_META_TESTNET = 2138 BOSAGORA_MAINNET = 2151 FINDORA_MAINNET = 2152 FINDORA_TESTNET = 2153 FINDORA_FORGE = 2154 + MOONSAMA_NETWORK = 2199 + ANTOFY_MAINNET = 2202 BITCOIN_EVM = 2203 EVANESCO_MAINNET = 2213 - KAVA_EVM_TESTNET = 2221 - KAVA_EVM = 2222 + KAVA_TESTNET = 2221 + KAVA = 2222 VCHAIN_MAINNET = 2223 + KREST_NETWORK = 2241 BOMB_CHAIN = 2300 + EBRO_NETWORK = 2306 + AREVIA = 2309 + SOMA_NETWORK_TESTNET = 2323 ALTCOINCHAIN = 2330 + SOMA_NETWORK_MAINNET = 2332 + _DEPRECATED_KROMA_SEPOLIA = 2357 KROMA_SEPOLIA = 2358 BOMB_CHAIN_TESTNET = 2399 TCG_VERSE_MAINNET = 2400 XODEX = 2415 + HYBRID_CHAIN_NETWORK_TESTNET = 2458 + HYBRID_CHAIN_NETWORK_MAINNET = 2468 + UNICORN_ULTRA_NEBULAS_TESTNET = 2484 + FRAXTAL_TESTNET = 2522 KORTHO_MAINNET = 2559 TECHPAY_MAINNET = 2569 POCRNET = 2606 REDLIGHT_CHAIN_MAINNET = 2611 EZCHAIN_C_CHAIN_MAINNET = 2612 EZCHAIN_C_CHAIN_TESTNET = 2613 + WHITEBIT_NETWORK_TESTNET = 2625 + MORPH_TESTNET = 2710 + K_LAOS = 2718 BOBA_NETWORK_GOERLI_TESTNET = 2888 BITYUAN_MAINNET = 2999 CENNZNET_RATA = 3000 CENNZNET_NIKAU = 3001 + CANXIUM_MAINNET = 3003 + PLAYA3ULL_GAMES = 3011 ORLANDO_CHAIN = 3031 + BIFROST_MAINNET = 3068 + IMMU3_EVM = 3100 + VULTURE_EVM_BETA = 3102 FILECOIN_HYPERSPACE_TESTNET = 3141 + DUBXCOIN_NETWORK = 3269 + DUBXCOIN_TESTNET = 3270 DEBOUNCE_SUBNET_TESTNET = 3306 ZCORE_TESTNET = 3331 WEB3Q_TESTNET = 3333 WEB3Q_GALILEO = 3334 PARIBU_NET_MAINNET = 3400 + SECURECHAIN_TESTNET = 3434 PARIBU_NET_TESTNET = 3500 JFIN_CHAIN = 3501 PANDOPROJECT_MAINNET = 3601 PANDOPROJECT_TESTNET = 3602 - METACODECHAIN = 3666 + BOTANIX_TESTNET = 3636 + BOTANIX_MAINNET = 3637 + ICHAIN_NETWORK = 3639 + JOULEVERSE_MAINNET = 3666 BITTEX_MAINNET = 3690 EMPIRE_NETWORK = 3693 + SENJEPOWERS_TESTNET = 3698 + SENJEPOWERS_MAINNET = 3699 + XPLA_TESTNET = 3701 CROSSBELL = 3737 + ALVEYCHAIN_MAINNET = 3797 + TANGLE_TESTNET = 3799 + FIRECHAIN_ZKEVM_GHOSTRIDER = 3885 + KALYCHAIN_MAINNET = 3888 + KALYCHAIN_TESTNET = 3889 DRAC_NETWORK = 3912 + DOS_TESNET = 3939 DYNO_MAINNET = 3966 DYNO_TESTNET = 3967 YUANCHAIN_MAINNET = 3999 + OZONE_CHAIN_MAINNET = 4000 + PEPERIUM_CHAIN_TESTNET = 4001 FANTOM_TESTNET = 4002 + X1_FASTNET = 4003 BOBAOPERA_TESTNET = 4051 + NAHMII_3_MAINNET = 4061 + NAHMII_3_TESTNET = 4062 + MUSTER_MAINNET = 4078 + FASTEX_CHAIN_BAHAMUT_OASIS_TESTNET = 4090 + BITINDI_TESTNET = 4096 + BITINDI_MAINNET = 4099 AIOZ_NETWORK_TESTNET = 4102 + HUMANS_AI_TESTNET = 4139 + TIPBOXCOIN_TESTNET = 4141 PHI_NETWORK_V1 = 4181 + LUKSO_TESTNET = 4201 + NEXI_MAINNET = 4242 + NEXI_V2_MAINNET = 4243 BOBAFUJI_TESTNET = 4328 + BEAM = 4337 + CREDIT_SMART_CHAIN_MAINNET = 4400 HTMLCOIN_MAINNET = 4444 + ORDERLY_SEPOLIA_TESTNET = 4460 IOTEX_NETWORK_MAINNET = 4689 IOTEX_NETWORK_TESTNET = 4690 + MEVERSE_CHAIN_TESTNET = 4759 + BLACKFORT_EXCHANGE_NETWORK_TESTNET = 4777 + GLOBEL_CHAIN = 4893 VENIDIUM_TESTNET = 4918 VENIDIUM_MAINNET = 4919 + BLACKFORT_EXCHANGE_NETWORK = 4999 MANTLE = 5000 MANTLE_TESTNET = 5001 + TREASURENET_MAINNET_ALPHA = 5002 + MANTLE_SEPOLIA_TESTNET = 5003 + TREASURENET_TESTNET = 5005 + BAHAMUT = 5165 + SMART_LAYER_NETWORK = 5169 TLCHAIN_NETWORK_MAINNET = 5177 ERASWAP_MAINNET = 5197 HUMANODE_MAINNET = 5234 FIRECHAIN_MAINNET_OLD = 5290 UZMI_NETWORK_MAINNET = 5315 + TRITANIUM_TESTNET = 5353 + VEX_EVM_TESTNET = 5522 NAHMII_MAINNET = 5551 NAHMII_TESTNET = 5553 CHAIN_VERSE_MAINNET = 5555 + OPBNB_TESTNET = 5611 + ARCTURUS_CHAIN_TESTNET = 5616 + TANSSI_EVM_CONTAINERCHAIN = 5678 SYSCOIN_TANENBAUM_TESTNET = 5700 + HIKA_NETWORK_TESTNET = 5729 + SATOSHICHAIN_TESTNET = 5758 ONTOLOGY_TESTNET = 5851 WEGOCHAIN_RUBIDIUM_MAINNET = 5869 TRES_TESTNET = 6065 TRES_MAINNET = 6066 CASCADIA_TESTNET = 6102 + UPTN_TESTNET = 6118 + UPTN = 6119 + DIGIT_SOUL_SMART_CHAIN = 6363 + PEERPAY = 6502 + SCOLCOIN_WEICHAIN_TESTNET = 6552 + FOX_TESTNET_NETWORK = 6565 PIXIE_CHAIN_MAINNET = 6626 + LATEST_CHAIN_TESTNET = 6660 + CYBRIA_MAINNET = 6661 + CYBRIA_TESTNET = 6666 + IRISHUB = 6688 + PAXB_MAINNET = 6701 + COMPVERSE_MAINNET = 6779 GOLD_SMART_CHAIN_MAINNET = 6789 TOMB_CHAIN_MAINNET = 6969 POLYSMARTCHAIN = 6999 ZETACHAIN_MAINNET = 7000 - ZETACHAIN_ATHENS_TESTNET = 7001 + ZETACHAIN_ATHENS_3_TESTNET = 7001 ELLA_THE_HEART = 7027 PLANQ_MAINNET = 7070 + NUME = 7100 + HELP_THE_HOMELESS = 7118 + BITROCK_MAINNET = 7171 + KLYNTAR = 7331 + HORIZEN_EON_MAINNET = 7332 SHYFT_MAINNET = 7341 + RABA_NETWORK_MAINNET = 7484 + MEVERSE_CHAIN_MAINNET = 7518 + ADIL_TESTNET = 7575 + ADIL_CHAIN_V2_MAINNET = 7576 + THE_ROOT_NETWORK_MAINNET = 7668 + THE_ROOT_NETWORK_PORCINI_TESTNET = 7672 CANTO = 7700 + CANTO_TESNET = 7701 + BITROCK_TESTNET = 7771 RISE_OF_THE_WARBOTS_TESTNET = 7777 + MAALCHAIN_TESTNET = 7860 HAZLOR_TESTNET = 7878 + ARDENIUM_ATHENA = 7895 + DOS_CHAIN = 7979 TELEPORT = 8000 TELEPORT_TESTNET = 8001 MDGL_TESTNET = 8029 SHARDEUM_LIBERTY_1_X = 8080 SHARDEUM_LIBERTY_2_X = 8081 + SHARDEUM_SPHINX_1_X = 8082 + BITCOIN_CHAIN = 8086 + E_DOLLAR = 8087 STREAMUX_BLOCKCHAIN = 8098 QITMEER_NETWORK_TESTNET = 8131 - BEONE_CHAIN_TESTNET = 8181 + QITMEER_NETWORK_MIXNET = 8132 + QITMEER_NETWORK_PRIVNET = 8133 + AMANA = 8134 + FLANA = 8135 + MIZANA = 8136 + TESTNET_BEONE_CHAIN = 8181 + TORUS_MAINNET = 8192 + TORUS_TESTNET = 8194 KLAYTN_MAINNET_CYPRESS = 8217 BLOCKTON_BLOCKCHAIN = 8272 KORTHOTEST = 8285 + DRACONES_FINANCIAL_SERVICES = 8387 + BASE = 8453 TOKI_NETWORK = 8654 TOKI_TESTNET = 8655 + HELA_OFFICIAL_RUNTIME_MAINNET = 8668 TOOL_GLOBAL_MAINNET = 8723 TOOL_GLOBAL_TESTNET = 8724 + STORAGECHAIN_MAINNET = 8726 + STORAGECHAIN_TESTNET = 8727 ALPH_NETWORK = 8738 TMY_CHAIN = 8768 + MARO_BLOCKCHAIN_MAINNET = 8848 UNIQUE = 8880 QUARTZ_BY_UNIQUE = 8881 OPAL_TESTNET_BY_UNIQUE = 8882 @@ -467,11 +744,26 @@ class EthereumNetwork(Enum): BERYLBIT_MAINNET = 9012 GENESIS_COIN = 9100 RINIA_TESTNET_OLD = 9170 + CODEFIN_MAINNET = 9223 + DOGCOIN_TESTNET = 9339 + EVOKE_MAINNET = 9395 RANGERS_PROTOCOL_TESTNET_ROBIN = 9527 QEASYWEB3_TESTNET = 9528 + NEONLINK_TESTNET = 9559 OORT_MAINNETDEV = 9700 BOBA_BNB_TESTNET = 9728 MAINNETZ_TESTNET = 9768 + PEPENETWORK_MAINNET = 9779 + CARBON_EVM = 9790 + CARBON_EVM_TESTNET = 9792 + IMPERIUM_TESTNET = 9818 + IMPERIUM_MAINNET = 9819 + DOGELAYER_MAINNET = 9888 + MIND_SMART_CHAIN_TESTNET = 9977 + COMBO_MAINNET = 9980 + AGUNG_NETWORK = 9990 + MIND_SMART_CHAIN_MAINNET = 9996 + ALTLAYER_TESTNET = 9997 MYOWN_TESTNET = 9999 SMART_BITCOIN_CASH = 10000 SMART_BITCOIN_CASH_TESTNET = 10001 @@ -479,9 +771,12 @@ class EthereumNetwork(Enum): JAPAN_OPEN_CHAIN_TESTNET = 10081 SJATSH = 10086 BLOCKCHAIN_GENESIS_MAINNET = 10101 - CHIADO_TESTNET = 10200 + GNOSIS_CHIADO_TESTNET = 10200 + MAXXCHAIN_MAINNET = 10201 + ARTHERA_MAINNET = 10242 ARTHERA_TESTNET = 10243 _0XTADE = 10248 + WORLDLAND_TESTNET = 10395 NUMBERS_MAINNET = 10507 NUMBERS_TESTNET = 10508 CRYPTOCOINPAY = 10823 @@ -490,54 +785,103 @@ class EthereumNetwork(Enum): ASTRA = 11110 WAGMI = 11111 ASTRA_TESTNET = 11115 + HASHBIT_MAINNET = 11119 HAQQ_NETWORK = 11235 SHYFT_TESTNET = 11437 SARDIS_TESTNET = 11612 SANR_CHAIN = 11888 + POLYGON_SUPERNET_ARIANEE = 11891 + SATOSHICHAIN_MAINNET = 12009 SINGULARITY_ZERO_TESTNET = 12051 SINGULARITY_ZERO_MAINNET = 12052 + BRC_CHAIN_MAINNET = 12123 + FIBONACCI_MAINNET = 12306 + BLG_TESTNET = 12321 STEP_TESTNET = 12345 + ASTAR_ZKEVM = 12611 + RIKEZA_NETWORK_TESTNET = 12715 + QUANTUM_CHAIN_TESTNET = 12890 SPS = 13000 - CREDIT_SMARTCHAIN_MAINNET = 13308 + CREDIT_SMART_CHAIN = 13308 + BEAM_TESTNET = 13337 + IMMUTABLE_ZKEVM = 13371 PHOENIX_MAINNET = 13381 + IMMUTABLE_ZKEVM_TESTNET = 13473 SUSONO = 13812 SPS_TESTNET = 14000 + HUMANODE_TESTNET_5_ISRAFEL = 14853 + IMMUTABLE_ZKEVM_DEVNET = 15003 + LOOPNETWORK_MAINNET = 15551 TRUST_EVM_TESTNET = 15555 + EOS_EVM_NETWORK_TESTNET = 15557 METADOT_MAINNET = 16000 METADOT_TESTNET = 16001 + GENESYS_MAINNET = 16507 + IRISHUB_TESTNET = 16688 + AIRDAO_MAINNET = 16718 IVAR_CHAIN_TESTNET = 16888 + HOLESKY = 17000 + REDSTONE_HOLESKY_TESTNET = 17001 + G8CHAIN_MAINNET = 17171 + PALETTE_CHAIN_TESTNET = 17180 + EOS_EVM_NETWORK = 17777 FRONTIER_OF_DREAMS_TESTNET = 18000 + SMART_TRADE_NETWORKS = 18122 PROOF_OF_MEMES = 18159 + G8CHAIN_TESTNET = 18181 + UNREAL_TESTNET = 18231 + MXC_ZKEVM_MAINNET = 18686 HOME_VERSE_MAINNET = 19011 BTCIX_NETWORK = 19845 + CAMELARK_MAINNET = 20001 CALLISTO_TESTNET = 20729 P12_CHAIN = 20736 CENNZNET_AZALEA = 21337 OMCHAIN_MAINNET = 21816 + BSL_MAINNET = 21912 TAYCAN = 22023 + AIRDAO_TESTNET = 22040 + NAUTILUS_MAINNET = 22222 + GOLDXCHAIN_TESTNET = 22324 MAP_MAINNET = 22776 + ANTOFY_TESTNET = 23006 OPSIDE_TESTNET = 23118 OASIS_SAPPHIRE = 23294 OASIS_SAPPHIRE_TESTNET = 23295 + BLAST_TESTNET = 23888 WEBCHAIN = 24484 MINTME_COM_COIN = 24734 HAMMER_CHAIN_MAINNET = 25888 BITKUB_CHAIN_TESTNET = 25925 + FERRUM_TESTNET = 26026 HERTZ_NETWORK_MAINNET = 26600 OASISCHAIN_MAINNET = 26863 OPTIMISM_BEDROCK_GOERLI_ALPHA_TESTNET = 28528 + MCH_VERSE_MAINNET = 29548 PIECE_TESTNET = 30067 + CERIUM_TESTNET = 30103 ETHERSOCIAL_NETWORK = 31102 CLOUDTX_MAINNET = 31223 CLOUDTX_TESTNET = 31224 GOCHAIN_TESTNET = 31337 + EVOKE_TESTNET = 31414 FILECOIN_WALLABY_TESTNET = 31415 + W3GAMEZ_HOLESKY_TESTNET = 32001 BITGERT_MAINNET = 32520 FUSION_MAINNET = 32659 + ZILLIQA_EVM = 32769 + ZILLIQA_EVM_ISOLATED_SERVER = 32990 + ZILLIQA_EVM_TESTNET = 33101 + CLOUDVERSE_SUBNET = 33210 AVES_MAINNET = 33333 + ZILLIQA_EVM_DEVNET = 33385 + ZILLIQA_2_EVM_DEVNET = 33469 + MODE = 34443 J2O_TARO = 35011 Q_MAINNET = 35441 Q_TESTNET = 35443 + CONNECTORMANAGER = 38400 + CONNECTORMANAGER_ROBIN = 38401 ENERGI_MAINNET = 39797 OHO_MAINNET = 39815 OPULENT_X_BETA = 41500 @@ -547,60 +891,109 @@ class EthereumNetwork(Enum): CELO_MAINNET = 42220 OASIS_EMERALD_TESTNET = 42261 OASIS_EMERALD = 42262 + GOLDXCHAIN_MAINNET = 42355 + ZKFAIR_MAINNET = 42766 + GESOTEN_VERSE_TESTNET = 42801 + KINTO_TESTNET = 42888 ATHEREUM = 43110 AVALANCHE_FUJI_TESTNET = 43113 AVALANCHE_C_CHAIN = 43114 BOBA_AVAX = 43288 + ZKFAIR_TESTNET = 43851 + FRENCHAIN = 44444 CELO_ALFAJORES_TESTNET = 44787 AUTOBAHN_NETWORK = 45000 + DEELANCE_MAINNET = 45510 FUSION_TESTNET = 46688 REI_NETWORK = 47805 - FLORIPA = 49049 - BIFROST_TESTNET1 = 49088 + WIRESHAPE_FLORIPA_TESTNET = 49049 + BIFROST_TESTNET = 49088 ENERGI_TESTNET = 49797 LIVEPLEX_ORACLEEVM = 50001 + YOOLDO_VERSE_MAINNET = 50005 + YOOLDO_VERSE_TESTNET = 50006 GTON_TESTNET = 50021 + LUMOZ_TESTNET_ALPHA = 51178 SARDIS_MAINNET = 51712 + ELECTRONEUM_MAINNET = 52014 DFK_CHAIN = 53935 HAQQ_CHAIN_TESTNET = 54211 + TORONET_TESTNET = 54321 + TITAN = 55004 REI_CHAIN_MAINNET = 55555 REI_CHAIN_TESTNET = 55556 BOBA_BNB_MAINNET = 56288 - PGN_TESTNET = 58008 + VELO_LABS_MAINNET = 56789 + ROLLUX_TESTNET = 57000 + SEPOLIA_PGN_PUBLIC_GOODS_NETWORK = 58008 LINEA_TESTNET = 59140 LINEA = 59144 + GENESYS_CODE_MAINNET = 59971 THINKIUM_TESTNET_CHAIN_0 = 60000 THINKIUM_TESTNET_CHAIN_1 = 60001 THINKIUM_TESTNET_CHAIN_2 = 60002 THINKIUM_TESTNET_CHAIN_103 = 60103 + AXELCHAIN_DEV_NET = 61800 ETICA_MAINNET = 61803 DOKEN_SUPER_CHAIN_MAINNET = 61916 CELO_BAKLAVA_TESTNET = 62320 MULTIVAC_MAINNET = 62621 ECREDITS_MAINNET = 63000 ECREDITS_TESTNET = 63001 + SCOLCOIN_MAINNET = 65450 + JANUS_TESTNET = 66988 SIRIUSNET = 67390 + COSMIC_CHAIN = 67588 + DM2_VERSE_MAINNET = 68770 CONDRIEU = 69420 THINKIUM_MAINNET_CHAIN_0 = 70000 THINKIUM_MAINNET_CHAIN_1 = 70001 THINKIUM_MAINNET_CHAIN_2 = 70002 THINKIUM_MAINNET_CHAIN_103 = 70103 + GUAPCOINX = 71111 POLYJUICE_TESTNET = 71393 GODWOKEN_TESTNET_V1 = 71401 GODWOKEN_MAINNET = 71402 + GROK_CHAIN_MAINNET = 72992 ENERGY_WEB_VOLTA_TESTNET = 73799 MIXIN_VIRTUAL_MACHINE = 73927 RESINCOIN_MAINNET = 75000 + FOUNDRY_CHAIN_TESTNET = 77238 VENTION_SMART_CHAIN_MAINNET = 77612 + TORONET_MAINNET = 77777 FIRENZE_TEST_NETWORK = 78110 + DRAGONFLY_MAINNET_HEXAPOD = 78281 + AMPLIFY_SUBNET = 78430 + BULLETIN_SUBNET = 78431 + CONDUIT_SUBNET = 78432 GOLD_SMART_CHAIN_TESTNET = 79879 MUMBAI = 80001 - BASE_MAINNET = 8453 + NORDEK_MAINNET = 81041 + AMANA_TESTNET = 81341 + AMANA_MIXNET = 81342 + AMANA_PRIVNET = 81343 + FLANA_TESTNET = 81351 + FLANA_MIXNET = 81352 + FLANA_PRIVNET = 81353 + MIZANA_TESTNET = 81361 + MIZANA_MIXNET = 81362 + MIZANA_PRIVNET = 81363 + QUANTUM_CHAIN_MAINNET = 81720 + SMART_LAYER_NETWORK_TESTNET = 82459 BASE_GOERLI_TESTNET = 84531 + BASE_SEPOLIA_TESTNET = 84532 + AERIE_NETWORK = 84886 + CYBERTRUST = 85449 + NAUTILUS_PROTEUS_TESTNET = 88002 + CHILIZ_SCOVILLE_TESTNET = 88880 IVAR_CHAIN_MAINNET = 88888 BEVERLY_HILLS = 90210 + NAUTILUS_TRITION_CHAIN = 91002 + COMBO_TESTNET = 91715 LAMBDA_TESTNET = 92001 + MANTIS_TESTNET_HEXAPOD = 96970 BOBA_BNB_MAINNET_OLD = 97288 + ELIBERTY_TESTNET = 99099 UB_SMART_CHAIN_TESTNET = 99998 UB_SMART_CHAIN = 99999 QUARKCHAIN_MAINNET_ROOT = 100000 @@ -612,7 +1005,9 @@ class EthereumNetwork(Enum): QUARKCHAIN_MAINNET_SHARD_5 = 100006 QUARKCHAIN_MAINNET_SHARD_6 = 100007 QUARKCHAIN_MAINNET_SHARD_7 = 100008 - DEPRECATED_CHIADO_TESTNET = 100100 + VECHAIN = 100009 + VECHAIN_TESTNET = 100010 + DEPRECATED_CHI = 100100 SOVERUN_TESTNET = 101010 CRYSTALEUM = 103090 BROCHAIN_MAINNET = 108801 @@ -625,7 +1020,19 @@ class EthereumNetwork(Enum): QUARKCHAIN_DEVNET_SHARD_5 = 110006 QUARKCHAIN_DEVNET_SHARD_6 = 110007 QUARKCHAIN_DEVNET_SHARD_7 = 110008 + SIBERIUM_TEST_NETWORK = 111000 + SIBERIUM_NETWORK = 111111 + METACHAIN_ONE_MAINNET = 112358 + ADIL_DEVNET = 123456 + ETHERLINK_TESTNET = 128123 ETND_CHAIN_MAINNETS = 131419 + ICPLAZA_MAINNET = 142857 + TAIKO_ALPHA_2_TESTNET = 167004 + TAIKO_GRIMSVOTN_L2 = 167005 + TAIKO_ELDFELL_L3 = 167006 + TAIKO_JOLNIR_L2 = 167007 + TAIKO_KATLA_L2 = 167008 + BITICA_CHAIN_MAINNET = 188710 CONDOR_TEST_NETWORK = 188881 MILKOMEDA_C1_TESTNET = 200101 MILKOMEDA_A1_TESTNET = 200202 @@ -634,111 +1041,187 @@ class EthereumNetwork(Enum): ALAYA_DEV_TESTNET = 201030 MYTHICAL_CHAIN = 201804 DECIMAL_SMART_CHAIN_TESTNET = 202020 + X1_DEVNET = 202212 JELLIE = 202624 + X1_NETWORK = 204005 PLATON_MAINNET = 210425 MAS_MAINNET = 220315 + REAPCHAIN_MAINNET = 221230 + REAPCHAIN_TESTNET = 221231 + TAF_ECO_CHAIN_MAINNET = 224168 + CONET_SEBOLIA_TESTNET = 224422 + CONET_HOLESKY = 224433 + HASHKEY_CHAIN_TESTNET = 230315 HAYMO_TESTNET = 234666 ARTIS_SIGMA1 = 246529 ARTIS_TESTNET_TAU1 = 246785 + SAAKURU_TESTNET = 247253 CMP_MAINNET = 256256 GEAR_ZERO_NETWORK_TESTNET = 266256 + EGONCOIN_TESTNET = 271271 SOCIAL_SMART_CHAIN_MAINNET = 281121 FILECOIN_CALIBRATION_TESTNET = 314159 + TTCOIN_SMART_CHAIN_MAINNET = 330844 + AVES_TESTNET = 333331 + NATIV3_TESTNET = 333333 + OONE_CHAIN_TESTNET = 333666 + OONE_CHAIN_DEVNET = 333777 POLIS_TESTNET = 333888 POLIS_MAINNET = 333999 + BITFINITY_NETWORK_TESTNET = 355113 + DIGIT_SOUL_SMART_CHAIN_2 = 363636 + HAPCHAIN_TESTNET = 373737 METAL_C_CHAIN = 381931 METAL_TAHOE_C_CHAIN = 381932 + TIPBOXCOIN_MAINNET = 404040 KEKCHAIN = 420420 KEKCHAIN_KEKTEST = 420666 + ALTERIUM_L2_TESTNET = 420692 ARBITRUM_RINKEBY = 421611 ARBITRUM_GOERLI = 421613 ARBITRUM_SEPOLIA = 421614 + FASTEX_CHAIN_TESTNET = 424242 + MARKR_GO = 431140 DEXALOT_SUBNET_TESTNET = 432201 DEXALOT_SUBNET = 432204 WEELINK_TESTNET = 444900 + PATEX_SEPOLIA_TESTNET = 471100 + ULTRA_PRO_MAINNET = 473861 OPENCHAIN_MAINNET = 474142 CMP_TESTNET = 512512 ETHEREUM_FAIR = 513100 SCROLL_SEPOLIA_TESTNET = 534351 SCROLL = 534352 - SCROLL_GOERLI_TESTNET = 534353 + SCROLL_ALPHA_TESTNET = 534353 SCROLL_PRE_ALPHA_TESTNET = 534354 + SHINARIUM_BETA = 534849 + BEANECO_SMARTCHAIN = 535037 + HYPRA_MAINNET = 622277 BEAR_NETWORK_CHAIN_MAINNET = 641230 + ALL_MAINNET = 651940 VISION_VPIONEER_TEST_CHAIN = 666666 + HELA_OFFICIAL_RUNTIME_TESTNET = 666888 + BEAR_NETWORK_CHAIN_TESTNET = 751230 + MIEXS_SMARTCHAIN = 761412 + MODULARIUM = 776877 OCTASPACE = 800001 + CURVE_MAINNET = 827431 _4GOODNETWORK = 846000 + DODAO = 855456 + BLOCX_MAINNET = 879151 VISION_MAINNET = 888888 POSICHAIN_MAINNET_SHARD_0 = 900000 POSICHAIN_TESTNET_SHARD_0 = 910000 + ASTRIA_EVM_DUSKNET = 912559 POSICHAIN_DEVNET_SHARD_0 = 920000 POSICHAIN_DEVNET_SHARD_1 = 920001 FNCY_TESTNET = 923018 ELUVIO_CONTENT_FABRIC = 955305 + ECROX_CHAIN_MAINNET = 988207 + TILTYARD_SUBNET = 1127469 + ZKATANA = 1261120 ETHO_PROTOCOL = 1313114 XEROM = 1313500 KINTSUGI = 1337702 KILN = 1337802 ZHEJIANG = 1337803 + TURKEY_DEMO_DEV = 1731313 + DEBANK_TESTNET = 2021398 PLIAN_MAINNET_MAIN = 2099156 PLATON_DEV_TESTNET_DEPRECATED = 2203181 PLATON_DEV_TESTNET2 = 2206132 + DPU_CHAIN = 2611555 FILECOIN_BUTTERFLY_TESTNET = 3141592 + MANTA_PACIFIC_TESTNET = 3441005 + ALTLAYER_ZERO_GAS_NETWORK = 4000003 + WORLDS_CALDERA = 4281033 + MXC_WANNSEE_ZKEVM_TESTNET = 5167003 + ELECTRONEUM_TESTNET = 5201420 IMVERSED_MAINNET = 5555555 IMVERSED_TESTNET = 5555558 + SAAKURU_MAINNET = 7225878 OPENVESSEL = 7355310 QL1_TESTNET = 7668378 MUSICOIN = 7762959 - ZORA_NETWORK = 7777777 + ZORA = 7777777 PLIAN_MAINNET_SUBCHAIN_1 = 8007736 + HOKUM = 8080808 + HAPCHAIN = 8794598 + QUARIX_TESTNET = 8888881 + QUARIX = 8888888 + XCAP = 9322252 + MILVINE = 9322253 PLIAN_TESTNET_SUBCHAIN_1 = 10067275 SOVERUN_MAINNET = 10101010 SEPOLIA = 11155111 + OP_SEPOLIA_TESTNET = 11155420 PEPCHAIN_CHURCHILL = 13371337 ANDUSCHAIN_MAINNET = 14288640 PLIAN_TESTNET_MAIN = 16658437 IOLITE = 18289463 SMARTMESH_MAINNET = 20180430 QUARKBLOCKCHAIN = 20181205 + PEGO_NETWORK = 20201022 + HOKUM_TESTNET = 20482050 EXCELON_MAINNET = 22052002 EXCOINCIAL_CHAIN_VOLTA_TESTNET = 27082017 EXCOINCIAL_CHAIN_MAINNET = 27082022 + ANCIENT8_TESTNET = 28122024 AUXILIUM_NETWORK_MAINNET = 28945486 FLACHAIN_MAINNET = 29032022 FILECOIN_LOCAL_TESTNET = 31415926 JOYS_DIGITAL_MAINNET = 35855456 MAISTESTSUBNET = 43214913 AQUACHAIN = 61717561 + AUTONITY_BAKERLOO_THAMES_TESTNET = 65010000 + AUTONITY_BAKERLOO_BARADA_TESTNET = 65010001 + AUTONITY_PICCADILLY_THAMES_TESTNET = 65100000 + AUTONITY_PICCADILLY_BARADA_TESTNET = 65100001 + FRAME_TESTNET = 68840142 + T_E_A_M_BLOCKCHAIN = 88888888 JOYS_DIGITAL_TESTNET = 99415706 GATHER_MAINNET_NETWORK = 192837465 + KANAZAWA = 222000222 NEON_EVM_DEVNET = 245022926 NEON_EVM_MAINNET = 245022934 NEON_EVM_TESTNET = 245022940 + RAZOR_SKALE_CHAIN = 278611351 ONELEDGER_MAINNET = 311752642 - CALYPSO_NFT_HUB_SKALE_TESTNET = 344106930 + MELD = 333000333 + SKALE_CALYPSO_HUB_TESTNET = 344106930 GATHER_TESTNET_NETWORK = 356256156 + SKALE_EUROPA_HUB_TESTNET = 476158412 GATHER_DEVNET_NETWORK = 486217935 - NEBULA_STAGING = 503129905 + SKALE_NEBULA_HUB_TESTNET = 503129905 + ZORA_SEPOLIA_TESTNET = 999999999 IPOS_NETWORK = 1122334455 + CYBERDECKNET = 1146703430 + HUMAN_PROTOCOL = 1273227453 AURORA_MAINNET = 1313161554 AURORA_TESTNET = 1313161555 AURORA_BETANET = 1313161556 - NEBULA_MAINNET = 1482601649 - CALYPSO_NFT_HUB_SKALE = 1564830818 + SKALE_TITAN_HUB = 1350216234 + CHAOS_SKALE_TESTNET = 1351057110 + RAPTORCHAIN = 1380996178 + SKALE_NEBULA_HUB = 1482601649 + SKALE_TITAN_HUB_TESTNET = 1517929550 + SKALE_CALYPSO_HUB = 1564830818 HARMONY_MAINNET_SHARD_0 = 1666600000 HARMONY_MAINNET_SHARD_1 = 1666600001 HARMONY_MAINNET_SHARD_2 = 1666600002 HARMONY_MAINNET_SHARD_3 = 1666600003 HARMONY_TESTNET_SHARD_0 = 1666700000 HARMONY_TESTNET_SHARD_1 = 1666700001 - HARMONY_TESTNET_SHARD_2 = 1666700002 - HARMONY_TESTNET_SHARD_3 = 1666700003 HARMONY_DEVNET_SHARD_0 = 1666900000 + HARMONY_DEVNET_SHARD_1 = 1666900001 DATAHOPPER = 2021121117 - EUROPA_SKALE_CHAIN = 2046399126 + SKALE_EUROPA_HUB = 2046399126 + ANCIENT8_TESTNET_DEPRECATED = 2863311531 PIRL = 3125659152 ONELEDGER_TESTNET_FRANKENSTEIN = 4216137055 PALM_TESTNET = 11297108099 PALM = 11297108109 + ALPHABET_MAINNET = 111222333444 NTITY_MAINNET = 197710212030 HARADEV_TESTNET = 197710212031 ZENIQ = 383414847825 diff --git a/gnosis/eth/multicall.py b/gnosis/eth/multicall.py index 7dccde55b..861b4430a 100644 --- a/gnosis/eth/multicall.py +++ b/gnosis/eth/multicall.py @@ -58,9 +58,8 @@ class Multicall(ContractBase): EthereumNetwork.AVALANCHE_FUJI_TESTNET: "0xcA11bde05977b3631167028862bE2a173976CA11", EthereumNetwork.FANTOM_TESTNET: "0xcA11bde05977b3631167028862bE2a173976CA11", EthereumNetwork.FANTOM_OPERA: "0xcA11bde05977b3631167028862bE2a173976CA11", - EthereumNetwork.BINANCE_SMART_CHAIN_MAINNET: "0xcA11bde05977b3631167028862bE2a173976CA11", - EthereumNetwork.BINANCE_SMART_CHAIN_TESTNET: "0xcA11bde05977b3631167028862bE2a173976CA11", - EthereumNetwork.KOVAN: "0xcA11bde05977b3631167028862bE2a173976CA11", + EthereumNetwork.BNB_SMART_CHAIN_MAINNET: "0xcA11bde05977b3631167028862bE2a173976CA11", + EthereumNetwork.BNB_SMART_CHAIN_TESTNET: "0xcA11bde05977b3631167028862bE2a173976CA11", EthereumNetwork.RINKEBY: "0xcA11bde05977b3631167028862bE2a173976CA11", EthereumNetwork.KCC_MAINNET: "0xcA11bde05977b3631167028862bE2a173976CA11", EthereumNetwork.KCC_TESTNET: "0x665683D9bd41C09cF38c3956c926D9924F1ADa97", diff --git a/gnosis/eth/oracles/cowswap.py b/gnosis/eth/oracles/cowswap.py index 7b6bcb055..c072fff9f 100644 --- a/gnosis/eth/oracles/cowswap.py +++ b/gnosis/eth/oracles/cowswap.py @@ -1,7 +1,7 @@ import logging from typing import Optional -from gnosis.protocol import GnosisProtocolAPI, OrderKind +from gnosis.cowsap import CowSwapAPI, OrderKind from .. import EthereumClient, EthereumNetworkNotSupported from .exceptions import CannotGetPriceFromOracle @@ -27,7 +27,7 @@ def __init__( """ self.ethereum_client = ethereum_client self.w3 = ethereum_client.w3 - self.api = GnosisProtocolAPI(ethereum_client.get_network()) + self.api = CowSwapAPI(ethereum_client.get_network()) @classmethod def is_available( @@ -39,7 +39,7 @@ def is_available( :return: `True` if CowSwap is available for the EthereumClient provided, `False` otherwise """ try: - GnosisProtocolAPI(ethereum_client.get_network()) + CowSwapAPI(ethereum_client.get_network()) return True except EthereumNetworkNotSupported: return False diff --git a/gnosis/eth/oracles/kyber.py b/gnosis/eth/oracles/kyber.py index 505eab147..039211312 100644 --- a/gnosis/eth/oracles/kyber.py +++ b/gnosis/eth/oracles/kyber.py @@ -27,7 +27,6 @@ class KyberOracle(PriceOracle): EthereumNetwork.MAINNET: "0x9AAb3f75489902f3a48495025729a0AF77d4b11e", EthereumNetwork.RINKEBY: "0x0d5371e5EE23dec7DF251A8957279629aa79E9C5", EthereumNetwork.ROPSTEN: "0xd719c34261e099Fdb33030ac8909d5788D3039C4", - EthereumNetwork.KOVAN: "0xc153eeAD19e0DBbDb3462Dcc2B703cC6D738A37c", } def __init__( diff --git a/gnosis/eth/oracles/oracles.py b/gnosis/eth/oracles/oracles.py index d4fe35f57..37dab3688 100644 --- a/gnosis/eth/oracles/oracles.py +++ b/gnosis/eth/oracles/oracles.py @@ -85,7 +85,6 @@ class UniswapOracle(PriceOracle): EthereumNetwork.MAINNET: "0xc0a47dFe034B400B47bDaD5FecDa2621de6c4d95", EthereumNetwork.RINKEBY: "0xf5D915570BC477f9B8D6C0E980aA81757A3AaC36", EthereumNetwork.ROPSTEN: "0x9c83dCE8CA20E9aAF9D3efc003b2ea62aBC08351", - EthereumNetwork.KOVAN: "0xD3E51Ef092B2845f10401a0159B2B96e8B6c3D30", EthereumNetwork.GOERLI: "0x6Ce570d02D73d4c384b46135E87f8C592A8c86dA", } diff --git a/gnosis/eth/oracles/sushiswap.py b/gnosis/eth/oracles/sushiswap.py index a37ab2cfc..80ee846ef 100644 --- a/gnosis/eth/oracles/sushiswap.py +++ b/gnosis/eth/oracles/sushiswap.py @@ -19,7 +19,7 @@ class SushiswapOracle(UniswapV2Oracle): EthereumNetwork.AVALANCHE_C_CHAIN: "0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506", EthereumNetwork.MOONRIVER: "0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506", EthereumNetwork.FANTOM_OPERA: "0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506", - EthereumNetwork.BINANCE_SMART_CHAIN_MAINNET: "0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506", + EthereumNetwork.BNB_SMART_CHAIN_MAINNET: "0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506", EthereumNetwork.GNOSIS: "0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506", EthereumNetwork.CELO_MAINNET: "0x1421bDe4B10e8dd459b3BCb598810B1337D56842", EthereumNetwork.FUSE_MAINNET: "0xF4d73326C13a4Fc5FD7A064217e12780e9Bd62c3", diff --git a/gnosis/eth/tests/account_abstraction/__init__.py b/gnosis/eth/tests/account_abstraction/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/gnosis/eth/tests/account_abstraction/test_bundler_client.py b/gnosis/eth/tests/account_abstraction/test_bundler_client.py new file mode 100644 index 000000000..05025f9d7 --- /dev/null +++ b/gnosis/eth/tests/account_abstraction/test_bundler_client.py @@ -0,0 +1,87 @@ +from unittest import mock +from unittest.mock import MagicMock + +from django.test import TestCase + +import requests + +from ...account_abstraction import BundlerClient, UserOperation +from ..mocks.mock_bundler import ( + safe_4337_user_operation_hash_mock, + supported_entrypoint_mock, + user_operation_mock, + user_operation_receipt_mock, +) + + +class TestBundlerClient(TestCase): + def setUp(self): + self.bundler = BundlerClient("https://localhost") + + @mock.patch.object(requests.Session, "post") + def test_get_user_operation_by_hash(self, mock_session: MagicMock): + mock_session.return_value.ok = True + mock_session.return_value.json = MagicMock( + return_value={"jsonrpc": "2.0", "id": 1, "result": None} + ) + user_operation_hash = safe_4337_user_operation_hash_mock.hex() + + self.assertIsNone(self.bundler.get_user_operation_by_hash(user_operation_hash)) + mock_session.return_value.json = MagicMock(return_value=user_operation_mock) + expected_user_operation = UserOperation( + user_operation_hash, user_operation_mock["result"] + ) + self.assertEqual( + self.bundler.get_user_operation_by_hash(user_operation_hash), + expected_user_operation, + ) + + mock_session.return_value.json = MagicMock( + return_value={ + "jsonrpc": "2.0", + "id": 1, + "error": { + "code": -32600, + "message": "Unspecified origin not on whitelist.", + }, + } + ) + self.assertIsNone(self.bundler.get_user_operation_by_hash(user_operation_hash)) + + @mock.patch.object(requests.Session, "post") + def test_get_user_operation_receipt(self, mock_session: MagicMock): + mock_session.return_value.ok = True + mock_session.return_value.json = MagicMock( + return_value={"jsonrpc": "2.0", "id": 1, "result": None} + ) + user_operation_hash = safe_4337_user_operation_hash_mock.hex() + self.assertIsNone(self.bundler.get_user_operation_receipt(user_operation_hash)) + mock_session.return_value.json = MagicMock( + return_value=user_operation_receipt_mock + ) + self.assertEqual( + self.bundler.get_user_operation_receipt(user_operation_hash), + user_operation_receipt_mock["result"], + ) + mock_session.return_value.json = MagicMock( + return_value={ + "jsonrpc": "2.0", + "id": 1, + "error": { + "code": -32600, + "message": "Unspecified origin not on whitelist.", + }, + } + ) + self.assertIsNone(self.bundler.get_user_operation_receipt(user_operation_hash)) + + @mock.patch.object(requests.Session, "post") + def test_supported_entry_points(self, mock_session: MagicMock): + mock_session.return_value.ok = True + mock_session.return_value.json = MagicMock( + return_value=supported_entrypoint_mock + ) + + self.assertEqual( + self.bundler.supported_entry_points(), supported_entrypoint_mock["result"] + ) diff --git a/gnosis/eth/tests/account_abstraction/test_e2e_bundler_client.py b/gnosis/eth/tests/account_abstraction/test_e2e_bundler_client.py new file mode 100644 index 000000000..d64f83cb8 --- /dev/null +++ b/gnosis/eth/tests/account_abstraction/test_e2e_bundler_client.py @@ -0,0 +1,47 @@ +import os + +from django.test import TestCase + +import pytest + +from ...account_abstraction import BundlerClient, UserOperation +from ..mocks.mock_bundler import ( + safe_4337_user_operation_hash_mock, + supported_entrypoint_mock, + user_operation_mock, + user_operation_receipt_mock, +) + + +class TestE2EBundlerClient(TestCase): + def setUp(self): + bundler_client_variable_name = "BUNDLER_CLIENT_URL" + bundler_client_url = os.environ.get(bundler_client_variable_name) + if not bundler_client_url: + pytest.skip(f"{bundler_client_variable_name} needs to be defined") + + self.bundler = BundlerClient(bundler_client_url) + + def test_get_user_operation_by_hash(self): + user_operation_hash = safe_4337_user_operation_hash_mock.hex() + + expected_user_operation = UserOperation( + user_operation_hash, user_operation_mock["result"] + ) + self.assertEqual( + self.bundler.get_user_operation_by_hash(user_operation_hash), + expected_user_operation, + ) + + def test_get_user_operation_receipt(self): + user_operation_hash = safe_4337_user_operation_hash_mock.hex() + + self.assertEqual( + self.bundler.get_user_operation_receipt(user_operation_hash), + user_operation_receipt_mock["result"], + ) + + def test_supported_entry_points(self): + self.assertEqual( + self.bundler.supported_entry_points(), supported_entrypoint_mock["result"] + ) diff --git a/gnosis/eth/tests/account_abstraction/test_user_operation.py b/gnosis/eth/tests/account_abstraction/test_user_operation.py new file mode 100644 index 000000000..f5ab733c1 --- /dev/null +++ b/gnosis/eth/tests/account_abstraction/test_user_operation.py @@ -0,0 +1,20 @@ +from unittest import TestCase + +from gnosis.eth.account_abstraction import UserOperation +from gnosis.eth.tests.mocks.mock_bundler import ( + safe_4337_chain_id_mock, + safe_4337_user_operation_hash_mock, + user_operation_mock, +) + + +class TestUserOperation(TestCase): + def test_calculate_user_operation_hash(self): + user_operation_hash = safe_4337_user_operation_hash_mock.hex() + user_operation = UserOperation( + user_operation_hash, user_operation_mock["result"] + ) + self.assertEqual( + user_operation.calculate_user_operation_hash(safe_4337_chain_id_mock), + safe_4337_user_operation_hash_mock, + ) diff --git a/gnosis/eth/tests/mocks/mock_bundler.py b/gnosis/eth/tests/mocks/mock_bundler.py new file mode 100644 index 000000000..8ce42e45e --- /dev/null +++ b/gnosis/eth/tests/mocks/mock_bundler.py @@ -0,0 +1,388 @@ +from hexbytes import HexBytes + +# Module address and chainId used for the following mocks +safe_4337_user_operation_hash_mock = HexBytes( + "0x39b3e2171c04539d9b3f848d04364dfaa42cc0b412ff65ce2a85c566cf8bf281" +) +safe_4337_module_address_mock = "0xa581c4A4DB7175302464fF3C06380BC3270b4037" +safe_4337_module_domain_separator_mock = HexBytes( + "0x90c9c46bd4637f021a7ad976568aa4e00f6099277502df804cb980d5a1bb3d9f" +) +safe_4337_safe_operation_hash_mock = HexBytes( + "0xb34556b3564ad04e472ca0f846afe44e0cfff8ceb0f94302792fdd1b9aff1351" +) +safe_4337_chain_id_mock = 11155111 + +user_operation_mock = { + "jsonrpc": "2.0", + "id": 1, + "result": { + "userOperation": { + "sender": "0xB0B5c0578Aa134b0496a6C0e51A7aae47C522861", + "nonce": "0x0", + "initCode": "0x4e1dcf7ad4e460cfd30791ccc4f9c8a4f820ec671688f0b900000000000000000000000029fcb43b46531bca003ddc8fcb67ffe91900c7620000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e4b63e800d000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000010000000000000000000000008ecd4ec46d4d2a6b64fe960b3d64e8b94b2234eb0000000000000000000000000000000000000000000000000000000000000140000000000000000000000000a581c4a4db7175302464ff3c06380bc3270b403700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000005ac255889882acd3da2aa939679e3f3d4cea221e00000000000000000000000000000000000000000000000000000000000000648d0dc49f00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000a581c4a4db7175302464ff3c06380bc3270b40370000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "callData": "0x7bb3742800000000000000000000000002270bd144e70ce6963ba02f575776a16184e1e600000000000000000000000000000000000000000000000000005af3107a4000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "callGasLimit": "0x6000", + "verificationGasLimit": "0x76766", + "preVerificationGas": "0xc814", + "maxFeePerGas": "0x50bd27ea", + "maxPriorityFeePerGas": "0x3b9aca00", + "paymasterAndData": "0x", + "signature": "0x000000000000000000000000ce4599307d2e53cf78c31a110c6930e41a2b46bceda18c88416000ff13be239c7afdcef5c22ee68bc7ad70cdf27da35160f14ceba88336e686e0533fcc293f3f1b", + }, + "entryPoint": "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "blockNumber": "0x50b0da", + "blockHash": "0xcc466b284f4030ee3f5941a2c8e36892262bf583611c902fe5558a595af47e13", + "transactionHash": "0xf8dab30ed3c8814ee9a67770ee68f8fb83e6247706c24371a76e7cd8d348b0e3", + }, +} + + +user_operation_receipt_mock = { + "jsonrpc": "2.0", + "id": 1, + "result": { + "userOpHash": "0x39b3e2171c04539d9b3f848d04364dfaa42cc0b412ff65ce2a85c566cf8bf281", + "entryPoint": "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "sender": "0xB0B5c0578Aa134b0496a6C0e51A7aae47C522861", + "nonce": "0x0", + "paymaster": "0x0000000000000000000000000000000000000000", + "actualGasCost": "0x1c7f432341e24", + "actualGasUsed": "0x68072", + "success": True, + "reason": "", + "logs": [ + { + "address": "0xb0b5c0578aa134b0496a6c0e51a7aae47c522861", + "topics": [ + "0xecdf3a3effea5783a3c4c2140e677577666428d44ed9d474a0b3a4c9943f8440", + "0x000000000000000000000000a581c4a4db7175302464ff3c06380bc3270b4037", + ], + "data": "0x", + "blockHash": "0xcc466b284f4030ee3f5941a2c8e36892262bf583611c902fe5558a595af47e13", + "blockNumber": "0x50b0da", + "transactionHash": "0xf8dab30ed3c8814ee9a67770ee68f8fb83e6247706c24371a76e7cd8d348b0e3", + "transactionIndex": "0x85", + "logIndex": "0xc2", + "removed": False, + }, + { + "address": "0xb0b5c0578aa134b0496a6c0e51a7aae47c522861", + "topics": [ + "0x141df868a6331af528e38c83b7aa03edc19be66e37ae67f9285bf4f8e3c6a1a8", + "0x0000000000000000000000004e1dcf7ad4e460cfd30791ccc4f9c8a4f820ec67", + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000010000000000000000000000008ecd4ec46d4d2a6b64fe960b3d64e8b94b2234eb000000000000000000000000a581c4a4db7175302464ff3c06380bc3270b403700000000000000000000000000000000000000000000000000000000000000010000000000000000000000005ac255889882acd3da2aa939679e3f3d4cea221e", + "blockHash": "0xcc466b284f4030ee3f5941a2c8e36892262bf583611c902fe5558a595af47e13", + "blockNumber": "0x50b0da", + "transactionHash": "0xf8dab30ed3c8814ee9a67770ee68f8fb83e6247706c24371a76e7cd8d348b0e3", + "transactionIndex": "0x85", + "logIndex": "0xc3", + "removed": False, + }, + { + "address": "0x4e1dcf7ad4e460cfd30791ccc4f9c8a4f820ec67", + "topics": [ + "0x4f51faf6c4561ff95f067657e43439f0f856d97c04d9ec9070a6199ad418e235", + "0x000000000000000000000000b0b5c0578aa134b0496a6c0e51a7aae47c522861", + ], + "data": "0x00000000000000000000000029fcb43b46531bca003ddc8fcb67ffe91900c762", + "blockHash": "0xcc466b284f4030ee3f5941a2c8e36892262bf583611c902fe5558a595af47e13", + "blockNumber": "0x50b0da", + "transactionHash": "0xf8dab30ed3c8814ee9a67770ee68f8fb83e6247706c24371a76e7cd8d348b0e3", + "transactionIndex": "0x85", + "logIndex": "0xc4", + "removed": False, + }, + { + "address": "0x5ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "topics": [ + "0xd51a9c61267aa6196961883ecf5ff2da6619c37dac0fa92122513fb32c032d2d", + "0x39b3e2171c04539d9b3f848d04364dfaa42cc0b412ff65ce2a85c566cf8bf281", + "0x000000000000000000000000b0b5c0578aa134b0496a6c0e51a7aae47c522861", + ], + "data": "0x0000000000000000000000004e1dcf7ad4e460cfd30791ccc4f9c8a4f820ec670000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0xcc466b284f4030ee3f5941a2c8e36892262bf583611c902fe5558a595af47e13", + "blockNumber": "0x50b0da", + "transactionHash": "0xf8dab30ed3c8814ee9a67770ee68f8fb83e6247706c24371a76e7cd8d348b0e3", + "transactionIndex": "0x85", + "logIndex": "0xc5", + "removed": False, + }, + { + "address": "0xb0b5c0578aa134b0496a6c0e51a7aae47c522861", + "topics": [ + "0xb648d3644f584ed1c2232d53c46d87e693586486ad0d1175f8656013110b714e" + ], + "data": "0x000000000000000000000000a581c4a4db7175302464ff3c06380bc3270b40370000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d27890000000000000000000000000000000000000000000000000002b32962c0bb8400000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0xcc466b284f4030ee3f5941a2c8e36892262bf583611c902fe5558a595af47e13", + "blockNumber": "0x50b0da", + "transactionHash": "0xf8dab30ed3c8814ee9a67770ee68f8fb83e6247706c24371a76e7cd8d348b0e3", + "transactionIndex": "0x85", + "logIndex": "0xc6", + "removed": False, + }, + { + "address": "0x5ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "topics": [ + "0x2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c4", + "0x000000000000000000000000b0b5c0578aa134b0496a6c0e51a7aae47c522861", + ], + "data": "0x0000000000000000000000000000000000000000000000000002b32962c0bb84", + "blockHash": "0xcc466b284f4030ee3f5941a2c8e36892262bf583611c902fe5558a595af47e13", + "blockNumber": "0x50b0da", + "transactionHash": "0xf8dab30ed3c8814ee9a67770ee68f8fb83e6247706c24371a76e7cd8d348b0e3", + "transactionIndex": "0x85", + "logIndex": "0xc7", + "removed": False, + }, + { + "address": "0xb0b5c0578aa134b0496a6c0e51a7aae47c522861", + "topics": [ + "0x6895c13664aa4f67288b25d7a21d7aaa34916e355fb9b6fae0a139a9085becb8", + "0x000000000000000000000000a581c4a4db7175302464ff3c06380bc3270b4037", + ], + "data": "0x", + "blockHash": "0xcc466b284f4030ee3f5941a2c8e36892262bf583611c902fe5558a595af47e13", + "blockNumber": "0x50b0da", + "transactionHash": "0xf8dab30ed3c8814ee9a67770ee68f8fb83e6247706c24371a76e7cd8d348b0e3", + "transactionIndex": "0x85", + "logIndex": "0xc8", + "removed": False, + }, + { + "address": "0x5ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "topics": [ + "0xbb47ee3e183a558b1a2ff0874b079f3fc5478b7454eacf2bfc5af2ff5878f972" + ], + "data": "0x", + "blockHash": "0xcc466b284f4030ee3f5941a2c8e36892262bf583611c902fe5558a595af47e13", + "blockNumber": "0x50b0da", + "transactionHash": "0xf8dab30ed3c8814ee9a67770ee68f8fb83e6247706c24371a76e7cd8d348b0e3", + "transactionIndex": "0x85", + "logIndex": "0xc9", + "removed": False, + }, + { + "address": "0xb0b5c0578aa134b0496a6c0e51a7aae47c522861", + "topics": [ + "0xb648d3644f584ed1c2232d53c46d87e693586486ad0d1175f8656013110b714e" + ], + "data": "0x000000000000000000000000a581c4a4db7175302464ff3c06380bc3270b403700000000000000000000000002270bd144e70ce6963ba02f575776a16184e1e600000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0xcc466b284f4030ee3f5941a2c8e36892262bf583611c902fe5558a595af47e13", + "blockNumber": "0x50b0da", + "transactionHash": "0xf8dab30ed3c8814ee9a67770ee68f8fb83e6247706c24371a76e7cd8d348b0e3", + "transactionIndex": "0x85", + "logIndex": "0xca", + "removed": False, + }, + { + "address": "0xb0b5c0578aa134b0496a6c0e51a7aae47c522861", + "topics": [ + "0x6895c13664aa4f67288b25d7a21d7aaa34916e355fb9b6fae0a139a9085becb8", + "0x000000000000000000000000a581c4a4db7175302464ff3c06380bc3270b4037", + ], + "data": "0x", + "blockHash": "0xcc466b284f4030ee3f5941a2c8e36892262bf583611c902fe5558a595af47e13", + "blockNumber": "0x50b0da", + "transactionHash": "0xf8dab30ed3c8814ee9a67770ee68f8fb83e6247706c24371a76e7cd8d348b0e3", + "transactionIndex": "0x85", + "logIndex": "0xcb", + "removed": False, + }, + { + "address": "0x5ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "topics": [ + "0x49628fd1471006c1482da88028e9ce4dbb080b815c9b0344d39e5a8e6ec1419f", + "0x39b3e2171c04539d9b3f848d04364dfaa42cc0b412ff65ce2a85c566cf8bf281", + "0x000000000000000000000000b0b5c0578aa134b0496a6c0e51a7aae47c522861", + "0x0000000000000000000000000000000000000000000000000000000000000000", + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000001c7f432341e240000000000000000000000000000000000000000000000000000000000068072", + "blockHash": "0xcc466b284f4030ee3f5941a2c8e36892262bf583611c902fe5558a595af47e13", + "blockNumber": "0x50b0da", + "transactionHash": "0xf8dab30ed3c8814ee9a67770ee68f8fb83e6247706c24371a76e7cd8d348b0e3", + "transactionIndex": "0x85", + "logIndex": "0xcc", + "removed": False, + }, + ], + "receipt": { + "transactionHash": "0xf8dab30ed3c8814ee9a67770ee68f8fb83e6247706c24371a76e7cd8d348b0e3", + "transactionIndex": "0x85", + "blockHash": "0xcc466b284f4030ee3f5941a2c8e36892262bf583611c902fe5558a595af47e13", + "blockNumber": "0x50b0da", + "from": "0xd53eb5203e367bbdd4f72338938224881fc501ab", + "to": "0x5ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "cumulativeGasUsed": "0xd2a354", + "gasUsed": "0x67c20", + "contractAddress": None, + "logs": [ + { + "address": "0xb0b5c0578aa134b0496a6c0e51a7aae47c522861", + "topics": [ + "0xecdf3a3effea5783a3c4c2140e677577666428d44ed9d474a0b3a4c9943f8440", + "0x000000000000000000000000a581c4a4db7175302464ff3c06380bc3270b4037", + ], + "data": "0x", + "blockHash": "0xcc466b284f4030ee3f5941a2c8e36892262bf583611c902fe5558a595af47e13", + "blockNumber": "0x50b0da", + "transactionHash": "0xf8dab30ed3c8814ee9a67770ee68f8fb83e6247706c24371a76e7cd8d348b0e3", + "transactionIndex": "0x85", + "logIndex": "0xc2", + "removed": False, + }, + { + "address": "0xb0b5c0578aa134b0496a6c0e51a7aae47c522861", + "topics": [ + "0x141df868a6331af528e38c83b7aa03edc19be66e37ae67f9285bf4f8e3c6a1a8", + "0x0000000000000000000000004e1dcf7ad4e460cfd30791ccc4f9c8a4f820ec67", + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000010000000000000000000000008ecd4ec46d4d2a6b64fe960b3d64e8b94b2234eb000000000000000000000000a581c4a4db7175302464ff3c06380bc3270b403700000000000000000000000000000000000000000000000000000000000000010000000000000000000000005ac255889882acd3da2aa939679e3f3d4cea221e", + "blockHash": "0xcc466b284f4030ee3f5941a2c8e36892262bf583611c902fe5558a595af47e13", + "blockNumber": "0x50b0da", + "transactionHash": "0xf8dab30ed3c8814ee9a67770ee68f8fb83e6247706c24371a76e7cd8d348b0e3", + "transactionIndex": "0x85", + "logIndex": "0xc3", + "removed": False, + }, + { + "address": "0x4e1dcf7ad4e460cfd30791ccc4f9c8a4f820ec67", + "topics": [ + "0x4f51faf6c4561ff95f067657e43439f0f856d97c04d9ec9070a6199ad418e235", + "0x000000000000000000000000b0b5c0578aa134b0496a6c0e51a7aae47c522861", + ], + "data": "0x00000000000000000000000029fcb43b46531bca003ddc8fcb67ffe91900c762", + "blockHash": "0xcc466b284f4030ee3f5941a2c8e36892262bf583611c902fe5558a595af47e13", + "blockNumber": "0x50b0da", + "transactionHash": "0xf8dab30ed3c8814ee9a67770ee68f8fb83e6247706c24371a76e7cd8d348b0e3", + "transactionIndex": "0x85", + "logIndex": "0xc4", + "removed": False, + }, + { + "address": "0x5ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "topics": [ + "0xd51a9c61267aa6196961883ecf5ff2da6619c37dac0fa92122513fb32c032d2d", + "0x39b3e2171c04539d9b3f848d04364dfaa42cc0b412ff65ce2a85c566cf8bf281", + "0x000000000000000000000000b0b5c0578aa134b0496a6c0e51a7aae47c522861", + ], + "data": "0x0000000000000000000000004e1dcf7ad4e460cfd30791ccc4f9c8a4f820ec670000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0xcc466b284f4030ee3f5941a2c8e36892262bf583611c902fe5558a595af47e13", + "blockNumber": "0x50b0da", + "transactionHash": "0xf8dab30ed3c8814ee9a67770ee68f8fb83e6247706c24371a76e7cd8d348b0e3", + "transactionIndex": "0x85", + "logIndex": "0xc5", + "removed": False, + }, + { + "address": "0xb0b5c0578aa134b0496a6c0e51a7aae47c522861", + "topics": [ + "0xb648d3644f584ed1c2232d53c46d87e693586486ad0d1175f8656013110b714e" + ], + "data": "0x000000000000000000000000a581c4a4db7175302464ff3c06380bc3270b40370000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d27890000000000000000000000000000000000000000000000000002b32962c0bb8400000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0xcc466b284f4030ee3f5941a2c8e36892262bf583611c902fe5558a595af47e13", + "blockNumber": "0x50b0da", + "transactionHash": "0xf8dab30ed3c8814ee9a67770ee68f8fb83e6247706c24371a76e7cd8d348b0e3", + "transactionIndex": "0x85", + "logIndex": "0xc6", + "removed": False, + }, + { + "address": "0x5ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "topics": [ + "0x2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c4", + "0x000000000000000000000000b0b5c0578aa134b0496a6c0e51a7aae47c522861", + ], + "data": "0x0000000000000000000000000000000000000000000000000002b32962c0bb84", + "blockHash": "0xcc466b284f4030ee3f5941a2c8e36892262bf583611c902fe5558a595af47e13", + "blockNumber": "0x50b0da", + "transactionHash": "0xf8dab30ed3c8814ee9a67770ee68f8fb83e6247706c24371a76e7cd8d348b0e3", + "transactionIndex": "0x85", + "logIndex": "0xc7", + "removed": False, + }, + { + "address": "0xb0b5c0578aa134b0496a6c0e51a7aae47c522861", + "topics": [ + "0x6895c13664aa4f67288b25d7a21d7aaa34916e355fb9b6fae0a139a9085becb8", + "0x000000000000000000000000a581c4a4db7175302464ff3c06380bc3270b4037", + ], + "data": "0x", + "blockHash": "0xcc466b284f4030ee3f5941a2c8e36892262bf583611c902fe5558a595af47e13", + "blockNumber": "0x50b0da", + "transactionHash": "0xf8dab30ed3c8814ee9a67770ee68f8fb83e6247706c24371a76e7cd8d348b0e3", + "transactionIndex": "0x85", + "logIndex": "0xc8", + "removed": False, + }, + { + "address": "0x5ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "topics": [ + "0xbb47ee3e183a558b1a2ff0874b079f3fc5478b7454eacf2bfc5af2ff5878f972" + ], + "data": "0x", + "blockHash": "0xcc466b284f4030ee3f5941a2c8e36892262bf583611c902fe5558a595af47e13", + "blockNumber": "0x50b0da", + "transactionHash": "0xf8dab30ed3c8814ee9a67770ee68f8fb83e6247706c24371a76e7cd8d348b0e3", + "transactionIndex": "0x85", + "logIndex": "0xc9", + "removed": False, + }, + { + "address": "0xb0b5c0578aa134b0496a6c0e51a7aae47c522861", + "topics": [ + "0xb648d3644f584ed1c2232d53c46d87e693586486ad0d1175f8656013110b714e" + ], + "data": "0x000000000000000000000000a581c4a4db7175302464ff3c06380bc3270b403700000000000000000000000002270bd144e70ce6963ba02f575776a16184e1e600000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0xcc466b284f4030ee3f5941a2c8e36892262bf583611c902fe5558a595af47e13", + "blockNumber": "0x50b0da", + "transactionHash": "0xf8dab30ed3c8814ee9a67770ee68f8fb83e6247706c24371a76e7cd8d348b0e3", + "transactionIndex": "0x85", + "logIndex": "0xca", + "removed": False, + }, + { + "address": "0xb0b5c0578aa134b0496a6c0e51a7aae47c522861", + "topics": [ + "0x6895c13664aa4f67288b25d7a21d7aaa34916e355fb9b6fae0a139a9085becb8", + "0x000000000000000000000000a581c4a4db7175302464ff3c06380bc3270b4037", + ], + "data": "0x", + "blockHash": "0xcc466b284f4030ee3f5941a2c8e36892262bf583611c902fe5558a595af47e13", + "blockNumber": "0x50b0da", + "transactionHash": "0xf8dab30ed3c8814ee9a67770ee68f8fb83e6247706c24371a76e7cd8d348b0e3", + "transactionIndex": "0x85", + "logIndex": "0xcb", + "removed": False, + }, + { + "address": "0x5ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "topics": [ + "0x49628fd1471006c1482da88028e9ce4dbb080b815c9b0344d39e5a8e6ec1419f", + "0x39b3e2171c04539d9b3f848d04364dfaa42cc0b412ff65ce2a85c566cf8bf281", + "0x000000000000000000000000b0b5c0578aa134b0496a6c0e51a7aae47c522861", + "0x0000000000000000000000000000000000000000000000000000000000000000", + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000001c7f432341e240000000000000000000000000000000000000000000000000000000000068072", + "blockHash": "0xcc466b284f4030ee3f5941a2c8e36892262bf583611c902fe5558a595af47e13", + "blockNumber": "0x50b0da", + "transactionHash": "0xf8dab30ed3c8814ee9a67770ee68f8fb83e6247706c24371a76e7cd8d348b0e3", + "transactionIndex": "0x85", + "logIndex": "0xcc", + "removed": False, + }, + ], + "status": "0x1", + "logsBloom": "0x080004000000900000000000000000008000000000000000000000000200000000080000000000000002200100000000001000000000000080000200000000000000100000000000000000000000000000000000000004080040000000002000000000000a00000005000000000008000000000001000000000000000002000008000120204002000000000000400000000002000004000000000000000000000000000000000010005000000000000002000000000000000000020000000000000000000000000000010000000000000000000000200000000000000000200000400c0000010000000000000008100220000000000000080000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xa85f9ad", + }, + }, +} + +supported_entrypoint_mock = { + "jsonrpc": "2.0", + "id": 1, + "result": ["0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789"], +} diff --git a/gnosis/safe/account_abstraction/__init__.py b/gnosis/safe/account_abstraction/__init__.py new file mode 100644 index 000000000..e6f0043d7 --- /dev/null +++ b/gnosis/safe/account_abstraction/__init__.py @@ -0,0 +1,5 @@ +""" +Safe Account abstraction utils +""" +# flake8: noqa F401 +from .safe_operation import SafeOperation diff --git a/gnosis/safe/account_abstraction/safe_operation.py b/gnosis/safe/account_abstraction/safe_operation.py new file mode 100644 index 000000000..e84722cc4 --- /dev/null +++ b/gnosis/safe/account_abstraction/safe_operation.py @@ -0,0 +1,140 @@ +import dataclasses +from typing import Optional + +from eth_abi import encode as abi_encode +from eth_abi.packed import encode_packed +from eth_typing import ChecksumAddress +from hexbytes import HexBytes + +from gnosis.eth.account_abstraction import UserOperation +from gnosis.eth.utils import fast_keccak + +_domain_separator_cache = {} + + +@dataclasses.dataclass +class SafeOperation: + """ + Safe EIP4337 operation + More info: https://github.com/safe-global/safe-modules/blob/main/modules/4337/contracts/Safe4337Module.sol#L55 + + TypeHash calculation: + + .. code-block:: python + + keccak256( + "SafeOp(address safe,uint256 nonce,bytes initCode,bytes callData,uint256 callGasLimit,uint256 verificationGasLimit,uint256 preVerificationGas,uint256 maxFeePerGas,uint256 maxPriorityFeePerGas,bytes paymasterAndData,uint48 validAfter,uint48 validUntil,address entryPoint)" + ) + + Domain separator calculation: + + .. code-block:: python + keccak256("EIP712Domain(uint256 chainId,address verifyingContract)" + + """ + + safe: ChecksumAddress + nonce: int # uint256 + init_code_hash: bytes # bytes32 + call_data_hash: bytes # bytes32 + call_gas_limit: int # uint256 + verification_gas_limit: int # uint256 + pre_verification_gas: int # uint256 + max_fee_per_gas: int # uint256 + max_priority_fee_per_gas: int # uint256 + paymaster_and_data_hash: bytes # bytes32 + valid_after: int # uint48 + valid_until: int # uint48 + entry_point: ChecksumAddress + signature: bytes + TYPE_HASH: bytes = HexBytes( + "0x84aa190356f56b8c87825f54884392a9907c23ee0f8e1ea86336b763faf021bd" + ) # bytes32 + DOMAIN_SEPARATOR_TYPE_HASH: bytes = HexBytes( + "0x47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a79469218" + ) # bytes32 + safe_operation_hash: Optional[bytes] = None + + @classmethod + def from_user_operation(cls, user_operation: UserOperation): + return cls( + user_operation.sender, + user_operation.nonce, + fast_keccak(user_operation.init_code), + fast_keccak(user_operation.call_data), + user_operation.call_gas_limit, + user_operation.verification_gas_limit, + user_operation.pre_verification_gas, + user_operation.max_fee_per_gas, + user_operation.max_priority_fee_per_gas, + fast_keccak(user_operation.paymaster_and_data), + int.from_bytes(user_operation.signature[:6], byteorder="big"), + int.from_bytes(user_operation.signature[6:12], byteorder="big"), + user_operation.entry_point, + user_operation.signature[12:], + ) + + def get_domain_separator( + self, chain_id: int, module_address: ChecksumAddress + ) -> bytes: + key = (chain_id, module_address) + if key not in _domain_separator_cache: + _domain_separator_cache[key] = fast_keccak( + abi_encode( + ["bytes32", "uint256", "address"], + [self.DOMAIN_SEPARATOR_TYPE_HASH, chain_id, module_address], + ) + ) + return _domain_separator_cache[key] + + def get_safe_operation_hash( + self, chain_id: int, module_address: ChecksumAddress + ) -> bytes: + # Cache safe_operation_hash + if not self.safe_operation_hash: + encoded_safe_op_struct = abi_encode( + [ + "bytes32", + "address", + "uint256", + "bytes32", + "bytes32", + "uint256", + "uint256", + "uint256", + "uint256", + "uint256", + "bytes32", + "uint48", + "uint48", + "address", + ], + [ + self.TYPE_HASH, + self.safe, + self.nonce, + self.init_code_hash, + self.call_data_hash, + self.call_gas_limit, + self.verification_gas_limit, + self.pre_verification_gas, + self.max_fee_per_gas, + self.max_priority_fee_per_gas, + self.paymaster_and_data_hash, + self.valid_after, + self.valid_until, + self.entry_point, + ], + ) + safe_op_struct_hash = fast_keccak(encoded_safe_op_struct) + operation_data = encode_packed( + ["bytes1", "bytes1", "bytes32", "bytes32"], + [ + bytes.fromhex("19"), + bytes.fromhex("01"), + self.get_domain_separator(chain_id, module_address), + safe_op_struct_hash, + ], + ) + self.safe_operation_hash = fast_keccak(operation_data) + return self.safe_operation_hash diff --git a/gnosis/safe/addresses.py b/gnosis/safe/addresses.py index 29a9140d3..b30fd13c2 100644 --- a/gnosis/safe/addresses.py +++ b/gnosis/safe/addresses.py @@ -83,15 +83,6 @@ ("0xb6029EA3B2c51D09a50B53CA8012FeEB05bDa35A", 319108, "1.0.0"), ("0x8942595A2dC5181Df0465AF0D7be08c8f23C93af", 34096, "0.1.0"), ], - EthereumNetwork.KOVAN: [ - ("0x3E5c63644E683549055b9Be8653de26E0B4CD36E", 25059609, "1.3.0+L2"), - ("0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", 25059611, "1.3.0"), - ("0x6851D6fDFAfD08c0295C392436245E5bc78B0185", 19242615, "1.2.0"), - ("0x34CfAC646f301356fAa8B21e94227e3583Fe3F5F", 15366145, "1.1.1"), - ("0xaE32496491b53841efb51829d6f886387708F99B", 14740724, "1.1.0"), - ("0xb6029EA3B2c51D09a50B53CA8012FeEB05bDa35A", 10638132, "1.0.0"), - ("0x8942595A2dC5181Df0465AF0D7be08c8f23C93af", 9465686, "0.1.0"), - ], EthereumNetwork.GNOSIS: [ ("0x29fcB43b46531BcA003ddC8FCB67FFE91900C762", 28204126, "1.4.1+L2"), ("0x41675C099F32341bf84BFc5382aF534df5C7461a", 28204128, "1.4.1"), @@ -193,7 +184,7 @@ ("0x3E5c63644E683549055b9Be8653de26E0B4CD36E", 154, "1.3.0+L2"), ("0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", 155, "1.3.0"), ], - EthereumNetwork.BINANCE_SMART_CHAIN_MAINNET: [ + EthereumNetwork.BNB_SMART_CHAIN_MAINNET: [ ("0x29fcB43b46531BcA003ddC8FCB67FFE91900C762", 31484712, "1.4.1+L2"), ("0x41675C099F32341bf84BFc5382aF534df5C7461a", 31484715, "1.4.1"), ( @@ -302,8 +293,17 @@ ("0x69f4D1788e39c87893C980c06EdF4b7f686e2938", 170910, "1.3.0"), ], EthereumNetwork.AURORA_MAINNET: [ - ("0x3E5c63644E683549055b9Be8653de26E0B4CD36E", 52494580, "1.3.0+L2"), - ("0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", 52494580, "1.3.0"), + ( + "0xfb1bffC9d739B8D520DaF37dF666da4C687191EA", + 111687756, + "1.3.0+L2", + ), # safe singleton address + ( + "0x3E5c63644E683549055b9Be8653de26E0B4CD36E", + 52494543, + "1.3.0+L2", + ), # default singleton address + ("0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", 52494556, "1.3.0"), ], EthereumNetwork.METIS_STARDUST_TESTNET: [ ("0xfb1bffC9d739B8D520DaF37dF666da4C687191EA", 56124, "1.3.0+L2"), @@ -379,7 +379,7 @@ ("0xfb1bffC9d739B8D520DaF37dF666da4C687191EA", 3290833, "1.3.0+L2"), ("0x69f4D1788e39c87893C980c06EdF4b7f686e2938", 3290835, "1.3.0"), ], - EthereumNetwork.CRONOS_MAINNET_BETA: [ + EthereumNetwork.CRONOS_MAINNET: [ ("0xfb1bffC9d739B8D520DaF37dF666da4C687191EA", 3002268, "1.3.0+L2"), ("0x69f4D1788e39c87893C980c06EdF4b7f686e2938", 3002760, "1.3.0"), ], @@ -407,15 +407,11 @@ ("0x3E5c63644E683549055b9Be8653de26E0B4CD36E", 14062206, "1.3.0+L2"), ("0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", 14062208, "1.3.0"), ], - EthereumNetwork.XINFIN_XDC_NETWORK: [ - ("0x3E5c63644E683549055b9Be8653de26E0B4CD36E", 53901616, "1.3.0+L2"), - ("0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", 53901624, "1.3.0"), - ], EthereumNetwork.XDC_APOTHEM_NETWORK: [ ("0x3E5c63644E683549055b9Be8653de26E0B4CD36E", 42293309, "1.3.0+L2"), ("0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", 42293315, "1.3.0"), ], - EthereumNetwork.BASE_MAINNET: [ + EthereumNetwork.BASE: [ ("0xfb1bffC9d739B8D520DaF37dF666da4C687191EA", 595207, "1.3.0+L2"), ("0x69f4D1788e39c87893C980c06EdF4b7f686e2938", 595211, "1.3.0"), ], @@ -425,7 +421,13 @@ ("0xfb1bffC9d739B8D520DaF37dF666da4C687191EA", 938848, "1.3.0+L2"), ("0x69f4D1788e39c87893C980c06EdF4b7f686e2938", 939064, "1.3.0"), ], - EthereumNetwork.KAVA_EVM: [ + EthereumNetwork.BASE_SEPOLIA_TESTNET: [ + ("0x3E5c63644E683549055b9Be8653de26E0B4CD36E", 3282054, "1.3.0+L2"), + ("0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", 3282056, "1.3.0"), + ("0xfb1bffC9d739B8D520DaF37dF666da4C687191EA", 5125249, "1.3.0+L2"), + ("0x69f4D1788e39c87893C980c06EdF4b7f686e2938", 5125256, "1.3.0"), + ], + EthereumNetwork.KAVA: [ ("0x3E5c63644E683549055b9Be8653de26E0B4CD36E", 2116303, "1.3.0+L2"), ("0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", 2116307, "1.3.0"), ], @@ -466,10 +468,6 @@ ("0x3E5c63644E683549055b9Be8653de26E0B4CD36E", 158463, "1.3.0+L2"), ("0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", 158486, "1.3.0"), ], - EthereumNetwork.SCROLL_GOERLI_TESTNET: [ - ("0xfb1bffC9d739B8D520DaF37dF666da4C687191EA", 676474, "1.3.0+L2"), - ("0x69f4D1788e39c87893C980c06EdF4b7f686e2938", 676478, "1.3.0"), - ], EthereumNetwork.MAP_MAINNET: [ ("0x3E5c63644E683549055b9Be8653de26E0B4CD36E", 5190553, "1.3.0+L2"), ("0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", 5190556, "1.3.0"), @@ -478,11 +476,11 @@ ("0x3E5c63644E683549055b9Be8653de26E0B4CD36E", 2987582, "1.3.0+L2"), ("0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", 2987584, "1.3.0"), ], - EthereumNetwork.ETHEREUM_CLASSIC_MAINNET: [ + EthereumNetwork.ETHEREUM_CLASSIC: [ ("0xfb1bffC9d739B8D520DaF37dF666da4C687191EA", 15904944, "1.3.0+L2"), ("0x69f4D1788e39c87893C980c06EdF4b7f686e2938", 15904946, "1.3.0"), ], - EthereumNetwork.ETHEREUM_CLASSIC_TESTNET_MORDOR: [ + EthereumNetwork.MORDOR_TESTNET: [ ("0xfb1bffC9d739B8D520DaF37dF666da4C687191EA", 6333171, "1.3.0+L2"), ("0x69f4D1788e39c87893C980c06EdF4b7f686e2938", 6333172, "1.3.0"), ], @@ -519,8 +517,26 @@ ("0x69f4D1788e39c87893C980c06EdF4b7f686e2938", 727472, "1.3.0"), ], EthereumNetwork.LINEA_TESTNET: [ - ("0x3E5c63644E683549055b9Be8653de26E0B4CD36E", 363132, "1.3.0+L2"), - ("0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", 363135, "1.3.0"), + ( + "0x3E5c63644E683549055b9Be8653de26E0B4CD36E", + 363132, + "1.3.0+L2", + ), # Default singleton address + ( + "0xfb1bffC9d739B8D520DaF37dF666da4C687191EA", + 3279607, + "1.3.0+L2", + ), # Safe singleton address + ( + "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + 363135, + "1.3.0", + ), # Default singleton address + ( + "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", + 3279611, + "1.3.0", + ), # Safe singleton address ], EthereumNetwork.ASTAR: [ ("0x3E5c63644E683549055b9Be8653de26E0B4CD36E", 1106426, "1.3.0+L2"), @@ -537,22 +553,36 @@ "1.3.0+L2", ) ], - EthereumNetwork.DARWINIA_CRAB_NETWORK: [ + EthereumNetwork.CRAB_NETWORK: [ ( "0xfb1bffC9d739B8D520DaF37dF666da4C687191EA", 739900, "1.3.0+L2", ) ], - EthereumNetwork.ZORA_NETWORK: [ - ("0x3E5c63644E683549055b9Be8653de26E0B4CD36E", 11932, "1.3.0+L2"), - ("0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", 11934, "1.3.0"), - ], - EthereumNetwork.ZKSYNC_ALPHA_TESTNET: [ - ("0x1727c2c531cf966f902E5927b98490fDFb3b2b70", 8619879, "1.3.0+L2"), - ("0xB00ce5CCcdEf57e539ddcEd01DF43a13855d9910", 8619884, "1.3.0"), + EthereumNetwork.ZORA: [ + ( + "0xfb1bffC9d739B8D520DaF37dF666da4C687191EA", + 9677661, + "1.3.0+L2", + ), # safe singleton address + ( + "0x3E5c63644E683549055b9Be8653de26E0B4CD36E", + 11932, + "1.3.0+L2", + ), # default singleton address + ( + "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", + 9677757, + "1.3.0", + ), # safe singleton address + ( + "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + 11934, + "1.3.0", + ), # default singleton address ], - EthereumNetwork.ZKSYNC_V2: [ + EthereumNetwork.ZKSYNC_MAINNET: [ ("0x1727c2c531cf966f902E5927b98490fDFb3b2b70", 7259224, "1.3.0+L2"), ("0xB00ce5CCcdEf57e539ddcEd01DF43a13855d9910", 7259230, "1.3.0"), ], @@ -576,13 +606,31 @@ ("0xfb1bffC9d739B8D520DaF37dF666da4C687191EA", 1378154, "1.3.0+L2"), ("0x69f4D1788e39c87893C980c06EdF4b7f686e2938", 1378155, "1.3.0"), ], - EthereumNetwork.EDGEWARE_MAINNET: [ + EthereumNetwork.EDGEWARE_EDGEEVM_MAINNET: [ ("0x3E5c63644E683549055b9Be8653de26E0B4CD36E", 18176819, "1.3.0+L2"), ("0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", 18176820, "1.3.0"), ], EthereumNetwork.LINEA: [ - ("0x3E5c63644E683549055b9Be8653de26E0B4CD36E", 17, "1.3.0+L2"), - ("0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", 18, "1.3.0"), + ( + "0x3E5c63644E683549055b9Be8653de26E0B4CD36E", + 17, + "1.3.0+L2", + ), # Default singleton address + ( + "0xfb1bffC9d739B8D520DaF37dF666da4C687191EA", + 1939925, + "1.3.0+L2", + ), # Safe singleton address + ( + "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + 18, + "1.3.0", + ), # Default singleton address + ( + "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", + 1939927, + "1.3.0", + ), # Safe singleton address ], EthereumNetwork.NEON_EVM_DEVNET: [ ("0xfb1bffC9d739B8D520DaF37dF666da4C687191EA", 205147021, "1.3.0+L2"), @@ -593,8 +641,26 @@ ("0x69f4D1788e39c87893C980c06EdF4b7f686e2938", 203994202, "1.3.0"), ], EthereumNetwork.SCROLL_SEPOLIA_TESTNET: [ - ("0x3E5c63644E683549055b9Be8653de26E0B4CD36E", 6261, "1.3.0+L2"), - ("0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", 6262, "1.3.0"), + ( + "0xfb1bffC9d739B8D520DaF37dF666da4C687191EA", + 2913895, + "1.3.0+L2", + ), # safe singleton address + ( + "0x3E5c63644E683549055b9Be8653de26E0B4CD36E", + 6261, + "1.3.0+L2", + ), # default singleton address + ( + "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", + 2913898, + "1.3.0", + ), # safe singleton address + ( + "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + 6262, + "1.3.0", + ), # default singleton address ], EthereumNetwork.FANTOM_OPERA: [ ("0xfb1bffC9d739B8D520DaF37dF666da4C687191EA", 38810826, "1.3.0+L2"), @@ -605,11 +671,11 @@ ("0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", 4627348, "1.3.0"), ("0x5696Ae62C36aF747966522C401FbD57492451f19", 4627348, "1.3.0"), ], - EthereumNetwork.RSK_MAINNET: [ + EthereumNetwork.ROOTSTOCK_MAINNET: [ ("0x3E5c63644E683549055b9Be8653de26E0B4CD36E", 3891238, "1.3.0+L2"), ("0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", 3891240, "1.3.0"), ], - EthereumNetwork.RSK_TESTNET: [ + EthereumNetwork.ROOTSTOCK_TESTNET: [ ("0x3E5c63644E683549055b9Be8653de26E0B4CD36E", 2362236, "1.3.0+L2"), ("0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", 2362238, "1.3.0"), ], @@ -621,13 +687,31 @@ ("0xfb1bffC9d739B8D520DaF37dF666da4C687191EA", 1315570, "1.3.0+L2"), ("0x69f4D1788e39c87893C980c06EdF4b7f686e2938", 1315572, "1.3.0"), ], - EthereumNetwork.ZETACHAIN_ATHENS_TESTNET: [ + EthereumNetwork.ZETACHAIN_ATHENS_3_TESTNET: [ ("0xfb1bffC9d739B8D520DaF37dF666da4C687191EA", 1962980, "1.3.0+L2"), ("0x69f4D1788e39c87893C980c06EdF4b7f686e2938", 1962981, "1.3.0"), ], EthereumNetwork.SCROLL: [ - ("0x3E5c63644E683549055b9Be8653de26E0B4CD36E", 187, "1.3.0+L2"), - ("0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", 189, "1.3.0"), + ( + "0xfb1bffC9d739B8D520DaF37dF666da4C687191EA", + 2905495, + "1.3.0+L2", + ), # safe singleton address + ( + "0x3E5c63644E683549055b9Be8653de26E0B4CD36E", + 187, + "1.3.0+L2", + ), # default singleton address + ( + "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", + 2905498, + "1.3.0", + ), # safe singleton address + ( + "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + 189, + "1.3.0", + ), # default singleton address ], EthereumNetwork.TELOS_EVM_MAINNET: [ ("0x3E5c63644E683549055b9Be8653de26E0B4CD36E", 237435759, "1.3.0+L2"), @@ -637,11 +721,11 @@ ("0x3E5c63644E683549055b9Be8653de26E0B4CD36E", 194005796, "1.3.0+L2"), ("0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", 194005824, "1.3.0"), ], - EthereumNetwork.PGN_MAINNET: [ + EthereumNetwork.PGN_PUBLIC_GOODS_NETWORK: [ ("0x3E5c63644E683549055b9Be8653de26E0B4CD36E", 344345, "1.3.0+L2"), ("0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", 344348, "1.3.0"), ], - EthereumNetwork.PGN_TESTNET: [ + EthereumNetwork.SEPOLIA_PGN_PUBLIC_GOODS_NETWORK: [ ("0x3E5c63644E683549055b9Be8653de26E0B4CD36E", 1774114, "1.3.0+L2"), ("0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", 1774116, "1.3.0"), ], @@ -663,6 +747,106 @@ ("0xfb1bffC9d739B8D520DaF37dF666da4C687191EA", 7992402, "1.3.0+L2"), ("0x69f4D1788e39c87893C980c06EdF4b7f686e2938", 7992408, "1.3.0"), ], + EthereumNetwork.HAQQ_NETWORK: [ + ("0x29fcB43b46531BcA003ddC8FCB67FFE91900C762", 9054796, "1.4.1+L2"), + ("0x41675C099F32341bf84BFc5382aF534df5C7461a", 9054798, "1.4.1"), + ("0x3E5c63644E683549055b9Be8653de26E0B4CD36E", 422246, "1.3.0+L2"), + ("0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", 422357, "1.3.0"), + ], + EthereumNetwork.HAQQ_CHAIN_TESTNET: [ + ("0x29fcB43b46531BcA003ddC8FCB67FFE91900C762", 7031878, "1.4.1+L2"), + ("0x41675C099F32341bf84BFc5382aF534df5C7461a", 7031879, "1.4.1"), + ("0xfb1bffC9d739B8D520DaF37dF666da4C687191EA", 1514959, "1.3.0+L2"), + ("0x69f4D1788e39c87893C980c06EdF4b7f686e2938", 1514966, "1.3.0"), + ], + EthereumNetwork.MODE: [ + ("0x3E5c63644E683549055b9Be8653de26E0B4CD36E", 2610515, "1.3.0+L2"), + ("0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", 2610520, "1.3.0"), + ], + EthereumNetwork.MODE_TESTNET: [ + ( + "0xfb1bffC9d739B8D520DaF37dF666da4C687191EA", + 9375471, + "1.3.0+L2", + ), # safe singleton address + ( + "0x3E5c63644E683549055b9Be8653de26E0B4CD36E", + 1948156, + "1.3.0+L2", + ), # default singleton address + ( + "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", + 9375476, + "1.3.0", + ), # safe singleton address + ( + "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + 1948159, + "1.3.0", + ), # default singleton address + ], + EthereumNetwork.ZORA_SEPOLIA_TESTNET: [ + ( + "0xfb1bffC9d739B8D520DaF37dF666da4C687191EA", + 4265431, + "1.3.0+L2", + ), # safe singleton address + ( + "0x3E5c63644E683549055b9Be8653de26E0B4CD36E", + 46719, + "1.3.0+L2", + ), # default singleton address + ( + "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", + 4265435, + "1.3.0", + ), # safe singleton address + ( + "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + 46722, + "1.3.0", + ), # default singleton address + ], + EthereumNetwork.MANTLE_SEPOLIA_TESTNET: [ + ("0xfb1bffC9d739B8D520DaF37dF666da4C687191EA", 1927686, "1.3.0+L2"), + ("0x69f4D1788e39c87893C980c06EdF4b7f686e2938", 1927692, "1.3.0"), + ], + EthereumNetwork.OP_SEPOLIA_TESTNET: [ + ("0x29fcB43b46531BcA003ddC8FCB67FFE91900C762", 7162879, "1.4.1+L2"), + ("0x41675C099F32341bf84BFc5382aF534df5C7461a", 7162883, "1.4.1"), + ( + "0x3E5c63644E683549055b9Be8653de26E0B4CD36E", + 4357288, + "1.3.0+L2", + ), # default singleton address + ( + "0xfb1bffC9d739B8D520DaF37dF666da4C687191EA", + 7438249, + "1.3.0+L2", + ), # safe singleton address + ( + "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + 4357293, + "1.3.0", + ), # default singleton address + ( + "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", + 7438259, + "1.3.0", + ), # safe singleton address + ], + EthereumNetwork.UNREAL_TESTNET: [ + ("0x3E5c63644E683549055b9Be8653de26E0B4CD36E", 742, "1.3.0+L2"), + ("0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", 743, "1.3.0"), + ], + EthereumNetwork.TAIKO_KATLA_L2: [ + ("0x3E5c63644E683549055b9Be8653de26E0B4CD36E", 136482, "1.3.0+L2"), + ("0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", 136484, "1.3.0"), + ], + EthereumNetwork.SHIBARIUM: [ + ("0xfb1bffC9d739B8D520DaF37dF666da4C687191EA", 2673620, "1.3.0+L2"), + ("0x69f4D1788e39c87893C980c06EdF4b7f686e2938", 2673623, "1.3.0"), + ], } PROXY_FACTORIES: Dict[EthereumNetwork, List[Tuple[str, int]]] = { @@ -700,12 +884,6 @@ ("0x50e55Af101C777bA7A1d560a774A82eF002ced9F", 1631491), ("0x12302fE9c02ff50939BaAaaf415fc226C078613C", 312509), ], - EthereumNetwork.KOVAN: [ - ("0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2", 25059601), # v1.3.0 - ("0x76E2cFc1F5Fa8F6a5b3fC4c8F4788F0116861F9B", 15366151), - ("0x50e55Af101C777bA7A1d560a774A82eF002ced9F", 14740731), - ("0x12302fE9c02ff50939BaAaaf415fc226C078613C", 10629898), - ], EthereumNetwork.GNOSIS: [ ("0x4e1DCf7AD4e460CfD30791CCC4F9c8a4f820ec67", 27419153), # v1.4.1 ( @@ -773,7 +951,7 @@ EthereumNetwork.ARBITRUM_SEPOLIA: [ ("0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2", 147), # v1.3.0 ], - EthereumNetwork.BINANCE_SMART_CHAIN_MAINNET: [ + EthereumNetwork.BNB_SMART_CHAIN_MAINNET: [ ("0x4e1DCf7AD4e460CfD30791CCC4F9c8a4f820ec67", 28092030), # v1.4.1 ( "0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC", @@ -835,7 +1013,14 @@ ("0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC", 170895), # v1.3.0 ], EthereumNetwork.AURORA_MAINNET: [ - ("0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2", 52494580), # v1.3.0 + ( + "0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC", + 111687685, + ), # v1.3.0 safe singleton address + ( + "0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2", + 52494463, + ), # v1.3.0 default singleton address ], EthereumNetwork.METIS_STARDUST_TESTNET: [ ("0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC", 56117), # v1.3.0 @@ -897,7 +1082,7 @@ EthereumNetwork.CRONOS_TESTNET: [ ("0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC", 3290819), # v1.3.0 ], - EthereumNetwork.CRONOS_MAINNET_BETA: [ + EthereumNetwork.CRONOS_MAINNET: [ ("0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC", 2958469), # v1.3.0 ], EthereumNetwork.RABBIT_ANALOG_TESTNET_CHAIN: [ @@ -918,20 +1103,21 @@ EthereumNetwork.PUBLICMINT_TESTNET: [ ("0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2", 14062193), # v1.3.0 ], - EthereumNetwork.XINFIN_XDC_NETWORK: [ - ("0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2", 53901564), # v1.3.0 - ], EthereumNetwork.XDC_APOTHEM_NETWORK: [ ("0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2", 42293264), # v1.3.0 ], - EthereumNetwork.BASE_MAINNET: [ + EthereumNetwork.BASE: [ ("0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC", 595181), # v1.3.0 ], EthereumNetwork.BASE_GOERLI_TESTNET: [ ("0x4e1DCf7AD4e460CfD30791CCC4F9c8a4f820ec67", 7330598), # v1.4.1 ("0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC", 938696), # v1.3.0 ], - EthereumNetwork.KAVA_EVM: [ + EthereumNetwork.BASE_SEPOLIA_TESTNET: [ + ("0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2", 3282032), # v1.3.0 + ("0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC", 5125191), # v1.3.0 + ], + EthereumNetwork.KAVA: [ ("0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2", 2116356), # v1.3.0 ], EthereumNetwork.CROSSBELL: [ @@ -962,19 +1148,16 @@ EthereumNetwork.EVMOS: [ ("0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2", 146858), # v1.3.0 ], - EthereumNetwork.SCROLL_GOERLI_TESTNET: [ - ("0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC", 676384), # v1.3.0 - ], EthereumNetwork.MAP_MAINNET: [ ("0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2", 5190546), # v1.3.0 ], EthereumNetwork.MAP_MAKALU: [ ("0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2", 2987578), # v1.3.0 ], - EthereumNetwork.ETHEREUM_CLASSIC_MAINNET: [ + EthereumNetwork.ETHEREUM_CLASSIC: [ ("0x69f4D1788e39c87893C980c06EdF4b7f686e2938", 15904946), # v1.3.0 ], - EthereumNetwork.ETHEREUM_CLASSIC_TESTNET_MORDOR: [ + EthereumNetwork.MORDOR_TESTNET: [ ("0x69f4D1788e39c87893C980c06EdF4b7f686e2938", 6333172), # v1.3.0 ], EthereumNetwork.SEPOLIA: [ @@ -995,7 +1178,14 @@ ("0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC", 727457), # v1.3.0 ], EthereumNetwork.LINEA_TESTNET: [ - ("0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2", 363118), # v1.3.0 + ( + "0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC", + 3279584, + ), # v1.3.0 Safe singleton address + ( + "0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2", + 363118, + ), # v1.3.0 Default singleton address ], EthereumNetwork.ASTAR: [ ("0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2", 1106417), # v1.3.0 @@ -1009,19 +1199,23 @@ 491157, ) ], - EthereumNetwork.DARWINIA_CRAB_NETWORK: [ + EthereumNetwork.CRAB_NETWORK: [ ( "0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC", 739882, ) ], - EthereumNetwork.ZORA_NETWORK: [ - ("0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2", 11914), # v1.3.0 - ], - EthereumNetwork.ZKSYNC_ALPHA_TESTNET: [ - ("0xDAec33641865E4651fB43181C6DB6f7232Ee91c2", 8619849), # v1.3.0 + EthereumNetwork.ZORA: [ + ( + "0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC", + 9677950, + ), # v1.3.0 safe singleton address + ( + "0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2", + 11914, + ), # v1.3.0 default singleton address ], - EthereumNetwork.ZKSYNC_V2: [ + EthereumNetwork.ZKSYNC_MAINNET: [ ("0xDAec33641865E4651fB43181C6DB6f7232Ee91c2", 7259190), # v1.3.0 ], EthereumNetwork.MANTLE_TESTNET: [ @@ -1039,11 +1233,18 @@ EthereumNetwork.OASIS_SAPPHIRE: [ ("0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC", 325632), # v1.3.0 ], - EthereumNetwork.EDGEWARE_MAINNET: [ + EthereumNetwork.EDGEWARE_EDGEEVM_MAINNET: [ ("0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2", 18176812), # v1.3.0 ], EthereumNetwork.LINEA: [ - ("0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2", 10), # v1.3.0 + ( + "0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC", + 1939855, + ), # v1.3.0 Safe singleton address + ( + "0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2", + 10, + ), # v1.3.0 Default singleton address ], EthereumNetwork.NEON_EVM_DEVNET: [ ("0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC", 205146874), # v1.3.0 @@ -1052,7 +1253,14 @@ ("0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC", 203993869), # v1.3.0 ], EthereumNetwork.SCROLL_SEPOLIA_TESTNET: [ - ("0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2", 6254), # v1.3.0 + ( + "0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC", + 2913883, + ), # v1.3.0 safe singleton address + ( + "0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2", + 6254, + ), # v1.3.0 default singleton address ], EthereumNetwork.FANTOM_OPERA: [ ("0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC", 38810826), # v1.3.0 @@ -1062,10 +1270,10 @@ ("0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2", 4627348), # v1.3.0 ("0x63B5caf390e8AF7133DBE6bA92A69167a854Ac91", 4627348), # v1.3.0 ], - EthereumNetwork.RSK_MAINNET: [ + EthereumNetwork.ROOTSTOCK_MAINNET: [ ("0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2", 3891234), # v1.3.0 ], - EthereumNetwork.RSK_TESTNET: [ + EthereumNetwork.ROOTSTOCK_TESTNET: [ ("0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2", 2362232), # v1.3.0 ], EthereumNetwork.JAPAN_OPEN_CHAIN_MAINNET: [ @@ -1074,11 +1282,18 @@ EthereumNetwork.JAPAN_OPEN_CHAIN_TESTNET: [ ("0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC", 1315556), # v1.3.0 ], - EthereumNetwork.ZETACHAIN_ATHENS_TESTNET: [ + EthereumNetwork.ZETACHAIN_ATHENS_3_TESTNET: [ ("0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC", 1962972), # v1.3.0 ], EthereumNetwork.SCROLL: [ - ("0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2", 179), # v1.3.0 + ( + "0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC", + 2905472, + ), # v1.3.0 safe singleton address + ( + "0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2", + 179, + ), # v1.3.0 default singleton address ], EthereumNetwork.TELOS_EVM_MAINNET: [ ("0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2", 237435678), # v1.3.0 @@ -1086,10 +1301,10 @@ EthereumNetwork.TELOS_EVM_TESTNET: [ ("0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2", 194005709), # v1.3.0 ], - EthereumNetwork.PGN_MAINNET: [ + EthereumNetwork.PGN_PUBLIC_GOODS_NETWORK: [ ("0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2", 344314), # v1.3.0 ], - EthereumNetwork.PGN_TESTNET: [ + EthereumNetwork.SEPOLIA_PGN_PUBLIC_GOODS_NETWORK: [ ("0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2", 1774097), # v1.3.0 ], EthereumNetwork.ARTHERA_TESTNET: [ @@ -1105,4 +1320,58 @@ EthereumNetwork.KROMA_SEPOLIA: [ ("0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC", 7867188), # v1.3.0 ], + EthereumNetwork.HAQQ_NETWORK: [ + ("0x4e1DCf7AD4e460CfD30791CCC4F9c8a4f820ec67", 9054785), # v1.4.1 + ("0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2", 422239), # v1.3.0 + ], + EthereumNetwork.HAQQ_CHAIN_TESTNET: [ + ("0x4e1DCf7AD4e460CfD30791CCC4F9c8a4f820ec67", 7031865), # v1.4.1 + ("0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC", 1514954), # v1.3.0 + ], + EthereumNetwork.MODE: [ + ("0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2", 2610484), # v1.3.0 + ], + EthereumNetwork.MODE_TESTNET: [ + ( + "0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC", + 9375436, + ), # v1.3.0 safe singleton address + ( + "0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2", + 1948140, + ), # v1.3.0 default singleton address + ], + EthereumNetwork.ZORA_SEPOLIA_TESTNET: [ + ( + "0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC", + 4265398, + ), # v1.3.0 safe singleton address + ( + "0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2", + 46699, + ), # v1.3.0 default singleton address + ], + EthereumNetwork.MANTLE_SEPOLIA_TESTNET: [ + ("0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC", 1927649), # v1.3.0 + ], + EthereumNetwork.OP_SEPOLIA_TESTNET: [ + ("0x4e1DCf7AD4e460CfD30791CCC4F9c8a4f820ec67", 7162843), # v1.4.1 + ( + "0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC", + 7438194, + ), # v1.3.0 Safe singleton address + ( + "0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2", + 4357263, + ), # v1.3.0 Default singleton address + ], + EthereumNetwork.UNREAL_TESTNET: [ + ("0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2", 735), # v1.3.0 + ], + EthereumNetwork.TAIKO_KATLA_L2: [ + ("0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2", 44820), # v1.3.0 + ], + EthereumNetwork.SHIBARIUM: [ + ("0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC", 2673601), # v1.3.0 + ], } diff --git a/gnosis/safe/api/base_api.py b/gnosis/safe/api/base_api.py index 00909689a..705380c7f 100644 --- a/gnosis/safe/api/base_api.py +++ b/gnosis/safe/api/base_api.py @@ -9,6 +9,7 @@ EthereumNetwork, EthereumNetworkNotSupported, ) +from gnosis.util.http import prepare_http_session class SafeAPIException(Exception): @@ -36,26 +37,9 @@ def __init__( self.base_url = base_url or self.URL_BY_NETWORK.get(network) if not self.base_url: raise EthereumNetworkNotSupported(network) - self.http_session = self._prepare_http_session() + self.http_session = prepare_http_session(10, 100) self.request_timeout = request_timeout - def _prepare_http_session(self) -> requests.Session: - """ - Prepare http session with custom pooling. See: - https://urllib3.readthedocs.io/en/stable/advanced-usage.html - https://docs.python-requests.org/en/v1.2.3/api/#requests.adapters.HTTPAdapter - https://web3py.readthedocs.io/en/stable/providers.html#httpprovider - """ - session = requests.Session() - adapter = requests.adapters.HTTPAdapter( - pool_connections=10, # Doing all the connections to the same url - pool_maxsize=100, # Number of concurrent connections - pool_block=False, - ) - session.mount("http://", adapter) - session.mount("https://", adapter) - return session - @classmethod def from_ethereum_client(cls, ethereum_client: EthereumClient) -> "SafeBaseAPI": ethereum_network = ethereum_client.get_network() diff --git a/gnosis/safe/api/relay_service_api.py b/gnosis/safe/api/relay_service_api.py index f5d773ceb..9bbce6867 100644 --- a/gnosis/safe/api/relay_service_api.py +++ b/gnosis/safe/api/relay_service_api.py @@ -4,8 +4,6 @@ import requests from eth_typing import ChecksumAddress, HexStr -from gnosis.eth.ethereum_client import EthereumNetwork - from .. import SafeTx from ..signatures import signature_split from .base_api import SafeAPIException, SafeBaseAPI @@ -27,9 +25,7 @@ class RelaySentTransaction(TypedDict): class RelayServiceApi(SafeBaseAPI): URL_BY_NETWORK = { - EthereumNetwork.GOERLI: "https://safe-relay.goerli.gnosis.io/", - EthereumNetwork.MAINNET: "https://safe-relay.gnosis.io", - EthereumNetwork.RINKEBY: "https://safe-relay.rinkeby.gnosis.io", + # Currently there's no official relayer operated } def send_transaction( diff --git a/gnosis/safe/api/transaction_service_api/__init__.py b/gnosis/safe/api/transaction_service_api/__init__.py new file mode 100644 index 000000000..c94ede637 --- /dev/null +++ b/gnosis/safe/api/transaction_service_api/__init__.py @@ -0,0 +1,5 @@ +from .transaction_service_api import TransactionServiceApi + +__all__ = [ + "TransactionServiceApi", +] diff --git a/gnosis/safe/api/transaction_service_api.py b/gnosis/safe/api/transaction_service_api/transaction_service_api.py similarity index 90% rename from gnosis/safe/api/transaction_service_api.py rename to gnosis/safe/api/transaction_service_api/transaction_service_api.py index 6a28db29d..58f5873ec 100644 --- a/gnosis/safe/api/transaction_service_api.py +++ b/gnosis/safe/api/transaction_service_api/transaction_service_api.py @@ -1,5 +1,4 @@ import logging -import time from typing import Any, Dict, List, Optional, Tuple, Union from eth_account.signers.local import LocalAccount @@ -10,7 +9,9 @@ from gnosis.eth import EthereumNetwork from gnosis.safe import SafeTx -from .base_api import SafeAPIException, SafeBaseAPI +from ..base_api import SafeAPIException, SafeBaseAPI +from .transaction_service_messages import get_delegate_message +from .transaction_service_tx import TransactionServiceTx logger = logging.getLogger(__name__) @@ -21,8 +22,8 @@ class TransactionServiceApi(SafeBaseAPI): EthereumNetwork.AURORA_MAINNET: "https://safe-transaction-aurora.safe.global", EthereumNetwork.AVALANCHE_C_CHAIN: "https://safe-transaction-avalanche.safe.global", EthereumNetwork.BASE_GOERLI_TESTNET: "https://safe-transaction-base-testnet.safe.global", - EthereumNetwork.BASE_MAINNET: "https://safe-transaction-base.safe.global", - EthereumNetwork.BINANCE_SMART_CHAIN_MAINNET: "https://safe-transaction-bsc.safe.global", + EthereumNetwork.BASE: "https://safe-transaction-base.safe.global", + EthereumNetwork.BNB_SMART_CHAIN_MAINNET: "https://safe-transaction-bsc.safe.global", EthereumNetwork.CELO_MAINNET: "https://safe-transaction-celo.safe.global", EthereumNetwork.GNOSIS: "https://safe-transaction-gnosis-chain.safe.global", EthereumNetwork.GOERLI: "https://safe-transaction-goerli.safe.global", @@ -31,14 +32,12 @@ class TransactionServiceApi(SafeBaseAPI): EthereumNetwork.POLYGON: "https://safe-transaction-polygon.safe.global", EthereumNetwork.POLYGON_ZKEVM: "https://safe-transaction-zkevm.safe.global", EthereumNetwork.SEPOLIA: "https://safe-transaction-sepolia.safe.global", - EthereumNetwork.ZKSYNC_V2: "https://safe-transaction-zksync.safe.global", + EthereumNetwork.ZKSYNC_MAINNET: "https://safe-transaction-zksync.safe.global", } @classmethod def create_delegate_message_hash(cls, delegate_address: ChecksumAddress) -> str: - totp = int(time.time()) // 3600 - hash_to_sign = Web3.keccak(text=delegate_address + str(totp)) - return hash_to_sign + return Web3.keccak(text=get_delegate_message(delegate_address)) @classmethod def data_decoded_to_text(cls, data_decoded: Dict[str, Any]) -> Optional[str]: @@ -115,7 +114,7 @@ def get_balances(self, safe_address: str) -> List[Dict[str, Any]]: def get_safe_transaction( self, safe_tx_hash: Union[bytes, HexStr] - ) -> Tuple[SafeTx, Optional[HexBytes]]: + ) -> Tuple[TransactionServiceTx, Optional[HexBytes]]: """ :param safe_tx_hash: :return: SafeTx and `tx-hash` if transaction was executed @@ -133,7 +132,8 @@ def get_safe_transaction( logger.warning( "EthereumClient should be defined to get a executable SafeTx" ) - safe_tx = SafeTx( + safe_tx = TransactionServiceTx( + result["proposer"], self.ethereum_client, result["safe"], result["to"], @@ -276,6 +276,21 @@ def post_transaction(self, safe_tx: SafeTx) -> bool: raise SafeAPIException(f"Error posting transaction: {response.content}") return True + def delete_transaction(self, safe_tx_hash: str, signature: str) -> bool: + """ + + :param safe_tx_hash: hash of eip712 see in transaction_service_messages.py generate_remove_transaction_message function + :param signature: signature of safe_tx_hash by transaction proposer + :return: + """ + payload = {"safeTxHash": safe_tx_hash, "signature": signature} + response = self._delete_request( + f"/api/v1/multisig-transactions/{safe_tx_hash}/", payload + ) + if not response.ok: + raise SafeAPIException(f"Error deleting transaction: {response.content}") + return True + def post_message( self, safe_address: ChecksumAddress, diff --git a/gnosis/safe/api/transaction_service_api/transaction_service_messages.py b/gnosis/safe/api/transaction_service_api/transaction_service_messages.py new file mode 100644 index 000000000..d7682045f --- /dev/null +++ b/gnosis/safe/api/transaction_service_api/transaction_service_messages.py @@ -0,0 +1,63 @@ +import time +from typing import Dict + +from eth_typing import ChecksumAddress + + +def get_totp() -> int: + """ + + :return: time-based one-time password + """ + return int(time.time()) // 3600 + + +def get_delegate_message(cls, delegate_address: ChecksumAddress) -> str: + """ + Retrieves the required message for creating or removing a delegate on Safe Transaction Service. + + :param cls: + :param delegate_address: + :return: generated str message + """ + totp = get_totp() + return delegate_address + str(totp) + + +def get_remove_transaction_message( + safe_address: ChecksumAddress, safe_tx_hash: bytes, chain_id: int +) -> Dict: + """ + Retrieves the required message for removing a not executed transaction on Safe Transaction Service. + + :param safe_address: + :param safe_tx_hash: + :param chain_id: + :return: generated EIP712 message + """ + remove_transaction_message = { + "types": { + "EIP712Domain": [ + {"name": "name", "type": "string"}, + {"name": "version", "type": "string"}, + {"name": "chainId", "type": "uint256"}, + {"name": "verifyingContract", "type": "address"}, + ], + "DeleteRequest": [ + {"name": "safeTxHash", "type": "bytes32"}, + {"name": "totp", "type": "uint256"}, + ], + }, + "primaryType": "DeleteRequest", + "domain": { + "name": "Safe Transaction Service", + "version": "1.0", + "chainId": chain_id, + "verifyingContract": safe_address, + }, + "message": { + "safeTxHash": safe_tx_hash, + "totp": get_totp(), + }, + } + return remove_transaction_message diff --git a/gnosis/safe/api/transaction_service_api/transaction_service_tx.py b/gnosis/safe/api/transaction_service_api/transaction_service_tx.py new file mode 100644 index 000000000..c2320b32e --- /dev/null +++ b/gnosis/safe/api/transaction_service_api/transaction_service_tx.py @@ -0,0 +1,9 @@ +from eth_typing import ChecksumAddress + +from gnosis.safe import SafeTx + + +class TransactionServiceTx(SafeTx): + def __init__(self, proposer: ChecksumAddress, *args, **kwargs): + super().__init__(*args, **kwargs) + self.proposer = proposer diff --git a/gnosis/safe/safe_deployments.py b/gnosis/safe/safe_deployments.py index 564b55bd0..fcacbb23c 100644 --- a/gnosis/safe/safe_deployments.py +++ b/gnosis/safe/safe_deployments.py @@ -1,144 +1,4 @@ safe_deployments = { - "1.2.0": { - "GnosisSafe": { - "1": "0x6851D6fDFAfD08c0295C392436245E5bc78B0185", - "4": "0x6851D6fDFAfD08c0295C392436245E5bc78B0185", - "5": "0x6851D6fDFAfD08c0295C392436245E5bc78B0185", - "42": "0x6851D6fDFAfD08c0295C392436245E5bc78B0185", - "88": "0x6851D6fDFAfD08c0295C392436245E5bc78B0185", - "100": "0x6851D6fDFAfD08c0295C392436245E5bc78B0185", - "246": "0x6851D6fDFAfD08c0295C392436245E5bc78B0185", - "73799": "0x6851D6fDFAfD08c0295C392436245E5bc78B0185", - } - }, - "1.4.1": { - "SafeL2": { - "1": "0x29fcB43b46531BcA003ddC8FCB67FFE91900C762", - "5": "0x29fcB43b46531BcA003ddC8FCB67FFE91900C762", - "56": "0x29fcB43b46531BcA003ddC8FCB67FFE91900C762", - "100": "0x29fcB43b46531BcA003ddC8FCB67FFE91900C762", - "137": "0x29fcB43b46531BcA003ddC8FCB67FFE91900C762", - "1442": "0x29fcB43b46531BcA003ddC8FCB67FFE91900C762", - "8194": "0x29fcB43b46531BcA003ddC8FCB67FFE91900C762", - "10243": "0x29fcB43b46531BcA003ddC8FCB67FFE91900C762", - "17000": "0x29fcB43b46531BcA003ddC8FCB67FFE91900C762", - "80001": "0x29fcB43b46531BcA003ddC8FCB67FFE91900C762", - "84531": "0x29fcB43b46531BcA003ddC8FCB67FFE91900C762", - "11155111": "0x29fcB43b46531BcA003ddC8FCB67FFE91900C762", - }, - "MultiSend": { - "1": "0x38869bf66a61cF6bDB996A6aE40D5853Fd43B526", - "5": "0x38869bf66a61cF6bDB996A6aE40D5853Fd43B526", - "56": "0x38869bf66a61cF6bDB996A6aE40D5853Fd43B526", - "100": "0x38869bf66a61cF6bDB996A6aE40D5853Fd43B526", - "137": "0x38869bf66a61cF6bDB996A6aE40D5853Fd43B526", - "1442": "0x38869bf66a61cF6bDB996A6aE40D5853Fd43B526", - "8194": "0x38869bf66a61cF6bDB996A6aE40D5853Fd43B526", - "10243": "0x38869bf66a61cF6bDB996A6aE40D5853Fd43B526", - "17000": "0x38869bf66a61cF6bDB996A6aE40D5853Fd43B526", - "80001": "0x38869bf66a61cF6bDB996A6aE40D5853Fd43B526", - "84531": "0x38869bf66a61cF6bDB996A6aE40D5853Fd43B526", - "11155111": "0x38869bf66a61cF6bDB996A6aE40D5853Fd43B526", - }, - "MultiSendCallOnly": { - "1": "0x9641d764fc13c8B624c04430C7356C1C7C8102e2", - "5": "0x9641d764fc13c8B624c04430C7356C1C7C8102e2", - "56": "0x9641d764fc13c8B624c04430C7356C1C7C8102e2", - "100": "0x9641d764fc13c8B624c04430C7356C1C7C8102e2", - "137": "0x9641d764fc13c8B624c04430C7356C1C7C8102e2", - "1442": "0x9641d764fc13c8B624c04430C7356C1C7C8102e2", - "8194": "0x9641d764fc13c8B624c04430C7356C1C7C8102e2", - "10243": "0x9641d764fc13c8B624c04430C7356C1C7C8102e2", - "17000": "0x9641d764fc13c8B624c04430C7356C1C7C8102e2", - "80001": "0x9641d764fc13c8B624c04430C7356C1C7C8102e2", - "84531": "0x9641d764fc13c8B624c04430C7356C1C7C8102e2", - "11155111": "0x9641d764fc13c8B624c04430C7356C1C7C8102e2", - }, - "Safe": { - "1": "0x41675C099F32341bf84BFc5382aF534df5C7461a", - "5": "0x41675C099F32341bf84BFc5382aF534df5C7461a", - "56": "0x41675C099F32341bf84BFc5382aF534df5C7461a", - "100": "0x41675C099F32341bf84BFc5382aF534df5C7461a", - "137": "0x41675C099F32341bf84BFc5382aF534df5C7461a", - "1442": "0x41675C099F32341bf84BFc5382aF534df5C7461a", - "8194": "0x41675C099F32341bf84BFc5382aF534df5C7461a", - "10243": "0x41675C099F32341bf84BFc5382aF534df5C7461a", - "17000": "0x41675C099F32341bf84BFc5382aF534df5C7461a", - "80001": "0x41675C099F32341bf84BFc5382aF534df5C7461a", - "84531": "0x41675C099F32341bf84BFc5382aF534df5C7461a", - "11155111": "0x41675C099F32341bf84BFc5382aF534df5C7461a", - }, - "SimulateTxAccessor": { - "1": "0x3d4BA2E0884aa488718476ca2FB8Efc291A46199", - "5": "0x3d4BA2E0884aa488718476ca2FB8Efc291A46199", - "56": "0x3d4BA2E0884aa488718476ca2FB8Efc291A46199", - "100": "0x3d4BA2E0884aa488718476ca2FB8Efc291A46199", - "137": "0x3d4BA2E0884aa488718476ca2FB8Efc291A46199", - "1442": "0x3d4BA2E0884aa488718476ca2FB8Efc291A46199", - "8194": "0x3d4BA2E0884aa488718476ca2FB8Efc291A46199", - "10243": "0x3d4BA2E0884aa488718476ca2FB8Efc291A46199", - "17000": "0x3d4BA2E0884aa488718476ca2FB8Efc291A46199", - "80001": "0x3d4BA2E0884aa488718476ca2FB8Efc291A46199", - "84531": "0x3d4BA2E0884aa488718476ca2FB8Efc291A46199", - "11155111": "0x3d4BA2E0884aa488718476ca2FB8Efc291A46199", - }, - "SafeProxyFactory": { - "1": "0x4e1DCf7AD4e460CfD30791CCC4F9c8a4f820ec67", - "5": "0x4e1DCf7AD4e460CfD30791CCC4F9c8a4f820ec67", - "56": "0x4e1DCf7AD4e460CfD30791CCC4F9c8a4f820ec67", - "100": "0x4e1DCf7AD4e460CfD30791CCC4F9c8a4f820ec67", - "137": "0x4e1DCf7AD4e460CfD30791CCC4F9c8a4f820ec67", - "1442": "0x4e1DCf7AD4e460CfD30791CCC4F9c8a4f820ec67", - "8194": "0x4e1DCf7AD4e460CfD30791CCC4F9c8a4f820ec67", - "10243": "0x4e1DCf7AD4e460CfD30791CCC4F9c8a4f820ec67", - "17000": "0x4e1DCf7AD4e460CfD30791CCC4F9c8a4f820ec67", - "80001": "0x4e1DCf7AD4e460CfD30791CCC4F9c8a4f820ec67", - "84531": "0x4e1DCf7AD4e460CfD30791CCC4F9c8a4f820ec67", - "11155111": "0x4e1DCf7AD4e460CfD30791CCC4F9c8a4f820ec67", - }, - "CreateCall": { - "1": "0x9b35Af71d77eaf8d7e40252370304687390A1A52", - "5": "0x9b35Af71d77eaf8d7e40252370304687390A1A52", - "56": "0x9b35Af71d77eaf8d7e40252370304687390A1A52", - "100": "0x9b35Af71d77eaf8d7e40252370304687390A1A52", - "137": "0x9b35Af71d77eaf8d7e40252370304687390A1A52", - "1442": "0x9b35Af71d77eaf8d7e40252370304687390A1A52", - "8194": "0x9b35Af71d77eaf8d7e40252370304687390A1A52", - "10243": "0x9b35Af71d77eaf8d7e40252370304687390A1A52", - "17000": "0x9b35Af71d77eaf8d7e40252370304687390A1A52", - "80001": "0x9b35Af71d77eaf8d7e40252370304687390A1A52", - "84531": "0x9b35Af71d77eaf8d7e40252370304687390A1A52", - "11155111": "0x9b35Af71d77eaf8d7e40252370304687390A1A52", - }, - "CompatibilityFallbackHandler": { - "1": "0xfd0732Dc9E303f09fCEf3a7388Ad10A83459Ec99", - "5": "0xfd0732Dc9E303f09fCEf3a7388Ad10A83459Ec99", - "56": "0xfd0732Dc9E303f09fCEf3a7388Ad10A83459Ec99", - "100": "0xfd0732Dc9E303f09fCEf3a7388Ad10A83459Ec99", - "137": "0xfd0732Dc9E303f09fCEf3a7388Ad10A83459Ec99", - "1442": "0xfd0732Dc9E303f09fCEf3a7388Ad10A83459Ec99", - "8194": "0xfd0732Dc9E303f09fCEf3a7388Ad10A83459Ec99", - "10243": "0xfd0732Dc9E303f09fCEf3a7388Ad10A83459Ec99", - "17000": "0xfd0732Dc9E303f09fCEf3a7388Ad10A83459Ec99", - "80001": "0xfd0732Dc9E303f09fCEf3a7388Ad10A83459Ec99", - "84531": "0xfd0732Dc9E303f09fCEf3a7388Ad10A83459Ec99", - "11155111": "0xfd0732Dc9E303f09fCEf3a7388Ad10A83459Ec99", - }, - "SignMessageLib": { - "1": "0xd53cd0aB83D845Ac265BE939c57F53AD838012c9", - "5": "0xd53cd0aB83D845Ac265BE939c57F53AD838012c9", - "56": "0xd53cd0aB83D845Ac265BE939c57F53AD838012c9", - "100": "0xd53cd0aB83D845Ac265BE939c57F53AD838012c9", - "137": "0xd53cd0aB83D845Ac265BE939c57F53AD838012c9", - "1442": "0xd53cd0aB83D845Ac265BE939c57F53AD838012c9", - "8194": "0xd53cd0aB83D845Ac265BE939c57F53AD838012c9", - "10243": "0xd53cd0aB83D845Ac265BE939c57F53AD838012c9", - "17000": "0xd53cd0aB83D845Ac265BE939c57F53AD838012c9", - "80001": "0xd53cd0aB83D845Ac265BE939c57F53AD838012c9", - "84531": "0xd53cd0aB83D845Ac265BE939c57F53AD838012c9", - "11155111": "0xd53cd0aB83D845Ac265BE939c57F53AD838012c9", - }, - }, "1.0.0": { "GnosisSafe": { "1": "0xb6029EA3B2c51D09a50B53CA8012FeEB05bDa35A", @@ -156,26 +16,6 @@ }, }, "1.1.1": { - "DefaultCallbackHandler": { - "1": "0xd5D82B6aDDc9027B22dCA772Aa68D5d74cdBdF44", - "4": "0xd5D82B6aDDc9027B22dCA772Aa68D5d74cdBdF44", - "5": "0xd5D82B6aDDc9027B22dCA772Aa68D5d74cdBdF44", - "42": "0xd5D82B6aDDc9027B22dCA772Aa68D5d74cdBdF44", - "88": "0xd5D82B6aDDc9027B22dCA772Aa68D5d74cdBdF44", - "100": "0xd5D82B6aDDc9027B22dCA772Aa68D5d74cdBdF44", - "246": "0xd5D82B6aDDc9027B22dCA772Aa68D5d74cdBdF44", - "73799": "0xd5D82B6aDDc9027B22dCA772Aa68D5d74cdBdF44", - }, - "MultiSend": { - "1": "0x8D29bE29923b68abfDD21e541b9374737B49cdAD", - "4": "0x8D29bE29923b68abfDD21e541b9374737B49cdAD", - "5": "0x8D29bE29923b68abfDD21e541b9374737B49cdAD", - "42": "0x8D29bE29923b68abfDD21e541b9374737B49cdAD", - "88": "0x8D29bE29923b68abfDD21e541b9374737B49cdAD", - "100": "0x8D29bE29923b68abfDD21e541b9374737B49cdAD", - "246": "0x8D29bE29923b68abfDD21e541b9374737B49cdAD", - "73799": "0x8D29bE29923b68abfDD21e541b9374737B49cdAD", - }, "CreateAndAddModules": { "1": "0xF61A721642B0c0C8b334bA3763BA1326F53798C0", "4": "0xF61A721642B0c0C8b334bA3763BA1326F53798C0", @@ -186,6 +26,26 @@ "246": "0xF61A721642B0c0C8b334bA3763BA1326F53798C0", "73799": "0xF61A721642B0c0C8b334bA3763BA1326F53798C0", }, + "CreateCall": { + "1": "0x8538fcbccba7f5303d2c679fa5d7a629a8c9bf4a", + "4": "0x8538fcbccba7f5303d2c679fa5d7a629a8c9bf4a", + "5": "0x8538fcbccba7f5303d2c679fa5d7a629a8c9bf4a", + "42": "0x8538fcbccba7f5303d2c679fa5d7a629a8c9bf4a", + "88": "0x8538fcbccba7f5303d2c679fa5d7a629a8c9bf4a", + "100": "0x8538fcbccba7f5303d2c679fa5d7a629a8c9bf4a", + "246": "0x8538fcbccba7f5303d2c679fa5d7a629a8c9bf4a", + "73799": "0x8538fcbccba7f5303d2c679fa5d7a629a8c9bf4a", + }, + "DefaultCallbackHandler": { + "1": "0xd5D82B6aDDc9027B22dCA772Aa68D5d74cdBdF44", + "4": "0xd5D82B6aDDc9027B22dCA772Aa68D5d74cdBdF44", + "5": "0xd5D82B6aDDc9027B22dCA772Aa68D5d74cdBdF44", + "42": "0xd5D82B6aDDc9027B22dCA772Aa68D5d74cdBdF44", + "88": "0xd5D82B6aDDc9027B22dCA772Aa68D5d74cdBdF44", + "100": "0xd5D82B6aDDc9027B22dCA772Aa68D5d74cdBdF44", + "246": "0xd5D82B6aDDc9027B22dCA772Aa68D5d74cdBdF44", + "73799": "0xd5D82B6aDDc9027B22dCA772Aa68D5d74cdBdF44", + }, "GnosisSafe": { "1": "0x34CfAC646f301356fAa8B21e94227e3583Fe3F5F", "4": "0x34CfAC646f301356fAa8B21e94227e3583Fe3F5F", @@ -196,6 +56,16 @@ "246": "0x34CfAC646f301356fAa8B21e94227e3583Fe3F5F", "73799": "0x34CfAC646f301356fAa8B21e94227e3583Fe3F5F", }, + "MultiSend": { + "1": "0x8D29bE29923b68abfDD21e541b9374737B49cdAD", + "4": "0x8D29bE29923b68abfDD21e541b9374737B49cdAD", + "5": "0x8D29bE29923b68abfDD21e541b9374737B49cdAD", + "42": "0x8D29bE29923b68abfDD21e541b9374737B49cdAD", + "88": "0x8D29bE29923b68abfDD21e541b9374737B49cdAD", + "100": "0x8D29bE29923b68abfDD21e541b9374737B49cdAD", + "246": "0x8D29bE29923b68abfDD21e541b9374737B49cdAD", + "73799": "0x8D29bE29923b68abfDD21e541b9374737B49cdAD", + }, "ProxyFactory": { "1": "0x76E2cFc1F5Fa8F6a5b3fC4c8F4788F0116861F9B", "4": "0x76E2cFc1F5Fa8F6a5b3fC4c8F4788F0116861F9B", @@ -206,495 +76,534 @@ "246": "0x76E2cFc1F5Fa8F6a5b3fC4c8F4788F0116861F9B", "73799": "0x76E2cFc1F5Fa8F6a5b3fC4c8F4788F0116861F9B", }, - "CreateCall": { - "1": "0x8538fcbccba7f5303d2c679fa5d7a629a8c9bf4a", - "4": "0x8538fcbccba7f5303d2c679fa5d7a629a8c9bf4a", - "5": "0x8538fcbccba7f5303d2c679fa5d7a629a8c9bf4a", - "42": "0x8538fcbccba7f5303d2c679fa5d7a629a8c9bf4a", - "88": "0x8538fcbccba7f5303d2c679fa5d7a629a8c9bf4a", - "100": "0x8538fcbccba7f5303d2c679fa5d7a629a8c9bf4a", - "246": "0x8538fcbccba7f5303d2c679fa5d7a629a8c9bf4a", - "73799": "0x8538fcbccba7f5303d2c679fa5d7a629a8c9bf4a", - }, + }, + "1.2.0": { + "GnosisSafe": { + "1": "0x6851D6fDFAfD08c0295C392436245E5bc78B0185", + "4": "0x6851D6fDFAfD08c0295C392436245E5bc78B0185", + "5": "0x6851D6fDFAfD08c0295C392436245E5bc78B0185", + "42": "0x6851D6fDFAfD08c0295C392436245E5bc78B0185", + "88": "0x6851D6fDFAfD08c0295C392436245E5bc78B0185", + "100": "0x6851D6fDFAfD08c0295C392436245E5bc78B0185", + "246": "0x6851D6fDFAfD08c0295C392436245E5bc78B0185", + "73799": "0x6851D6fDFAfD08c0295C392436245E5bc78B0185", + } }, "1.3.0": { - "MultiSend": { - "1": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", - "3": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", - "4": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", - "5": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", - "10": "0x998739BFdAAdde7C933B942a68053933098f9EDa", - "11": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", - "12": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", - "18": "0x998739BFdAAdde7C933B942a68053933098f9EDa", - "25": "0x998739BFdAAdde7C933B942a68053933098f9EDa", - "28": "0x998739BFdAAdde7C933B942a68053933098f9EDa", - "30": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", - "31": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", - "39": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", - "40": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", - "41": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", - "42": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", - "44": "0x998739BFdAAdde7C933B942a68053933098f9EDa", - "46": "0x998739BFdAAdde7C933B942a68053933098f9EDa", - "50": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", - "51": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", - "56": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", - "57": "0x998739BFdAAdde7C933B942a68053933098f9EDa", - "61": "0x998739BFdAAdde7C933B942a68053933098f9EDa", - "63": "0x998739BFdAAdde7C933B942a68053933098f9EDa", - "69": "0x998739BFdAAdde7C933B942a68053933098f9EDa", - "81": "0x998739BFdAAdde7C933B942a68053933098f9EDa", - "82": "0x998739BFdAAdde7C933B942a68053933098f9EDa", - "83": "0x998739BFdAAdde7C933B942a68053933098f9EDa", - "97": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", - "100": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", - "106": "0x998739BFdAAdde7C933B942a68053933098f9EDa", - "108": "0x998739BFdAAdde7C933B942a68053933098f9EDa", - "111": "0x998739BFdAAdde7C933B942a68053933098f9EDa", - "122": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", - "123": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", - "137": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", - "148": "0x998739BFdAAdde7C933B942a68053933098f9EDa", - "155": "0x998739BFdAAdde7C933B942a68053933098f9EDa", - "246": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", - "250": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", - "280": "0x0dFcccB95225ffB03c6FBB2559B530C2B7C8A912", - "288": "0x998739BFdAAdde7C933B942a68053933098f9EDa", - "291": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", - "300": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", - "321": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", - "322": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", - "324": "0x0dFcccB95225ffB03c6FBB2559B530C2B7C8A912", - "336": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", - "338": "0x998739BFdAAdde7C933B942a68053933098f9EDa", - "420": "0x998739BFdAAdde7C933B942a68053933098f9EDa", - "424": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", - "570": "0x998739BFdAAdde7C933B942a68053933098f9EDa", - "588": "0x998739BFdAAdde7C933B942a68053933098f9EDa", - "592": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", - "595": "0x998739BFdAAdde7C933B942a68053933098f9EDa", - "599": "0x998739BFdAAdde7C933B942a68053933098f9EDa", - "686": "0x998739BFdAAdde7C933B942a68053933098f9EDa", - "787": "0x998739BFdAAdde7C933B942a68053933098f9EDa", - "1001": "0x998739BFdAAdde7C933B942a68053933098f9EDa", - "1008": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", - "1088": "0x998739BFdAAdde7C933B942a68053933098f9EDa", - "1101": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", - "1111": "0x998739BFdAAdde7C933B942a68053933098f9EDa", - "1112": "0x998739BFdAAdde7C933B942a68053933098f9EDa", - "1115": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", - "1116": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", - "1230": "0x998739BFdAAdde7C933B942a68053933098f9EDa", - "1231": "0x998739BFdAAdde7C933B942a68053933098f9EDa", - "1284": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", - "1285": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", - "1287": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", - "1294": "0x998739BFdAAdde7C933B942a68053933098f9EDa", - "1442": "0x998739BFdAAdde7C933B942a68053933098f9EDa", - "1559": "0x998739BFdAAdde7C933B942a68053933098f9EDa", - "1807": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", - "1890": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", - "1891": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", - "1984": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", - "2001": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", - "2002": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", - "2008": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", - "2019": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", - "2020": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", - "2021": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", - "2221": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", - "2222": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", - "3737": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", - "4002": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", - "4460": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", - "4689": "0x998739BFdAAdde7C933B942a68053933098f9EDa", - "4918": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", - "4919": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", - "5000": "0x998739BFdAAdde7C933B942a68053933098f9EDa", - "5001": "0x998739BFdAAdde7C933B942a68053933098f9EDa", - "5700": "0x998739BFdAAdde7C933B942a68053933098f9EDa", - "6102": "0x998739BFdAAdde7C933B942a68053933098f9EDa", - "7001": "0x998739BFdAAdde7C933B942a68053933098f9EDa", - "7341": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", - "7700": "0x998739BFdAAdde7C933B942a68053933098f9EDa", - "8217": "0x998739BFdAAdde7C933B942a68053933098f9EDa", - "8453": "0x998739BFdAAdde7C933B942a68053933098f9EDa", - "9000": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", - "9001": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", - "9728": "0x998739BFdAAdde7C933B942a68053933098f9EDa", - "10000": "0x998739BFdAAdde7C933B942a68053933098f9EDa", - "10001": "0x998739BFdAAdde7C933B942a68053933098f9EDa", - "10081": "0x998739BFdAAdde7C933B942a68053933098f9EDa", - "10200": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", - "10243": "0x998739BFdAAdde7C933B942a68053933098f9EDa", - "11235": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", - "11437": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", - "11891": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", - "12357": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", - "17000": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", - "23294": "0x998739BFdAAdde7C933B942a68053933098f9EDa", - "23295": "0x998739BFdAAdde7C933B942a68053933098f9EDa", - "42161": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", - "42170": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", - "42220": "0x998739BFdAAdde7C933B942a68053933098f9EDa", - "43113": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", - "43114": "0x998739BFdAAdde7C933B942a68053933098f9EDa", - "43288": "0x998739BFdAAdde7C933B942a68053933098f9EDa", - "44787": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", - "45000": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", - "47805": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", - "54211": "0x998739BFdAAdde7C933B942a68053933098f9EDa", - "56288": "0x998739BFdAAdde7C933B942a68053933098f9EDa", - "57000": "0x998739BFdAAdde7C933B942a68053933098f9EDa", - "58008": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", - "59140": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", - "59144": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", - "71401": "0x998739BFdAAdde7C933B942a68053933098f9EDa", - "71402": "0x998739BFdAAdde7C933B942a68053933098f9EDa", - "73799": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", - "80001": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", - "84531": "0x998739BFdAAdde7C933B942a68053933098f9EDa", - "200101": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", - "200202": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", - "333999": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", - "421611": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", - "421613": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", - "421614": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", - "534351": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", - "534352": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", - "534353": "0x998739BFdAAdde7C933B942a68053933098f9EDa", - "622277": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", - "7777777": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", - "11155111": "0x998739BFdAAdde7C933B942a68053933098f9EDa", - "245022926": "0x998739BFdAAdde7C933B942a68053933098f9EDa", - "245022934": "0x998739BFdAAdde7C933B942a68053933098f9EDa", - "222000222": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", - "333000333": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", - "1313161554": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", - "1313161555": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", - "1666600000": "0x998739BFdAAdde7C933B942a68053933098f9EDa", - "1666700000": "0x998739BFdAAdde7C933B942a68053933098f9EDa", - "11297108099": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", - "11297108109": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "CompatibilityFallbackHandler": { + "1": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "3": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "4": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "5": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "10": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", + "11": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "12": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "18": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", + "25": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", + "28": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", + "30": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "31": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "39": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "40": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "41": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "42": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "44": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", + "46": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", + "50": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "51": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "56": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "57": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", + "61": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", + "63": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", + "69": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", + "71": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "81": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", + "82": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", + "83": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", + "97": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "100": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "106": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", + "108": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", + "111": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", + "122": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "123": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "137": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "148": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", + "155": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", + "169": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "204": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", + "246": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "250": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "255": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", + "280": "0x2f870a80647BbC554F3a0EBD093f11B4d2a7492A", + "288": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", + "291": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "300": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "321": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "322": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "324": "0x2f870a80647BbC554F3a0EBD093f11B4d2a7492A", + "336": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "338": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", + "420": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", + "424": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "570": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", + "588": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", + "592": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "595": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", + "599": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", + "686": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", + "787": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", + "1001": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", + "1008": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "1088": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", + "1030": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "1101": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "1111": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", + "1112": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", + "1115": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "1116": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "1230": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", + "1231": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", + "1284": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "1285": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "1287": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "1294": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", + "1442": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", + "1559": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", + "1663": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", + "1807": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "1890": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "1891": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "1984": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "2001": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "2002": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "2008": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "2019": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "2020": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "2021": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "2221": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "2222": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "2358": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", + "3737": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "4002": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "4337": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "4460": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "4689": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", + "4918": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "4919": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "5000": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", + "5001": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", + "5700": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", + "6102": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", + "7001": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", + "7332": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", + "7341": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "7700": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", + "8217": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", + "8453": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", + "84532": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", + "9000": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "9001": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "9728": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", + "10000": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", + "10001": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", + "10081": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", + "10200": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "10243": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", + "11235": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "11437": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "11891": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "12357": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "13337": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "17000": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "23294": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", + "23295": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", + "34443": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "42161": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "42170": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "42220": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", + "43113": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "43114": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", + "43288": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", + "44787": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "45000": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "47805": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "54211": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", + "56288": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", + "57000": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", + "58008": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "59140": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "59144": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "71401": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", + "71402": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", + "73799": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "80001": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "84531": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", + "200101": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "200202": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "333999": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "421611": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "421613": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "421614": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "534351": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "534352": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "534353": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", + "622277": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "7777777": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "11155111": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", + "245022926": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", + "245022934": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", + "222000222": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "333000333": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "1313161554": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "1313161555": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "1666600000": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", + "1666700000": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", + "11297108099": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "11297108109": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", }, - "MultiSendCallOnly": { - "1": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", - "3": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", - "4": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", - "5": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", - "10": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", - "11": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", - "12": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", - "18": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", - "25": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", - "28": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", - "30": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", - "31": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", - "39": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", - "40": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", - "41": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", - "42": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", - "44": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", - "46": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", - "50": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", - "51": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", - "56": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", - "57": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", - "61": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", - "63": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", - "69": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", - "81": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", - "82": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", - "83": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", - "97": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", - "100": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", - "106": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", - "108": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", - "111": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", - "122": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", - "123": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", - "137": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", - "148": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", - "155": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", - "246": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", - "250": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", - "280": "0xf220D3b4DFb23C4ade8C88E526C1353AbAcbC38F", - "288": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", - "291": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", - "300": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", - "321": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", - "322": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", - "324": "0xf220D3b4DFb23C4ade8C88E526C1353AbAcbC38F", - "336": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", - "338": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", - "420": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", - "424": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", - "570": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", - "588": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", - "592": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", - "595": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", - "599": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", - "686": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", - "787": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", - "1001": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", - "1008": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", - "1088": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", - "1101": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", - "1111": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", - "1112": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", - "1115": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", - "1116": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", - "1230": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", - "1231": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", - "1284": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", - "1285": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", - "1287": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", - "1294": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", - "1442": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", - "1559": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", - "1807": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", - "1890": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", - "1891": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", - "1984": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", - "2001": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", - "2002": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", - "2008": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", - "2019": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", - "2020": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", - "2021": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", - "2221": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", - "2222": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", - "3737": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", - "4002": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", - "4460": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", - "4689": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", - "4918": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", - "4919": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", - "5000": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", - "5001": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", - "5700": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", - "6102": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", - "7001": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", - "7341": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", - "7700": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", - "8217": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", - "8453": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", - "9000": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", - "9001": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", - "9728": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", - "10000": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", - "10001": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", - "10081": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", - "10200": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", - "10243": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", - "11235": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", - "11437": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", - "11891": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", - "12357": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", - "17000": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", - "23294": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", - "23295": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", - "42161": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", - "42170": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", - "42220": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", - "43113": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", - "43114": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", - "43288": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", - "44787": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", - "45000": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", - "47805": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", - "54211": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", - "56288": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", - "57000": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", - "58008": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", - "59140": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", - "59144": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", - "71401": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", - "71402": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", - "73799": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", - "80001": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", - "84531": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", - "200101": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", - "200202": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", - "333999": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", - "421611": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", - "421613": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", - "421614": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", - "534351": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", - "534352": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", - "534353": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", - "622277": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", - "11155111": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", - "7777777": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", - "245022926": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", - "245022934": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", - "222000222": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", - "333000333": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", - "1313161554": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", - "1313161555": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", - "1666600000": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", - "1666700000": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", - "11297108099": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", - "11297108109": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "CreateCall": { + "1": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "3": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "4": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "5": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "10": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", + "11": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "12": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "18": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", + "25": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", + "28": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", + "30": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "31": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "39": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "40": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "41": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "42": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "44": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", + "46": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", + "50": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "51": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "56": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "57": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", + "61": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", + "63": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", + "69": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", + "71": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "81": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", + "82": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", + "83": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", + "97": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "100": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "106": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", + "108": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", + "111": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", + "122": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "123": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "137": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "148": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", + "155": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", + "169": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "204": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", + "246": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "250": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "255": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", + "280": "0xcB8e5E438c5c2b45FbE17B02Ca9aF91509a8ad56", + "288": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", + "300": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "321": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "322": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "324": "0xcB8e5E438c5c2b45FbE17B02Ca9aF91509a8ad56", + "336": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "338": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", + "420": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", + "424": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "570": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", + "588": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", + "592": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "595": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", + "599": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", + "686": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", + "787": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", + "1001": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", + "1008": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "1030": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "1088": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", + "1101": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "1111": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", + "1112": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", + "1115": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "1116": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "1230": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", + "1231": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", + "1284": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "1285": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "1287": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "1294": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", + "1442": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", + "1559": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", + "1663": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", + "1807": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "1890": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "1891": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "1984": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "2001": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "2002": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "2008": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "2019": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "2020": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "2021": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "2221": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "2222": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "2358": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", + "3737": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "4460": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "4002": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "4337": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "4689": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", + "4918": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "4919": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "5000": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", + "5001": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", + "5700": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", + "6102": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", + "7001": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", + "7332": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", + "7341": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "7700": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", + "8217": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", + "8453": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", + "84532": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", + "9000": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "9001": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "9728": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", + "10000": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", + "10001": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", + "10081": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", + "10200": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "10243": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", + "11235": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "11437": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "11891": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "12357": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "13337": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "17000": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "23294": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", + "23295": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", + "34443": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "42161": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "42170": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "42220": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", + "43113": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "43114": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", + "43288": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", + "44787": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "45000": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "47805": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "54211": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", + "56288": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", + "57000": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", + "58008": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "59140": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "59144": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "71401": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", + "71402": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", + "73799": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "80001": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "84531": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", + "200101": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "200202": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "333999": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "421611": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "421613": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "421614": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "534351": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "534352": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "534353": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", + "622277": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "7777777": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "11155111": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", + "245022926": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", + "245022934": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", + "222000222": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "333000333": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "1313161554": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "1313161555": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "1666600000": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", + "1666700000": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", + "11297108099": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "11297108109": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", }, - "SimulateTxAccessor": { - "1": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", - "3": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", - "4": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", - "5": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", - "10": "0x727a77a074D1E6c4530e814F89E618a3298FC044", - "11": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", - "12": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", - "18": "0x727a77a074D1E6c4530e814F89E618a3298FC044", - "25": "0x727a77a074D1E6c4530e814F89E618a3298FC044", - "28": "0x727a77a074D1E6c4530e814F89E618a3298FC044", - "30": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", - "31": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", - "39": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", - "40": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", - "41": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", - "42": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", - "44": "0x727a77a074D1E6c4530e814F89E618a3298FC044", - "46": "0x727a77a074D1E6c4530e814F89E618a3298FC044", - "50": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", - "51": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", - "56": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", - "57": "0x727a77a074D1E6c4530e814F89E618a3298FC044", - "61": "0x727a77a074D1E6c4530e814F89E618a3298FC044", - "63": "0x727a77a074D1E6c4530e814F89E618a3298FC044", - "69": "0x727a77a074D1E6c4530e814F89E618a3298FC044", - "81": "0x727a77a074D1E6c4530e814F89E618a3298FC044", - "82": "0x727a77a074D1E6c4530e814F89E618a3298FC044", - "83": "0x727a77a074D1E6c4530e814F89E618a3298FC044", - "97": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", - "100": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", - "106": "0x727a77a074D1E6c4530e814F89E618a3298FC044", - "108": "0x727a77a074D1E6c4530e814F89E618a3298FC044", - "111": "0x727a77a074D1E6c4530e814F89E618a3298FC044", - "122": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", - "123": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", - "137": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", - "148": "0x727a77a074D1E6c4530e814F89E618a3298FC044", - "155": "0x727a77a074D1E6c4530e814F89E618a3298FC044", - "246": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", - "250": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", - "280": "0x4191E2e12E8BC5002424CE0c51f9947b02675a44", - "288": "0x727a77a074D1E6c4530e814F89E618a3298FC044", - "291": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", - "300": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", - "321": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", - "322": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", - "324": "0x4191E2e12E8BC5002424CE0c51f9947b02675a44", - "336": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", - "338": "0x727a77a074D1E6c4530e814F89E618a3298FC044", - "420": "0x727a77a074D1E6c4530e814F89E618a3298FC044", - "570": "0x727a77a074D1E6c4530e814F89E618a3298FC044", - "588": "0x727a77a074D1E6c4530e814F89E618a3298FC044", - "592": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", - "595": "0x727a77a074D1E6c4530e814F89E618a3298FC044", - "599": "0x727a77a074D1E6c4530e814F89E618a3298FC044", - "686": "0x727a77a074D1E6c4530e814F89E618a3298FC044", - "787": "0x727a77a074D1E6c4530e814F89E618a3298FC044", - "1001": "0x727a77a074D1E6c4530e814F89E618a3298FC044", - "1008": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", - "1088": "0x727a77a074D1E6c4530e814F89E618a3298FC044", - "1101": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", - "1111": "0x727a77a074D1E6c4530e814F89E618a3298FC044", - "1112": "0x727a77a074D1E6c4530e814F89E618a3298FC044", - "1115": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", - "1116": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", - "1230": "0x727a77a074D1E6c4530e814F89E618a3298FC044", - "1231": "0x727a77a074D1E6c4530e814F89E618a3298FC044", - "1284": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", - "1285": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", - "1287": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", - "1294": "0x727a77a074D1E6c4530e814F89E618a3298FC044", - "1442": "0x727a77a074D1E6c4530e814F89E618a3298FC044", - "1559": "0x727a77a074D1E6c4530e814F89E618a3298FC044", - "1807": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", - "1890": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", - "1891": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", - "1984": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", - "2001": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", - "2002": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", - "2008": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", - "2019": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", - "2020": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", - "2021": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", - "2221": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", - "2222": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", - "3737": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", - "4002": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", - "4460": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", - "4689": "0x727a77a074D1E6c4530e814F89E618a3298FC044", - "4918": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", - "4919": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", - "5000": "0x727a77a074D1E6c4530e814F89E618a3298FC044", - "5001": "0x727a77a074D1E6c4530e814F89E618a3298FC044", - "5700": "0x727a77a074D1E6c4530e814F89E618a3298FC044", - "6102": "0x727a77a074D1E6c4530e814F89E618a3298FC044", - "7001": "0x727a77a074D1E6c4530e814F89E618a3298FC044", - "7341": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", - "7700": "0x727a77a074D1E6c4530e814F89E618a3298FC044", - "8217": "0x727a77a074D1E6c4530e814F89E618a3298FC044", - "8453": "0x727a77a074D1E6c4530e814F89E618a3298FC044", - "9000": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", - "9001": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", - "9728": "0x727a77a074D1E6c4530e814F89E618a3298FC044", - "10000": "0x727a77a074D1E6c4530e814F89E618a3298FC044", - "10001": "0x727a77a074D1E6c4530e814F89E618a3298FC044", - "10081": "0x727a77a074D1E6c4530e814F89E618a3298FC044", - "10200": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", - "10243": "0x727a77a074D1E6c4530e814F89E618a3298FC044", - "11235": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", - "11437": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", - "11891": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", - "12357": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", - "17000": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", - "23294": "0x727a77a074D1E6c4530e814F89E618a3298FC044", - "23295": "0x727a77a074D1E6c4530e814F89E618a3298FC044", - "42161": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", - "42170": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", - "42220": "0x727a77a074D1E6c4530e814F89E618a3298FC044", - "43113": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", - "43114": "0x727a77a074D1E6c4530e814F89E618a3298FC044", - "43288": "0x727a77a074D1E6c4530e814F89E618a3298FC044", - "44787": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", - "45000": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", - "47805": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", - "54211": "0x727a77a074D1E6c4530e814F89E618a3298FC044", - "56288": "0x727a77a074D1E6c4530e814F89E618a3298FC044", - "57000": "0x727a77a074D1E6c4530e814F89E618a3298FC044", - "59140": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", - "59144": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", - "71401": "0x727a77a074D1E6c4530e814F89E618a3298FC044", - "71402": "0x727a77a074D1E6c4530e814F89E618a3298FC044", - "73799": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", - "80001": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", - "84531": "0x727a77a074D1E6c4530e814F89E618a3298FC044", - "200101": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", - "200202": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", - "333999": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", - "421611": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", - "421613": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", - "421614": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", - "534351": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", - "534352": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", - "534353": "0x727a77a074D1E6c4530e814F89E618a3298FC044", - "622277": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", - "7777777": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", - "11155111": "0x727a77a074D1E6c4530e814F89E618a3298FC044", - "245022926": "0x727a77a074D1E6c4530e814F89E618a3298FC044", - "245022934": "0x727a77a074D1E6c4530e814F89E618a3298FC044", - "222000222": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", - "333000333": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", - "1313161554": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", - "1313161555": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", - "1666600000": "0x727a77a074D1E6c4530e814F89E618a3298FC044", - "1666700000": "0x727a77a074D1E6c4530e814F89E618a3298FC044", - "11297108099": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", - "11297108109": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "GnosisSafe": { + "1": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "3": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "4": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "5": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "10": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", + "11": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "12": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "18": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", + "25": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", + "28": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", + "30": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "31": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "39": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "40": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "41": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "42": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "44": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", + "46": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", + "50": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "51": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "56": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "57": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", + "61": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", + "63": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", + "69": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", + "71": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "81": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", + "82": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", + "83": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", + "97": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "100": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "106": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", + "108": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", + "111": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", + "122": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "123": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "137": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "148": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", + "155": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", + "169": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "204": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", + "246": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "250": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "255": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", + "280": "0xB00ce5CCcdEf57e539ddcEd01DF43a13855d9910", + "288": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", + "291": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "300": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "321": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "322": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "324": "0xB00ce5CCcdEf57e539ddcEd01DF43a13855d9910", + "336": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "338": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", + "420": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", + "424": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "570": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", + "588": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", + "592": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "595": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", + "599": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", + "686": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", + "787": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", + "1001": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", + "1008": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "1030": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "1088": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", + "1101": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "1111": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", + "1112": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", + "1115": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "1116": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "1230": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", + "1231": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", + "1284": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "1285": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "1287": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "1294": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", + "1442": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", + "1559": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", + "1663": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", + "1807": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "1890": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "1891": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "1984": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "2001": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "2002": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "2008": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "2019": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "2020": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "2021": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "2221": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "2222": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "2358": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", + "3737": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "4002": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "4337": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "4460": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "4689": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", + "4918": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "4919": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "5000": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", + "5001": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", + "5700": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", + "58008": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "6102": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", + "7001": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", + "7332": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", + "7341": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "7700": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", + "8217": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", + "8453": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", + "84532": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", + "9000": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "9001": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "9728": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", + "10000": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", + "10001": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", + "10081": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", + "10200": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "10243": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", + "11235": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "11437": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "11891": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "12357": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "13337": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "17000": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "23294": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", + "23295": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", + "34443": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "42161": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "42170": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "42220": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", + "43113": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "43114": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", + "43288": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", + "44787": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "45000": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "47805": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "54211": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", + "56288": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", + "57000": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", + "59140": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "59144": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "71401": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", + "71402": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", + "73799": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "80001": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "84531": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", + "200101": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "200202": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "333999": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "421611": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "421613": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "421614": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "534351": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "534352": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "534353": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", + "622277": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "11155111": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", + "7777777": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "245022926": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", + "245022934": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", + "222000222": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "333000333": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "1313161554": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "1313161555": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "1666600000": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", + "1666700000": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", + "11297108099": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "11297108109": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", }, "GnosisSafeL2": { "1": "0x3E5c63644E683549055b9Be8653de26E0B4CD36E", @@ -722,6 +631,7 @@ "61": "0xfb1bffC9d739B8D520DaF37dF666da4C687191EA", "63": "0xfb1bffC9d739B8D520DaF37dF666da4C687191EA", "69": "0xfb1bffC9d739B8D520DaF37dF666da4C687191EA", + "71": "0x3E5c63644E683549055b9Be8653de26E0B4CD36E", "81": "0xfb1bffC9d739B8D520DaF37dF666da4C687191EA", "82": "0xfb1bffC9d739B8D520DaF37dF666da4C687191EA", "83": "0xfb1bffC9d739B8D520DaF37dF666da4C687191EA", @@ -735,8 +645,11 @@ "137": "0x3E5c63644E683549055b9Be8653de26E0B4CD36E", "148": "0xfb1bffC9d739B8D520DaF37dF666da4C687191EA", "155": "0xfb1bffC9d739B8D520DaF37dF666da4C687191EA", + "169": "0x3E5c63644E683549055b9Be8653de26E0B4CD36E", + "204": "0xfb1bffC9d739B8D520DaF37dF666da4C687191EA", "246": "0x3E5c63644E683549055b9Be8653de26E0B4CD36E", "250": "0x3E5c63644E683549055b9Be8653de26E0B4CD36E", + "255": "0xfb1bffC9d739B8D520DaF37dF666da4C687191EA", "280": "0x1727c2c531cf966f902E5927b98490fDFb3b2b70", "288": "0xfb1bffC9d739B8D520DaF37dF666da4C687191EA", "291": "0x3E5c63644E683549055b9Be8653de26E0B4CD36E", @@ -757,6 +670,7 @@ "787": "0xfb1bffC9d739B8D520DaF37dF666da4C687191EA", "1001": "0xfb1bffC9d739B8D520DaF37dF666da4C687191EA", "1008": "0x3E5c63644E683549055b9Be8653de26E0B4CD36E", + "1030": "0x3E5c63644E683549055b9Be8653de26E0B4CD36E", "1088": "0xfb1bffC9d739B8D520DaF37dF666da4C687191EA", "1101": "0x3E5c63644E683549055b9Be8653de26E0B4CD36E", "1111": "0xfb1bffC9d739B8D520DaF37dF666da4C687191EA", @@ -771,6 +685,7 @@ "1294": "0xfb1bffC9d739B8D520DaF37dF666da4C687191EA", "1442": "0xfb1bffC9d739B8D520DaF37dF666da4C687191EA", "1559": "0xfb1bffC9d739B8D520DaF37dF666da4C687191EA", + "1663": "0xfb1bffC9d739B8D520DaF37dF666da4C687191EA", "1807": "0x3E5c63644E683549055b9Be8653de26E0B4CD36E", "1890": "0x3E5c63644E683549055b9Be8653de26E0B4CD36E", "1891": "0x3E5c63644E683549055b9Be8653de26E0B4CD36E", @@ -783,8 +698,10 @@ "2021": "0x3E5c63644E683549055b9Be8653de26E0B4CD36E", "2221": "0x3E5c63644E683549055b9Be8653de26E0B4CD36E", "2222": "0x3E5c63644E683549055b9Be8653de26E0B4CD36E", + "2358": "0xfb1bffC9d739B8D520DaF37dF666da4C687191EA", "3737": "0x3E5c63644E683549055b9Be8653de26E0B4CD36E", "4002": "0x3E5c63644E683549055b9Be8653de26E0B4CD36E", + "4337": "0x3E5c63644E683549055b9Be8653de26E0B4CD36E", "4460": "0x3E5c63644E683549055b9Be8653de26E0B4CD36E", "4689": "0xfb1bffC9d739B8D520DaF37dF666da4C687191EA", "4918": "0x3E5c63644E683549055b9Be8653de26E0B4CD36E", @@ -794,10 +711,12 @@ "5700": "0xfb1bffC9d739B8D520DaF37dF666da4C687191EA", "6102": "0xfb1bffC9d739B8D520DaF37dF666da4C687191EA", "7001": "0xfb1bffC9d739B8D520DaF37dF666da4C687191EA", + "7332": "0xfb1bffC9d739B8D520DaF37dF666da4C687191EA", "7341": "0x3E5c63644E683549055b9Be8653de26E0B4CD36E", "7700": "0xfb1bffC9d739B8D520DaF37dF666da4C687191EA", "8217": "0xfb1bffC9d739B8D520DaF37dF666da4C687191EA", "8453": "0xfb1bffC9d739B8D520DaF37dF666da4C687191EA", + "84532": "0xfb1bffC9d739B8D520DaF37dF666da4C687191EA", "9000": "0x3E5c63644E683549055b9Be8653de26E0B4CD36E", "9001": "0x3E5c63644E683549055b9Be8653de26E0B4CD36E", "9728": "0xfb1bffC9d739B8D520DaF37dF666da4C687191EA", @@ -810,9 +729,11 @@ "11437": "0x3E5c63644E683549055b9Be8653de26E0B4CD36E", "11891": "0x3E5c63644E683549055b9Be8653de26E0B4CD36E", "12357": "0x3E5c63644E683549055b9Be8653de26E0B4CD36E", + "13337": "0x3E5c63644E683549055b9Be8653de26E0B4CD36E", "17000": "0x3E5c63644E683549055b9Be8653de26E0B4CD36E", "23294": "0xfb1bffC9d739B8D520DaF37dF666da4C687191EA", "23295": "0xfb1bffC9d739B8D520DaF37dF666da4C687191EA", + "34443": "0x3E5c63644E683549055b9Be8653de26E0B4CD36E", "42161": "0x3E5c63644E683549055b9Be8653de26E0B4CD36E", "42170": "0x3E5c63644E683549055b9Be8653de26E0B4CD36E", "42220": "0xfb1bffC9d739B8D520DaF37dF666da4C687191EA", @@ -856,165 +777,349 @@ "11297108099": "0x3E5c63644E683549055b9Be8653de26E0B4CD36E", "11297108109": "0x3E5c63644E683549055b9Be8653de26E0B4CD36E", }, - "GnosisSafe": { - "1": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", - "3": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", - "4": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", - "5": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", - "10": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", - "11": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", - "12": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", - "18": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", - "25": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", - "28": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", - "30": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", - "31": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", - "39": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", - "40": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", - "41": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", - "42": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", - "44": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", - "46": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", - "50": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", - "51": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", - "56": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", - "57": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", - "61": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", - "63": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", - "69": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", - "81": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", - "82": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", - "83": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", - "97": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", - "100": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", - "106": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", - "108": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", - "111": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", - "122": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", - "123": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", - "137": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", - "148": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", - "155": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", - "246": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", - "250": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", - "280": "0xB00ce5CCcdEf57e539ddcEd01DF43a13855d9910", - "288": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", - "291": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", - "300": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", - "321": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", - "322": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", - "324": "0xB00ce5CCcdEf57e539ddcEd01DF43a13855d9910", - "336": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", - "338": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", - "420": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", - "424": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", - "570": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", - "588": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", - "592": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", - "595": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", - "599": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", - "686": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", - "787": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", - "1001": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", - "1008": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", - "1088": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", - "1101": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", - "1111": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", - "1112": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", - "1115": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", - "1116": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", - "1230": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", - "1231": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", - "1284": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", - "1285": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", - "1287": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", - "1294": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", - "1442": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", - "1559": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", - "1807": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", - "1890": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", - "1891": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", - "1984": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", - "2001": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", - "2002": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", - "2008": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", - "2019": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", - "2020": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", - "2021": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", - "2221": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", - "2222": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", - "3737": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", - "4002": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", - "4460": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", - "4689": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", - "4918": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", - "4919": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", - "5000": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", - "5001": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", - "5700": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", - "58008": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", - "6102": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", - "7001": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", - "7341": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", - "7700": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", - "8217": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", - "8453": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", - "9000": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", - "9001": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", - "9728": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", - "10000": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", - "10001": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", - "10081": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", - "10200": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", - "10243": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", - "11235": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", - "11437": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", - "11891": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", - "12357": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", - "17000": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", - "23294": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", - "23295": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", - "42161": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", - "42170": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", - "42220": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", - "43113": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", - "43114": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", - "43288": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", - "44787": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", - "45000": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", - "47805": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", - "54211": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", - "56288": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", - "57000": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", - "59140": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", - "59144": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", - "71401": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", - "71402": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", - "73799": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", - "80001": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", - "84531": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", - "200101": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", - "200202": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", - "333999": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", - "421611": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", - "421613": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", - "421614": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", - "534351": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", - "534352": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", - "534353": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", - "622277": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", - "11155111": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", - "7777777": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", - "245022926": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", - "245022934": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", - "222000222": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", - "333000333": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", - "1313161554": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", - "1313161555": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", - "1666600000": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", - "1666700000": "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", - "11297108099": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", - "11297108109": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "MultiSend": { + "1": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "3": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "4": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "5": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "10": "0x998739BFdAAdde7C933B942a68053933098f9EDa", + "11": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "12": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "18": "0x998739BFdAAdde7C933B942a68053933098f9EDa", + "25": "0x998739BFdAAdde7C933B942a68053933098f9EDa", + "28": "0x998739BFdAAdde7C933B942a68053933098f9EDa", + "30": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "31": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "39": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "40": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "41": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "42": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "44": "0x998739BFdAAdde7C933B942a68053933098f9EDa", + "46": "0x998739BFdAAdde7C933B942a68053933098f9EDa", + "50": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "51": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "56": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "57": "0x998739BFdAAdde7C933B942a68053933098f9EDa", + "61": "0x998739BFdAAdde7C933B942a68053933098f9EDa", + "63": "0x998739BFdAAdde7C933B942a68053933098f9EDa", + "69": "0x998739BFdAAdde7C933B942a68053933098f9EDa", + "71": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "81": "0x998739BFdAAdde7C933B942a68053933098f9EDa", + "82": "0x998739BFdAAdde7C933B942a68053933098f9EDa", + "83": "0x998739BFdAAdde7C933B942a68053933098f9EDa", + "97": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "100": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "106": "0x998739BFdAAdde7C933B942a68053933098f9EDa", + "108": "0x998739BFdAAdde7C933B942a68053933098f9EDa", + "111": "0x998739BFdAAdde7C933B942a68053933098f9EDa", + "122": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "123": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "137": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "148": "0x998739BFdAAdde7C933B942a68053933098f9EDa", + "155": "0x998739BFdAAdde7C933B942a68053933098f9EDa", + "169": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "204": "0x998739BFdAAdde7C933B942a68053933098f9EDa", + "246": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "250": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "255": "0x998739BFdAAdde7C933B942a68053933098f9EDa", + "280": "0x0dFcccB95225ffB03c6FBB2559B530C2B7C8A912", + "288": "0x998739BFdAAdde7C933B942a68053933098f9EDa", + "291": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "300": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "321": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "322": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "324": "0x0dFcccB95225ffB03c6FBB2559B530C2B7C8A912", + "336": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "338": "0x998739BFdAAdde7C933B942a68053933098f9EDa", + "420": "0x998739BFdAAdde7C933B942a68053933098f9EDa", + "424": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "570": "0x998739BFdAAdde7C933B942a68053933098f9EDa", + "588": "0x998739BFdAAdde7C933B942a68053933098f9EDa", + "592": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "595": "0x998739BFdAAdde7C933B942a68053933098f9EDa", + "599": "0x998739BFdAAdde7C933B942a68053933098f9EDa", + "686": "0x998739BFdAAdde7C933B942a68053933098f9EDa", + "787": "0x998739BFdAAdde7C933B942a68053933098f9EDa", + "1001": "0x998739BFdAAdde7C933B942a68053933098f9EDa", + "1008": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "1030": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "1088": "0x998739BFdAAdde7C933B942a68053933098f9EDa", + "1101": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "1111": "0x998739BFdAAdde7C933B942a68053933098f9EDa", + "1112": "0x998739BFdAAdde7C933B942a68053933098f9EDa", + "1115": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "1116": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "1230": "0x998739BFdAAdde7C933B942a68053933098f9EDa", + "1231": "0x998739BFdAAdde7C933B942a68053933098f9EDa", + "1284": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "1285": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "1287": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "1294": "0x998739BFdAAdde7C933B942a68053933098f9EDa", + "1442": "0x998739BFdAAdde7C933B942a68053933098f9EDa", + "1559": "0x998739BFdAAdde7C933B942a68053933098f9EDa", + "1663": "0x998739BFdAAdde7C933B942a68053933098f9EDa", + "1807": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "1890": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "1891": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "1984": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "2001": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "2002": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "2008": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "2019": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "2020": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "2021": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "2221": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "2222": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "2358": "0x998739BFdAAdde7C933B942a68053933098f9EDa", + "3737": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "4002": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "4337": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "4460": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "4689": "0x998739BFdAAdde7C933B942a68053933098f9EDa", + "4918": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "4919": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "5000": "0x998739BFdAAdde7C933B942a68053933098f9EDa", + "5001": "0x998739BFdAAdde7C933B942a68053933098f9EDa", + "5700": "0x998739BFdAAdde7C933B942a68053933098f9EDa", + "6102": "0x998739BFdAAdde7C933B942a68053933098f9EDa", + "7001": "0x998739BFdAAdde7C933B942a68053933098f9EDa", + "7332": "0x998739BFdAAdde7C933B942a68053933098f9EDa", + "7341": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "7700": "0x998739BFdAAdde7C933B942a68053933098f9EDa", + "8217": "0x998739BFdAAdde7C933B942a68053933098f9EDa", + "8453": "0x998739BFdAAdde7C933B942a68053933098f9EDa", + "84532": "0x998739BFdAAdde7C933B942a68053933098f9EDa", + "9000": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "9001": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "9728": "0x998739BFdAAdde7C933B942a68053933098f9EDa", + "10000": "0x998739BFdAAdde7C933B942a68053933098f9EDa", + "10001": "0x998739BFdAAdde7C933B942a68053933098f9EDa", + "10081": "0x998739BFdAAdde7C933B942a68053933098f9EDa", + "10200": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "10243": "0x998739BFdAAdde7C933B942a68053933098f9EDa", + "11235": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "11437": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "11891": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "12357": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "13337": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "17000": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "23294": "0x998739BFdAAdde7C933B942a68053933098f9EDa", + "23295": "0x998739BFdAAdde7C933B942a68053933098f9EDa", + "34443": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "42161": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "42170": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "42220": "0x998739BFdAAdde7C933B942a68053933098f9EDa", + "43113": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "43114": "0x998739BFdAAdde7C933B942a68053933098f9EDa", + "43288": "0x998739BFdAAdde7C933B942a68053933098f9EDa", + "44787": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "45000": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "47805": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "54211": "0x998739BFdAAdde7C933B942a68053933098f9EDa", + "56288": "0x998739BFdAAdde7C933B942a68053933098f9EDa", + "57000": "0x998739BFdAAdde7C933B942a68053933098f9EDa", + "58008": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "59140": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "59144": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "71401": "0x998739BFdAAdde7C933B942a68053933098f9EDa", + "71402": "0x998739BFdAAdde7C933B942a68053933098f9EDa", + "73799": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "80001": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "84531": "0x998739BFdAAdde7C933B942a68053933098f9EDa", + "200101": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "200202": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "333999": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "421611": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "421613": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "421614": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "534351": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "534352": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "534353": "0x998739BFdAAdde7C933B942a68053933098f9EDa", + "622277": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "7777777": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "11155111": "0x998739BFdAAdde7C933B942a68053933098f9EDa", + "245022926": "0x998739BFdAAdde7C933B942a68053933098f9EDa", + "245022934": "0x998739BFdAAdde7C933B942a68053933098f9EDa", + "222000222": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "333000333": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "1313161554": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "1313161555": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "1666600000": "0x998739BFdAAdde7C933B942a68053933098f9EDa", + "1666700000": "0x998739BFdAAdde7C933B942a68053933098f9EDa", + "11297108099": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + "11297108109": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761", + }, + "MultiSendCallOnly": { + "1": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "3": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "4": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "5": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "10": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", + "11": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "12": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "18": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", + "25": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", + "28": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", + "30": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "31": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "39": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "40": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "41": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "42": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "44": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", + "46": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", + "50": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "51": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "56": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "57": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", + "61": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", + "63": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", + "69": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", + "71": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "81": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", + "82": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", + "83": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", + "97": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "100": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "106": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", + "108": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", + "111": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", + "122": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "123": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "137": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "148": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", + "155": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", + "169": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "204": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", + "246": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "250": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "255": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", + "280": "0xf220D3b4DFb23C4ade8C88E526C1353AbAcbC38F", + "288": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", + "291": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "300": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "321": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "322": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "324": "0xf220D3b4DFb23C4ade8C88E526C1353AbAcbC38F", + "336": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "338": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", + "420": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", + "424": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "570": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", + "588": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", + "592": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "595": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", + "599": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", + "686": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", + "787": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", + "1001": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", + "1008": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "1030": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "1088": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", + "1101": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "1111": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", + "1112": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", + "1115": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "1116": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "1230": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", + "1231": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", + "1284": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "1285": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "1287": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "1294": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", + "1442": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", + "1559": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", + "1663": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", + "1807": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "1890": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "1891": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "1984": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "2001": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "2002": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "2008": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "2019": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "2020": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "2021": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "2221": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "2222": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "2358": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", + "3737": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "4002": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "4337": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "4460": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "4689": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", + "4918": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "4919": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "5000": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", + "5001": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", + "5700": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", + "6102": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", + "7001": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", + "7332": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", + "7341": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "7700": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", + "8217": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", + "8453": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", + "84532": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", + "9000": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "9001": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "9728": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", + "10000": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", + "10001": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", + "10081": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", + "10200": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "10243": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", + "11235": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "11437": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "11891": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "12357": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "13337": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "17000": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "23294": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", + "23295": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", + "34443": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "42161": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "42170": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "42220": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", + "43113": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "43114": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", + "43288": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", + "44787": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "45000": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "47805": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "54211": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", + "56288": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", + "57000": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", + "58008": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "59140": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "59144": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "71401": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", + "71402": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", + "73799": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "80001": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "84531": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", + "200101": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "200202": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "333999": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "421611": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "421613": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "421614": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "534351": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "534352": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "534353": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", + "622277": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "11155111": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", + "7777777": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "245022926": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", + "245022934": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", + "222000222": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "333000333": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "1313161554": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "1313161555": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "1666600000": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", + "1666700000": "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", + "11297108099": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", + "11297108109": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D", }, "GnosisSafeProxyFactory": { "1": "0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2", @@ -1042,6 +1147,7 @@ "61": "0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC", "63": "0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC", "69": "0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC", + "71": "0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2", "81": "0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC", "82": "0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC", "83": "0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC", @@ -1055,8 +1161,11 @@ "137": "0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2", "148": "0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC", "155": "0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC", + "169": "0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2", + "204": "0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC", "246": "0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2", "250": "0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2", + "255": "0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC", "280": "0xDAec33641865E4651fB43181C6DB6f7232Ee91c2", "288": "0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC", "291": "0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2", @@ -1077,6 +1186,7 @@ "787": "0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC", "1001": "0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC", "1008": "0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2", + "1030": "0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2", "1088": "0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC", "1101": "0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2", "1111": "0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC", @@ -1091,6 +1201,7 @@ "1294": "0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC", "1442": "0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC", "1559": "0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC", + "1663": "0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC", "1807": "0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2", "1890": "0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2", "1891": "0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2", @@ -1103,8 +1214,10 @@ "2021": "0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2", "2221": "0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2", "2222": "0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2", + "2358": "0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC", "3737": "0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2", "4002": "0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2", + "4337": "0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2", "4460": "0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2", "4689": "0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC", "4918": "0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2", @@ -1114,10 +1227,12 @@ "5700": "0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC", "6102": "0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC", "7001": "0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC", + "7332": "0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC", "7341": "0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2", "7700": "0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC", "8217": "0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC", "8453": "0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC", + "84532": "0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC", "9000": "0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2", "9001": "0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2", "9728": "0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC", @@ -1130,9 +1245,11 @@ "11437": "0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2", "11891": "0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2", "12357": "0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2", + "13337": "0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2", "17000": "0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2", "23294": "0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC", "23295": "0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC", + "34443": "0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2", "42161": "0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2", "42170": "0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2", "42220": "0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC", @@ -1176,483 +1293,591 @@ "11297108099": "0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2", "11297108109": "0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2", }, - "CreateCall": { - "1": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", - "3": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", - "4": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", - "5": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", - "10": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", - "11": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", - "12": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", - "18": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", - "25": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", - "28": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", - "30": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", - "31": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", - "39": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", - "40": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", - "41": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", - "42": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", - "44": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", - "46": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", - "50": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", - "51": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", - "56": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", - "57": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", - "61": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", - "63": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", - "69": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", - "81": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", - "82": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", - "83": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", - "97": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", - "100": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", - "106": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", - "108": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", - "111": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", - "122": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", - "123": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", - "137": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", - "148": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", - "155": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", - "246": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", - "250": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", - "280": "0xcB8e5E438c5c2b45FbE17B02Ca9aF91509a8ad56", - "288": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", - "300": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", - "321": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", - "322": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", - "324": "0xcB8e5E438c5c2b45FbE17B02Ca9aF91509a8ad56", - "336": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", - "338": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", - "420": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", - "424": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", - "570": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", - "588": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", - "592": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", - "595": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", - "599": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", - "686": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", - "787": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", - "1001": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", - "1008": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", - "1088": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", - "1101": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", - "1111": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", - "1112": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", - "1115": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", - "1116": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", - "1230": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", - "1231": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", - "1284": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", - "1285": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", - "1287": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", - "1294": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", - "1442": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", - "1559": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", - "1807": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", - "1890": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", - "1891": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", - "1984": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", - "2001": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", - "2002": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", - "2008": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", - "2019": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", - "2020": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", - "2021": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", - "2221": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", - "2222": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", - "3737": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", - "4460": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", - "4002": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", - "4689": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", - "4918": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", - "4919": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", - "5000": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", - "5001": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", - "5700": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", - "6102": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", - "7001": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", - "7341": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", - "7700": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", - "8217": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", - "8453": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", - "9000": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", - "9001": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", - "9728": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", - "10000": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", - "10001": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", - "10081": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", - "10200": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", - "10243": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", - "11235": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", - "11437": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", - "11891": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", - "12357": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", - "17000": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", - "23294": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", - "23295": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", - "42161": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", - "42170": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", - "42220": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", - "43113": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", - "43114": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", - "43288": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", - "44787": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", - "45000": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", - "47805": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", - "54211": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", - "56288": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", - "57000": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", - "58008": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", - "59140": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", - "59144": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", - "71401": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", - "71402": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", - "73799": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", - "80001": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", - "84531": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", - "200101": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", - "200202": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", - "333999": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", - "421611": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", - "421613": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", - "421614": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", - "534351": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", - "534352": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", - "534353": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", - "622277": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", - "7777777": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", - "11155111": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", - "245022926": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", - "245022934": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", - "222000222": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", - "333000333": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", - "1313161554": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", - "1313161555": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", - "1666600000": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", - "1666700000": "0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d", - "11297108099": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", - "11297108109": "0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4", + "SignMessageLib": { + "1": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "3": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "4": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "5": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "10": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", + "11": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "12": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "18": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", + "25": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", + "28": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", + "30": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "31": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "39": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "40": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "41": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "42": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "44": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", + "46": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", + "50": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "51": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "56": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "57": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", + "61": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", + "63": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", + "69": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", + "71": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "81": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", + "82": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", + "83": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", + "97": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "100": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "106": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", + "108": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", + "111": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", + "122": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "123": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "137": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "148": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", + "155": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", + "169": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "204": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", + "246": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "250": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "255": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", + "280": "0x357147caf9C0cCa67DfA0CF5369318d8193c8407", + "288": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", + "291": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "300": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "321": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "322": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "324": "0x357147caf9C0cCa67DfA0CF5369318d8193c8407", + "336": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "338": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", + "420": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", + "424": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "570": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", + "588": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", + "592": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "595": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", + "599": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", + "686": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", + "787": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", + "1001": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", + "1008": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "1030": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "1088": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", + "1101": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "1111": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", + "1112": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", + "1115": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "1116": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "1230": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", + "1231": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", + "1284": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "1285": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "1287": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "1294": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", + "1442": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", + "1559": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", + "1663": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", + "1807": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "1890": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "1891": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "1984": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "2001": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "2002": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "2008": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "2019": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "2020": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "2021": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "2221": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "2222": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "2358": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", + "3737": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "4002": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "4337": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "4460": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "4689": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", + "4918": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "4919": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "5000": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", + "5001": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", + "5700": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", + "6102": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", + "7001": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", + "7332": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", + "7341": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "7700": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", + "8217": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", + "8453": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", + "84532": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", + "9000": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "9001": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "9728": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", + "10000": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", + "10001": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", + "10081": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", + "10200": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "10243": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", + "11235": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "11437": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "11891": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "12357": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "13337": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "17000": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "23294": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", + "23295": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", + "34443": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "42161": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "42170": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "42220": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", + "43113": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "43114": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", + "43288": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", + "44787": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "45000": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "47805": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "54211": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", + "56288": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", + "57000": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", + "58008": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "59140": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "59144": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "71401": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", + "71402": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", + "73799": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "80001": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "84531": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", + "200101": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "200202": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "421611": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "421613": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "421614": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "534351": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "534352": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "534353": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", + "622277": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "7777777": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "11155111": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", + "245022926": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", + "245022934": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", + "222000222": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "333000333": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "1313161554": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "1313161555": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "1666600000": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", + "1666700000": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", + "11297108099": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "11297108109": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + }, + "SimulateTxAccessor": { + "1": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "3": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "4": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "5": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "10": "0x727a77a074D1E6c4530e814F89E618a3298FC044", + "11": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "12": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "18": "0x727a77a074D1E6c4530e814F89E618a3298FC044", + "25": "0x727a77a074D1E6c4530e814F89E618a3298FC044", + "28": "0x727a77a074D1E6c4530e814F89E618a3298FC044", + "30": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "31": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "39": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "40": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "41": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "42": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "44": "0x727a77a074D1E6c4530e814F89E618a3298FC044", + "46": "0x727a77a074D1E6c4530e814F89E618a3298FC044", + "50": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "51": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "56": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "57": "0x727a77a074D1E6c4530e814F89E618a3298FC044", + "61": "0x727a77a074D1E6c4530e814F89E618a3298FC044", + "63": "0x727a77a074D1E6c4530e814F89E618a3298FC044", + "69": "0x727a77a074D1E6c4530e814F89E618a3298FC044", + "71": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "81": "0x727a77a074D1E6c4530e814F89E618a3298FC044", + "82": "0x727a77a074D1E6c4530e814F89E618a3298FC044", + "83": "0x727a77a074D1E6c4530e814F89E618a3298FC044", + "97": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "100": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "106": "0x727a77a074D1E6c4530e814F89E618a3298FC044", + "108": "0x727a77a074D1E6c4530e814F89E618a3298FC044", + "111": "0x727a77a074D1E6c4530e814F89E618a3298FC044", + "122": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "123": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "137": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "148": "0x727a77a074D1E6c4530e814F89E618a3298FC044", + "155": "0x727a77a074D1E6c4530e814F89E618a3298FC044", + "169": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "204": "0x727a77a074D1E6c4530e814F89E618a3298FC044", + "246": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "250": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "255": "0x727a77a074D1E6c4530e814F89E618a3298FC044", + "280": "0x4191E2e12E8BC5002424CE0c51f9947b02675a44", + "288": "0x727a77a074D1E6c4530e814F89E618a3298FC044", + "291": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "300": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "321": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "322": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "324": "0x4191E2e12E8BC5002424CE0c51f9947b02675a44", + "336": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "338": "0x727a77a074D1E6c4530e814F89E618a3298FC044", + "420": "0x727a77a074D1E6c4530e814F89E618a3298FC044", + "570": "0x727a77a074D1E6c4530e814F89E618a3298FC044", + "588": "0x727a77a074D1E6c4530e814F89E618a3298FC044", + "592": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "595": "0x727a77a074D1E6c4530e814F89E618a3298FC044", + "599": "0x727a77a074D1E6c4530e814F89E618a3298FC044", + "686": "0x727a77a074D1E6c4530e814F89E618a3298FC044", + "787": "0x727a77a074D1E6c4530e814F89E618a3298FC044", + "1001": "0x727a77a074D1E6c4530e814F89E618a3298FC044", + "1008": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "1030": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "1088": "0x727a77a074D1E6c4530e814F89E618a3298FC044", + "1101": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "1111": "0x727a77a074D1E6c4530e814F89E618a3298FC044", + "1112": "0x727a77a074D1E6c4530e814F89E618a3298FC044", + "1115": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "1116": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "1230": "0x727a77a074D1E6c4530e814F89E618a3298FC044", + "1231": "0x727a77a074D1E6c4530e814F89E618a3298FC044", + "1284": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "1285": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "1287": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "1294": "0x727a77a074D1E6c4530e814F89E618a3298FC044", + "1442": "0x727a77a074D1E6c4530e814F89E618a3298FC044", + "1559": "0x727a77a074D1E6c4530e814F89E618a3298FC044", + "1663": "0x727a77a074D1E6c4530e814F89E618a3298FC044", + "1807": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "1890": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "1891": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "1984": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "2001": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "2002": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "2008": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "2019": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "2020": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "2021": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "2221": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "2222": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "2358": "0x727a77a074D1E6c4530e814F89E618a3298FC044", + "3737": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "4002": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "4337": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "4460": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "4689": "0x727a77a074D1E6c4530e814F89E618a3298FC044", + "4918": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "4919": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "5000": "0x727a77a074D1E6c4530e814F89E618a3298FC044", + "5001": "0x727a77a074D1E6c4530e814F89E618a3298FC044", + "5700": "0x727a77a074D1E6c4530e814F89E618a3298FC044", + "6102": "0x727a77a074D1E6c4530e814F89E618a3298FC044", + "7001": "0x727a77a074D1E6c4530e814F89E618a3298FC044", + "7332": "0x727a77a074D1E6c4530e814F89E618a3298FC044", + "7341": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "7700": "0x727a77a074D1E6c4530e814F89E618a3298FC044", + "8217": "0x727a77a074D1E6c4530e814F89E618a3298FC044", + "8453": "0x727a77a074D1E6c4530e814F89E618a3298FC044", + "84532": "0x727a77a074D1E6c4530e814F89E618a3298FC044", + "9000": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "9001": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "9728": "0x727a77a074D1E6c4530e814F89E618a3298FC044", + "10000": "0x727a77a074D1E6c4530e814F89E618a3298FC044", + "10001": "0x727a77a074D1E6c4530e814F89E618a3298FC044", + "10081": "0x727a77a074D1E6c4530e814F89E618a3298FC044", + "10200": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "10243": "0x727a77a074D1E6c4530e814F89E618a3298FC044", + "11235": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "11437": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "11891": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "12357": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "13337": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "17000": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "23294": "0x727a77a074D1E6c4530e814F89E618a3298FC044", + "23295": "0x727a77a074D1E6c4530e814F89E618a3298FC044", + "34443": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "42161": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "42170": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "42220": "0x727a77a074D1E6c4530e814F89E618a3298FC044", + "43113": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "43114": "0x727a77a074D1E6c4530e814F89E618a3298FC044", + "43288": "0x727a77a074D1E6c4530e814F89E618a3298FC044", + "44787": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "45000": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "47805": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "54211": "0x727a77a074D1E6c4530e814F89E618a3298FC044", + "56288": "0x727a77a074D1E6c4530e814F89E618a3298FC044", + "57000": "0x727a77a074D1E6c4530e814F89E618a3298FC044", + "59140": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "59144": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "71401": "0x727a77a074D1E6c4530e814F89E618a3298FC044", + "71402": "0x727a77a074D1E6c4530e814F89E618a3298FC044", + "73799": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "80001": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "84531": "0x727a77a074D1E6c4530e814F89E618a3298FC044", + "200101": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "200202": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "333999": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "421611": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "421613": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "421614": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "534351": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "534352": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "534353": "0x727a77a074D1E6c4530e814F89E618a3298FC044", + "622277": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "7777777": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "11155111": "0x727a77a074D1E6c4530e814F89E618a3298FC044", + "245022926": "0x727a77a074D1E6c4530e814F89E618a3298FC044", + "245022934": "0x727a77a074D1E6c4530e814F89E618a3298FC044", + "222000222": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "333000333": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "1313161554": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "1313161555": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "1666600000": "0x727a77a074D1E6c4530e814F89E618a3298FC044", + "1666700000": "0x727a77a074D1E6c4530e814F89E618a3298FC044", + "11297108099": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", + "11297108109": "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da", }, + }, + "1.4.1": { "CompatibilityFallbackHandler": { - "1": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", - "3": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", - "4": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", - "5": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", - "10": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", - "11": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", - "12": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", - "18": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", - "25": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", - "28": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", - "30": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", - "31": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", - "39": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", - "40": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", - "41": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", - "42": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", - "44": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", - "46": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", - "50": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", - "51": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", - "56": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", - "57": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", - "61": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", - "63": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", - "69": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", - "81": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", - "82": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", - "83": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", - "97": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", - "100": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", - "106": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", - "108": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", - "111": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", - "122": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", - "123": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", - "137": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", - "148": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", - "155": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", - "246": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", - "250": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", - "280": "0x2f870a80647BbC554F3a0EBD093f11B4d2a7492A", - "288": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", - "291": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", - "300": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", - "321": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", - "322": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", - "324": "0x2f870a80647BbC554F3a0EBD093f11B4d2a7492A", - "336": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", - "338": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", - "420": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", - "424": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", - "570": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", - "588": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", - "592": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", - "595": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", - "599": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", - "686": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", - "787": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", - "1001": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", - "1008": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", - "1088": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", - "1101": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", - "1111": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", - "1112": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", - "1115": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", - "1116": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", - "1230": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", - "1231": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", - "1284": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", - "1285": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", - "1287": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", - "1294": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", - "1442": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", - "1559": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", - "1807": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", - "1890": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", - "1891": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", - "1984": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", - "2001": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", - "2002": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", - "2008": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", - "2019": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", - "2020": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", - "2021": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", - "2221": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", - "2222": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", - "3737": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", - "4002": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", - "4460": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", - "4689": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", - "4918": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", - "4919": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", - "5000": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", - "5001": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", - "5700": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", - "6102": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", - "7001": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", - "7341": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", - "7700": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", - "8217": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", - "8453": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", - "9000": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", - "9001": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", - "9728": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", - "10000": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", - "10001": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", - "10081": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", - "10200": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", - "10243": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", - "11235": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", - "11437": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", - "11891": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", - "12357": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", - "17000": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", - "23294": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", - "23295": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", - "42161": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", - "42170": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", - "42220": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", - "43113": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", - "43114": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", - "43288": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", - "44787": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", - "45000": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", - "47805": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", - "54211": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", - "56288": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", - "57000": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", - "58008": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", - "59140": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", - "59144": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", - "71401": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", - "71402": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", - "73799": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", - "80001": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", - "84531": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", - "200101": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", - "200202": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", - "333999": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", - "421611": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", - "421613": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", - "421614": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", - "534351": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", - "534352": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", - "534353": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", - "622277": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", - "7777777": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", - "11155111": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", - "245022926": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", - "245022934": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", - "222000222": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", - "333000333": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", - "1313161554": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", - "1313161555": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", - "1666600000": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", - "1666700000": "0x017062a1dE2FE6b99BE3d9d37841FeD19F573804", - "11297108099": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", - "11297108109": "0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4", + "1": "0xfd0732Dc9E303f09fCEf3a7388Ad10A83459Ec99", + "5": "0xfd0732Dc9E303f09fCEf3a7388Ad10A83459Ec99", + "10": "0xfd0732Dc9E303f09fCEf3a7388Ad10A83459Ec99", + "56": "0xfd0732Dc9E303f09fCEf3a7388Ad10A83459Ec99", + "71": "0xfd0732Dc9E303f09fCEf3a7388Ad10A83459Ec99", + "100": "0xfd0732Dc9E303f09fCEf3a7388Ad10A83459Ec99", + "137": "0xfd0732Dc9E303f09fCEf3a7388Ad10A83459Ec99", + "1030": "0xfd0732Dc9E303f09fCEf3a7388Ad10A83459Ec99", + "1101": "0xfd0732Dc9E303f09fCEf3a7388Ad10A83459Ec99", + "1442": "0xfd0732Dc9E303f09fCEf3a7388Ad10A83459Ec99", + "4337": "0xfd0732Dc9E303f09fCEf3a7388Ad10A83459Ec99", + "8192": "0xfd0732Dc9E303f09fCEf3a7388Ad10A83459Ec99", + "8194": "0xfd0732Dc9E303f09fCEf3a7388Ad10A83459Ec99", + "8453": "0xfd0732Dc9E303f09fCEf3a7388Ad10A83459Ec99", + "84532": "0xfd0732Dc9E303f09fCEf3a7388Ad10A83459Ec99", + "10243": "0xfd0732Dc9E303f09fCEf3a7388Ad10A83459Ec99", + "13337": "0xfd0732Dc9E303f09fCEf3a7388Ad10A83459Ec99", + "11235": "0xfd0732Dc9E303f09fCEf3a7388Ad10A83459Ec99", + "17000": "0xfd0732Dc9E303f09fCEf3a7388Ad10A83459Ec99", + "42161": "0xfd0732Dc9E303f09fCEf3a7388Ad10A83459Ec99", + "42220": "0xfd0732Dc9E303f09fCEf3a7388Ad10A83459Ec99", + "54211": "0xfd0732Dc9E303f09fCEf3a7388Ad10A83459Ec99", + "80001": "0xfd0732Dc9E303f09fCEf3a7388Ad10A83459Ec99", + "84531": "0xfd0732Dc9E303f09fCEf3a7388Ad10A83459Ec99", + "11155111": "0xfd0732Dc9E303f09fCEf3a7388Ad10A83459Ec99", + }, + "CreateCall": { + "1": "0x9b35Af71d77eaf8d7e40252370304687390A1A52", + "5": "0x9b35Af71d77eaf8d7e40252370304687390A1A52", + "10": "0x9b35Af71d77eaf8d7e40252370304687390A1A52", + "56": "0x9b35Af71d77eaf8d7e40252370304687390A1A52", + "71": "0x9b35Af71d77eaf8d7e40252370304687390A1A52", + "100": "0x9b35Af71d77eaf8d7e40252370304687390A1A52", + "137": "0x9b35Af71d77eaf8d7e40252370304687390A1A52", + "1030": "0x9b35Af71d77eaf8d7e40252370304687390A1A52", + "1101": "0x9b35Af71d77eaf8d7e40252370304687390A1A52", + "1442": "0x9b35Af71d77eaf8d7e40252370304687390A1A52", + "4337": "0x9b35Af71d77eaf8d7e40252370304687390A1A52", + "8192": "0x9b35Af71d77eaf8d7e40252370304687390A1A52", + "8194": "0x9b35Af71d77eaf8d7e40252370304687390A1A52", + "8453": "0x9b35Af71d77eaf8d7e40252370304687390A1A52", + "84532": "0x9b35Af71d77eaf8d7e40252370304687390A1A52", + "10243": "0x9b35Af71d77eaf8d7e40252370304687390A1A52", + "13337": "0x9b35Af71d77eaf8d7e40252370304687390A1A52", + "11235": "0x9b35Af71d77eaf8d7e40252370304687390A1A52", + "17000": "0x9b35Af71d77eaf8d7e40252370304687390A1A52", + "42161": "0x9b35Af71d77eaf8d7e40252370304687390A1A52", + "42220": "0x9b35Af71d77eaf8d7e40252370304687390A1A52", + "54211": "0x9b35Af71d77eaf8d7e40252370304687390A1A52", + "80001": "0x9b35Af71d77eaf8d7e40252370304687390A1A52", + "84531": "0x9b35Af71d77eaf8d7e40252370304687390A1A52", + "11155111": "0x9b35Af71d77eaf8d7e40252370304687390A1A52", + }, + "MultiSend": { + "1": "0x38869bf66a61cF6bDB996A6aE40D5853Fd43B526", + "5": "0x38869bf66a61cF6bDB996A6aE40D5853Fd43B526", + "10": "0x38869bf66a61cF6bDB996A6aE40D5853Fd43B526", + "56": "0x38869bf66a61cF6bDB996A6aE40D5853Fd43B526", + "71": "0x38869bf66a61cF6bDB996A6aE40D5853Fd43B526", + "100": "0x38869bf66a61cF6bDB996A6aE40D5853Fd43B526", + "137": "0x38869bf66a61cF6bDB996A6aE40D5853Fd43B526", + "1030": "0x38869bf66a61cF6bDB996A6aE40D5853Fd43B526", + "1101": "0x38869bf66a61cF6bDB996A6aE40D5853Fd43B526", + "1442": "0x38869bf66a61cF6bDB996A6aE40D5853Fd43B526", + "4337": "0x38869bf66a61cF6bDB996A6aE40D5853Fd43B526", + "8192": "0x38869bf66a61cF6bDB996A6aE40D5853Fd43B526", + "8194": "0x38869bf66a61cF6bDB996A6aE40D5853Fd43B526", + "8453": "0x38869bf66a61cF6bDB996A6aE40D5853Fd43B526", + "84532": "0x38869bf66a61cF6bDB996A6aE40D5853Fd43B526", + "10243": "0x38869bf66a61cF6bDB996A6aE40D5853Fd43B526", + "13337": "0x38869bf66a61cF6bDB996A6aE40D5853Fd43B526", + "11235": "0x38869bf66a61cF6bDB996A6aE40D5853Fd43B526", + "17000": "0x38869bf66a61cF6bDB996A6aE40D5853Fd43B526", + "42161": "0x38869bf66a61cF6bDB996A6aE40D5853Fd43B526", + "42220": "0x38869bf66a61cF6bDB996A6aE40D5853Fd43B526", + "54211": "0x38869bf66a61cF6bDB996A6aE40D5853Fd43B526", + "80001": "0x38869bf66a61cF6bDB996A6aE40D5853Fd43B526", + "84531": "0x38869bf66a61cF6bDB996A6aE40D5853Fd43B526", + "11155111": "0x38869bf66a61cF6bDB996A6aE40D5853Fd43B526", + }, + "MultiSendCallOnly": { + "1": "0x9641d764fc13c8B624c04430C7356C1C7C8102e2", + "5": "0x9641d764fc13c8B624c04430C7356C1C7C8102e2", + "10": "0x9641d764fc13c8B624c04430C7356C1C7C8102e2", + "56": "0x9641d764fc13c8B624c04430C7356C1C7C8102e2", + "71": "0x9641d764fc13c8B624c04430C7356C1C7C8102e2", + "100": "0x9641d764fc13c8B624c04430C7356C1C7C8102e2", + "137": "0x9641d764fc13c8B624c04430C7356C1C7C8102e2", + "1030": "0x9641d764fc13c8B624c04430C7356C1C7C8102e2", + "1101": "0x9641d764fc13c8B624c04430C7356C1C7C8102e2", + "1442": "0x9641d764fc13c8B624c04430C7356C1C7C8102e2", + "4337": "0x9641d764fc13c8B624c04430C7356C1C7C8102e2", + "8192": "0x9641d764fc13c8B624c04430C7356C1C7C8102e2", + "8194": "0x9641d764fc13c8B624c04430C7356C1C7C8102e2", + "8453": "0x9641d764fc13c8B624c04430C7356C1C7C8102e2", + "84532": "0x9641d764fc13c8B624c04430C7356C1C7C8102e2", + "10243": "0x9641d764fc13c8B624c04430C7356C1C7C8102e2", + "13337": "0x9641d764fc13c8B624c04430C7356C1C7C8102e2", + "11235": "0x9641d764fc13c8B624c04430C7356C1C7C8102e2", + "17000": "0x9641d764fc13c8B624c04430C7356C1C7C8102e2", + "42161": "0x9641d764fc13c8B624c04430C7356C1C7C8102e2", + "42220": "0x9641d764fc13c8B624c04430C7356C1C7C8102e2", + "54211": "0x9641d764fc13c8B624c04430C7356C1C7C8102e2", + "80001": "0x9641d764fc13c8B624c04430C7356C1C7C8102e2", + "84531": "0x9641d764fc13c8B624c04430C7356C1C7C8102e2", + "11155111": "0x9641d764fc13c8B624c04430C7356C1C7C8102e2", + }, + "Safe": { + "1": "0x41675C099F32341bf84BFc5382aF534df5C7461a", + "5": "0x41675C099F32341bf84BFc5382aF534df5C7461a", + "10": "0x41675C099F32341bf84BFc5382aF534df5C7461a", + "56": "0x41675C099F32341bf84BFc5382aF534df5C7461a", + "71": "0x41675C099F32341bf84BFc5382aF534df5C7461a", + "100": "0x41675C099F32341bf84BFc5382aF534df5C7461a", + "137": "0x41675C099F32341bf84BFc5382aF534df5C7461a", + "1030": "0x41675C099F32341bf84BFc5382aF534df5C7461a", + "1101": "0x41675C099F32341bf84BFc5382aF534df5C7461a", + "1442": "0x41675C099F32341bf84BFc5382aF534df5C7461a", + "4337": "0x41675C099F32341bf84BFc5382aF534df5C7461a", + "8192": "0x41675C099F32341bf84BFc5382aF534df5C7461a", + "8194": "0x41675C099F32341bf84BFc5382aF534df5C7461a", + "8453": "0x41675C099F32341bf84BFc5382aF534df5C7461a", + "84532": "0x41675C099F32341bf84BFc5382aF534df5C7461a", + "10243": "0x41675C099F32341bf84BFc5382aF534df5C7461a", + "13337": "0x41675C099F32341bf84BFc5382aF534df5C7461a", + "11235": "0x41675C099F32341bf84BFc5382aF534df5C7461a", + "17000": "0x41675C099F32341bf84BFc5382aF534df5C7461a", + "42161": "0x41675C099F32341bf84BFc5382aF534df5C7461a", + "42220": "0x41675C099F32341bf84BFc5382aF534df5C7461a", + "54211": "0x41675C099F32341bf84BFc5382aF534df5C7461a", + "80001": "0x41675C099F32341bf84BFc5382aF534df5C7461a", + "84531": "0x41675C099F32341bf84BFc5382aF534df5C7461a", + "11155111": "0x41675C099F32341bf84BFc5382aF534df5C7461a", + }, + "SafeL2": { + "1": "0x29fcB43b46531BcA003ddC8FCB67FFE91900C762", + "5": "0x29fcB43b46531BcA003ddC8FCB67FFE91900C762", + "10": "0x29fcB43b46531BcA003ddC8FCB67FFE91900C762", + "56": "0x29fcB43b46531BcA003ddC8FCB67FFE91900C762", + "71": "0x29fcB43b46531BcA003ddC8FCB67FFE91900C762", + "100": "0x29fcB43b46531BcA003ddC8FCB67FFE91900C762", + "137": "0x29fcB43b46531BcA003ddC8FCB67FFE91900C762", + "1030": "0x29fcB43b46531BcA003ddC8FCB67FFE91900C762", + "1101": "0x29fcB43b46531BcA003ddC8FCB67FFE91900C762", + "1442": "0x29fcB43b46531BcA003ddC8FCB67FFE91900C762", + "4337": "0x29fcB43b46531BcA003ddC8FCB67FFE91900C762", + "8192": "0x29fcB43b46531BcA003ddC8FCB67FFE91900C762", + "8194": "0x29fcB43b46531BcA003ddC8FCB67FFE91900C762", + "8453": "0x29fcB43b46531BcA003ddC8FCB67FFE91900C762", + "84532": "0x29fcB43b46531BcA003ddC8FCB67FFE91900C762", + "10243": "0x29fcB43b46531BcA003ddC8FCB67FFE91900C762", + "13337": "0x29fcB43b46531BcA003ddC8FCB67FFE91900C762", + "11235": "0x29fcB43b46531BcA003ddC8FCB67FFE91900C762", + "17000": "0x29fcB43b46531BcA003ddC8FCB67FFE91900C762", + "42161": "0x29fcB43b46531BcA003ddC8FCB67FFE91900C762", + "42220": "0x29fcB43b46531BcA003ddC8FCB67FFE91900C762", + "54211": "0x29fcB43b46531BcA003ddC8FCB67FFE91900C762", + "80001": "0x29fcB43b46531BcA003ddC8FCB67FFE91900C762", + "84531": "0x29fcB43b46531BcA003ddC8FCB67FFE91900C762", + "11155111": "0x29fcB43b46531BcA003ddC8FCB67FFE91900C762", + }, + "SafeProxyFactory": { + "1": "0x4e1DCf7AD4e460CfD30791CCC4F9c8a4f820ec67", + "5": "0x4e1DCf7AD4e460CfD30791CCC4F9c8a4f820ec67", + "10": "0x4e1DCf7AD4e460CfD30791CCC4F9c8a4f820ec67", + "56": "0x4e1DCf7AD4e460CfD30791CCC4F9c8a4f820ec67", + "71": "0x4e1DCf7AD4e460CfD30791CCC4F9c8a4f820ec67", + "100": "0x4e1DCf7AD4e460CfD30791CCC4F9c8a4f820ec67", + "137": "0x4e1DCf7AD4e460CfD30791CCC4F9c8a4f820ec67", + "1030": "0x4e1DCf7AD4e460CfD30791CCC4F9c8a4f820ec67", + "1101": "0x4e1DCf7AD4e460CfD30791CCC4F9c8a4f820ec67", + "1442": "0x4e1DCf7AD4e460CfD30791CCC4F9c8a4f820ec67", + "4337": "0x4e1DCf7AD4e460CfD30791CCC4F9c8a4f820ec67", + "8192": "0x4e1DCf7AD4e460CfD30791CCC4F9c8a4f820ec67", + "8194": "0x4e1DCf7AD4e460CfD30791CCC4F9c8a4f820ec67", + "8453": "0x4e1DCf7AD4e460CfD30791CCC4F9c8a4f820ec67", + "84532": "0x4e1DCf7AD4e460CfD30791CCC4F9c8a4f820ec67", + "10243": "0x4e1DCf7AD4e460CfD30791CCC4F9c8a4f820ec67", + "13337": "0x4e1DCf7AD4e460CfD30791CCC4F9c8a4f820ec67", + "11235": "0x4e1DCf7AD4e460CfD30791CCC4F9c8a4f820ec67", + "17000": "0x4e1DCf7AD4e460CfD30791CCC4F9c8a4f820ec67", + "42161": "0x4e1DCf7AD4e460CfD30791CCC4F9c8a4f820ec67", + "42220": "0x4e1DCf7AD4e460CfD30791CCC4F9c8a4f820ec67", + "54211": "0x4e1DCf7AD4e460CfD30791CCC4F9c8a4f820ec67", + "80001": "0x4e1DCf7AD4e460CfD30791CCC4F9c8a4f820ec67", + "84531": "0x4e1DCf7AD4e460CfD30791CCC4F9c8a4f820ec67", + "11155111": "0x4e1DCf7AD4e460CfD30791CCC4F9c8a4f820ec67", }, "SignMessageLib": { - "1": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", - "3": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", - "4": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", - "5": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", - "10": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", - "11": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", - "12": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", - "18": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", - "25": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", - "28": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", - "30": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", - "31": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", - "39": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", - "40": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", - "41": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", - "42": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", - "44": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", - "46": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", - "50": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", - "51": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", - "56": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", - "57": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", - "61": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", - "63": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", - "69": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", - "81": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", - "82": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", - "83": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", - "97": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", - "100": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", - "106": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", - "108": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", - "111": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", - "122": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", - "123": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", - "137": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", - "148": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", - "155": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", - "246": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", - "250": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", - "280": "0x357147caf9C0cCa67DfA0CF5369318d8193c8407", - "288": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", - "291": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", - "300": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", - "321": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", - "322": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", - "324": "0x357147caf9C0cCa67DfA0CF5369318d8193c8407", - "336": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", - "338": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", - "420": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", - "424": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", - "570": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", - "588": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", - "592": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", - "595": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", - "599": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", - "686": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", - "787": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", - "1001": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", - "1008": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", - "1088": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", - "1101": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", - "1111": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", - "1112": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", - "1115": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", - "1116": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", - "1230": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", - "1231": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", - "1284": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", - "1285": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", - "1287": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", - "1294": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", - "1442": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", - "1559": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", - "1807": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", - "1890": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", - "1891": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", - "1984": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", - "2001": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", - "2002": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", - "2008": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", - "2019": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", - "2020": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", - "2021": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", - "2221": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", - "2222": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", - "3737": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", - "4002": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", - "4460": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", - "4689": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", - "4918": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", - "4919": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", - "5000": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", - "5001": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", - "5700": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", - "6102": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", - "7001": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", - "7341": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", - "7700": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", - "8217": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", - "8453": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", - "9000": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", - "9001": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", - "9728": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", - "10000": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", - "10001": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", - "10081": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", - "10200": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", - "10243": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", - "11235": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", - "11437": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", - "11891": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", - "12357": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", - "17000": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", - "23294": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", - "23295": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", - "42161": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", - "42170": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", - "42220": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", - "43113": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", - "43114": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", - "43288": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", - "44787": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", - "45000": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", - "47805": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", - "54211": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", - "56288": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", - "57000": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", - "58008": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", - "59140": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", - "59144": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", - "71401": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", - "71402": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", - "73799": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", - "80001": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", - "84531": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", - "200101": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", - "200202": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", - "421611": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", - "421613": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", - "421614": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", - "534351": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", - "534352": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", - "534353": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", - "622277": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", - "7777777": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", - "11155111": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", - "245022926": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", - "245022934": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", - "222000222": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", - "333000333": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", - "1313161554": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", - "1313161555": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", - "1666600000": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", - "1666700000": "0x98FFBBF51bb33A056B08ddf711f289936AafF717", - "11297108099": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", - "11297108109": "0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2", + "1": "0xd53cd0aB83D845Ac265BE939c57F53AD838012c9", + "5": "0xd53cd0aB83D845Ac265BE939c57F53AD838012c9", + "10": "0xd53cd0aB83D845Ac265BE939c57F53AD838012c9", + "56": "0xd53cd0aB83D845Ac265BE939c57F53AD838012c9", + "71": "0xd53cd0aB83D845Ac265BE939c57F53AD838012c9", + "100": "0xd53cd0aB83D845Ac265BE939c57F53AD838012c9", + "137": "0xd53cd0aB83D845Ac265BE939c57F53AD838012c9", + "1030": "0xd53cd0aB83D845Ac265BE939c57F53AD838012c9", + "1101": "0xd53cd0aB83D845Ac265BE939c57F53AD838012c9", + "1442": "0xd53cd0aB83D845Ac265BE939c57F53AD838012c9", + "4337": "0xd53cd0aB83D845Ac265BE939c57F53AD838012c9", + "8192": "0xd53cd0aB83D845Ac265BE939c57F53AD838012c9", + "8194": "0xd53cd0aB83D845Ac265BE939c57F53AD838012c9", + "8453": "0xd53cd0aB83D845Ac265BE939c57F53AD838012c9", + "84532": "0xd53cd0aB83D845Ac265BE939c57F53AD838012c9", + "10243": "0xd53cd0aB83D845Ac265BE939c57F53AD838012c9", + "13337": "0xd53cd0aB83D845Ac265BE939c57F53AD838012c9", + "11235": "0xd53cd0aB83D845Ac265BE939c57F53AD838012c9", + "17000": "0xd53cd0aB83D845Ac265BE939c57F53AD838012c9", + "42161": "0xd53cd0aB83D845Ac265BE939c57F53AD838012c9", + "42220": "0xd53cd0aB83D845Ac265BE939c57F53AD838012c9", + "54211": "0xd53cd0aB83D845Ac265BE939c57F53AD838012c9", + "80001": "0xd53cd0aB83D845Ac265BE939c57F53AD838012c9", + "84531": "0xd53cd0aB83D845Ac265BE939c57F53AD838012c9", + "11155111": "0xd53cd0aB83D845Ac265BE939c57F53AD838012c9", + }, + "SimulateTxAccessor": { + "1": "0x3d4BA2E0884aa488718476ca2FB8Efc291A46199", + "5": "0x3d4BA2E0884aa488718476ca2FB8Efc291A46199", + "10": "0x3d4BA2E0884aa488718476ca2FB8Efc291A46199", + "56": "0x3d4BA2E0884aa488718476ca2FB8Efc291A46199", + "71": "0x3d4BA2E0884aa488718476ca2FB8Efc291A46199", + "100": "0x3d4BA2E0884aa488718476ca2FB8Efc291A46199", + "137": "0x3d4BA2E0884aa488718476ca2FB8Efc291A46199", + "1030": "0x3d4BA2E0884aa488718476ca2FB8Efc291A46199", + "1101": "0x3d4BA2E0884aa488718476ca2FB8Efc291A46199", + "1442": "0x3d4BA2E0884aa488718476ca2FB8Efc291A46199", + "4337": "0x3d4BA2E0884aa488718476ca2FB8Efc291A46199", + "8192": "0x3d4BA2E0884aa488718476ca2FB8Efc291A46199", + "8194": "0x3d4BA2E0884aa488718476ca2FB8Efc291A46199", + "8453": "0x3d4BA2E0884aa488718476ca2FB8Efc291A46199", + "84532": "0x3d4BA2E0884aa488718476ca2FB8Efc291A46199", + "10243": "0x3d4BA2E0884aa488718476ca2FB8Efc291A46199", + "13337": "0x3d4BA2E0884aa488718476ca2FB8Efc291A46199", + "11235": "0x3d4BA2E0884aa488718476ca2FB8Efc291A46199", + "17000": "0x3d4BA2E0884aa488718476ca2FB8Efc291A46199", + "42161": "0x3d4BA2E0884aa488718476ca2FB8Efc291A46199", + "42220": "0x3d4BA2E0884aa488718476ca2FB8Efc291A46199", + "54211": "0x3d4BA2E0884aa488718476ca2FB8Efc291A46199", + "80001": "0x3d4BA2E0884aa488718476ca2FB8Efc291A46199", + "84531": "0x3d4BA2E0884aa488718476ca2FB8Efc291A46199", + "11155111": "0x3d4BA2E0884aa488718476ca2FB8Efc291A46199", }, }, } diff --git a/gnosis/safe/tests/account_abstraction/__init__.py b/gnosis/safe/tests/account_abstraction/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/gnosis/safe/tests/account_abstraction/test_safe_operation.py b/gnosis/safe/tests/account_abstraction/test_safe_operation.py new file mode 100644 index 000000000..847c89361 --- /dev/null +++ b/gnosis/safe/tests/account_abstraction/test_safe_operation.py @@ -0,0 +1,63 @@ +from unittest import TestCase + +from gnosis.eth.account_abstraction import UserOperation +from gnosis.eth.tests.mocks.mock_bundler import ( + safe_4337_chain_id_mock, + safe_4337_module_address_mock, + safe_4337_module_domain_separator_mock, + safe_4337_safe_operation_hash_mock, + safe_4337_user_operation_hash_mock, + user_operation_mock, +) + +from ...account_abstraction import SafeOperation +from ...account_abstraction.safe_operation import _domain_separator_cache + + +class TestSafeOperation(TestCase): + def setUp(self): + _domain_separator_cache.clear() + + def tearDown(self): + _domain_separator_cache.clear() + + def test_safe_operation(self): + safe_operation = SafeOperation.from_user_operation( + UserOperation( + safe_4337_user_operation_hash_mock, user_operation_mock["result"] + ) + ) + + self.assertDictEqual(_domain_separator_cache, {}) + + self.assertEqual( + safe_operation.get_domain_separator( + safe_4337_chain_id_mock, safe_4337_module_address_mock + ), + safe_4337_module_domain_separator_mock, + ) + self.assertDictEqual( + _domain_separator_cache, + { + ( + safe_4337_chain_id_mock, + safe_4337_module_address_mock, + ): safe_4337_module_domain_separator_mock + }, + ) + + self.assertEqual( + safe_operation.get_safe_operation_hash( + safe_4337_chain_id_mock, safe_4337_module_address_mock + ), + safe_4337_safe_operation_hash_mock, + ) + self.assertDictEqual( + _domain_separator_cache, + { + ( + safe_4337_chain_id_mock, + safe_4337_module_address_mock, + ): safe_4337_module_domain_separator_mock + }, + ) diff --git a/gnosis/safe/tests/api/test_transaction_service_api.py b/gnosis/safe/tests/api/test_transaction_service_api.py index e886a825a..abe487f20 100644 --- a/gnosis/safe/tests/api/test_transaction_service_api.py +++ b/gnosis/safe/tests/api/test_transaction_service_api.py @@ -4,16 +4,15 @@ from gnosis.eth import EthereumClient, EthereumNetwork, EthereumNetworkNotSupported from gnosis.eth.tests.ethereum_test_case import EthereumTestCaseMixin - -from ...api.transaction_service_api import TransactionServiceApi +from gnosis.safe.api.transaction_service_api import TransactionServiceApi class TestTransactionServiceAPI(EthereumTestCaseMixin, TestCase): def setUp(self) -> None: self.transaction_service_api = TransactionServiceApi( - EthereumNetwork.GOERLI, ethereum_client=self.ethereum_client + EthereumNetwork.GNOSIS, ethereum_client=self.ethereum_client ) - self.safe_address = "0x24833C9c4644a70250BCCBcB5f8529b609eaE6EC" + self.safe_address = "0xAedF684C1c41B51CbD228116e11484425d2FACB9" def test_constructor(self): ethereum_network = EthereumNetwork.GOERLI @@ -98,12 +97,14 @@ def test_data_decoded_to_text(self): def test_get_balances(self): balances = self.transaction_service_api.get_balances(self.safe_address) self.assertIsInstance(balances, list) + self.assertGreaterEqual(len(balances), 1) def test_get_transactions(self): transactions = self.transaction_service_api.get_transactions(self.safe_address) self.assertIsInstance(transactions, list) + self.assertEqual(len(transactions), 6) def test_get_safes_for_owner(self): - owner_address = "0x5aC255889882aCd3da2aA939679E3f3d4cea221e" + owner_address = "0x3066786706Ff0B6e71044e55074dBAE7D01573cB" safes = self.transaction_service_api.get_safes_for_owner(owner_address) - self.assertIn(self.safe_address, safes) + self.assertListEqual(safes, [self.safe_address]) diff --git a/gnosis/util/http.py b/gnosis/util/http.py new file mode 100644 index 000000000..12fb54057 --- /dev/null +++ b/gnosis/util/http.py @@ -0,0 +1,33 @@ +import requests + + +def prepare_http_session( + pool_connections: int, + pool_maxsize: int, + retry_count: int = 0, + pool_block: bool = False, +) -> requests.Session: + """ + Prepare http session with custom pooling. See: + https://urllib3.readthedocs.io/en/stable/advanced-usage.html + https://docs.python-requests.org/en/latest/api/#requests.adapters.HTTPAdapter + """ + session = requests.Session() + retry_conf = ( + requests.adapters.Retry( + total=retry_count, + backoff_factor=0.3, + ) + if retry_count + else 0 + ) + + adapter = requests.adapters.HTTPAdapter( + pool_connections=pool_connections, # Doing all the connections to the same url + pool_maxsize=pool_maxsize, # Number of concurrent connections + max_retries=retry_conf, # Nodes are not very responsive some times + pool_block=pool_block, + ) + session.mount("http://", adapter) + session.mount("https://", adapter) + return session diff --git a/requirements-test.txt b/requirements-test.txt index ece22fd8b..58fafd717 100644 --- a/requirements-test.txt +++ b/requirements-test.txt @@ -1,8 +1,8 @@ -r requirements.txt -coverage==7.4.0 -faker==21.0.0 -pytest==7.4.4 -pytest-django==4.7.0 +coverage==7.4.1 +faker==22.6.0 +pytest==8.0.1 +pytest-django==4.8.0 pytest-env==1.1.3 pytest-rerunfailures==13.0 -pytest-sugar==0.9.7 +pytest-sugar==1.0.0 diff --git a/requirements.txt b/requirements.txt index e8f367a6f..1164ec861 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,11 +1,11 @@ -django==4.2.7 +django==4.2.10 django-filter==23.5 djangorestframework==3.14.0 hexbytes==0.3.1 packaging psycopg2-binary==2.9.9 -py-evm==0.8.0b1 +py-evm==0.9.0b1 pysha3>=1.0.0,<2.0.0; python_version<"3.9" requests==2.31.0 safe-pysha3>=1.0.0; python_version>="3.9" -web3==6.12.0 +web3==6.14.0 diff --git a/gp_cli.py b/scripts/cowswap/cow_swap_cli.py similarity index 82% rename from gp_cli.py rename to scripts/cowswap/cow_swap_cli.py index f53008eb9..5e33f6555 100644 --- a/gp_cli.py +++ b/scripts/cowswap/cow_swap_cli.py @@ -1,6 +1,3 @@ -from gnosis.eth.utils import fast_keccak - - def confirm_prompt(question: str) -> bool: reply = None while reply not in ("y", "n"): @@ -14,16 +11,16 @@ def confirm_prompt(question: str) -> bool: import sys import time + from gnosis.cowsap import CowSwapAPI, Order, OrderKind from gnosis.eth import EthereumNetwork from gnosis.eth.constants import NULL_ADDRESS - from gnosis.protocol import GnosisProtocolAPI, Order, OrderKind PRIVATE_KEY = os.environ.get("PRIVATE_KEY") if not PRIVATE_KEY: print("Set PRIVATE_KEY as an environment variable") sys.exit(1) - parser = argparse.ArgumentParser(description="Place orders on Gnosis Protocol V2") + parser = argparse.ArgumentParser(description="Place orders on CowSwap") parser.add_argument( "--network", default=EthereumNetwork.RINKEBY.name, @@ -38,8 +35,8 @@ def confirm_prompt(question: str) -> bool: from_token = args.from_token to_token = args.to_token amount_wei = args.amount_wei - gnosis_protocol_api = GnosisProtocolAPI(EthereumNetwork[args.network.upper()]) - buy_amount_response = gnosis_protocol_api.get_estimated_amount( + cow_swap_api = CowSwapAPI(EthereumNetwork[args.network.upper()]) + buy_amount_response = cow_swap_api.get_estimated_amount( from_token, to_token, OrderKind.SELL, amount_wei ) @@ -55,7 +52,7 @@ def confirm_prompt(question: str) -> bool: sellAmount=amount_wei, buyAmount=buy_amount, validTo=int(time.time()) + (60 * 60), # Valid for 1 hour - appData=fast_keccak(text="gp-cli"), + appData={"version": "1.2.2", "appCode": "CowSwap CLI", "metadata": {}}, feeAmount=0, kind="sell", # `sell` or `buy` partiallyFillable=not args.require_full_fill, @@ -63,12 +60,12 @@ def confirm_prompt(question: str) -> bool: buyTokenBalance="erc20", # `erc20` or `internal` ) - order.feeAmount = gnosis_protocol_api.get_fee(order) + order.feeAmount = cow_swap_api.get_fee(order) if confirm_prompt( f"Exchanging {amount_wei} {from_token} to {buy_amount} {to_token}?" ): - result = gnosis_protocol_api.place_order(order, PRIVATE_KEY) + result = cow_swap_api.place_order(order, PRIVATE_KEY) if isinstance(result, dict): print(f"Cannot place order {result}") else: diff --git a/scripts/generators/generate_safe_deployments.py b/scripts/generators/generate_safe_deployments.py index 3bf1744b8..006aed0c1 100644 --- a/scripts/generators/generate_safe_deployments.py +++ b/scripts/generators/generate_safe_deployments.py @@ -6,7 +6,7 @@ from git import Repo GIT_URL = "https://github.com/safe-global/safe-deployments.git" -SAFE_DEPLOYMENTS_VERSION = "v1.29.0" # safe-deployments tag version +SAFE_DEPLOYMENTS_VERSION = "v1.32.0" # safe-deployments tag version REPO_DIR = "safe-deployments" # temporary folder to clone the repo DEPLOYMENTS_FOLDER = REPO_DIR + "/src/assets" # folder where the deployments are SAFE_ETH_PY_DEPLOYMENTS_PATH = "../../gnosis/safe/safe_deployments.py" # Full path where the deployment dictionary will be stored @@ -39,8 +39,8 @@ def generate_safe_deployments_py(): # Clone repo with get_safe_deployments() as repo: repo.git.checkout(SAFE_DEPLOYMENTS_VERSION) - for root, dirs, files in os.walk(DEPLOYMENTS_FOLDER, topdown=False): - for filename in files: + for root, _, files in sorted(os.walk(DEPLOYMENTS_FOLDER, topdown=False)): + for filename in sorted(files): repo_safe_deployment = json.load(open(os.path.join(root, filename))) safe_deployments.setdefault(repo_safe_deployment["version"], {})[ repo_safe_deployment["contractName"] diff --git a/setup.cfg b/setup.cfg index 3c59a2113..da9bfe3bd 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,6 +1,6 @@ [metadata] name = safe-eth-py -version = 6.0.0b14 +version = 6.0.0b16 description = Safe Ecosystem Foundation utilities for Ethereum projects long_description = file: README.rst long_description_content_type = text/x-rst; charset=UTF-8 @@ -31,6 +31,7 @@ classifiers = Programming Language :: Python :: 3.9 Programming Language :: Python :: 3.10 Programming Language :: Python :: 3.11 + Programming Language :: Python :: 3.12 Topic :: Internet :: WWW/HTTP Topic :: Internet :: WWW/HTTP :: Dynamic Content project_urls =