diff --git a/.github/workflows/release.moonstreamdb.yml b/.github/workflows/release.moonstreamdb.yml index 3a1bc05c..164b1479 100644 --- a/.github/workflows/release.moonstreamdb.yml +++ b/.github/workflows/release.moonstreamdb.yml @@ -7,7 +7,7 @@ on: defaults: run: - working-directory: db + working-directory: moonstreamdb jobs: publish: diff --git a/clients/python/README.md b/clients/python/README.md index f0bfac67..3a23f534 100644 --- a/clients/python/README.md +++ b/clients/python/README.md @@ -82,7 +82,7 @@ Stream of event packs will be generating from recent timestamp to older and inne **From timestamp to timestamp, from bottom to top** -When `start_time` is less then `end_time`. +When `start_time` is less than `end_time`. ```python for events in mc.create_stream( diff --git a/crawlers/deploy/deploy.bash b/crawlers/deploy/deploy.bash index 6707bff8..b6ac671f 100755 --- a/crawlers/deploy/deploy.bash +++ b/crawlers/deploy/deploy.bash @@ -106,6 +106,11 @@ WYRM_HISTORICAL_CRAWL_TRANSACTIONS_TIMER_FILE="wyrm-historical-crawl-transaction WYRM_HISTORICAL_CRAWL_EVENTS_SERVICE_FILE="wyrm-historical-crawl-events.service" WYRM_HISTORICAL_CRAWL_EVENTS_TIMER_FILE="wyrm-historical-crawl-events.timer" +# ZkSync Era testnet +ZKSYNC_ERA_TESTNET_SYNCHRONIZE_SERVICE="zksync-era-testnet-synchronize.service" +ZKSYNC_ERA_TESTNET_MISSING_SERVICE_FILE="zksync-era-testnet-missing.service" +ZKSYNC_ERA_TESTNET_MISSING_TIMER_FILE="zksync-era-testnet-missing.service" + set -eu echo @@ -499,3 +504,21 @@ cp "${SCRIPT_DIR}/${WYRM_HISTORICAL_CRAWL_EVENTS_SERVICE_FILE}" "/home/ubuntu/.c cp "${SCRIPT_DIR}/${WYRM_HISTORICAL_CRAWL_EVENTS_TIMER_FILE}" "/home/ubuntu/.config/systemd/user/${WYRM_HISTORICAL_CRAWL_EVENTS_TIMER_FILE}" XDG_RUNTIME_DIR="/run/user/1000" systemctl --user daemon-reload XDG_RUNTIME_DIR="/run/user/1000" systemctl --user restart --no-block "${WYRM_HISTORICAL_CRAWL_EVENTS_TIMER_FILE}" + +# ZkSync Era +echo +echo +echo -e "${PREFIX_INFO} Replacing existing ZkSync Era testnet block with transactions syncronizer service definition with ${ZKSYNC_ERA_TESTNET_SYNCHRONIZE_SERVICE}" +chmod 644 "${SCRIPT_DIR}/${ZKSYNC_ERA_TESTNET_SYNCHRONIZE_SERVICE}" +cp "${SCRIPT_DIR}/${ZKSYNC_ERA_TESTNET_SYNCHRONIZE_SERVICE}" "/home/ubuntu/.config/systemd/user/${ZKSYNC_ERA_TESTNET_SYNCHRONIZE_SERVICE}" +XDG_RUNTIME_DIR="/run/user/1000" systemctl --user daemon-reload +XDG_RUNTIME_DIR="/run/user/1000" systemctl --user restart --no-block "${ZKSYNC_ERA_TESTNET_SYNCHRONIZE_SERVICE}" + +echo +echo +echo -e "${PREFIX_INFO} Replacing existing ZkSync Era testnet missing service and timer with: ${ZKSYNC_ERA_TESTNET_MISSING_SERVICE_FILE}, ${ZKSYNC_ERA_TESTNET_MISSING_TIMER_FILE}" +chmod 644 "${SCRIPT_DIR}/${ZKSYNC_ERA_TESTNET_MISSING_SERVICE_FILE}" "${SCRIPT_DIR}/${ZKSYNC_ERA_TESTNET_MISSING_TIMER_FILE}" +cp "${SCRIPT_DIR}/${ZKSYNC_ERA_TESTNET_MISSING_SERVICE_FILE}" "/home/ubuntu/.config/systemd/user/${ZKSYNC_ERA_TESTNET_MISSING_SERVICE_FILE}" +cp "${SCRIPT_DIR}/${ZKSYNC_ERA_TESTNET_MISSING_TIMER_FILE}" "/home/ubuntu/.config/systemd/user/${ZKSYNC_ERA_TESTNET_MISSING_TIMER_FILE}" +XDG_RUNTIME_DIR="/run/user/1000" systemctl --user daemon-reload +XDG_RUNTIME_DIR="/run/user/1000" systemctl --user restart --no-block "${ZKSYNC_ERA_TESTNET_MISSING_TIMER_FILE}" \ No newline at end of file diff --git a/crawlers/deploy/zksync-era-testnet-missing.service b/crawlers/deploy/zksync-era-testnet-missing.service new file mode 100644 index 00000000..0a1a26da --- /dev/null +++ b/crawlers/deploy/zksync-era-testnet-missing.service @@ -0,0 +1,11 @@ +[Unit] +Description=Fill missing blocks at ZkSync Era testnet database +After=network.target + +[Service] +Type=oneshot +WorkingDirectory=/home/ubuntu/moonstream/crawlers/mooncrawl +EnvironmentFile=/home/ubuntu/moonstream-secrets/app.env +ExecStart=/home/ubuntu/moonstream-env/bin/python -m mooncrawl.crawler --access-id "${NB_CONTROLLER_ACCESS_ID}" blocks missing --blockchain zksync_era_testnet -n +CPUWeight=50 +SyslogIdentifier=zksync-era-testnet-missing \ No newline at end of file diff --git a/crawlers/deploy/zksync-era-testnet-missing.timer b/crawlers/deploy/zksync-era-testnet-missing.timer new file mode 100644 index 00000000..5837fb09 --- /dev/null +++ b/crawlers/deploy/zksync-era-testnet-missing.timer @@ -0,0 +1,9 @@ +[Unit] +Description=Fill missing blocks at ZkSync Era testnet database + +[Timer] +OnBootSec=120s +OnUnitActiveSec=15m + +[Install] +WantedBy=timers.target \ No newline at end of file diff --git a/crawlers/deploy/zksync-era-testnet-synchronize.service b/crawlers/deploy/zksync-era-testnet-synchronize.service new file mode 100644 index 00000000..ad9822d3 --- /dev/null +++ b/crawlers/deploy/zksync-era-testnet-synchronize.service @@ -0,0 +1,17 @@ +[Unit] +Description=ZkSync Era testnet block with transactions synchronizer +StartLimitIntervalSec=300 +StartLimitBurst=3 +After=network.target + +[Service] +Restart=on-failure +RestartSec=15s +WorkingDirectory=/home/ubuntu/moonstream/crawlers/mooncrawl +EnvironmentFile=/home/ubuntu/moonstream-secrets/app.env +ExecStart=/home/ubuntu/moonstream-env/bin/python -m mooncrawl.crawler --access-id "${NB_CONTROLLER_ACCESS_ID}" blocks synchronize --blockchain zksync_era_testnet -c 20 -j 2 +CPUWeight=90 +SyslogIdentifier=zksync-era-testnet-synchronize + +[Install] +WantedBy=multi-user.target \ No newline at end of file diff --git a/crawlers/mooncrawl/mooncrawl/blockchain.py b/crawlers/mooncrawl/mooncrawl/blockchain.py index e6656fd2..6b56f0c5 100644 --- a/crawlers/mooncrawl/mooncrawl/blockchain.py +++ b/crawlers/mooncrawl/mooncrawl/blockchain.py @@ -27,6 +27,7 @@ from .settings import ( MOONSTREAM_POLYGON_WEB3_PROVIDER_URI, MOONSTREAM_WYRM_WEB3_PROVIDER_URI, MOONSTREAM_XDAI_WEB3_PROVIDER_URI, + MOONSTREAM_ZKSYNC_ERA_TESTNET_WEB3_PROVIDER_URI, NB_ACCESS_ID_HEADER, NB_DATA_SOURCE_HEADER, WEB3_CLIENT_REQUEST_TIMEOUT_SECONDS, @@ -70,6 +71,8 @@ def connect( web3_uri = MOONSTREAM_XDAI_WEB3_PROVIDER_URI elif blockchain_type == AvailableBlockchainType.WYRM: web3_uri = MOONSTREAM_WYRM_WEB3_PROVIDER_URI + elif blockchain_type == AvailableBlockchainType.ZKSYNC_ERA_TESTNET: + web3_uri = MOONSTREAM_ZKSYNC_ERA_TESTNET_WEB3_PROVIDER_URI else: raise Exception("Wrong blockchain type provided for web3 URI") @@ -123,6 +126,19 @@ def add_block(db_session, block: Any, blockchain_type: AvailableBlockchainType) ) if blockchain_type == AvailableBlockchainType.XDAI: block_obj.author = block.author + if blockchain_type == AvailableBlockchainType.ZKSYNC_ERA_TESTNET: + block_obj.mix_hash = block.get("mixHash", "") + block_obj.sha3_uncles = block.get("sha3Uncles", "") + block_obj.l1_batch_number = ( + int(block.get("l1BatchNumber"), 0) + if block.get("l1BatchNumber") is not None + else None + ) + block_obj.l1_batch_timestamp = ( + int(block.get("l1BatchTimestamp"), 0) + if block.get("l1BatchTimestamp") is not None + else None + ) db_session.add(block_obj) @@ -152,6 +168,17 @@ def add_block_transactions( transaction_type=int(tx["type"], 0) if tx.get("type") is not None else None, value=tx.value, ) + if blockchain_type == AvailableBlockchainType.ZKSYNC_ERA_TESTNET: + tx_obj.l1_batch_number = ( + int(tx.get("l1BatchNumber"), 0) + if tx.get("l1BatchNumber") is not None + else None + ) + tx_obj.l1_batch_tx_index = ( + int(tx.get("l1BatchTxIndex"), 0) + if tx.get("l1BatchTxIndex") is not None + else None + ) db_session.add(tx_obj) diff --git a/crawlers/mooncrawl/mooncrawl/moonworm_crawler/continuous_crawler.py b/crawlers/mooncrawl/mooncrawl/moonworm_crawler/continuous_crawler.py index fa8249b6..3ab46897 100644 --- a/crawlers/mooncrawl/mooncrawl/moonworm_crawler/continuous_crawler.py +++ b/crawlers/mooncrawl/mooncrawl/moonworm_crawler/continuous_crawler.py @@ -130,6 +130,8 @@ def continuous_crawler( network = Network.xdai elif blockchain_type == AvailableBlockchainType.WYRM: network = Network.wyrm + elif blockchain_type == AvailableBlockchainType.ZKSYNC_ERA_TESTNET: + network = Network.zksync_era_testnet else: raise ValueError(f"Unknown blockchain type: {blockchain_type}") diff --git a/crawlers/mooncrawl/mooncrawl/moonworm_crawler/crawler.py b/crawlers/mooncrawl/mooncrawl/moonworm_crawler/crawler.py index de52d52e..0c7dfd54 100644 --- a/crawlers/mooncrawl/mooncrawl/moonworm_crawler/crawler.py +++ b/crawlers/mooncrawl/mooncrawl/moonworm_crawler/crawler.py @@ -35,6 +35,7 @@ class SubscriptionTypes(Enum): MUMBAI_BLOCKCHAIN = "mumbai_smartcontract" XDAI_BLOCKCHAIN = "xdai_smartcontract" WYRM_BLOCKCHAIN = "wyrm_smartcontract" + ZKSYNC_ERA_TESTNET_BLOCKCHAIN = "zksync_era_testnet_smartcontract" def abi_input_signature(input_abi: Dict[str, Any]) -> str: @@ -139,6 +140,8 @@ def blockchain_type_to_subscription_type( return SubscriptionTypes.XDAI_BLOCKCHAIN elif blockchain_type == AvailableBlockchainType.WYRM: return SubscriptionTypes.WYRM_BLOCKCHAIN + elif blockchain_type == AvailableBlockchainType.ZKSYNC_ERA_TESTNET: + return SubscriptionTypes.ZKSYNC_ERA_TESTNET_BLOCKCHAIN else: raise ValueError(f"Unknown blockchain type: {blockchain_type}") diff --git a/crawlers/mooncrawl/mooncrawl/moonworm_crawler/function_call_crawler.py b/crawlers/mooncrawl/mooncrawl/moonworm_crawler/function_call_crawler.py index 98e93b17..7bc27bd7 100644 --- a/crawlers/mooncrawl/mooncrawl/moonworm_crawler/function_call_crawler.py +++ b/crawlers/mooncrawl/mooncrawl/moonworm_crawler/function_call_crawler.py @@ -68,6 +68,8 @@ def function_call_crawler( network = Network.xdai elif blockchain_type == AvailableBlockchainType.WYRM: network = Network.wyrm + elif blockchain_type == AvailableBlockchainType.ZKSYNC_ERA_TESTNET: + network = Network.zksync_era_testnet else: raise ValueError(f"Unknown blockchain type: {blockchain_type}") diff --git a/crawlers/mooncrawl/mooncrawl/settings.py b/crawlers/mooncrawl/mooncrawl/settings.py index d9a24f70..b0d36b89 100644 --- a/crawlers/mooncrawl/mooncrawl/settings.py +++ b/crawlers/mooncrawl/mooncrawl/settings.py @@ -114,6 +114,14 @@ MOONSTREAM_WYRM_WEB3_PROVIDER_URI = os.environ.get( if MOONSTREAM_WYRM_WEB3_PROVIDER_URI == "": raise Exception("MOONSTREAM_WYRM_WEB3_PROVIDER_URI env variable is not set") +MOONSTREAM_ZKSYNC_ERA_TESTNET_WEB3_PROVIDER_URI = os.environ.get( + "MOONSTREAM_ZKSYNC_ERA_TESTNET_WEB3_PROVIDER_URI", "" +) +if MOONSTREAM_ZKSYNC_ERA_TESTNET_WEB3_PROVIDER_URI == "": + raise Exception( + "MOONSTREAM_ZKSYNC_ERA_TESTNET_WEB3_PROVIDER_URI env variable is not set" + ) + MOONSTREAM_CRAWL_WORKERS = 4 MOONSTREAM_CRAWL_WORKERS_RAW = os.environ.get("MOONSTREAM_CRAWL_WORKERS") try: diff --git a/crawlers/mooncrawl/mooncrawl/stats_worker/dashboard.py b/crawlers/mooncrawl/mooncrawl/stats_worker/dashboard.py index 71cc3320..2a223bdd 100644 --- a/crawlers/mooncrawl/mooncrawl/stats_worker/dashboard.py +++ b/crawlers/mooncrawl/mooncrawl/stats_worker/dashboard.py @@ -48,6 +48,7 @@ subscription_id_by_blockchain = { "mumbai": "mumbai_smartcontract", "xdai": "xdai_smartcontract", "wyrm": "wyrm_smartcontract", + "zksync_era_testnet": "zksync_era_testnet_smartcontract", } blockchain_by_subscription_id = { @@ -56,11 +57,13 @@ blockchain_by_subscription_id = { "mumbai_blockchain": "mumbai", "xdai_blockchain": "xdai", "wyrm_blockchain": "wyrm", + "zksync_era_testnet_blockchain": "zksync_era_testnet", "ethereum_smartcontract": "ethereum", "polygon_smartcontract": "polygon", "mumbai_smartcontract": "mumbai", "xdai_smartcontract": "xdai", "wyrm_smartcontract": "wyrm", + "zksync_era_testnet_smartcontract": "zksync_era_testnet", } diff --git a/crawlers/mooncrawl/mooncrawl/version.py b/crawlers/mooncrawl/mooncrawl/version.py index 581a985f..f04f8d7c 100644 --- a/crawlers/mooncrawl/mooncrawl/version.py +++ b/crawlers/mooncrawl/mooncrawl/version.py @@ -2,4 +2,4 @@ Moonstream crawlers version. """ -MOONCRAWL_VERSION = "0.3.1" +MOONCRAWL_VERSION = "0.3.2" diff --git a/crawlers/mooncrawl/sample.env b/crawlers/mooncrawl/sample.env index f1b863a0..57e91f94 100644 --- a/crawlers/mooncrawl/sample.env +++ b/crawlers/mooncrawl/sample.env @@ -25,6 +25,7 @@ export MOONSTREAM_POLYGON_WEB3_PROVIDER_URI="https://=0.2.8", "chardet", "fastapi", - "moonstreamdb>=0.3.3", + "moonstreamdb>=0.3.4", "moonstream>=0.1.1", "moonstream-entity>=0.0.5", "moonworm[moonstream]>=0.6.2", diff --git a/docs/architecture.md b/docs/architecture.md index 2e34473c..70de1557 100644 --- a/docs/architecture.md +++ b/docs/architecture.md @@ -49,7 +49,7 @@ the schema for this Postgres database as well as migrations that you can use to database yourself. The [`db/`](../db/) directory contains: -1. A Python package called `moonstreamdb` which defines the databse schema and can be used as a +1. A Python package called `moonstreamdb` which defines the database schema and can be used as a Python library to interact with the data store. 2. [Alembic](https://alembic.sqlalchemy.org/en/latest/) migrations which can be used via the [`alembic.sh`](../db/alembic.sh) shell script to run the migrations against a Postgres database diff --git a/moonstreamapi/moonstreamapi/actions.py b/moonstreamapi/moonstreamapi/actions.py index 04481578..93be86ae 100644 --- a/moonstreamapi/moonstreamapi/actions.py +++ b/moonstreamapi/moonstreamapi/actions.py @@ -59,11 +59,13 @@ blockchain_by_subscription_id = { "mumbai_blockchain": "mumbai", "xdai_blockchain": "xdai", "wyrm_blockchain": "wyrm", + "zksync_era_testnet_blockchain": "zksync_era_testnet", "ethereum_smartcontract": "ethereum", "polygon_smartcontract": "polygon", "mumbai_smartcontract": "mumbai", "xdai_smartcontract": "xdai", "wyrm_smartcontract": "wyrm", + "zksync_era_testnet_smartcontract": "zksync_era_testnet", } diff --git a/moonstreamapi/moonstreamapi/admin/cli.py b/moonstreamapi/moonstreamapi/admin/cli.py index 5ede37dd..b05a595a 100644 --- a/moonstreamapi/moonstreamapi/admin/cli.py +++ b/moonstreamapi/moonstreamapi/admin/cli.py @@ -478,18 +478,12 @@ This CLI is configured to work with the following API URLs: parser_moonworm_tasks_add.set_defaults(func=moonworm_tasks_add_subscription_handler) - - queries_parser = subcommands.add_parser( "queries", description="Manage Moonstream queries" ) queries_parser.set_defaults(func=lambda _: queries_parser.print_help()) - - - queries_subcommands = queries_parser.add_subparsers( - description="Query commands" - ) + queries_subcommands = queries_parser.add_subparsers(description="Query commands") create_query_parser = queries_subcommands.add_parser( "create-template", description="Create query template" diff --git a/moonstreamapi/moonstreamapi/admin/queries.py b/moonstreamapi/moonstreamapi/admin/queries.py index 9828a0fa..cee48772 100644 --- a/moonstreamapi/moonstreamapi/admin/queries.py +++ b/moonstreamapi/moonstreamapi/admin/queries.py @@ -24,12 +24,11 @@ from ..actions import get_all_entries_from_search, name_normalization logger = logging.getLogger(__name__) - def create_query_template(args: argparse.Namespace) -> None: """ Create query template for all queries resources. """ - + query = "" with args.query_file: query = textwrap.indent(args.query_file.read(), " ") @@ -39,7 +38,6 @@ def create_query_template(args: argparse.Namespace) -> None: name = f"template_{name_normalization(args.name)}" try: - entry = bc.create_entry( journal_id=MOONSTREAM_QUERIES_JOURNAL_ID, title=args.name, @@ -51,18 +49,17 @@ def create_query_template(args: argparse.Namespace) -> None: token=MOONSTREAM_ADMIN_ACCESS_TOKEN, timeout=BUGOUT_REQUEST_TIMEOUT_SECONDS, ) - + except BugoutResponseException as err: logger.error(f"Failed to create query template: {err}") return except Exception as err: logger.error(f"Failed to create query template: {err}") return - + logger.info(f"Query template created: {entry.id}") logger.info(f"Query template created url name: {name}") - ### Add query id try: @@ -81,4 +78,4 @@ def create_query_template(args: argparse.Namespace) -> None: logger.error(f"Failed to add query id: {err}") return - logger.info(f"Query created: {json.dumps(entry.dict(), indent=4)}") \ No newline at end of file + logger.info(f"Query created: {json.dumps(entry.dict(), indent=4)}") diff --git a/moonstreamapi/moonstreamapi/admin/subscription_types.py b/moonstreamapi/moonstreamapi/admin/subscription_types.py index 6cc23da4..2f9088ef 100644 --- a/moonstreamapi/moonstreamapi/admin/subscription_types.py +++ b/moonstreamapi/moonstreamapi/admin/subscription_types.py @@ -72,6 +72,17 @@ CANONICAL_SUBSCRIPTION_TYPES = { stripe_price_id=None, active=True, ), + "zksync_era_testnet_smartcontract": SubscriptionTypeResourceData( + id="zksync_era_testnet_smartcontract", + name="zkSync Era testnet smartcontract", + blockchain="zksync_era_testnet", + choices=["input:address", "tag:erc721"], + description="Contracts events and tx_calls of contract of zkSync Era testnet blockchain.", + icon_url="https://s3.amazonaws.com/static.simiotics.com/moonstream/assets/zksync-era-testnet-token-logo.png", + stripe_product_id=None, + stripe_price_id=None, + active=True, + ), "ethereum_blockchain": SubscriptionTypeResourceData( id="ethereum_blockchain", name="Ethereum transactions", @@ -127,6 +138,17 @@ CANONICAL_SUBSCRIPTION_TYPES = { stripe_price_id=None, active=False, ), + "zksync_era_testnet_blockchain": SubscriptionTypeResourceData( + id="zksync_era_testnet_blockchain", + name="zkSync Era testnet transactions", + blockchain="zksync_era_testnet", + choices=["input:address", "tag:erc721"], + description="ZkSync Era testnet chain transactions subscription.", + icon_url="https://s3.amazonaws.com/static.simiotics.com/moonstream/assets/zksync-era-testnet-token-logo.png", + stripe_product_id=None, + stripe_price_id=None, + active=False, + ), "ethereum_whalewatch": SubscriptionTypeResourceData( id="ethereum_whalewatch", name="Ethereum whale watch", diff --git a/moonstreamapi/moonstreamapi/data.py b/moonstreamapi/moonstreamapi/data.py index d1eacc61..505a13d1 100644 --- a/moonstreamapi/moonstreamapi/data.py +++ b/moonstreamapi/moonstreamapi/data.py @@ -2,14 +2,17 @@ Pydantic schemas for the Moonstream HTTP API """ from datetime import datetime +import json from enum import Enum from typing import Any, Dict, List, Optional, Union, Literal from uuid import UUID from xmlrpc.client import Boolean +from fastapi import Form from pydantic import BaseModel, Field, validator from sqlalchemy import false + USER_ONBOARDING_STATE = "onboarding_state" BUGOUT_RESOURCE_QUERY_RESOLVER = "query_name_resolver" @@ -47,6 +50,8 @@ class SubscriptionResourceData(BaseModel): abi: Optional[str] color: Optional[str] label: Optional[str] + description: Optional[str] = None + tags: List[str] = Field(default_factory=list) user_id: str subscription_type_id: Optional[str] jobs_status: Optional[List[Dict[str, Any]]] = Field(default_factory=list) @@ -244,6 +249,40 @@ class SubdcriptionsAbiResponse(BaseModel): abi: str +class UpdateSubscriptionRequest(BaseModel): + color: Optional[str] = Form(None) + label: Optional[str] = Form(None) + abi: Optional[str] = Form(None) + description: Optional[str] = Form(None) + tags: Optional[List[Dict[str, str]]] = Form(None) + + @validator("tags", pre=True, always=True) + def transform_to_dict(cls, v): + if isinstance(v, str): + return json.loads(v) + elif isinstance(v, list): + return v + return [] + + +class CreateSubscriptionRequest(BaseModel): + address: str = Form(...) + subscription_type_id: str = Form(...) + color: str = Form(...) + label: str = Form(...) + abi: Optional[str] = Form(None) + description: Optional[str] = Form(None) + tags: Optional[List[Dict[str, str]]] = Form(None) + + @validator("tags", pre=True, always=True) + def transform_to_dict(cls, v): + if isinstance(v, str): + return json.loads(v) + elif isinstance(v, list): + return v + return [] + + class DashboardMeta(BaseModel): subscription_id: UUID generic: Optional[List[Dict[str, str]]] @@ -296,8 +335,8 @@ class QueryInfoResponse(BaseModel): preapprove: bool = False approved: bool = False parameters: Dict[str, Any] = Field(default_factory=dict) - created_at: Optional[datetime] - updated_at: Optional[datetime] + created_at: Optional[datetime] = None + updated_at: Optional[datetime] = None class SuggestedQueriesResponse(BaseModel): diff --git a/moonstreamapi/moonstreamapi/providers/__init__.py b/moonstreamapi/moonstreamapi/providers/__init__.py index 00511966..b72c41d2 100644 --- a/moonstreamapi/moonstreamapi/providers/__init__.py +++ b/moonstreamapi/moonstreamapi/providers/__init__.py @@ -51,10 +51,12 @@ event_providers: Dict[str, Any] = { moonworm_provider.PolygonMoonwormProvider.event_type: moonworm_provider.PolygonMoonwormProvider, moonworm_provider.MumbaiMoonwormProvider.event_type: moonworm_provider.MumbaiMoonwormProvider, moonworm_provider.XDaiMoonwormProvider.event_type: moonworm_provider.XDaiMoonwormProvider, + moonworm_provider.ZkSyncEraTestnetMoonwormProvider.event_type: moonworm_provider.ZkSyncEraTestnetMoonwormProvider, transactions.EthereumTransactions.event_type: transactions.EthereumTransactions, transactions.PolygonTransactions.event_type: transactions.PolygonTransactions, transactions.MumbaiTransactions.event_type: transactions.MumbaiTransactions, transactions.XDaiTransactions.event_type: transactions.XDaiTransactions, + transactions.ZkSyncEraTestnetTransactions.event_type: transactions.ZkSyncEraTestnetTransactions, bugout.polygon_whalewatch_provider.event_type: bugout.polygon_whalewatch_provider, bugout.ethereum_txpool_provider.event_type: bugout.ethereum_txpool_provider, bugout.ethereum_whalewatch_provider.event_type: bugout.ethereum_whalewatch_provider, diff --git a/moonstreamapi/moonstreamapi/providers/moonworm_provider.py b/moonstreamapi/moonstreamapi/providers/moonworm_provider.py index 2bd665dd..0b2810f1 100644 --- a/moonstreamapi/moonstreamapi/providers/moonworm_provider.py +++ b/moonstreamapi/moonstreamapi/providers/moonworm_provider.py @@ -21,6 +21,7 @@ ethereum_event_type = "ethereum_blockchain" polygon_event_type = "polygon_blockchain" mumbai_event_type = "mumbai_blockchain" xdai_event_type = "xdai_blockchain" +zksync_era_testnet_event_type = "zksync_era_testnet_blockchain" allowed_tags = ["tag:erc721"] description = f"""Event provider for transactions from the Ethereum blockchain. @@ -413,3 +414,10 @@ XDaiMoonwormProvider = MoonwormProvider( description="Provider for reviving transactions from XDai tables.", streamboaundary_range_limit=2 * 60 * 60, ) + +ZkSyncEraTestnetMoonwormProvider = MoonwormProvider( + event_type="zksync_era_testnet_smartcontract", + blockchain=AvailableBlockchainType("zksync_era_testnet"), + description="Provider for reviving transactions from zkSync Era testnet tables.", + streamboaundary_range_limit=2 * 60 * 60, +) diff --git a/moonstreamapi/moonstreamapi/providers/transactions.py b/moonstreamapi/moonstreamapi/providers/transactions.py index a031fa85..eacead1d 100644 --- a/moonstreamapi/moonstreamapi/providers/transactions.py +++ b/moonstreamapi/moonstreamapi/providers/transactions.py @@ -475,3 +475,10 @@ XDaiTransactions = TransactionsProvider( description="Provider for resiving transactions from XDai tables.", streamboaundary_range_limit=2 * 60 * 60, ) + +ZkSyncEraTestnetTransactions = TransactionsProvider( + event_type="zksync_era_testnet_blockchain", + blockchain=AvailableBlockchainType("zksync_era_testnet"), + description="Provider for resiving transactions from ZkSync Era testnet tables.", + streamboaundary_range_limit=2 * 60 * 60, +) diff --git a/moonstreamapi/moonstreamapi/routes/queries.py b/moonstreamapi/moonstreamapi/routes/queries.py index c658e9e9..9f468065 100644 --- a/moonstreamapi/moonstreamapi/routes/queries.py +++ b/moonstreamapi/moonstreamapi/routes/queries.py @@ -7,7 +7,6 @@ from typing import Any, Dict, List, Optional, Tuple, Union from uuid import UUID - from bugout.data import BugoutResources, BugoutJournalEntryContent, BugoutJournalEntry from bugout.exceptions import BugoutResponseException from fastapi import APIRouter, Body, Request @@ -157,7 +156,6 @@ async def create_query_handler( return entry - @router.get("/templates", tags=["queries"]) def get_suggested_queries( supported_interfaces: Optional[List[str]] = None, @@ -223,7 +221,6 @@ async def get_query_handler( ) -> data.QueryInfoResponse: token = request.state.token - # normalize query name try: @@ -234,7 +231,6 @@ async def get_query_handler( detail=f"Provided query name can't be normalize please select different.", ) - # check in templates try: @@ -283,7 +279,6 @@ async def get_query_handler( else: query_id = entries.results[0].entry_url.split("/")[-1] - entry = entries.results[0] try: @@ -312,7 +307,6 @@ async def get_query_handler( else: query_parameters[param] = None - print(type(entry.created_at)) return data.QueryInfoResponse( @@ -395,7 +389,6 @@ async def update_query_data_handler( detail=f"Provided query name can't be normalize please select different.", ) - # check in templates try: @@ -510,9 +503,7 @@ async def get_access_link_handler( token=MOONSTREAM_ADMIN_ACCESS_TOKEN, journal_id=MOONSTREAM_QUERIES_JOURNAL_ID, query=f"tag:query_template tag:query_url:{query_name_normalized}", - filters=[ - f"context_type:{MOONSTREAM_QUERY_TEMPLATE_CONTEXT_TYPE}" - ], + filters=[f"context_type:{MOONSTREAM_QUERY_TEMPLATE_CONTEXT_TYPE}"], limit=1, ) except BugoutResponseException as e: @@ -522,7 +513,6 @@ async def get_access_link_handler( raise MoonstreamHTTPException(status_code=500, internal_error=e) if len(entries.results) == 0: - try: query_id = get_query_by_name(query_name, token) except NameNormalizationException: @@ -532,7 +522,6 @@ async def get_access_link_handler( ) try: - entries = bc.search( token=MOONSTREAM_ADMIN_ACCESS_TOKEN, journal_id=MOONSTREAM_QUERIES_JOURNAL_ID, @@ -552,7 +541,6 @@ async def get_access_link_handler( ) try: - s3_response = None if entries.results[0].content: @@ -631,4 +619,4 @@ async def remove_query_handler( except Exception as e: raise MoonstreamHTTPException(status_code=500, internal_error=e) - return entry \ No newline at end of file + return entry diff --git a/moonstreamapi/moonstreamapi/routes/subscriptions.py b/moonstreamapi/moonstreamapi/routes/subscriptions.py index b13ca8e8..fd67fa2c 100644 --- a/moonstreamapi/moonstreamapi/routes/subscriptions.py +++ b/moonstreamapi/moonstreamapi/routes/subscriptions.py @@ -6,7 +6,6 @@ import hashlib import json import logging from typing import Any, Dict, List, Optional -import traceback from bugout.exceptions import BugoutResponseException from bugout.data import BugoutSearchResult @@ -29,7 +28,11 @@ from ..admin import subscription_types from ..middleware import MoonstreamHTTPException from ..reporter import reporter from ..settings import bugout_client as bc, entity_client as ec -from ..settings import MOONSTREAM_ADMIN_ACCESS_TOKEN, THREAD_TIMEOUT_SECONDS +from ..settings import ( + MOONSTREAM_ADMIN_ACCESS_TOKEN, + MOONSTREAM_ENTITIES_RESERVED_TAGS, + THREAD_TIMEOUT_SECONDS, +) from ..web3_provider import ( yield_web3_provider, ) @@ -49,11 +52,6 @@ BUGOUT_RESOURCE_TYPE_ENTITY_SUBSCRIPTION = "entity_subscription" async def add_subscription_handler( request: Request, background_tasks: BackgroundTasks, - address: str = Form(...), - color: str = Form(...), - label: str = Form(...), - subscription_type_id: str = Form(...), - abi: Optional[str] = Form(None), web3: Web3 = Depends(yield_web3_provider), ) -> data.SubscriptionResourceData: """ @@ -61,6 +59,21 @@ async def add_subscription_handler( """ token = request.state.token + form = await request.form() + + try: + form_data = data.CreateSubscriptionRequest(**form) + except Exception as e: + raise MoonstreamHTTPException(status_code=400, detail=str(e)) + + address = form_data.address + color = form_data.color + label = form_data.label + abi = form_data.abi + description = form_data.description + tags = form_data.tags + subscription_type_id = form_data.subscription_type_id + if subscription_type_id != "ethereum_whalewatch": try: address = web3.toChecksumAddress(address) @@ -124,6 +137,28 @@ async def add_subscription_handler( address, ) + if description: + content["description"] = description + + allowed_required_fields = [] + if tags: + allowed_required_fields = [ + item + for item in tags + if not any(key in item for key in MOONSTREAM_ENTITIES_RESERVED_TAGS) + ] + + required_fields = [ + {"type": "subscription"}, + {"subscription_type_id": f"{subscription_type_id}"}, + {"color": f"{color}"}, + {"label": f"{label}"}, + {"user_id": f"{user.id}"}, + ] + + if allowed_required_fields: + required_fields.extend(allowed_required_fields) + try: collection_id = get_entity_subscription_collection_id( resource_type=BUGOUT_RESOURCE_TYPE_ENTITY_SUBSCRIPTION, @@ -140,13 +175,7 @@ async def add_subscription_handler( subscription_type_id ].blockchain, name=label, - required_fields=[ - {"type": "subscription"}, - {"subscription_type_id": f"{subscription_type_id}"}, - {"color": f"{color}"}, - {"label": f"{label}"}, - {"user_id": f"{user.id}"}, - ], + required_fields=required_fields, secondary_fields=content, ) except EntityCollectionNotFoundException as e: @@ -163,6 +192,13 @@ async def add_subscription_handler( detail="Currently unable to get collection id", ) + normalized_entity_tags = [ + f"{key}:{value}" + for tag in entity.required_fields + for key, value in tag.items() + if key not in MOONSTREAM_ENTITIES_RESERVED_TAGS + ] + return data.SubscriptionResourceData( id=str(entity.entity_id), user_id=str(user.id), @@ -170,6 +206,8 @@ async def add_subscription_handler( color=color, label=label, abi=entity.secondary_fields.get("abi"), + description=entity.secondary_fields.get("description"), + tags=normalized_entity_tags, subscription_type_id=subscription_type_id, updated_at=entity.updated_at, created_at=entity.created_at, @@ -240,6 +278,8 @@ async def delete_subscription_handler(request: Request, subscription_id: str): color=color, label=label, abi=abi, + description=deleted_entity.secondary_fields.get("description"), + tags=deleted_entity.required_fields, subscription_type_id=subscription_type_id, updated_at=deleted_entity.updated_at, created_at=deleted_entity.created_at, @@ -303,6 +343,13 @@ async def get_subscriptions_handler( if "label" in tag: label = tag["label"] + normalized_entity_tags = [ + f"{key}:{value}" + for tag in tags + for key, value in tag.items() + if key not in MOONSTREAM_ENTITIES_RESERVED_TAGS + ] + subscriptions.append( data.SubscriptionResourceData( id=str(subscription.entity_id), @@ -311,6 +358,8 @@ async def get_subscriptions_handler( color=color, label=label, abi=subscription.secondary_fields.get("abi", None), + description=subscription.secondary_fields.get("description"), + tags=normalized_entity_tags, subscription_type_id=subscription_type_id, updated_at=subscription.updated_at, created_at=subscription.created_at, @@ -335,9 +384,6 @@ async def update_subscriptions_handler( request: Request, subscription_id: str, background_tasks: BackgroundTasks, - color: Optional[str] = Form(None), - label: Optional[str] = Form(None), - abi: Optional[str] = Form(None), ) -> data.SubscriptionResourceData: """ Get user's subscriptions. @@ -346,9 +392,17 @@ async def update_subscriptions_handler( user = request.state.user - update_required_fields = [] + form = await request.form() + try: + form_data = data.UpdateSubscriptionRequest(**form) + except Exception as e: + raise MoonstreamHTTPException(status_code=400, detail=str(e)) - update_secondary_fields = {} + color = form_data.color + label = form_data.label + abi = form_data.abi + description = form_data.description + tags = form_data.tags try: collection_id = get_entity_subscription_collection_id( @@ -366,7 +420,13 @@ async def update_subscriptions_handler( subscription_type_id = None - update_required_fields = subscription_entity.required_fields + update_required_fields = [ + field + for field in subscription_entity.required_fields + if any(key in field for key in MOONSTREAM_ENTITIES_RESERVED_TAGS) + ] + + update_secondary_fields = subscription_entity.secondary_fields for field in update_required_fields: if "subscription_type_id" in field: @@ -377,7 +437,7 @@ async def update_subscriptions_handler( f"Subscription entity {subscription_id} in collection {collection_id} has no subscription_type_id malformed subscription entity" ) raise MoonstreamHTTPException( - status_code=404, + status_code=409, detail="Not valid subscription entity", ) @@ -394,13 +454,19 @@ async def update_subscriptions_handler( raise MoonstreamHTTPException(status_code=500, internal_error=e) for field in update_required_fields: - if "color" in field and color is not None: - field["color"] = color + if "color" in field: + if color is not None: + field["color"] = color + else: + color = field["color"] - if "label" in field and label is not None: - field["label"] = label + if "label" in field: + if label is not None: + field["label"] = label + else: + label = field["label"] - if abi: + if abi is not None: try: json_abi = json.loads(abi) except json.JSONDecodeError: @@ -414,9 +480,19 @@ async def update_subscriptions_handler( hash = hashlib.md5(abi_string.encode("utf-8")).hexdigest() update_secondary_fields["abi_hash"] = hash - else: - update_secondary_fields = subscription_entity.secondary_fields + if description is not None: + update_secondary_fields["description"] = description + + if tags: + allowed_required_fields = [ + item + for item in tags + if not any(key in item for key in MOONSTREAM_ENTITIES_RESERVED_TAGS) + ] + + if allowed_required_fields: + update_required_fields.extend(allowed_required_fields) try: subscription = ec.update_entity( token=token, @@ -441,6 +517,13 @@ async def update_subscriptions_handler( subscription.address, ) + normalized_entity_tags = [ + f"{key}:{value}" + for tag in subscription.required_fields + for key, value in tag.items() + if key not in MOONSTREAM_ENTITIES_RESERVED_TAGS + ] + return data.SubscriptionResourceData( id=str(subscription.entity_id), user_id=str(user.id), @@ -448,6 +531,8 @@ async def update_subscriptions_handler( color=color, label=label, abi=subscription.secondary_fields.get("abi"), + description=subscription.secondary_fields.get("description"), + tags=normalized_entity_tags, subscription_type_id=subscription_type_id, updated_at=subscription_entity.updated_at, created_at=subscription_entity.created_at, diff --git a/moonstreamapi/moonstreamapi/selectors_storage.py b/moonstreamapi/moonstreamapi/selectors_storage.py index 44463cf6..a4da64e3 100644 --- a/moonstreamapi/moonstreamapi/selectors_storage.py +++ b/moonstreamapi/moonstreamapi/selectors_storage.py @@ -1,129 +1,26066 @@ selectors = { - "274c7b3c": {'name': 'ERC20PresetMinterPauser', 'selector': '274c7b3c', 'abi': [{'inputs': [], 'name': 'DEFAULT_ADMIN_ROLE', 'outputs': [{'internalType': 'bytes32', 'name': '', 'type': 'bytes32'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'MINTER_ROLE', 'outputs': [{'internalType': 'bytes32', 'name': '', 'type': 'bytes32'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'PAUSER_ROLE', 'outputs': [{'internalType': 'bytes32', 'name': '', 'type': 'bytes32'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'address', 'name': 'spender', 'type': 'address'}], 'name': 'allowance', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'approve', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'balanceOf', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'burn', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'burnFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'decimals', 'outputs': [{'internalType': 'uint8', 'name': '', 'type': 'uint8'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'subtractedValue', 'type': 'uint256'}], 'name': 'decreaseAllowance', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'bytes32', 'name': 'role', 'type': 'bytes32'}], 'name': 'getRoleAdmin', 'outputs': [{'internalType': 'bytes32', 'name': '', 'type': 'bytes32'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'bytes32', 'name': 'role', 'type': 'bytes32'}, {'internalType': 'uint256', 'name': 'index', 'type': 'uint256'}], 'name': 'getRoleMember', 'outputs': [{'internalType': 'address', 'name': '', 'type': 'address'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'bytes32', 'name': 'role', 'type': 'bytes32'}], 'name': 'getRoleMemberCount', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'bytes32', 'name': 'role', 'type': 'bytes32'}, {'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'grantRole', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'bytes32', 'name': 'role', 'type': 'bytes32'}, {'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'hasRole', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'addedValue', 'type': 'uint256'}], 'name': 'increaseAllowance', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'mint', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'name', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'pause', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'paused', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'bytes32', 'name': 'role', 'type': 'bytes32'}, {'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'renounceRole', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'bytes32', 'name': 'role', 'type': 'bytes32'}, {'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'revokeRole', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'symbol', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'totalSupply', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transfer', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transferFrom', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'unpause', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['DEFAULT_ADMIN_ROLE', 'MINTER_ROLE', 'PAUSER_ROLE', 'allowance', 'approve', 'balanceOf', 'burn', 'burnFrom', 'decimals', 'decreaseAllowance', 'getRoleAdmin', 'getRoleMember', 'getRoleMemberCount', 'grantRole', 'hasRole', 'increaseAllowance', 'mint', 'name', 'pause', 'paused', 'renounceRole', 'revokeRole', 'symbol', 'totalSupply', 'transfer', 'transferFrom', 'unpause']}, - "a264d2b1": {'name': 'ERC777Mock', 'selector': 'a264d2b1', 'abi': [{'inputs': [{'internalType': 'address', 'name': 'holder', 'type': 'address'}, {'internalType': 'address', 'name': 'spender', 'type': 'address'}], 'name': 'allowance', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}], 'name': 'approve', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'holder', 'type': 'address'}, {'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}], 'name': 'approveInternal', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}], 'name': 'authorizeOperator', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'tokenHolder', 'type': 'address'}], 'name': 'balanceOf', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'burn', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'decimals', 'outputs': [{'internalType': 'uint8', 'name': '', 'type': 'uint8'}], 'stateMutability': 'pure', 'type': 'function'}, {'inputs': [], 'name': 'defaultOperators', 'outputs': [{'internalType': 'address[]', 'name': '', 'type': 'address[]'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'granularity', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'internalType': 'address', 'name': 'tokenHolder', 'type': 'address'}], 'name': 'isOperatorFor', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}, {'internalType': 'bytes', 'name': 'userData', 'type': 'bytes'}, {'internalType': 'bytes', 'name': 'operatorData', 'type': 'bytes'}], 'name': 'mintInternal', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}, {'internalType': 'bytes', 'name': 'userData', 'type': 'bytes'}, {'internalType': 'bytes', 'name': 'operatorData', 'type': 'bytes'}, {'internalType': 'bool', 'name': 'requireReceptionAck', 'type': 'bool'}], 'name': 'mintInternalExtended', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'name', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}, {'internalType': 'bytes', 'name': 'operatorData', 'type': 'bytes'}], 'name': 'operatorBurn', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}, {'internalType': 'address', 'name': 'recipient', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}, {'internalType': 'bytes', 'name': 'operatorData', 'type': 'bytes'}], 'name': 'operatorSend', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}], 'name': 'revokeOperator', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'recipient', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'send', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'symbol', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'totalSupply', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'recipient', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transfer', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'holder', 'type': 'address'}, {'internalType': 'address', 'name': 'recipient', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transferFrom', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['allowance', 'approve', 'approveInternal', 'authorizeOperator', 'balanceOf', 'burn', 'decimals', 'defaultOperators', 'granularity', 'isOperatorFor', 'mintInternal', 'mintInternalExtended', 'name', 'operatorBurn', 'operatorSend', 'revokeOperator', 'send', 'symbol', 'totalSupply', 'transfer', 'transferFrom']}, - "01ffc9a7": {'name': 'ERC165MaliciousData', 'selector': '01ffc9a7', 'abi': [{'inputs': [{'internalType': 'bytes4', 'name': '', 'type': 'bytes4'}], 'name': 'supportsInterface', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'pure', 'type': 'function'}], 'functions_names': ['supportsInterface']}, - "572b6c05": {'name': 'ERC2771Context', 'selector': '572b6c05', 'abi': [{'inputs': [{'internalType': 'address', 'name': 'forwarder', 'type': 'address'}], 'name': 'isTrustedForwarder', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'view', 'type': 'function'}], 'functions_names': ['isTrustedForwarder']}, - "8ef63f04": {'name': 'ERC4626LimitsMock', 'selector': '8ef63f04', 'abi': [{'inputs': [{'internalType': 'address', 'name': 'target', 'type': 'address'}], 'name': 'AddressEmptyCode', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'AddressInsufficientBalance', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'currentAllowance', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'requestedDecrease', 'type': 'uint256'}], 'name': 'ERC20FailedDecreaseAllowance', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'allowance', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'needed', 'type': 'uint256'}], 'name': 'ERC20InsufficientAllowance', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'balance', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'needed', 'type': 'uint256'}], 'name': 'ERC20InsufficientBalance', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'approver', 'type': 'address'}], 'name': 'ERC20InvalidApprover', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'receiver', 'type': 'address'}], 'name': 'ERC20InvalidReceiver', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}], 'name': 'ERC20InvalidSender', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}], 'name': 'ERC20InvalidSpender', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'receiver', 'type': 'address'}, {'internalType': 'uint256', 'name': 'assets', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'max', 'type': 'uint256'}], 'name': 'ERC4626ExceededMaxDeposit', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'receiver', 'type': 'address'}, {'internalType': 'uint256', 'name': 'shares', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'max', 'type': 'uint256'}], 'name': 'ERC4626ExceededMaxMint', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'uint256', 'name': 'shares', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'max', 'type': 'uint256'}], 'name': 'ERC4626ExceededMaxRedeem', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'uint256', 'name': 'assets', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'max', 'type': 'uint256'}], 'name': 'ERC4626ExceededMaxWithdraw', 'type': 'error'}, {'inputs': [], 'name': 'FailedInnerCall', 'type': 'error'}, {'inputs': [], 'name': 'MathOverflowedMulDiv', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'token', 'type': 'address'}], 'name': 'SafeERC20FailedOperation', 'type': 'error'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}], 'name': 'Approval', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'sender', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'assets', 'type': 'uint256'}, {'indexed': False, 'internalType': 'uint256', 'name': 'shares', 'type': 'uint256'}], 'name': 'Deposit', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'from', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'to', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}], 'name': 'Transfer', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'sender', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'receiver', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'assets', 'type': 'uint256'}, {'indexed': False, 'internalType': 'uint256', 'name': 'shares', 'type': 'uint256'}], 'name': 'Withdraw', 'type': 'event'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'address', 'name': 'spender', 'type': 'address'}], 'name': 'allowance', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'approve', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'asset', 'outputs': [{'internalType': 'address', 'name': '', 'type': 'address'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'balanceOf', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'shares', 'type': 'uint256'}], 'name': 'convertToAssets', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'assets', 'type': 'uint256'}], 'name': 'convertToShares', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'decimals', 'outputs': [{'internalType': 'uint8', 'name': '', 'type': 'uint8'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'requestedDecrease', 'type': 'uint256'}], 'name': 'decreaseAllowance', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'assets', 'type': 'uint256'}, {'internalType': 'address', 'name': 'receiver', 'type': 'address'}], 'name': 'deposit', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'addedValue', 'type': 'uint256'}], 'name': 'increaseAllowance', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': '', 'type': 'address'}], 'name': 'maxDeposit', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': '', 'type': 'address'}], 'name': 'maxMint', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'maxRedeem', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'maxWithdraw', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'shares', 'type': 'uint256'}, {'internalType': 'address', 'name': 'receiver', 'type': 'address'}], 'name': 'mint', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'name', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'assets', 'type': 'uint256'}], 'name': 'previewDeposit', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'shares', 'type': 'uint256'}], 'name': 'previewMint', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'shares', 'type': 'uint256'}], 'name': 'previewRedeem', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'assets', 'type': 'uint256'}], 'name': 'previewWithdraw', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'shares', 'type': 'uint256'}, {'internalType': 'address', 'name': 'receiver', 'type': 'address'}, {'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'redeem', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'symbol', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'totalAssets', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'totalSupply', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transfer', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transferFrom', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'assets', 'type': 'uint256'}, {'internalType': 'address', 'name': 'receiver', 'type': 'address'}, {'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'withdraw', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['allowance', 'approve', 'asset', 'balanceOf', 'convertToAssets', 'convertToShares', 'decimals', 'decreaseAllowance', 'deposit', 'increaseAllowance', 'maxDeposit', 'maxMint', 'maxRedeem', 'maxWithdraw', 'mint', 'name', 'previewDeposit', 'previewMint', 'previewRedeem', 'previewWithdraw', 'redeem', 'symbol', 'totalAssets', 'totalSupply', 'transfer', 'transferFrom', 'withdraw']}, - "36372b07": {'name': 'IERC20', 'selector': '36372b07', 'abi': [{'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}], 'name': 'Approval', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'from', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'to', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}], 'name': 'Transfer', 'type': 'event'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'address', 'name': 'spender', 'type': 'address'}], 'name': 'allowance', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'approve', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'balanceOf', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'totalSupply', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transfer', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transferFrom', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['allowance', 'approve', 'balanceOf', 'totalSupply', 'transfer', 'transferFrom']}, - "8ba81481": {'name': 'ERC1155Pausable', 'selector': '8ba81481', 'abi': [{'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'ERC1155InsufficientApprovalForAll', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'balance', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'needed', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'ERC1155InsufficientBalance', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'approver', 'type': 'address'}], 'name': 'ERC1155InvalidApprover', 'type': 'error'}, {'inputs': [{'internalType': 'uint256', 'name': 'idsLength', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'valuesLength', 'type': 'uint256'}], 'name': 'ERC1155InvalidArrayLength', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}], 'name': 'ERC1155InvalidOperator', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'receiver', 'type': 'address'}], 'name': 'ERC1155InvalidReceiver', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}], 'name': 'ERC1155InvalidSender', 'type': 'error'}, {'inputs': [], 'name': 'EnforcedPause', 'type': 'error'}, {'inputs': [], 'name': 'ExpectedPause', 'type': 'error'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'account', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'indexed': False, 'internalType': 'bool', 'name': 'approved', 'type': 'bool'}], 'name': 'ApprovalForAll', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': False, 'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'Paused', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'from', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'to', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256[]', 'name': 'ids', 'type': 'uint256[]'}, {'indexed': False, 'internalType': 'uint256[]', 'name': 'values', 'type': 'uint256[]'}], 'name': 'TransferBatch', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'from', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'to', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'id', 'type': 'uint256'}, {'indexed': False, 'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}], 'name': 'TransferSingle', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': False, 'internalType': 'string', 'name': 'value', 'type': 'string'}, {'indexed': True, 'internalType': 'uint256', 'name': 'id', 'type': 'uint256'}], 'name': 'URI', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': False, 'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'Unpaused', 'type': 'event'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'uint256', 'name': 'id', 'type': 'uint256'}], 'name': 'balanceOf', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address[]', 'name': 'accounts', 'type': 'address[]'}, {'internalType': 'uint256[]', 'name': 'ids', 'type': 'uint256[]'}], 'name': 'balanceOfBatch', 'outputs': [{'internalType': 'uint256[]', 'name': '', 'type': 'uint256[]'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'address', 'name': 'operator', 'type': 'address'}], 'name': 'isApprovedForAll', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'paused', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256[]', 'name': 'ids', 'type': 'uint256[]'}, {'internalType': 'uint256[]', 'name': 'amounts', 'type': 'uint256[]'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'safeBatchTransferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'id', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'safeTransferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'internalType': 'bool', 'name': 'approved', 'type': 'bool'}], 'name': 'setApprovalForAll', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'name': 'uri', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}], 'functions_names': ['balanceOf', 'balanceOfBatch', 'isApprovedForAll', 'paused', 'safeBatchTransferFrom', 'safeTransferFrom', 'setApprovalForAll', 'uri']}, - "bf86c12d": {'name': 'ERC721BurnableMock', 'selector': 'bf86c12d', 'abi': [{'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'approve', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'balanceOf', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'burn', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'exists', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'getApproved', 'outputs': [{'internalType': 'address', 'name': '', 'type': 'address'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'address', 'name': 'operator', 'type': 'address'}], 'name': 'isApprovedForAll', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'mint', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'name', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'ownerOf', 'outputs': [{'internalType': 'address', 'name': '', 'type': 'address'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}, {'internalType': 'bytes', 'name': '_data', 'type': 'bytes'}], 'name': 'safeMint', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'safeMint', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'safeTransferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'safeTransferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'internalType': 'bool', 'name': 'approved', 'type': 'bool'}], 'name': 'setApprovalForAll', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'symbol', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'tokenURI', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'transferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['approve', 'balanceOf', 'burn', 'exists', 'getApproved', 'isApprovedForAll', 'mint', 'name', 'ownerOf', 'safeMint', 'safeMint', 'safeTransferFrom', 'safeTransferFrom', 'setApprovalForAll', 'symbol', 'tokenURI', 'transferFrom']}, - "2fec9aa3": {'name': 'ERC20VotesComp', 'selector': '2fec9aa3', 'abi': [{'inputs': [], 'name': 'DOMAIN_SEPARATOR', 'outputs': [{'internalType': 'bytes32', 'name': '', 'type': 'bytes32'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'address', 'name': 'spender', 'type': 'address'}], 'name': 'allowance', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'approve', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'balanceOf', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'uint32', 'name': 'pos', 'type': 'uint32'}], 'name': 'checkpoints', 'outputs': [{'components': [{'internalType': 'uint32', 'name': 'fromBlock', 'type': 'uint32'}, {'internalType': 'uint224', 'name': 'votes', 'type': 'uint224'}], 'internalType': 'struct ERC20Votes.Checkpoint', 'name': '', 'type': 'tuple'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'decimals', 'outputs': [{'internalType': 'uint8', 'name': '', 'type': 'uint8'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'subtractedValue', 'type': 'uint256'}], 'name': 'decreaseAllowance', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'delegatee', 'type': 'address'}], 'name': 'delegate', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'delegatee', 'type': 'address'}, {'internalType': 'uint256', 'name': 'nonce', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'expiry', 'type': 'uint256'}, {'internalType': 'uint8', 'name': 'v', 'type': 'uint8'}, {'internalType': 'bytes32', 'name': 'r', 'type': 'bytes32'}, {'internalType': 'bytes32', 'name': 's', 'type': 'bytes32'}], 'name': 'delegateBySig', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'delegates', 'outputs': [{'internalType': 'address', 'name': '', 'type': 'address'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'getCurrentVotes', 'outputs': [{'internalType': 'uint96', 'name': '', 'type': 'uint96'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'blockNumber', 'type': 'uint256'}], 'name': 'getPastTotalSupply', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'uint256', 'name': 'blockNumber', 'type': 'uint256'}], 'name': 'getPastVotes', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'uint256', 'name': 'blockNumber', 'type': 'uint256'}], 'name': 'getPriorVotes', 'outputs': [{'internalType': 'uint96', 'name': '', 'type': 'uint96'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'getVotes', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'addedValue', 'type': 'uint256'}], 'name': 'increaseAllowance', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'name', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'nonces', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'numCheckpoints', 'outputs': [{'internalType': 'uint32', 'name': '', 'type': 'uint32'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'deadline', 'type': 'uint256'}, {'internalType': 'uint8', 'name': 'v', 'type': 'uint8'}, {'internalType': 'bytes32', 'name': 'r', 'type': 'bytes32'}, {'internalType': 'bytes32', 'name': 's', 'type': 'bytes32'}], 'name': 'permit', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'symbol', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'totalSupply', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transfer', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transferFrom', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['DOMAIN_SEPARATOR', 'allowance', 'approve', 'balanceOf', 'checkpoints', 'decimals', 'decreaseAllowance', 'delegate', 'delegateBySig', 'delegates', 'getCurrentVotes', 'getPastTotalSupply', 'getPastVotes', 'getPriorVotes', 'getVotes', 'increaseAllowance', 'name', 'nonces', 'numCheckpoints', 'permit', 'symbol', 'totalSupply', 'transfer', 'transferFrom']}, - "f052c288": {'name': 'ERC4626DecimalMock', 'selector': 'f052c288', 'abi': [{'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'address', 'name': 'spender', 'type': 'address'}], 'name': 'allowance', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'approve', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'asset', 'outputs': [{'internalType': 'address', 'name': '', 'type': 'address'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'balanceOf', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'shares', 'type': 'uint256'}], 'name': 'convertToAssets', 'outputs': [{'internalType': 'uint256', 'name': 'assets', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'assets', 'type': 'uint256'}], 'name': 'convertToShares', 'outputs': [{'internalType': 'uint256', 'name': 'shares', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'decimals', 'outputs': [{'internalType': 'uint8', 'name': '', 'type': 'uint8'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'subtractedValue', 'type': 'uint256'}], 'name': 'decreaseAllowance', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'assets', 'type': 'uint256'}, {'internalType': 'address', 'name': 'receiver', 'type': 'address'}], 'name': 'deposit', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'addedValue', 'type': 'uint256'}], 'name': 'increaseAllowance', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': '', 'type': 'address'}], 'name': 'maxDeposit', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': '', 'type': 'address'}], 'name': 'maxMint', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'maxRedeem', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'maxWithdraw', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'shares', 'type': 'uint256'}, {'internalType': 'address', 'name': 'receiver', 'type': 'address'}], 'name': 'mint', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'mockBurn', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'mockMint', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'name', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'assets', 'type': 'uint256'}], 'name': 'previewDeposit', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'shares', 'type': 'uint256'}], 'name': 'previewMint', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'shares', 'type': 'uint256'}], 'name': 'previewRedeem', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'assets', 'type': 'uint256'}], 'name': 'previewWithdraw', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'shares', 'type': 'uint256'}, {'internalType': 'address', 'name': 'receiver', 'type': 'address'}, {'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'redeem', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'symbol', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'totalAssets', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'totalSupply', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transfer', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transferFrom', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'assets', 'type': 'uint256'}, {'internalType': 'address', 'name': 'receiver', 'type': 'address'}, {'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'withdraw', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['allowance', 'approve', 'asset', 'balanceOf', 'convertToAssets', 'convertToShares', 'decimals', 'decreaseAllowance', 'deposit', 'increaseAllowance', 'maxDeposit', 'maxMint', 'maxRedeem', 'maxWithdraw', 'mint', 'mockBurn', 'mockMint', 'name', 'previewDeposit', 'previewMint', 'previewRedeem', 'previewWithdraw', 'redeem', 'symbol', 'totalAssets', 'totalSupply', 'transfer', 'transferFrom', 'withdraw']}, - "12ab25d7": {'name': 'ERC721Votes', 'selector': '12ab25d7', 'abi': [{'inputs': [], 'name': 'CheckpointUnorderedInsertion', 'type': 'error'}, {'inputs': [], 'name': 'ECDSAInvalidSignature', 'type': 'error'}, {'inputs': [{'internalType': 'uint256', 'name': 'length', 'type': 'uint256'}], 'name': 'ECDSAInvalidSignatureLength', 'type': 'error'}, {'inputs': [{'internalType': 'bytes32', 'name': 's', 'type': 'bytes32'}], 'name': 'ECDSAInvalidSignatureS', 'type': 'error'}, {'inputs': [{'internalType': 'uint256', 'name': 'timepoint', 'type': 'uint256'}, {'internalType': 'uint48', 'name': 'clock', 'type': 'uint48'}], 'name': 'ERC5805FutureLookup', 'type': 'error'}, {'inputs': [], 'name': 'ERC6372InconsistentClock', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}, {'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'ERC721IncorrectOwner', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'ERC721InsufficientApproval', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'approver', 'type': 'address'}], 'name': 'ERC721InvalidApprover', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}], 'name': 'ERC721InvalidOperator', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'ERC721InvalidOwner', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'receiver', 'type': 'address'}], 'name': 'ERC721InvalidReceiver', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}], 'name': 'ERC721InvalidSender', 'type': 'error'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'ERC721NonexistentToken', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'uint256', 'name': 'currentNonce', 'type': 'uint256'}], 'name': 'InvalidAccountNonce', 'type': 'error'}, {'inputs': [{'internalType': 'uint8', 'name': 'bits', 'type': 'uint8'}, {'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}], 'name': 'SafeCastOverflowedUintDowncast', 'type': 'error'}, {'inputs': [{'internalType': 'uint256', 'name': 'expiry', 'type': 'uint256'}], 'name': 'VotesExpiredSignature', 'type': 'error'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'approved', 'type': 'address'}, {'indexed': True, 'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'Approval', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'indexed': False, 'internalType': 'bool', 'name': 'approved', 'type': 'bool'}], 'name': 'ApprovalForAll', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'delegator', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'fromDelegate', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'toDelegate', 'type': 'address'}], 'name': 'DelegateChanged', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'delegate', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'previousBalance', 'type': 'uint256'}, {'indexed': False, 'internalType': 'uint256', 'name': 'newBalance', 'type': 'uint256'}], 'name': 'DelegateVotesChanged', 'type': 'event'}, {'anonymous': False, 'inputs': [], 'name': 'EIP712DomainChanged', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'from', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'to', 'type': 'address'}, {'indexed': True, 'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'Transfer', 'type': 'event'}, {'inputs': [], 'name': 'CLOCK_MODE', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'approve', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'balanceOf', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'clock', 'outputs': [{'internalType': 'uint48', 'name': '', 'type': 'uint48'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'delegatee', 'type': 'address'}], 'name': 'delegate', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'delegatee', 'type': 'address'}, {'internalType': 'uint256', 'name': 'nonce', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'expiry', 'type': 'uint256'}, {'internalType': 'uint8', 'name': 'v', 'type': 'uint8'}, {'internalType': 'bytes32', 'name': 'r', 'type': 'bytes32'}, {'internalType': 'bytes32', 'name': 's', 'type': 'bytes32'}], 'name': 'delegateBySig', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'delegates', 'outputs': [{'internalType': 'address', 'name': '', 'type': 'address'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'eip712Domain', 'outputs': [{'internalType': 'bytes1', 'name': 'fields', 'type': 'bytes1'}, {'internalType': 'string', 'name': 'name', 'type': 'string'}, {'internalType': 'string', 'name': 'version', 'type': 'string'}, {'internalType': 'uint256', 'name': 'chainId', 'type': 'uint256'}, {'internalType': 'address', 'name': 'verifyingContract', 'type': 'address'}, {'internalType': 'bytes32', 'name': 'salt', 'type': 'bytes32'}, {'internalType': 'uint256[]', 'name': 'extensions', 'type': 'uint256[]'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'getApproved', 'outputs': [{'internalType': 'address', 'name': '', 'type': 'address'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'timepoint', 'type': 'uint256'}], 'name': 'getPastTotalSupply', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'uint256', 'name': 'timepoint', 'type': 'uint256'}], 'name': 'getPastVotes', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'getVotes', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'address', 'name': 'operator', 'type': 'address'}], 'name': 'isApprovedForAll', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'name', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'nonces', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'ownerOf', 'outputs': [{'internalType': 'address', 'name': '', 'type': 'address'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'safeTransferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'safeTransferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'internalType': 'bool', 'name': 'approved', 'type': 'bool'}], 'name': 'setApprovalForAll', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'symbol', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'tokenURI', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'transferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['CLOCK_MODE', 'approve', 'balanceOf', 'clock', 'delegate', 'delegateBySig', 'delegates', 'eip712Domain', 'getApproved', 'getPastTotalSupply', 'getPastVotes', 'getVotes', 'isApprovedForAll', 'name', 'nonces', 'ownerOf', 'safeTransferFrom', 'safeTransferFrom', 'setApprovalForAll', 'symbol', 'tokenURI', 'transferFrom']}, - "8e0a4fe1": {'name': 'ERC721URIStorageMock', 'selector': '8e0a4fe1', 'abi': [{'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}, {'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'ERC721IncorrectOwner', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'ERC721InsufficientApproval', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'approver', 'type': 'address'}], 'name': 'ERC721InvalidApprover', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}], 'name': 'ERC721InvalidOperator', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'ERC721InvalidOwner', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'receiver', 'type': 'address'}], 'name': 'ERC721InvalidReceiver', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}], 'name': 'ERC721InvalidSender', 'type': 'error'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'ERC721NonexistentToken', 'type': 'error'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'approved', 'type': 'address'}, {'indexed': True, 'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'Approval', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'indexed': False, 'internalType': 'bool', 'name': 'approved', 'type': 'bool'}], 'name': 'ApprovalForAll', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': False, 'internalType': 'uint256', 'name': '_fromTokenId', 'type': 'uint256'}, {'indexed': False, 'internalType': 'uint256', 'name': '_toTokenId', 'type': 'uint256'}], 'name': 'BatchMetadataUpdate', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': False, 'internalType': 'uint256', 'name': '_tokenId', 'type': 'uint256'}], 'name': 'MetadataUpdate', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'from', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'to', 'type': 'address'}, {'indexed': True, 'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'Transfer', 'type': 'event'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'approve', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'balanceOf', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'getApproved', 'outputs': [{'internalType': 'address', 'name': '', 'type': 'address'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'address', 'name': 'operator', 'type': 'address'}], 'name': 'isApprovedForAll', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'name', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'ownerOf', 'outputs': [{'internalType': 'address', 'name': '', 'type': 'address'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'safeTransferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'safeTransferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'internalType': 'bool', 'name': 'approved', 'type': 'bool'}], 'name': 'setApprovalForAll', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'string', 'name': 'newBaseTokenURI', 'type': 'string'}], 'name': 'setBaseURI', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'symbol', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'tokenURI', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'transferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['approve', 'balanceOf', 'getApproved', 'isApprovedForAll', 'name', 'ownerOf', 'safeTransferFrom', 'safeTransferFrom', 'setApprovalForAll', 'setBaseURI', 'symbol', 'tokenURI', 'transferFrom']}, - "1626ba7e": {'name': 'ERC1271MaliciousMock', 'selector': '1626ba7e', 'abi': [{'inputs': [{'internalType': 'bytes32', 'name': '', 'type': 'bytes32'}, {'internalType': 'bytes', 'name': '', 'type': 'bytes'}], 'name': 'isValidSignature', 'outputs': [{'internalType': 'bytes4', 'name': '', 'type': 'bytes4'}], 'stateMutability': 'pure', 'type': 'function'}], 'functions_names': ['isValidSignature']}, - "fe733816": {'name': 'ERC721EnumerableMock', 'selector': 'fe733816', 'abi': [{'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'approve', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'balanceOf', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'baseURI', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'burn', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'exists', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'getApproved', 'outputs': [{'internalType': 'address', 'name': '', 'type': 'address'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'address', 'name': 'operator', 'type': 'address'}], 'name': 'isApprovedForAll', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'mint', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'name', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'ownerOf', 'outputs': [{'internalType': 'address', 'name': '', 'type': 'address'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}, {'internalType': 'bytes', 'name': '_data', 'type': 'bytes'}], 'name': 'safeMint', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'safeMint', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'safeTransferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'safeTransferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'internalType': 'bool', 'name': 'approved', 'type': 'bool'}], 'name': 'setApprovalForAll', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'string', 'name': 'newBaseTokenURI', 'type': 'string'}], 'name': 'setBaseURI', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'symbol', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'index', 'type': 'uint256'}], 'name': 'tokenByIndex', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'uint256', 'name': 'index', 'type': 'uint256'}], 'name': 'tokenOfOwnerByIndex', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'tokenURI', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'totalSupply', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'transferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['approve', 'balanceOf', 'baseURI', 'burn', 'exists', 'getApproved', 'isApprovedForAll', 'mint', 'name', 'ownerOf', 'safeMint', 'safeMint', 'safeTransferFrom', 'safeTransferFrom', 'setApprovalForAll', 'setBaseURI', 'symbol', 'tokenByIndex', 'tokenOfOwnerByIndex', 'tokenURI', 'totalSupply', 'transferFrom']}, - "65289bcd": {'name': 'ERC20ReturnTrueMock', 'selector': '65289bcd', 'abi': [{'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'address', 'name': '', 'type': 'address'}], 'name': 'allowance', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': '', 'type': 'address'}, {'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'name': 'approve', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'allowance_', 'type': 'uint256'}], 'name': 'setAllowance', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': '', 'type': 'address'}, {'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'name': 'transfer', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': '', 'type': 'address'}, {'internalType': 'address', 'name': '', 'type': 'address'}, {'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'name': 'transferFrom', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['allowance', 'approve', 'setAllowance', 'transfer', 'transferFrom']}, - "690aaefd": {'name': 'ERC20Wrapper', 'selector': '690aaefd', 'abi': [{'inputs': [{'internalType': 'address', 'name': 'target', 'type': 'address'}], 'name': 'AddressEmptyCode', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'AddressInsufficientBalance', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'currentAllowance', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'requestedDecrease', 'type': 'uint256'}], 'name': 'ERC20FailedDecreaseAllowance', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'allowance', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'needed', 'type': 'uint256'}], 'name': 'ERC20InsufficientAllowance', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'balance', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'needed', 'type': 'uint256'}], 'name': 'ERC20InsufficientBalance', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'approver', 'type': 'address'}], 'name': 'ERC20InvalidApprover', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'receiver', 'type': 'address'}], 'name': 'ERC20InvalidReceiver', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}], 'name': 'ERC20InvalidSender', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}], 'name': 'ERC20InvalidSpender', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'token', 'type': 'address'}], 'name': 'ERC20InvalidUnderlying', 'type': 'error'}, {'inputs': [], 'name': 'FailedInnerCall', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'token', 'type': 'address'}], 'name': 'SafeERC20FailedOperation', 'type': 'error'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}], 'name': 'Approval', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'from', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'to', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}], 'name': 'Transfer', 'type': 'event'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'address', 'name': 'spender', 'type': 'address'}], 'name': 'allowance', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'approve', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'balanceOf', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'decimals', 'outputs': [{'internalType': 'uint8', 'name': '', 'type': 'uint8'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'requestedDecrease', 'type': 'uint256'}], 'name': 'decreaseAllowance', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'depositFor', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'addedValue', 'type': 'uint256'}], 'name': 'increaseAllowance', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'name', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'symbol', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'totalSupply', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transfer', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transferFrom', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'underlying', 'outputs': [{'internalType': 'contract IERC20', 'name': '', 'type': 'address'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'withdrawTo', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['allowance', 'approve', 'balanceOf', 'decimals', 'decreaseAllowance', 'depositFor', 'increaseAllowance', 'name', 'symbol', 'totalSupply', 'transfer', 'transferFrom', 'underlying', 'withdrawTo']}, - "01ffc9a7": {'name': 'ERC165MissingData', 'selector': '01ffc9a7', 'abi': [{'inputs': [{'internalType': 'bytes4', 'name': 'interfaceId', 'type': 'bytes4'}], 'name': 'supportsInterface', 'outputs': [], 'stateMutability': 'view', 'type': 'function'}], 'functions_names': ['supportsInterface']}, - "3273d15c": {'name': 'ERC20PresetFixedSupply', 'selector': '3273d15c', 'abi': [{'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'address', 'name': 'spender', 'type': 'address'}], 'name': 'allowance', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'approve', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'balanceOf', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'burn', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'burnFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'decimals', 'outputs': [{'internalType': 'uint8', 'name': '', 'type': 'uint8'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'subtractedValue', 'type': 'uint256'}], 'name': 'decreaseAllowance', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'addedValue', 'type': 'uint256'}], 'name': 'increaseAllowance', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'name', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'symbol', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'totalSupply', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transfer', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transferFrom', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['allowance', 'approve', 'balanceOf', 'burn', 'burnFrom', 'decimals', 'decreaseAllowance', 'increaseAllowance', 'name', 'symbol', 'totalSupply', 'transfer', 'transferFrom']}, - "71aa57a7": {'name': 'ERC1820ImplementerMock', 'selector': '71aa57a7', 'abi': [{'inputs': [{'internalType': 'bytes32', 'name': 'interfaceHash', 'type': 'bytes32'}, {'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'canImplementInterfaceForAddress', 'outputs': [{'internalType': 'bytes32', 'name': '', 'type': 'bytes32'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'bytes32', 'name': 'interfaceHash', 'type': 'bytes32'}, {'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'registerInterfaceForAddress', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['canImplementInterfaceForAddress', 'registerInterfaceForAddress']}, - "2f33d60e": {'name': 'ERC20FlashMintMock', 'selector': '2f33d60e', 'abi': [{'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'currentAllowance', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'requestedDecrease', 'type': 'uint256'}], 'name': 'ERC20FailedDecreaseAllowance', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'allowance', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'needed', 'type': 'uint256'}], 'name': 'ERC20InsufficientAllowance', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'balance', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'needed', 'type': 'uint256'}], 'name': 'ERC20InsufficientBalance', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'approver', 'type': 'address'}], 'name': 'ERC20InvalidApprover', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'receiver', 'type': 'address'}], 'name': 'ERC20InvalidReceiver', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}], 'name': 'ERC20InvalidSender', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}], 'name': 'ERC20InvalidSpender', 'type': 'error'}, {'inputs': [{'internalType': 'uint256', 'name': 'maxLoan', 'type': 'uint256'}], 'name': 'ERC3156ExceededMaxLoan', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'receiver', 'type': 'address'}], 'name': 'ERC3156InvalidReceiver', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'token', 'type': 'address'}], 'name': 'ERC3156UnsupportedToken', 'type': 'error'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}], 'name': 'Approval', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'from', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'to', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}], 'name': 'Transfer', 'type': 'event'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'address', 'name': 'spender', 'type': 'address'}], 'name': 'allowance', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'approve', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'balanceOf', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'decimals', 'outputs': [{'internalType': 'uint8', 'name': '', 'type': 'uint8'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'requestedDecrease', 'type': 'uint256'}], 'name': 'decreaseAllowance', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'token', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'flashFee', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'contract IERC3156FlashBorrower', 'name': 'receiver', 'type': 'address'}, {'internalType': 'address', 'name': 'token', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'flashLoan', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'addedValue', 'type': 'uint256'}], 'name': 'increaseAllowance', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'token', 'type': 'address'}], 'name': 'maxFlashLoan', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'name', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'setFlashFee', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'receiver', 'type': 'address'}], 'name': 'setFlashFeeReceiver', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'symbol', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'totalSupply', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transfer', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transferFrom', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['allowance', 'approve', 'balanceOf', 'decimals', 'decreaseAllowance', 'flashFee', 'flashLoan', 'increaseAllowance', 'maxFlashLoan', 'name', 'setFlashFee', 'setFlashFeeReceiver', 'symbol', 'totalSupply', 'transfer', 'transferFrom']}, - "d73f4e3a": {'name': 'ERC1155URIStorage', 'selector': 'd73f4e3a', 'abi': [{'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'ERC1155InsufficientApprovalForAll', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'balance', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'needed', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'ERC1155InsufficientBalance', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'approver', 'type': 'address'}], 'name': 'ERC1155InvalidApprover', 'type': 'error'}, {'inputs': [{'internalType': 'uint256', 'name': 'idsLength', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'valuesLength', 'type': 'uint256'}], 'name': 'ERC1155InvalidArrayLength', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}], 'name': 'ERC1155InvalidOperator', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'receiver', 'type': 'address'}], 'name': 'ERC1155InvalidReceiver', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}], 'name': 'ERC1155InvalidSender', 'type': 'error'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'account', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'indexed': False, 'internalType': 'bool', 'name': 'approved', 'type': 'bool'}], 'name': 'ApprovalForAll', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'from', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'to', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256[]', 'name': 'ids', 'type': 'uint256[]'}, {'indexed': False, 'internalType': 'uint256[]', 'name': 'values', 'type': 'uint256[]'}], 'name': 'TransferBatch', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'from', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'to', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'id', 'type': 'uint256'}, {'indexed': False, 'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}], 'name': 'TransferSingle', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': False, 'internalType': 'string', 'name': 'value', 'type': 'string'}, {'indexed': True, 'internalType': 'uint256', 'name': 'id', 'type': 'uint256'}], 'name': 'URI', 'type': 'event'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'uint256', 'name': 'id', 'type': 'uint256'}], 'name': 'balanceOf', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address[]', 'name': 'accounts', 'type': 'address[]'}, {'internalType': 'uint256[]', 'name': 'ids', 'type': 'uint256[]'}], 'name': 'balanceOfBatch', 'outputs': [{'internalType': 'uint256[]', 'name': '', 'type': 'uint256[]'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'address', 'name': 'operator', 'type': 'address'}], 'name': 'isApprovedForAll', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256[]', 'name': 'ids', 'type': 'uint256[]'}, {'internalType': 'uint256[]', 'name': 'amounts', 'type': 'uint256[]'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'safeBatchTransferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'id', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'safeTransferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'internalType': 'bool', 'name': 'approved', 'type': 'bool'}], 'name': 'setApprovalForAll', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'uri', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}], 'functions_names': ['balanceOf', 'balanceOfBatch', 'isApprovedForAll', 'safeBatchTransferFrom', 'safeTransferFrom', 'setApprovalForAll', 'uri']}, - "d385a1c6": {'name': 'ERC721Mock', 'selector': 'd385a1c6', 'abi': [{'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'approve', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'balanceOf', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'baseURI', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'burn', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'exists', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'getApproved', 'outputs': [{'internalType': 'address', 'name': '', 'type': 'address'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'address', 'name': 'operator', 'type': 'address'}], 'name': 'isApprovedForAll', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'mint', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'name', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'ownerOf', 'outputs': [{'internalType': 'address', 'name': '', 'type': 'address'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}, {'internalType': 'bytes', 'name': '_data', 'type': 'bytes'}], 'name': 'safeMint', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'safeMint', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'safeTransferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'safeTransferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'internalType': 'bool', 'name': 'approved', 'type': 'bool'}], 'name': 'setApprovalForAll', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'symbol', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'tokenURI', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'transferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['approve', 'balanceOf', 'baseURI', 'burn', 'exists', 'getApproved', 'isApprovedForAll', 'mint', 'name', 'ownerOf', 'safeMint', 'safeMint', 'safeTransferFrom', 'safeTransferFrom', 'setApprovalForAll', 'symbol', 'tokenURI', 'transferFrom']}, - "d9b67a26": {'name': 'IERC1155', 'selector': 'd9b67a26', 'abi': [{'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'account', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'indexed': False, 'internalType': 'bool', 'name': 'approved', 'type': 'bool'}], 'name': 'ApprovalForAll', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'from', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'to', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256[]', 'name': 'ids', 'type': 'uint256[]'}, {'indexed': False, 'internalType': 'uint256[]', 'name': 'values', 'type': 'uint256[]'}], 'name': 'TransferBatch', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'from', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'to', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'id', 'type': 'uint256'}, {'indexed': False, 'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}], 'name': 'TransferSingle', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': False, 'internalType': 'string', 'name': 'value', 'type': 'string'}, {'indexed': True, 'internalType': 'uint256', 'name': 'id', 'type': 'uint256'}], 'name': 'URI', 'type': 'event'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'uint256', 'name': 'id', 'type': 'uint256'}], 'name': 'balanceOf', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address[]', 'name': 'accounts', 'type': 'address[]'}, {'internalType': 'uint256[]', 'name': 'ids', 'type': 'uint256[]'}], 'name': 'balanceOfBatch', 'outputs': [{'internalType': 'uint256[]', 'name': '', 'type': 'uint256[]'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'address', 'name': 'operator', 'type': 'address'}], 'name': 'isApprovedForAll', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256[]', 'name': 'ids', 'type': 'uint256[]'}, {'internalType': 'uint256[]', 'name': 'amounts', 'type': 'uint256[]'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'safeBatchTransferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'id', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'safeTransferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'internalType': 'bool', 'name': 'approved', 'type': 'bool'}], 'name': 'setApprovalForAll', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['balanceOf', 'balanceOfBatch', 'isApprovedForAll', 'safeBatchTransferFrom', 'safeTransferFrom', 'setApprovalForAll']}, - "23e30c8b": {'name': 'ERC3156FlashBorrowerMock', 'selector': '23e30c8b', 'abi': [{'inputs': [{'internalType': 'bool', 'name': 'enableReturn', 'type': 'bool'}, {'internalType': 'bool', 'name': 'enableApprove', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'constructor'}, {'inputs': [{'internalType': 'address', 'name': 'target', 'type': 'address'}], 'name': 'AddressEmptyCode', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'AddressInsufficientBalance', 'type': 'error'}, {'inputs': [], 'name': 'FailedInnerCall', 'type': 'error'}, {'anonymous': False, 'inputs': [{'indexed': False, 'internalType': 'address', 'name': 'token', 'type': 'address'}, {'indexed': False, 'internalType': 'address', 'name': 'account', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}], 'name': 'BalanceOf', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': False, 'internalType': 'address', 'name': 'token', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}], 'name': 'TotalSupply', 'type': 'event'}, {'inputs': [{'internalType': 'address', 'name': '', 'type': 'address'}, {'internalType': 'address', 'name': 'token', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'fee', 'type': 'uint256'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'onFlashLoan', 'outputs': [{'internalType': 'bytes32', 'name': '', 'type': 'bytes32'}], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['onFlashLoan']}, - "84b0196e": {'name': 'IERC5267', 'selector': '84b0196e', 'abi': [{'anonymous': False, 'inputs': [], 'name': 'EIP712DomainChanged', 'type': 'event'}, {'inputs': [], 'name': 'eip712Domain', 'outputs': [{'internalType': 'bytes1', 'name': 'fields', 'type': 'bytes1'}, {'internalType': 'string', 'name': 'name', 'type': 'string'}, {'internalType': 'string', 'name': 'version', 'type': 'string'}, {'internalType': 'uint256', 'name': 'chainId', 'type': 'uint256'}, {'internalType': 'address', 'name': 'verifyingContract', 'type': 'address'}, {'internalType': 'bytes32', 'name': 'salt', 'type': 'bytes32'}, {'internalType': 'uint256[]', 'name': 'extensions', 'type': 'uint256[]'}], 'stateMutability': 'view', 'type': 'function'}], 'functions_names': ['eip712Domain']}, - "2a55205a": {'name': 'ERC2981', 'selector': '2a55205a', 'abi': [{'inputs': [{'internalType': 'uint256', 'name': 'numerator', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'denominator', 'type': 'uint256'}], 'name': 'ERC2981InvalidDefaultRoyalty', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'receiver', 'type': 'address'}], 'name': 'ERC2981InvalidDefaultRoyaltyReceiver', 'type': 'error'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'numerator', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'denominator', 'type': 'uint256'}], 'name': 'ERC2981InvalidTokenRoyalty', 'type': 'error'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}, {'internalType': 'address', 'name': 'receiver', 'type': 'address'}], 'name': 'ERC2981InvalidTokenRoyaltyReceiver', 'type': 'error'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'salePrice', 'type': 'uint256'}], 'name': 'royaltyInfo', 'outputs': [{'internalType': 'address', 'name': '', 'type': 'address'}, {'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}], 'functions_names': ['royaltyInfo']}, - "0929daa4": {'name': 'ERC20ReturnFalseMock', 'selector': '0929daa4', 'abi': [{'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'currentAllowance', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'requestedDecrease', 'type': 'uint256'}], 'name': 'ERC20FailedDecreaseAllowance', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'allowance', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'needed', 'type': 'uint256'}], 'name': 'ERC20InsufficientAllowance', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'balance', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'needed', 'type': 'uint256'}], 'name': 'ERC20InsufficientBalance', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'approver', 'type': 'address'}], 'name': 'ERC20InvalidApprover', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'receiver', 'type': 'address'}], 'name': 'ERC20InvalidReceiver', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}], 'name': 'ERC20InvalidSender', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}], 'name': 'ERC20InvalidSpender', 'type': 'error'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}], 'name': 'Approval', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'from', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'to', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}], 'name': 'Transfer', 'type': 'event'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'address', 'name': 'spender', 'type': 'address'}], 'name': 'allowance', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': '', 'type': 'address'}, {'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'name': 'approve', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'pure', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'balanceOf', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'decimals', 'outputs': [{'internalType': 'uint8', 'name': '', 'type': 'uint8'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'requestedDecrease', 'type': 'uint256'}], 'name': 'decreaseAllowance', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'addedValue', 'type': 'uint256'}], 'name': 'increaseAllowance', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'name', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'symbol', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'totalSupply', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': '', 'type': 'address'}, {'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'name': 'transfer', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'pure', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': '', 'type': 'address'}, {'internalType': 'address', 'name': '', 'type': 'address'}, {'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'name': 'transferFrom', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'pure', 'type': 'function'}], 'functions_names': ['allowance', 'approve', 'balanceOf', 'decimals', 'decreaseAllowance', 'increaseAllowance', 'name', 'symbol', 'totalSupply', 'transfer', 'transferFrom']}, - "9d8ff7da": {'name': 'IERC2612', 'selector': '9d8ff7da', 'abi': [{'inputs': [], 'name': 'DOMAIN_SEPARATOR', 'outputs': [{'internalType': 'bytes32', 'name': '', 'type': 'bytes32'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'nonces', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'deadline', 'type': 'uint256'}, {'internalType': 'uint8', 'name': 'v', 'type': 'uint8'}, {'internalType': 'bytes32', 'name': 'r', 'type': 'bytes32'}, {'internalType': 'bytes32', 'name': 's', 'type': 'bytes32'}], 'name': 'permit', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['DOMAIN_SEPARATOR', 'nonces', 'permit']}, - "8a3350b0": {'name': 'ERC777', 'selector': '8a3350b0', 'abi': [{'inputs': [{'internalType': 'address', 'name': 'holder', 'type': 'address'}, {'internalType': 'address', 'name': 'spender', 'type': 'address'}], 'name': 'allowance', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}], 'name': 'approve', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}], 'name': 'authorizeOperator', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'tokenHolder', 'type': 'address'}], 'name': 'balanceOf', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'burn', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'decimals', 'outputs': [{'internalType': 'uint8', 'name': '', 'type': 'uint8'}], 'stateMutability': 'pure', 'type': 'function'}, {'inputs': [], 'name': 'defaultOperators', 'outputs': [{'internalType': 'address[]', 'name': '', 'type': 'address[]'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'granularity', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'internalType': 'address', 'name': 'tokenHolder', 'type': 'address'}], 'name': 'isOperatorFor', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'name', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}, {'internalType': 'bytes', 'name': 'operatorData', 'type': 'bytes'}], 'name': 'operatorBurn', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}, {'internalType': 'address', 'name': 'recipient', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}, {'internalType': 'bytes', 'name': 'operatorData', 'type': 'bytes'}], 'name': 'operatorSend', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}], 'name': 'revokeOperator', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'recipient', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'send', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'symbol', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'totalSupply', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'recipient', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transfer', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'holder', 'type': 'address'}, {'internalType': 'address', 'name': 'recipient', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transferFrom', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['allowance', 'approve', 'authorizeOperator', 'balanceOf', 'burn', 'decimals', 'defaultOperators', 'granularity', 'isOperatorFor', 'name', 'operatorBurn', 'operatorSend', 'revokeOperator', 'send', 'symbol', 'totalSupply', 'transfer', 'transferFrom']}, - "88cc3f92": {'name': 'ERC721VotesMock', 'selector': '88cc3f92', 'abi': [{'inputs': [], 'name': 'DOMAIN_SEPARATOR', 'outputs': [{'internalType': 'bytes32', 'name': '', 'type': 'bytes32'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'approve', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'balanceOf', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'burn', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'delegatee', 'type': 'address'}], 'name': 'delegate', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'delegatee', 'type': 'address'}, {'internalType': 'uint256', 'name': 'nonce', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'expiry', 'type': 'uint256'}, {'internalType': 'uint8', 'name': 'v', 'type': 'uint8'}, {'internalType': 'bytes32', 'name': 'r', 'type': 'bytes32'}, {'internalType': 'bytes32', 'name': 's', 'type': 'bytes32'}], 'name': 'delegateBySig', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'delegates', 'outputs': [{'internalType': 'address', 'name': '', 'type': 'address'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'getApproved', 'outputs': [{'internalType': 'address', 'name': '', 'type': 'address'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'getChainId', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'blockNumber', 'type': 'uint256'}], 'name': 'getPastTotalSupply', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'uint256', 'name': 'blockNumber', 'type': 'uint256'}], 'name': 'getPastVotes', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'getTotalSupply', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'getVotes', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'address', 'name': 'operator', 'type': 'address'}], 'name': 'isApprovedForAll', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'mint', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'name', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'nonces', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'ownerOf', 'outputs': [{'internalType': 'address', 'name': '', 'type': 'address'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'safeTransferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'safeTransferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'internalType': 'bool', 'name': 'approved', 'type': 'bool'}], 'name': 'setApprovalForAll', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'symbol', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'tokenURI', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'transferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['DOMAIN_SEPARATOR', 'approve', 'balanceOf', 'burn', 'delegate', 'delegateBySig', 'delegates', 'getApproved', 'getChainId', 'getPastTotalSupply', 'getPastVotes', 'getTotalSupply', 'getVotes', 'isApprovedForAll', 'mint', 'name', 'nonces', 'ownerOf', 'safeTransferFrom', 'safeTransferFrom', 'setApprovalForAll', 'symbol', 'tokenURI', 'transferFrom']}, - "3528c9cb": {'name': 'ERC165InterfacesSupported', 'selector': '3528c9cb', 'abi': [{'inputs': [{'internalType': 'bytes4[]', 'name': 'interfaceIds', 'type': 'bytes4[]'}], 'stateMutability': 'nonpayable', 'type': 'constructor'}, {'inputs': [], 'name': 'INTERFACE_ID_ERC165', 'outputs': [{'internalType': 'bytes4', 'name': '', 'type': 'bytes4'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'bytes4', 'name': 'interfaceId', 'type': 'bytes4'}], 'name': 'supportsInterface', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'view', 'type': 'function'}], 'functions_names': ['INTERFACE_ID_ERC165', 'supportsInterface']}, - "9964273a": {'name': 'ERC721Burnable', 'selector': '9964273a', 'abi': [{'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}, {'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'ERC721IncorrectOwner', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'ERC721InsufficientApproval', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'approver', 'type': 'address'}], 'name': 'ERC721InvalidApprover', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}], 'name': 'ERC721InvalidOperator', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'ERC721InvalidOwner', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'receiver', 'type': 'address'}], 'name': 'ERC721InvalidReceiver', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}], 'name': 'ERC721InvalidSender', 'type': 'error'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'ERC721NonexistentToken', 'type': 'error'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'approved', 'type': 'address'}, {'indexed': True, 'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'Approval', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'indexed': False, 'internalType': 'bool', 'name': 'approved', 'type': 'bool'}], 'name': 'ApprovalForAll', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'from', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'to', 'type': 'address'}, {'indexed': True, 'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'Transfer', 'type': 'event'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'approve', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'balanceOf', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'burn', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'getApproved', 'outputs': [{'internalType': 'address', 'name': '', 'type': 'address'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'address', 'name': 'operator', 'type': 'address'}], 'name': 'isApprovedForAll', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'name', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'ownerOf', 'outputs': [{'internalType': 'address', 'name': '', 'type': 'address'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'safeTransferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'safeTransferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'internalType': 'bool', 'name': 'approved', 'type': 'bool'}], 'name': 'setApprovalForAll', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'symbol', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'tokenURI', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'transferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['approve', 'balanceOf', 'burn', 'getApproved', 'isApprovedForAll', 'name', 'ownerOf', 'safeTransferFrom', 'safeTransferFrom', 'setApprovalForAll', 'symbol', 'tokenURI', 'transferFrom']}, - "b7774ea0": {'name': 'ERC2771ContextMock', 'selector': 'b7774ea0', 'abi': [{'inputs': [{'internalType': 'address', 'name': 'trustedForwarder', 'type': 'address'}], 'stateMutability': 'nonpayable', 'type': 'constructor'}, {'anonymous': False, 'inputs': [{'indexed': False, 'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}, {'indexed': False, 'internalType': 'uint256', 'name': 'integerValue', 'type': 'uint256'}, {'indexed': False, 'internalType': 'string', 'name': 'stringValue', 'type': 'string'}], 'name': 'Data', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': False, 'internalType': 'address', 'name': 'sender', 'type': 'address'}], 'name': 'Sender', 'type': 'event'}, {'inputs': [{'internalType': 'address', 'name': 'forwarder', 'type': 'address'}], 'name': 'isTrustedForwarder', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'integerValue', 'type': 'uint256'}, {'internalType': 'string', 'name': 'stringValue', 'type': 'string'}], 'name': 'msgData', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'msgSender', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['isTrustedForwarder', 'msgData', 'msgSender']}, - "876511e9": {'name': 'ERC721Pausable', 'selector': '876511e9', 'abi': [{'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}, {'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'ERC721IncorrectOwner', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'ERC721InsufficientApproval', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'approver', 'type': 'address'}], 'name': 'ERC721InvalidApprover', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}], 'name': 'ERC721InvalidOperator', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'ERC721InvalidOwner', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'receiver', 'type': 'address'}], 'name': 'ERC721InvalidReceiver', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}], 'name': 'ERC721InvalidSender', 'type': 'error'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'ERC721NonexistentToken', 'type': 'error'}, {'inputs': [], 'name': 'EnforcedPause', 'type': 'error'}, {'inputs': [], 'name': 'ExpectedPause', 'type': 'error'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'approved', 'type': 'address'}, {'indexed': True, 'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'Approval', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'indexed': False, 'internalType': 'bool', 'name': 'approved', 'type': 'bool'}], 'name': 'ApprovalForAll', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': False, 'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'Paused', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'from', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'to', 'type': 'address'}, {'indexed': True, 'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'Transfer', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': False, 'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'Unpaused', 'type': 'event'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'approve', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'balanceOf', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'getApproved', 'outputs': [{'internalType': 'address', 'name': '', 'type': 'address'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'address', 'name': 'operator', 'type': 'address'}], 'name': 'isApprovedForAll', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'name', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'ownerOf', 'outputs': [{'internalType': 'address', 'name': '', 'type': 'address'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'paused', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'safeTransferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'safeTransferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'internalType': 'bool', 'name': 'approved', 'type': 'bool'}], 'name': 'setApprovalForAll', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'symbol', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'tokenURI', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'transferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['approve', 'balanceOf', 'getApproved', 'isApprovedForAll', 'name', 'ownerOf', 'paused', 'safeTransferFrom', 'safeTransferFrom', 'setApprovalForAll', 'symbol', 'tokenURI', 'transferFrom']}, - "2a55205a": {'name': 'IERC2981', 'selector': '2a55205a', 'abi': [{'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'salePrice', 'type': 'uint256'}], 'name': 'royaltyInfo', 'outputs': [{'internalType': 'address', 'name': 'receiver', 'type': 'address'}, {'internalType': 'uint256', 'name': 'royaltyAmount', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}], 'functions_names': ['royaltyInfo']}, - "01ffc9a7": {'name': 'ERC165ReturnBombMock', 'selector': '01ffc9a7', 'abi': [{'inputs': [{'internalType': 'bytes4', 'name': 'interfaceId', 'type': 'bytes4'}], 'name': 'supportsInterface', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'pure', 'type': 'function'}], 'functions_names': ['supportsInterface']}, - "5ead35bc": {'name': 'ERC20VotesTimestampMock', 'selector': '5ead35bc', 'abi': [{'inputs': [], 'name': 'CheckpointUnorderedInsertion', 'type': 'error'}, {'inputs': [], 'name': 'ECDSAInvalidSignature', 'type': 'error'}, {'inputs': [{'internalType': 'uint256', 'name': 'length', 'type': 'uint256'}], 'name': 'ECDSAInvalidSignatureLength', 'type': 'error'}, {'inputs': [{'internalType': 'bytes32', 'name': 's', 'type': 'bytes32'}], 'name': 'ECDSAInvalidSignatureS', 'type': 'error'}, {'inputs': [{'internalType': 'uint256', 'name': 'increasedSupply', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'cap', 'type': 'uint256'}], 'name': 'ERC20ExceededSafeSupply', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'currentAllowance', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'requestedDecrease', 'type': 'uint256'}], 'name': 'ERC20FailedDecreaseAllowance', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'allowance', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'needed', 'type': 'uint256'}], 'name': 'ERC20InsufficientAllowance', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'balance', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'needed', 'type': 'uint256'}], 'name': 'ERC20InsufficientBalance', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'approver', 'type': 'address'}], 'name': 'ERC20InvalidApprover', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'receiver', 'type': 'address'}], 'name': 'ERC20InvalidReceiver', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}], 'name': 'ERC20InvalidSender', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}], 'name': 'ERC20InvalidSpender', 'type': 'error'}, {'inputs': [{'internalType': 'uint256', 'name': 'timepoint', 'type': 'uint256'}, {'internalType': 'uint48', 'name': 'clock', 'type': 'uint48'}], 'name': 'ERC5805FutureLookup', 'type': 'error'}, {'inputs': [], 'name': 'ERC6372InconsistentClock', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'uint256', 'name': 'currentNonce', 'type': 'uint256'}], 'name': 'InvalidAccountNonce', 'type': 'error'}, {'inputs': [{'internalType': 'uint8', 'name': 'bits', 'type': 'uint8'}, {'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}], 'name': 'SafeCastOverflowedUintDowncast', 'type': 'error'}, {'inputs': [{'internalType': 'uint256', 'name': 'expiry', 'type': 'uint256'}], 'name': 'VotesExpiredSignature', 'type': 'error'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}], 'name': 'Approval', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'delegator', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'fromDelegate', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'toDelegate', 'type': 'address'}], 'name': 'DelegateChanged', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'delegate', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'previousBalance', 'type': 'uint256'}, {'indexed': False, 'internalType': 'uint256', 'name': 'newBalance', 'type': 'uint256'}], 'name': 'DelegateVotesChanged', 'type': 'event'}, {'anonymous': False, 'inputs': [], 'name': 'EIP712DomainChanged', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'from', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'to', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}], 'name': 'Transfer', 'type': 'event'}, {'inputs': [], 'name': 'CLOCK_MODE', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'address', 'name': 'spender', 'type': 'address'}], 'name': 'allowance', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'approve', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'balanceOf', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'uint32', 'name': 'pos', 'type': 'uint32'}], 'name': 'checkpoints', 'outputs': [{'components': [{'internalType': 'uint32', 'name': '_key', 'type': 'uint32'}, {'internalType': 'uint224', 'name': '_value', 'type': 'uint224'}], 'internalType': 'struct Checkpoints.Checkpoint224', 'name': '', 'type': 'tuple'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'clock', 'outputs': [{'internalType': 'uint48', 'name': '', 'type': 'uint48'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'decimals', 'outputs': [{'internalType': 'uint8', 'name': '', 'type': 'uint8'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'requestedDecrease', 'type': 'uint256'}], 'name': 'decreaseAllowance', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'delegatee', 'type': 'address'}], 'name': 'delegate', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'delegatee', 'type': 'address'}, {'internalType': 'uint256', 'name': 'nonce', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'expiry', 'type': 'uint256'}, {'internalType': 'uint8', 'name': 'v', 'type': 'uint8'}, {'internalType': 'bytes32', 'name': 'r', 'type': 'bytes32'}, {'internalType': 'bytes32', 'name': 's', 'type': 'bytes32'}], 'name': 'delegateBySig', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'delegates', 'outputs': [{'internalType': 'address', 'name': '', 'type': 'address'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'eip712Domain', 'outputs': [{'internalType': 'bytes1', 'name': 'fields', 'type': 'bytes1'}, {'internalType': 'string', 'name': 'name', 'type': 'string'}, {'internalType': 'string', 'name': 'version', 'type': 'string'}, {'internalType': 'uint256', 'name': 'chainId', 'type': 'uint256'}, {'internalType': 'address', 'name': 'verifyingContract', 'type': 'address'}, {'internalType': 'bytes32', 'name': 'salt', 'type': 'bytes32'}, {'internalType': 'uint256[]', 'name': 'extensions', 'type': 'uint256[]'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'timepoint', 'type': 'uint256'}], 'name': 'getPastTotalSupply', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'uint256', 'name': 'timepoint', 'type': 'uint256'}], 'name': 'getPastVotes', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'getVotes', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'addedValue', 'type': 'uint256'}], 'name': 'increaseAllowance', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'name', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'nonces', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'numCheckpoints', 'outputs': [{'internalType': 'uint32', 'name': '', 'type': 'uint32'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'symbol', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'totalSupply', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transfer', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transferFrom', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['CLOCK_MODE', 'allowance', 'approve', 'balanceOf', 'checkpoints', 'clock', 'decimals', 'decreaseAllowance', 'delegate', 'delegateBySig', 'delegates', 'eip712Domain', 'getPastTotalSupply', 'getPastVotes', 'getVotes', 'increaseAllowance', 'name', 'nonces', 'numCheckpoints', 'symbol', 'totalSupply', 'transfer', 'transferFrom']}, - "53f5afb1": {'name': 'ERC4626Mock', 'selector': '53f5afb1', 'abi': [{'inputs': [{'internalType': 'address', 'name': 'underlying', 'type': 'address'}], 'stateMutability': 'nonpayable', 'type': 'constructor'}, {'inputs': [{'internalType': 'address', 'name': 'target', 'type': 'address'}], 'name': 'AddressEmptyCode', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'AddressInsufficientBalance', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'currentAllowance', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'requestedDecrease', 'type': 'uint256'}], 'name': 'ERC20FailedDecreaseAllowance', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'allowance', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'needed', 'type': 'uint256'}], 'name': 'ERC20InsufficientAllowance', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'balance', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'needed', 'type': 'uint256'}], 'name': 'ERC20InsufficientBalance', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'approver', 'type': 'address'}], 'name': 'ERC20InvalidApprover', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'receiver', 'type': 'address'}], 'name': 'ERC20InvalidReceiver', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}], 'name': 'ERC20InvalidSender', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}], 'name': 'ERC20InvalidSpender', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'receiver', 'type': 'address'}, {'internalType': 'uint256', 'name': 'assets', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'max', 'type': 'uint256'}], 'name': 'ERC4626ExceededMaxDeposit', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'receiver', 'type': 'address'}, {'internalType': 'uint256', 'name': 'shares', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'max', 'type': 'uint256'}], 'name': 'ERC4626ExceededMaxMint', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'uint256', 'name': 'shares', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'max', 'type': 'uint256'}], 'name': 'ERC4626ExceededMaxRedeem', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'uint256', 'name': 'assets', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'max', 'type': 'uint256'}], 'name': 'ERC4626ExceededMaxWithdraw', 'type': 'error'}, {'inputs': [], 'name': 'FailedInnerCall', 'type': 'error'}, {'inputs': [], 'name': 'MathOverflowedMulDiv', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'token', 'type': 'address'}], 'name': 'SafeERC20FailedOperation', 'type': 'error'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}], 'name': 'Approval', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'sender', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'assets', 'type': 'uint256'}, {'indexed': False, 'internalType': 'uint256', 'name': 'shares', 'type': 'uint256'}], 'name': 'Deposit', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'from', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'to', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}], 'name': 'Transfer', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'sender', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'receiver', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'assets', 'type': 'uint256'}, {'indexed': False, 'internalType': 'uint256', 'name': 'shares', 'type': 'uint256'}], 'name': 'Withdraw', 'type': 'event'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'address', 'name': 'spender', 'type': 'address'}], 'name': 'allowance', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'approve', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'asset', 'outputs': [{'internalType': 'address', 'name': '', 'type': 'address'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'balanceOf', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'burn', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'shares', 'type': 'uint256'}], 'name': 'convertToAssets', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'assets', 'type': 'uint256'}], 'name': 'convertToShares', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'decimals', 'outputs': [{'internalType': 'uint8', 'name': '', 'type': 'uint8'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'requestedDecrease', 'type': 'uint256'}], 'name': 'decreaseAllowance', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'assets', 'type': 'uint256'}, {'internalType': 'address', 'name': 'receiver', 'type': 'address'}], 'name': 'deposit', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'addedValue', 'type': 'uint256'}], 'name': 'increaseAllowance', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': '', 'type': 'address'}], 'name': 'maxDeposit', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': '', 'type': 'address'}], 'name': 'maxMint', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'maxRedeem', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'maxWithdraw', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'mint', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'shares', 'type': 'uint256'}, {'internalType': 'address', 'name': 'receiver', 'type': 'address'}], 'name': 'mint', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'name', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'assets', 'type': 'uint256'}], 'name': 'previewDeposit', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'shares', 'type': 'uint256'}], 'name': 'previewMint', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'shares', 'type': 'uint256'}], 'name': 'previewRedeem', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'assets', 'type': 'uint256'}], 'name': 'previewWithdraw', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'shares', 'type': 'uint256'}, {'internalType': 'address', 'name': 'receiver', 'type': 'address'}, {'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'redeem', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'symbol', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'totalAssets', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'totalSupply', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transfer', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transferFrom', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'assets', 'type': 'uint256'}, {'internalType': 'address', 'name': 'receiver', 'type': 'address'}, {'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'withdraw', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['allowance', 'approve', 'asset', 'balanceOf', 'burn', 'convertToAssets', 'convertToShares', 'decimals', 'decreaseAllowance', 'deposit', 'increaseAllowance', 'maxDeposit', 'maxMint', 'maxRedeem', 'maxWithdraw', 'mint', 'mint', 'name', 'previewDeposit', 'previewMint', 'previewRedeem', 'previewWithdraw', 'redeem', 'symbol', 'totalAssets', 'totalSupply', 'transfer', 'transferFrom', 'withdraw']}, - "9d8ff7da": {'name': 'IERC20Permit', 'selector': '9d8ff7da', 'abi': [{'inputs': [], 'name': 'DOMAIN_SEPARATOR', 'outputs': [{'internalType': 'bytes32', 'name': '', 'type': 'bytes32'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'nonces', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'deadline', 'type': 'uint256'}, {'internalType': 'uint8', 'name': 'v', 'type': 'uint8'}, {'internalType': 'bytes32', 'name': 'r', 'type': 'bytes32'}, {'internalType': 'bytes32', 'name': 's', 'type': 'bytes32'}], 'name': 'permit', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['DOMAIN_SEPARATOR', 'nonces', 'permit']}, - "313ce567": {'name': 'ERC20ExcessDecimalsMock', 'selector': '313ce567', 'abi': [{'inputs': [], 'name': 'decimals', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'pure', 'type': 'function'}], 'functions_names': ['decimals']}, - "249cb3fa": {'name': 'IERC1820Implementer', 'selector': '249cb3fa', 'abi': [{'inputs': [{'internalType': 'bytes32', 'name': 'interfaceHash', 'type': 'bytes32'}, {'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'canImplementInterfaceForAddress', 'outputs': [{'internalType': 'bytes32', 'name': '', 'type': 'bytes32'}], 'stateMutability': 'view', 'type': 'function'}], 'functions_names': ['canImplementInterfaceForAddress']}, - "e58e113c": {'name': 'IERC777', 'selector': 'e58e113c', 'abi': [{'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'tokenHolder', 'type': 'address'}], 'name': 'AuthorizedOperator', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'from', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}, {'indexed': False, 'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}, {'indexed': False, 'internalType': 'bytes', 'name': 'operatorData', 'type': 'bytes'}], 'name': 'Burned', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'to', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}, {'indexed': False, 'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}, {'indexed': False, 'internalType': 'bytes', 'name': 'operatorData', 'type': 'bytes'}], 'name': 'Minted', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'tokenHolder', 'type': 'address'}], 'name': 'RevokedOperator', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'from', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'to', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}, {'indexed': False, 'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}, {'indexed': False, 'internalType': 'bytes', 'name': 'operatorData', 'type': 'bytes'}], 'name': 'Sent', 'type': 'event'}, {'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}], 'name': 'authorizeOperator', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'balanceOf', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'burn', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'defaultOperators', 'outputs': [{'internalType': 'address[]', 'name': '', 'type': 'address[]'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'granularity', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'internalType': 'address', 'name': 'tokenHolder', 'type': 'address'}], 'name': 'isOperatorFor', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'name', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}, {'internalType': 'bytes', 'name': 'operatorData', 'type': 'bytes'}], 'name': 'operatorBurn', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}, {'internalType': 'address', 'name': 'recipient', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}, {'internalType': 'bytes', 'name': 'operatorData', 'type': 'bytes'}], 'name': 'operatorSend', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}], 'name': 'revokeOperator', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'recipient', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'send', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'symbol', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'totalSupply', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}], 'functions_names': ['authorizeOperator', 'balanceOf', 'burn', 'defaultOperators', 'granularity', 'isOperatorFor', 'name', 'operatorBurn', 'operatorSend', 'revokeOperator', 'send', 'symbol', 'totalSupply']}, - "ed3dea35": {'name': 'ERC20FlashMint', 'selector': 'ed3dea35', 'abi': [{'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'currentAllowance', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'requestedDecrease', 'type': 'uint256'}], 'name': 'ERC20FailedDecreaseAllowance', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'allowance', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'needed', 'type': 'uint256'}], 'name': 'ERC20InsufficientAllowance', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'balance', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'needed', 'type': 'uint256'}], 'name': 'ERC20InsufficientBalance', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'approver', 'type': 'address'}], 'name': 'ERC20InvalidApprover', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'receiver', 'type': 'address'}], 'name': 'ERC20InvalidReceiver', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}], 'name': 'ERC20InvalidSender', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}], 'name': 'ERC20InvalidSpender', 'type': 'error'}, {'inputs': [{'internalType': 'uint256', 'name': 'maxLoan', 'type': 'uint256'}], 'name': 'ERC3156ExceededMaxLoan', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'receiver', 'type': 'address'}], 'name': 'ERC3156InvalidReceiver', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'token', 'type': 'address'}], 'name': 'ERC3156UnsupportedToken', 'type': 'error'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}], 'name': 'Approval', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'from', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'to', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}], 'name': 'Transfer', 'type': 'event'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'address', 'name': 'spender', 'type': 'address'}], 'name': 'allowance', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'approve', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'balanceOf', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'decimals', 'outputs': [{'internalType': 'uint8', 'name': '', 'type': 'uint8'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'requestedDecrease', 'type': 'uint256'}], 'name': 'decreaseAllowance', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'token', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'flashFee', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'contract IERC3156FlashBorrower', 'name': 'receiver', 'type': 'address'}, {'internalType': 'address', 'name': 'token', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'flashLoan', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'addedValue', 'type': 'uint256'}], 'name': 'increaseAllowance', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'token', 'type': 'address'}], 'name': 'maxFlashLoan', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'name', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'symbol', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'totalSupply', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transfer', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transferFrom', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['allowance', 'approve', 'balanceOf', 'decimals', 'decreaseAllowance', 'flashFee', 'flashLoan', 'increaseAllowance', 'maxFlashLoan', 'name', 'symbol', 'totalSupply', 'transfer', 'transferFrom']}, - "150b7a02": {'name': 'ERC721Holder', 'selector': '150b7a02', 'abi': [{'inputs': [{'internalType': 'address', 'name': '', 'type': 'address'}, {'internalType': 'address', 'name': '', 'type': 'address'}, {'internalType': 'uint256', 'name': '', 'type': 'uint256'}, {'internalType': 'bytes', 'name': '', 'type': 'bytes'}], 'name': 'onERC721Received', 'outputs': [{'internalType': 'bytes4', 'name': '', 'type': 'bytes4'}], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['onERC721Received']}, - "80ac58cd": {'name': 'IERC4906', 'selector': '80ac58cd', 'abi': [{'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'approved', 'type': 'address'}, {'indexed': True, 'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'Approval', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'indexed': False, 'internalType': 'bool', 'name': 'approved', 'type': 'bool'}], 'name': 'ApprovalForAll', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': False, 'internalType': 'uint256', 'name': '_fromTokenId', 'type': 'uint256'}, {'indexed': False, 'internalType': 'uint256', 'name': '_toTokenId', 'type': 'uint256'}], 'name': 'BatchMetadataUpdate', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': False, 'internalType': 'uint256', 'name': '_tokenId', 'type': 'uint256'}], 'name': 'MetadataUpdate', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'from', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'to', 'type': 'address'}, {'indexed': True, 'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'Transfer', 'type': 'event'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'approve', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'balanceOf', 'outputs': [{'internalType': 'uint256', 'name': 'balance', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'getApproved', 'outputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'address', 'name': 'operator', 'type': 'address'}], 'name': 'isApprovedForAll', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'ownerOf', 'outputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'safeTransferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'safeTransferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'internalType': 'bool', 'name': 'approved', 'type': 'bool'}], 'name': 'setApprovalForAll', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'transferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['approve', 'balanceOf', 'getApproved', 'isApprovedForAll', 'ownerOf', 'safeTransferFrom', 'safeTransferFrom', 'setApprovalForAll', 'transferFrom']}, - "0a7f6bd0": {'name': 'ERC20VotesMock', 'selector': '0a7f6bd0', 'abi': [{'inputs': [], 'name': 'DOMAIN_SEPARATOR', 'outputs': [{'internalType': 'bytes32', 'name': '', 'type': 'bytes32'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'address', 'name': 'spender', 'type': 'address'}], 'name': 'allowance', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'approve', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'balanceOf', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'burn', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'uint32', 'name': 'pos', 'type': 'uint32'}], 'name': 'checkpoints', 'outputs': [{'components': [{'internalType': 'uint32', 'name': 'fromBlock', 'type': 'uint32'}, {'internalType': 'uint224', 'name': 'votes', 'type': 'uint224'}], 'internalType': 'struct ERC20Votes.Checkpoint', 'name': '', 'type': 'tuple'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'decimals', 'outputs': [{'internalType': 'uint8', 'name': '', 'type': 'uint8'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'subtractedValue', 'type': 'uint256'}], 'name': 'decreaseAllowance', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'delegatee', 'type': 'address'}], 'name': 'delegate', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'delegatee', 'type': 'address'}, {'internalType': 'uint256', 'name': 'nonce', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'expiry', 'type': 'uint256'}, {'internalType': 'uint8', 'name': 'v', 'type': 'uint8'}, {'internalType': 'bytes32', 'name': 'r', 'type': 'bytes32'}, {'internalType': 'bytes32', 'name': 's', 'type': 'bytes32'}], 'name': 'delegateBySig', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'delegates', 'outputs': [{'internalType': 'address', 'name': '', 'type': 'address'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'getChainId', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'blockNumber', 'type': 'uint256'}], 'name': 'getPastTotalSupply', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'uint256', 'name': 'blockNumber', 'type': 'uint256'}], 'name': 'getPastVotes', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'getVotes', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'addedValue', 'type': 'uint256'}], 'name': 'increaseAllowance', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'mint', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'name', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'nonces', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'numCheckpoints', 'outputs': [{'internalType': 'uint32', 'name': '', 'type': 'uint32'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'deadline', 'type': 'uint256'}, {'internalType': 'uint8', 'name': 'v', 'type': 'uint8'}, {'internalType': 'bytes32', 'name': 'r', 'type': 'bytes32'}, {'internalType': 'bytes32', 'name': 's', 'type': 'bytes32'}], 'name': 'permit', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'symbol', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'totalSupply', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transfer', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transferFrom', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['DOMAIN_SEPARATOR', 'allowance', 'approve', 'balanceOf', 'burn', 'checkpoints', 'decimals', 'decreaseAllowance', 'delegate', 'delegateBySig', 'delegates', 'getChainId', 'getPastTotalSupply', 'getPastVotes', 'getVotes', 'increaseAllowance', 'mint', 'name', 'nonces', 'numCheckpoints', 'permit', 'symbol', 'totalSupply', 'transfer', 'transferFrom']}, - "dbf24b52": {'name': 'ERC721Consecutive', 'selector': 'dbf24b52', 'abi': [{'inputs': [{'internalType': 'uint256', 'name': 'batchSize', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'maxBatch', 'type': 'uint256'}], 'name': 'ERC721ExceededMaxBatchMint', 'type': 'error'}, {'inputs': [], 'name': 'ERC721ForbiddenBatchBurn', 'type': 'error'}, {'inputs': [], 'name': 'ERC721ForbiddenBatchMint', 'type': 'error'}, {'inputs': [], 'name': 'ERC721ForbiddenMint', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}, {'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'ERC721IncorrectOwner', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'ERC721InsufficientApproval', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'approver', 'type': 'address'}], 'name': 'ERC721InvalidApprover', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}], 'name': 'ERC721InvalidOperator', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'ERC721InvalidOwner', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'receiver', 'type': 'address'}], 'name': 'ERC721InvalidReceiver', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}], 'name': 'ERC721InvalidSender', 'type': 'error'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'ERC721NonexistentToken', 'type': 'error'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'approved', 'type': 'address'}, {'indexed': True, 'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'Approval', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'indexed': False, 'internalType': 'bool', 'name': 'approved', 'type': 'bool'}], 'name': 'ApprovalForAll', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'uint256', 'name': 'fromTokenId', 'type': 'uint256'}, {'indexed': False, 'internalType': 'uint256', 'name': 'toTokenId', 'type': 'uint256'}, {'indexed': True, 'internalType': 'address', 'name': 'fromAddress', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'toAddress', 'type': 'address'}], 'name': 'ConsecutiveTransfer', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'from', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'to', 'type': 'address'}, {'indexed': True, 'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'Transfer', 'type': 'event'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'approve', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'balanceOf', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'getApproved', 'outputs': [{'internalType': 'address', 'name': '', 'type': 'address'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'address', 'name': 'operator', 'type': 'address'}], 'name': 'isApprovedForAll', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'name', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'ownerOf', 'outputs': [{'internalType': 'address', 'name': '', 'type': 'address'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'safeTransferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'safeTransferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'internalType': 'bool', 'name': 'approved', 'type': 'bool'}], 'name': 'setApprovalForAll', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'symbol', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'tokenURI', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'transferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['approve', 'balanceOf', 'getApproved', 'isApprovedForAll', 'name', 'ownerOf', 'safeTransferFrom', 'safeTransferFrom', 'setApprovalForAll', 'symbol', 'tokenURI', 'transferFrom']}, - "150b7a02": {'name': 'IERC721Receiver', 'selector': '150b7a02', 'abi': [{'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'onERC721Received', 'outputs': [{'internalType': 'bytes4', 'name': '', 'type': 'bytes4'}], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['onERC721Received']}, - "3c7bae4e": {'name': 'ERC20Capped', 'selector': '3c7bae4e', 'abi': [{'inputs': [{'internalType': 'uint256', 'name': 'increasedSupply', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'cap', 'type': 'uint256'}], 'name': 'ERC20ExceededCap', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'currentAllowance', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'requestedDecrease', 'type': 'uint256'}], 'name': 'ERC20FailedDecreaseAllowance', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'allowance', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'needed', 'type': 'uint256'}], 'name': 'ERC20InsufficientAllowance', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'balance', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'needed', 'type': 'uint256'}], 'name': 'ERC20InsufficientBalance', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'approver', 'type': 'address'}], 'name': 'ERC20InvalidApprover', 'type': 'error'}, {'inputs': [{'internalType': 'uint256', 'name': 'cap', 'type': 'uint256'}], 'name': 'ERC20InvalidCap', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'receiver', 'type': 'address'}], 'name': 'ERC20InvalidReceiver', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}], 'name': 'ERC20InvalidSender', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}], 'name': 'ERC20InvalidSpender', 'type': 'error'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}], 'name': 'Approval', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'from', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'to', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}], 'name': 'Transfer', 'type': 'event'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'address', 'name': 'spender', 'type': 'address'}], 'name': 'allowance', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'approve', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'balanceOf', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'cap', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'decimals', 'outputs': [{'internalType': 'uint8', 'name': '', 'type': 'uint8'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'requestedDecrease', 'type': 'uint256'}], 'name': 'decreaseAllowance', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'addedValue', 'type': 'uint256'}], 'name': 'increaseAllowance', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'name', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'symbol', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'totalSupply', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transfer', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transferFrom', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['allowance', 'approve', 'balanceOf', 'cap', 'decimals', 'decreaseAllowance', 'increaseAllowance', 'name', 'symbol', 'totalSupply', 'transfer', 'transferFrom']}, - "86bfc821": {'name': 'ERC20PermitNoRevertMock', 'selector': '86bfc821', 'abi': [{'inputs': [], 'name': 'ECDSAInvalidSignature', 'type': 'error'}, {'inputs': [{'internalType': 'uint256', 'name': 'length', 'type': 'uint256'}], 'name': 'ECDSAInvalidSignatureLength', 'type': 'error'}, {'inputs': [{'internalType': 'bytes32', 'name': 's', 'type': 'bytes32'}], 'name': 'ECDSAInvalidSignatureS', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'currentAllowance', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'requestedDecrease', 'type': 'uint256'}], 'name': 'ERC20FailedDecreaseAllowance', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'allowance', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'needed', 'type': 'uint256'}], 'name': 'ERC20InsufficientAllowance', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'balance', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'needed', 'type': 'uint256'}], 'name': 'ERC20InsufficientBalance', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'approver', 'type': 'address'}], 'name': 'ERC20InvalidApprover', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'receiver', 'type': 'address'}], 'name': 'ERC20InvalidReceiver', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}], 'name': 'ERC20InvalidSender', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}], 'name': 'ERC20InvalidSpender', 'type': 'error'}, {'inputs': [{'internalType': 'uint256', 'name': 'deadline', 'type': 'uint256'}], 'name': 'ERC2612ExpiredSignature', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'signer', 'type': 'address'}, {'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'ERC2612InvalidSigner', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'uint256', 'name': 'currentNonce', 'type': 'uint256'}], 'name': 'InvalidAccountNonce', 'type': 'error'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}], 'name': 'Approval', 'type': 'event'}, {'anonymous': False, 'inputs': [], 'name': 'EIP712DomainChanged', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'from', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'to', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}], 'name': 'Transfer', 'type': 'event'}, {'inputs': [], 'name': 'DOMAIN_SEPARATOR', 'outputs': [{'internalType': 'bytes32', 'name': '', 'type': 'bytes32'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'address', 'name': 'spender', 'type': 'address'}], 'name': 'allowance', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'approve', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'balanceOf', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'decimals', 'outputs': [{'internalType': 'uint8', 'name': '', 'type': 'uint8'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'requestedDecrease', 'type': 'uint256'}], 'name': 'decreaseAllowance', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'eip712Domain', 'outputs': [{'internalType': 'bytes1', 'name': 'fields', 'type': 'bytes1'}, {'internalType': 'string', 'name': 'name', 'type': 'string'}, {'internalType': 'string', 'name': 'version', 'type': 'string'}, {'internalType': 'uint256', 'name': 'chainId', 'type': 'uint256'}, {'internalType': 'address', 'name': 'verifyingContract', 'type': 'address'}, {'internalType': 'bytes32', 'name': 'salt', 'type': 'bytes32'}, {'internalType': 'uint256[]', 'name': 'extensions', 'type': 'uint256[]'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'addedValue', 'type': 'uint256'}], 'name': 'increaseAllowance', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'name', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'nonces', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'deadline', 'type': 'uint256'}, {'internalType': 'uint8', 'name': 'v', 'type': 'uint8'}, {'internalType': 'bytes32', 'name': 'r', 'type': 'bytes32'}, {'internalType': 'bytes32', 'name': 's', 'type': 'bytes32'}], 'name': 'permit', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'deadline', 'type': 'uint256'}, {'internalType': 'uint8', 'name': 'v', 'type': 'uint8'}, {'internalType': 'bytes32', 'name': 'r', 'type': 'bytes32'}, {'internalType': 'bytes32', 'name': 's', 'type': 'bytes32'}], 'name': 'permitThatMayRevert', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'symbol', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'totalSupply', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transfer', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transferFrom', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['DOMAIN_SEPARATOR', 'allowance', 'approve', 'balanceOf', 'decimals', 'decreaseAllowance', 'eip712Domain', 'increaseAllowance', 'name', 'nonces', 'permit', 'permitThatMayRevert', 'symbol', 'totalSupply', 'transfer', 'transferFrom']}, - "dbf24b52": {'name': 'ERC721ConsecutiveNoConstructorMintMock', 'selector': 'dbf24b52', 'abi': [{'inputs': [{'internalType': 'string', 'name': 'name', 'type': 'string'}, {'internalType': 'string', 'name': 'symbol', 'type': 'string'}], 'stateMutability': 'nonpayable', 'type': 'constructor'}, {'inputs': [{'internalType': 'uint256', 'name': 'batchSize', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'maxBatch', 'type': 'uint256'}], 'name': 'ERC721ExceededMaxBatchMint', 'type': 'error'}, {'inputs': [], 'name': 'ERC721ForbiddenBatchBurn', 'type': 'error'}, {'inputs': [], 'name': 'ERC721ForbiddenBatchMint', 'type': 'error'}, {'inputs': [], 'name': 'ERC721ForbiddenMint', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}, {'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'ERC721IncorrectOwner', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'ERC721InsufficientApproval', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'approver', 'type': 'address'}], 'name': 'ERC721InvalidApprover', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}], 'name': 'ERC721InvalidOperator', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'ERC721InvalidOwner', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'receiver', 'type': 'address'}], 'name': 'ERC721InvalidReceiver', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}], 'name': 'ERC721InvalidSender', 'type': 'error'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'ERC721NonexistentToken', 'type': 'error'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'approved', 'type': 'address'}, {'indexed': True, 'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'Approval', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'indexed': False, 'internalType': 'bool', 'name': 'approved', 'type': 'bool'}], 'name': 'ApprovalForAll', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'uint256', 'name': 'fromTokenId', 'type': 'uint256'}, {'indexed': False, 'internalType': 'uint256', 'name': 'toTokenId', 'type': 'uint256'}, {'indexed': True, 'internalType': 'address', 'name': 'fromAddress', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'toAddress', 'type': 'address'}], 'name': 'ConsecutiveTransfer', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'from', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'to', 'type': 'address'}, {'indexed': True, 'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'Transfer', 'type': 'event'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'approve', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'balanceOf', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'getApproved', 'outputs': [{'internalType': 'address', 'name': '', 'type': 'address'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'address', 'name': 'operator', 'type': 'address'}], 'name': 'isApprovedForAll', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'name', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'ownerOf', 'outputs': [{'internalType': 'address', 'name': '', 'type': 'address'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'safeTransferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'safeTransferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'internalType': 'bool', 'name': 'approved', 'type': 'bool'}], 'name': 'setApprovalForAll', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'symbol', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'tokenURI', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'transferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['approve', 'balanceOf', 'getApproved', 'isApprovedForAll', 'name', 'ownerOf', 'safeTransferFrom', 'safeTransferFrom', 'setApprovalForAll', 'symbol', 'tokenURI', 'transferFrom']}, - "a3fcd631": {'name': 'ERC721ConsecutiveEnumerableMock', 'selector': 'a3fcd631', 'abi': [{'inputs': [{'internalType': 'string', 'name': 'name', 'type': 'string'}, {'internalType': 'string', 'name': 'symbol', 'type': 'string'}, {'internalType': 'address[]', 'name': 'receivers', 'type': 'address[]'}, {'internalType': 'uint96[]', 'name': 'amounts', 'type': 'uint96[]'}], 'stateMutability': 'nonpayable', 'type': 'constructor'}, {'inputs': [], 'name': 'CheckpointUnorderedInsertion', 'type': 'error'}, {'inputs': [], 'name': 'ERC721EnumerableForbiddenBatchMint', 'type': 'error'}, {'inputs': [{'internalType': 'uint256', 'name': 'batchSize', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'maxBatch', 'type': 'uint256'}], 'name': 'ERC721ExceededMaxBatchMint', 'type': 'error'}, {'inputs': [], 'name': 'ERC721ForbiddenBatchBurn', 'type': 'error'}, {'inputs': [], 'name': 'ERC721ForbiddenBatchMint', 'type': 'error'}, {'inputs': [], 'name': 'ERC721ForbiddenMint', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}, {'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'ERC721IncorrectOwner', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'ERC721InsufficientApproval', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'approver', 'type': 'address'}], 'name': 'ERC721InvalidApprover', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}], 'name': 'ERC721InvalidOperator', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'ERC721InvalidOwner', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'receiver', 'type': 'address'}], 'name': 'ERC721InvalidReceiver', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}], 'name': 'ERC721InvalidSender', 'type': 'error'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'ERC721NonexistentToken', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'uint256', 'name': 'index', 'type': 'uint256'}], 'name': 'ERC721OutOfBoundsIndex', 'type': 'error'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'approved', 'type': 'address'}, {'indexed': True, 'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'Approval', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'indexed': False, 'internalType': 'bool', 'name': 'approved', 'type': 'bool'}], 'name': 'ApprovalForAll', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'uint256', 'name': 'fromTokenId', 'type': 'uint256'}, {'indexed': False, 'internalType': 'uint256', 'name': 'toTokenId', 'type': 'uint256'}, {'indexed': True, 'internalType': 'address', 'name': 'fromAddress', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'toAddress', 'type': 'address'}], 'name': 'ConsecutiveTransfer', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'from', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'to', 'type': 'address'}, {'indexed': True, 'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'Transfer', 'type': 'event'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'approve', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'balanceOf', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'getApproved', 'outputs': [{'internalType': 'address', 'name': '', 'type': 'address'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'address', 'name': 'operator', 'type': 'address'}], 'name': 'isApprovedForAll', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'name', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'ownerOf', 'outputs': [{'internalType': 'address', 'name': '', 'type': 'address'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'safeTransferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'safeTransferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'internalType': 'bool', 'name': 'approved', 'type': 'bool'}], 'name': 'setApprovalForAll', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'symbol', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'index', 'type': 'uint256'}], 'name': 'tokenByIndex', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'uint256', 'name': 'index', 'type': 'uint256'}], 'name': 'tokenOfOwnerByIndex', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'tokenURI', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'totalSupply', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'transferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['approve', 'balanceOf', 'getApproved', 'isApprovedForAll', 'name', 'ownerOf', 'safeTransferFrom', 'safeTransferFrom', 'setApprovalForAll', 'symbol', 'tokenByIndex', 'tokenOfOwnerByIndex', 'tokenURI', 'totalSupply', 'transferFrom']}, - "942e8b22": {'name': 'IERC20Metadata', 'selector': '942e8b22', 'abi': [{'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}], 'name': 'Approval', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'from', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'to', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}], 'name': 'Transfer', 'type': 'event'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'address', 'name': 'spender', 'type': 'address'}], 'name': 'allowance', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'approve', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'balanceOf', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'decimals', 'outputs': [{'internalType': 'uint8', 'name': '', 'type': 'uint8'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'name', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'symbol', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'totalSupply', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transfer', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transferFrom', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['allowance', 'approve', 'balanceOf', 'decimals', 'name', 'symbol', 'totalSupply', 'transfer', 'transferFrom']}, - "0929daa4": {'name': 'ERC20DecimalsMock', 'selector': '0929daa4', 'abi': [{'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'currentAllowance', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'requestedDecrease', 'type': 'uint256'}], 'name': 'ERC20FailedDecreaseAllowance', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'allowance', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'needed', 'type': 'uint256'}], 'name': 'ERC20InsufficientAllowance', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'balance', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'needed', 'type': 'uint256'}], 'name': 'ERC20InsufficientBalance', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'approver', 'type': 'address'}], 'name': 'ERC20InvalidApprover', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'receiver', 'type': 'address'}], 'name': 'ERC20InvalidReceiver', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}], 'name': 'ERC20InvalidSender', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}], 'name': 'ERC20InvalidSpender', 'type': 'error'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}], 'name': 'Approval', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'from', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'to', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}], 'name': 'Transfer', 'type': 'event'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'address', 'name': 'spender', 'type': 'address'}], 'name': 'allowance', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'approve', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'balanceOf', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'decimals', 'outputs': [{'internalType': 'uint8', 'name': '', 'type': 'uint8'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'requestedDecrease', 'type': 'uint256'}], 'name': 'decreaseAllowance', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'addedValue', 'type': 'uint256'}], 'name': 'increaseAllowance', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'name', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'symbol', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'totalSupply', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transfer', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transferFrom', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['allowance', 'approve', 'balanceOf', 'decimals', 'decreaseAllowance', 'increaseAllowance', 'name', 'symbol', 'totalSupply', 'transfer', 'transferFrom']}, - "27a6bfb2": {'name': 'ERC1155Mock', 'selector': '27a6bfb2', 'abi': [{'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'uint256', 'name': 'id', 'type': 'uint256'}], 'name': 'balanceOf', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address[]', 'name': 'accounts', 'type': 'address[]'}, {'internalType': 'uint256[]', 'name': 'ids', 'type': 'uint256[]'}], 'name': 'balanceOfBatch', 'outputs': [{'internalType': 'uint256[]', 'name': '', 'type': 'uint256[]'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'uint256', 'name': 'id', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}], 'name': 'burn', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'uint256[]', 'name': 'ids', 'type': 'uint256[]'}, {'internalType': 'uint256[]', 'name': 'values', 'type': 'uint256[]'}], 'name': 'burnBatch', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'address', 'name': 'operator', 'type': 'address'}], 'name': 'isApprovedForAll', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'id', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'mint', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256[]', 'name': 'ids', 'type': 'uint256[]'}, {'internalType': 'uint256[]', 'name': 'values', 'type': 'uint256[]'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'mintBatch', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256[]', 'name': 'ids', 'type': 'uint256[]'}, {'internalType': 'uint256[]', 'name': 'amounts', 'type': 'uint256[]'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'safeBatchTransferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'id', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'safeTransferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'internalType': 'bool', 'name': 'approved', 'type': 'bool'}], 'name': 'setApprovalForAll', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'string', 'name': 'newuri', 'type': 'string'}], 'name': 'setURI', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'name': 'uri', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}], 'functions_names': ['balanceOf', 'balanceOfBatch', 'burn', 'burnBatch', 'isApprovedForAll', 'mint', 'mintBatch', 'safeBatchTransferFrom', 'safeTransferFrom', 'setApprovalForAll', 'setURI', 'uri']}, - "4e2312e0": {'name': 'IERC1155Receiver', 'selector': '4e2312e0', 'abi': [{'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'uint256[]', 'name': 'ids', 'type': 'uint256[]'}, {'internalType': 'uint256[]', 'name': 'values', 'type': 'uint256[]'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'onERC1155BatchReceived', 'outputs': [{'internalType': 'bytes4', 'name': '', 'type': 'bytes4'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'uint256', 'name': 'id', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'onERC1155Received', 'outputs': [{'internalType': 'bytes4', 'name': '', 'type': 'bytes4'}], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['onERC1155BatchReceived', 'onERC1155Received']}, - "214cdb80": {'name': 'ERC165StorageMock', 'selector': '214cdb80', 'abi': [{'inputs': [{'internalType': 'bytes4', 'name': 'interfaceId', 'type': 'bytes4'}], 'name': 'registerInterface', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['registerInterface']}, - "d1a4bb67": {'name': 'ERC777SenderRecipientMock', 'selector': 'd1a4bb67', 'abi': [{'inputs': [{'internalType': 'contract IERC777', 'name': 'token', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'burn', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'bytes32', 'name': 'interfaceHash', 'type': 'bytes32'}, {'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'canImplementInterfaceForAddress', 'outputs': [{'internalType': 'bytes32', 'name': '', 'type': 'bytes32'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'recipientFor', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'recipient', 'type': 'address'}], 'name': 'registerRecipient', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}], 'name': 'registerSender', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'contract IERC777', 'name': 'token', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'send', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'senderFor', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'bool', 'name': 'shouldRevert', 'type': 'bool'}], 'name': 'setShouldRevertReceive', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'bool', 'name': 'shouldRevert', 'type': 'bool'}], 'name': 'setShouldRevertSend', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}, {'internalType': 'bytes', 'name': 'userData', 'type': 'bytes'}, {'internalType': 'bytes', 'name': 'operatorData', 'type': 'bytes'}], 'name': 'tokensReceived', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}, {'internalType': 'bytes', 'name': 'userData', 'type': 'bytes'}, {'internalType': 'bytes', 'name': 'operatorData', 'type': 'bytes'}], 'name': 'tokensToSend', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['burn', 'canImplementInterfaceForAddress', 'recipientFor', 'registerRecipient', 'registerSender', 'send', 'senderFor', 'setShouldRevertReceive', 'setShouldRevertSend', 'tokensReceived', 'tokensToSend']}, - "55be801f": {'name': 'ERC20Pausable', 'selector': '55be801f', 'abi': [{'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'currentAllowance', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'requestedDecrease', 'type': 'uint256'}], 'name': 'ERC20FailedDecreaseAllowance', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'allowance', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'needed', 'type': 'uint256'}], 'name': 'ERC20InsufficientAllowance', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'balance', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'needed', 'type': 'uint256'}], 'name': 'ERC20InsufficientBalance', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'approver', 'type': 'address'}], 'name': 'ERC20InvalidApprover', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'receiver', 'type': 'address'}], 'name': 'ERC20InvalidReceiver', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}], 'name': 'ERC20InvalidSender', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}], 'name': 'ERC20InvalidSpender', 'type': 'error'}, {'inputs': [], 'name': 'EnforcedPause', 'type': 'error'}, {'inputs': [], 'name': 'ExpectedPause', 'type': 'error'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}], 'name': 'Approval', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': False, 'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'Paused', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'from', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'to', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}], 'name': 'Transfer', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': False, 'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'Unpaused', 'type': 'event'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'address', 'name': 'spender', 'type': 'address'}], 'name': 'allowance', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'approve', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'balanceOf', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'decimals', 'outputs': [{'internalType': 'uint8', 'name': '', 'type': 'uint8'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'requestedDecrease', 'type': 'uint256'}], 'name': 'decreaseAllowance', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'addedValue', 'type': 'uint256'}], 'name': 'increaseAllowance', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'name', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'paused', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'symbol', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'totalSupply', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transfer', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transferFrom', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['allowance', 'approve', 'balanceOf', 'decimals', 'decreaseAllowance', 'increaseAllowance', 'name', 'paused', 'symbol', 'totalSupply', 'transfer', 'transferFrom']}, - "c6e7ee66": {'name': 'ERC20VotesCompMock', 'selector': 'c6e7ee66', 'abi': [{'inputs': [], 'name': 'DOMAIN_SEPARATOR', 'outputs': [{'internalType': 'bytes32', 'name': '', 'type': 'bytes32'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'address', 'name': 'spender', 'type': 'address'}], 'name': 'allowance', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'approve', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'balanceOf', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'burn', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'uint32', 'name': 'pos', 'type': 'uint32'}], 'name': 'checkpoints', 'outputs': [{'components': [{'internalType': 'uint32', 'name': 'fromBlock', 'type': 'uint32'}, {'internalType': 'uint224', 'name': 'votes', 'type': 'uint224'}], 'internalType': 'struct ERC20Votes.Checkpoint', 'name': '', 'type': 'tuple'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'decimals', 'outputs': [{'internalType': 'uint8', 'name': '', 'type': 'uint8'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'subtractedValue', 'type': 'uint256'}], 'name': 'decreaseAllowance', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'delegatee', 'type': 'address'}], 'name': 'delegate', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'delegatee', 'type': 'address'}, {'internalType': 'uint256', 'name': 'nonce', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'expiry', 'type': 'uint256'}, {'internalType': 'uint8', 'name': 'v', 'type': 'uint8'}, {'internalType': 'bytes32', 'name': 'r', 'type': 'bytes32'}, {'internalType': 'bytes32', 'name': 's', 'type': 'bytes32'}], 'name': 'delegateBySig', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'delegates', 'outputs': [{'internalType': 'address', 'name': '', 'type': 'address'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'getChainId', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'getCurrentVotes', 'outputs': [{'internalType': 'uint96', 'name': '', 'type': 'uint96'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'blockNumber', 'type': 'uint256'}], 'name': 'getPastTotalSupply', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'uint256', 'name': 'blockNumber', 'type': 'uint256'}], 'name': 'getPastVotes', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'uint256', 'name': 'blockNumber', 'type': 'uint256'}], 'name': 'getPriorVotes', 'outputs': [{'internalType': 'uint96', 'name': '', 'type': 'uint96'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'getVotes', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'addedValue', 'type': 'uint256'}], 'name': 'increaseAllowance', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'mint', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'name', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'nonces', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'numCheckpoints', 'outputs': [{'internalType': 'uint32', 'name': '', 'type': 'uint32'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'deadline', 'type': 'uint256'}, {'internalType': 'uint8', 'name': 'v', 'type': 'uint8'}, {'internalType': 'bytes32', 'name': 'r', 'type': 'bytes32'}, {'internalType': 'bytes32', 'name': 's', 'type': 'bytes32'}], 'name': 'permit', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'symbol', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'totalSupply', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transfer', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transferFrom', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['DOMAIN_SEPARATOR', 'allowance', 'approve', 'balanceOf', 'burn', 'checkpoints', 'decimals', 'decreaseAllowance', 'delegate', 'delegateBySig', 'delegates', 'getChainId', 'getCurrentVotes', 'getPastTotalSupply', 'getPastVotes', 'getPriorVotes', 'getVotes', 'increaseAllowance', 'mint', 'name', 'nonces', 'numCheckpoints', 'permit', 'symbol', 'totalSupply', 'transfer', 'transferFrom']}, - "0929daa4": {'name': 'ERC20ForceApproveMock', 'selector': '0929daa4', 'abi': [{'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'currentAllowance', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'requestedDecrease', 'type': 'uint256'}], 'name': 'ERC20FailedDecreaseAllowance', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'allowance', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'needed', 'type': 'uint256'}], 'name': 'ERC20InsufficientAllowance', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'balance', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'needed', 'type': 'uint256'}], 'name': 'ERC20InsufficientBalance', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'approver', 'type': 'address'}], 'name': 'ERC20InvalidApprover', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'receiver', 'type': 'address'}], 'name': 'ERC20InvalidReceiver', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}], 'name': 'ERC20InvalidSender', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}], 'name': 'ERC20InvalidSpender', 'type': 'error'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}], 'name': 'Approval', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'from', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'to', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}], 'name': 'Transfer', 'type': 'event'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'address', 'name': 'spender', 'type': 'address'}], 'name': 'allowance', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'approve', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'balanceOf', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'decimals', 'outputs': [{'internalType': 'uint8', 'name': '', 'type': 'uint8'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'requestedDecrease', 'type': 'uint256'}], 'name': 'decreaseAllowance', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'addedValue', 'type': 'uint256'}], 'name': 'increaseAllowance', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'name', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'symbol', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'totalSupply', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transfer', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transferFrom', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['allowance', 'approve', 'balanceOf', 'decimals', 'decreaseAllowance', 'increaseAllowance', 'name', 'symbol', 'totalSupply', 'transfer', 'transferFrom']}, - "d73f4e3a": {'name': 'ERC1155', 'selector': 'd73f4e3a', 'abi': [{'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'ERC1155InsufficientApprovalForAll', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'balance', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'needed', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'ERC1155InsufficientBalance', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'approver', 'type': 'address'}], 'name': 'ERC1155InvalidApprover', 'type': 'error'}, {'inputs': [{'internalType': 'uint256', 'name': 'idsLength', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'valuesLength', 'type': 'uint256'}], 'name': 'ERC1155InvalidArrayLength', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}], 'name': 'ERC1155InvalidOperator', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'receiver', 'type': 'address'}], 'name': 'ERC1155InvalidReceiver', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}], 'name': 'ERC1155InvalidSender', 'type': 'error'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'account', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'indexed': False, 'internalType': 'bool', 'name': 'approved', 'type': 'bool'}], 'name': 'ApprovalForAll', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'from', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'to', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256[]', 'name': 'ids', 'type': 'uint256[]'}, {'indexed': False, 'internalType': 'uint256[]', 'name': 'values', 'type': 'uint256[]'}], 'name': 'TransferBatch', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'from', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'to', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'id', 'type': 'uint256'}, {'indexed': False, 'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}], 'name': 'TransferSingle', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': False, 'internalType': 'string', 'name': 'value', 'type': 'string'}, {'indexed': True, 'internalType': 'uint256', 'name': 'id', 'type': 'uint256'}], 'name': 'URI', 'type': 'event'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'uint256', 'name': 'id', 'type': 'uint256'}], 'name': 'balanceOf', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address[]', 'name': 'accounts', 'type': 'address[]'}, {'internalType': 'uint256[]', 'name': 'ids', 'type': 'uint256[]'}], 'name': 'balanceOfBatch', 'outputs': [{'internalType': 'uint256[]', 'name': '', 'type': 'uint256[]'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'address', 'name': 'operator', 'type': 'address'}], 'name': 'isApprovedForAll', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256[]', 'name': 'ids', 'type': 'uint256[]'}, {'internalType': 'uint256[]', 'name': 'amounts', 'type': 'uint256[]'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'safeBatchTransferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'id', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'safeTransferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'internalType': 'bool', 'name': 'approved', 'type': 'bool'}], 'name': 'setApprovalForAll', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'name': 'uri', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}], 'functions_names': ['balanceOf', 'balanceOfBatch', 'isApprovedForAll', 'safeBatchTransferFrom', 'safeTransferFrom', 'setApprovalForAll', 'uri']}, - "e4143091": {'name': 'IERC3156FlashLender', 'selector': 'e4143091', 'abi': [{'inputs': [{'internalType': 'address', 'name': 'token', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'flashFee', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'contract IERC3156FlashBorrower', 'name': 'receiver', 'type': 'address'}, {'internalType': 'address', 'name': 'token', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'flashLoan', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'token', 'type': 'address'}], 'name': 'maxFlashLoan', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}], 'functions_names': ['flashFee', 'flashLoan', 'maxFlashLoan']}, - "65d2cb11": {'name': 'ERC20WrapperMock', 'selector': '65d2cb11', 'abi': [{'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'address', 'name': 'spender', 'type': 'address'}], 'name': 'allowance', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'approve', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'balanceOf', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'decimals', 'outputs': [{'internalType': 'uint8', 'name': '', 'type': 'uint8'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'subtractedValue', 'type': 'uint256'}], 'name': 'decreaseAllowance', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'depositFor', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'addedValue', 'type': 'uint256'}], 'name': 'increaseAllowance', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'name', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'recover', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'symbol', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'totalSupply', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transfer', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transferFrom', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'underlying', 'outputs': [{'internalType': 'contract IERC20', 'name': '', 'type': 'address'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'withdrawTo', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['allowance', 'approve', 'balanceOf', 'decimals', 'decreaseAllowance', 'depositFor', 'increaseAllowance', 'name', 'recover', 'symbol', 'totalSupply', 'transfer', 'transferFrom', 'underlying', 'withdrawTo']}, - "4e2312e0": {'name': 'ERC1155ReceiverMock', 'selector': '4e2312e0', 'abi': [{'inputs': [{'internalType': 'bytes4', 'name': 'recRetval', 'type': 'bytes4'}, {'internalType': 'bytes4', 'name': 'batRetval', 'type': 'bytes4'}, {'internalType': 'enum ERC1155ReceiverMock.RevertType', 'name': 'error', 'type': 'uint8'}], 'stateMutability': 'nonpayable', 'type': 'constructor'}, {'inputs': [{'internalType': 'bytes4', 'name': '', 'type': 'bytes4'}], 'name': 'CustomError', 'type': 'error'}, {'anonymous': False, 'inputs': [{'indexed': False, 'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'indexed': False, 'internalType': 'address', 'name': 'from', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256[]', 'name': 'ids', 'type': 'uint256[]'}, {'indexed': False, 'internalType': 'uint256[]', 'name': 'values', 'type': 'uint256[]'}, {'indexed': False, 'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}, {'indexed': False, 'internalType': 'uint256', 'name': 'gas', 'type': 'uint256'}], 'name': 'BatchReceived', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': False, 'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'indexed': False, 'internalType': 'address', 'name': 'from', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'id', 'type': 'uint256'}, {'indexed': False, 'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}, {'indexed': False, 'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}, {'indexed': False, 'internalType': 'uint256', 'name': 'gas', 'type': 'uint256'}], 'name': 'Received', 'type': 'event'}, {'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'uint256[]', 'name': 'ids', 'type': 'uint256[]'}, {'internalType': 'uint256[]', 'name': 'values', 'type': 'uint256[]'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'onERC1155BatchReceived', 'outputs': [{'internalType': 'bytes4', 'name': '', 'type': 'bytes4'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'uint256', 'name': 'id', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'onERC1155Received', 'outputs': [{'internalType': 'bytes4', 'name': '', 'type': 'bytes4'}], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['onERC1155BatchReceived', 'onERC1155Received']}, - "04cc9298": {'name': 'ERC721RoyaltyMock', 'selector': '04cc9298', 'abi': [{'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'approve', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'balanceOf', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'burn', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'deleteDefaultRoyalty', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'getApproved', 'outputs': [{'internalType': 'address', 'name': '', 'type': 'address'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'address', 'name': 'operator', 'type': 'address'}], 'name': 'isApprovedForAll', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'mint', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'name', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'ownerOf', 'outputs': [{'internalType': 'address', 'name': '', 'type': 'address'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': '_tokenId', 'type': 'uint256'}, {'internalType': 'uint256', 'name': '_salePrice', 'type': 'uint256'}], 'name': 'royaltyInfo', 'outputs': [{'internalType': 'address', 'name': '', 'type': 'address'}, {'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'safeTransferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'safeTransferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'internalType': 'bool', 'name': 'approved', 'type': 'bool'}], 'name': 'setApprovalForAll', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'recipient', 'type': 'address'}, {'internalType': 'uint96', 'name': 'fraction', 'type': 'uint96'}], 'name': 'setDefaultRoyalty', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}, {'internalType': 'address', 'name': 'recipient', 'type': 'address'}, {'internalType': 'uint96', 'name': 'fraction', 'type': 'uint96'}], 'name': 'setTokenRoyalty', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'symbol', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'tokenURI', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'transferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['approve', 'balanceOf', 'burn', 'deleteDefaultRoyalty', 'getApproved', 'isApprovedForAll', 'mint', 'name', 'ownerOf', 'royaltyInfo', 'safeTransferFrom', 'safeTransferFrom', 'setApprovalForAll', 'setDefaultRoyalty', 'setTokenRoyalty', 'symbol', 'tokenURI', 'transferFrom']}, - "c02c866a": {'name': 'ERC1155PausableMock', 'selector': 'c02c866a', 'abi': [{'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'uint256', 'name': 'id', 'type': 'uint256'}], 'name': 'balanceOf', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address[]', 'name': 'accounts', 'type': 'address[]'}, {'internalType': 'uint256[]', 'name': 'ids', 'type': 'uint256[]'}], 'name': 'balanceOfBatch', 'outputs': [{'internalType': 'uint256[]', 'name': '', 'type': 'uint256[]'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'uint256', 'name': 'id', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}], 'name': 'burn', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'uint256[]', 'name': 'ids', 'type': 'uint256[]'}, {'internalType': 'uint256[]', 'name': 'values', 'type': 'uint256[]'}], 'name': 'burnBatch', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'address', 'name': 'operator', 'type': 'address'}], 'name': 'isApprovedForAll', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'id', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'mint', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256[]', 'name': 'ids', 'type': 'uint256[]'}, {'internalType': 'uint256[]', 'name': 'values', 'type': 'uint256[]'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'mintBatch', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'pause', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'paused', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256[]', 'name': 'ids', 'type': 'uint256[]'}, {'internalType': 'uint256[]', 'name': 'amounts', 'type': 'uint256[]'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'safeBatchTransferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'id', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'safeTransferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'internalType': 'bool', 'name': 'approved', 'type': 'bool'}], 'name': 'setApprovalForAll', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'string', 'name': 'newuri', 'type': 'string'}], 'name': 'setURI', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'unpause', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'name': 'uri', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}], 'functions_names': ['balanceOf', 'balanceOfBatch', 'burn', 'burnBatch', 'isApprovedForAll', 'mint', 'mintBatch', 'pause', 'paused', 'safeBatchTransferFrom', 'safeTransferFrom', 'setApprovalForAll', 'setURI', 'unpause', 'uri']}, - "33a073c9": {'name': 'ERC20PausableMock', 'selector': '33a073c9', 'abi': [{'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'address', 'name': 'spender', 'type': 'address'}], 'name': 'allowance', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'approve', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'balanceOf', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'burn', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'decimals', 'outputs': [{'internalType': 'uint8', 'name': '', 'type': 'uint8'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'subtractedValue', 'type': 'uint256'}], 'name': 'decreaseAllowance', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'addedValue', 'type': 'uint256'}], 'name': 'increaseAllowance', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'mint', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'name', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'pause', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'paused', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'symbol', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'totalSupply', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transfer', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transferFrom', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'unpause', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['allowance', 'approve', 'balanceOf', 'burn', 'decimals', 'decreaseAllowance', 'increaseAllowance', 'mint', 'name', 'pause', 'paused', 'symbol', 'totalSupply', 'transfer', 'transferFrom', 'unpause']}, - "dbf24b52": {'name': 'ERC721URIStorage', 'selector': 'dbf24b52', 'abi': [{'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}, {'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'ERC721IncorrectOwner', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'ERC721InsufficientApproval', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'approver', 'type': 'address'}], 'name': 'ERC721InvalidApprover', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}], 'name': 'ERC721InvalidOperator', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'ERC721InvalidOwner', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'receiver', 'type': 'address'}], 'name': 'ERC721InvalidReceiver', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}], 'name': 'ERC721InvalidSender', 'type': 'error'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'ERC721NonexistentToken', 'type': 'error'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'approved', 'type': 'address'}, {'indexed': True, 'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'Approval', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'indexed': False, 'internalType': 'bool', 'name': 'approved', 'type': 'bool'}], 'name': 'ApprovalForAll', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': False, 'internalType': 'uint256', 'name': '_fromTokenId', 'type': 'uint256'}, {'indexed': False, 'internalType': 'uint256', 'name': '_toTokenId', 'type': 'uint256'}], 'name': 'BatchMetadataUpdate', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': False, 'internalType': 'uint256', 'name': '_tokenId', 'type': 'uint256'}], 'name': 'MetadataUpdate', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'from', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'to', 'type': 'address'}, {'indexed': True, 'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'Transfer', 'type': 'event'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'approve', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'balanceOf', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'getApproved', 'outputs': [{'internalType': 'address', 'name': '', 'type': 'address'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'address', 'name': 'operator', 'type': 'address'}], 'name': 'isApprovedForAll', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'name', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'ownerOf', 'outputs': [{'internalType': 'address', 'name': '', 'type': 'address'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'safeTransferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'safeTransferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'internalType': 'bool', 'name': 'approved', 'type': 'bool'}], 'name': 'setApprovalForAll', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'symbol', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'tokenURI', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'transferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['approve', 'balanceOf', 'getApproved', 'isApprovedForAll', 'name', 'ownerOf', 'safeTransferFrom', 'safeTransferFrom', 'setApprovalForAll', 'symbol', 'tokenURI', 'transferFrom']}, - "4e2312e0": {'name': 'ERC1155Receiver', 'selector': '4e2312e0', 'abi': [{'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'uint256[]', 'name': 'ids', 'type': 'uint256[]'}, {'internalType': 'uint256[]', 'name': 'values', 'type': 'uint256[]'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'onERC1155BatchReceived', 'outputs': [{'internalType': 'bytes4', 'name': '', 'type': 'bytes4'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'uint256', 'name': 'id', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'onERC1155Received', 'outputs': [{'internalType': 'bytes4', 'name': '', 'type': 'bytes4'}], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['onERC1155BatchReceived', 'onERC1155Received']}, - "da287a1d": {'name': 'IERC6372', 'selector': 'da287a1d', 'abi': [{'inputs': [], 'name': 'CLOCK_MODE', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'clock', 'outputs': [{'internalType': 'uint48', 'name': '', 'type': 'uint48'}], 'stateMutability': 'view', 'type': 'function'}], 'functions_names': ['CLOCK_MODE', 'clock']}, - "182e8a08": {'name': 'ERC1271WalletMock', 'selector': '182e8a08', 'abi': [{'inputs': [{'internalType': 'address', 'name': 'originalOwner', 'type': 'address'}], 'stateMutability': 'nonpayable', 'type': 'constructor'}, {'inputs': [], 'name': 'ECDSAInvalidSignature', 'type': 'error'}, {'inputs': [{'internalType': 'uint256', 'name': 'length', 'type': 'uint256'}], 'name': 'ECDSAInvalidSignatureLength', 'type': 'error'}, {'inputs': [{'internalType': 'bytes32', 'name': 's', 'type': 'bytes32'}], 'name': 'ECDSAInvalidSignatureS', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'OwnableInvalidOwner', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'OwnableUnauthorizedAccount', 'type': 'error'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'previousOwner', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'newOwner', 'type': 'address'}], 'name': 'OwnershipTransferred', 'type': 'event'}, {'inputs': [{'internalType': 'bytes32', 'name': 'hash', 'type': 'bytes32'}, {'internalType': 'bytes', 'name': 'signature', 'type': 'bytes'}], 'name': 'isValidSignature', 'outputs': [{'internalType': 'bytes4', 'name': 'magicValue', 'type': 'bytes4'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'owner', 'outputs': [{'internalType': 'address', 'name': '', 'type': 'address'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'renounceOwnership', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'newOwner', 'type': 'address'}], 'name': 'transferOwnership', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['isValidSignature', 'owner', 'renounceOwnership', 'transferOwnership']}, - "12ab25d7": {'name': 'ERC721VotesTimestampMock', 'selector': '12ab25d7', 'abi': [{'inputs': [], 'name': 'CheckpointUnorderedInsertion', 'type': 'error'}, {'inputs': [], 'name': 'ECDSAInvalidSignature', 'type': 'error'}, {'inputs': [{'internalType': 'uint256', 'name': 'length', 'type': 'uint256'}], 'name': 'ECDSAInvalidSignatureLength', 'type': 'error'}, {'inputs': [{'internalType': 'bytes32', 'name': 's', 'type': 'bytes32'}], 'name': 'ECDSAInvalidSignatureS', 'type': 'error'}, {'inputs': [{'internalType': 'uint256', 'name': 'timepoint', 'type': 'uint256'}, {'internalType': 'uint48', 'name': 'clock', 'type': 'uint48'}], 'name': 'ERC5805FutureLookup', 'type': 'error'}, {'inputs': [], 'name': 'ERC6372InconsistentClock', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}, {'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'ERC721IncorrectOwner', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'ERC721InsufficientApproval', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'approver', 'type': 'address'}], 'name': 'ERC721InvalidApprover', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}], 'name': 'ERC721InvalidOperator', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'ERC721InvalidOwner', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'receiver', 'type': 'address'}], 'name': 'ERC721InvalidReceiver', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}], 'name': 'ERC721InvalidSender', 'type': 'error'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'ERC721NonexistentToken', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'uint256', 'name': 'currentNonce', 'type': 'uint256'}], 'name': 'InvalidAccountNonce', 'type': 'error'}, {'inputs': [{'internalType': 'uint8', 'name': 'bits', 'type': 'uint8'}, {'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}], 'name': 'SafeCastOverflowedUintDowncast', 'type': 'error'}, {'inputs': [{'internalType': 'uint256', 'name': 'expiry', 'type': 'uint256'}], 'name': 'VotesExpiredSignature', 'type': 'error'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'approved', 'type': 'address'}, {'indexed': True, 'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'Approval', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'indexed': False, 'internalType': 'bool', 'name': 'approved', 'type': 'bool'}], 'name': 'ApprovalForAll', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'delegator', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'fromDelegate', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'toDelegate', 'type': 'address'}], 'name': 'DelegateChanged', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'delegate', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'previousBalance', 'type': 'uint256'}, {'indexed': False, 'internalType': 'uint256', 'name': 'newBalance', 'type': 'uint256'}], 'name': 'DelegateVotesChanged', 'type': 'event'}, {'anonymous': False, 'inputs': [], 'name': 'EIP712DomainChanged', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'from', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'to', 'type': 'address'}, {'indexed': True, 'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'Transfer', 'type': 'event'}, {'inputs': [], 'name': 'CLOCK_MODE', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'approve', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'balanceOf', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'clock', 'outputs': [{'internalType': 'uint48', 'name': '', 'type': 'uint48'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'delegatee', 'type': 'address'}], 'name': 'delegate', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'delegatee', 'type': 'address'}, {'internalType': 'uint256', 'name': 'nonce', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'expiry', 'type': 'uint256'}, {'internalType': 'uint8', 'name': 'v', 'type': 'uint8'}, {'internalType': 'bytes32', 'name': 'r', 'type': 'bytes32'}, {'internalType': 'bytes32', 'name': 's', 'type': 'bytes32'}], 'name': 'delegateBySig', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'delegates', 'outputs': [{'internalType': 'address', 'name': '', 'type': 'address'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'eip712Domain', 'outputs': [{'internalType': 'bytes1', 'name': 'fields', 'type': 'bytes1'}, {'internalType': 'string', 'name': 'name', 'type': 'string'}, {'internalType': 'string', 'name': 'version', 'type': 'string'}, {'internalType': 'uint256', 'name': 'chainId', 'type': 'uint256'}, {'internalType': 'address', 'name': 'verifyingContract', 'type': 'address'}, {'internalType': 'bytes32', 'name': 'salt', 'type': 'bytes32'}, {'internalType': 'uint256[]', 'name': 'extensions', 'type': 'uint256[]'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'getApproved', 'outputs': [{'internalType': 'address', 'name': '', 'type': 'address'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'timepoint', 'type': 'uint256'}], 'name': 'getPastTotalSupply', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'uint256', 'name': 'timepoint', 'type': 'uint256'}], 'name': 'getPastVotes', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'getVotes', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'address', 'name': 'operator', 'type': 'address'}], 'name': 'isApprovedForAll', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'name', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'nonces', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'ownerOf', 'outputs': [{'internalType': 'address', 'name': '', 'type': 'address'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'safeTransferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'safeTransferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'internalType': 'bool', 'name': 'approved', 'type': 'bool'}], 'name': 'setApprovalForAll', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'symbol', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'tokenURI', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'transferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['CLOCK_MODE', 'approve', 'balanceOf', 'clock', 'delegate', 'delegateBySig', 'delegates', 'eip712Domain', 'getApproved', 'getPastTotalSupply', 'getPastVotes', 'getVotes', 'isApprovedForAll', 'name', 'nonces', 'ownerOf', 'safeTransferFrom', 'safeTransferFrom', 'setApprovalForAll', 'symbol', 'tokenURI', 'transferFrom']}, - "8a3350b0": {'name': 'ERC777PresetFixedSupply', 'selector': '8a3350b0', 'abi': [{'inputs': [{'internalType': 'address', 'name': 'holder', 'type': 'address'}, {'internalType': 'address', 'name': 'spender', 'type': 'address'}], 'name': 'allowance', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}], 'name': 'approve', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}], 'name': 'authorizeOperator', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'tokenHolder', 'type': 'address'}], 'name': 'balanceOf', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'burn', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'decimals', 'outputs': [{'internalType': 'uint8', 'name': '', 'type': 'uint8'}], 'stateMutability': 'pure', 'type': 'function'}, {'inputs': [], 'name': 'defaultOperators', 'outputs': [{'internalType': 'address[]', 'name': '', 'type': 'address[]'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'granularity', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'internalType': 'address', 'name': 'tokenHolder', 'type': 'address'}], 'name': 'isOperatorFor', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'name', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}, {'internalType': 'bytes', 'name': 'operatorData', 'type': 'bytes'}], 'name': 'operatorBurn', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}, {'internalType': 'address', 'name': 'recipient', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}, {'internalType': 'bytes', 'name': 'operatorData', 'type': 'bytes'}], 'name': 'operatorSend', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}], 'name': 'revokeOperator', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'recipient', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'send', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'symbol', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'totalSupply', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'recipient', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transfer', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'holder', 'type': 'address'}, {'internalType': 'address', 'name': 'recipient', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transferFrom', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['allowance', 'approve', 'authorizeOperator', 'balanceOf', 'burn', 'decimals', 'defaultOperators', 'granularity', 'isOperatorFor', 'name', 'operatorBurn', 'operatorSend', 'revokeOperator', 'send', 'symbol', 'totalSupply', 'transfer', 'transferFrom']}, - "150b7a02": {'name': 'ERC721ReceiverMock', 'selector': '150b7a02', 'abi': [{'inputs': [{'internalType': 'bytes4', 'name': 'retval', 'type': 'bytes4'}, {'internalType': 'enum ERC721ReceiverMock.RevertType', 'name': 'error', 'type': 'uint8'}], 'stateMutability': 'nonpayable', 'type': 'constructor'}, {'inputs': [{'internalType': 'bytes4', 'name': '', 'type': 'bytes4'}], 'name': 'CustomError', 'type': 'error'}, {'anonymous': False, 'inputs': [{'indexed': False, 'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'indexed': False, 'internalType': 'address', 'name': 'from', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}, {'indexed': False, 'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}, {'indexed': False, 'internalType': 'uint256', 'name': 'gas', 'type': 'uint256'}], 'name': 'Received', 'type': 'event'}, {'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'onERC721Received', 'outputs': [{'internalType': 'bytes4', 'name': '', 'type': 'bytes4'}], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['onERC721Received']}, - "493600a4": {'name': 'ERC1155Burnable', 'selector': '493600a4', 'abi': [{'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'ERC1155InsufficientApprovalForAll', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'balance', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'needed', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'ERC1155InsufficientBalance', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'approver', 'type': 'address'}], 'name': 'ERC1155InvalidApprover', 'type': 'error'}, {'inputs': [{'internalType': 'uint256', 'name': 'idsLength', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'valuesLength', 'type': 'uint256'}], 'name': 'ERC1155InvalidArrayLength', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}], 'name': 'ERC1155InvalidOperator', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'receiver', 'type': 'address'}], 'name': 'ERC1155InvalidReceiver', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}], 'name': 'ERC1155InvalidSender', 'type': 'error'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'account', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'indexed': False, 'internalType': 'bool', 'name': 'approved', 'type': 'bool'}], 'name': 'ApprovalForAll', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'from', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'to', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256[]', 'name': 'ids', 'type': 'uint256[]'}, {'indexed': False, 'internalType': 'uint256[]', 'name': 'values', 'type': 'uint256[]'}], 'name': 'TransferBatch', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'from', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'to', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'id', 'type': 'uint256'}, {'indexed': False, 'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}], 'name': 'TransferSingle', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': False, 'internalType': 'string', 'name': 'value', 'type': 'string'}, {'indexed': True, 'internalType': 'uint256', 'name': 'id', 'type': 'uint256'}], 'name': 'URI', 'type': 'event'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'uint256', 'name': 'id', 'type': 'uint256'}], 'name': 'balanceOf', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address[]', 'name': 'accounts', 'type': 'address[]'}, {'internalType': 'uint256[]', 'name': 'ids', 'type': 'uint256[]'}], 'name': 'balanceOfBatch', 'outputs': [{'internalType': 'uint256[]', 'name': '', 'type': 'uint256[]'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'uint256', 'name': 'id', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}], 'name': 'burn', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'uint256[]', 'name': 'ids', 'type': 'uint256[]'}, {'internalType': 'uint256[]', 'name': 'values', 'type': 'uint256[]'}], 'name': 'burnBatch', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'address', 'name': 'operator', 'type': 'address'}], 'name': 'isApprovedForAll', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256[]', 'name': 'ids', 'type': 'uint256[]'}, {'internalType': 'uint256[]', 'name': 'amounts', 'type': 'uint256[]'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'safeBatchTransferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'id', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'safeTransferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'internalType': 'bool', 'name': 'approved', 'type': 'bool'}], 'name': 'setApprovalForAll', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'name': 'uri', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}], 'functions_names': ['balanceOf', 'balanceOfBatch', 'burn', 'burnBatch', 'isApprovedForAll', 'safeBatchTransferFrom', 'safeTransferFrom', 'setApprovalForAll', 'uri']}, - "01ffc9a7": {'name': 'ERC165', 'selector': '01ffc9a7', 'abi': [{'inputs': [{'internalType': 'bytes4', 'name': 'interfaceId', 'type': 'bytes4'}], 'name': 'supportsInterface', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'view', 'type': 'function'}], 'functions_names': ['supportsInterface']}, - "70a649ce": {'name': 'ERC1155PresetMinterPauser', 'selector': '70a649ce', 'abi': [{'inputs': [], 'name': 'DEFAULT_ADMIN_ROLE', 'outputs': [{'internalType': 'bytes32', 'name': '', 'type': 'bytes32'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'MINTER_ROLE', 'outputs': [{'internalType': 'bytes32', 'name': '', 'type': 'bytes32'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'PAUSER_ROLE', 'outputs': [{'internalType': 'bytes32', 'name': '', 'type': 'bytes32'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'uint256', 'name': 'id', 'type': 'uint256'}], 'name': 'balanceOf', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address[]', 'name': 'accounts', 'type': 'address[]'}, {'internalType': 'uint256[]', 'name': 'ids', 'type': 'uint256[]'}], 'name': 'balanceOfBatch', 'outputs': [{'internalType': 'uint256[]', 'name': '', 'type': 'uint256[]'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'uint256', 'name': 'id', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}], 'name': 'burn', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'uint256[]', 'name': 'ids', 'type': 'uint256[]'}, {'internalType': 'uint256[]', 'name': 'values', 'type': 'uint256[]'}], 'name': 'burnBatch', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'bytes32', 'name': 'role', 'type': 'bytes32'}], 'name': 'getRoleAdmin', 'outputs': [{'internalType': 'bytes32', 'name': '', 'type': 'bytes32'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'bytes32', 'name': 'role', 'type': 'bytes32'}, {'internalType': 'uint256', 'name': 'index', 'type': 'uint256'}], 'name': 'getRoleMember', 'outputs': [{'internalType': 'address', 'name': '', 'type': 'address'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'bytes32', 'name': 'role', 'type': 'bytes32'}], 'name': 'getRoleMemberCount', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'bytes32', 'name': 'role', 'type': 'bytes32'}, {'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'grantRole', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'bytes32', 'name': 'role', 'type': 'bytes32'}, {'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'hasRole', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'address', 'name': 'operator', 'type': 'address'}], 'name': 'isApprovedForAll', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'id', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'mint', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256[]', 'name': 'ids', 'type': 'uint256[]'}, {'internalType': 'uint256[]', 'name': 'amounts', 'type': 'uint256[]'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'mintBatch', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'pause', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'paused', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'bytes32', 'name': 'role', 'type': 'bytes32'}, {'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'renounceRole', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'bytes32', 'name': 'role', 'type': 'bytes32'}, {'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'revokeRole', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256[]', 'name': 'ids', 'type': 'uint256[]'}, {'internalType': 'uint256[]', 'name': 'amounts', 'type': 'uint256[]'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'safeBatchTransferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'id', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'safeTransferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'internalType': 'bool', 'name': 'approved', 'type': 'bool'}], 'name': 'setApprovalForAll', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'unpause', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'name': 'uri', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}], 'functions_names': ['DEFAULT_ADMIN_ROLE', 'MINTER_ROLE', 'PAUSER_ROLE', 'balanceOf', 'balanceOfBatch', 'burn', 'burnBatch', 'getRoleAdmin', 'getRoleMember', 'getRoleMemberCount', 'grantRole', 'hasRole', 'isApprovedForAll', 'mint', 'mintBatch', 'pause', 'paused', 'renounceRole', 'revokeRole', 'safeBatchTransferFrom', 'safeTransferFrom', 'setApprovalForAll', 'unpause', 'uri']}, - "171c304d": {'name': 'ERC721Wrapper', 'selector': '171c304d', 'abi': [{'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}, {'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'ERC721IncorrectOwner', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'ERC721InsufficientApproval', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'approver', 'type': 'address'}], 'name': 'ERC721InvalidApprover', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}], 'name': 'ERC721InvalidOperator', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'ERC721InvalidOwner', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'receiver', 'type': 'address'}], 'name': 'ERC721InvalidReceiver', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}], 'name': 'ERC721InvalidSender', 'type': 'error'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'ERC721NonexistentToken', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'token', 'type': 'address'}], 'name': 'ERC721UnsupportedToken', 'type': 'error'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'approved', 'type': 'address'}, {'indexed': True, 'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'Approval', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'indexed': False, 'internalType': 'bool', 'name': 'approved', 'type': 'bool'}], 'name': 'ApprovalForAll', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'from', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'to', 'type': 'address'}, {'indexed': True, 'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'Transfer', 'type': 'event'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'approve', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'balanceOf', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'uint256[]', 'name': 'tokenIds', 'type': 'uint256[]'}], 'name': 'depositFor', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'getApproved', 'outputs': [{'internalType': 'address', 'name': '', 'type': 'address'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'address', 'name': 'operator', 'type': 'address'}], 'name': 'isApprovedForAll', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'name', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': '', 'type': 'address'}, {'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}, {'internalType': 'bytes', 'name': '', 'type': 'bytes'}], 'name': 'onERC721Received', 'outputs': [{'internalType': 'bytes4', 'name': '', 'type': 'bytes4'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'ownerOf', 'outputs': [{'internalType': 'address', 'name': '', 'type': 'address'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'safeTransferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'safeTransferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'internalType': 'bool', 'name': 'approved', 'type': 'bool'}], 'name': 'setApprovalForAll', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'symbol', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'tokenURI', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'transferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'underlying', 'outputs': [{'internalType': 'contract IERC721', 'name': '', 'type': 'address'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'uint256[]', 'name': 'tokenIds', 'type': 'uint256[]'}], 'name': 'withdrawTo', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['approve', 'balanceOf', 'depositFor', 'getApproved', 'isApprovedForAll', 'name', 'onERC721Received', 'ownerOf', 'safeTransferFrom', 'safeTransferFrom', 'setApprovalForAll', 'symbol', 'tokenURI', 'transferFrom', 'underlying', 'withdrawTo']}, - "8ef63f04": {'name': 'ERC4626FeesMock', 'selector': '8ef63f04', 'abi': [{'inputs': [{'internalType': 'address', 'name': 'target', 'type': 'address'}], 'name': 'AddressEmptyCode', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'AddressInsufficientBalance', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'currentAllowance', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'requestedDecrease', 'type': 'uint256'}], 'name': 'ERC20FailedDecreaseAllowance', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'allowance', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'needed', 'type': 'uint256'}], 'name': 'ERC20InsufficientAllowance', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'balance', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'needed', 'type': 'uint256'}], 'name': 'ERC20InsufficientBalance', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'approver', 'type': 'address'}], 'name': 'ERC20InvalidApprover', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'receiver', 'type': 'address'}], 'name': 'ERC20InvalidReceiver', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}], 'name': 'ERC20InvalidSender', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}], 'name': 'ERC20InvalidSpender', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'receiver', 'type': 'address'}, {'internalType': 'uint256', 'name': 'assets', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'max', 'type': 'uint256'}], 'name': 'ERC4626ExceededMaxDeposit', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'receiver', 'type': 'address'}, {'internalType': 'uint256', 'name': 'shares', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'max', 'type': 'uint256'}], 'name': 'ERC4626ExceededMaxMint', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'uint256', 'name': 'shares', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'max', 'type': 'uint256'}], 'name': 'ERC4626ExceededMaxRedeem', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'uint256', 'name': 'assets', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'max', 'type': 'uint256'}], 'name': 'ERC4626ExceededMaxWithdraw', 'type': 'error'}, {'inputs': [], 'name': 'FailedInnerCall', 'type': 'error'}, {'inputs': [], 'name': 'MathOverflowedMulDiv', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'token', 'type': 'address'}], 'name': 'SafeERC20FailedOperation', 'type': 'error'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}], 'name': 'Approval', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'sender', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'assets', 'type': 'uint256'}, {'indexed': False, 'internalType': 'uint256', 'name': 'shares', 'type': 'uint256'}], 'name': 'Deposit', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'from', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'to', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}], 'name': 'Transfer', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'sender', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'receiver', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'assets', 'type': 'uint256'}, {'indexed': False, 'internalType': 'uint256', 'name': 'shares', 'type': 'uint256'}], 'name': 'Withdraw', 'type': 'event'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'address', 'name': 'spender', 'type': 'address'}], 'name': 'allowance', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'approve', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'asset', 'outputs': [{'internalType': 'address', 'name': '', 'type': 'address'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'balanceOf', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'shares', 'type': 'uint256'}], 'name': 'convertToAssets', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'assets', 'type': 'uint256'}], 'name': 'convertToShares', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'decimals', 'outputs': [{'internalType': 'uint8', 'name': '', 'type': 'uint8'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'requestedDecrease', 'type': 'uint256'}], 'name': 'decreaseAllowance', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'assets', 'type': 'uint256'}, {'internalType': 'address', 'name': 'receiver', 'type': 'address'}], 'name': 'deposit', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'addedValue', 'type': 'uint256'}], 'name': 'increaseAllowance', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': '', 'type': 'address'}], 'name': 'maxDeposit', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': '', 'type': 'address'}], 'name': 'maxMint', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'maxRedeem', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'maxWithdraw', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'shares', 'type': 'uint256'}, {'internalType': 'address', 'name': 'receiver', 'type': 'address'}], 'name': 'mint', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'name', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'assets', 'type': 'uint256'}], 'name': 'previewDeposit', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'shares', 'type': 'uint256'}], 'name': 'previewMint', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'shares', 'type': 'uint256'}], 'name': 'previewRedeem', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'assets', 'type': 'uint256'}], 'name': 'previewWithdraw', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'shares', 'type': 'uint256'}, {'internalType': 'address', 'name': 'receiver', 'type': 'address'}, {'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'redeem', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'symbol', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'totalAssets', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'totalSupply', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transfer', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transferFrom', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'assets', 'type': 'uint256'}, {'internalType': 'address', 'name': 'receiver', 'type': 'address'}, {'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'withdraw', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['allowance', 'approve', 'asset', 'balanceOf', 'convertToAssets', 'convertToShares', 'decimals', 'decreaseAllowance', 'deposit', 'increaseAllowance', 'maxDeposit', 'maxMint', 'maxRedeem', 'maxWithdraw', 'mint', 'name', 'previewDeposit', 'previewMint', 'previewRedeem', 'previewWithdraw', 'redeem', 'symbol', 'totalAssets', 'totalSupply', 'transfer', 'transferFrom', 'withdraw']}, - "7b04a2d0": {'name': 'IERC1363Spender', 'selector': '7b04a2d0', 'abi': [{'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'onApprovalReceived', 'outputs': [{'internalType': 'bytes4', 'name': '', 'type': 'bytes4'}], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['onApprovalReceived']}, - "0929daa4": {'name': 'ERC20', 'selector': '0929daa4', 'abi': [{'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'currentAllowance', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'requestedDecrease', 'type': 'uint256'}], 'name': 'ERC20FailedDecreaseAllowance', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'allowance', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'needed', 'type': 'uint256'}], 'name': 'ERC20InsufficientAllowance', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'balance', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'needed', 'type': 'uint256'}], 'name': 'ERC20InsufficientBalance', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'approver', 'type': 'address'}], 'name': 'ERC20InvalidApprover', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'receiver', 'type': 'address'}], 'name': 'ERC20InvalidReceiver', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}], 'name': 'ERC20InvalidSender', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}], 'name': 'ERC20InvalidSpender', 'type': 'error'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}], 'name': 'Approval', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'from', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'to', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}], 'name': 'Transfer', 'type': 'event'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'address', 'name': 'spender', 'type': 'address'}], 'name': 'allowance', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'approve', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'balanceOf', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'decimals', 'outputs': [{'internalType': 'uint8', 'name': '', 'type': 'uint8'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'requestedDecrease', 'type': 'uint256'}], 'name': 'decreaseAllowance', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'addedValue', 'type': 'uint256'}], 'name': 'increaseAllowance', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'name', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'symbol', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'totalSupply', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transfer', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transferFrom', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['allowance', 'approve', 'balanceOf', 'decimals', 'decreaseAllowance', 'increaseAllowance', 'name', 'symbol', 'totalSupply', 'transfer', 'transferFrom']}, - "8ef63f04": {'name': 'ERC4626', 'selector': '8ef63f04', 'abi': [{'inputs': [{'internalType': 'address', 'name': 'target', 'type': 'address'}], 'name': 'AddressEmptyCode', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'AddressInsufficientBalance', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'currentAllowance', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'requestedDecrease', 'type': 'uint256'}], 'name': 'ERC20FailedDecreaseAllowance', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'allowance', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'needed', 'type': 'uint256'}], 'name': 'ERC20InsufficientAllowance', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'balance', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'needed', 'type': 'uint256'}], 'name': 'ERC20InsufficientBalance', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'approver', 'type': 'address'}], 'name': 'ERC20InvalidApprover', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'receiver', 'type': 'address'}], 'name': 'ERC20InvalidReceiver', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}], 'name': 'ERC20InvalidSender', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}], 'name': 'ERC20InvalidSpender', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'receiver', 'type': 'address'}, {'internalType': 'uint256', 'name': 'assets', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'max', 'type': 'uint256'}], 'name': 'ERC4626ExceededMaxDeposit', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'receiver', 'type': 'address'}, {'internalType': 'uint256', 'name': 'shares', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'max', 'type': 'uint256'}], 'name': 'ERC4626ExceededMaxMint', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'uint256', 'name': 'shares', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'max', 'type': 'uint256'}], 'name': 'ERC4626ExceededMaxRedeem', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'uint256', 'name': 'assets', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'max', 'type': 'uint256'}], 'name': 'ERC4626ExceededMaxWithdraw', 'type': 'error'}, {'inputs': [], 'name': 'FailedInnerCall', 'type': 'error'}, {'inputs': [], 'name': 'MathOverflowedMulDiv', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'token', 'type': 'address'}], 'name': 'SafeERC20FailedOperation', 'type': 'error'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}], 'name': 'Approval', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'sender', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'assets', 'type': 'uint256'}, {'indexed': False, 'internalType': 'uint256', 'name': 'shares', 'type': 'uint256'}], 'name': 'Deposit', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'from', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'to', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}], 'name': 'Transfer', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'sender', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'receiver', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'assets', 'type': 'uint256'}, {'indexed': False, 'internalType': 'uint256', 'name': 'shares', 'type': 'uint256'}], 'name': 'Withdraw', 'type': 'event'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'address', 'name': 'spender', 'type': 'address'}], 'name': 'allowance', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'approve', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'asset', 'outputs': [{'internalType': 'address', 'name': '', 'type': 'address'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'balanceOf', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'shares', 'type': 'uint256'}], 'name': 'convertToAssets', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'assets', 'type': 'uint256'}], 'name': 'convertToShares', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'decimals', 'outputs': [{'internalType': 'uint8', 'name': '', 'type': 'uint8'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'requestedDecrease', 'type': 'uint256'}], 'name': 'decreaseAllowance', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'assets', 'type': 'uint256'}, {'internalType': 'address', 'name': 'receiver', 'type': 'address'}], 'name': 'deposit', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'addedValue', 'type': 'uint256'}], 'name': 'increaseAllowance', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': '', 'type': 'address'}], 'name': 'maxDeposit', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': '', 'type': 'address'}], 'name': 'maxMint', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'maxRedeem', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'maxWithdraw', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'shares', 'type': 'uint256'}, {'internalType': 'address', 'name': 'receiver', 'type': 'address'}], 'name': 'mint', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'name', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'assets', 'type': 'uint256'}], 'name': 'previewDeposit', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'shares', 'type': 'uint256'}], 'name': 'previewMint', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'shares', 'type': 'uint256'}], 'name': 'previewRedeem', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'assets', 'type': 'uint256'}], 'name': 'previewWithdraw', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'shares', 'type': 'uint256'}, {'internalType': 'address', 'name': 'receiver', 'type': 'address'}, {'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'redeem', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'symbol', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'totalAssets', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'totalSupply', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transfer', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transferFrom', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'assets', 'type': 'uint256'}, {'internalType': 'address', 'name': 'receiver', 'type': 'address'}, {'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'withdraw', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['allowance', 'approve', 'asset', 'balanceOf', 'convertToAssets', 'convertToShares', 'decimals', 'decreaseAllowance', 'deposit', 'increaseAllowance', 'maxDeposit', 'maxMint', 'maxRedeem', 'maxWithdraw', 'mint', 'name', 'previewDeposit', 'previewMint', 'previewRedeem', 'previewWithdraw', 'redeem', 'symbol', 'totalAssets', 'totalSupply', 'transfer', 'transferFrom', 'withdraw']}, - "0929daa4": {'name': 'ERC20NoReturnMock', 'selector': '0929daa4', 'abi': [{'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'currentAllowance', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'requestedDecrease', 'type': 'uint256'}], 'name': 'ERC20FailedDecreaseAllowance', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'allowance', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'needed', 'type': 'uint256'}], 'name': 'ERC20InsufficientAllowance', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'balance', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'needed', 'type': 'uint256'}], 'name': 'ERC20InsufficientBalance', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'approver', 'type': 'address'}], 'name': 'ERC20InvalidApprover', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'receiver', 'type': 'address'}], 'name': 'ERC20InvalidReceiver', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}], 'name': 'ERC20InvalidSender', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}], 'name': 'ERC20InvalidSpender', 'type': 'error'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}], 'name': 'Approval', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'from', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'to', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}], 'name': 'Transfer', 'type': 'event'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'address', 'name': 'spender', 'type': 'address'}], 'name': 'allowance', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'approve', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'balanceOf', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'decimals', 'outputs': [{'internalType': 'uint8', 'name': '', 'type': 'uint8'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'requestedDecrease', 'type': 'uint256'}], 'name': 'decreaseAllowance', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'addedValue', 'type': 'uint256'}], 'name': 'increaseAllowance', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'name', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'symbol', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'totalSupply', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transfer', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transferFrom', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['allowance', 'approve', 'balanceOf', 'decimals', 'decreaseAllowance', 'increaseAllowance', 'name', 'symbol', 'totalSupply', 'transfer', 'transferFrom']}, - "52d1902d": {'name': 'IERC1822Proxiable', 'selector': '52d1902d', 'abi': [{'inputs': [], 'name': 'proxiableUUID', 'outputs': [{'internalType': 'bytes32', 'name': '', 'type': 'bytes32'}], 'stateMutability': 'view', 'type': 'function'}], 'functions_names': ['proxiableUUID']}, - "75ab9782": {'name': 'IERC777Sender', 'selector': '75ab9782', 'abi': [{'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}, {'internalType': 'bytes', 'name': 'userData', 'type': 'bytes'}, {'internalType': 'bytes', 'name': 'operatorData', 'type': 'bytes'}], 'name': 'tokensToSend', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['tokensToSend']}, - "a0aec90e": {'name': 'ERC20PermitMock', 'selector': 'a0aec90e', 'abi': [{'inputs': [], 'name': 'DOMAIN_SEPARATOR', 'outputs': [{'internalType': 'bytes32', 'name': '', 'type': 'bytes32'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'address', 'name': 'spender', 'type': 'address'}], 'name': 'allowance', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'approve', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'balanceOf', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'decimals', 'outputs': [{'internalType': 'uint8', 'name': '', 'type': 'uint8'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'subtractedValue', 'type': 'uint256'}], 'name': 'decreaseAllowance', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'getChainId', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'addedValue', 'type': 'uint256'}], 'name': 'increaseAllowance', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'name', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'nonces', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'deadline', 'type': 'uint256'}, {'internalType': 'uint8', 'name': 'v', 'type': 'uint8'}, {'internalType': 'bytes32', 'name': 'r', 'type': 'bytes32'}, {'internalType': 'bytes32', 'name': 's', 'type': 'bytes32'}], 'name': 'permit', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'symbol', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'totalSupply', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transfer', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transferFrom', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['DOMAIN_SEPARATOR', 'allowance', 'approve', 'balanceOf', 'decimals', 'decreaseAllowance', 'getChainId', 'increaseAllowance', 'name', 'nonces', 'permit', 'symbol', 'totalSupply', 'transfer', 'transferFrom']}, - "67c4067b": {'name': 'ERC20VotesLegacyMock', 'selector': '67c4067b', 'abi': [{'inputs': [], 'name': 'ECDSAInvalidSignature', 'type': 'error'}, {'inputs': [{'internalType': 'uint256', 'name': 'length', 'type': 'uint256'}], 'name': 'ECDSAInvalidSignatureLength', 'type': 'error'}, {'inputs': [{'internalType': 'bytes32', 'name': 's', 'type': 'bytes32'}], 'name': 'ECDSAInvalidSignatureS', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'currentAllowance', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'requestedDecrease', 'type': 'uint256'}], 'name': 'ERC20FailedDecreaseAllowance', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'allowance', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'needed', 'type': 'uint256'}], 'name': 'ERC20InsufficientAllowance', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'balance', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'needed', 'type': 'uint256'}], 'name': 'ERC20InsufficientBalance', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'approver', 'type': 'address'}], 'name': 'ERC20InvalidApprover', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'receiver', 'type': 'address'}], 'name': 'ERC20InvalidReceiver', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}], 'name': 'ERC20InvalidSender', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}], 'name': 'ERC20InvalidSpender', 'type': 'error'}, {'inputs': [{'internalType': 'uint256', 'name': 'deadline', 'type': 'uint256'}], 'name': 'ERC2612ExpiredSignature', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'signer', 'type': 'address'}, {'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'ERC2612InvalidSigner', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'uint256', 'name': 'currentNonce', 'type': 'uint256'}], 'name': 'InvalidAccountNonce', 'type': 'error'}, {'inputs': [{'internalType': 'uint8', 'name': 'bits', 'type': 'uint8'}, {'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}], 'name': 'SafeCastOverflowedUintDowncast', 'type': 'error'}, {'inputs': [{'internalType': 'uint256', 'name': 'expiry', 'type': 'uint256'}], 'name': 'VotesExpiredSignature', 'type': 'error'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}], 'name': 'Approval', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'delegator', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'fromDelegate', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'toDelegate', 'type': 'address'}], 'name': 'DelegateChanged', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'delegate', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'previousBalance', 'type': 'uint256'}, {'indexed': False, 'internalType': 'uint256', 'name': 'newBalance', 'type': 'uint256'}], 'name': 'DelegateVotesChanged', 'type': 'event'}, {'anonymous': False, 'inputs': [], 'name': 'EIP712DomainChanged', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'from', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'to', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}], 'name': 'Transfer', 'type': 'event'}, {'inputs': [], 'name': 'DOMAIN_SEPARATOR', 'outputs': [{'internalType': 'bytes32', 'name': '', 'type': 'bytes32'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'address', 'name': 'spender', 'type': 'address'}], 'name': 'allowance', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'approve', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'balanceOf', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'uint32', 'name': 'pos', 'type': 'uint32'}], 'name': 'checkpoints', 'outputs': [{'components': [{'internalType': 'uint32', 'name': 'fromBlock', 'type': 'uint32'}, {'internalType': 'uint224', 'name': 'votes', 'type': 'uint224'}], 'internalType': 'struct ERC20VotesLegacyMock.Checkpoint', 'name': '', 'type': 'tuple'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'decimals', 'outputs': [{'internalType': 'uint8', 'name': '', 'type': 'uint8'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'requestedDecrease', 'type': 'uint256'}], 'name': 'decreaseAllowance', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'delegatee', 'type': 'address'}], 'name': 'delegate', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'delegatee', 'type': 'address'}, {'internalType': 'uint256', 'name': 'nonce', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'expiry', 'type': 'uint256'}, {'internalType': 'uint8', 'name': 'v', 'type': 'uint8'}, {'internalType': 'bytes32', 'name': 'r', 'type': 'bytes32'}, {'internalType': 'bytes32', 'name': 's', 'type': 'bytes32'}], 'name': 'delegateBySig', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'delegates', 'outputs': [{'internalType': 'address', 'name': '', 'type': 'address'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'eip712Domain', 'outputs': [{'internalType': 'bytes1', 'name': 'fields', 'type': 'bytes1'}, {'internalType': 'string', 'name': 'name', 'type': 'string'}, {'internalType': 'string', 'name': 'version', 'type': 'string'}, {'internalType': 'uint256', 'name': 'chainId', 'type': 'uint256'}, {'internalType': 'address', 'name': 'verifyingContract', 'type': 'address'}, {'internalType': 'bytes32', 'name': 'salt', 'type': 'bytes32'}, {'internalType': 'uint256[]', 'name': 'extensions', 'type': 'uint256[]'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'blockNumber', 'type': 'uint256'}], 'name': 'getPastTotalSupply', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'uint256', 'name': 'blockNumber', 'type': 'uint256'}], 'name': 'getPastVotes', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'getVotes', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'addedValue', 'type': 'uint256'}], 'name': 'increaseAllowance', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'name', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'nonces', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'numCheckpoints', 'outputs': [{'internalType': 'uint32', 'name': '', 'type': 'uint32'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'deadline', 'type': 'uint256'}, {'internalType': 'uint8', 'name': 'v', 'type': 'uint8'}, {'internalType': 'bytes32', 'name': 'r', 'type': 'bytes32'}, {'internalType': 'bytes32', 'name': 's', 'type': 'bytes32'}], 'name': 'permit', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'symbol', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'totalSupply', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transfer', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transferFrom', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['DOMAIN_SEPARATOR', 'allowance', 'approve', 'balanceOf', 'checkpoints', 'decimals', 'decreaseAllowance', 'delegate', 'delegateBySig', 'delegates', 'eip712Domain', 'getPastTotalSupply', 'getPastVotes', 'getVotes', 'increaseAllowance', 'name', 'nonces', 'numCheckpoints', 'permit', 'symbol', 'totalSupply', 'transfer', 'transferFrom']}, - "3273d15c": {'name': 'ERC20BurnableMock', 'selector': '3273d15c', 'abi': [{'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'address', 'name': 'spender', 'type': 'address'}], 'name': 'allowance', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'approve', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'balanceOf', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'burn', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'burnFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'decimals', 'outputs': [{'internalType': 'uint8', 'name': '', 'type': 'uint8'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'subtractedValue', 'type': 'uint256'}], 'name': 'decreaseAllowance', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'addedValue', 'type': 'uint256'}], 'name': 'increaseAllowance', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'name', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'symbol', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'totalSupply', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transfer', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transferFrom', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['allowance', 'approve', 'balanceOf', 'burn', 'burnFrom', 'decimals', 'decreaseAllowance', 'increaseAllowance', 'name', 'symbol', 'totalSupply', 'transfer', 'transferFrom']}, - "1626ba7e": {'name': 'IERC1271', 'selector': '1626ba7e', 'abi': [{'inputs': [{'internalType': 'bytes32', 'name': 'hash', 'type': 'bytes32'}, {'internalType': 'bytes', 'name': 'signature', 'type': 'bytes'}], 'name': 'isValidSignature', 'outputs': [{'internalType': 'bytes4', 'name': 'magicValue', 'type': 'bytes4'}], 'stateMutability': 'view', 'type': 'function'}], 'functions_names': ['isValidSignature']}, - "4e2312e0": {'name': 'ERC1155Holder', 'selector': '4e2312e0', 'abi': [{'inputs': [{'internalType': 'address', 'name': '', 'type': 'address'}, {'internalType': 'address', 'name': '', 'type': 'address'}, {'internalType': 'uint256[]', 'name': '', 'type': 'uint256[]'}, {'internalType': 'uint256[]', 'name': '', 'type': 'uint256[]'}, {'internalType': 'bytes', 'name': '', 'type': 'bytes'}], 'name': 'onERC1155BatchReceived', 'outputs': [{'internalType': 'bytes4', 'name': '', 'type': 'bytes4'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': '', 'type': 'address'}, {'internalType': 'address', 'name': '', 'type': 'address'}, {'internalType': 'uint256', 'name': '', 'type': 'uint256'}, {'internalType': 'uint256', 'name': '', 'type': 'uint256'}, {'internalType': 'bytes', 'name': '', 'type': 'bytes'}], 'name': 'onERC1155Received', 'outputs': [{'internalType': 'bytes4', 'name': '', 'type': 'bytes4'}], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['onERC1155BatchReceived', 'onERC1155Received']}, - "80ac58cd": {'name': 'IERC721', 'selector': '80ac58cd', 'abi': [{'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'approved', 'type': 'address'}, {'indexed': True, 'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'Approval', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'indexed': False, 'internalType': 'bool', 'name': 'approved', 'type': 'bool'}], 'name': 'ApprovalForAll', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'from', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'to', 'type': 'address'}, {'indexed': True, 'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'Transfer', 'type': 'event'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'approve', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'balanceOf', 'outputs': [{'internalType': 'uint256', 'name': 'balance', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'getApproved', 'outputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'address', 'name': 'operator', 'type': 'address'}], 'name': 'isApprovedForAll', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'ownerOf', 'outputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'safeTransferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'safeTransferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'internalType': 'bool', 'name': 'approved', 'type': 'bool'}], 'name': 'setApprovalForAll', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'transferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['approve', 'balanceOf', 'getApproved', 'isApprovedForAll', 'ownerOf', 'safeTransferFrom', 'safeTransferFrom', 'setApprovalForAll', 'transferFrom']}, - "4e3c7f6c": {'name': 'ERC721ConsecutiveMock', 'selector': '4e3c7f6c', 'abi': [{'inputs': [{'internalType': 'string', 'name': 'name', 'type': 'string'}, {'internalType': 'string', 'name': 'symbol', 'type': 'string'}, {'internalType': 'uint96', 'name': 'offset', 'type': 'uint96'}, {'internalType': 'address[]', 'name': 'delegates', 'type': 'address[]'}, {'internalType': 'address[]', 'name': 'receivers', 'type': 'address[]'}, {'internalType': 'uint96[]', 'name': 'amounts', 'type': 'uint96[]'}], 'stateMutability': 'nonpayable', 'type': 'constructor'}, {'inputs': [], 'name': 'CheckpointUnorderedInsertion', 'type': 'error'}, {'inputs': [], 'name': 'ECDSAInvalidSignature', 'type': 'error'}, {'inputs': [{'internalType': 'uint256', 'name': 'length', 'type': 'uint256'}], 'name': 'ECDSAInvalidSignatureLength', 'type': 'error'}, {'inputs': [{'internalType': 'bytes32', 'name': 's', 'type': 'bytes32'}], 'name': 'ECDSAInvalidSignatureS', 'type': 'error'}, {'inputs': [{'internalType': 'uint256', 'name': 'timepoint', 'type': 'uint256'}, {'internalType': 'uint48', 'name': 'clock', 'type': 'uint48'}], 'name': 'ERC5805FutureLookup', 'type': 'error'}, {'inputs': [], 'name': 'ERC6372InconsistentClock', 'type': 'error'}, {'inputs': [{'internalType': 'uint256', 'name': 'batchSize', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'maxBatch', 'type': 'uint256'}], 'name': 'ERC721ExceededMaxBatchMint', 'type': 'error'}, {'inputs': [], 'name': 'ERC721ForbiddenBatchBurn', 'type': 'error'}, {'inputs': [], 'name': 'ERC721ForbiddenBatchMint', 'type': 'error'}, {'inputs': [], 'name': 'ERC721ForbiddenMint', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}, {'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'ERC721IncorrectOwner', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'ERC721InsufficientApproval', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'approver', 'type': 'address'}], 'name': 'ERC721InvalidApprover', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}], 'name': 'ERC721InvalidOperator', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'ERC721InvalidOwner', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'receiver', 'type': 'address'}], 'name': 'ERC721InvalidReceiver', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}], 'name': 'ERC721InvalidSender', 'type': 'error'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'ERC721NonexistentToken', 'type': 'error'}, {'inputs': [], 'name': 'EnforcedPause', 'type': 'error'}, {'inputs': [], 'name': 'ExpectedPause', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'uint256', 'name': 'currentNonce', 'type': 'uint256'}], 'name': 'InvalidAccountNonce', 'type': 'error'}, {'inputs': [{'internalType': 'uint8', 'name': 'bits', 'type': 'uint8'}, {'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}], 'name': 'SafeCastOverflowedUintDowncast', 'type': 'error'}, {'inputs': [{'internalType': 'uint256', 'name': 'expiry', 'type': 'uint256'}], 'name': 'VotesExpiredSignature', 'type': 'error'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'approved', 'type': 'address'}, {'indexed': True, 'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'Approval', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'indexed': False, 'internalType': 'bool', 'name': 'approved', 'type': 'bool'}], 'name': 'ApprovalForAll', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'uint256', 'name': 'fromTokenId', 'type': 'uint256'}, {'indexed': False, 'internalType': 'uint256', 'name': 'toTokenId', 'type': 'uint256'}, {'indexed': True, 'internalType': 'address', 'name': 'fromAddress', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'toAddress', 'type': 'address'}], 'name': 'ConsecutiveTransfer', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'delegator', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'fromDelegate', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'toDelegate', 'type': 'address'}], 'name': 'DelegateChanged', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'delegate', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'previousBalance', 'type': 'uint256'}, {'indexed': False, 'internalType': 'uint256', 'name': 'newBalance', 'type': 'uint256'}], 'name': 'DelegateVotesChanged', 'type': 'event'}, {'anonymous': False, 'inputs': [], 'name': 'EIP712DomainChanged', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': False, 'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'Paused', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'from', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'to', 'type': 'address'}, {'indexed': True, 'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'Transfer', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': False, 'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'Unpaused', 'type': 'event'}, {'inputs': [], 'name': 'CLOCK_MODE', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'approve', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'balanceOf', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'clock', 'outputs': [{'internalType': 'uint48', 'name': '', 'type': 'uint48'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'delegatee', 'type': 'address'}], 'name': 'delegate', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'delegatee', 'type': 'address'}, {'internalType': 'uint256', 'name': 'nonce', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'expiry', 'type': 'uint256'}, {'internalType': 'uint8', 'name': 'v', 'type': 'uint8'}, {'internalType': 'bytes32', 'name': 'r', 'type': 'bytes32'}, {'internalType': 'bytes32', 'name': 's', 'type': 'bytes32'}], 'name': 'delegateBySig', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'delegates', 'outputs': [{'internalType': 'address', 'name': '', 'type': 'address'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'eip712Domain', 'outputs': [{'internalType': 'bytes1', 'name': 'fields', 'type': 'bytes1'}, {'internalType': 'string', 'name': 'name', 'type': 'string'}, {'internalType': 'string', 'name': 'version', 'type': 'string'}, {'internalType': 'uint256', 'name': 'chainId', 'type': 'uint256'}, {'internalType': 'address', 'name': 'verifyingContract', 'type': 'address'}, {'internalType': 'bytes32', 'name': 'salt', 'type': 'bytes32'}, {'internalType': 'uint256[]', 'name': 'extensions', 'type': 'uint256[]'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'getApproved', 'outputs': [{'internalType': 'address', 'name': '', 'type': 'address'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'timepoint', 'type': 'uint256'}], 'name': 'getPastTotalSupply', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'uint256', 'name': 'timepoint', 'type': 'uint256'}], 'name': 'getPastVotes', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'getVotes', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'address', 'name': 'operator', 'type': 'address'}], 'name': 'isApprovedForAll', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'name', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'nonces', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'ownerOf', 'outputs': [{'internalType': 'address', 'name': '', 'type': 'address'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'paused', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'safeTransferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'safeTransferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'internalType': 'bool', 'name': 'approved', 'type': 'bool'}], 'name': 'setApprovalForAll', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'symbol', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'tokenURI', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'transferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['CLOCK_MODE', 'approve', 'balanceOf', 'clock', 'delegate', 'delegateBySig', 'delegates', 'eip712Domain', 'getApproved', 'getPastTotalSupply', 'getPastVotes', 'getVotes', 'isApprovedForAll', 'name', 'nonces', 'ownerOf', 'paused', 'safeTransferFrom', 'safeTransferFrom', 'setApprovalForAll', 'symbol', 'tokenURI', 'transferFrom']}, - "a3fcd631": {'name': 'ERC721Enumerable', 'selector': 'a3fcd631', 'abi': [{'inputs': [], 'name': 'ERC721EnumerableForbiddenBatchMint', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}, {'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'ERC721IncorrectOwner', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'ERC721InsufficientApproval', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'approver', 'type': 'address'}], 'name': 'ERC721InvalidApprover', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}], 'name': 'ERC721InvalidOperator', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'ERC721InvalidOwner', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'receiver', 'type': 'address'}], 'name': 'ERC721InvalidReceiver', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}], 'name': 'ERC721InvalidSender', 'type': 'error'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'ERC721NonexistentToken', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'uint256', 'name': 'index', 'type': 'uint256'}], 'name': 'ERC721OutOfBoundsIndex', 'type': 'error'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'approved', 'type': 'address'}, {'indexed': True, 'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'Approval', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'indexed': False, 'internalType': 'bool', 'name': 'approved', 'type': 'bool'}], 'name': 'ApprovalForAll', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'from', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'to', 'type': 'address'}, {'indexed': True, 'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'Transfer', 'type': 'event'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'approve', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'balanceOf', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'getApproved', 'outputs': [{'internalType': 'address', 'name': '', 'type': 'address'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'address', 'name': 'operator', 'type': 'address'}], 'name': 'isApprovedForAll', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'name', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'ownerOf', 'outputs': [{'internalType': 'address', 'name': '', 'type': 'address'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'safeTransferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'safeTransferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'internalType': 'bool', 'name': 'approved', 'type': 'bool'}], 'name': 'setApprovalForAll', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'symbol', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'index', 'type': 'uint256'}], 'name': 'tokenByIndex', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'uint256', 'name': 'index', 'type': 'uint256'}], 'name': 'tokenOfOwnerByIndex', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'tokenURI', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'totalSupply', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'transferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['approve', 'balanceOf', 'getApproved', 'isApprovedForAll', 'name', 'ownerOf', 'safeTransferFrom', 'safeTransferFrom', 'setApprovalForAll', 'symbol', 'tokenByIndex', 'tokenOfOwnerByIndex', 'tokenURI', 'totalSupply', 'transferFrom']}, - "3df97da7": {'name': 'ERC1155Supply', 'selector': '3df97da7', 'abi': [{'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'ERC1155InsufficientApprovalForAll', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'balance', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'needed', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'ERC1155InsufficientBalance', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'approver', 'type': 'address'}], 'name': 'ERC1155InvalidApprover', 'type': 'error'}, {'inputs': [{'internalType': 'uint256', 'name': 'idsLength', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'valuesLength', 'type': 'uint256'}], 'name': 'ERC1155InvalidArrayLength', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}], 'name': 'ERC1155InvalidOperator', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'receiver', 'type': 'address'}], 'name': 'ERC1155InvalidReceiver', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}], 'name': 'ERC1155InvalidSender', 'type': 'error'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'account', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'indexed': False, 'internalType': 'bool', 'name': 'approved', 'type': 'bool'}], 'name': 'ApprovalForAll', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'from', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'to', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256[]', 'name': 'ids', 'type': 'uint256[]'}, {'indexed': False, 'internalType': 'uint256[]', 'name': 'values', 'type': 'uint256[]'}], 'name': 'TransferBatch', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'from', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'to', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'id', 'type': 'uint256'}, {'indexed': False, 'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}], 'name': 'TransferSingle', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': False, 'internalType': 'string', 'name': 'value', 'type': 'string'}, {'indexed': True, 'internalType': 'uint256', 'name': 'id', 'type': 'uint256'}], 'name': 'URI', 'type': 'event'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'uint256', 'name': 'id', 'type': 'uint256'}], 'name': 'balanceOf', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address[]', 'name': 'accounts', 'type': 'address[]'}, {'internalType': 'uint256[]', 'name': 'ids', 'type': 'uint256[]'}], 'name': 'balanceOfBatch', 'outputs': [{'internalType': 'uint256[]', 'name': '', 'type': 'uint256[]'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'id', 'type': 'uint256'}], 'name': 'exists', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'address', 'name': 'operator', 'type': 'address'}], 'name': 'isApprovedForAll', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256[]', 'name': 'ids', 'type': 'uint256[]'}, {'internalType': 'uint256[]', 'name': 'amounts', 'type': 'uint256[]'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'safeBatchTransferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'id', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'safeTransferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'internalType': 'bool', 'name': 'approved', 'type': 'bool'}], 'name': 'setApprovalForAll', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'totalSupply', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'id', 'type': 'uint256'}], 'name': 'totalSupply', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'name': 'uri', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}], 'functions_names': ['balanceOf', 'balanceOfBatch', 'exists', 'isApprovedForAll', 'safeBatchTransferFrom', 'safeTransferFrom', 'setApprovalForAll', 'totalSupply', 'totalSupply', 'uri']}, - "23e30c8b": {'name': 'IERC3156FlashBorrower', 'selector': '23e30c8b', 'abi': [{'inputs': [{'internalType': 'address', 'name': 'initiator', 'type': 'address'}, {'internalType': 'address', 'name': 'token', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'fee', 'type': 'uint256'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'onFlashLoan', 'outputs': [{'internalType': 'bytes32', 'name': '', 'type': 'bytes32'}], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['onFlashLoan']}, - "8ef63f04": {'name': 'ERC4626Fees', 'selector': '8ef63f04', 'abi': [{'inputs': [{'internalType': 'address', 'name': 'target', 'type': 'address'}], 'name': 'AddressEmptyCode', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'AddressInsufficientBalance', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'currentAllowance', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'requestedDecrease', 'type': 'uint256'}], 'name': 'ERC20FailedDecreaseAllowance', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'allowance', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'needed', 'type': 'uint256'}], 'name': 'ERC20InsufficientAllowance', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'balance', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'needed', 'type': 'uint256'}], 'name': 'ERC20InsufficientBalance', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'approver', 'type': 'address'}], 'name': 'ERC20InvalidApprover', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'receiver', 'type': 'address'}], 'name': 'ERC20InvalidReceiver', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}], 'name': 'ERC20InvalidSender', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}], 'name': 'ERC20InvalidSpender', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'receiver', 'type': 'address'}, {'internalType': 'uint256', 'name': 'assets', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'max', 'type': 'uint256'}], 'name': 'ERC4626ExceededMaxDeposit', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'receiver', 'type': 'address'}, {'internalType': 'uint256', 'name': 'shares', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'max', 'type': 'uint256'}], 'name': 'ERC4626ExceededMaxMint', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'uint256', 'name': 'shares', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'max', 'type': 'uint256'}], 'name': 'ERC4626ExceededMaxRedeem', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'uint256', 'name': 'assets', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'max', 'type': 'uint256'}], 'name': 'ERC4626ExceededMaxWithdraw', 'type': 'error'}, {'inputs': [], 'name': 'FailedInnerCall', 'type': 'error'}, {'inputs': [], 'name': 'MathOverflowedMulDiv', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'token', 'type': 'address'}], 'name': 'SafeERC20FailedOperation', 'type': 'error'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}], 'name': 'Approval', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'sender', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'assets', 'type': 'uint256'}, {'indexed': False, 'internalType': 'uint256', 'name': 'shares', 'type': 'uint256'}], 'name': 'Deposit', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'from', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'to', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}], 'name': 'Transfer', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'sender', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'receiver', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'assets', 'type': 'uint256'}, {'indexed': False, 'internalType': 'uint256', 'name': 'shares', 'type': 'uint256'}], 'name': 'Withdraw', 'type': 'event'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'address', 'name': 'spender', 'type': 'address'}], 'name': 'allowance', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'approve', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'asset', 'outputs': [{'internalType': 'address', 'name': '', 'type': 'address'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'balanceOf', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'shares', 'type': 'uint256'}], 'name': 'convertToAssets', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'assets', 'type': 'uint256'}], 'name': 'convertToShares', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'decimals', 'outputs': [{'internalType': 'uint8', 'name': '', 'type': 'uint8'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'requestedDecrease', 'type': 'uint256'}], 'name': 'decreaseAllowance', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'assets', 'type': 'uint256'}, {'internalType': 'address', 'name': 'receiver', 'type': 'address'}], 'name': 'deposit', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'addedValue', 'type': 'uint256'}], 'name': 'increaseAllowance', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': '', 'type': 'address'}], 'name': 'maxDeposit', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': '', 'type': 'address'}], 'name': 'maxMint', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'maxRedeem', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'maxWithdraw', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'shares', 'type': 'uint256'}, {'internalType': 'address', 'name': 'receiver', 'type': 'address'}], 'name': 'mint', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'name', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'assets', 'type': 'uint256'}], 'name': 'previewDeposit', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'shares', 'type': 'uint256'}], 'name': 'previewMint', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'shares', 'type': 'uint256'}], 'name': 'previewRedeem', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'assets', 'type': 'uint256'}], 'name': 'previewWithdraw', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'shares', 'type': 'uint256'}, {'internalType': 'address', 'name': 'receiver', 'type': 'address'}, {'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'redeem', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'symbol', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'totalAssets', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'totalSupply', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transfer', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transferFrom', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'assets', 'type': 'uint256'}, {'internalType': 'address', 'name': 'receiver', 'type': 'address'}, {'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'withdraw', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['allowance', 'approve', 'asset', 'balanceOf', 'convertToAssets', 'convertToShares', 'decimals', 'decreaseAllowance', 'deposit', 'increaseAllowance', 'maxDeposit', 'maxMint', 'maxRedeem', 'maxWithdraw', 'mint', 'name', 'previewDeposit', 'previewMint', 'previewRedeem', 'previewWithdraw', 'redeem', 'symbol', 'totalAssets', 'totalSupply', 'transfer', 'transferFrom', 'withdraw']}, - "a5bf8a7c": {'name': 'ERC20MulticallMock', 'selector': 'a5bf8a7c', 'abi': [{'inputs': [{'internalType': 'address', 'name': 'target', 'type': 'address'}], 'name': 'AddressEmptyCode', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'currentAllowance', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'requestedDecrease', 'type': 'uint256'}], 'name': 'ERC20FailedDecreaseAllowance', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'allowance', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'needed', 'type': 'uint256'}], 'name': 'ERC20InsufficientAllowance', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'balance', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'needed', 'type': 'uint256'}], 'name': 'ERC20InsufficientBalance', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'approver', 'type': 'address'}], 'name': 'ERC20InvalidApprover', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'receiver', 'type': 'address'}], 'name': 'ERC20InvalidReceiver', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}], 'name': 'ERC20InvalidSender', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}], 'name': 'ERC20InvalidSpender', 'type': 'error'}, {'inputs': [], 'name': 'FailedInnerCall', 'type': 'error'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}], 'name': 'Approval', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'from', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'to', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}], 'name': 'Transfer', 'type': 'event'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'address', 'name': 'spender', 'type': 'address'}], 'name': 'allowance', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'approve', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'balanceOf', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'decimals', 'outputs': [{'internalType': 'uint8', 'name': '', 'type': 'uint8'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'requestedDecrease', 'type': 'uint256'}], 'name': 'decreaseAllowance', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'addedValue', 'type': 'uint256'}], 'name': 'increaseAllowance', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'bytes[]', 'name': 'data', 'type': 'bytes[]'}], 'name': 'multicall', 'outputs': [{'internalType': 'bytes[]', 'name': 'results', 'type': 'bytes[]'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'name', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'symbol', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'totalSupply', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transfer', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transferFrom', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['allowance', 'approve', 'balanceOf', 'decimals', 'decreaseAllowance', 'increaseAllowance', 'multicall', 'name', 'symbol', 'totalSupply', 'transfer', 'transferFrom']}, - "88a7ca5c": {'name': 'IERC1363Receiver', 'selector': '88a7ca5c', 'abi': [{'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'onTransferReceived', 'outputs': [{'internalType': 'bytes4', 'name': '', 'type': 'bytes4'}], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['onTransferReceived']}, - "623e6f86": {'name': 'IERC1820Registry', 'selector': '623e6f86', 'abi': [{'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'account', 'type': 'address'}, {'indexed': True, 'internalType': 'bytes32', 'name': 'interfaceHash', 'type': 'bytes32'}, {'indexed': True, 'internalType': 'address', 'name': 'implementer', 'type': 'address'}], 'name': 'InterfaceImplementerSet', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'account', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'newManager', 'type': 'address'}], 'name': 'ManagerChanged', 'type': 'event'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'bytes32', 'name': '_interfaceHash', 'type': 'bytes32'}], 'name': 'getInterfaceImplementer', 'outputs': [{'internalType': 'address', 'name': '', 'type': 'address'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'getManager', 'outputs': [{'internalType': 'address', 'name': '', 'type': 'address'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'bytes4', 'name': 'interfaceId', 'type': 'bytes4'}], 'name': 'implementsERC165Interface', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'bytes4', 'name': 'interfaceId', 'type': 'bytes4'}], 'name': 'implementsERC165InterfaceNoCache', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'string', 'name': 'interfaceName', 'type': 'string'}], 'name': 'interfaceHash', 'outputs': [{'internalType': 'bytes32', 'name': '', 'type': 'bytes32'}], 'stateMutability': 'pure', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'bytes32', 'name': '_interfaceHash', 'type': 'bytes32'}, {'internalType': 'address', 'name': 'implementer', 'type': 'address'}], 'name': 'setInterfaceImplementer', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'address', 'name': 'newManager', 'type': 'address'}], 'name': 'setManager', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'bytes4', 'name': 'interfaceId', 'type': 'bytes4'}], 'name': 'updateERC165Cache', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['getInterfaceImplementer', 'getManager', 'implementsERC165Interface', 'implementsERC165InterfaceNoCache', 'interfaceHash', 'setInterfaceImplementer', 'setManager', 'updateERC165Cache']}, - "13f16e82": {'name': 'IERC4626', 'selector': '13f16e82', 'abi': [{'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}], 'name': 'Approval', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'sender', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'assets', 'type': 'uint256'}, {'indexed': False, 'internalType': 'uint256', 'name': 'shares', 'type': 'uint256'}], 'name': 'Deposit', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'from', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'to', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}], 'name': 'Transfer', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'sender', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'receiver', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'assets', 'type': 'uint256'}, {'indexed': False, 'internalType': 'uint256', 'name': 'shares', 'type': 'uint256'}], 'name': 'Withdraw', 'type': 'event'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'address', 'name': 'spender', 'type': 'address'}], 'name': 'allowance', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'approve', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'asset', 'outputs': [{'internalType': 'address', 'name': 'assetTokenAddress', 'type': 'address'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'balanceOf', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'shares', 'type': 'uint256'}], 'name': 'convertToAssets', 'outputs': [{'internalType': 'uint256', 'name': 'assets', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'assets', 'type': 'uint256'}], 'name': 'convertToShares', 'outputs': [{'internalType': 'uint256', 'name': 'shares', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'decimals', 'outputs': [{'internalType': 'uint8', 'name': '', 'type': 'uint8'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'assets', 'type': 'uint256'}, {'internalType': 'address', 'name': 'receiver', 'type': 'address'}], 'name': 'deposit', 'outputs': [{'internalType': 'uint256', 'name': 'shares', 'type': 'uint256'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'receiver', 'type': 'address'}], 'name': 'maxDeposit', 'outputs': [{'internalType': 'uint256', 'name': 'maxAssets', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'receiver', 'type': 'address'}], 'name': 'maxMint', 'outputs': [{'internalType': 'uint256', 'name': 'maxShares', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'maxRedeem', 'outputs': [{'internalType': 'uint256', 'name': 'maxShares', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'maxWithdraw', 'outputs': [{'internalType': 'uint256', 'name': 'maxAssets', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'shares', 'type': 'uint256'}, {'internalType': 'address', 'name': 'receiver', 'type': 'address'}], 'name': 'mint', 'outputs': [{'internalType': 'uint256', 'name': 'assets', 'type': 'uint256'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'name', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'assets', 'type': 'uint256'}], 'name': 'previewDeposit', 'outputs': [{'internalType': 'uint256', 'name': 'shares', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'shares', 'type': 'uint256'}], 'name': 'previewMint', 'outputs': [{'internalType': 'uint256', 'name': 'assets', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'shares', 'type': 'uint256'}], 'name': 'previewRedeem', 'outputs': [{'internalType': 'uint256', 'name': 'assets', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'assets', 'type': 'uint256'}], 'name': 'previewWithdraw', 'outputs': [{'internalType': 'uint256', 'name': 'shares', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'shares', 'type': 'uint256'}, {'internalType': 'address', 'name': 'receiver', 'type': 'address'}, {'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'redeem', 'outputs': [{'internalType': 'uint256', 'name': 'assets', 'type': 'uint256'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'symbol', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'totalAssets', 'outputs': [{'internalType': 'uint256', 'name': 'totalManagedAssets', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'totalSupply', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transfer', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transferFrom', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'assets', 'type': 'uint256'}, {'internalType': 'address', 'name': 'receiver', 'type': 'address'}, {'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'withdraw', 'outputs': [{'internalType': 'uint256', 'name': 'shares', 'type': 'uint256'}], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['allowance', 'approve', 'asset', 'balanceOf', 'convertToAssets', 'convertToShares', 'decimals', 'deposit', 'maxDeposit', 'maxMint', 'maxRedeem', 'maxWithdraw', 'mint', 'name', 'previewDeposit', 'previewMint', 'previewRedeem', 'previewWithdraw', 'redeem', 'symbol', 'totalAssets', 'totalSupply', 'transfer', 'transferFrom', 'withdraw']}, - "8da5cb5b": {'name': 'IERC5313', 'selector': '8da5cb5b', 'abi': [{'inputs': [], 'name': 'owner', 'outputs': [{'internalType': 'address', 'name': '', 'type': 'address'}], 'stateMutability': 'view', 'type': 'function'}], 'functions_names': ['owner']}, - "5ead35bc": {'name': 'ERC20Votes', 'selector': '5ead35bc', 'abi': [{'inputs': [], 'name': 'CheckpointUnorderedInsertion', 'type': 'error'}, {'inputs': [], 'name': 'ECDSAInvalidSignature', 'type': 'error'}, {'inputs': [{'internalType': 'uint256', 'name': 'length', 'type': 'uint256'}], 'name': 'ECDSAInvalidSignatureLength', 'type': 'error'}, {'inputs': [{'internalType': 'bytes32', 'name': 's', 'type': 'bytes32'}], 'name': 'ECDSAInvalidSignatureS', 'type': 'error'}, {'inputs': [{'internalType': 'uint256', 'name': 'increasedSupply', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'cap', 'type': 'uint256'}], 'name': 'ERC20ExceededSafeSupply', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'currentAllowance', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'requestedDecrease', 'type': 'uint256'}], 'name': 'ERC20FailedDecreaseAllowance', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'allowance', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'needed', 'type': 'uint256'}], 'name': 'ERC20InsufficientAllowance', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'balance', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'needed', 'type': 'uint256'}], 'name': 'ERC20InsufficientBalance', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'approver', 'type': 'address'}], 'name': 'ERC20InvalidApprover', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'receiver', 'type': 'address'}], 'name': 'ERC20InvalidReceiver', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}], 'name': 'ERC20InvalidSender', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}], 'name': 'ERC20InvalidSpender', 'type': 'error'}, {'inputs': [{'internalType': 'uint256', 'name': 'timepoint', 'type': 'uint256'}, {'internalType': 'uint48', 'name': 'clock', 'type': 'uint48'}], 'name': 'ERC5805FutureLookup', 'type': 'error'}, {'inputs': [], 'name': 'ERC6372InconsistentClock', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'uint256', 'name': 'currentNonce', 'type': 'uint256'}], 'name': 'InvalidAccountNonce', 'type': 'error'}, {'inputs': [{'internalType': 'uint8', 'name': 'bits', 'type': 'uint8'}, {'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}], 'name': 'SafeCastOverflowedUintDowncast', 'type': 'error'}, {'inputs': [{'internalType': 'uint256', 'name': 'expiry', 'type': 'uint256'}], 'name': 'VotesExpiredSignature', 'type': 'error'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}], 'name': 'Approval', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'delegator', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'fromDelegate', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'toDelegate', 'type': 'address'}], 'name': 'DelegateChanged', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'delegate', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'previousBalance', 'type': 'uint256'}, {'indexed': False, 'internalType': 'uint256', 'name': 'newBalance', 'type': 'uint256'}], 'name': 'DelegateVotesChanged', 'type': 'event'}, {'anonymous': False, 'inputs': [], 'name': 'EIP712DomainChanged', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'from', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'to', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}], 'name': 'Transfer', 'type': 'event'}, {'inputs': [], 'name': 'CLOCK_MODE', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'address', 'name': 'spender', 'type': 'address'}], 'name': 'allowance', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'approve', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'balanceOf', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'uint32', 'name': 'pos', 'type': 'uint32'}], 'name': 'checkpoints', 'outputs': [{'components': [{'internalType': 'uint32', 'name': '_key', 'type': 'uint32'}, {'internalType': 'uint224', 'name': '_value', 'type': 'uint224'}], 'internalType': 'struct Checkpoints.Checkpoint224', 'name': '', 'type': 'tuple'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'clock', 'outputs': [{'internalType': 'uint48', 'name': '', 'type': 'uint48'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'decimals', 'outputs': [{'internalType': 'uint8', 'name': '', 'type': 'uint8'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'requestedDecrease', 'type': 'uint256'}], 'name': 'decreaseAllowance', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'delegatee', 'type': 'address'}], 'name': 'delegate', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'delegatee', 'type': 'address'}, {'internalType': 'uint256', 'name': 'nonce', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'expiry', 'type': 'uint256'}, {'internalType': 'uint8', 'name': 'v', 'type': 'uint8'}, {'internalType': 'bytes32', 'name': 'r', 'type': 'bytes32'}, {'internalType': 'bytes32', 'name': 's', 'type': 'bytes32'}], 'name': 'delegateBySig', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'delegates', 'outputs': [{'internalType': 'address', 'name': '', 'type': 'address'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'eip712Domain', 'outputs': [{'internalType': 'bytes1', 'name': 'fields', 'type': 'bytes1'}, {'internalType': 'string', 'name': 'name', 'type': 'string'}, {'internalType': 'string', 'name': 'version', 'type': 'string'}, {'internalType': 'uint256', 'name': 'chainId', 'type': 'uint256'}, {'internalType': 'address', 'name': 'verifyingContract', 'type': 'address'}, {'internalType': 'bytes32', 'name': 'salt', 'type': 'bytes32'}, {'internalType': 'uint256[]', 'name': 'extensions', 'type': 'uint256[]'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'timepoint', 'type': 'uint256'}], 'name': 'getPastTotalSupply', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'uint256', 'name': 'timepoint', 'type': 'uint256'}], 'name': 'getPastVotes', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'getVotes', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'addedValue', 'type': 'uint256'}], 'name': 'increaseAllowance', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'name', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'nonces', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'numCheckpoints', 'outputs': [{'internalType': 'uint32', 'name': '', 'type': 'uint32'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'symbol', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'totalSupply', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transfer', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transferFrom', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['CLOCK_MODE', 'allowance', 'approve', 'balanceOf', 'checkpoints', 'clock', 'decimals', 'decreaseAllowance', 'delegate', 'delegateBySig', 'delegates', 'eip712Domain', 'getPastTotalSupply', 'getPastVotes', 'getVotes', 'increaseAllowance', 'name', 'nonces', 'numCheckpoints', 'symbol', 'totalSupply', 'transfer', 'transferFrom']}, - "3327c9eb": {'name': 'IERC5805', 'selector': '3327c9eb', 'abi': [{'inputs': [{'internalType': 'uint256', 'name': 'expiry', 'type': 'uint256'}], 'name': 'VotesExpiredSignature', 'type': 'error'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'delegator', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'fromDelegate', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'toDelegate', 'type': 'address'}], 'name': 'DelegateChanged', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'delegate', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'previousBalance', 'type': 'uint256'}, {'indexed': False, 'internalType': 'uint256', 'name': 'newBalance', 'type': 'uint256'}], 'name': 'DelegateVotesChanged', 'type': 'event'}, {'inputs': [], 'name': 'CLOCK_MODE', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'clock', 'outputs': [{'internalType': 'uint48', 'name': '', 'type': 'uint48'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'delegatee', 'type': 'address'}], 'name': 'delegate', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'delegatee', 'type': 'address'}, {'internalType': 'uint256', 'name': 'nonce', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'expiry', 'type': 'uint256'}, {'internalType': 'uint8', 'name': 'v', 'type': 'uint8'}, {'internalType': 'bytes32', 'name': 'r', 'type': 'bytes32'}, {'internalType': 'bytes32', 'name': 's', 'type': 'bytes32'}], 'name': 'delegateBySig', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'delegates', 'outputs': [{'internalType': 'address', 'name': '', 'type': 'address'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'timepoint', 'type': 'uint256'}], 'name': 'getPastTotalSupply', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'uint256', 'name': 'timepoint', 'type': 'uint256'}], 'name': 'getPastVotes', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'getVotes', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}], 'functions_names': ['CLOCK_MODE', 'clock', 'delegate', 'delegateBySig', 'delegates', 'getPastTotalSupply', 'getPastVotes', 'getVotes']}, - "def66762": {'name': 'ERC721PresetMinterPauserAutoId', 'selector': 'def66762', 'abi': [{'inputs': [], 'name': 'DEFAULT_ADMIN_ROLE', 'outputs': [{'internalType': 'bytes32', 'name': '', 'type': 'bytes32'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'MINTER_ROLE', 'outputs': [{'internalType': 'bytes32', 'name': '', 'type': 'bytes32'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'PAUSER_ROLE', 'outputs': [{'internalType': 'bytes32', 'name': '', 'type': 'bytes32'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'approve', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'balanceOf', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'burn', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'getApproved', 'outputs': [{'internalType': 'address', 'name': '', 'type': 'address'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'bytes32', 'name': 'role', 'type': 'bytes32'}], 'name': 'getRoleAdmin', 'outputs': [{'internalType': 'bytes32', 'name': '', 'type': 'bytes32'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'bytes32', 'name': 'role', 'type': 'bytes32'}, {'internalType': 'uint256', 'name': 'index', 'type': 'uint256'}], 'name': 'getRoleMember', 'outputs': [{'internalType': 'address', 'name': '', 'type': 'address'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'bytes32', 'name': 'role', 'type': 'bytes32'}], 'name': 'getRoleMemberCount', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'bytes32', 'name': 'role', 'type': 'bytes32'}, {'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'grantRole', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'bytes32', 'name': 'role', 'type': 'bytes32'}, {'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'hasRole', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'address', 'name': 'operator', 'type': 'address'}], 'name': 'isApprovedForAll', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}], 'name': 'mint', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'name', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'ownerOf', 'outputs': [{'internalType': 'address', 'name': '', 'type': 'address'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'pause', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'paused', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'bytes32', 'name': 'role', 'type': 'bytes32'}, {'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'renounceRole', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'bytes32', 'name': 'role', 'type': 'bytes32'}, {'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'revokeRole', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'safeTransferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'safeTransferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'internalType': 'bool', 'name': 'approved', 'type': 'bool'}], 'name': 'setApprovalForAll', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'symbol', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'index', 'type': 'uint256'}], 'name': 'tokenByIndex', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'uint256', 'name': 'index', 'type': 'uint256'}], 'name': 'tokenOfOwnerByIndex', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'tokenURI', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'totalSupply', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'transferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'unpause', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['DEFAULT_ADMIN_ROLE', 'MINTER_ROLE', 'PAUSER_ROLE', 'approve', 'balanceOf', 'burn', 'getApproved', 'getRoleAdmin', 'getRoleMember', 'getRoleMemberCount', 'grantRole', 'hasRole', 'isApprovedForAll', 'mint', 'name', 'ownerOf', 'pause', 'paused', 'renounceRole', 'revokeRole', 'safeTransferFrom', 'safeTransferFrom', 'setApprovalForAll', 'symbol', 'tokenByIndex', 'tokenOfOwnerByIndex', 'tokenURI', 'totalSupply', 'transferFrom', 'unpause']}, - "3a27334d": {'name': 'ERC1155BurnableMock', 'selector': '3a27334d', 'abi': [{'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'uint256', 'name': 'id', 'type': 'uint256'}], 'name': 'balanceOf', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address[]', 'name': 'accounts', 'type': 'address[]'}, {'internalType': 'uint256[]', 'name': 'ids', 'type': 'uint256[]'}], 'name': 'balanceOfBatch', 'outputs': [{'internalType': 'uint256[]', 'name': '', 'type': 'uint256[]'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'uint256', 'name': 'id', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}], 'name': 'burn', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'uint256[]', 'name': 'ids', 'type': 'uint256[]'}, {'internalType': 'uint256[]', 'name': 'values', 'type': 'uint256[]'}], 'name': 'burnBatch', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'address', 'name': 'operator', 'type': 'address'}], 'name': 'isApprovedForAll', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'id', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'mint', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256[]', 'name': 'ids', 'type': 'uint256[]'}, {'internalType': 'uint256[]', 'name': 'amounts', 'type': 'uint256[]'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'safeBatchTransferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'id', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'safeTransferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'internalType': 'bool', 'name': 'approved', 'type': 'bool'}], 'name': 'setApprovalForAll', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'name': 'uri', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}], 'functions_names': ['balanceOf', 'balanceOfBatch', 'burn', 'burnBatch', 'isApprovedForAll', 'mint', 'safeBatchTransferFrom', 'safeTransferFrom', 'setApprovalForAll', 'uri']}, - "86170116": {'name': 'IERC1363', 'selector': '86170116', 'abi': [{'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}], 'name': 'Approval', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'from', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'to', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}], 'name': 'Transfer', 'type': 'event'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'address', 'name': 'spender', 'type': 'address'}], 'name': 'allowance', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'approve', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'approveAndCall', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'approveAndCall', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'balanceOf', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'totalSupply', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transfer', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transferAndCall', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'transferAndCall', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transferFrom', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'transferFromAndCall', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transferFromAndCall', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['allowance', 'approve', 'approveAndCall', 'approveAndCall', 'balanceOf', 'totalSupply', 'transfer', 'transferAndCall', 'transferAndCall', 'transferFrom', 'transferFromAndCall', 'transferFromAndCall']}, - "7cbaa157": {'name': 'ERC20CappedMock', 'selector': '7cbaa157', 'abi': [{'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'address', 'name': 'spender', 'type': 'address'}], 'name': 'allowance', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'approve', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'balanceOf', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'cap', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'decimals', 'outputs': [{'internalType': 'uint8', 'name': '', 'type': 'uint8'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'subtractedValue', 'type': 'uint256'}], 'name': 'decreaseAllowance', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'addedValue', 'type': 'uint256'}], 'name': 'increaseAllowance', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'mint', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'name', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'symbol', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'totalSupply', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transfer', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transferFrom', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['allowance', 'approve', 'balanceOf', 'cap', 'decimals', 'decreaseAllowance', 'increaseAllowance', 'mint', 'name', 'symbol', 'totalSupply', 'transfer', 'transferFrom']}, - "dbf24b52": {'name': 'IERC721Metadata', 'selector': 'dbf24b52', 'abi': [{'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'approved', 'type': 'address'}, {'indexed': True, 'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'Approval', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'indexed': False, 'internalType': 'bool', 'name': 'approved', 'type': 'bool'}], 'name': 'ApprovalForAll', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'from', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'to', 'type': 'address'}, {'indexed': True, 'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'Transfer', 'type': 'event'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'approve', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'balanceOf', 'outputs': [{'internalType': 'uint256', 'name': 'balance', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'getApproved', 'outputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'address', 'name': 'operator', 'type': 'address'}], 'name': 'isApprovedForAll', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'name', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'ownerOf', 'outputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'safeTransferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'safeTransferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'internalType': 'bool', 'name': 'approved', 'type': 'bool'}], 'name': 'setApprovalForAll', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'symbol', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'tokenURI', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'transferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['approve', 'balanceOf', 'getApproved', 'isApprovedForAll', 'name', 'ownerOf', 'safeTransferFrom', 'safeTransferFrom', 'setApprovalForAll', 'symbol', 'tokenURI', 'transferFrom']}, - "d42a4a11": {'name': 'ERC20Mock', 'selector': 'd42a4a11', 'abi': [{'inputs': [], 'stateMutability': 'nonpayable', 'type': 'constructor'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'currentAllowance', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'requestedDecrease', 'type': 'uint256'}], 'name': 'ERC20FailedDecreaseAllowance', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'allowance', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'needed', 'type': 'uint256'}], 'name': 'ERC20InsufficientAllowance', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'balance', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'needed', 'type': 'uint256'}], 'name': 'ERC20InsufficientBalance', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'approver', 'type': 'address'}], 'name': 'ERC20InvalidApprover', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'receiver', 'type': 'address'}], 'name': 'ERC20InvalidReceiver', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}], 'name': 'ERC20InvalidSender', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}], 'name': 'ERC20InvalidSpender', 'type': 'error'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}], 'name': 'Approval', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'from', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'to', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}], 'name': 'Transfer', 'type': 'event'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'address', 'name': 'spender', 'type': 'address'}], 'name': 'allowance', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'approve', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'balanceOf', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'burn', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'decimals', 'outputs': [{'internalType': 'uint8', 'name': '', 'type': 'uint8'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'requestedDecrease', 'type': 'uint256'}], 'name': 'decreaseAllowance', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'addedValue', 'type': 'uint256'}], 'name': 'increaseAllowance', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'mint', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'name', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'symbol', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'totalSupply', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transfer', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transferFrom', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['allowance', 'approve', 'balanceOf', 'burn', 'decimals', 'decreaseAllowance', 'increaseAllowance', 'mint', 'name', 'symbol', 'totalSupply', 'transfer', 'transferFrom']}, - "249cb3fa": {'name': 'ERC1820Implementer', 'selector': '249cb3fa', 'abi': [{'inputs': [{'internalType': 'bytes32', 'name': 'interfaceHash', 'type': 'bytes32'}, {'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'canImplementInterfaceForAddress', 'outputs': [{'internalType': 'bytes32', 'name': '', 'type': 'bytes32'}], 'stateMutability': 'view', 'type': 'function'}], 'functions_names': ['canImplementInterfaceForAddress']}, - "f8a2c5ae": {'name': 'IERC721Enumerable', 'selector': 'f8a2c5ae', 'abi': [{'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'approved', 'type': 'address'}, {'indexed': True, 'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'Approval', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'indexed': False, 'internalType': 'bool', 'name': 'approved', 'type': 'bool'}], 'name': 'ApprovalForAll', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'from', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'to', 'type': 'address'}, {'indexed': True, 'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'Transfer', 'type': 'event'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'approve', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'balanceOf', 'outputs': [{'internalType': 'uint256', 'name': 'balance', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'getApproved', 'outputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'address', 'name': 'operator', 'type': 'address'}], 'name': 'isApprovedForAll', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'ownerOf', 'outputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'safeTransferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'safeTransferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'internalType': 'bool', 'name': 'approved', 'type': 'bool'}], 'name': 'setApprovalForAll', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'index', 'type': 'uint256'}], 'name': 'tokenByIndex', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'uint256', 'name': 'index', 'type': 'uint256'}], 'name': 'tokenOfOwnerByIndex', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'totalSupply', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'transferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['approve', 'balanceOf', 'getApproved', 'isApprovedForAll', 'ownerOf', 'safeTransferFrom', 'safeTransferFrom', 'setApprovalForAll', 'tokenByIndex', 'tokenOfOwnerByIndex', 'totalSupply', 'transferFrom']}, - "95c2d2e5": {'name': 'ERC20SnapshotMock', 'selector': '95c2d2e5', 'abi': [{'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'address', 'name': 'spender', 'type': 'address'}], 'name': 'allowance', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'approve', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'balanceOf', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'uint256', 'name': 'snapshotId', 'type': 'uint256'}], 'name': 'balanceOfAt', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'burn', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'decimals', 'outputs': [{'internalType': 'uint8', 'name': '', 'type': 'uint8'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'subtractedValue', 'type': 'uint256'}], 'name': 'decreaseAllowance', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'addedValue', 'type': 'uint256'}], 'name': 'increaseAllowance', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'mint', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'name', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'snapshot', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'symbol', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'totalSupply', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'snapshotId', 'type': 'uint256'}], 'name': 'totalSupplyAt', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transfer', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transferFrom', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['allowance', 'approve', 'balanceOf', 'balanceOfAt', 'burn', 'decimals', 'decreaseAllowance', 'increaseAllowance', 'mint', 'name', 'snapshot', 'symbol', 'totalSupply', 'totalSupplyAt', 'transfer', 'transferFrom']}, - "0023de29": {'name': 'IERC777Recipient', 'selector': '0023de29', 'abi': [{'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}, {'internalType': 'bytes', 'name': 'userData', 'type': 'bytes'}, {'internalType': 'bytes', 'name': 'operatorData', 'type': 'bytes'}], 'name': 'tokensReceived', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['tokensReceived']}, - "f1a76b08": {'name': 'ERC721Royalty', 'selector': 'f1a76b08', 'abi': [{'inputs': [{'internalType': 'uint256', 'name': 'numerator', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'denominator', 'type': 'uint256'}], 'name': 'ERC2981InvalidDefaultRoyalty', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'receiver', 'type': 'address'}], 'name': 'ERC2981InvalidDefaultRoyaltyReceiver', 'type': 'error'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'numerator', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'denominator', 'type': 'uint256'}], 'name': 'ERC2981InvalidTokenRoyalty', 'type': 'error'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}, {'internalType': 'address', 'name': 'receiver', 'type': 'address'}], 'name': 'ERC2981InvalidTokenRoyaltyReceiver', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}, {'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'ERC721IncorrectOwner', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'ERC721InsufficientApproval', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'approver', 'type': 'address'}], 'name': 'ERC721InvalidApprover', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}], 'name': 'ERC721InvalidOperator', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'ERC721InvalidOwner', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'receiver', 'type': 'address'}], 'name': 'ERC721InvalidReceiver', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}], 'name': 'ERC721InvalidSender', 'type': 'error'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'ERC721NonexistentToken', 'type': 'error'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'approved', 'type': 'address'}, {'indexed': True, 'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'Approval', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'indexed': False, 'internalType': 'bool', 'name': 'approved', 'type': 'bool'}], 'name': 'ApprovalForAll', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'from', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'to', 'type': 'address'}, {'indexed': True, 'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'Transfer', 'type': 'event'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'approve', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'balanceOf', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'getApproved', 'outputs': [{'internalType': 'address', 'name': '', 'type': 'address'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'address', 'name': 'operator', 'type': 'address'}], 'name': 'isApprovedForAll', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'name', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'ownerOf', 'outputs': [{'internalType': 'address', 'name': '', 'type': 'address'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'salePrice', 'type': 'uint256'}], 'name': 'royaltyInfo', 'outputs': [{'internalType': 'address', 'name': '', 'type': 'address'}, {'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'safeTransferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'safeTransferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'internalType': 'bool', 'name': 'approved', 'type': 'bool'}], 'name': 'setApprovalForAll', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'symbol', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'tokenURI', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'transferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['approve', 'balanceOf', 'getApproved', 'isApprovedForAll', 'name', 'ownerOf', 'royaltyInfo', 'safeTransferFrom', 'safeTransferFrom', 'setApprovalForAll', 'symbol', 'tokenURI', 'transferFrom']}, - "8ef63f04": {'name': 'ERC4626OffsetMock', 'selector': '8ef63f04', 'abi': [{'inputs': [{'internalType': 'address', 'name': 'target', 'type': 'address'}], 'name': 'AddressEmptyCode', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'AddressInsufficientBalance', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'currentAllowance', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'requestedDecrease', 'type': 'uint256'}], 'name': 'ERC20FailedDecreaseAllowance', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'allowance', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'needed', 'type': 'uint256'}], 'name': 'ERC20InsufficientAllowance', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'balance', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'needed', 'type': 'uint256'}], 'name': 'ERC20InsufficientBalance', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'approver', 'type': 'address'}], 'name': 'ERC20InvalidApprover', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'receiver', 'type': 'address'}], 'name': 'ERC20InvalidReceiver', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}], 'name': 'ERC20InvalidSender', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}], 'name': 'ERC20InvalidSpender', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'receiver', 'type': 'address'}, {'internalType': 'uint256', 'name': 'assets', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'max', 'type': 'uint256'}], 'name': 'ERC4626ExceededMaxDeposit', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'receiver', 'type': 'address'}, {'internalType': 'uint256', 'name': 'shares', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'max', 'type': 'uint256'}], 'name': 'ERC4626ExceededMaxMint', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'uint256', 'name': 'shares', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'max', 'type': 'uint256'}], 'name': 'ERC4626ExceededMaxRedeem', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'uint256', 'name': 'assets', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'max', 'type': 'uint256'}], 'name': 'ERC4626ExceededMaxWithdraw', 'type': 'error'}, {'inputs': [], 'name': 'FailedInnerCall', 'type': 'error'}, {'inputs': [], 'name': 'MathOverflowedMulDiv', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'token', 'type': 'address'}], 'name': 'SafeERC20FailedOperation', 'type': 'error'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}], 'name': 'Approval', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'sender', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'assets', 'type': 'uint256'}, {'indexed': False, 'internalType': 'uint256', 'name': 'shares', 'type': 'uint256'}], 'name': 'Deposit', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'from', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'to', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}], 'name': 'Transfer', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'sender', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'receiver', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'assets', 'type': 'uint256'}, {'indexed': False, 'internalType': 'uint256', 'name': 'shares', 'type': 'uint256'}], 'name': 'Withdraw', 'type': 'event'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'address', 'name': 'spender', 'type': 'address'}], 'name': 'allowance', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'approve', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'asset', 'outputs': [{'internalType': 'address', 'name': '', 'type': 'address'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'balanceOf', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'shares', 'type': 'uint256'}], 'name': 'convertToAssets', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'assets', 'type': 'uint256'}], 'name': 'convertToShares', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'decimals', 'outputs': [{'internalType': 'uint8', 'name': '', 'type': 'uint8'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'requestedDecrease', 'type': 'uint256'}], 'name': 'decreaseAllowance', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'assets', 'type': 'uint256'}, {'internalType': 'address', 'name': 'receiver', 'type': 'address'}], 'name': 'deposit', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'addedValue', 'type': 'uint256'}], 'name': 'increaseAllowance', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': '', 'type': 'address'}], 'name': 'maxDeposit', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': '', 'type': 'address'}], 'name': 'maxMint', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'maxRedeem', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'maxWithdraw', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'shares', 'type': 'uint256'}, {'internalType': 'address', 'name': 'receiver', 'type': 'address'}], 'name': 'mint', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'name', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'assets', 'type': 'uint256'}], 'name': 'previewDeposit', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'shares', 'type': 'uint256'}], 'name': 'previewMint', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'shares', 'type': 'uint256'}], 'name': 'previewRedeem', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'assets', 'type': 'uint256'}], 'name': 'previewWithdraw', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'shares', 'type': 'uint256'}, {'internalType': 'address', 'name': 'receiver', 'type': 'address'}, {'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'redeem', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'symbol', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'totalAssets', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'totalSupply', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transfer', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transferFrom', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'assets', 'type': 'uint256'}, {'internalType': 'address', 'name': 'receiver', 'type': 'address'}, {'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'withdraw', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['allowance', 'approve', 'asset', 'balanceOf', 'convertToAssets', 'convertToShares', 'decimals', 'decreaseAllowance', 'deposit', 'increaseAllowance', 'maxDeposit', 'maxMint', 'maxRedeem', 'maxWithdraw', 'mint', 'name', 'previewDeposit', 'previewMint', 'previewRedeem', 'previewWithdraw', 'redeem', 'symbol', 'totalAssets', 'totalSupply', 'transfer', 'transferFrom', 'withdraw']}, - "dfd0330a": {'name': 'ERC20Snapshot', 'selector': 'dfd0330a', 'abi': [{'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'address', 'name': 'spender', 'type': 'address'}], 'name': 'allowance', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'approve', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'balanceOf', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'uint256', 'name': 'snapshotId', 'type': 'uint256'}], 'name': 'balanceOfAt', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'decimals', 'outputs': [{'internalType': 'uint8', 'name': '', 'type': 'uint8'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'subtractedValue', 'type': 'uint256'}], 'name': 'decreaseAllowance', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'addedValue', 'type': 'uint256'}], 'name': 'increaseAllowance', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'name', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'symbol', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'totalSupply', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'snapshotId', 'type': 'uint256'}], 'name': 'totalSupplyAt', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transfer', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transferFrom', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['allowance', 'approve', 'balanceOf', 'balanceOfAt', 'decimals', 'decreaseAllowance', 'increaseAllowance', 'name', 'symbol', 'totalSupply', 'totalSupplyAt', 'transfer', 'transferFrom']}, - "64c56e77": {'name': 'ERC20Reentrant', 'selector': '64c56e77', 'abi': [{'inputs': [{'internalType': 'address', 'name': 'target', 'type': 'address'}], 'name': 'AddressEmptyCode', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'AddressInsufficientBalance', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'currentAllowance', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'requestedDecrease', 'type': 'uint256'}], 'name': 'ERC20FailedDecreaseAllowance', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'allowance', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'needed', 'type': 'uint256'}], 'name': 'ERC20InsufficientAllowance', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'balance', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'needed', 'type': 'uint256'}], 'name': 'ERC20InsufficientBalance', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'approver', 'type': 'address'}], 'name': 'ERC20InvalidApprover', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'receiver', 'type': 'address'}], 'name': 'ERC20InvalidReceiver', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}], 'name': 'ERC20InvalidSender', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}], 'name': 'ERC20InvalidSpender', 'type': 'error'}, {'inputs': [], 'name': 'FailedInnerCall', 'type': 'error'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}], 'name': 'Approval', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'from', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'to', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}], 'name': 'Transfer', 'type': 'event'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'address', 'name': 'spender', 'type': 'address'}], 'name': 'allowance', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'approve', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'balanceOf', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'decimals', 'outputs': [{'internalType': 'uint8', 'name': '', 'type': 'uint8'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'requestedDecrease', 'type': 'uint256'}], 'name': 'decreaseAllowance', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'target', 'type': 'address'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'functionCall', 'outputs': [{'internalType': 'bytes', 'name': '', 'type': 'bytes'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'addedValue', 'type': 'uint256'}], 'name': 'increaseAllowance', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'name', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'enum ERC20Reentrant.Type', 'name': 'when', 'type': 'uint8'}, {'internalType': 'address', 'name': 'target', 'type': 'address'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'scheduleReenter', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'symbol', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'totalSupply', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transfer', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transferFrom', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['allowance', 'approve', 'balanceOf', 'decimals', 'decreaseAllowance', 'functionCall', 'increaseAllowance', 'name', 'scheduleReenter', 'symbol', 'totalSupply', 'transfer', 'transferFrom']}, - "d73f4e3a": {'name': 'IERC1155MetadataURI', 'selector': 'd73f4e3a', 'abi': [{'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'account', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'indexed': False, 'internalType': 'bool', 'name': 'approved', 'type': 'bool'}], 'name': 'ApprovalForAll', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'from', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'to', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256[]', 'name': 'ids', 'type': 'uint256[]'}, {'indexed': False, 'internalType': 'uint256[]', 'name': 'values', 'type': 'uint256[]'}], 'name': 'TransferBatch', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'from', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'to', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'id', 'type': 'uint256'}, {'indexed': False, 'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}], 'name': 'TransferSingle', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': False, 'internalType': 'string', 'name': 'value', 'type': 'string'}, {'indexed': True, 'internalType': 'uint256', 'name': 'id', 'type': 'uint256'}], 'name': 'URI', 'type': 'event'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'uint256', 'name': 'id', 'type': 'uint256'}], 'name': 'balanceOf', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address[]', 'name': 'accounts', 'type': 'address[]'}, {'internalType': 'uint256[]', 'name': 'ids', 'type': 'uint256[]'}], 'name': 'balanceOfBatch', 'outputs': [{'internalType': 'uint256[]', 'name': '', 'type': 'uint256[]'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'address', 'name': 'operator', 'type': 'address'}], 'name': 'isApprovedForAll', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256[]', 'name': 'ids', 'type': 'uint256[]'}, {'internalType': 'uint256[]', 'name': 'amounts', 'type': 'uint256[]'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'safeBatchTransferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'id', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'safeTransferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'internalType': 'bool', 'name': 'approved', 'type': 'bool'}], 'name': 'setApprovalForAll', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'id', 'type': 'uint256'}], 'name': 'uri', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}], 'functions_names': ['balanceOf', 'balanceOfBatch', 'isApprovedForAll', 'safeBatchTransferFrom', 'safeTransferFrom', 'setApprovalForAll', 'uri']}, - "580cf8f5": {'name': 'ERC721PausableMock', 'selector': '580cf8f5', 'abi': [{'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'approve', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'balanceOf', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'burn', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'exists', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'getApproved', 'outputs': [{'internalType': 'address', 'name': '', 'type': 'address'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'address', 'name': 'operator', 'type': 'address'}], 'name': 'isApprovedForAll', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'mint', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'name', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'ownerOf', 'outputs': [{'internalType': 'address', 'name': '', 'type': 'address'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'pause', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'paused', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}, {'internalType': 'bytes', 'name': '_data', 'type': 'bytes'}], 'name': 'safeMint', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'safeMint', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'safeTransferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'safeTransferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'internalType': 'bool', 'name': 'approved', 'type': 'bool'}], 'name': 'setApprovalForAll', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'symbol', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'tokenURI', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'transferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'unpause', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['approve', 'balanceOf', 'burn', 'exists', 'getApproved', 'isApprovedForAll', 'mint', 'name', 'ownerOf', 'pause', 'paused', 'safeMint', 'safeMint', 'safeTransferFrom', 'safeTransferFrom', 'setApprovalForAll', 'symbol', 'tokenURI', 'transferFrom', 'unpause']}, - "d57681f2": {'name': 'ERC1155SupplyMock', 'selector': 'd57681f2', 'abi': [{'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'uint256', 'name': 'id', 'type': 'uint256'}], 'name': 'balanceOf', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address[]', 'name': 'accounts', 'type': 'address[]'}, {'internalType': 'uint256[]', 'name': 'ids', 'type': 'uint256[]'}], 'name': 'balanceOfBatch', 'outputs': [{'internalType': 'uint256[]', 'name': '', 'type': 'uint256[]'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'uint256', 'name': 'id', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}], 'name': 'burn', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'uint256[]', 'name': 'ids', 'type': 'uint256[]'}, {'internalType': 'uint256[]', 'name': 'values', 'type': 'uint256[]'}], 'name': 'burnBatch', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'id', 'type': 'uint256'}], 'name': 'exists', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'address', 'name': 'operator', 'type': 'address'}], 'name': 'isApprovedForAll', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'id', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'mint', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256[]', 'name': 'ids', 'type': 'uint256[]'}, {'internalType': 'uint256[]', 'name': 'values', 'type': 'uint256[]'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'mintBatch', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256[]', 'name': 'ids', 'type': 'uint256[]'}, {'internalType': 'uint256[]', 'name': 'amounts', 'type': 'uint256[]'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'safeBatchTransferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'id', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'safeTransferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'internalType': 'bool', 'name': 'approved', 'type': 'bool'}], 'name': 'setApprovalForAll', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'string', 'name': 'newuri', 'type': 'string'}], 'name': 'setURI', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'id', 'type': 'uint256'}], 'name': 'totalSupply', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'name': 'uri', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}], 'functions_names': ['balanceOf', 'balanceOfBatch', 'burn', 'burnBatch', 'exists', 'isApprovedForAll', 'mint', 'mintBatch', 'safeBatchTransferFrom', 'safeTransferFrom', 'setApprovalForAll', 'setURI', 'totalSupply', 'uri']}, - "f47afbe3": {'name': 'ERC1155URIStorageMock', 'selector': 'f47afbe3', 'abi': [{'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'uint256', 'name': 'id', 'type': 'uint256'}], 'name': 'balanceOf', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address[]', 'name': 'accounts', 'type': 'address[]'}, {'internalType': 'uint256[]', 'name': 'ids', 'type': 'uint256[]'}], 'name': 'balanceOfBatch', 'outputs': [{'internalType': 'uint256[]', 'name': '', 'type': 'uint256[]'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'uint256', 'name': 'id', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}], 'name': 'burn', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'uint256[]', 'name': 'ids', 'type': 'uint256[]'}, {'internalType': 'uint256[]', 'name': 'values', 'type': 'uint256[]'}], 'name': 'burnBatch', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'address', 'name': 'operator', 'type': 'address'}], 'name': 'isApprovedForAll', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'id', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'mint', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256[]', 'name': 'ids', 'type': 'uint256[]'}, {'internalType': 'uint256[]', 'name': 'values', 'type': 'uint256[]'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'mintBatch', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256[]', 'name': 'ids', 'type': 'uint256[]'}, {'internalType': 'uint256[]', 'name': 'amounts', 'type': 'uint256[]'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'safeBatchTransferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'id', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'safeTransferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'internalType': 'bool', 'name': 'approved', 'type': 'bool'}], 'name': 'setApprovalForAll', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'string', 'name': 'baseURI', 'type': 'string'}], 'name': 'setBaseURI', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'string', 'name': 'newuri', 'type': 'string'}], 'name': 'setURI', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}, {'internalType': 'string', 'name': '_tokenURI', 'type': 'string'}], 'name': 'setURI', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'uri', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}], 'functions_names': ['balanceOf', 'balanceOfBatch', 'burn', 'burnBatch', 'isApprovedForAll', 'mint', 'mintBatch', 'safeBatchTransferFrom', 'safeTransferFrom', 'setApprovalForAll', 'setBaseURI', 'setURI', 'setURI', 'uri']}, - "dbf24b52": {'name': 'ERC721', 'selector': 'dbf24b52', 'abi': [{'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}, {'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'ERC721IncorrectOwner', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'ERC721InsufficientApproval', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'approver', 'type': 'address'}], 'name': 'ERC721InvalidApprover', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}], 'name': 'ERC721InvalidOperator', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'ERC721InvalidOwner', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'receiver', 'type': 'address'}], 'name': 'ERC721InvalidReceiver', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}], 'name': 'ERC721InvalidSender', 'type': 'error'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'ERC721NonexistentToken', 'type': 'error'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'approved', 'type': 'address'}, {'indexed': True, 'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'Approval', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'indexed': False, 'internalType': 'bool', 'name': 'approved', 'type': 'bool'}], 'name': 'ApprovalForAll', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'from', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'to', 'type': 'address'}, {'indexed': True, 'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'Transfer', 'type': 'event'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'approve', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'balanceOf', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'getApproved', 'outputs': [{'internalType': 'address', 'name': '', 'type': 'address'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'address', 'name': 'operator', 'type': 'address'}], 'name': 'isApprovedForAll', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'name', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'ownerOf', 'outputs': [{'internalType': 'address', 'name': '', 'type': 'address'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'safeTransferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}, {'internalType': 'bytes', 'name': 'data', 'type': 'bytes'}], 'name': 'safeTransferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'operator', 'type': 'address'}, {'internalType': 'bool', 'name': 'approved', 'type': 'bool'}], 'name': 'setApprovalForAll', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'symbol', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'tokenURI', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], 'name': 'transferFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['approve', 'balanceOf', 'getApproved', 'isApprovedForAll', 'name', 'ownerOf', 'safeTransferFrom', 'safeTransferFrom', 'setApprovalForAll', 'symbol', 'tokenURI', 'transferFrom']}, - "3273d15c": {'name': 'ERC20Burnable', 'selector': '3273d15c', 'abi': [{'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'currentAllowance', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'requestedDecrease', 'type': 'uint256'}], 'name': 'ERC20FailedDecreaseAllowance', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'allowance', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'needed', 'type': 'uint256'}], 'name': 'ERC20InsufficientAllowance', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'balance', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'needed', 'type': 'uint256'}], 'name': 'ERC20InsufficientBalance', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'approver', 'type': 'address'}], 'name': 'ERC20InvalidApprover', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'receiver', 'type': 'address'}], 'name': 'ERC20InvalidReceiver', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}], 'name': 'ERC20InvalidSender', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}], 'name': 'ERC20InvalidSpender', 'type': 'error'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}], 'name': 'Approval', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'from', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'to', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}], 'name': 'Transfer', 'type': 'event'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'address', 'name': 'spender', 'type': 'address'}], 'name': 'allowance', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'approve', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'balanceOf', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'burn', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'burnFrom', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'decimals', 'outputs': [{'internalType': 'uint8', 'name': '', 'type': 'uint8'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'requestedDecrease', 'type': 'uint256'}], 'name': 'decreaseAllowance', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'addedValue', 'type': 'uint256'}], 'name': 'increaseAllowance', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'name', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'symbol', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'totalSupply', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transfer', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transferFrom', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['allowance', 'approve', 'balanceOf', 'burn', 'burnFrom', 'decimals', 'decreaseAllowance', 'increaseAllowance', 'name', 'symbol', 'totalSupply', 'transfer', 'transferFrom']}, - "aa4b5d98": {'name': 'ERC165CheckerMock', 'selector': 'aa4b5d98', 'abi': [{'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'bytes4[]', 'name': 'interfaceIds', 'type': 'bytes4[]'}], 'name': 'getSupportedInterfaces', 'outputs': [{'internalType': 'bool[]', 'name': '', 'type': 'bool[]'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'bytes4[]', 'name': 'interfaceIds', 'type': 'bytes4[]'}], 'name': 'supportsAllInterfaces', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'supportsERC165', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'bytes4', 'name': 'interfaceId', 'type': 'bytes4'}], 'name': 'supportsERC165InterfaceUnchecked', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'view', 'type': 'function'}], 'functions_names': ['getSupportedInterfaces', 'supportsAllInterfaces', 'supportsERC165', 'supportsERC165InterfaceUnchecked']}, - "01ffc9a7": {'name': 'IERC165', 'selector': '01ffc9a7', 'abi': [{'inputs': [{'internalType': 'bytes4', 'name': 'interfaceId', 'type': 'bytes4'}], 'name': 'supportsInterface', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'view', 'type': 'function'}], 'functions_names': ['supportsInterface']}, - "10163410": {'name': 'ERC20Permit', 'selector': '10163410', 'abi': [{'inputs': [], 'name': 'ECDSAInvalidSignature', 'type': 'error'}, {'inputs': [{'internalType': 'uint256', 'name': 'length', 'type': 'uint256'}], 'name': 'ECDSAInvalidSignatureLength', 'type': 'error'}, {'inputs': [{'internalType': 'bytes32', 'name': 's', 'type': 'bytes32'}], 'name': 'ECDSAInvalidSignatureS', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'currentAllowance', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'requestedDecrease', 'type': 'uint256'}], 'name': 'ERC20FailedDecreaseAllowance', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'allowance', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'needed', 'type': 'uint256'}], 'name': 'ERC20InsufficientAllowance', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'balance', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'needed', 'type': 'uint256'}], 'name': 'ERC20InsufficientBalance', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'approver', 'type': 'address'}], 'name': 'ERC20InvalidApprover', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'receiver', 'type': 'address'}], 'name': 'ERC20InvalidReceiver', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'sender', 'type': 'address'}], 'name': 'ERC20InvalidSender', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}], 'name': 'ERC20InvalidSpender', 'type': 'error'}, {'inputs': [{'internalType': 'uint256', 'name': 'deadline', 'type': 'uint256'}], 'name': 'ERC2612ExpiredSignature', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'signer', 'type': 'address'}, {'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'ERC2612InvalidSigner', 'type': 'error'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}, {'internalType': 'uint256', 'name': 'currentNonce', 'type': 'uint256'}], 'name': 'InvalidAccountNonce', 'type': 'error'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}], 'name': 'Approval', 'type': 'event'}, {'anonymous': False, 'inputs': [], 'name': 'EIP712DomainChanged', 'type': 'event'}, {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'from', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'to', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}], 'name': 'Transfer', 'type': 'event'}, {'inputs': [], 'name': 'DOMAIN_SEPARATOR', 'outputs': [{'internalType': 'bytes32', 'name': '', 'type': 'bytes32'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'address', 'name': 'spender', 'type': 'address'}], 'name': 'allowance', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'approve', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}], 'name': 'balanceOf', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'decimals', 'outputs': [{'internalType': 'uint8', 'name': '', 'type': 'uint8'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'requestedDecrease', 'type': 'uint256'}], 'name': 'decreaseAllowance', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'eip712Domain', 'outputs': [{'internalType': 'bytes1', 'name': 'fields', 'type': 'bytes1'}, {'internalType': 'string', 'name': 'name', 'type': 'string'}, {'internalType': 'string', 'name': 'version', 'type': 'string'}, {'internalType': 'uint256', 'name': 'chainId', 'type': 'uint256'}, {'internalType': 'address', 'name': 'verifyingContract', 'type': 'address'}, {'internalType': 'bytes32', 'name': 'salt', 'type': 'bytes32'}, {'internalType': 'uint256[]', 'name': 'extensions', 'type': 'uint256[]'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'addedValue', 'type': 'uint256'}], 'name': 'increaseAllowance', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'name', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}], 'name': 'nonces', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'deadline', 'type': 'uint256'}, {'internalType': 'uint8', 'name': 'v', 'type': 'uint8'}, {'internalType': 'bytes32', 'name': 'r', 'type': 'bytes32'}, {'internalType': 'bytes32', 'name': 's', 'type': 'bytes32'}], 'name': 'permit', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [], 'name': 'symbol', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [], 'name': 'totalSupply', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transfer', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transferFrom', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}], 'functions_names': ['DOMAIN_SEPARATOR', 'allowance', 'approve', 'balanceOf', 'decimals', 'decreaseAllowance', 'eip712Domain', 'increaseAllowance', 'name', 'nonces', 'permit', 'symbol', 'totalSupply', 'transfer', 'transferFrom']}, + "274c7b3c": { + "name": "ERC20PresetMinterPauser", + "selector": "274c7b3c", + "abi": [ + { + "inputs": [], + "name": "DEFAULT_ADMIN_ROLE", + "outputs": [{"internalType": "bytes32", "name": "", "type": "bytes32"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "MINTER_ROLE", + "outputs": [{"internalType": "bytes32", "name": "", "type": "bytes32"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "PAUSER_ROLE", + "outputs": [{"internalType": "bytes32", "name": "", "type": "bytes32"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "address", "name": "spender", "type": "address"}, + ], + "name": "allowance", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "approve", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"} + ], + "name": "balanceOf", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "amount", "type": "uint256"} + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "burnFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "decimals", + "outputs": [{"internalType": "uint8", "name": "", "type": "uint8"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "subtractedValue", + "type": "uint256", + }, + ], + "name": "decreaseAllowance", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "bytes32", "name": "role", "type": "bytes32"} + ], + "name": "getRoleAdmin", + "outputs": [{"internalType": "bytes32", "name": "", "type": "bytes32"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "bytes32", "name": "role", "type": "bytes32"}, + {"internalType": "uint256", "name": "index", "type": "uint256"}, + ], + "name": "getRoleMember", + "outputs": [{"internalType": "address", "name": "", "type": "address"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "bytes32", "name": "role", "type": "bytes32"} + ], + "name": "getRoleMemberCount", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "bytes32", "name": "role", "type": "bytes32"}, + {"internalType": "address", "name": "account", "type": "address"}, + ], + "name": "grantRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "bytes32", "name": "role", "type": "bytes32"}, + {"internalType": "address", "name": "account", "type": "address"}, + ], + "name": "hasRole", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256", + }, + ], + "name": "increaseAllowance", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "name", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "pause", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "paused", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "bytes32", "name": "role", "type": "bytes32"}, + {"internalType": "address", "name": "account", "type": "address"}, + ], + "name": "renounceRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "bytes32", "name": "role", "type": "bytes32"}, + {"internalType": "address", "name": "account", "type": "address"}, + ], + "name": "revokeRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "symbol", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "transfer", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "transferFrom", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "unpause", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + ], + "functions_names": [ + "DEFAULT_ADMIN_ROLE", + "MINTER_ROLE", + "PAUSER_ROLE", + "allowance", + "approve", + "balanceOf", + "burn", + "burnFrom", + "decimals", + "decreaseAllowance", + "getRoleAdmin", + "getRoleMember", + "getRoleMemberCount", + "grantRole", + "hasRole", + "increaseAllowance", + "mint", + "name", + "pause", + "paused", + "renounceRole", + "revokeRole", + "symbol", + "totalSupply", + "transfer", + "transferFrom", + "unpause", + ], + }, + "a264d2b1": { + "name": "ERC777Mock", + "selector": "a264d2b1", + "abi": [ + { + "inputs": [ + {"internalType": "address", "name": "holder", "type": "address"}, + {"internalType": "address", "name": "spender", "type": "address"}, + ], + "name": "allowance", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + {"internalType": "uint256", "name": "value", "type": "uint256"}, + ], + "name": "approve", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "holder", "type": "address"}, + {"internalType": "address", "name": "spender", "type": "address"}, + {"internalType": "uint256", "name": "value", "type": "uint256"}, + ], + "name": "approveInternal", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"} + ], + "name": "authorizeOperator", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + { + "internalType": "address", + "name": "tokenHolder", + "type": "address", + } + ], + "name": "balanceOf", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "decimals", + "outputs": [{"internalType": "uint8", "name": "", "type": "uint8"}], + "stateMutability": "pure", + "type": "function", + }, + { + "inputs": [], + "name": "defaultOperators", + "outputs": [ + {"internalType": "address[]", "name": "", "type": "address[]"} + ], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "granularity", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"}, + { + "internalType": "address", + "name": "tokenHolder", + "type": "address", + }, + ], + "name": "isOperatorFor", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + {"internalType": "bytes", "name": "userData", "type": "bytes"}, + {"internalType": "bytes", "name": "operatorData", "type": "bytes"}, + ], + "name": "mintInternal", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + {"internalType": "bytes", "name": "userData", "type": "bytes"}, + {"internalType": "bytes", "name": "operatorData", "type": "bytes"}, + { + "internalType": "bool", + "name": "requireReceptionAck", + "type": "bool", + }, + ], + "name": "mintInternalExtended", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "name", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + {"internalType": "bytes", "name": "operatorData", "type": "bytes"}, + ], + "name": "operatorBurn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"}, + {"internalType": "address", "name": "recipient", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + {"internalType": "bytes", "name": "operatorData", "type": "bytes"}, + ], + "name": "operatorSend", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"} + ], + "name": "revokeOperator", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "recipient", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "send", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "symbol", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "recipient", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "transfer", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "holder", "type": "address"}, + {"internalType": "address", "name": "recipient", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "transferFrom", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + ], + "functions_names": [ + "allowance", + "approve", + "approveInternal", + "authorizeOperator", + "balanceOf", + "burn", + "decimals", + "defaultOperators", + "granularity", + "isOperatorFor", + "mintInternal", + "mintInternalExtended", + "name", + "operatorBurn", + "operatorSend", + "revokeOperator", + "send", + "symbol", + "totalSupply", + "transfer", + "transferFrom", + ], + }, + "01ffc9a7": { + "name": "ERC165MaliciousData", + "selector": "01ffc9a7", + "abi": [ + { + "inputs": [{"internalType": "bytes4", "name": "", "type": "bytes4"}], + "name": "supportsInterface", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "pure", + "type": "function", + } + ], + "functions_names": ["supportsInterface"], + }, + "572b6c05": { + "name": "ERC2771Context", + "selector": "572b6c05", + "abi": [ + { + "inputs": [ + {"internalType": "address", "name": "forwarder", "type": "address"} + ], + "name": "isTrustedForwarder", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "view", + "type": "function", + } + ], + "functions_names": ["isTrustedForwarder"], + }, + "8ef63f04": { + "name": "ERC4626LimitsMock", + "selector": "8ef63f04", + "abi": [ + { + "inputs": [ + {"internalType": "address", "name": "target", "type": "address"} + ], + "name": "AddressEmptyCode", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"} + ], + "name": "AddressInsufficientBalance", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "currentAllowance", + "type": "uint256", + }, + { + "internalType": "uint256", + "name": "requestedDecrease", + "type": "uint256", + }, + ], + "name": "ERC20FailedDecreaseAllowance", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + {"internalType": "uint256", "name": "allowance", "type": "uint256"}, + {"internalType": "uint256", "name": "needed", "type": "uint256"}, + ], + "name": "ERC20InsufficientAllowance", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"}, + {"internalType": "uint256", "name": "balance", "type": "uint256"}, + {"internalType": "uint256", "name": "needed", "type": "uint256"}, + ], + "name": "ERC20InsufficientBalance", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "approver", "type": "address"} + ], + "name": "ERC20InvalidApprover", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "receiver", "type": "address"} + ], + "name": "ERC20InvalidReceiver", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"} + ], + "name": "ERC20InvalidSender", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"} + ], + "name": "ERC20InvalidSpender", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "receiver", "type": "address"}, + {"internalType": "uint256", "name": "assets", "type": "uint256"}, + {"internalType": "uint256", "name": "max", "type": "uint256"}, + ], + "name": "ERC4626ExceededMaxDeposit", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "receiver", "type": "address"}, + {"internalType": "uint256", "name": "shares", "type": "uint256"}, + {"internalType": "uint256", "name": "max", "type": "uint256"}, + ], + "name": "ERC4626ExceededMaxMint", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "uint256", "name": "shares", "type": "uint256"}, + {"internalType": "uint256", "name": "max", "type": "uint256"}, + ], + "name": "ERC4626ExceededMaxRedeem", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "uint256", "name": "assets", "type": "uint256"}, + {"internalType": "uint256", "name": "max", "type": "uint256"}, + ], + "name": "ERC4626ExceededMaxWithdraw", + "type": "error", + }, + {"inputs": [], "name": "FailedInnerCall", "type": "error"}, + {"inputs": [], "name": "MathOverflowedMulDiv", "type": "error"}, + { + "inputs": [ + {"internalType": "address", "name": "token", "type": "address"} + ], + "name": "SafeERC20FailedOperation", + "type": "error", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "owner", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "spender", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "value", + "type": "uint256", + }, + ], + "name": "Approval", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "sender", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "owner", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "assets", + "type": "uint256", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "shares", + "type": "uint256", + }, + ], + "name": "Deposit", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "from", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "to", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "value", + "type": "uint256", + }, + ], + "name": "Transfer", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "sender", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "receiver", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "owner", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "assets", + "type": "uint256", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "shares", + "type": "uint256", + }, + ], + "name": "Withdraw", + "type": "event", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "address", "name": "spender", "type": "address"}, + ], + "name": "allowance", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "approve", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "asset", + "outputs": [{"internalType": "address", "name": "", "type": "address"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"} + ], + "name": "balanceOf", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "shares", "type": "uint256"} + ], + "name": "convertToAssets", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "assets", "type": "uint256"} + ], + "name": "convertToShares", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "decimals", + "outputs": [{"internalType": "uint8", "name": "", "type": "uint8"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "requestedDecrease", + "type": "uint256", + }, + ], + "name": "decreaseAllowance", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "assets", "type": "uint256"}, + {"internalType": "address", "name": "receiver", "type": "address"}, + ], + "name": "deposit", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256", + }, + ], + "name": "increaseAllowance", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [{"internalType": "address", "name": "", "type": "address"}], + "name": "maxDeposit", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [{"internalType": "address", "name": "", "type": "address"}], + "name": "maxMint", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"} + ], + "name": "maxRedeem", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"} + ], + "name": "maxWithdraw", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "shares", "type": "uint256"}, + {"internalType": "address", "name": "receiver", "type": "address"}, + ], + "name": "mint", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "name", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "assets", "type": "uint256"} + ], + "name": "previewDeposit", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "shares", "type": "uint256"} + ], + "name": "previewMint", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "shares", "type": "uint256"} + ], + "name": "previewRedeem", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "assets", "type": "uint256"} + ], + "name": "previewWithdraw", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "shares", "type": "uint256"}, + {"internalType": "address", "name": "receiver", "type": "address"}, + {"internalType": "address", "name": "owner", "type": "address"}, + ], + "name": "redeem", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "symbol", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "totalAssets", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "transfer", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "transferFrom", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "assets", "type": "uint256"}, + {"internalType": "address", "name": "receiver", "type": "address"}, + {"internalType": "address", "name": "owner", "type": "address"}, + ], + "name": "withdraw", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "nonpayable", + "type": "function", + }, + ], + "functions_names": [ + "allowance", + "approve", + "asset", + "balanceOf", + "convertToAssets", + "convertToShares", + "decimals", + "decreaseAllowance", + "deposit", + "increaseAllowance", + "maxDeposit", + "maxMint", + "maxRedeem", + "maxWithdraw", + "mint", + "name", + "previewDeposit", + "previewMint", + "previewRedeem", + "previewWithdraw", + "redeem", + "symbol", + "totalAssets", + "totalSupply", + "transfer", + "transferFrom", + "withdraw", + ], + }, + "36372b07": { + "name": "IERC20", + "selector": "36372b07", + "abi": [ + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "owner", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "spender", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "value", + "type": "uint256", + }, + ], + "name": "Approval", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "from", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "to", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "value", + "type": "uint256", + }, + ], + "name": "Transfer", + "type": "event", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "address", "name": "spender", "type": "address"}, + ], + "name": "allowance", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "approve", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"} + ], + "name": "balanceOf", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "transfer", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "transferFrom", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + ], + "functions_names": [ + "allowance", + "approve", + "balanceOf", + "totalSupply", + "transfer", + "transferFrom", + ], + }, + "8ba81481": { + "name": "ERC1155Pausable", + "selector": "8ba81481", + "abi": [ + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"}, + {"internalType": "address", "name": "owner", "type": "address"}, + ], + "name": "ERC1155InsufficientApprovalForAll", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"}, + {"internalType": "uint256", "name": "balance", "type": "uint256"}, + {"internalType": "uint256", "name": "needed", "type": "uint256"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "ERC1155InsufficientBalance", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "approver", "type": "address"} + ], + "name": "ERC1155InvalidApprover", + "type": "error", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "idsLength", "type": "uint256"}, + { + "internalType": "uint256", + "name": "valuesLength", + "type": "uint256", + }, + ], + "name": "ERC1155InvalidArrayLength", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"} + ], + "name": "ERC1155InvalidOperator", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "receiver", "type": "address"} + ], + "name": "ERC1155InvalidReceiver", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"} + ], + "name": "ERC1155InvalidSender", + "type": "error", + }, + {"inputs": [], "name": "EnforcedPause", "type": "error"}, + {"inputs": [], "name": "ExpectedPause", "type": "error"}, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "account", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "operator", + "type": "address", + }, + { + "indexed": False, + "internalType": "bool", + "name": "approved", + "type": "bool", + }, + ], + "name": "ApprovalForAll", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": False, + "internalType": "address", + "name": "account", + "type": "address", + } + ], + "name": "Paused", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "operator", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "from", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "to", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256[]", + "name": "ids", + "type": "uint256[]", + }, + { + "indexed": False, + "internalType": "uint256[]", + "name": "values", + "type": "uint256[]", + }, + ], + "name": "TransferBatch", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "operator", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "from", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "to", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "id", + "type": "uint256", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "value", + "type": "uint256", + }, + ], + "name": "TransferSingle", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": False, + "internalType": "string", + "name": "value", + "type": "string", + }, + { + "indexed": True, + "internalType": "uint256", + "name": "id", + "type": "uint256", + }, + ], + "name": "URI", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": False, + "internalType": "address", + "name": "account", + "type": "address", + } + ], + "name": "Unpaused", + "type": "event", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + {"internalType": "uint256", "name": "id", "type": "uint256"}, + ], + "name": "balanceOf", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "accounts", + "type": "address[]", + }, + {"internalType": "uint256[]", "name": "ids", "type": "uint256[]"}, + ], + "name": "balanceOfBatch", + "outputs": [ + {"internalType": "uint256[]", "name": "", "type": "uint256[]"} + ], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + {"internalType": "address", "name": "operator", "type": "address"}, + ], + "name": "isApprovedForAll", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "paused", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256[]", "name": "ids", "type": "uint256[]"}, + { + "internalType": "uint256[]", + "name": "amounts", + "type": "uint256[]", + }, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "safeBatchTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "id", "type": "uint256"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"}, + {"internalType": "bool", "name": "approved", "type": "bool"}, + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "name": "uri", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + ], + "functions_names": [ + "balanceOf", + "balanceOfBatch", + "isApprovedForAll", + "paused", + "safeBatchTransferFrom", + "safeTransferFrom", + "setApprovalForAll", + "uri", + ], + }, + "bf86c12d": { + "name": "ERC721BurnableMock", + "selector": "bf86c12d", + "abi": [ + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "approve", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"} + ], + "name": "balanceOf", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "exists", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "getApproved", + "outputs": [{"internalType": "address", "name": "", "type": "address"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "address", "name": "operator", "type": "address"}, + ], + "name": "isApprovedForAll", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "name", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "ownerOf", + "outputs": [{"internalType": "address", "name": "", "type": "address"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + {"internalType": "bytes", "name": "_data", "type": "bytes"}, + ], + "name": "safeMint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "safeMint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"}, + {"internalType": "bool", "name": "approved", "type": "bool"}, + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "symbol", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "tokenURI", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + ], + "functions_names": [ + "approve", + "balanceOf", + "burn", + "exists", + "getApproved", + "isApprovedForAll", + "mint", + "name", + "ownerOf", + "safeMint", + "safeMint", + "safeTransferFrom", + "safeTransferFrom", + "setApprovalForAll", + "symbol", + "tokenURI", + "transferFrom", + ], + }, + "2fec9aa3": { + "name": "ERC20VotesComp", + "selector": "2fec9aa3", + "abi": [ + { + "inputs": [], + "name": "DOMAIN_SEPARATOR", + "outputs": [{"internalType": "bytes32", "name": "", "type": "bytes32"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "address", "name": "spender", "type": "address"}, + ], + "name": "allowance", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "approve", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"} + ], + "name": "balanceOf", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + {"internalType": "uint32", "name": "pos", "type": "uint32"}, + ], + "name": "checkpoints", + "outputs": [ + { + "components": [ + { + "internalType": "uint32", + "name": "fromBlock", + "type": "uint32", + }, + { + "internalType": "uint224", + "name": "votes", + "type": "uint224", + }, + ], + "internalType": "struct ERC20Votes.Checkpoint", + "name": "", + "type": "tuple", + } + ], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "decimals", + "outputs": [{"internalType": "uint8", "name": "", "type": "uint8"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "subtractedValue", + "type": "uint256", + }, + ], + "name": "decreaseAllowance", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "delegatee", "type": "address"} + ], + "name": "delegate", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "delegatee", "type": "address"}, + {"internalType": "uint256", "name": "nonce", "type": "uint256"}, + {"internalType": "uint256", "name": "expiry", "type": "uint256"}, + {"internalType": "uint8", "name": "v", "type": "uint8"}, + {"internalType": "bytes32", "name": "r", "type": "bytes32"}, + {"internalType": "bytes32", "name": "s", "type": "bytes32"}, + ], + "name": "delegateBySig", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"} + ], + "name": "delegates", + "outputs": [{"internalType": "address", "name": "", "type": "address"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"} + ], + "name": "getCurrentVotes", + "outputs": [{"internalType": "uint96", "name": "", "type": "uint96"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "blockNumber", + "type": "uint256", + } + ], + "name": "getPastTotalSupply", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + { + "internalType": "uint256", + "name": "blockNumber", + "type": "uint256", + }, + ], + "name": "getPastVotes", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + { + "internalType": "uint256", + "name": "blockNumber", + "type": "uint256", + }, + ], + "name": "getPriorVotes", + "outputs": [{"internalType": "uint96", "name": "", "type": "uint96"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"} + ], + "name": "getVotes", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256", + }, + ], + "name": "increaseAllowance", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "name", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"} + ], + "name": "nonces", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"} + ], + "name": "numCheckpoints", + "outputs": [{"internalType": "uint32", "name": "", "type": "uint32"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "address", "name": "spender", "type": "address"}, + {"internalType": "uint256", "name": "value", "type": "uint256"}, + {"internalType": "uint256", "name": "deadline", "type": "uint256"}, + {"internalType": "uint8", "name": "v", "type": "uint8"}, + {"internalType": "bytes32", "name": "r", "type": "bytes32"}, + {"internalType": "bytes32", "name": "s", "type": "bytes32"}, + ], + "name": "permit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "symbol", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "transfer", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "transferFrom", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + ], + "functions_names": [ + "DOMAIN_SEPARATOR", + "allowance", + "approve", + "balanceOf", + "checkpoints", + "decimals", + "decreaseAllowance", + "delegate", + "delegateBySig", + "delegates", + "getCurrentVotes", + "getPastTotalSupply", + "getPastVotes", + "getPriorVotes", + "getVotes", + "increaseAllowance", + "name", + "nonces", + "numCheckpoints", + "permit", + "symbol", + "totalSupply", + "transfer", + "transferFrom", + ], + }, + "f052c288": { + "name": "ERC4626DecimalMock", + "selector": "f052c288", + "abi": [ + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "address", "name": "spender", "type": "address"}, + ], + "name": "allowance", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "approve", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "asset", + "outputs": [{"internalType": "address", "name": "", "type": "address"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"} + ], + "name": "balanceOf", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "shares", "type": "uint256"} + ], + "name": "convertToAssets", + "outputs": [ + {"internalType": "uint256", "name": "assets", "type": "uint256"} + ], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "assets", "type": "uint256"} + ], + "name": "convertToShares", + "outputs": [ + {"internalType": "uint256", "name": "shares", "type": "uint256"} + ], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "decimals", + "outputs": [{"internalType": "uint8", "name": "", "type": "uint8"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "subtractedValue", + "type": "uint256", + }, + ], + "name": "decreaseAllowance", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "assets", "type": "uint256"}, + {"internalType": "address", "name": "receiver", "type": "address"}, + ], + "name": "deposit", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256", + }, + ], + "name": "increaseAllowance", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [{"internalType": "address", "name": "", "type": "address"}], + "name": "maxDeposit", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [{"internalType": "address", "name": "", "type": "address"}], + "name": "maxMint", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"} + ], + "name": "maxRedeem", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"} + ], + "name": "maxWithdraw", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "shares", "type": "uint256"}, + {"internalType": "address", "name": "receiver", "type": "address"}, + ], + "name": "mint", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "mockBurn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "mockMint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "name", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "assets", "type": "uint256"} + ], + "name": "previewDeposit", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "shares", "type": "uint256"} + ], + "name": "previewMint", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "shares", "type": "uint256"} + ], + "name": "previewRedeem", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "assets", "type": "uint256"} + ], + "name": "previewWithdraw", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "shares", "type": "uint256"}, + {"internalType": "address", "name": "receiver", "type": "address"}, + {"internalType": "address", "name": "owner", "type": "address"}, + ], + "name": "redeem", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "symbol", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "totalAssets", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "transfer", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "transferFrom", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "assets", "type": "uint256"}, + {"internalType": "address", "name": "receiver", "type": "address"}, + {"internalType": "address", "name": "owner", "type": "address"}, + ], + "name": "withdraw", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "nonpayable", + "type": "function", + }, + ], + "functions_names": [ + "allowance", + "approve", + "asset", + "balanceOf", + "convertToAssets", + "convertToShares", + "decimals", + "decreaseAllowance", + "deposit", + "increaseAllowance", + "maxDeposit", + "maxMint", + "maxRedeem", + "maxWithdraw", + "mint", + "mockBurn", + "mockMint", + "name", + "previewDeposit", + "previewMint", + "previewRedeem", + "previewWithdraw", + "redeem", + "symbol", + "totalAssets", + "totalSupply", + "transfer", + "transferFrom", + "withdraw", + ], + }, + "12ab25d7": { + "name": "ERC721Votes", + "selector": "12ab25d7", + "abi": [ + {"inputs": [], "name": "CheckpointUnorderedInsertion", "type": "error"}, + {"inputs": [], "name": "ECDSAInvalidSignature", "type": "error"}, + { + "inputs": [ + {"internalType": "uint256", "name": "length", "type": "uint256"} + ], + "name": "ECDSAInvalidSignatureLength", + "type": "error", + }, + { + "inputs": [{"internalType": "bytes32", "name": "s", "type": "bytes32"}], + "name": "ECDSAInvalidSignatureS", + "type": "error", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "timepoint", "type": "uint256"}, + {"internalType": "uint48", "name": "clock", "type": "uint48"}, + ], + "name": "ERC5805FutureLookup", + "type": "error", + }, + {"inputs": [], "name": "ERC6372InconsistentClock", "type": "error"}, + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + {"internalType": "address", "name": "owner", "type": "address"}, + ], + "name": "ERC721IncorrectOwner", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "ERC721InsufficientApproval", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "approver", "type": "address"} + ], + "name": "ERC721InvalidApprover", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"} + ], + "name": "ERC721InvalidOperator", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"} + ], + "name": "ERC721InvalidOwner", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "receiver", "type": "address"} + ], + "name": "ERC721InvalidReceiver", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"} + ], + "name": "ERC721InvalidSender", + "type": "error", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "ERC721NonexistentToken", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + { + "internalType": "uint256", + "name": "currentNonce", + "type": "uint256", + }, + ], + "name": "InvalidAccountNonce", + "type": "error", + }, + { + "inputs": [ + {"internalType": "uint8", "name": "bits", "type": "uint8"}, + {"internalType": "uint256", "name": "value", "type": "uint256"}, + ], + "name": "SafeCastOverflowedUintDowncast", + "type": "error", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "expiry", "type": "uint256"} + ], + "name": "VotesExpiredSignature", + "type": "error", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "owner", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "approved", + "type": "address", + }, + { + "indexed": True, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256", + }, + ], + "name": "Approval", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "owner", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "operator", + "type": "address", + }, + { + "indexed": False, + "internalType": "bool", + "name": "approved", + "type": "bool", + }, + ], + "name": "ApprovalForAll", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "delegator", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "fromDelegate", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "toDelegate", + "type": "address", + }, + ], + "name": "DelegateChanged", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "delegate", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "previousBalance", + "type": "uint256", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "newBalance", + "type": "uint256", + }, + ], + "name": "DelegateVotesChanged", + "type": "event", + }, + { + "anonymous": False, + "inputs": [], + "name": "EIP712DomainChanged", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "from", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "to", + "type": "address", + }, + { + "indexed": True, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256", + }, + ], + "name": "Transfer", + "type": "event", + }, + { + "inputs": [], + "name": "CLOCK_MODE", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "approve", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"} + ], + "name": "balanceOf", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "clock", + "outputs": [{"internalType": "uint48", "name": "", "type": "uint48"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "delegatee", "type": "address"} + ], + "name": "delegate", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "delegatee", "type": "address"}, + {"internalType": "uint256", "name": "nonce", "type": "uint256"}, + {"internalType": "uint256", "name": "expiry", "type": "uint256"}, + {"internalType": "uint8", "name": "v", "type": "uint8"}, + {"internalType": "bytes32", "name": "r", "type": "bytes32"}, + {"internalType": "bytes32", "name": "s", "type": "bytes32"}, + ], + "name": "delegateBySig", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"} + ], + "name": "delegates", + "outputs": [{"internalType": "address", "name": "", "type": "address"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "eip712Domain", + "outputs": [ + {"internalType": "bytes1", "name": "fields", "type": "bytes1"}, + {"internalType": "string", "name": "name", "type": "string"}, + {"internalType": "string", "name": "version", "type": "string"}, + {"internalType": "uint256", "name": "chainId", "type": "uint256"}, + { + "internalType": "address", + "name": "verifyingContract", + "type": "address", + }, + {"internalType": "bytes32", "name": "salt", "type": "bytes32"}, + { + "internalType": "uint256[]", + "name": "extensions", + "type": "uint256[]", + }, + ], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "getApproved", + "outputs": [{"internalType": "address", "name": "", "type": "address"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "timepoint", "type": "uint256"} + ], + "name": "getPastTotalSupply", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + {"internalType": "uint256", "name": "timepoint", "type": "uint256"}, + ], + "name": "getPastVotes", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"} + ], + "name": "getVotes", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "address", "name": "operator", "type": "address"}, + ], + "name": "isApprovedForAll", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "name", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"} + ], + "name": "nonces", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "ownerOf", + "outputs": [{"internalType": "address", "name": "", "type": "address"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"}, + {"internalType": "bool", "name": "approved", "type": "bool"}, + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "symbol", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "tokenURI", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + ], + "functions_names": [ + "CLOCK_MODE", + "approve", + "balanceOf", + "clock", + "delegate", + "delegateBySig", + "delegates", + "eip712Domain", + "getApproved", + "getPastTotalSupply", + "getPastVotes", + "getVotes", + "isApprovedForAll", + "name", + "nonces", + "ownerOf", + "safeTransferFrom", + "safeTransferFrom", + "setApprovalForAll", + "symbol", + "tokenURI", + "transferFrom", + ], + }, + "8e0a4fe1": { + "name": "ERC721URIStorageMock", + "selector": "8e0a4fe1", + "abi": [ + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + {"internalType": "address", "name": "owner", "type": "address"}, + ], + "name": "ERC721IncorrectOwner", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "ERC721InsufficientApproval", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "approver", "type": "address"} + ], + "name": "ERC721InvalidApprover", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"} + ], + "name": "ERC721InvalidOperator", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"} + ], + "name": "ERC721InvalidOwner", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "receiver", "type": "address"} + ], + "name": "ERC721InvalidReceiver", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"} + ], + "name": "ERC721InvalidSender", + "type": "error", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "ERC721NonexistentToken", + "type": "error", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "owner", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "approved", + "type": "address", + }, + { + "indexed": True, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256", + }, + ], + "name": "Approval", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "owner", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "operator", + "type": "address", + }, + { + "indexed": False, + "internalType": "bool", + "name": "approved", + "type": "bool", + }, + ], + "name": "ApprovalForAll", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": False, + "internalType": "uint256", + "name": "_fromTokenId", + "type": "uint256", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "_toTokenId", + "type": "uint256", + }, + ], + "name": "BatchMetadataUpdate", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": False, + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256", + } + ], + "name": "MetadataUpdate", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "from", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "to", + "type": "address", + }, + { + "indexed": True, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256", + }, + ], + "name": "Transfer", + "type": "event", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "approve", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"} + ], + "name": "balanceOf", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "getApproved", + "outputs": [{"internalType": "address", "name": "", "type": "address"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "address", "name": "operator", "type": "address"}, + ], + "name": "isApprovedForAll", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "name", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "ownerOf", + "outputs": [{"internalType": "address", "name": "", "type": "address"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"}, + {"internalType": "bool", "name": "approved", "type": "bool"}, + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + { + "internalType": "string", + "name": "newBaseTokenURI", + "type": "string", + } + ], + "name": "setBaseURI", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "symbol", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "tokenURI", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + ], + "functions_names": [ + "approve", + "balanceOf", + "getApproved", + "isApprovedForAll", + "name", + "ownerOf", + "safeTransferFrom", + "safeTransferFrom", + "setApprovalForAll", + "setBaseURI", + "symbol", + "tokenURI", + "transferFrom", + ], + }, + "1626ba7e": { + "name": "ERC1271MaliciousMock", + "selector": "1626ba7e", + "abi": [ + { + "inputs": [ + {"internalType": "bytes32", "name": "", "type": "bytes32"}, + {"internalType": "bytes", "name": "", "type": "bytes"}, + ], + "name": "isValidSignature", + "outputs": [{"internalType": "bytes4", "name": "", "type": "bytes4"}], + "stateMutability": "pure", + "type": "function", + } + ], + "functions_names": ["isValidSignature"], + }, + "fe733816": { + "name": "ERC721EnumerableMock", + "selector": "fe733816", + "abi": [ + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "approve", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"} + ], + "name": "balanceOf", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "baseURI", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "exists", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "getApproved", + "outputs": [{"internalType": "address", "name": "", "type": "address"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "address", "name": "operator", "type": "address"}, + ], + "name": "isApprovedForAll", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "name", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "ownerOf", + "outputs": [{"internalType": "address", "name": "", "type": "address"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + {"internalType": "bytes", "name": "_data", "type": "bytes"}, + ], + "name": "safeMint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "safeMint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"}, + {"internalType": "bool", "name": "approved", "type": "bool"}, + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + { + "internalType": "string", + "name": "newBaseTokenURI", + "type": "string", + } + ], + "name": "setBaseURI", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "symbol", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "index", "type": "uint256"} + ], + "name": "tokenByIndex", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "uint256", "name": "index", "type": "uint256"}, + ], + "name": "tokenOfOwnerByIndex", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "tokenURI", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + ], + "functions_names": [ + "approve", + "balanceOf", + "baseURI", + "burn", + "exists", + "getApproved", + "isApprovedForAll", + "mint", + "name", + "ownerOf", + "safeMint", + "safeMint", + "safeTransferFrom", + "safeTransferFrom", + "setApprovalForAll", + "setBaseURI", + "symbol", + "tokenByIndex", + "tokenOfOwnerByIndex", + "tokenURI", + "totalSupply", + "transferFrom", + ], + }, + "65289bcd": { + "name": "ERC20ReturnTrueMock", + "selector": "65289bcd", + "abi": [ + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "address", "name": "", "type": "address"}, + ], + "name": "allowance", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "", "type": "address"}, + {"internalType": "uint256", "name": "", "type": "uint256"}, + ], + "name": "approve", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "allowance_", "type": "uint256"} + ], + "name": "setAllowance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "", "type": "address"}, + {"internalType": "uint256", "name": "", "type": "uint256"}, + ], + "name": "transfer", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "", "type": "address"}, + {"internalType": "address", "name": "", "type": "address"}, + {"internalType": "uint256", "name": "", "type": "uint256"}, + ], + "name": "transferFrom", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + ], + "functions_names": [ + "allowance", + "approve", + "setAllowance", + "transfer", + "transferFrom", + ], + }, + "690aaefd": { + "name": "ERC20Wrapper", + "selector": "690aaefd", + "abi": [ + { + "inputs": [ + {"internalType": "address", "name": "target", "type": "address"} + ], + "name": "AddressEmptyCode", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"} + ], + "name": "AddressInsufficientBalance", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "currentAllowance", + "type": "uint256", + }, + { + "internalType": "uint256", + "name": "requestedDecrease", + "type": "uint256", + }, + ], + "name": "ERC20FailedDecreaseAllowance", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + {"internalType": "uint256", "name": "allowance", "type": "uint256"}, + {"internalType": "uint256", "name": "needed", "type": "uint256"}, + ], + "name": "ERC20InsufficientAllowance", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"}, + {"internalType": "uint256", "name": "balance", "type": "uint256"}, + {"internalType": "uint256", "name": "needed", "type": "uint256"}, + ], + "name": "ERC20InsufficientBalance", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "approver", "type": "address"} + ], + "name": "ERC20InvalidApprover", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "receiver", "type": "address"} + ], + "name": "ERC20InvalidReceiver", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"} + ], + "name": "ERC20InvalidSender", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"} + ], + "name": "ERC20InvalidSpender", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "token", "type": "address"} + ], + "name": "ERC20InvalidUnderlying", + "type": "error", + }, + {"inputs": [], "name": "FailedInnerCall", "type": "error"}, + { + "inputs": [ + {"internalType": "address", "name": "token", "type": "address"} + ], + "name": "SafeERC20FailedOperation", + "type": "error", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "owner", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "spender", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "value", + "type": "uint256", + }, + ], + "name": "Approval", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "from", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "to", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "value", + "type": "uint256", + }, + ], + "name": "Transfer", + "type": "event", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "address", "name": "spender", "type": "address"}, + ], + "name": "allowance", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "approve", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"} + ], + "name": "balanceOf", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "decimals", + "outputs": [{"internalType": "uint8", "name": "", "type": "uint8"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "requestedDecrease", + "type": "uint256", + }, + ], + "name": "decreaseAllowance", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "depositFor", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256", + }, + ], + "name": "increaseAllowance", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "name", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "symbol", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "transfer", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "transferFrom", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "underlying", + "outputs": [ + {"internalType": "contract IERC20", "name": "", "type": "address"} + ], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "withdrawTo", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + ], + "functions_names": [ + "allowance", + "approve", + "balanceOf", + "decimals", + "decreaseAllowance", + "depositFor", + "increaseAllowance", + "name", + "symbol", + "totalSupply", + "transfer", + "transferFrom", + "underlying", + "withdrawTo", + ], + }, + "01ffc9a7": { + "name": "ERC165MissingData", + "selector": "01ffc9a7", + "abi": [ + { + "inputs": [ + {"internalType": "bytes4", "name": "interfaceId", "type": "bytes4"} + ], + "name": "supportsInterface", + "outputs": [], + "stateMutability": "view", + "type": "function", + } + ], + "functions_names": ["supportsInterface"], + }, + "3273d15c": { + "name": "ERC20PresetFixedSupply", + "selector": "3273d15c", + "abi": [ + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "address", "name": "spender", "type": "address"}, + ], + "name": "allowance", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "approve", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"} + ], + "name": "balanceOf", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "amount", "type": "uint256"} + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "burnFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "decimals", + "outputs": [{"internalType": "uint8", "name": "", "type": "uint8"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "subtractedValue", + "type": "uint256", + }, + ], + "name": "decreaseAllowance", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256", + }, + ], + "name": "increaseAllowance", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "name", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "symbol", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "transfer", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "transferFrom", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + ], + "functions_names": [ + "allowance", + "approve", + "balanceOf", + "burn", + "burnFrom", + "decimals", + "decreaseAllowance", + "increaseAllowance", + "name", + "symbol", + "totalSupply", + "transfer", + "transferFrom", + ], + }, + "71aa57a7": { + "name": "ERC1820ImplementerMock", + "selector": "71aa57a7", + "abi": [ + { + "inputs": [ + { + "internalType": "bytes32", + "name": "interfaceHash", + "type": "bytes32", + }, + {"internalType": "address", "name": "account", "type": "address"}, + ], + "name": "canImplementInterfaceForAddress", + "outputs": [{"internalType": "bytes32", "name": "", "type": "bytes32"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "interfaceHash", + "type": "bytes32", + }, + {"internalType": "address", "name": "account", "type": "address"}, + ], + "name": "registerInterfaceForAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + ], + "functions_names": [ + "canImplementInterfaceForAddress", + "registerInterfaceForAddress", + ], + }, + "2f33d60e": { + "name": "ERC20FlashMintMock", + "selector": "2f33d60e", + "abi": [ + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "currentAllowance", + "type": "uint256", + }, + { + "internalType": "uint256", + "name": "requestedDecrease", + "type": "uint256", + }, + ], + "name": "ERC20FailedDecreaseAllowance", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + {"internalType": "uint256", "name": "allowance", "type": "uint256"}, + {"internalType": "uint256", "name": "needed", "type": "uint256"}, + ], + "name": "ERC20InsufficientAllowance", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"}, + {"internalType": "uint256", "name": "balance", "type": "uint256"}, + {"internalType": "uint256", "name": "needed", "type": "uint256"}, + ], + "name": "ERC20InsufficientBalance", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "approver", "type": "address"} + ], + "name": "ERC20InvalidApprover", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "receiver", "type": "address"} + ], + "name": "ERC20InvalidReceiver", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"} + ], + "name": "ERC20InvalidSender", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"} + ], + "name": "ERC20InvalidSpender", + "type": "error", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "maxLoan", "type": "uint256"} + ], + "name": "ERC3156ExceededMaxLoan", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "receiver", "type": "address"} + ], + "name": "ERC3156InvalidReceiver", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "token", "type": "address"} + ], + "name": "ERC3156UnsupportedToken", + "type": "error", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "owner", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "spender", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "value", + "type": "uint256", + }, + ], + "name": "Approval", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "from", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "to", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "value", + "type": "uint256", + }, + ], + "name": "Transfer", + "type": "event", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "address", "name": "spender", "type": "address"}, + ], + "name": "allowance", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "approve", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"} + ], + "name": "balanceOf", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "decimals", + "outputs": [{"internalType": "uint8", "name": "", "type": "uint8"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "requestedDecrease", + "type": "uint256", + }, + ], + "name": "decreaseAllowance", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "token", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "flashFee", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + { + "internalType": "contract IERC3156FlashBorrower", + "name": "receiver", + "type": "address", + }, + {"internalType": "address", "name": "token", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "flashLoan", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256", + }, + ], + "name": "increaseAllowance", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "token", "type": "address"} + ], + "name": "maxFlashLoan", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "name", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "amount", "type": "uint256"} + ], + "name": "setFlashFee", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "receiver", "type": "address"} + ], + "name": "setFlashFeeReceiver", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "symbol", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "transfer", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "transferFrom", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + ], + "functions_names": [ + "allowance", + "approve", + "balanceOf", + "decimals", + "decreaseAllowance", + "flashFee", + "flashLoan", + "increaseAllowance", + "maxFlashLoan", + "name", + "setFlashFee", + "setFlashFeeReceiver", + "symbol", + "totalSupply", + "transfer", + "transferFrom", + ], + }, + "d73f4e3a": { + "name": "ERC1155URIStorage", + "selector": "d73f4e3a", + "abi": [ + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"}, + {"internalType": "address", "name": "owner", "type": "address"}, + ], + "name": "ERC1155InsufficientApprovalForAll", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"}, + {"internalType": "uint256", "name": "balance", "type": "uint256"}, + {"internalType": "uint256", "name": "needed", "type": "uint256"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "ERC1155InsufficientBalance", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "approver", "type": "address"} + ], + "name": "ERC1155InvalidApprover", + "type": "error", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "idsLength", "type": "uint256"}, + { + "internalType": "uint256", + "name": "valuesLength", + "type": "uint256", + }, + ], + "name": "ERC1155InvalidArrayLength", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"} + ], + "name": "ERC1155InvalidOperator", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "receiver", "type": "address"} + ], + "name": "ERC1155InvalidReceiver", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"} + ], + "name": "ERC1155InvalidSender", + "type": "error", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "account", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "operator", + "type": "address", + }, + { + "indexed": False, + "internalType": "bool", + "name": "approved", + "type": "bool", + }, + ], + "name": "ApprovalForAll", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "operator", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "from", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "to", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256[]", + "name": "ids", + "type": "uint256[]", + }, + { + "indexed": False, + "internalType": "uint256[]", + "name": "values", + "type": "uint256[]", + }, + ], + "name": "TransferBatch", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "operator", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "from", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "to", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "id", + "type": "uint256", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "value", + "type": "uint256", + }, + ], + "name": "TransferSingle", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": False, + "internalType": "string", + "name": "value", + "type": "string", + }, + { + "indexed": True, + "internalType": "uint256", + "name": "id", + "type": "uint256", + }, + ], + "name": "URI", + "type": "event", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + {"internalType": "uint256", "name": "id", "type": "uint256"}, + ], + "name": "balanceOf", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "accounts", + "type": "address[]", + }, + {"internalType": "uint256[]", "name": "ids", "type": "uint256[]"}, + ], + "name": "balanceOfBatch", + "outputs": [ + {"internalType": "uint256[]", "name": "", "type": "uint256[]"} + ], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + {"internalType": "address", "name": "operator", "type": "address"}, + ], + "name": "isApprovedForAll", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256[]", "name": "ids", "type": "uint256[]"}, + { + "internalType": "uint256[]", + "name": "amounts", + "type": "uint256[]", + }, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "safeBatchTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "id", "type": "uint256"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"}, + {"internalType": "bool", "name": "approved", "type": "bool"}, + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "uri", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + ], + "functions_names": [ + "balanceOf", + "balanceOfBatch", + "isApprovedForAll", + "safeBatchTransferFrom", + "safeTransferFrom", + "setApprovalForAll", + "uri", + ], + }, + "d385a1c6": { + "name": "ERC721Mock", + "selector": "d385a1c6", + "abi": [ + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "approve", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"} + ], + "name": "balanceOf", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "baseURI", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "exists", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "getApproved", + "outputs": [{"internalType": "address", "name": "", "type": "address"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "address", "name": "operator", "type": "address"}, + ], + "name": "isApprovedForAll", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "name", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "ownerOf", + "outputs": [{"internalType": "address", "name": "", "type": "address"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + {"internalType": "bytes", "name": "_data", "type": "bytes"}, + ], + "name": "safeMint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "safeMint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"}, + {"internalType": "bool", "name": "approved", "type": "bool"}, + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "symbol", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "tokenURI", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + ], + "functions_names": [ + "approve", + "balanceOf", + "baseURI", + "burn", + "exists", + "getApproved", + "isApprovedForAll", + "mint", + "name", + "ownerOf", + "safeMint", + "safeMint", + "safeTransferFrom", + "safeTransferFrom", + "setApprovalForAll", + "symbol", + "tokenURI", + "transferFrom", + ], + }, + "d9b67a26": { + "name": "IERC1155", + "selector": "d9b67a26", + "abi": [ + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "account", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "operator", + "type": "address", + }, + { + "indexed": False, + "internalType": "bool", + "name": "approved", + "type": "bool", + }, + ], + "name": "ApprovalForAll", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "operator", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "from", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "to", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256[]", + "name": "ids", + "type": "uint256[]", + }, + { + "indexed": False, + "internalType": "uint256[]", + "name": "values", + "type": "uint256[]", + }, + ], + "name": "TransferBatch", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "operator", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "from", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "to", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "id", + "type": "uint256", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "value", + "type": "uint256", + }, + ], + "name": "TransferSingle", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": False, + "internalType": "string", + "name": "value", + "type": "string", + }, + { + "indexed": True, + "internalType": "uint256", + "name": "id", + "type": "uint256", + }, + ], + "name": "URI", + "type": "event", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + {"internalType": "uint256", "name": "id", "type": "uint256"}, + ], + "name": "balanceOf", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "accounts", + "type": "address[]", + }, + {"internalType": "uint256[]", "name": "ids", "type": "uint256[]"}, + ], + "name": "balanceOfBatch", + "outputs": [ + {"internalType": "uint256[]", "name": "", "type": "uint256[]"} + ], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + {"internalType": "address", "name": "operator", "type": "address"}, + ], + "name": "isApprovedForAll", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256[]", "name": "ids", "type": "uint256[]"}, + { + "internalType": "uint256[]", + "name": "amounts", + "type": "uint256[]", + }, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "safeBatchTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "id", "type": "uint256"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"}, + {"internalType": "bool", "name": "approved", "type": "bool"}, + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + ], + "functions_names": [ + "balanceOf", + "balanceOfBatch", + "isApprovedForAll", + "safeBatchTransferFrom", + "safeTransferFrom", + "setApprovalForAll", + ], + }, + "23e30c8b": { + "name": "ERC3156FlashBorrowerMock", + "selector": "23e30c8b", + "abi": [ + { + "inputs": [ + {"internalType": "bool", "name": "enableReturn", "type": "bool"}, + {"internalType": "bool", "name": "enableApprove", "type": "bool"}, + ], + "stateMutability": "nonpayable", + "type": "constructor", + }, + { + "inputs": [ + {"internalType": "address", "name": "target", "type": "address"} + ], + "name": "AddressEmptyCode", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"} + ], + "name": "AddressInsufficientBalance", + "type": "error", + }, + {"inputs": [], "name": "FailedInnerCall", "type": "error"}, + { + "anonymous": False, + "inputs": [ + { + "indexed": False, + "internalType": "address", + "name": "token", + "type": "address", + }, + { + "indexed": False, + "internalType": "address", + "name": "account", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "value", + "type": "uint256", + }, + ], + "name": "BalanceOf", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": False, + "internalType": "address", + "name": "token", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "value", + "type": "uint256", + }, + ], + "name": "TotalSupply", + "type": "event", + }, + { + "inputs": [ + {"internalType": "address", "name": "", "type": "address"}, + {"internalType": "address", "name": "token", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + {"internalType": "uint256", "name": "fee", "type": "uint256"}, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "onFlashLoan", + "outputs": [{"internalType": "bytes32", "name": "", "type": "bytes32"}], + "stateMutability": "nonpayable", + "type": "function", + }, + ], + "functions_names": ["onFlashLoan"], + }, + "84b0196e": { + "name": "IERC5267", + "selector": "84b0196e", + "abi": [ + { + "anonymous": False, + "inputs": [], + "name": "EIP712DomainChanged", + "type": "event", + }, + { + "inputs": [], + "name": "eip712Domain", + "outputs": [ + {"internalType": "bytes1", "name": "fields", "type": "bytes1"}, + {"internalType": "string", "name": "name", "type": "string"}, + {"internalType": "string", "name": "version", "type": "string"}, + {"internalType": "uint256", "name": "chainId", "type": "uint256"}, + { + "internalType": "address", + "name": "verifyingContract", + "type": "address", + }, + {"internalType": "bytes32", "name": "salt", "type": "bytes32"}, + { + "internalType": "uint256[]", + "name": "extensions", + "type": "uint256[]", + }, + ], + "stateMutability": "view", + "type": "function", + }, + ], + "functions_names": ["eip712Domain"], + }, + "2a55205a": { + "name": "ERC2981", + "selector": "2a55205a", + "abi": [ + { + "inputs": [ + {"internalType": "uint256", "name": "numerator", "type": "uint256"}, + { + "internalType": "uint256", + "name": "denominator", + "type": "uint256", + }, + ], + "name": "ERC2981InvalidDefaultRoyalty", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "receiver", "type": "address"} + ], + "name": "ERC2981InvalidDefaultRoyaltyReceiver", + "type": "error", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + {"internalType": "uint256", "name": "numerator", "type": "uint256"}, + { + "internalType": "uint256", + "name": "denominator", + "type": "uint256", + }, + ], + "name": "ERC2981InvalidTokenRoyalty", + "type": "error", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + {"internalType": "address", "name": "receiver", "type": "address"}, + ], + "name": "ERC2981InvalidTokenRoyaltyReceiver", + "type": "error", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + {"internalType": "uint256", "name": "salePrice", "type": "uint256"}, + ], + "name": "royaltyInfo", + "outputs": [ + {"internalType": "address", "name": "", "type": "address"}, + {"internalType": "uint256", "name": "", "type": "uint256"}, + ], + "stateMutability": "view", + "type": "function", + }, + ], + "functions_names": ["royaltyInfo"], + }, + "0929daa4": { + "name": "ERC20ReturnFalseMock", + "selector": "0929daa4", + "abi": [ + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "currentAllowance", + "type": "uint256", + }, + { + "internalType": "uint256", + "name": "requestedDecrease", + "type": "uint256", + }, + ], + "name": "ERC20FailedDecreaseAllowance", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + {"internalType": "uint256", "name": "allowance", "type": "uint256"}, + {"internalType": "uint256", "name": "needed", "type": "uint256"}, + ], + "name": "ERC20InsufficientAllowance", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"}, + {"internalType": "uint256", "name": "balance", "type": "uint256"}, + {"internalType": "uint256", "name": "needed", "type": "uint256"}, + ], + "name": "ERC20InsufficientBalance", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "approver", "type": "address"} + ], + "name": "ERC20InvalidApprover", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "receiver", "type": "address"} + ], + "name": "ERC20InvalidReceiver", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"} + ], + "name": "ERC20InvalidSender", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"} + ], + "name": "ERC20InvalidSpender", + "type": "error", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "owner", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "spender", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "value", + "type": "uint256", + }, + ], + "name": "Approval", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "from", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "to", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "value", + "type": "uint256", + }, + ], + "name": "Transfer", + "type": "event", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "address", "name": "spender", "type": "address"}, + ], + "name": "allowance", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "", "type": "address"}, + {"internalType": "uint256", "name": "", "type": "uint256"}, + ], + "name": "approve", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "pure", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"} + ], + "name": "balanceOf", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "decimals", + "outputs": [{"internalType": "uint8", "name": "", "type": "uint8"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "requestedDecrease", + "type": "uint256", + }, + ], + "name": "decreaseAllowance", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256", + }, + ], + "name": "increaseAllowance", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "name", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "symbol", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "", "type": "address"}, + {"internalType": "uint256", "name": "", "type": "uint256"}, + ], + "name": "transfer", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "pure", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "", "type": "address"}, + {"internalType": "address", "name": "", "type": "address"}, + {"internalType": "uint256", "name": "", "type": "uint256"}, + ], + "name": "transferFrom", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "pure", + "type": "function", + }, + ], + "functions_names": [ + "allowance", + "approve", + "balanceOf", + "decimals", + "decreaseAllowance", + "increaseAllowance", + "name", + "symbol", + "totalSupply", + "transfer", + "transferFrom", + ], + }, + "9d8ff7da": { + "name": "IERC2612", + "selector": "9d8ff7da", + "abi": [ + { + "inputs": [], + "name": "DOMAIN_SEPARATOR", + "outputs": [{"internalType": "bytes32", "name": "", "type": "bytes32"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"} + ], + "name": "nonces", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "address", "name": "spender", "type": "address"}, + {"internalType": "uint256", "name": "value", "type": "uint256"}, + {"internalType": "uint256", "name": "deadline", "type": "uint256"}, + {"internalType": "uint8", "name": "v", "type": "uint8"}, + {"internalType": "bytes32", "name": "r", "type": "bytes32"}, + {"internalType": "bytes32", "name": "s", "type": "bytes32"}, + ], + "name": "permit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + ], + "functions_names": ["DOMAIN_SEPARATOR", "nonces", "permit"], + }, + "8a3350b0": { + "name": "ERC777", + "selector": "8a3350b0", + "abi": [ + { + "inputs": [ + {"internalType": "address", "name": "holder", "type": "address"}, + {"internalType": "address", "name": "spender", "type": "address"}, + ], + "name": "allowance", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + {"internalType": "uint256", "name": "value", "type": "uint256"}, + ], + "name": "approve", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"} + ], + "name": "authorizeOperator", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + { + "internalType": "address", + "name": "tokenHolder", + "type": "address", + } + ], + "name": "balanceOf", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "decimals", + "outputs": [{"internalType": "uint8", "name": "", "type": "uint8"}], + "stateMutability": "pure", + "type": "function", + }, + { + "inputs": [], + "name": "defaultOperators", + "outputs": [ + {"internalType": "address[]", "name": "", "type": "address[]"} + ], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "granularity", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"}, + { + "internalType": "address", + "name": "tokenHolder", + "type": "address", + }, + ], + "name": "isOperatorFor", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "name", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + {"internalType": "bytes", "name": "operatorData", "type": "bytes"}, + ], + "name": "operatorBurn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"}, + {"internalType": "address", "name": "recipient", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + {"internalType": "bytes", "name": "operatorData", "type": "bytes"}, + ], + "name": "operatorSend", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"} + ], + "name": "revokeOperator", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "recipient", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "send", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "symbol", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "recipient", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "transfer", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "holder", "type": "address"}, + {"internalType": "address", "name": "recipient", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "transferFrom", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + ], + "functions_names": [ + "allowance", + "approve", + "authorizeOperator", + "balanceOf", + "burn", + "decimals", + "defaultOperators", + "granularity", + "isOperatorFor", + "name", + "operatorBurn", + "operatorSend", + "revokeOperator", + "send", + "symbol", + "totalSupply", + "transfer", + "transferFrom", + ], + }, + "88cc3f92": { + "name": "ERC721VotesMock", + "selector": "88cc3f92", + "abi": [ + { + "inputs": [], + "name": "DOMAIN_SEPARATOR", + "outputs": [{"internalType": "bytes32", "name": "", "type": "bytes32"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "approve", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"} + ], + "name": "balanceOf", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "delegatee", "type": "address"} + ], + "name": "delegate", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "delegatee", "type": "address"}, + {"internalType": "uint256", "name": "nonce", "type": "uint256"}, + {"internalType": "uint256", "name": "expiry", "type": "uint256"}, + {"internalType": "uint8", "name": "v", "type": "uint8"}, + {"internalType": "bytes32", "name": "r", "type": "bytes32"}, + {"internalType": "bytes32", "name": "s", "type": "bytes32"}, + ], + "name": "delegateBySig", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"} + ], + "name": "delegates", + "outputs": [{"internalType": "address", "name": "", "type": "address"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "getApproved", + "outputs": [{"internalType": "address", "name": "", "type": "address"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "getChainId", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "blockNumber", + "type": "uint256", + } + ], + "name": "getPastTotalSupply", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + { + "internalType": "uint256", + "name": "blockNumber", + "type": "uint256", + }, + ], + "name": "getPastVotes", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "getTotalSupply", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"} + ], + "name": "getVotes", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "address", "name": "operator", "type": "address"}, + ], + "name": "isApprovedForAll", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "name", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"} + ], + "name": "nonces", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "ownerOf", + "outputs": [{"internalType": "address", "name": "", "type": "address"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"}, + {"internalType": "bool", "name": "approved", "type": "bool"}, + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "symbol", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "tokenURI", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + ], + "functions_names": [ + "DOMAIN_SEPARATOR", + "approve", + "balanceOf", + "burn", + "delegate", + "delegateBySig", + "delegates", + "getApproved", + "getChainId", + "getPastTotalSupply", + "getPastVotes", + "getTotalSupply", + "getVotes", + "isApprovedForAll", + "mint", + "name", + "nonces", + "ownerOf", + "safeTransferFrom", + "safeTransferFrom", + "setApprovalForAll", + "symbol", + "tokenURI", + "transferFrom", + ], + }, + "3528c9cb": { + "name": "ERC165InterfacesSupported", + "selector": "3528c9cb", + "abi": [ + { + "inputs": [ + { + "internalType": "bytes4[]", + "name": "interfaceIds", + "type": "bytes4[]", + } + ], + "stateMutability": "nonpayable", + "type": "constructor", + }, + { + "inputs": [], + "name": "INTERFACE_ID_ERC165", + "outputs": [{"internalType": "bytes4", "name": "", "type": "bytes4"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "bytes4", "name": "interfaceId", "type": "bytes4"} + ], + "name": "supportsInterface", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "view", + "type": "function", + }, + ], + "functions_names": ["INTERFACE_ID_ERC165", "supportsInterface"], + }, + "9964273a": { + "name": "ERC721Burnable", + "selector": "9964273a", + "abi": [ + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + {"internalType": "address", "name": "owner", "type": "address"}, + ], + "name": "ERC721IncorrectOwner", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "ERC721InsufficientApproval", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "approver", "type": "address"} + ], + "name": "ERC721InvalidApprover", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"} + ], + "name": "ERC721InvalidOperator", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"} + ], + "name": "ERC721InvalidOwner", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "receiver", "type": "address"} + ], + "name": "ERC721InvalidReceiver", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"} + ], + "name": "ERC721InvalidSender", + "type": "error", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "ERC721NonexistentToken", + "type": "error", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "owner", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "approved", + "type": "address", + }, + { + "indexed": True, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256", + }, + ], + "name": "Approval", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "owner", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "operator", + "type": "address", + }, + { + "indexed": False, + "internalType": "bool", + "name": "approved", + "type": "bool", + }, + ], + "name": "ApprovalForAll", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "from", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "to", + "type": "address", + }, + { + "indexed": True, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256", + }, + ], + "name": "Transfer", + "type": "event", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "approve", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"} + ], + "name": "balanceOf", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "getApproved", + "outputs": [{"internalType": "address", "name": "", "type": "address"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "address", "name": "operator", "type": "address"}, + ], + "name": "isApprovedForAll", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "name", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "ownerOf", + "outputs": [{"internalType": "address", "name": "", "type": "address"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"}, + {"internalType": "bool", "name": "approved", "type": "bool"}, + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "symbol", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "tokenURI", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + ], + "functions_names": [ + "approve", + "balanceOf", + "burn", + "getApproved", + "isApprovedForAll", + "name", + "ownerOf", + "safeTransferFrom", + "safeTransferFrom", + "setApprovalForAll", + "symbol", + "tokenURI", + "transferFrom", + ], + }, + "b7774ea0": { + "name": "ERC2771ContextMock", + "selector": "b7774ea0", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "trustedForwarder", + "type": "address", + } + ], + "stateMutability": "nonpayable", + "type": "constructor", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": False, + "internalType": "bytes", + "name": "data", + "type": "bytes", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "integerValue", + "type": "uint256", + }, + { + "indexed": False, + "internalType": "string", + "name": "stringValue", + "type": "string", + }, + ], + "name": "Data", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": False, + "internalType": "address", + "name": "sender", + "type": "address", + } + ], + "name": "Sender", + "type": "event", + }, + { + "inputs": [ + {"internalType": "address", "name": "forwarder", "type": "address"} + ], + "name": "isTrustedForwarder", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "integerValue", + "type": "uint256", + }, + {"internalType": "string", "name": "stringValue", "type": "string"}, + ], + "name": "msgData", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "msgSender", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + ], + "functions_names": ["isTrustedForwarder", "msgData", "msgSender"], + }, + "876511e9": { + "name": "ERC721Pausable", + "selector": "876511e9", + "abi": [ + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + {"internalType": "address", "name": "owner", "type": "address"}, + ], + "name": "ERC721IncorrectOwner", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "ERC721InsufficientApproval", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "approver", "type": "address"} + ], + "name": "ERC721InvalidApprover", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"} + ], + "name": "ERC721InvalidOperator", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"} + ], + "name": "ERC721InvalidOwner", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "receiver", "type": "address"} + ], + "name": "ERC721InvalidReceiver", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"} + ], + "name": "ERC721InvalidSender", + "type": "error", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "ERC721NonexistentToken", + "type": "error", + }, + {"inputs": [], "name": "EnforcedPause", "type": "error"}, + {"inputs": [], "name": "ExpectedPause", "type": "error"}, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "owner", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "approved", + "type": "address", + }, + { + "indexed": True, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256", + }, + ], + "name": "Approval", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "owner", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "operator", + "type": "address", + }, + { + "indexed": False, + "internalType": "bool", + "name": "approved", + "type": "bool", + }, + ], + "name": "ApprovalForAll", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": False, + "internalType": "address", + "name": "account", + "type": "address", + } + ], + "name": "Paused", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "from", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "to", + "type": "address", + }, + { + "indexed": True, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256", + }, + ], + "name": "Transfer", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": False, + "internalType": "address", + "name": "account", + "type": "address", + } + ], + "name": "Unpaused", + "type": "event", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "approve", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"} + ], + "name": "balanceOf", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "getApproved", + "outputs": [{"internalType": "address", "name": "", "type": "address"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "address", "name": "operator", "type": "address"}, + ], + "name": "isApprovedForAll", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "name", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "ownerOf", + "outputs": [{"internalType": "address", "name": "", "type": "address"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "paused", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"}, + {"internalType": "bool", "name": "approved", "type": "bool"}, + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "symbol", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "tokenURI", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + ], + "functions_names": [ + "approve", + "balanceOf", + "getApproved", + "isApprovedForAll", + "name", + "ownerOf", + "paused", + "safeTransferFrom", + "safeTransferFrom", + "setApprovalForAll", + "symbol", + "tokenURI", + "transferFrom", + ], + }, + "2a55205a": { + "name": "IERC2981", + "selector": "2a55205a", + "abi": [ + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + {"internalType": "uint256", "name": "salePrice", "type": "uint256"}, + ], + "name": "royaltyInfo", + "outputs": [ + {"internalType": "address", "name": "receiver", "type": "address"}, + { + "internalType": "uint256", + "name": "royaltyAmount", + "type": "uint256", + }, + ], + "stateMutability": "view", + "type": "function", + } + ], + "functions_names": ["royaltyInfo"], + }, + "01ffc9a7": { + "name": "ERC165ReturnBombMock", + "selector": "01ffc9a7", + "abi": [ + { + "inputs": [ + {"internalType": "bytes4", "name": "interfaceId", "type": "bytes4"} + ], + "name": "supportsInterface", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "pure", + "type": "function", + } + ], + "functions_names": ["supportsInterface"], + }, + "5ead35bc": { + "name": "ERC20VotesTimestampMock", + "selector": "5ead35bc", + "abi": [ + {"inputs": [], "name": "CheckpointUnorderedInsertion", "type": "error"}, + {"inputs": [], "name": "ECDSAInvalidSignature", "type": "error"}, + { + "inputs": [ + {"internalType": "uint256", "name": "length", "type": "uint256"} + ], + "name": "ECDSAInvalidSignatureLength", + "type": "error", + }, + { + "inputs": [{"internalType": "bytes32", "name": "s", "type": "bytes32"}], + "name": "ECDSAInvalidSignatureS", + "type": "error", + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "increasedSupply", + "type": "uint256", + }, + {"internalType": "uint256", "name": "cap", "type": "uint256"}, + ], + "name": "ERC20ExceededSafeSupply", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "currentAllowance", + "type": "uint256", + }, + { + "internalType": "uint256", + "name": "requestedDecrease", + "type": "uint256", + }, + ], + "name": "ERC20FailedDecreaseAllowance", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + {"internalType": "uint256", "name": "allowance", "type": "uint256"}, + {"internalType": "uint256", "name": "needed", "type": "uint256"}, + ], + "name": "ERC20InsufficientAllowance", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"}, + {"internalType": "uint256", "name": "balance", "type": "uint256"}, + {"internalType": "uint256", "name": "needed", "type": "uint256"}, + ], + "name": "ERC20InsufficientBalance", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "approver", "type": "address"} + ], + "name": "ERC20InvalidApprover", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "receiver", "type": "address"} + ], + "name": "ERC20InvalidReceiver", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"} + ], + "name": "ERC20InvalidSender", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"} + ], + "name": "ERC20InvalidSpender", + "type": "error", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "timepoint", "type": "uint256"}, + {"internalType": "uint48", "name": "clock", "type": "uint48"}, + ], + "name": "ERC5805FutureLookup", + "type": "error", + }, + {"inputs": [], "name": "ERC6372InconsistentClock", "type": "error"}, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + { + "internalType": "uint256", + "name": "currentNonce", + "type": "uint256", + }, + ], + "name": "InvalidAccountNonce", + "type": "error", + }, + { + "inputs": [ + {"internalType": "uint8", "name": "bits", "type": "uint8"}, + {"internalType": "uint256", "name": "value", "type": "uint256"}, + ], + "name": "SafeCastOverflowedUintDowncast", + "type": "error", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "expiry", "type": "uint256"} + ], + "name": "VotesExpiredSignature", + "type": "error", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "owner", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "spender", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "value", + "type": "uint256", + }, + ], + "name": "Approval", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "delegator", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "fromDelegate", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "toDelegate", + "type": "address", + }, + ], + "name": "DelegateChanged", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "delegate", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "previousBalance", + "type": "uint256", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "newBalance", + "type": "uint256", + }, + ], + "name": "DelegateVotesChanged", + "type": "event", + }, + { + "anonymous": False, + "inputs": [], + "name": "EIP712DomainChanged", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "from", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "to", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "value", + "type": "uint256", + }, + ], + "name": "Transfer", + "type": "event", + }, + { + "inputs": [], + "name": "CLOCK_MODE", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "address", "name": "spender", "type": "address"}, + ], + "name": "allowance", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "approve", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"} + ], + "name": "balanceOf", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + {"internalType": "uint32", "name": "pos", "type": "uint32"}, + ], + "name": "checkpoints", + "outputs": [ + { + "components": [ + { + "internalType": "uint32", + "name": "_key", + "type": "uint32", + }, + { + "internalType": "uint224", + "name": "_value", + "type": "uint224", + }, + ], + "internalType": "struct Checkpoints.Checkpoint224", + "name": "", + "type": "tuple", + } + ], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "clock", + "outputs": [{"internalType": "uint48", "name": "", "type": "uint48"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "decimals", + "outputs": [{"internalType": "uint8", "name": "", "type": "uint8"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "requestedDecrease", + "type": "uint256", + }, + ], + "name": "decreaseAllowance", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "delegatee", "type": "address"} + ], + "name": "delegate", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "delegatee", "type": "address"}, + {"internalType": "uint256", "name": "nonce", "type": "uint256"}, + {"internalType": "uint256", "name": "expiry", "type": "uint256"}, + {"internalType": "uint8", "name": "v", "type": "uint8"}, + {"internalType": "bytes32", "name": "r", "type": "bytes32"}, + {"internalType": "bytes32", "name": "s", "type": "bytes32"}, + ], + "name": "delegateBySig", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"} + ], + "name": "delegates", + "outputs": [{"internalType": "address", "name": "", "type": "address"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "eip712Domain", + "outputs": [ + {"internalType": "bytes1", "name": "fields", "type": "bytes1"}, + {"internalType": "string", "name": "name", "type": "string"}, + {"internalType": "string", "name": "version", "type": "string"}, + {"internalType": "uint256", "name": "chainId", "type": "uint256"}, + { + "internalType": "address", + "name": "verifyingContract", + "type": "address", + }, + {"internalType": "bytes32", "name": "salt", "type": "bytes32"}, + { + "internalType": "uint256[]", + "name": "extensions", + "type": "uint256[]", + }, + ], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "timepoint", "type": "uint256"} + ], + "name": "getPastTotalSupply", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + {"internalType": "uint256", "name": "timepoint", "type": "uint256"}, + ], + "name": "getPastVotes", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"} + ], + "name": "getVotes", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256", + }, + ], + "name": "increaseAllowance", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "name", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"} + ], + "name": "nonces", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"} + ], + "name": "numCheckpoints", + "outputs": [{"internalType": "uint32", "name": "", "type": "uint32"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "symbol", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "transfer", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "transferFrom", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + ], + "functions_names": [ + "CLOCK_MODE", + "allowance", + "approve", + "balanceOf", + "checkpoints", + "clock", + "decimals", + "decreaseAllowance", + "delegate", + "delegateBySig", + "delegates", + "eip712Domain", + "getPastTotalSupply", + "getPastVotes", + "getVotes", + "increaseAllowance", + "name", + "nonces", + "numCheckpoints", + "symbol", + "totalSupply", + "transfer", + "transferFrom", + ], + }, + "53f5afb1": { + "name": "ERC4626Mock", + "selector": "53f5afb1", + "abi": [ + { + "inputs": [ + {"internalType": "address", "name": "underlying", "type": "address"} + ], + "stateMutability": "nonpayable", + "type": "constructor", + }, + { + "inputs": [ + {"internalType": "address", "name": "target", "type": "address"} + ], + "name": "AddressEmptyCode", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"} + ], + "name": "AddressInsufficientBalance", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "currentAllowance", + "type": "uint256", + }, + { + "internalType": "uint256", + "name": "requestedDecrease", + "type": "uint256", + }, + ], + "name": "ERC20FailedDecreaseAllowance", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + {"internalType": "uint256", "name": "allowance", "type": "uint256"}, + {"internalType": "uint256", "name": "needed", "type": "uint256"}, + ], + "name": "ERC20InsufficientAllowance", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"}, + {"internalType": "uint256", "name": "balance", "type": "uint256"}, + {"internalType": "uint256", "name": "needed", "type": "uint256"}, + ], + "name": "ERC20InsufficientBalance", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "approver", "type": "address"} + ], + "name": "ERC20InvalidApprover", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "receiver", "type": "address"} + ], + "name": "ERC20InvalidReceiver", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"} + ], + "name": "ERC20InvalidSender", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"} + ], + "name": "ERC20InvalidSpender", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "receiver", "type": "address"}, + {"internalType": "uint256", "name": "assets", "type": "uint256"}, + {"internalType": "uint256", "name": "max", "type": "uint256"}, + ], + "name": "ERC4626ExceededMaxDeposit", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "receiver", "type": "address"}, + {"internalType": "uint256", "name": "shares", "type": "uint256"}, + {"internalType": "uint256", "name": "max", "type": "uint256"}, + ], + "name": "ERC4626ExceededMaxMint", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "uint256", "name": "shares", "type": "uint256"}, + {"internalType": "uint256", "name": "max", "type": "uint256"}, + ], + "name": "ERC4626ExceededMaxRedeem", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "uint256", "name": "assets", "type": "uint256"}, + {"internalType": "uint256", "name": "max", "type": "uint256"}, + ], + "name": "ERC4626ExceededMaxWithdraw", + "type": "error", + }, + {"inputs": [], "name": "FailedInnerCall", "type": "error"}, + {"inputs": [], "name": "MathOverflowedMulDiv", "type": "error"}, + { + "inputs": [ + {"internalType": "address", "name": "token", "type": "address"} + ], + "name": "SafeERC20FailedOperation", + "type": "error", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "owner", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "spender", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "value", + "type": "uint256", + }, + ], + "name": "Approval", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "sender", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "owner", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "assets", + "type": "uint256", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "shares", + "type": "uint256", + }, + ], + "name": "Deposit", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "from", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "to", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "value", + "type": "uint256", + }, + ], + "name": "Transfer", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "sender", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "receiver", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "owner", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "assets", + "type": "uint256", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "shares", + "type": "uint256", + }, + ], + "name": "Withdraw", + "type": "event", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "address", "name": "spender", "type": "address"}, + ], + "name": "allowance", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "approve", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "asset", + "outputs": [{"internalType": "address", "name": "", "type": "address"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"} + ], + "name": "balanceOf", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "shares", "type": "uint256"} + ], + "name": "convertToAssets", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "assets", "type": "uint256"} + ], + "name": "convertToShares", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "decimals", + "outputs": [{"internalType": "uint8", "name": "", "type": "uint8"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "requestedDecrease", + "type": "uint256", + }, + ], + "name": "decreaseAllowance", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "assets", "type": "uint256"}, + {"internalType": "address", "name": "receiver", "type": "address"}, + ], + "name": "deposit", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256", + }, + ], + "name": "increaseAllowance", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [{"internalType": "address", "name": "", "type": "address"}], + "name": "maxDeposit", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [{"internalType": "address", "name": "", "type": "address"}], + "name": "maxMint", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"} + ], + "name": "maxRedeem", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"} + ], + "name": "maxWithdraw", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "shares", "type": "uint256"}, + {"internalType": "address", "name": "receiver", "type": "address"}, + ], + "name": "mint", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "name", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "assets", "type": "uint256"} + ], + "name": "previewDeposit", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "shares", "type": "uint256"} + ], + "name": "previewMint", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "shares", "type": "uint256"} + ], + "name": "previewRedeem", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "assets", "type": "uint256"} + ], + "name": "previewWithdraw", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "shares", "type": "uint256"}, + {"internalType": "address", "name": "receiver", "type": "address"}, + {"internalType": "address", "name": "owner", "type": "address"}, + ], + "name": "redeem", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "symbol", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "totalAssets", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "transfer", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "transferFrom", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "assets", "type": "uint256"}, + {"internalType": "address", "name": "receiver", "type": "address"}, + {"internalType": "address", "name": "owner", "type": "address"}, + ], + "name": "withdraw", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "nonpayable", + "type": "function", + }, + ], + "functions_names": [ + "allowance", + "approve", + "asset", + "balanceOf", + "burn", + "convertToAssets", + "convertToShares", + "decimals", + "decreaseAllowance", + "deposit", + "increaseAllowance", + "maxDeposit", + "maxMint", + "maxRedeem", + "maxWithdraw", + "mint", + "mint", + "name", + "previewDeposit", + "previewMint", + "previewRedeem", + "previewWithdraw", + "redeem", + "symbol", + "totalAssets", + "totalSupply", + "transfer", + "transferFrom", + "withdraw", + ], + }, + "9d8ff7da": { + "name": "IERC20Permit", + "selector": "9d8ff7da", + "abi": [ + { + "inputs": [], + "name": "DOMAIN_SEPARATOR", + "outputs": [{"internalType": "bytes32", "name": "", "type": "bytes32"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"} + ], + "name": "nonces", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "address", "name": "spender", "type": "address"}, + {"internalType": "uint256", "name": "value", "type": "uint256"}, + {"internalType": "uint256", "name": "deadline", "type": "uint256"}, + {"internalType": "uint8", "name": "v", "type": "uint8"}, + {"internalType": "bytes32", "name": "r", "type": "bytes32"}, + {"internalType": "bytes32", "name": "s", "type": "bytes32"}, + ], + "name": "permit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + ], + "functions_names": ["DOMAIN_SEPARATOR", "nonces", "permit"], + }, + "313ce567": { + "name": "ERC20ExcessDecimalsMock", + "selector": "313ce567", + "abi": [ + { + "inputs": [], + "name": "decimals", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "pure", + "type": "function", + } + ], + "functions_names": ["decimals"], + }, + "249cb3fa": { + "name": "IERC1820Implementer", + "selector": "249cb3fa", + "abi": [ + { + "inputs": [ + { + "internalType": "bytes32", + "name": "interfaceHash", + "type": "bytes32", + }, + {"internalType": "address", "name": "account", "type": "address"}, + ], + "name": "canImplementInterfaceForAddress", + "outputs": [{"internalType": "bytes32", "name": "", "type": "bytes32"}], + "stateMutability": "view", + "type": "function", + } + ], + "functions_names": ["canImplementInterfaceForAddress"], + }, + "e58e113c": { + "name": "IERC777", + "selector": "e58e113c", + "abi": [ + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "operator", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "tokenHolder", + "type": "address", + }, + ], + "name": "AuthorizedOperator", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "operator", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "from", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "amount", + "type": "uint256", + }, + { + "indexed": False, + "internalType": "bytes", + "name": "data", + "type": "bytes", + }, + { + "indexed": False, + "internalType": "bytes", + "name": "operatorData", + "type": "bytes", + }, + ], + "name": "Burned", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "operator", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "to", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "amount", + "type": "uint256", + }, + { + "indexed": False, + "internalType": "bytes", + "name": "data", + "type": "bytes", + }, + { + "indexed": False, + "internalType": "bytes", + "name": "operatorData", + "type": "bytes", + }, + ], + "name": "Minted", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "operator", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "tokenHolder", + "type": "address", + }, + ], + "name": "RevokedOperator", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "operator", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "from", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "to", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "amount", + "type": "uint256", + }, + { + "indexed": False, + "internalType": "bytes", + "name": "data", + "type": "bytes", + }, + { + "indexed": False, + "internalType": "bytes", + "name": "operatorData", + "type": "bytes", + }, + ], + "name": "Sent", + "type": "event", + }, + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"} + ], + "name": "authorizeOperator", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"} + ], + "name": "balanceOf", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "defaultOperators", + "outputs": [ + {"internalType": "address[]", "name": "", "type": "address[]"} + ], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "granularity", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"}, + { + "internalType": "address", + "name": "tokenHolder", + "type": "address", + }, + ], + "name": "isOperatorFor", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "name", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + {"internalType": "bytes", "name": "operatorData", "type": "bytes"}, + ], + "name": "operatorBurn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"}, + {"internalType": "address", "name": "recipient", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + {"internalType": "bytes", "name": "operatorData", "type": "bytes"}, + ], + "name": "operatorSend", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"} + ], + "name": "revokeOperator", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "recipient", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "send", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "symbol", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + ], + "functions_names": [ + "authorizeOperator", + "balanceOf", + "burn", + "defaultOperators", + "granularity", + "isOperatorFor", + "name", + "operatorBurn", + "operatorSend", + "revokeOperator", + "send", + "symbol", + "totalSupply", + ], + }, + "ed3dea35": { + "name": "ERC20FlashMint", + "selector": "ed3dea35", + "abi": [ + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "currentAllowance", + "type": "uint256", + }, + { + "internalType": "uint256", + "name": "requestedDecrease", + "type": "uint256", + }, + ], + "name": "ERC20FailedDecreaseAllowance", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + {"internalType": "uint256", "name": "allowance", "type": "uint256"}, + {"internalType": "uint256", "name": "needed", "type": "uint256"}, + ], + "name": "ERC20InsufficientAllowance", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"}, + {"internalType": "uint256", "name": "balance", "type": "uint256"}, + {"internalType": "uint256", "name": "needed", "type": "uint256"}, + ], + "name": "ERC20InsufficientBalance", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "approver", "type": "address"} + ], + "name": "ERC20InvalidApprover", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "receiver", "type": "address"} + ], + "name": "ERC20InvalidReceiver", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"} + ], + "name": "ERC20InvalidSender", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"} + ], + "name": "ERC20InvalidSpender", + "type": "error", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "maxLoan", "type": "uint256"} + ], + "name": "ERC3156ExceededMaxLoan", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "receiver", "type": "address"} + ], + "name": "ERC3156InvalidReceiver", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "token", "type": "address"} + ], + "name": "ERC3156UnsupportedToken", + "type": "error", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "owner", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "spender", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "value", + "type": "uint256", + }, + ], + "name": "Approval", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "from", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "to", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "value", + "type": "uint256", + }, + ], + "name": "Transfer", + "type": "event", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "address", "name": "spender", "type": "address"}, + ], + "name": "allowance", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "approve", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"} + ], + "name": "balanceOf", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "decimals", + "outputs": [{"internalType": "uint8", "name": "", "type": "uint8"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "requestedDecrease", + "type": "uint256", + }, + ], + "name": "decreaseAllowance", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "token", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "flashFee", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + { + "internalType": "contract IERC3156FlashBorrower", + "name": "receiver", + "type": "address", + }, + {"internalType": "address", "name": "token", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "flashLoan", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256", + }, + ], + "name": "increaseAllowance", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "token", "type": "address"} + ], + "name": "maxFlashLoan", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "name", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "symbol", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "transfer", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "transferFrom", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + ], + "functions_names": [ + "allowance", + "approve", + "balanceOf", + "decimals", + "decreaseAllowance", + "flashFee", + "flashLoan", + "increaseAllowance", + "maxFlashLoan", + "name", + "symbol", + "totalSupply", + "transfer", + "transferFrom", + ], + }, + "150b7a02": { + "name": "ERC721Holder", + "selector": "150b7a02", + "abi": [ + { + "inputs": [ + {"internalType": "address", "name": "", "type": "address"}, + {"internalType": "address", "name": "", "type": "address"}, + {"internalType": "uint256", "name": "", "type": "uint256"}, + {"internalType": "bytes", "name": "", "type": "bytes"}, + ], + "name": "onERC721Received", + "outputs": [{"internalType": "bytes4", "name": "", "type": "bytes4"}], + "stateMutability": "nonpayable", + "type": "function", + } + ], + "functions_names": ["onERC721Received"], + }, + "80ac58cd": { + "name": "IERC4906", + "selector": "80ac58cd", + "abi": [ + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "owner", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "approved", + "type": "address", + }, + { + "indexed": True, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256", + }, + ], + "name": "Approval", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "owner", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "operator", + "type": "address", + }, + { + "indexed": False, + "internalType": "bool", + "name": "approved", + "type": "bool", + }, + ], + "name": "ApprovalForAll", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": False, + "internalType": "uint256", + "name": "_fromTokenId", + "type": "uint256", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "_toTokenId", + "type": "uint256", + }, + ], + "name": "BatchMetadataUpdate", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": False, + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256", + } + ], + "name": "MetadataUpdate", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "from", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "to", + "type": "address", + }, + { + "indexed": True, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256", + }, + ], + "name": "Transfer", + "type": "event", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "approve", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"} + ], + "name": "balanceOf", + "outputs": [ + {"internalType": "uint256", "name": "balance", "type": "uint256"} + ], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "getApproved", + "outputs": [ + {"internalType": "address", "name": "operator", "type": "address"} + ], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "address", "name": "operator", "type": "address"}, + ], + "name": "isApprovedForAll", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "ownerOf", + "outputs": [ + {"internalType": "address", "name": "owner", "type": "address"} + ], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"}, + {"internalType": "bool", "name": "approved", "type": "bool"}, + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + ], + "functions_names": [ + "approve", + "balanceOf", + "getApproved", + "isApprovedForAll", + "ownerOf", + "safeTransferFrom", + "safeTransferFrom", + "setApprovalForAll", + "transferFrom", + ], + }, + "0a7f6bd0": { + "name": "ERC20VotesMock", + "selector": "0a7f6bd0", + "abi": [ + { + "inputs": [], + "name": "DOMAIN_SEPARATOR", + "outputs": [{"internalType": "bytes32", "name": "", "type": "bytes32"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "address", "name": "spender", "type": "address"}, + ], + "name": "allowance", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "approve", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"} + ], + "name": "balanceOf", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + {"internalType": "uint32", "name": "pos", "type": "uint32"}, + ], + "name": "checkpoints", + "outputs": [ + { + "components": [ + { + "internalType": "uint32", + "name": "fromBlock", + "type": "uint32", + }, + { + "internalType": "uint224", + "name": "votes", + "type": "uint224", + }, + ], + "internalType": "struct ERC20Votes.Checkpoint", + "name": "", + "type": "tuple", + } + ], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "decimals", + "outputs": [{"internalType": "uint8", "name": "", "type": "uint8"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "subtractedValue", + "type": "uint256", + }, + ], + "name": "decreaseAllowance", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "delegatee", "type": "address"} + ], + "name": "delegate", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "delegatee", "type": "address"}, + {"internalType": "uint256", "name": "nonce", "type": "uint256"}, + {"internalType": "uint256", "name": "expiry", "type": "uint256"}, + {"internalType": "uint8", "name": "v", "type": "uint8"}, + {"internalType": "bytes32", "name": "r", "type": "bytes32"}, + {"internalType": "bytes32", "name": "s", "type": "bytes32"}, + ], + "name": "delegateBySig", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"} + ], + "name": "delegates", + "outputs": [{"internalType": "address", "name": "", "type": "address"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "getChainId", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "blockNumber", + "type": "uint256", + } + ], + "name": "getPastTotalSupply", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + { + "internalType": "uint256", + "name": "blockNumber", + "type": "uint256", + }, + ], + "name": "getPastVotes", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"} + ], + "name": "getVotes", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256", + }, + ], + "name": "increaseAllowance", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "name", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"} + ], + "name": "nonces", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"} + ], + "name": "numCheckpoints", + "outputs": [{"internalType": "uint32", "name": "", "type": "uint32"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "address", "name": "spender", "type": "address"}, + {"internalType": "uint256", "name": "value", "type": "uint256"}, + {"internalType": "uint256", "name": "deadline", "type": "uint256"}, + {"internalType": "uint8", "name": "v", "type": "uint8"}, + {"internalType": "bytes32", "name": "r", "type": "bytes32"}, + {"internalType": "bytes32", "name": "s", "type": "bytes32"}, + ], + "name": "permit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "symbol", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "transfer", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "transferFrom", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + ], + "functions_names": [ + "DOMAIN_SEPARATOR", + "allowance", + "approve", + "balanceOf", + "burn", + "checkpoints", + "decimals", + "decreaseAllowance", + "delegate", + "delegateBySig", + "delegates", + "getChainId", + "getPastTotalSupply", + "getPastVotes", + "getVotes", + "increaseAllowance", + "mint", + "name", + "nonces", + "numCheckpoints", + "permit", + "symbol", + "totalSupply", + "transfer", + "transferFrom", + ], + }, + "dbf24b52": { + "name": "ERC721Consecutive", + "selector": "dbf24b52", + "abi": [ + { + "inputs": [ + {"internalType": "uint256", "name": "batchSize", "type": "uint256"}, + {"internalType": "uint256", "name": "maxBatch", "type": "uint256"}, + ], + "name": "ERC721ExceededMaxBatchMint", + "type": "error", + }, + {"inputs": [], "name": "ERC721ForbiddenBatchBurn", "type": "error"}, + {"inputs": [], "name": "ERC721ForbiddenBatchMint", "type": "error"}, + {"inputs": [], "name": "ERC721ForbiddenMint", "type": "error"}, + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + {"internalType": "address", "name": "owner", "type": "address"}, + ], + "name": "ERC721IncorrectOwner", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "ERC721InsufficientApproval", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "approver", "type": "address"} + ], + "name": "ERC721InvalidApprover", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"} + ], + "name": "ERC721InvalidOperator", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"} + ], + "name": "ERC721InvalidOwner", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "receiver", "type": "address"} + ], + "name": "ERC721InvalidReceiver", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"} + ], + "name": "ERC721InvalidSender", + "type": "error", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "ERC721NonexistentToken", + "type": "error", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "owner", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "approved", + "type": "address", + }, + { + "indexed": True, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256", + }, + ], + "name": "Approval", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "owner", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "operator", + "type": "address", + }, + { + "indexed": False, + "internalType": "bool", + "name": "approved", + "type": "bool", + }, + ], + "name": "ApprovalForAll", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "uint256", + "name": "fromTokenId", + "type": "uint256", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "toTokenId", + "type": "uint256", + }, + { + "indexed": True, + "internalType": "address", + "name": "fromAddress", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "toAddress", + "type": "address", + }, + ], + "name": "ConsecutiveTransfer", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "from", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "to", + "type": "address", + }, + { + "indexed": True, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256", + }, + ], + "name": "Transfer", + "type": "event", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "approve", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"} + ], + "name": "balanceOf", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "getApproved", + "outputs": [{"internalType": "address", "name": "", "type": "address"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "address", "name": "operator", "type": "address"}, + ], + "name": "isApprovedForAll", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "name", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "ownerOf", + "outputs": [{"internalType": "address", "name": "", "type": "address"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"}, + {"internalType": "bool", "name": "approved", "type": "bool"}, + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "symbol", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "tokenURI", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + ], + "functions_names": [ + "approve", + "balanceOf", + "getApproved", + "isApprovedForAll", + "name", + "ownerOf", + "safeTransferFrom", + "safeTransferFrom", + "setApprovalForAll", + "symbol", + "tokenURI", + "transferFrom", + ], + }, + "150b7a02": { + "name": "IERC721Receiver", + "selector": "150b7a02", + "abi": [ + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"}, + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "onERC721Received", + "outputs": [{"internalType": "bytes4", "name": "", "type": "bytes4"}], + "stateMutability": "nonpayable", + "type": "function", + } + ], + "functions_names": ["onERC721Received"], + }, + "3c7bae4e": { + "name": "ERC20Capped", + "selector": "3c7bae4e", + "abi": [ + { + "inputs": [ + { + "internalType": "uint256", + "name": "increasedSupply", + "type": "uint256", + }, + {"internalType": "uint256", "name": "cap", "type": "uint256"}, + ], + "name": "ERC20ExceededCap", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "currentAllowance", + "type": "uint256", + }, + { + "internalType": "uint256", + "name": "requestedDecrease", + "type": "uint256", + }, + ], + "name": "ERC20FailedDecreaseAllowance", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + {"internalType": "uint256", "name": "allowance", "type": "uint256"}, + {"internalType": "uint256", "name": "needed", "type": "uint256"}, + ], + "name": "ERC20InsufficientAllowance", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"}, + {"internalType": "uint256", "name": "balance", "type": "uint256"}, + {"internalType": "uint256", "name": "needed", "type": "uint256"}, + ], + "name": "ERC20InsufficientBalance", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "approver", "type": "address"} + ], + "name": "ERC20InvalidApprover", + "type": "error", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "cap", "type": "uint256"} + ], + "name": "ERC20InvalidCap", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "receiver", "type": "address"} + ], + "name": "ERC20InvalidReceiver", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"} + ], + "name": "ERC20InvalidSender", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"} + ], + "name": "ERC20InvalidSpender", + "type": "error", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "owner", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "spender", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "value", + "type": "uint256", + }, + ], + "name": "Approval", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "from", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "to", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "value", + "type": "uint256", + }, + ], + "name": "Transfer", + "type": "event", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "address", "name": "spender", "type": "address"}, + ], + "name": "allowance", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "approve", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"} + ], + "name": "balanceOf", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "cap", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "decimals", + "outputs": [{"internalType": "uint8", "name": "", "type": "uint8"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "requestedDecrease", + "type": "uint256", + }, + ], + "name": "decreaseAllowance", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256", + }, + ], + "name": "increaseAllowance", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "name", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "symbol", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "transfer", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "transferFrom", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + ], + "functions_names": [ + "allowance", + "approve", + "balanceOf", + "cap", + "decimals", + "decreaseAllowance", + "increaseAllowance", + "name", + "symbol", + "totalSupply", + "transfer", + "transferFrom", + ], + }, + "86bfc821": { + "name": "ERC20PermitNoRevertMock", + "selector": "86bfc821", + "abi": [ + {"inputs": [], "name": "ECDSAInvalidSignature", "type": "error"}, + { + "inputs": [ + {"internalType": "uint256", "name": "length", "type": "uint256"} + ], + "name": "ECDSAInvalidSignatureLength", + "type": "error", + }, + { + "inputs": [{"internalType": "bytes32", "name": "s", "type": "bytes32"}], + "name": "ECDSAInvalidSignatureS", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "currentAllowance", + "type": "uint256", + }, + { + "internalType": "uint256", + "name": "requestedDecrease", + "type": "uint256", + }, + ], + "name": "ERC20FailedDecreaseAllowance", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + {"internalType": "uint256", "name": "allowance", "type": "uint256"}, + {"internalType": "uint256", "name": "needed", "type": "uint256"}, + ], + "name": "ERC20InsufficientAllowance", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"}, + {"internalType": "uint256", "name": "balance", "type": "uint256"}, + {"internalType": "uint256", "name": "needed", "type": "uint256"}, + ], + "name": "ERC20InsufficientBalance", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "approver", "type": "address"} + ], + "name": "ERC20InvalidApprover", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "receiver", "type": "address"} + ], + "name": "ERC20InvalidReceiver", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"} + ], + "name": "ERC20InvalidSender", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"} + ], + "name": "ERC20InvalidSpender", + "type": "error", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "deadline", "type": "uint256"} + ], + "name": "ERC2612ExpiredSignature", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "signer", "type": "address"}, + {"internalType": "address", "name": "owner", "type": "address"}, + ], + "name": "ERC2612InvalidSigner", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + { + "internalType": "uint256", + "name": "currentNonce", + "type": "uint256", + }, + ], + "name": "InvalidAccountNonce", + "type": "error", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "owner", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "spender", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "value", + "type": "uint256", + }, + ], + "name": "Approval", + "type": "event", + }, + { + "anonymous": False, + "inputs": [], + "name": "EIP712DomainChanged", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "from", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "to", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "value", + "type": "uint256", + }, + ], + "name": "Transfer", + "type": "event", + }, + { + "inputs": [], + "name": "DOMAIN_SEPARATOR", + "outputs": [{"internalType": "bytes32", "name": "", "type": "bytes32"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "address", "name": "spender", "type": "address"}, + ], + "name": "allowance", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "approve", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"} + ], + "name": "balanceOf", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "decimals", + "outputs": [{"internalType": "uint8", "name": "", "type": "uint8"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "requestedDecrease", + "type": "uint256", + }, + ], + "name": "decreaseAllowance", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "eip712Domain", + "outputs": [ + {"internalType": "bytes1", "name": "fields", "type": "bytes1"}, + {"internalType": "string", "name": "name", "type": "string"}, + {"internalType": "string", "name": "version", "type": "string"}, + {"internalType": "uint256", "name": "chainId", "type": "uint256"}, + { + "internalType": "address", + "name": "verifyingContract", + "type": "address", + }, + {"internalType": "bytes32", "name": "salt", "type": "bytes32"}, + { + "internalType": "uint256[]", + "name": "extensions", + "type": "uint256[]", + }, + ], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256", + }, + ], + "name": "increaseAllowance", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "name", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"} + ], + "name": "nonces", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "address", "name": "spender", "type": "address"}, + {"internalType": "uint256", "name": "value", "type": "uint256"}, + {"internalType": "uint256", "name": "deadline", "type": "uint256"}, + {"internalType": "uint8", "name": "v", "type": "uint8"}, + {"internalType": "bytes32", "name": "r", "type": "bytes32"}, + {"internalType": "bytes32", "name": "s", "type": "bytes32"}, + ], + "name": "permit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "address", "name": "spender", "type": "address"}, + {"internalType": "uint256", "name": "value", "type": "uint256"}, + {"internalType": "uint256", "name": "deadline", "type": "uint256"}, + {"internalType": "uint8", "name": "v", "type": "uint8"}, + {"internalType": "bytes32", "name": "r", "type": "bytes32"}, + {"internalType": "bytes32", "name": "s", "type": "bytes32"}, + ], + "name": "permitThatMayRevert", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "symbol", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "transfer", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "transferFrom", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + ], + "functions_names": [ + "DOMAIN_SEPARATOR", + "allowance", + "approve", + "balanceOf", + "decimals", + "decreaseAllowance", + "eip712Domain", + "increaseAllowance", + "name", + "nonces", + "permit", + "permitThatMayRevert", + "symbol", + "totalSupply", + "transfer", + "transferFrom", + ], + }, + "dbf24b52": { + "name": "ERC721ConsecutiveNoConstructorMintMock", + "selector": "dbf24b52", + "abi": [ + { + "inputs": [ + {"internalType": "string", "name": "name", "type": "string"}, + {"internalType": "string", "name": "symbol", "type": "string"}, + ], + "stateMutability": "nonpayable", + "type": "constructor", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "batchSize", "type": "uint256"}, + {"internalType": "uint256", "name": "maxBatch", "type": "uint256"}, + ], + "name": "ERC721ExceededMaxBatchMint", + "type": "error", + }, + {"inputs": [], "name": "ERC721ForbiddenBatchBurn", "type": "error"}, + {"inputs": [], "name": "ERC721ForbiddenBatchMint", "type": "error"}, + {"inputs": [], "name": "ERC721ForbiddenMint", "type": "error"}, + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + {"internalType": "address", "name": "owner", "type": "address"}, + ], + "name": "ERC721IncorrectOwner", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "ERC721InsufficientApproval", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "approver", "type": "address"} + ], + "name": "ERC721InvalidApprover", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"} + ], + "name": "ERC721InvalidOperator", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"} + ], + "name": "ERC721InvalidOwner", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "receiver", "type": "address"} + ], + "name": "ERC721InvalidReceiver", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"} + ], + "name": "ERC721InvalidSender", + "type": "error", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "ERC721NonexistentToken", + "type": "error", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "owner", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "approved", + "type": "address", + }, + { + "indexed": True, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256", + }, + ], + "name": "Approval", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "owner", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "operator", + "type": "address", + }, + { + "indexed": False, + "internalType": "bool", + "name": "approved", + "type": "bool", + }, + ], + "name": "ApprovalForAll", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "uint256", + "name": "fromTokenId", + "type": "uint256", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "toTokenId", + "type": "uint256", + }, + { + "indexed": True, + "internalType": "address", + "name": "fromAddress", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "toAddress", + "type": "address", + }, + ], + "name": "ConsecutiveTransfer", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "from", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "to", + "type": "address", + }, + { + "indexed": True, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256", + }, + ], + "name": "Transfer", + "type": "event", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "approve", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"} + ], + "name": "balanceOf", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "getApproved", + "outputs": [{"internalType": "address", "name": "", "type": "address"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "address", "name": "operator", "type": "address"}, + ], + "name": "isApprovedForAll", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "name", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "ownerOf", + "outputs": [{"internalType": "address", "name": "", "type": "address"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"}, + {"internalType": "bool", "name": "approved", "type": "bool"}, + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "symbol", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "tokenURI", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + ], + "functions_names": [ + "approve", + "balanceOf", + "getApproved", + "isApprovedForAll", + "name", + "ownerOf", + "safeTransferFrom", + "safeTransferFrom", + "setApprovalForAll", + "symbol", + "tokenURI", + "transferFrom", + ], + }, + "a3fcd631": { + "name": "ERC721ConsecutiveEnumerableMock", + "selector": "a3fcd631", + "abi": [ + { + "inputs": [ + {"internalType": "string", "name": "name", "type": "string"}, + {"internalType": "string", "name": "symbol", "type": "string"}, + { + "internalType": "address[]", + "name": "receivers", + "type": "address[]", + }, + {"internalType": "uint96[]", "name": "amounts", "type": "uint96[]"}, + ], + "stateMutability": "nonpayable", + "type": "constructor", + }, + {"inputs": [], "name": "CheckpointUnorderedInsertion", "type": "error"}, + { + "inputs": [], + "name": "ERC721EnumerableForbiddenBatchMint", + "type": "error", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "batchSize", "type": "uint256"}, + {"internalType": "uint256", "name": "maxBatch", "type": "uint256"}, + ], + "name": "ERC721ExceededMaxBatchMint", + "type": "error", + }, + {"inputs": [], "name": "ERC721ForbiddenBatchBurn", "type": "error"}, + {"inputs": [], "name": "ERC721ForbiddenBatchMint", "type": "error"}, + {"inputs": [], "name": "ERC721ForbiddenMint", "type": "error"}, + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + {"internalType": "address", "name": "owner", "type": "address"}, + ], + "name": "ERC721IncorrectOwner", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "ERC721InsufficientApproval", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "approver", "type": "address"} + ], + "name": "ERC721InvalidApprover", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"} + ], + "name": "ERC721InvalidOperator", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"} + ], + "name": "ERC721InvalidOwner", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "receiver", "type": "address"} + ], + "name": "ERC721InvalidReceiver", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"} + ], + "name": "ERC721InvalidSender", + "type": "error", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "ERC721NonexistentToken", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "uint256", "name": "index", "type": "uint256"}, + ], + "name": "ERC721OutOfBoundsIndex", + "type": "error", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "owner", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "approved", + "type": "address", + }, + { + "indexed": True, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256", + }, + ], + "name": "Approval", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "owner", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "operator", + "type": "address", + }, + { + "indexed": False, + "internalType": "bool", + "name": "approved", + "type": "bool", + }, + ], + "name": "ApprovalForAll", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "uint256", + "name": "fromTokenId", + "type": "uint256", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "toTokenId", + "type": "uint256", + }, + { + "indexed": True, + "internalType": "address", + "name": "fromAddress", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "toAddress", + "type": "address", + }, + ], + "name": "ConsecutiveTransfer", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "from", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "to", + "type": "address", + }, + { + "indexed": True, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256", + }, + ], + "name": "Transfer", + "type": "event", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "approve", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"} + ], + "name": "balanceOf", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "getApproved", + "outputs": [{"internalType": "address", "name": "", "type": "address"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "address", "name": "operator", "type": "address"}, + ], + "name": "isApprovedForAll", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "name", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "ownerOf", + "outputs": [{"internalType": "address", "name": "", "type": "address"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"}, + {"internalType": "bool", "name": "approved", "type": "bool"}, + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "symbol", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "index", "type": "uint256"} + ], + "name": "tokenByIndex", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "uint256", "name": "index", "type": "uint256"}, + ], + "name": "tokenOfOwnerByIndex", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "tokenURI", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + ], + "functions_names": [ + "approve", + "balanceOf", + "getApproved", + "isApprovedForAll", + "name", + "ownerOf", + "safeTransferFrom", + "safeTransferFrom", + "setApprovalForAll", + "symbol", + "tokenByIndex", + "tokenOfOwnerByIndex", + "tokenURI", + "totalSupply", + "transferFrom", + ], + }, + "942e8b22": { + "name": "IERC20Metadata", + "selector": "942e8b22", + "abi": [ + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "owner", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "spender", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "value", + "type": "uint256", + }, + ], + "name": "Approval", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "from", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "to", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "value", + "type": "uint256", + }, + ], + "name": "Transfer", + "type": "event", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "address", "name": "spender", "type": "address"}, + ], + "name": "allowance", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "approve", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"} + ], + "name": "balanceOf", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "decimals", + "outputs": [{"internalType": "uint8", "name": "", "type": "uint8"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "name", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "symbol", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "transfer", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "transferFrom", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + ], + "functions_names": [ + "allowance", + "approve", + "balanceOf", + "decimals", + "name", + "symbol", + "totalSupply", + "transfer", + "transferFrom", + ], + }, + "0929daa4": { + "name": "ERC20DecimalsMock", + "selector": "0929daa4", + "abi": [ + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "currentAllowance", + "type": "uint256", + }, + { + "internalType": "uint256", + "name": "requestedDecrease", + "type": "uint256", + }, + ], + "name": "ERC20FailedDecreaseAllowance", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + {"internalType": "uint256", "name": "allowance", "type": "uint256"}, + {"internalType": "uint256", "name": "needed", "type": "uint256"}, + ], + "name": "ERC20InsufficientAllowance", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"}, + {"internalType": "uint256", "name": "balance", "type": "uint256"}, + {"internalType": "uint256", "name": "needed", "type": "uint256"}, + ], + "name": "ERC20InsufficientBalance", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "approver", "type": "address"} + ], + "name": "ERC20InvalidApprover", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "receiver", "type": "address"} + ], + "name": "ERC20InvalidReceiver", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"} + ], + "name": "ERC20InvalidSender", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"} + ], + "name": "ERC20InvalidSpender", + "type": "error", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "owner", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "spender", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "value", + "type": "uint256", + }, + ], + "name": "Approval", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "from", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "to", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "value", + "type": "uint256", + }, + ], + "name": "Transfer", + "type": "event", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "address", "name": "spender", "type": "address"}, + ], + "name": "allowance", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "approve", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"} + ], + "name": "balanceOf", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "decimals", + "outputs": [{"internalType": "uint8", "name": "", "type": "uint8"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "requestedDecrease", + "type": "uint256", + }, + ], + "name": "decreaseAllowance", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256", + }, + ], + "name": "increaseAllowance", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "name", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "symbol", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "transfer", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "transferFrom", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + ], + "functions_names": [ + "allowance", + "approve", + "balanceOf", + "decimals", + "decreaseAllowance", + "increaseAllowance", + "name", + "symbol", + "totalSupply", + "transfer", + "transferFrom", + ], + }, + "27a6bfb2": { + "name": "ERC1155Mock", + "selector": "27a6bfb2", + "abi": [ + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + {"internalType": "uint256", "name": "id", "type": "uint256"}, + ], + "name": "balanceOf", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "accounts", + "type": "address[]", + }, + {"internalType": "uint256[]", "name": "ids", "type": "uint256[]"}, + ], + "name": "balanceOfBatch", + "outputs": [ + {"internalType": "uint256[]", "name": "", "type": "uint256[]"} + ], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "uint256", "name": "id", "type": "uint256"}, + {"internalType": "uint256", "name": "value", "type": "uint256"}, + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "uint256[]", "name": "ids", "type": "uint256[]"}, + { + "internalType": "uint256[]", + "name": "values", + "type": "uint256[]", + }, + ], + "name": "burnBatch", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + {"internalType": "address", "name": "operator", "type": "address"}, + ], + "name": "isApprovedForAll", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "id", "type": "uint256"}, + {"internalType": "uint256", "name": "value", "type": "uint256"}, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256[]", "name": "ids", "type": "uint256[]"}, + { + "internalType": "uint256[]", + "name": "values", + "type": "uint256[]", + }, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "mintBatch", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256[]", "name": "ids", "type": "uint256[]"}, + { + "internalType": "uint256[]", + "name": "amounts", + "type": "uint256[]", + }, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "safeBatchTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "id", "type": "uint256"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"}, + {"internalType": "bool", "name": "approved", "type": "bool"}, + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "string", "name": "newuri", "type": "string"} + ], + "name": "setURI", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "name": "uri", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + ], + "functions_names": [ + "balanceOf", + "balanceOfBatch", + "burn", + "burnBatch", + "isApprovedForAll", + "mint", + "mintBatch", + "safeBatchTransferFrom", + "safeTransferFrom", + "setApprovalForAll", + "setURI", + "uri", + ], + }, + "4e2312e0": { + "name": "IERC1155Receiver", + "selector": "4e2312e0", + "abi": [ + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"}, + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "uint256[]", "name": "ids", "type": "uint256[]"}, + { + "internalType": "uint256[]", + "name": "values", + "type": "uint256[]", + }, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "onERC1155BatchReceived", + "outputs": [{"internalType": "bytes4", "name": "", "type": "bytes4"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"}, + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "uint256", "name": "id", "type": "uint256"}, + {"internalType": "uint256", "name": "value", "type": "uint256"}, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "onERC1155Received", + "outputs": [{"internalType": "bytes4", "name": "", "type": "bytes4"}], + "stateMutability": "nonpayable", + "type": "function", + }, + ], + "functions_names": ["onERC1155BatchReceived", "onERC1155Received"], + }, + "214cdb80": { + "name": "ERC165StorageMock", + "selector": "214cdb80", + "abi": [ + { + "inputs": [ + {"internalType": "bytes4", "name": "interfaceId", "type": "bytes4"} + ], + "name": "registerInterface", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + } + ], + "functions_names": ["registerInterface"], + }, + "d1a4bb67": { + "name": "ERC777SenderRecipientMock", + "selector": "d1a4bb67", + "abi": [ + { + "inputs": [ + { + "internalType": "contract IERC777", + "name": "token", + "type": "address", + }, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "interfaceHash", + "type": "bytes32", + }, + {"internalType": "address", "name": "account", "type": "address"}, + ], + "name": "canImplementInterfaceForAddress", + "outputs": [{"internalType": "bytes32", "name": "", "type": "bytes32"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"} + ], + "name": "recipientFor", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "recipient", "type": "address"} + ], + "name": "registerRecipient", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"} + ], + "name": "registerSender", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + { + "internalType": "contract IERC777", + "name": "token", + "type": "address", + }, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "send", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"} + ], + "name": "senderFor", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "bool", "name": "shouldRevert", "type": "bool"} + ], + "name": "setShouldRevertReceive", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "bool", "name": "shouldRevert", "type": "bool"} + ], + "name": "setShouldRevertSend", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"}, + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + {"internalType": "bytes", "name": "userData", "type": "bytes"}, + {"internalType": "bytes", "name": "operatorData", "type": "bytes"}, + ], + "name": "tokensReceived", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"}, + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + {"internalType": "bytes", "name": "userData", "type": "bytes"}, + {"internalType": "bytes", "name": "operatorData", "type": "bytes"}, + ], + "name": "tokensToSend", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + ], + "functions_names": [ + "burn", + "canImplementInterfaceForAddress", + "recipientFor", + "registerRecipient", + "registerSender", + "send", + "senderFor", + "setShouldRevertReceive", + "setShouldRevertSend", + "tokensReceived", + "tokensToSend", + ], + }, + "55be801f": { + "name": "ERC20Pausable", + "selector": "55be801f", + "abi": [ + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "currentAllowance", + "type": "uint256", + }, + { + "internalType": "uint256", + "name": "requestedDecrease", + "type": "uint256", + }, + ], + "name": "ERC20FailedDecreaseAllowance", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + {"internalType": "uint256", "name": "allowance", "type": "uint256"}, + {"internalType": "uint256", "name": "needed", "type": "uint256"}, + ], + "name": "ERC20InsufficientAllowance", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"}, + {"internalType": "uint256", "name": "balance", "type": "uint256"}, + {"internalType": "uint256", "name": "needed", "type": "uint256"}, + ], + "name": "ERC20InsufficientBalance", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "approver", "type": "address"} + ], + "name": "ERC20InvalidApprover", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "receiver", "type": "address"} + ], + "name": "ERC20InvalidReceiver", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"} + ], + "name": "ERC20InvalidSender", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"} + ], + "name": "ERC20InvalidSpender", + "type": "error", + }, + {"inputs": [], "name": "EnforcedPause", "type": "error"}, + {"inputs": [], "name": "ExpectedPause", "type": "error"}, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "owner", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "spender", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "value", + "type": "uint256", + }, + ], + "name": "Approval", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": False, + "internalType": "address", + "name": "account", + "type": "address", + } + ], + "name": "Paused", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "from", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "to", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "value", + "type": "uint256", + }, + ], + "name": "Transfer", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": False, + "internalType": "address", + "name": "account", + "type": "address", + } + ], + "name": "Unpaused", + "type": "event", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "address", "name": "spender", "type": "address"}, + ], + "name": "allowance", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "approve", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"} + ], + "name": "balanceOf", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "decimals", + "outputs": [{"internalType": "uint8", "name": "", "type": "uint8"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "requestedDecrease", + "type": "uint256", + }, + ], + "name": "decreaseAllowance", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256", + }, + ], + "name": "increaseAllowance", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "name", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "paused", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "symbol", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "transfer", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "transferFrom", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + ], + "functions_names": [ + "allowance", + "approve", + "balanceOf", + "decimals", + "decreaseAllowance", + "increaseAllowance", + "name", + "paused", + "symbol", + "totalSupply", + "transfer", + "transferFrom", + ], + }, + "c6e7ee66": { + "name": "ERC20VotesCompMock", + "selector": "c6e7ee66", + "abi": [ + { + "inputs": [], + "name": "DOMAIN_SEPARATOR", + "outputs": [{"internalType": "bytes32", "name": "", "type": "bytes32"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "address", "name": "spender", "type": "address"}, + ], + "name": "allowance", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "approve", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"} + ], + "name": "balanceOf", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + {"internalType": "uint32", "name": "pos", "type": "uint32"}, + ], + "name": "checkpoints", + "outputs": [ + { + "components": [ + { + "internalType": "uint32", + "name": "fromBlock", + "type": "uint32", + }, + { + "internalType": "uint224", + "name": "votes", + "type": "uint224", + }, + ], + "internalType": "struct ERC20Votes.Checkpoint", + "name": "", + "type": "tuple", + } + ], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "decimals", + "outputs": [{"internalType": "uint8", "name": "", "type": "uint8"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "subtractedValue", + "type": "uint256", + }, + ], + "name": "decreaseAllowance", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "delegatee", "type": "address"} + ], + "name": "delegate", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "delegatee", "type": "address"}, + {"internalType": "uint256", "name": "nonce", "type": "uint256"}, + {"internalType": "uint256", "name": "expiry", "type": "uint256"}, + {"internalType": "uint8", "name": "v", "type": "uint8"}, + {"internalType": "bytes32", "name": "r", "type": "bytes32"}, + {"internalType": "bytes32", "name": "s", "type": "bytes32"}, + ], + "name": "delegateBySig", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"} + ], + "name": "delegates", + "outputs": [{"internalType": "address", "name": "", "type": "address"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "getChainId", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"} + ], + "name": "getCurrentVotes", + "outputs": [{"internalType": "uint96", "name": "", "type": "uint96"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "blockNumber", + "type": "uint256", + } + ], + "name": "getPastTotalSupply", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + { + "internalType": "uint256", + "name": "blockNumber", + "type": "uint256", + }, + ], + "name": "getPastVotes", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + { + "internalType": "uint256", + "name": "blockNumber", + "type": "uint256", + }, + ], + "name": "getPriorVotes", + "outputs": [{"internalType": "uint96", "name": "", "type": "uint96"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"} + ], + "name": "getVotes", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256", + }, + ], + "name": "increaseAllowance", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "name", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"} + ], + "name": "nonces", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"} + ], + "name": "numCheckpoints", + "outputs": [{"internalType": "uint32", "name": "", "type": "uint32"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "address", "name": "spender", "type": "address"}, + {"internalType": "uint256", "name": "value", "type": "uint256"}, + {"internalType": "uint256", "name": "deadline", "type": "uint256"}, + {"internalType": "uint8", "name": "v", "type": "uint8"}, + {"internalType": "bytes32", "name": "r", "type": "bytes32"}, + {"internalType": "bytes32", "name": "s", "type": "bytes32"}, + ], + "name": "permit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "symbol", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "transfer", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "transferFrom", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + ], + "functions_names": [ + "DOMAIN_SEPARATOR", + "allowance", + "approve", + "balanceOf", + "burn", + "checkpoints", + "decimals", + "decreaseAllowance", + "delegate", + "delegateBySig", + "delegates", + "getChainId", + "getCurrentVotes", + "getPastTotalSupply", + "getPastVotes", + "getPriorVotes", + "getVotes", + "increaseAllowance", + "mint", + "name", + "nonces", + "numCheckpoints", + "permit", + "symbol", + "totalSupply", + "transfer", + "transferFrom", + ], + }, + "0929daa4": { + "name": "ERC20ForceApproveMock", + "selector": "0929daa4", + "abi": [ + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "currentAllowance", + "type": "uint256", + }, + { + "internalType": "uint256", + "name": "requestedDecrease", + "type": "uint256", + }, + ], + "name": "ERC20FailedDecreaseAllowance", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + {"internalType": "uint256", "name": "allowance", "type": "uint256"}, + {"internalType": "uint256", "name": "needed", "type": "uint256"}, + ], + "name": "ERC20InsufficientAllowance", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"}, + {"internalType": "uint256", "name": "balance", "type": "uint256"}, + {"internalType": "uint256", "name": "needed", "type": "uint256"}, + ], + "name": "ERC20InsufficientBalance", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "approver", "type": "address"} + ], + "name": "ERC20InvalidApprover", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "receiver", "type": "address"} + ], + "name": "ERC20InvalidReceiver", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"} + ], + "name": "ERC20InvalidSender", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"} + ], + "name": "ERC20InvalidSpender", + "type": "error", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "owner", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "spender", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "value", + "type": "uint256", + }, + ], + "name": "Approval", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "from", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "to", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "value", + "type": "uint256", + }, + ], + "name": "Transfer", + "type": "event", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "address", "name": "spender", "type": "address"}, + ], + "name": "allowance", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "approve", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"} + ], + "name": "balanceOf", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "decimals", + "outputs": [{"internalType": "uint8", "name": "", "type": "uint8"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "requestedDecrease", + "type": "uint256", + }, + ], + "name": "decreaseAllowance", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256", + }, + ], + "name": "increaseAllowance", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "name", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "symbol", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "transfer", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "transferFrom", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + ], + "functions_names": [ + "allowance", + "approve", + "balanceOf", + "decimals", + "decreaseAllowance", + "increaseAllowance", + "name", + "symbol", + "totalSupply", + "transfer", + "transferFrom", + ], + }, + "d73f4e3a": { + "name": "ERC1155", + "selector": "d73f4e3a", + "abi": [ + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"}, + {"internalType": "address", "name": "owner", "type": "address"}, + ], + "name": "ERC1155InsufficientApprovalForAll", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"}, + {"internalType": "uint256", "name": "balance", "type": "uint256"}, + {"internalType": "uint256", "name": "needed", "type": "uint256"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "ERC1155InsufficientBalance", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "approver", "type": "address"} + ], + "name": "ERC1155InvalidApprover", + "type": "error", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "idsLength", "type": "uint256"}, + { + "internalType": "uint256", + "name": "valuesLength", + "type": "uint256", + }, + ], + "name": "ERC1155InvalidArrayLength", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"} + ], + "name": "ERC1155InvalidOperator", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "receiver", "type": "address"} + ], + "name": "ERC1155InvalidReceiver", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"} + ], + "name": "ERC1155InvalidSender", + "type": "error", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "account", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "operator", + "type": "address", + }, + { + "indexed": False, + "internalType": "bool", + "name": "approved", + "type": "bool", + }, + ], + "name": "ApprovalForAll", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "operator", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "from", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "to", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256[]", + "name": "ids", + "type": "uint256[]", + }, + { + "indexed": False, + "internalType": "uint256[]", + "name": "values", + "type": "uint256[]", + }, + ], + "name": "TransferBatch", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "operator", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "from", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "to", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "id", + "type": "uint256", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "value", + "type": "uint256", + }, + ], + "name": "TransferSingle", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": False, + "internalType": "string", + "name": "value", + "type": "string", + }, + { + "indexed": True, + "internalType": "uint256", + "name": "id", + "type": "uint256", + }, + ], + "name": "URI", + "type": "event", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + {"internalType": "uint256", "name": "id", "type": "uint256"}, + ], + "name": "balanceOf", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "accounts", + "type": "address[]", + }, + {"internalType": "uint256[]", "name": "ids", "type": "uint256[]"}, + ], + "name": "balanceOfBatch", + "outputs": [ + {"internalType": "uint256[]", "name": "", "type": "uint256[]"} + ], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + {"internalType": "address", "name": "operator", "type": "address"}, + ], + "name": "isApprovedForAll", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256[]", "name": "ids", "type": "uint256[]"}, + { + "internalType": "uint256[]", + "name": "amounts", + "type": "uint256[]", + }, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "safeBatchTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "id", "type": "uint256"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"}, + {"internalType": "bool", "name": "approved", "type": "bool"}, + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "name": "uri", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + ], + "functions_names": [ + "balanceOf", + "balanceOfBatch", + "isApprovedForAll", + "safeBatchTransferFrom", + "safeTransferFrom", + "setApprovalForAll", + "uri", + ], + }, + "e4143091": { + "name": "IERC3156FlashLender", + "selector": "e4143091", + "abi": [ + { + "inputs": [ + {"internalType": "address", "name": "token", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "flashFee", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + { + "internalType": "contract IERC3156FlashBorrower", + "name": "receiver", + "type": "address", + }, + {"internalType": "address", "name": "token", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "flashLoan", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "token", "type": "address"} + ], + "name": "maxFlashLoan", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + ], + "functions_names": ["flashFee", "flashLoan", "maxFlashLoan"], + }, + "65d2cb11": { + "name": "ERC20WrapperMock", + "selector": "65d2cb11", + "abi": [ + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "address", "name": "spender", "type": "address"}, + ], + "name": "allowance", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "approve", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"} + ], + "name": "balanceOf", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "decimals", + "outputs": [{"internalType": "uint8", "name": "", "type": "uint8"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "subtractedValue", + "type": "uint256", + }, + ], + "name": "decreaseAllowance", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "depositFor", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256", + }, + ], + "name": "increaseAllowance", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "name", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"} + ], + "name": "recover", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "symbol", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "transfer", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "transferFrom", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "underlying", + "outputs": [ + {"internalType": "contract IERC20", "name": "", "type": "address"} + ], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "withdrawTo", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + ], + "functions_names": [ + "allowance", + "approve", + "balanceOf", + "decimals", + "decreaseAllowance", + "depositFor", + "increaseAllowance", + "name", + "recover", + "symbol", + "totalSupply", + "transfer", + "transferFrom", + "underlying", + "withdrawTo", + ], + }, + "4e2312e0": { + "name": "ERC1155ReceiverMock", + "selector": "4e2312e0", + "abi": [ + { + "inputs": [ + {"internalType": "bytes4", "name": "recRetval", "type": "bytes4"}, + {"internalType": "bytes4", "name": "batRetval", "type": "bytes4"}, + { + "internalType": "enum ERC1155ReceiverMock.RevertType", + "name": "error", + "type": "uint8", + }, + ], + "stateMutability": "nonpayable", + "type": "constructor", + }, + { + "inputs": [{"internalType": "bytes4", "name": "", "type": "bytes4"}], + "name": "CustomError", + "type": "error", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": False, + "internalType": "address", + "name": "operator", + "type": "address", + }, + { + "indexed": False, + "internalType": "address", + "name": "from", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256[]", + "name": "ids", + "type": "uint256[]", + }, + { + "indexed": False, + "internalType": "uint256[]", + "name": "values", + "type": "uint256[]", + }, + { + "indexed": False, + "internalType": "bytes", + "name": "data", + "type": "bytes", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "gas", + "type": "uint256", + }, + ], + "name": "BatchReceived", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": False, + "internalType": "address", + "name": "operator", + "type": "address", + }, + { + "indexed": False, + "internalType": "address", + "name": "from", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "id", + "type": "uint256", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "value", + "type": "uint256", + }, + { + "indexed": False, + "internalType": "bytes", + "name": "data", + "type": "bytes", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "gas", + "type": "uint256", + }, + ], + "name": "Received", + "type": "event", + }, + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"}, + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "uint256[]", "name": "ids", "type": "uint256[]"}, + { + "internalType": "uint256[]", + "name": "values", + "type": "uint256[]", + }, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "onERC1155BatchReceived", + "outputs": [{"internalType": "bytes4", "name": "", "type": "bytes4"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"}, + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "uint256", "name": "id", "type": "uint256"}, + {"internalType": "uint256", "name": "value", "type": "uint256"}, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "onERC1155Received", + "outputs": [{"internalType": "bytes4", "name": "", "type": "bytes4"}], + "stateMutability": "nonpayable", + "type": "function", + }, + ], + "functions_names": ["onERC1155BatchReceived", "onERC1155Received"], + }, + "04cc9298": { + "name": "ERC721RoyaltyMock", + "selector": "04cc9298", + "abi": [ + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "approve", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"} + ], + "name": "balanceOf", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "deleteDefaultRoyalty", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "getApproved", + "outputs": [{"internalType": "address", "name": "", "type": "address"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "address", "name": "operator", "type": "address"}, + ], + "name": "isApprovedForAll", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "name", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "ownerOf", + "outputs": [{"internalType": "address", "name": "", "type": "address"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "_tokenId", "type": "uint256"}, + { + "internalType": "uint256", + "name": "_salePrice", + "type": "uint256", + }, + ], + "name": "royaltyInfo", + "outputs": [ + {"internalType": "address", "name": "", "type": "address"}, + {"internalType": "uint256", "name": "", "type": "uint256"}, + ], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"}, + {"internalType": "bool", "name": "approved", "type": "bool"}, + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "recipient", "type": "address"}, + {"internalType": "uint96", "name": "fraction", "type": "uint96"}, + ], + "name": "setDefaultRoyalty", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + {"internalType": "address", "name": "recipient", "type": "address"}, + {"internalType": "uint96", "name": "fraction", "type": "uint96"}, + ], + "name": "setTokenRoyalty", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "symbol", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "tokenURI", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + ], + "functions_names": [ + "approve", + "balanceOf", + "burn", + "deleteDefaultRoyalty", + "getApproved", + "isApprovedForAll", + "mint", + "name", + "ownerOf", + "royaltyInfo", + "safeTransferFrom", + "safeTransferFrom", + "setApprovalForAll", + "setDefaultRoyalty", + "setTokenRoyalty", + "symbol", + "tokenURI", + "transferFrom", + ], + }, + "c02c866a": { + "name": "ERC1155PausableMock", + "selector": "c02c866a", + "abi": [ + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + {"internalType": "uint256", "name": "id", "type": "uint256"}, + ], + "name": "balanceOf", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "accounts", + "type": "address[]", + }, + {"internalType": "uint256[]", "name": "ids", "type": "uint256[]"}, + ], + "name": "balanceOfBatch", + "outputs": [ + {"internalType": "uint256[]", "name": "", "type": "uint256[]"} + ], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "uint256", "name": "id", "type": "uint256"}, + {"internalType": "uint256", "name": "value", "type": "uint256"}, + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "uint256[]", "name": "ids", "type": "uint256[]"}, + { + "internalType": "uint256[]", + "name": "values", + "type": "uint256[]", + }, + ], + "name": "burnBatch", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + {"internalType": "address", "name": "operator", "type": "address"}, + ], + "name": "isApprovedForAll", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "id", "type": "uint256"}, + {"internalType": "uint256", "name": "value", "type": "uint256"}, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256[]", "name": "ids", "type": "uint256[]"}, + { + "internalType": "uint256[]", + "name": "values", + "type": "uint256[]", + }, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "mintBatch", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "pause", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "paused", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256[]", "name": "ids", "type": "uint256[]"}, + { + "internalType": "uint256[]", + "name": "amounts", + "type": "uint256[]", + }, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "safeBatchTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "id", "type": "uint256"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"}, + {"internalType": "bool", "name": "approved", "type": "bool"}, + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "string", "name": "newuri", "type": "string"} + ], + "name": "setURI", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "unpause", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "name": "uri", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + ], + "functions_names": [ + "balanceOf", + "balanceOfBatch", + "burn", + "burnBatch", + "isApprovedForAll", + "mint", + "mintBatch", + "pause", + "paused", + "safeBatchTransferFrom", + "safeTransferFrom", + "setApprovalForAll", + "setURI", + "unpause", + "uri", + ], + }, + "33a073c9": { + "name": "ERC20PausableMock", + "selector": "33a073c9", + "abi": [ + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "address", "name": "spender", "type": "address"}, + ], + "name": "allowance", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "approve", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"} + ], + "name": "balanceOf", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "decimals", + "outputs": [{"internalType": "uint8", "name": "", "type": "uint8"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "subtractedValue", + "type": "uint256", + }, + ], + "name": "decreaseAllowance", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256", + }, + ], + "name": "increaseAllowance", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "name", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "pause", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "paused", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "symbol", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "transfer", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "transferFrom", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "unpause", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + ], + "functions_names": [ + "allowance", + "approve", + "balanceOf", + "burn", + "decimals", + "decreaseAllowance", + "increaseAllowance", + "mint", + "name", + "pause", + "paused", + "symbol", + "totalSupply", + "transfer", + "transferFrom", + "unpause", + ], + }, + "dbf24b52": { + "name": "ERC721URIStorage", + "selector": "dbf24b52", + "abi": [ + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + {"internalType": "address", "name": "owner", "type": "address"}, + ], + "name": "ERC721IncorrectOwner", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "ERC721InsufficientApproval", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "approver", "type": "address"} + ], + "name": "ERC721InvalidApprover", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"} + ], + "name": "ERC721InvalidOperator", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"} + ], + "name": "ERC721InvalidOwner", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "receiver", "type": "address"} + ], + "name": "ERC721InvalidReceiver", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"} + ], + "name": "ERC721InvalidSender", + "type": "error", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "ERC721NonexistentToken", + "type": "error", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "owner", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "approved", + "type": "address", + }, + { + "indexed": True, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256", + }, + ], + "name": "Approval", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "owner", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "operator", + "type": "address", + }, + { + "indexed": False, + "internalType": "bool", + "name": "approved", + "type": "bool", + }, + ], + "name": "ApprovalForAll", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": False, + "internalType": "uint256", + "name": "_fromTokenId", + "type": "uint256", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "_toTokenId", + "type": "uint256", + }, + ], + "name": "BatchMetadataUpdate", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": False, + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256", + } + ], + "name": "MetadataUpdate", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "from", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "to", + "type": "address", + }, + { + "indexed": True, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256", + }, + ], + "name": "Transfer", + "type": "event", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "approve", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"} + ], + "name": "balanceOf", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "getApproved", + "outputs": [{"internalType": "address", "name": "", "type": "address"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "address", "name": "operator", "type": "address"}, + ], + "name": "isApprovedForAll", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "name", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "ownerOf", + "outputs": [{"internalType": "address", "name": "", "type": "address"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"}, + {"internalType": "bool", "name": "approved", "type": "bool"}, + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "symbol", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "tokenURI", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + ], + "functions_names": [ + "approve", + "balanceOf", + "getApproved", + "isApprovedForAll", + "name", + "ownerOf", + "safeTransferFrom", + "safeTransferFrom", + "setApprovalForAll", + "symbol", + "tokenURI", + "transferFrom", + ], + }, + "4e2312e0": { + "name": "ERC1155Receiver", + "selector": "4e2312e0", + "abi": [ + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"}, + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "uint256[]", "name": "ids", "type": "uint256[]"}, + { + "internalType": "uint256[]", + "name": "values", + "type": "uint256[]", + }, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "onERC1155BatchReceived", + "outputs": [{"internalType": "bytes4", "name": "", "type": "bytes4"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"}, + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "uint256", "name": "id", "type": "uint256"}, + {"internalType": "uint256", "name": "value", "type": "uint256"}, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "onERC1155Received", + "outputs": [{"internalType": "bytes4", "name": "", "type": "bytes4"}], + "stateMutability": "nonpayable", + "type": "function", + }, + ], + "functions_names": ["onERC1155BatchReceived", "onERC1155Received"], + }, + "da287a1d": { + "name": "IERC6372", + "selector": "da287a1d", + "abi": [ + { + "inputs": [], + "name": "CLOCK_MODE", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "clock", + "outputs": [{"internalType": "uint48", "name": "", "type": "uint48"}], + "stateMutability": "view", + "type": "function", + }, + ], + "functions_names": ["CLOCK_MODE", "clock"], + }, + "182e8a08": { + "name": "ERC1271WalletMock", + "selector": "182e8a08", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "originalOwner", + "type": "address", + } + ], + "stateMutability": "nonpayable", + "type": "constructor", + }, + {"inputs": [], "name": "ECDSAInvalidSignature", "type": "error"}, + { + "inputs": [ + {"internalType": "uint256", "name": "length", "type": "uint256"} + ], + "name": "ECDSAInvalidSignatureLength", + "type": "error", + }, + { + "inputs": [{"internalType": "bytes32", "name": "s", "type": "bytes32"}], + "name": "ECDSAInvalidSignatureS", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"} + ], + "name": "OwnableInvalidOwner", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"} + ], + "name": "OwnableUnauthorizedAccount", + "type": "error", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "previousOwner", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "newOwner", + "type": "address", + }, + ], + "name": "OwnershipTransferred", + "type": "event", + }, + { + "inputs": [ + {"internalType": "bytes32", "name": "hash", "type": "bytes32"}, + {"internalType": "bytes", "name": "signature", "type": "bytes"}, + ], + "name": "isValidSignature", + "outputs": [ + {"internalType": "bytes4", "name": "magicValue", "type": "bytes4"} + ], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "owner", + "outputs": [{"internalType": "address", "name": "", "type": "address"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "newOwner", "type": "address"} + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + ], + "functions_names": [ + "isValidSignature", + "owner", + "renounceOwnership", + "transferOwnership", + ], + }, + "12ab25d7": { + "name": "ERC721VotesTimestampMock", + "selector": "12ab25d7", + "abi": [ + {"inputs": [], "name": "CheckpointUnorderedInsertion", "type": "error"}, + {"inputs": [], "name": "ECDSAInvalidSignature", "type": "error"}, + { + "inputs": [ + {"internalType": "uint256", "name": "length", "type": "uint256"} + ], + "name": "ECDSAInvalidSignatureLength", + "type": "error", + }, + { + "inputs": [{"internalType": "bytes32", "name": "s", "type": "bytes32"}], + "name": "ECDSAInvalidSignatureS", + "type": "error", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "timepoint", "type": "uint256"}, + {"internalType": "uint48", "name": "clock", "type": "uint48"}, + ], + "name": "ERC5805FutureLookup", + "type": "error", + }, + {"inputs": [], "name": "ERC6372InconsistentClock", "type": "error"}, + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + {"internalType": "address", "name": "owner", "type": "address"}, + ], + "name": "ERC721IncorrectOwner", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "ERC721InsufficientApproval", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "approver", "type": "address"} + ], + "name": "ERC721InvalidApprover", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"} + ], + "name": "ERC721InvalidOperator", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"} + ], + "name": "ERC721InvalidOwner", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "receiver", "type": "address"} + ], + "name": "ERC721InvalidReceiver", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"} + ], + "name": "ERC721InvalidSender", + "type": "error", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "ERC721NonexistentToken", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + { + "internalType": "uint256", + "name": "currentNonce", + "type": "uint256", + }, + ], + "name": "InvalidAccountNonce", + "type": "error", + }, + { + "inputs": [ + {"internalType": "uint8", "name": "bits", "type": "uint8"}, + {"internalType": "uint256", "name": "value", "type": "uint256"}, + ], + "name": "SafeCastOverflowedUintDowncast", + "type": "error", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "expiry", "type": "uint256"} + ], + "name": "VotesExpiredSignature", + "type": "error", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "owner", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "approved", + "type": "address", + }, + { + "indexed": True, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256", + }, + ], + "name": "Approval", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "owner", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "operator", + "type": "address", + }, + { + "indexed": False, + "internalType": "bool", + "name": "approved", + "type": "bool", + }, + ], + "name": "ApprovalForAll", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "delegator", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "fromDelegate", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "toDelegate", + "type": "address", + }, + ], + "name": "DelegateChanged", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "delegate", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "previousBalance", + "type": "uint256", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "newBalance", + "type": "uint256", + }, + ], + "name": "DelegateVotesChanged", + "type": "event", + }, + { + "anonymous": False, + "inputs": [], + "name": "EIP712DomainChanged", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "from", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "to", + "type": "address", + }, + { + "indexed": True, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256", + }, + ], + "name": "Transfer", + "type": "event", + }, + { + "inputs": [], + "name": "CLOCK_MODE", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "approve", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"} + ], + "name": "balanceOf", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "clock", + "outputs": [{"internalType": "uint48", "name": "", "type": "uint48"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "delegatee", "type": "address"} + ], + "name": "delegate", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "delegatee", "type": "address"}, + {"internalType": "uint256", "name": "nonce", "type": "uint256"}, + {"internalType": "uint256", "name": "expiry", "type": "uint256"}, + {"internalType": "uint8", "name": "v", "type": "uint8"}, + {"internalType": "bytes32", "name": "r", "type": "bytes32"}, + {"internalType": "bytes32", "name": "s", "type": "bytes32"}, + ], + "name": "delegateBySig", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"} + ], + "name": "delegates", + "outputs": [{"internalType": "address", "name": "", "type": "address"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "eip712Domain", + "outputs": [ + {"internalType": "bytes1", "name": "fields", "type": "bytes1"}, + {"internalType": "string", "name": "name", "type": "string"}, + {"internalType": "string", "name": "version", "type": "string"}, + {"internalType": "uint256", "name": "chainId", "type": "uint256"}, + { + "internalType": "address", + "name": "verifyingContract", + "type": "address", + }, + {"internalType": "bytes32", "name": "salt", "type": "bytes32"}, + { + "internalType": "uint256[]", + "name": "extensions", + "type": "uint256[]", + }, + ], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "getApproved", + "outputs": [{"internalType": "address", "name": "", "type": "address"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "timepoint", "type": "uint256"} + ], + "name": "getPastTotalSupply", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + {"internalType": "uint256", "name": "timepoint", "type": "uint256"}, + ], + "name": "getPastVotes", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"} + ], + "name": "getVotes", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "address", "name": "operator", "type": "address"}, + ], + "name": "isApprovedForAll", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "name", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"} + ], + "name": "nonces", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "ownerOf", + "outputs": [{"internalType": "address", "name": "", "type": "address"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"}, + {"internalType": "bool", "name": "approved", "type": "bool"}, + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "symbol", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "tokenURI", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + ], + "functions_names": [ + "CLOCK_MODE", + "approve", + "balanceOf", + "clock", + "delegate", + "delegateBySig", + "delegates", + "eip712Domain", + "getApproved", + "getPastTotalSupply", + "getPastVotes", + "getVotes", + "isApprovedForAll", + "name", + "nonces", + "ownerOf", + "safeTransferFrom", + "safeTransferFrom", + "setApprovalForAll", + "symbol", + "tokenURI", + "transferFrom", + ], + }, + "8a3350b0": { + "name": "ERC777PresetFixedSupply", + "selector": "8a3350b0", + "abi": [ + { + "inputs": [ + {"internalType": "address", "name": "holder", "type": "address"}, + {"internalType": "address", "name": "spender", "type": "address"}, + ], + "name": "allowance", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + {"internalType": "uint256", "name": "value", "type": "uint256"}, + ], + "name": "approve", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"} + ], + "name": "authorizeOperator", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + { + "internalType": "address", + "name": "tokenHolder", + "type": "address", + } + ], + "name": "balanceOf", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "decimals", + "outputs": [{"internalType": "uint8", "name": "", "type": "uint8"}], + "stateMutability": "pure", + "type": "function", + }, + { + "inputs": [], + "name": "defaultOperators", + "outputs": [ + {"internalType": "address[]", "name": "", "type": "address[]"} + ], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "granularity", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"}, + { + "internalType": "address", + "name": "tokenHolder", + "type": "address", + }, + ], + "name": "isOperatorFor", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "name", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + {"internalType": "bytes", "name": "operatorData", "type": "bytes"}, + ], + "name": "operatorBurn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"}, + {"internalType": "address", "name": "recipient", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + {"internalType": "bytes", "name": "operatorData", "type": "bytes"}, + ], + "name": "operatorSend", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"} + ], + "name": "revokeOperator", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "recipient", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "send", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "symbol", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "recipient", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "transfer", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "holder", "type": "address"}, + {"internalType": "address", "name": "recipient", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "transferFrom", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + ], + "functions_names": [ + "allowance", + "approve", + "authorizeOperator", + "balanceOf", + "burn", + "decimals", + "defaultOperators", + "granularity", + "isOperatorFor", + "name", + "operatorBurn", + "operatorSend", + "revokeOperator", + "send", + "symbol", + "totalSupply", + "transfer", + "transferFrom", + ], + }, + "150b7a02": { + "name": "ERC721ReceiverMock", + "selector": "150b7a02", + "abi": [ + { + "inputs": [ + {"internalType": "bytes4", "name": "retval", "type": "bytes4"}, + { + "internalType": "enum ERC721ReceiverMock.RevertType", + "name": "error", + "type": "uint8", + }, + ], + "stateMutability": "nonpayable", + "type": "constructor", + }, + { + "inputs": [{"internalType": "bytes4", "name": "", "type": "bytes4"}], + "name": "CustomError", + "type": "error", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": False, + "internalType": "address", + "name": "operator", + "type": "address", + }, + { + "indexed": False, + "internalType": "address", + "name": "from", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256", + }, + { + "indexed": False, + "internalType": "bytes", + "name": "data", + "type": "bytes", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "gas", + "type": "uint256", + }, + ], + "name": "Received", + "type": "event", + }, + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"}, + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "onERC721Received", + "outputs": [{"internalType": "bytes4", "name": "", "type": "bytes4"}], + "stateMutability": "nonpayable", + "type": "function", + }, + ], + "functions_names": ["onERC721Received"], + }, + "493600a4": { + "name": "ERC1155Burnable", + "selector": "493600a4", + "abi": [ + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"}, + {"internalType": "address", "name": "owner", "type": "address"}, + ], + "name": "ERC1155InsufficientApprovalForAll", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"}, + {"internalType": "uint256", "name": "balance", "type": "uint256"}, + {"internalType": "uint256", "name": "needed", "type": "uint256"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "ERC1155InsufficientBalance", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "approver", "type": "address"} + ], + "name": "ERC1155InvalidApprover", + "type": "error", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "idsLength", "type": "uint256"}, + { + "internalType": "uint256", + "name": "valuesLength", + "type": "uint256", + }, + ], + "name": "ERC1155InvalidArrayLength", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"} + ], + "name": "ERC1155InvalidOperator", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "receiver", "type": "address"} + ], + "name": "ERC1155InvalidReceiver", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"} + ], + "name": "ERC1155InvalidSender", + "type": "error", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "account", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "operator", + "type": "address", + }, + { + "indexed": False, + "internalType": "bool", + "name": "approved", + "type": "bool", + }, + ], + "name": "ApprovalForAll", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "operator", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "from", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "to", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256[]", + "name": "ids", + "type": "uint256[]", + }, + { + "indexed": False, + "internalType": "uint256[]", + "name": "values", + "type": "uint256[]", + }, + ], + "name": "TransferBatch", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "operator", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "from", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "to", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "id", + "type": "uint256", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "value", + "type": "uint256", + }, + ], + "name": "TransferSingle", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": False, + "internalType": "string", + "name": "value", + "type": "string", + }, + { + "indexed": True, + "internalType": "uint256", + "name": "id", + "type": "uint256", + }, + ], + "name": "URI", + "type": "event", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + {"internalType": "uint256", "name": "id", "type": "uint256"}, + ], + "name": "balanceOf", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "accounts", + "type": "address[]", + }, + {"internalType": "uint256[]", "name": "ids", "type": "uint256[]"}, + ], + "name": "balanceOfBatch", + "outputs": [ + {"internalType": "uint256[]", "name": "", "type": "uint256[]"} + ], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + {"internalType": "uint256", "name": "id", "type": "uint256"}, + {"internalType": "uint256", "name": "value", "type": "uint256"}, + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + {"internalType": "uint256[]", "name": "ids", "type": "uint256[]"}, + { + "internalType": "uint256[]", + "name": "values", + "type": "uint256[]", + }, + ], + "name": "burnBatch", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + {"internalType": "address", "name": "operator", "type": "address"}, + ], + "name": "isApprovedForAll", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256[]", "name": "ids", "type": "uint256[]"}, + { + "internalType": "uint256[]", + "name": "amounts", + "type": "uint256[]", + }, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "safeBatchTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "id", "type": "uint256"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"}, + {"internalType": "bool", "name": "approved", "type": "bool"}, + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "name": "uri", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + ], + "functions_names": [ + "balanceOf", + "balanceOfBatch", + "burn", + "burnBatch", + "isApprovedForAll", + "safeBatchTransferFrom", + "safeTransferFrom", + "setApprovalForAll", + "uri", + ], + }, + "01ffc9a7": { + "name": "ERC165", + "selector": "01ffc9a7", + "abi": [ + { + "inputs": [ + {"internalType": "bytes4", "name": "interfaceId", "type": "bytes4"} + ], + "name": "supportsInterface", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "view", + "type": "function", + } + ], + "functions_names": ["supportsInterface"], + }, + "70a649ce": { + "name": "ERC1155PresetMinterPauser", + "selector": "70a649ce", + "abi": [ + { + "inputs": [], + "name": "DEFAULT_ADMIN_ROLE", + "outputs": [{"internalType": "bytes32", "name": "", "type": "bytes32"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "MINTER_ROLE", + "outputs": [{"internalType": "bytes32", "name": "", "type": "bytes32"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "PAUSER_ROLE", + "outputs": [{"internalType": "bytes32", "name": "", "type": "bytes32"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + {"internalType": "uint256", "name": "id", "type": "uint256"}, + ], + "name": "balanceOf", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "accounts", + "type": "address[]", + }, + {"internalType": "uint256[]", "name": "ids", "type": "uint256[]"}, + ], + "name": "balanceOfBatch", + "outputs": [ + {"internalType": "uint256[]", "name": "", "type": "uint256[]"} + ], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + {"internalType": "uint256", "name": "id", "type": "uint256"}, + {"internalType": "uint256", "name": "value", "type": "uint256"}, + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + {"internalType": "uint256[]", "name": "ids", "type": "uint256[]"}, + { + "internalType": "uint256[]", + "name": "values", + "type": "uint256[]", + }, + ], + "name": "burnBatch", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "bytes32", "name": "role", "type": "bytes32"} + ], + "name": "getRoleAdmin", + "outputs": [{"internalType": "bytes32", "name": "", "type": "bytes32"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "bytes32", "name": "role", "type": "bytes32"}, + {"internalType": "uint256", "name": "index", "type": "uint256"}, + ], + "name": "getRoleMember", + "outputs": [{"internalType": "address", "name": "", "type": "address"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "bytes32", "name": "role", "type": "bytes32"} + ], + "name": "getRoleMemberCount", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "bytes32", "name": "role", "type": "bytes32"}, + {"internalType": "address", "name": "account", "type": "address"}, + ], + "name": "grantRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "bytes32", "name": "role", "type": "bytes32"}, + {"internalType": "address", "name": "account", "type": "address"}, + ], + "name": "hasRole", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + {"internalType": "address", "name": "operator", "type": "address"}, + ], + "name": "isApprovedForAll", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "id", "type": "uint256"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256[]", "name": "ids", "type": "uint256[]"}, + { + "internalType": "uint256[]", + "name": "amounts", + "type": "uint256[]", + }, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "mintBatch", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "pause", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "paused", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "bytes32", "name": "role", "type": "bytes32"}, + {"internalType": "address", "name": "account", "type": "address"}, + ], + "name": "renounceRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "bytes32", "name": "role", "type": "bytes32"}, + {"internalType": "address", "name": "account", "type": "address"}, + ], + "name": "revokeRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256[]", "name": "ids", "type": "uint256[]"}, + { + "internalType": "uint256[]", + "name": "amounts", + "type": "uint256[]", + }, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "safeBatchTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "id", "type": "uint256"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"}, + {"internalType": "bool", "name": "approved", "type": "bool"}, + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "unpause", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "name": "uri", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + ], + "functions_names": [ + "DEFAULT_ADMIN_ROLE", + "MINTER_ROLE", + "PAUSER_ROLE", + "balanceOf", + "balanceOfBatch", + "burn", + "burnBatch", + "getRoleAdmin", + "getRoleMember", + "getRoleMemberCount", + "grantRole", + "hasRole", + "isApprovedForAll", + "mint", + "mintBatch", + "pause", + "paused", + "renounceRole", + "revokeRole", + "safeBatchTransferFrom", + "safeTransferFrom", + "setApprovalForAll", + "unpause", + "uri", + ], + }, + "171c304d": { + "name": "ERC721Wrapper", + "selector": "171c304d", + "abi": [ + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + {"internalType": "address", "name": "owner", "type": "address"}, + ], + "name": "ERC721IncorrectOwner", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "ERC721InsufficientApproval", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "approver", "type": "address"} + ], + "name": "ERC721InvalidApprover", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"} + ], + "name": "ERC721InvalidOperator", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"} + ], + "name": "ERC721InvalidOwner", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "receiver", "type": "address"} + ], + "name": "ERC721InvalidReceiver", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"} + ], + "name": "ERC721InvalidSender", + "type": "error", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "ERC721NonexistentToken", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "token", "type": "address"} + ], + "name": "ERC721UnsupportedToken", + "type": "error", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "owner", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "approved", + "type": "address", + }, + { + "indexed": True, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256", + }, + ], + "name": "Approval", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "owner", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "operator", + "type": "address", + }, + { + "indexed": False, + "internalType": "bool", + "name": "approved", + "type": "bool", + }, + ], + "name": "ApprovalForAll", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "from", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "to", + "type": "address", + }, + { + "indexed": True, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256", + }, + ], + "name": "Transfer", + "type": "event", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "approve", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"} + ], + "name": "balanceOf", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + { + "internalType": "uint256[]", + "name": "tokenIds", + "type": "uint256[]", + }, + ], + "name": "depositFor", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "getApproved", + "outputs": [{"internalType": "address", "name": "", "type": "address"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "address", "name": "operator", "type": "address"}, + ], + "name": "isApprovedForAll", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "name", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "", "type": "address"}, + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + {"internalType": "bytes", "name": "", "type": "bytes"}, + ], + "name": "onERC721Received", + "outputs": [{"internalType": "bytes4", "name": "", "type": "bytes4"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "ownerOf", + "outputs": [{"internalType": "address", "name": "", "type": "address"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"}, + {"internalType": "bool", "name": "approved", "type": "bool"}, + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "symbol", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "tokenURI", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "underlying", + "outputs": [ + {"internalType": "contract IERC721", "name": "", "type": "address"} + ], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + { + "internalType": "uint256[]", + "name": "tokenIds", + "type": "uint256[]", + }, + ], + "name": "withdrawTo", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + ], + "functions_names": [ + "approve", + "balanceOf", + "depositFor", + "getApproved", + "isApprovedForAll", + "name", + "onERC721Received", + "ownerOf", + "safeTransferFrom", + "safeTransferFrom", + "setApprovalForAll", + "symbol", + "tokenURI", + "transferFrom", + "underlying", + "withdrawTo", + ], + }, + "8ef63f04": { + "name": "ERC4626FeesMock", + "selector": "8ef63f04", + "abi": [ + { + "inputs": [ + {"internalType": "address", "name": "target", "type": "address"} + ], + "name": "AddressEmptyCode", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"} + ], + "name": "AddressInsufficientBalance", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "currentAllowance", + "type": "uint256", + }, + { + "internalType": "uint256", + "name": "requestedDecrease", + "type": "uint256", + }, + ], + "name": "ERC20FailedDecreaseAllowance", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + {"internalType": "uint256", "name": "allowance", "type": "uint256"}, + {"internalType": "uint256", "name": "needed", "type": "uint256"}, + ], + "name": "ERC20InsufficientAllowance", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"}, + {"internalType": "uint256", "name": "balance", "type": "uint256"}, + {"internalType": "uint256", "name": "needed", "type": "uint256"}, + ], + "name": "ERC20InsufficientBalance", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "approver", "type": "address"} + ], + "name": "ERC20InvalidApprover", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "receiver", "type": "address"} + ], + "name": "ERC20InvalidReceiver", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"} + ], + "name": "ERC20InvalidSender", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"} + ], + "name": "ERC20InvalidSpender", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "receiver", "type": "address"}, + {"internalType": "uint256", "name": "assets", "type": "uint256"}, + {"internalType": "uint256", "name": "max", "type": "uint256"}, + ], + "name": "ERC4626ExceededMaxDeposit", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "receiver", "type": "address"}, + {"internalType": "uint256", "name": "shares", "type": "uint256"}, + {"internalType": "uint256", "name": "max", "type": "uint256"}, + ], + "name": "ERC4626ExceededMaxMint", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "uint256", "name": "shares", "type": "uint256"}, + {"internalType": "uint256", "name": "max", "type": "uint256"}, + ], + "name": "ERC4626ExceededMaxRedeem", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "uint256", "name": "assets", "type": "uint256"}, + {"internalType": "uint256", "name": "max", "type": "uint256"}, + ], + "name": "ERC4626ExceededMaxWithdraw", + "type": "error", + }, + {"inputs": [], "name": "FailedInnerCall", "type": "error"}, + {"inputs": [], "name": "MathOverflowedMulDiv", "type": "error"}, + { + "inputs": [ + {"internalType": "address", "name": "token", "type": "address"} + ], + "name": "SafeERC20FailedOperation", + "type": "error", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "owner", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "spender", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "value", + "type": "uint256", + }, + ], + "name": "Approval", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "sender", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "owner", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "assets", + "type": "uint256", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "shares", + "type": "uint256", + }, + ], + "name": "Deposit", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "from", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "to", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "value", + "type": "uint256", + }, + ], + "name": "Transfer", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "sender", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "receiver", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "owner", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "assets", + "type": "uint256", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "shares", + "type": "uint256", + }, + ], + "name": "Withdraw", + "type": "event", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "address", "name": "spender", "type": "address"}, + ], + "name": "allowance", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "approve", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "asset", + "outputs": [{"internalType": "address", "name": "", "type": "address"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"} + ], + "name": "balanceOf", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "shares", "type": "uint256"} + ], + "name": "convertToAssets", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "assets", "type": "uint256"} + ], + "name": "convertToShares", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "decimals", + "outputs": [{"internalType": "uint8", "name": "", "type": "uint8"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "requestedDecrease", + "type": "uint256", + }, + ], + "name": "decreaseAllowance", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "assets", "type": "uint256"}, + {"internalType": "address", "name": "receiver", "type": "address"}, + ], + "name": "deposit", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256", + }, + ], + "name": "increaseAllowance", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [{"internalType": "address", "name": "", "type": "address"}], + "name": "maxDeposit", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [{"internalType": "address", "name": "", "type": "address"}], + "name": "maxMint", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"} + ], + "name": "maxRedeem", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"} + ], + "name": "maxWithdraw", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "shares", "type": "uint256"}, + {"internalType": "address", "name": "receiver", "type": "address"}, + ], + "name": "mint", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "name", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "assets", "type": "uint256"} + ], + "name": "previewDeposit", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "shares", "type": "uint256"} + ], + "name": "previewMint", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "shares", "type": "uint256"} + ], + "name": "previewRedeem", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "assets", "type": "uint256"} + ], + "name": "previewWithdraw", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "shares", "type": "uint256"}, + {"internalType": "address", "name": "receiver", "type": "address"}, + {"internalType": "address", "name": "owner", "type": "address"}, + ], + "name": "redeem", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "symbol", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "totalAssets", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "transfer", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "transferFrom", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "assets", "type": "uint256"}, + {"internalType": "address", "name": "receiver", "type": "address"}, + {"internalType": "address", "name": "owner", "type": "address"}, + ], + "name": "withdraw", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "nonpayable", + "type": "function", + }, + ], + "functions_names": [ + "allowance", + "approve", + "asset", + "balanceOf", + "convertToAssets", + "convertToShares", + "decimals", + "decreaseAllowance", + "deposit", + "increaseAllowance", + "maxDeposit", + "maxMint", + "maxRedeem", + "maxWithdraw", + "mint", + "name", + "previewDeposit", + "previewMint", + "previewRedeem", + "previewWithdraw", + "redeem", + "symbol", + "totalAssets", + "totalSupply", + "transfer", + "transferFrom", + "withdraw", + ], + }, + "7b04a2d0": { + "name": "IERC1363Spender", + "selector": "7b04a2d0", + "abi": [ + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "onApprovalReceived", + "outputs": [{"internalType": "bytes4", "name": "", "type": "bytes4"}], + "stateMutability": "nonpayable", + "type": "function", + } + ], + "functions_names": ["onApprovalReceived"], + }, + "0929daa4": { + "name": "ERC20", + "selector": "0929daa4", + "abi": [ + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "currentAllowance", + "type": "uint256", + }, + { + "internalType": "uint256", + "name": "requestedDecrease", + "type": "uint256", + }, + ], + "name": "ERC20FailedDecreaseAllowance", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + {"internalType": "uint256", "name": "allowance", "type": "uint256"}, + {"internalType": "uint256", "name": "needed", "type": "uint256"}, + ], + "name": "ERC20InsufficientAllowance", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"}, + {"internalType": "uint256", "name": "balance", "type": "uint256"}, + {"internalType": "uint256", "name": "needed", "type": "uint256"}, + ], + "name": "ERC20InsufficientBalance", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "approver", "type": "address"} + ], + "name": "ERC20InvalidApprover", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "receiver", "type": "address"} + ], + "name": "ERC20InvalidReceiver", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"} + ], + "name": "ERC20InvalidSender", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"} + ], + "name": "ERC20InvalidSpender", + "type": "error", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "owner", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "spender", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "value", + "type": "uint256", + }, + ], + "name": "Approval", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "from", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "to", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "value", + "type": "uint256", + }, + ], + "name": "Transfer", + "type": "event", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "address", "name": "spender", "type": "address"}, + ], + "name": "allowance", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "approve", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"} + ], + "name": "balanceOf", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "decimals", + "outputs": [{"internalType": "uint8", "name": "", "type": "uint8"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "requestedDecrease", + "type": "uint256", + }, + ], + "name": "decreaseAllowance", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256", + }, + ], + "name": "increaseAllowance", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "name", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "symbol", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "transfer", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "transferFrom", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + ], + "functions_names": [ + "allowance", + "approve", + "balanceOf", + "decimals", + "decreaseAllowance", + "increaseAllowance", + "name", + "symbol", + "totalSupply", + "transfer", + "transferFrom", + ], + }, + "8ef63f04": { + "name": "ERC4626", + "selector": "8ef63f04", + "abi": [ + { + "inputs": [ + {"internalType": "address", "name": "target", "type": "address"} + ], + "name": "AddressEmptyCode", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"} + ], + "name": "AddressInsufficientBalance", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "currentAllowance", + "type": "uint256", + }, + { + "internalType": "uint256", + "name": "requestedDecrease", + "type": "uint256", + }, + ], + "name": "ERC20FailedDecreaseAllowance", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + {"internalType": "uint256", "name": "allowance", "type": "uint256"}, + {"internalType": "uint256", "name": "needed", "type": "uint256"}, + ], + "name": "ERC20InsufficientAllowance", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"}, + {"internalType": "uint256", "name": "balance", "type": "uint256"}, + {"internalType": "uint256", "name": "needed", "type": "uint256"}, + ], + "name": "ERC20InsufficientBalance", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "approver", "type": "address"} + ], + "name": "ERC20InvalidApprover", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "receiver", "type": "address"} + ], + "name": "ERC20InvalidReceiver", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"} + ], + "name": "ERC20InvalidSender", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"} + ], + "name": "ERC20InvalidSpender", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "receiver", "type": "address"}, + {"internalType": "uint256", "name": "assets", "type": "uint256"}, + {"internalType": "uint256", "name": "max", "type": "uint256"}, + ], + "name": "ERC4626ExceededMaxDeposit", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "receiver", "type": "address"}, + {"internalType": "uint256", "name": "shares", "type": "uint256"}, + {"internalType": "uint256", "name": "max", "type": "uint256"}, + ], + "name": "ERC4626ExceededMaxMint", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "uint256", "name": "shares", "type": "uint256"}, + {"internalType": "uint256", "name": "max", "type": "uint256"}, + ], + "name": "ERC4626ExceededMaxRedeem", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "uint256", "name": "assets", "type": "uint256"}, + {"internalType": "uint256", "name": "max", "type": "uint256"}, + ], + "name": "ERC4626ExceededMaxWithdraw", + "type": "error", + }, + {"inputs": [], "name": "FailedInnerCall", "type": "error"}, + {"inputs": [], "name": "MathOverflowedMulDiv", "type": "error"}, + { + "inputs": [ + {"internalType": "address", "name": "token", "type": "address"} + ], + "name": "SafeERC20FailedOperation", + "type": "error", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "owner", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "spender", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "value", + "type": "uint256", + }, + ], + "name": "Approval", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "sender", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "owner", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "assets", + "type": "uint256", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "shares", + "type": "uint256", + }, + ], + "name": "Deposit", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "from", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "to", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "value", + "type": "uint256", + }, + ], + "name": "Transfer", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "sender", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "receiver", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "owner", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "assets", + "type": "uint256", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "shares", + "type": "uint256", + }, + ], + "name": "Withdraw", + "type": "event", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "address", "name": "spender", "type": "address"}, + ], + "name": "allowance", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "approve", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "asset", + "outputs": [{"internalType": "address", "name": "", "type": "address"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"} + ], + "name": "balanceOf", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "shares", "type": "uint256"} + ], + "name": "convertToAssets", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "assets", "type": "uint256"} + ], + "name": "convertToShares", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "decimals", + "outputs": [{"internalType": "uint8", "name": "", "type": "uint8"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "requestedDecrease", + "type": "uint256", + }, + ], + "name": "decreaseAllowance", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "assets", "type": "uint256"}, + {"internalType": "address", "name": "receiver", "type": "address"}, + ], + "name": "deposit", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256", + }, + ], + "name": "increaseAllowance", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [{"internalType": "address", "name": "", "type": "address"}], + "name": "maxDeposit", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [{"internalType": "address", "name": "", "type": "address"}], + "name": "maxMint", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"} + ], + "name": "maxRedeem", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"} + ], + "name": "maxWithdraw", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "shares", "type": "uint256"}, + {"internalType": "address", "name": "receiver", "type": "address"}, + ], + "name": "mint", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "name", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "assets", "type": "uint256"} + ], + "name": "previewDeposit", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "shares", "type": "uint256"} + ], + "name": "previewMint", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "shares", "type": "uint256"} + ], + "name": "previewRedeem", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "assets", "type": "uint256"} + ], + "name": "previewWithdraw", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "shares", "type": "uint256"}, + {"internalType": "address", "name": "receiver", "type": "address"}, + {"internalType": "address", "name": "owner", "type": "address"}, + ], + "name": "redeem", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "symbol", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "totalAssets", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "transfer", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "transferFrom", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "assets", "type": "uint256"}, + {"internalType": "address", "name": "receiver", "type": "address"}, + {"internalType": "address", "name": "owner", "type": "address"}, + ], + "name": "withdraw", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "nonpayable", + "type": "function", + }, + ], + "functions_names": [ + "allowance", + "approve", + "asset", + "balanceOf", + "convertToAssets", + "convertToShares", + "decimals", + "decreaseAllowance", + "deposit", + "increaseAllowance", + "maxDeposit", + "maxMint", + "maxRedeem", + "maxWithdraw", + "mint", + "name", + "previewDeposit", + "previewMint", + "previewRedeem", + "previewWithdraw", + "redeem", + "symbol", + "totalAssets", + "totalSupply", + "transfer", + "transferFrom", + "withdraw", + ], + }, + "0929daa4": { + "name": "ERC20NoReturnMock", + "selector": "0929daa4", + "abi": [ + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "currentAllowance", + "type": "uint256", + }, + { + "internalType": "uint256", + "name": "requestedDecrease", + "type": "uint256", + }, + ], + "name": "ERC20FailedDecreaseAllowance", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + {"internalType": "uint256", "name": "allowance", "type": "uint256"}, + {"internalType": "uint256", "name": "needed", "type": "uint256"}, + ], + "name": "ERC20InsufficientAllowance", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"}, + {"internalType": "uint256", "name": "balance", "type": "uint256"}, + {"internalType": "uint256", "name": "needed", "type": "uint256"}, + ], + "name": "ERC20InsufficientBalance", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "approver", "type": "address"} + ], + "name": "ERC20InvalidApprover", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "receiver", "type": "address"} + ], + "name": "ERC20InvalidReceiver", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"} + ], + "name": "ERC20InvalidSender", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"} + ], + "name": "ERC20InvalidSpender", + "type": "error", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "owner", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "spender", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "value", + "type": "uint256", + }, + ], + "name": "Approval", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "from", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "to", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "value", + "type": "uint256", + }, + ], + "name": "Transfer", + "type": "event", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "address", "name": "spender", "type": "address"}, + ], + "name": "allowance", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "approve", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"} + ], + "name": "balanceOf", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "decimals", + "outputs": [{"internalType": "uint8", "name": "", "type": "uint8"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "requestedDecrease", + "type": "uint256", + }, + ], + "name": "decreaseAllowance", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256", + }, + ], + "name": "increaseAllowance", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "name", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "symbol", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "transfer", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "transferFrom", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + ], + "functions_names": [ + "allowance", + "approve", + "balanceOf", + "decimals", + "decreaseAllowance", + "increaseAllowance", + "name", + "symbol", + "totalSupply", + "transfer", + "transferFrom", + ], + }, + "52d1902d": { + "name": "IERC1822Proxiable", + "selector": "52d1902d", + "abi": [ + { + "inputs": [], + "name": "proxiableUUID", + "outputs": [{"internalType": "bytes32", "name": "", "type": "bytes32"}], + "stateMutability": "view", + "type": "function", + } + ], + "functions_names": ["proxiableUUID"], + }, + "75ab9782": { + "name": "IERC777Sender", + "selector": "75ab9782", + "abi": [ + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"}, + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + {"internalType": "bytes", "name": "userData", "type": "bytes"}, + {"internalType": "bytes", "name": "operatorData", "type": "bytes"}, + ], + "name": "tokensToSend", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + } + ], + "functions_names": ["tokensToSend"], + }, + "a0aec90e": { + "name": "ERC20PermitMock", + "selector": "a0aec90e", + "abi": [ + { + "inputs": [], + "name": "DOMAIN_SEPARATOR", + "outputs": [{"internalType": "bytes32", "name": "", "type": "bytes32"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "address", "name": "spender", "type": "address"}, + ], + "name": "allowance", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "approve", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"} + ], + "name": "balanceOf", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "decimals", + "outputs": [{"internalType": "uint8", "name": "", "type": "uint8"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "subtractedValue", + "type": "uint256", + }, + ], + "name": "decreaseAllowance", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "getChainId", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256", + }, + ], + "name": "increaseAllowance", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "name", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"} + ], + "name": "nonces", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "address", "name": "spender", "type": "address"}, + {"internalType": "uint256", "name": "value", "type": "uint256"}, + {"internalType": "uint256", "name": "deadline", "type": "uint256"}, + {"internalType": "uint8", "name": "v", "type": "uint8"}, + {"internalType": "bytes32", "name": "r", "type": "bytes32"}, + {"internalType": "bytes32", "name": "s", "type": "bytes32"}, + ], + "name": "permit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "symbol", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "transfer", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "transferFrom", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + ], + "functions_names": [ + "DOMAIN_SEPARATOR", + "allowance", + "approve", + "balanceOf", + "decimals", + "decreaseAllowance", + "getChainId", + "increaseAllowance", + "name", + "nonces", + "permit", + "symbol", + "totalSupply", + "transfer", + "transferFrom", + ], + }, + "67c4067b": { + "name": "ERC20VotesLegacyMock", + "selector": "67c4067b", + "abi": [ + {"inputs": [], "name": "ECDSAInvalidSignature", "type": "error"}, + { + "inputs": [ + {"internalType": "uint256", "name": "length", "type": "uint256"} + ], + "name": "ECDSAInvalidSignatureLength", + "type": "error", + }, + { + "inputs": [{"internalType": "bytes32", "name": "s", "type": "bytes32"}], + "name": "ECDSAInvalidSignatureS", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "currentAllowance", + "type": "uint256", + }, + { + "internalType": "uint256", + "name": "requestedDecrease", + "type": "uint256", + }, + ], + "name": "ERC20FailedDecreaseAllowance", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + {"internalType": "uint256", "name": "allowance", "type": "uint256"}, + {"internalType": "uint256", "name": "needed", "type": "uint256"}, + ], + "name": "ERC20InsufficientAllowance", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"}, + {"internalType": "uint256", "name": "balance", "type": "uint256"}, + {"internalType": "uint256", "name": "needed", "type": "uint256"}, + ], + "name": "ERC20InsufficientBalance", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "approver", "type": "address"} + ], + "name": "ERC20InvalidApprover", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "receiver", "type": "address"} + ], + "name": "ERC20InvalidReceiver", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"} + ], + "name": "ERC20InvalidSender", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"} + ], + "name": "ERC20InvalidSpender", + "type": "error", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "deadline", "type": "uint256"} + ], + "name": "ERC2612ExpiredSignature", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "signer", "type": "address"}, + {"internalType": "address", "name": "owner", "type": "address"}, + ], + "name": "ERC2612InvalidSigner", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + { + "internalType": "uint256", + "name": "currentNonce", + "type": "uint256", + }, + ], + "name": "InvalidAccountNonce", + "type": "error", + }, + { + "inputs": [ + {"internalType": "uint8", "name": "bits", "type": "uint8"}, + {"internalType": "uint256", "name": "value", "type": "uint256"}, + ], + "name": "SafeCastOverflowedUintDowncast", + "type": "error", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "expiry", "type": "uint256"} + ], + "name": "VotesExpiredSignature", + "type": "error", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "owner", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "spender", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "value", + "type": "uint256", + }, + ], + "name": "Approval", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "delegator", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "fromDelegate", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "toDelegate", + "type": "address", + }, + ], + "name": "DelegateChanged", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "delegate", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "previousBalance", + "type": "uint256", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "newBalance", + "type": "uint256", + }, + ], + "name": "DelegateVotesChanged", + "type": "event", + }, + { + "anonymous": False, + "inputs": [], + "name": "EIP712DomainChanged", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "from", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "to", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "value", + "type": "uint256", + }, + ], + "name": "Transfer", + "type": "event", + }, + { + "inputs": [], + "name": "DOMAIN_SEPARATOR", + "outputs": [{"internalType": "bytes32", "name": "", "type": "bytes32"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "address", "name": "spender", "type": "address"}, + ], + "name": "allowance", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "approve", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"} + ], + "name": "balanceOf", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + {"internalType": "uint32", "name": "pos", "type": "uint32"}, + ], + "name": "checkpoints", + "outputs": [ + { + "components": [ + { + "internalType": "uint32", + "name": "fromBlock", + "type": "uint32", + }, + { + "internalType": "uint224", + "name": "votes", + "type": "uint224", + }, + ], + "internalType": "struct ERC20VotesLegacyMock.Checkpoint", + "name": "", + "type": "tuple", + } + ], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "decimals", + "outputs": [{"internalType": "uint8", "name": "", "type": "uint8"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "requestedDecrease", + "type": "uint256", + }, + ], + "name": "decreaseAllowance", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "delegatee", "type": "address"} + ], + "name": "delegate", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "delegatee", "type": "address"}, + {"internalType": "uint256", "name": "nonce", "type": "uint256"}, + {"internalType": "uint256", "name": "expiry", "type": "uint256"}, + {"internalType": "uint8", "name": "v", "type": "uint8"}, + {"internalType": "bytes32", "name": "r", "type": "bytes32"}, + {"internalType": "bytes32", "name": "s", "type": "bytes32"}, + ], + "name": "delegateBySig", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"} + ], + "name": "delegates", + "outputs": [{"internalType": "address", "name": "", "type": "address"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "eip712Domain", + "outputs": [ + {"internalType": "bytes1", "name": "fields", "type": "bytes1"}, + {"internalType": "string", "name": "name", "type": "string"}, + {"internalType": "string", "name": "version", "type": "string"}, + {"internalType": "uint256", "name": "chainId", "type": "uint256"}, + { + "internalType": "address", + "name": "verifyingContract", + "type": "address", + }, + {"internalType": "bytes32", "name": "salt", "type": "bytes32"}, + { + "internalType": "uint256[]", + "name": "extensions", + "type": "uint256[]", + }, + ], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "blockNumber", + "type": "uint256", + } + ], + "name": "getPastTotalSupply", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + { + "internalType": "uint256", + "name": "blockNumber", + "type": "uint256", + }, + ], + "name": "getPastVotes", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"} + ], + "name": "getVotes", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256", + }, + ], + "name": "increaseAllowance", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "name", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"} + ], + "name": "nonces", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"} + ], + "name": "numCheckpoints", + "outputs": [{"internalType": "uint32", "name": "", "type": "uint32"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "address", "name": "spender", "type": "address"}, + {"internalType": "uint256", "name": "value", "type": "uint256"}, + {"internalType": "uint256", "name": "deadline", "type": "uint256"}, + {"internalType": "uint8", "name": "v", "type": "uint8"}, + {"internalType": "bytes32", "name": "r", "type": "bytes32"}, + {"internalType": "bytes32", "name": "s", "type": "bytes32"}, + ], + "name": "permit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "symbol", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "transfer", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "transferFrom", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + ], + "functions_names": [ + "DOMAIN_SEPARATOR", + "allowance", + "approve", + "balanceOf", + "checkpoints", + "decimals", + "decreaseAllowance", + "delegate", + "delegateBySig", + "delegates", + "eip712Domain", + "getPastTotalSupply", + "getPastVotes", + "getVotes", + "increaseAllowance", + "name", + "nonces", + "numCheckpoints", + "permit", + "symbol", + "totalSupply", + "transfer", + "transferFrom", + ], + }, + "3273d15c": { + "name": "ERC20BurnableMock", + "selector": "3273d15c", + "abi": [ + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "address", "name": "spender", "type": "address"}, + ], + "name": "allowance", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "approve", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"} + ], + "name": "balanceOf", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "amount", "type": "uint256"} + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "burnFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "decimals", + "outputs": [{"internalType": "uint8", "name": "", "type": "uint8"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "subtractedValue", + "type": "uint256", + }, + ], + "name": "decreaseAllowance", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256", + }, + ], + "name": "increaseAllowance", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "name", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "symbol", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "transfer", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "transferFrom", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + ], + "functions_names": [ + "allowance", + "approve", + "balanceOf", + "burn", + "burnFrom", + "decimals", + "decreaseAllowance", + "increaseAllowance", + "name", + "symbol", + "totalSupply", + "transfer", + "transferFrom", + ], + }, + "1626ba7e": { + "name": "IERC1271", + "selector": "1626ba7e", + "abi": [ + { + "inputs": [ + {"internalType": "bytes32", "name": "hash", "type": "bytes32"}, + {"internalType": "bytes", "name": "signature", "type": "bytes"}, + ], + "name": "isValidSignature", + "outputs": [ + {"internalType": "bytes4", "name": "magicValue", "type": "bytes4"} + ], + "stateMutability": "view", + "type": "function", + } + ], + "functions_names": ["isValidSignature"], + }, + "4e2312e0": { + "name": "ERC1155Holder", + "selector": "4e2312e0", + "abi": [ + { + "inputs": [ + {"internalType": "address", "name": "", "type": "address"}, + {"internalType": "address", "name": "", "type": "address"}, + {"internalType": "uint256[]", "name": "", "type": "uint256[]"}, + {"internalType": "uint256[]", "name": "", "type": "uint256[]"}, + {"internalType": "bytes", "name": "", "type": "bytes"}, + ], + "name": "onERC1155BatchReceived", + "outputs": [{"internalType": "bytes4", "name": "", "type": "bytes4"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "", "type": "address"}, + {"internalType": "address", "name": "", "type": "address"}, + {"internalType": "uint256", "name": "", "type": "uint256"}, + {"internalType": "uint256", "name": "", "type": "uint256"}, + {"internalType": "bytes", "name": "", "type": "bytes"}, + ], + "name": "onERC1155Received", + "outputs": [{"internalType": "bytes4", "name": "", "type": "bytes4"}], + "stateMutability": "nonpayable", + "type": "function", + }, + ], + "functions_names": ["onERC1155BatchReceived", "onERC1155Received"], + }, + "80ac58cd": { + "name": "IERC721", + "selector": "80ac58cd", + "abi": [ + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "owner", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "approved", + "type": "address", + }, + { + "indexed": True, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256", + }, + ], + "name": "Approval", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "owner", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "operator", + "type": "address", + }, + { + "indexed": False, + "internalType": "bool", + "name": "approved", + "type": "bool", + }, + ], + "name": "ApprovalForAll", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "from", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "to", + "type": "address", + }, + { + "indexed": True, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256", + }, + ], + "name": "Transfer", + "type": "event", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "approve", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"} + ], + "name": "balanceOf", + "outputs": [ + {"internalType": "uint256", "name": "balance", "type": "uint256"} + ], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "getApproved", + "outputs": [ + {"internalType": "address", "name": "operator", "type": "address"} + ], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "address", "name": "operator", "type": "address"}, + ], + "name": "isApprovedForAll", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "ownerOf", + "outputs": [ + {"internalType": "address", "name": "owner", "type": "address"} + ], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"}, + {"internalType": "bool", "name": "approved", "type": "bool"}, + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + ], + "functions_names": [ + "approve", + "balanceOf", + "getApproved", + "isApprovedForAll", + "ownerOf", + "safeTransferFrom", + "safeTransferFrom", + "setApprovalForAll", + "transferFrom", + ], + }, + "4e3c7f6c": { + "name": "ERC721ConsecutiveMock", + "selector": "4e3c7f6c", + "abi": [ + { + "inputs": [ + {"internalType": "string", "name": "name", "type": "string"}, + {"internalType": "string", "name": "symbol", "type": "string"}, + {"internalType": "uint96", "name": "offset", "type": "uint96"}, + { + "internalType": "address[]", + "name": "delegates", + "type": "address[]", + }, + { + "internalType": "address[]", + "name": "receivers", + "type": "address[]", + }, + {"internalType": "uint96[]", "name": "amounts", "type": "uint96[]"}, + ], + "stateMutability": "nonpayable", + "type": "constructor", + }, + {"inputs": [], "name": "CheckpointUnorderedInsertion", "type": "error"}, + {"inputs": [], "name": "ECDSAInvalidSignature", "type": "error"}, + { + "inputs": [ + {"internalType": "uint256", "name": "length", "type": "uint256"} + ], + "name": "ECDSAInvalidSignatureLength", + "type": "error", + }, + { + "inputs": [{"internalType": "bytes32", "name": "s", "type": "bytes32"}], + "name": "ECDSAInvalidSignatureS", + "type": "error", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "timepoint", "type": "uint256"}, + {"internalType": "uint48", "name": "clock", "type": "uint48"}, + ], + "name": "ERC5805FutureLookup", + "type": "error", + }, + {"inputs": [], "name": "ERC6372InconsistentClock", "type": "error"}, + { + "inputs": [ + {"internalType": "uint256", "name": "batchSize", "type": "uint256"}, + {"internalType": "uint256", "name": "maxBatch", "type": "uint256"}, + ], + "name": "ERC721ExceededMaxBatchMint", + "type": "error", + }, + {"inputs": [], "name": "ERC721ForbiddenBatchBurn", "type": "error"}, + {"inputs": [], "name": "ERC721ForbiddenBatchMint", "type": "error"}, + {"inputs": [], "name": "ERC721ForbiddenMint", "type": "error"}, + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + {"internalType": "address", "name": "owner", "type": "address"}, + ], + "name": "ERC721IncorrectOwner", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "ERC721InsufficientApproval", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "approver", "type": "address"} + ], + "name": "ERC721InvalidApprover", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"} + ], + "name": "ERC721InvalidOperator", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"} + ], + "name": "ERC721InvalidOwner", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "receiver", "type": "address"} + ], + "name": "ERC721InvalidReceiver", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"} + ], + "name": "ERC721InvalidSender", + "type": "error", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "ERC721NonexistentToken", + "type": "error", + }, + {"inputs": [], "name": "EnforcedPause", "type": "error"}, + {"inputs": [], "name": "ExpectedPause", "type": "error"}, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + { + "internalType": "uint256", + "name": "currentNonce", + "type": "uint256", + }, + ], + "name": "InvalidAccountNonce", + "type": "error", + }, + { + "inputs": [ + {"internalType": "uint8", "name": "bits", "type": "uint8"}, + {"internalType": "uint256", "name": "value", "type": "uint256"}, + ], + "name": "SafeCastOverflowedUintDowncast", + "type": "error", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "expiry", "type": "uint256"} + ], + "name": "VotesExpiredSignature", + "type": "error", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "owner", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "approved", + "type": "address", + }, + { + "indexed": True, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256", + }, + ], + "name": "Approval", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "owner", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "operator", + "type": "address", + }, + { + "indexed": False, + "internalType": "bool", + "name": "approved", + "type": "bool", + }, + ], + "name": "ApprovalForAll", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "uint256", + "name": "fromTokenId", + "type": "uint256", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "toTokenId", + "type": "uint256", + }, + { + "indexed": True, + "internalType": "address", + "name": "fromAddress", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "toAddress", + "type": "address", + }, + ], + "name": "ConsecutiveTransfer", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "delegator", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "fromDelegate", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "toDelegate", + "type": "address", + }, + ], + "name": "DelegateChanged", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "delegate", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "previousBalance", + "type": "uint256", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "newBalance", + "type": "uint256", + }, + ], + "name": "DelegateVotesChanged", + "type": "event", + }, + { + "anonymous": False, + "inputs": [], + "name": "EIP712DomainChanged", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": False, + "internalType": "address", + "name": "account", + "type": "address", + } + ], + "name": "Paused", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "from", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "to", + "type": "address", + }, + { + "indexed": True, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256", + }, + ], + "name": "Transfer", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": False, + "internalType": "address", + "name": "account", + "type": "address", + } + ], + "name": "Unpaused", + "type": "event", + }, + { + "inputs": [], + "name": "CLOCK_MODE", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "approve", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"} + ], + "name": "balanceOf", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "clock", + "outputs": [{"internalType": "uint48", "name": "", "type": "uint48"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "delegatee", "type": "address"} + ], + "name": "delegate", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "delegatee", "type": "address"}, + {"internalType": "uint256", "name": "nonce", "type": "uint256"}, + {"internalType": "uint256", "name": "expiry", "type": "uint256"}, + {"internalType": "uint8", "name": "v", "type": "uint8"}, + {"internalType": "bytes32", "name": "r", "type": "bytes32"}, + {"internalType": "bytes32", "name": "s", "type": "bytes32"}, + ], + "name": "delegateBySig", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"} + ], + "name": "delegates", + "outputs": [{"internalType": "address", "name": "", "type": "address"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "eip712Domain", + "outputs": [ + {"internalType": "bytes1", "name": "fields", "type": "bytes1"}, + {"internalType": "string", "name": "name", "type": "string"}, + {"internalType": "string", "name": "version", "type": "string"}, + {"internalType": "uint256", "name": "chainId", "type": "uint256"}, + { + "internalType": "address", + "name": "verifyingContract", + "type": "address", + }, + {"internalType": "bytes32", "name": "salt", "type": "bytes32"}, + { + "internalType": "uint256[]", + "name": "extensions", + "type": "uint256[]", + }, + ], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "getApproved", + "outputs": [{"internalType": "address", "name": "", "type": "address"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "timepoint", "type": "uint256"} + ], + "name": "getPastTotalSupply", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + {"internalType": "uint256", "name": "timepoint", "type": "uint256"}, + ], + "name": "getPastVotes", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"} + ], + "name": "getVotes", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "address", "name": "operator", "type": "address"}, + ], + "name": "isApprovedForAll", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "name", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"} + ], + "name": "nonces", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "ownerOf", + "outputs": [{"internalType": "address", "name": "", "type": "address"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "paused", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"}, + {"internalType": "bool", "name": "approved", "type": "bool"}, + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "symbol", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "tokenURI", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + ], + "functions_names": [ + "CLOCK_MODE", + "approve", + "balanceOf", + "clock", + "delegate", + "delegateBySig", + "delegates", + "eip712Domain", + "getApproved", + "getPastTotalSupply", + "getPastVotes", + "getVotes", + "isApprovedForAll", + "name", + "nonces", + "ownerOf", + "paused", + "safeTransferFrom", + "safeTransferFrom", + "setApprovalForAll", + "symbol", + "tokenURI", + "transferFrom", + ], + }, + "a3fcd631": { + "name": "ERC721Enumerable", + "selector": "a3fcd631", + "abi": [ + { + "inputs": [], + "name": "ERC721EnumerableForbiddenBatchMint", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + {"internalType": "address", "name": "owner", "type": "address"}, + ], + "name": "ERC721IncorrectOwner", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "ERC721InsufficientApproval", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "approver", "type": "address"} + ], + "name": "ERC721InvalidApprover", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"} + ], + "name": "ERC721InvalidOperator", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"} + ], + "name": "ERC721InvalidOwner", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "receiver", "type": "address"} + ], + "name": "ERC721InvalidReceiver", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"} + ], + "name": "ERC721InvalidSender", + "type": "error", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "ERC721NonexistentToken", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "uint256", "name": "index", "type": "uint256"}, + ], + "name": "ERC721OutOfBoundsIndex", + "type": "error", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "owner", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "approved", + "type": "address", + }, + { + "indexed": True, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256", + }, + ], + "name": "Approval", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "owner", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "operator", + "type": "address", + }, + { + "indexed": False, + "internalType": "bool", + "name": "approved", + "type": "bool", + }, + ], + "name": "ApprovalForAll", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "from", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "to", + "type": "address", + }, + { + "indexed": True, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256", + }, + ], + "name": "Transfer", + "type": "event", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "approve", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"} + ], + "name": "balanceOf", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "getApproved", + "outputs": [{"internalType": "address", "name": "", "type": "address"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "address", "name": "operator", "type": "address"}, + ], + "name": "isApprovedForAll", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "name", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "ownerOf", + "outputs": [{"internalType": "address", "name": "", "type": "address"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"}, + {"internalType": "bool", "name": "approved", "type": "bool"}, + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "symbol", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "index", "type": "uint256"} + ], + "name": "tokenByIndex", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "uint256", "name": "index", "type": "uint256"}, + ], + "name": "tokenOfOwnerByIndex", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "tokenURI", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + ], + "functions_names": [ + "approve", + "balanceOf", + "getApproved", + "isApprovedForAll", + "name", + "ownerOf", + "safeTransferFrom", + "safeTransferFrom", + "setApprovalForAll", + "symbol", + "tokenByIndex", + "tokenOfOwnerByIndex", + "tokenURI", + "totalSupply", + "transferFrom", + ], + }, + "3df97da7": { + "name": "ERC1155Supply", + "selector": "3df97da7", + "abi": [ + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"}, + {"internalType": "address", "name": "owner", "type": "address"}, + ], + "name": "ERC1155InsufficientApprovalForAll", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"}, + {"internalType": "uint256", "name": "balance", "type": "uint256"}, + {"internalType": "uint256", "name": "needed", "type": "uint256"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "ERC1155InsufficientBalance", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "approver", "type": "address"} + ], + "name": "ERC1155InvalidApprover", + "type": "error", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "idsLength", "type": "uint256"}, + { + "internalType": "uint256", + "name": "valuesLength", + "type": "uint256", + }, + ], + "name": "ERC1155InvalidArrayLength", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"} + ], + "name": "ERC1155InvalidOperator", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "receiver", "type": "address"} + ], + "name": "ERC1155InvalidReceiver", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"} + ], + "name": "ERC1155InvalidSender", + "type": "error", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "account", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "operator", + "type": "address", + }, + { + "indexed": False, + "internalType": "bool", + "name": "approved", + "type": "bool", + }, + ], + "name": "ApprovalForAll", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "operator", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "from", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "to", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256[]", + "name": "ids", + "type": "uint256[]", + }, + { + "indexed": False, + "internalType": "uint256[]", + "name": "values", + "type": "uint256[]", + }, + ], + "name": "TransferBatch", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "operator", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "from", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "to", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "id", + "type": "uint256", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "value", + "type": "uint256", + }, + ], + "name": "TransferSingle", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": False, + "internalType": "string", + "name": "value", + "type": "string", + }, + { + "indexed": True, + "internalType": "uint256", + "name": "id", + "type": "uint256", + }, + ], + "name": "URI", + "type": "event", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + {"internalType": "uint256", "name": "id", "type": "uint256"}, + ], + "name": "balanceOf", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "accounts", + "type": "address[]", + }, + {"internalType": "uint256[]", "name": "ids", "type": "uint256[]"}, + ], + "name": "balanceOfBatch", + "outputs": [ + {"internalType": "uint256[]", "name": "", "type": "uint256[]"} + ], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "id", "type": "uint256"} + ], + "name": "exists", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + {"internalType": "address", "name": "operator", "type": "address"}, + ], + "name": "isApprovedForAll", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256[]", "name": "ids", "type": "uint256[]"}, + { + "internalType": "uint256[]", + "name": "amounts", + "type": "uint256[]", + }, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "safeBatchTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "id", "type": "uint256"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"}, + {"internalType": "bool", "name": "approved", "type": "bool"}, + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "id", "type": "uint256"} + ], + "name": "totalSupply", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "name": "uri", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + ], + "functions_names": [ + "balanceOf", + "balanceOfBatch", + "exists", + "isApprovedForAll", + "safeBatchTransferFrom", + "safeTransferFrom", + "setApprovalForAll", + "totalSupply", + "totalSupply", + "uri", + ], + }, + "23e30c8b": { + "name": "IERC3156FlashBorrower", + "selector": "23e30c8b", + "abi": [ + { + "inputs": [ + {"internalType": "address", "name": "initiator", "type": "address"}, + {"internalType": "address", "name": "token", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + {"internalType": "uint256", "name": "fee", "type": "uint256"}, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "onFlashLoan", + "outputs": [{"internalType": "bytes32", "name": "", "type": "bytes32"}], + "stateMutability": "nonpayable", + "type": "function", + } + ], + "functions_names": ["onFlashLoan"], + }, + "8ef63f04": { + "name": "ERC4626Fees", + "selector": "8ef63f04", + "abi": [ + { + "inputs": [ + {"internalType": "address", "name": "target", "type": "address"} + ], + "name": "AddressEmptyCode", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"} + ], + "name": "AddressInsufficientBalance", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "currentAllowance", + "type": "uint256", + }, + { + "internalType": "uint256", + "name": "requestedDecrease", + "type": "uint256", + }, + ], + "name": "ERC20FailedDecreaseAllowance", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + {"internalType": "uint256", "name": "allowance", "type": "uint256"}, + {"internalType": "uint256", "name": "needed", "type": "uint256"}, + ], + "name": "ERC20InsufficientAllowance", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"}, + {"internalType": "uint256", "name": "balance", "type": "uint256"}, + {"internalType": "uint256", "name": "needed", "type": "uint256"}, + ], + "name": "ERC20InsufficientBalance", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "approver", "type": "address"} + ], + "name": "ERC20InvalidApprover", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "receiver", "type": "address"} + ], + "name": "ERC20InvalidReceiver", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"} + ], + "name": "ERC20InvalidSender", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"} + ], + "name": "ERC20InvalidSpender", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "receiver", "type": "address"}, + {"internalType": "uint256", "name": "assets", "type": "uint256"}, + {"internalType": "uint256", "name": "max", "type": "uint256"}, + ], + "name": "ERC4626ExceededMaxDeposit", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "receiver", "type": "address"}, + {"internalType": "uint256", "name": "shares", "type": "uint256"}, + {"internalType": "uint256", "name": "max", "type": "uint256"}, + ], + "name": "ERC4626ExceededMaxMint", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "uint256", "name": "shares", "type": "uint256"}, + {"internalType": "uint256", "name": "max", "type": "uint256"}, + ], + "name": "ERC4626ExceededMaxRedeem", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "uint256", "name": "assets", "type": "uint256"}, + {"internalType": "uint256", "name": "max", "type": "uint256"}, + ], + "name": "ERC4626ExceededMaxWithdraw", + "type": "error", + }, + {"inputs": [], "name": "FailedInnerCall", "type": "error"}, + {"inputs": [], "name": "MathOverflowedMulDiv", "type": "error"}, + { + "inputs": [ + {"internalType": "address", "name": "token", "type": "address"} + ], + "name": "SafeERC20FailedOperation", + "type": "error", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "owner", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "spender", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "value", + "type": "uint256", + }, + ], + "name": "Approval", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "sender", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "owner", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "assets", + "type": "uint256", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "shares", + "type": "uint256", + }, + ], + "name": "Deposit", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "from", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "to", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "value", + "type": "uint256", + }, + ], + "name": "Transfer", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "sender", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "receiver", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "owner", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "assets", + "type": "uint256", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "shares", + "type": "uint256", + }, + ], + "name": "Withdraw", + "type": "event", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "address", "name": "spender", "type": "address"}, + ], + "name": "allowance", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "approve", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "asset", + "outputs": [{"internalType": "address", "name": "", "type": "address"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"} + ], + "name": "balanceOf", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "shares", "type": "uint256"} + ], + "name": "convertToAssets", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "assets", "type": "uint256"} + ], + "name": "convertToShares", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "decimals", + "outputs": [{"internalType": "uint8", "name": "", "type": "uint8"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "requestedDecrease", + "type": "uint256", + }, + ], + "name": "decreaseAllowance", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "assets", "type": "uint256"}, + {"internalType": "address", "name": "receiver", "type": "address"}, + ], + "name": "deposit", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256", + }, + ], + "name": "increaseAllowance", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [{"internalType": "address", "name": "", "type": "address"}], + "name": "maxDeposit", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [{"internalType": "address", "name": "", "type": "address"}], + "name": "maxMint", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"} + ], + "name": "maxRedeem", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"} + ], + "name": "maxWithdraw", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "shares", "type": "uint256"}, + {"internalType": "address", "name": "receiver", "type": "address"}, + ], + "name": "mint", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "name", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "assets", "type": "uint256"} + ], + "name": "previewDeposit", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "shares", "type": "uint256"} + ], + "name": "previewMint", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "shares", "type": "uint256"} + ], + "name": "previewRedeem", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "assets", "type": "uint256"} + ], + "name": "previewWithdraw", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "shares", "type": "uint256"}, + {"internalType": "address", "name": "receiver", "type": "address"}, + {"internalType": "address", "name": "owner", "type": "address"}, + ], + "name": "redeem", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "symbol", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "totalAssets", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "transfer", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "transferFrom", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "assets", "type": "uint256"}, + {"internalType": "address", "name": "receiver", "type": "address"}, + {"internalType": "address", "name": "owner", "type": "address"}, + ], + "name": "withdraw", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "nonpayable", + "type": "function", + }, + ], + "functions_names": [ + "allowance", + "approve", + "asset", + "balanceOf", + "convertToAssets", + "convertToShares", + "decimals", + "decreaseAllowance", + "deposit", + "increaseAllowance", + "maxDeposit", + "maxMint", + "maxRedeem", + "maxWithdraw", + "mint", + "name", + "previewDeposit", + "previewMint", + "previewRedeem", + "previewWithdraw", + "redeem", + "symbol", + "totalAssets", + "totalSupply", + "transfer", + "transferFrom", + "withdraw", + ], + }, + "a5bf8a7c": { + "name": "ERC20MulticallMock", + "selector": "a5bf8a7c", + "abi": [ + { + "inputs": [ + {"internalType": "address", "name": "target", "type": "address"} + ], + "name": "AddressEmptyCode", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "currentAllowance", + "type": "uint256", + }, + { + "internalType": "uint256", + "name": "requestedDecrease", + "type": "uint256", + }, + ], + "name": "ERC20FailedDecreaseAllowance", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + {"internalType": "uint256", "name": "allowance", "type": "uint256"}, + {"internalType": "uint256", "name": "needed", "type": "uint256"}, + ], + "name": "ERC20InsufficientAllowance", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"}, + {"internalType": "uint256", "name": "balance", "type": "uint256"}, + {"internalType": "uint256", "name": "needed", "type": "uint256"}, + ], + "name": "ERC20InsufficientBalance", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "approver", "type": "address"} + ], + "name": "ERC20InvalidApprover", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "receiver", "type": "address"} + ], + "name": "ERC20InvalidReceiver", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"} + ], + "name": "ERC20InvalidSender", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"} + ], + "name": "ERC20InvalidSpender", + "type": "error", + }, + {"inputs": [], "name": "FailedInnerCall", "type": "error"}, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "owner", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "spender", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "value", + "type": "uint256", + }, + ], + "name": "Approval", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "from", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "to", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "value", + "type": "uint256", + }, + ], + "name": "Transfer", + "type": "event", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "address", "name": "spender", "type": "address"}, + ], + "name": "allowance", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "approve", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"} + ], + "name": "balanceOf", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "decimals", + "outputs": [{"internalType": "uint8", "name": "", "type": "uint8"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "requestedDecrease", + "type": "uint256", + }, + ], + "name": "decreaseAllowance", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256", + }, + ], + "name": "increaseAllowance", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "bytes[]", "name": "data", "type": "bytes[]"} + ], + "name": "multicall", + "outputs": [ + {"internalType": "bytes[]", "name": "results", "type": "bytes[]"} + ], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "name", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "symbol", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "transfer", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "transferFrom", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + ], + "functions_names": [ + "allowance", + "approve", + "balanceOf", + "decimals", + "decreaseAllowance", + "increaseAllowance", + "multicall", + "name", + "symbol", + "totalSupply", + "transfer", + "transferFrom", + ], + }, + "88a7ca5c": { + "name": "IERC1363Receiver", + "selector": "88a7ca5c", + "abi": [ + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"}, + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "onTransferReceived", + "outputs": [{"internalType": "bytes4", "name": "", "type": "bytes4"}], + "stateMutability": "nonpayable", + "type": "function", + } + ], + "functions_names": ["onTransferReceived"], + }, + "623e6f86": { + "name": "IERC1820Registry", + "selector": "623e6f86", + "abi": [ + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "account", + "type": "address", + }, + { + "indexed": True, + "internalType": "bytes32", + "name": "interfaceHash", + "type": "bytes32", + }, + { + "indexed": True, + "internalType": "address", + "name": "implementer", + "type": "address", + }, + ], + "name": "InterfaceImplementerSet", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "account", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "newManager", + "type": "address", + }, + ], + "name": "ManagerChanged", + "type": "event", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + { + "internalType": "bytes32", + "name": "_interfaceHash", + "type": "bytes32", + }, + ], + "name": "getInterfaceImplementer", + "outputs": [{"internalType": "address", "name": "", "type": "address"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"} + ], + "name": "getManager", + "outputs": [{"internalType": "address", "name": "", "type": "address"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + {"internalType": "bytes4", "name": "interfaceId", "type": "bytes4"}, + ], + "name": "implementsERC165Interface", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + {"internalType": "bytes4", "name": "interfaceId", "type": "bytes4"}, + ], + "name": "implementsERC165InterfaceNoCache", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + { + "internalType": "string", + "name": "interfaceName", + "type": "string", + } + ], + "name": "interfaceHash", + "outputs": [{"internalType": "bytes32", "name": "", "type": "bytes32"}], + "stateMutability": "pure", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + { + "internalType": "bytes32", + "name": "_interfaceHash", + "type": "bytes32", + }, + { + "internalType": "address", + "name": "implementer", + "type": "address", + }, + ], + "name": "setInterfaceImplementer", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + { + "internalType": "address", + "name": "newManager", + "type": "address", + }, + ], + "name": "setManager", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + {"internalType": "bytes4", "name": "interfaceId", "type": "bytes4"}, + ], + "name": "updateERC165Cache", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + ], + "functions_names": [ + "getInterfaceImplementer", + "getManager", + "implementsERC165Interface", + "implementsERC165InterfaceNoCache", + "interfaceHash", + "setInterfaceImplementer", + "setManager", + "updateERC165Cache", + ], + }, + "13f16e82": { + "name": "IERC4626", + "selector": "13f16e82", + "abi": [ + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "owner", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "spender", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "value", + "type": "uint256", + }, + ], + "name": "Approval", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "sender", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "owner", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "assets", + "type": "uint256", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "shares", + "type": "uint256", + }, + ], + "name": "Deposit", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "from", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "to", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "value", + "type": "uint256", + }, + ], + "name": "Transfer", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "sender", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "receiver", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "owner", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "assets", + "type": "uint256", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "shares", + "type": "uint256", + }, + ], + "name": "Withdraw", + "type": "event", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "address", "name": "spender", "type": "address"}, + ], + "name": "allowance", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "approve", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "asset", + "outputs": [ + { + "internalType": "address", + "name": "assetTokenAddress", + "type": "address", + } + ], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"} + ], + "name": "balanceOf", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "shares", "type": "uint256"} + ], + "name": "convertToAssets", + "outputs": [ + {"internalType": "uint256", "name": "assets", "type": "uint256"} + ], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "assets", "type": "uint256"} + ], + "name": "convertToShares", + "outputs": [ + {"internalType": "uint256", "name": "shares", "type": "uint256"} + ], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "decimals", + "outputs": [{"internalType": "uint8", "name": "", "type": "uint8"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "assets", "type": "uint256"}, + {"internalType": "address", "name": "receiver", "type": "address"}, + ], + "name": "deposit", + "outputs": [ + {"internalType": "uint256", "name": "shares", "type": "uint256"} + ], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "receiver", "type": "address"} + ], + "name": "maxDeposit", + "outputs": [ + {"internalType": "uint256", "name": "maxAssets", "type": "uint256"} + ], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "receiver", "type": "address"} + ], + "name": "maxMint", + "outputs": [ + {"internalType": "uint256", "name": "maxShares", "type": "uint256"} + ], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"} + ], + "name": "maxRedeem", + "outputs": [ + {"internalType": "uint256", "name": "maxShares", "type": "uint256"} + ], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"} + ], + "name": "maxWithdraw", + "outputs": [ + {"internalType": "uint256", "name": "maxAssets", "type": "uint256"} + ], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "shares", "type": "uint256"}, + {"internalType": "address", "name": "receiver", "type": "address"}, + ], + "name": "mint", + "outputs": [ + {"internalType": "uint256", "name": "assets", "type": "uint256"} + ], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "name", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "assets", "type": "uint256"} + ], + "name": "previewDeposit", + "outputs": [ + {"internalType": "uint256", "name": "shares", "type": "uint256"} + ], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "shares", "type": "uint256"} + ], + "name": "previewMint", + "outputs": [ + {"internalType": "uint256", "name": "assets", "type": "uint256"} + ], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "shares", "type": "uint256"} + ], + "name": "previewRedeem", + "outputs": [ + {"internalType": "uint256", "name": "assets", "type": "uint256"} + ], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "assets", "type": "uint256"} + ], + "name": "previewWithdraw", + "outputs": [ + {"internalType": "uint256", "name": "shares", "type": "uint256"} + ], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "shares", "type": "uint256"}, + {"internalType": "address", "name": "receiver", "type": "address"}, + {"internalType": "address", "name": "owner", "type": "address"}, + ], + "name": "redeem", + "outputs": [ + {"internalType": "uint256", "name": "assets", "type": "uint256"} + ], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "symbol", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "totalAssets", + "outputs": [ + { + "internalType": "uint256", + "name": "totalManagedAssets", + "type": "uint256", + } + ], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "transfer", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "transferFrom", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "assets", "type": "uint256"}, + {"internalType": "address", "name": "receiver", "type": "address"}, + {"internalType": "address", "name": "owner", "type": "address"}, + ], + "name": "withdraw", + "outputs": [ + {"internalType": "uint256", "name": "shares", "type": "uint256"} + ], + "stateMutability": "nonpayable", + "type": "function", + }, + ], + "functions_names": [ + "allowance", + "approve", + "asset", + "balanceOf", + "convertToAssets", + "convertToShares", + "decimals", + "deposit", + "maxDeposit", + "maxMint", + "maxRedeem", + "maxWithdraw", + "mint", + "name", + "previewDeposit", + "previewMint", + "previewRedeem", + "previewWithdraw", + "redeem", + "symbol", + "totalAssets", + "totalSupply", + "transfer", + "transferFrom", + "withdraw", + ], + }, + "8da5cb5b": { + "name": "IERC5313", + "selector": "8da5cb5b", + "abi": [ + { + "inputs": [], + "name": "owner", + "outputs": [{"internalType": "address", "name": "", "type": "address"}], + "stateMutability": "view", + "type": "function", + } + ], + "functions_names": ["owner"], + }, + "5ead35bc": { + "name": "ERC20Votes", + "selector": "5ead35bc", + "abi": [ + {"inputs": [], "name": "CheckpointUnorderedInsertion", "type": "error"}, + {"inputs": [], "name": "ECDSAInvalidSignature", "type": "error"}, + { + "inputs": [ + {"internalType": "uint256", "name": "length", "type": "uint256"} + ], + "name": "ECDSAInvalidSignatureLength", + "type": "error", + }, + { + "inputs": [{"internalType": "bytes32", "name": "s", "type": "bytes32"}], + "name": "ECDSAInvalidSignatureS", + "type": "error", + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "increasedSupply", + "type": "uint256", + }, + {"internalType": "uint256", "name": "cap", "type": "uint256"}, + ], + "name": "ERC20ExceededSafeSupply", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "currentAllowance", + "type": "uint256", + }, + { + "internalType": "uint256", + "name": "requestedDecrease", + "type": "uint256", + }, + ], + "name": "ERC20FailedDecreaseAllowance", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + {"internalType": "uint256", "name": "allowance", "type": "uint256"}, + {"internalType": "uint256", "name": "needed", "type": "uint256"}, + ], + "name": "ERC20InsufficientAllowance", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"}, + {"internalType": "uint256", "name": "balance", "type": "uint256"}, + {"internalType": "uint256", "name": "needed", "type": "uint256"}, + ], + "name": "ERC20InsufficientBalance", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "approver", "type": "address"} + ], + "name": "ERC20InvalidApprover", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "receiver", "type": "address"} + ], + "name": "ERC20InvalidReceiver", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"} + ], + "name": "ERC20InvalidSender", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"} + ], + "name": "ERC20InvalidSpender", + "type": "error", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "timepoint", "type": "uint256"}, + {"internalType": "uint48", "name": "clock", "type": "uint48"}, + ], + "name": "ERC5805FutureLookup", + "type": "error", + }, + {"inputs": [], "name": "ERC6372InconsistentClock", "type": "error"}, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + { + "internalType": "uint256", + "name": "currentNonce", + "type": "uint256", + }, + ], + "name": "InvalidAccountNonce", + "type": "error", + }, + { + "inputs": [ + {"internalType": "uint8", "name": "bits", "type": "uint8"}, + {"internalType": "uint256", "name": "value", "type": "uint256"}, + ], + "name": "SafeCastOverflowedUintDowncast", + "type": "error", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "expiry", "type": "uint256"} + ], + "name": "VotesExpiredSignature", + "type": "error", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "owner", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "spender", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "value", + "type": "uint256", + }, + ], + "name": "Approval", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "delegator", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "fromDelegate", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "toDelegate", + "type": "address", + }, + ], + "name": "DelegateChanged", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "delegate", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "previousBalance", + "type": "uint256", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "newBalance", + "type": "uint256", + }, + ], + "name": "DelegateVotesChanged", + "type": "event", + }, + { + "anonymous": False, + "inputs": [], + "name": "EIP712DomainChanged", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "from", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "to", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "value", + "type": "uint256", + }, + ], + "name": "Transfer", + "type": "event", + }, + { + "inputs": [], + "name": "CLOCK_MODE", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "address", "name": "spender", "type": "address"}, + ], + "name": "allowance", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "approve", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"} + ], + "name": "balanceOf", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + {"internalType": "uint32", "name": "pos", "type": "uint32"}, + ], + "name": "checkpoints", + "outputs": [ + { + "components": [ + { + "internalType": "uint32", + "name": "_key", + "type": "uint32", + }, + { + "internalType": "uint224", + "name": "_value", + "type": "uint224", + }, + ], + "internalType": "struct Checkpoints.Checkpoint224", + "name": "", + "type": "tuple", + } + ], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "clock", + "outputs": [{"internalType": "uint48", "name": "", "type": "uint48"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "decimals", + "outputs": [{"internalType": "uint8", "name": "", "type": "uint8"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "requestedDecrease", + "type": "uint256", + }, + ], + "name": "decreaseAllowance", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "delegatee", "type": "address"} + ], + "name": "delegate", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "delegatee", "type": "address"}, + {"internalType": "uint256", "name": "nonce", "type": "uint256"}, + {"internalType": "uint256", "name": "expiry", "type": "uint256"}, + {"internalType": "uint8", "name": "v", "type": "uint8"}, + {"internalType": "bytes32", "name": "r", "type": "bytes32"}, + {"internalType": "bytes32", "name": "s", "type": "bytes32"}, + ], + "name": "delegateBySig", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"} + ], + "name": "delegates", + "outputs": [{"internalType": "address", "name": "", "type": "address"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "eip712Domain", + "outputs": [ + {"internalType": "bytes1", "name": "fields", "type": "bytes1"}, + {"internalType": "string", "name": "name", "type": "string"}, + {"internalType": "string", "name": "version", "type": "string"}, + {"internalType": "uint256", "name": "chainId", "type": "uint256"}, + { + "internalType": "address", + "name": "verifyingContract", + "type": "address", + }, + {"internalType": "bytes32", "name": "salt", "type": "bytes32"}, + { + "internalType": "uint256[]", + "name": "extensions", + "type": "uint256[]", + }, + ], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "timepoint", "type": "uint256"} + ], + "name": "getPastTotalSupply", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + {"internalType": "uint256", "name": "timepoint", "type": "uint256"}, + ], + "name": "getPastVotes", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"} + ], + "name": "getVotes", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256", + }, + ], + "name": "increaseAllowance", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "name", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"} + ], + "name": "nonces", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"} + ], + "name": "numCheckpoints", + "outputs": [{"internalType": "uint32", "name": "", "type": "uint32"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "symbol", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "transfer", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "transferFrom", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + ], + "functions_names": [ + "CLOCK_MODE", + "allowance", + "approve", + "balanceOf", + "checkpoints", + "clock", + "decimals", + "decreaseAllowance", + "delegate", + "delegateBySig", + "delegates", + "eip712Domain", + "getPastTotalSupply", + "getPastVotes", + "getVotes", + "increaseAllowance", + "name", + "nonces", + "numCheckpoints", + "symbol", + "totalSupply", + "transfer", + "transferFrom", + ], + }, + "3327c9eb": { + "name": "IERC5805", + "selector": "3327c9eb", + "abi": [ + { + "inputs": [ + {"internalType": "uint256", "name": "expiry", "type": "uint256"} + ], + "name": "VotesExpiredSignature", + "type": "error", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "delegator", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "fromDelegate", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "toDelegate", + "type": "address", + }, + ], + "name": "DelegateChanged", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "delegate", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "previousBalance", + "type": "uint256", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "newBalance", + "type": "uint256", + }, + ], + "name": "DelegateVotesChanged", + "type": "event", + }, + { + "inputs": [], + "name": "CLOCK_MODE", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "clock", + "outputs": [{"internalType": "uint48", "name": "", "type": "uint48"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "delegatee", "type": "address"} + ], + "name": "delegate", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "delegatee", "type": "address"}, + {"internalType": "uint256", "name": "nonce", "type": "uint256"}, + {"internalType": "uint256", "name": "expiry", "type": "uint256"}, + {"internalType": "uint8", "name": "v", "type": "uint8"}, + {"internalType": "bytes32", "name": "r", "type": "bytes32"}, + {"internalType": "bytes32", "name": "s", "type": "bytes32"}, + ], + "name": "delegateBySig", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"} + ], + "name": "delegates", + "outputs": [{"internalType": "address", "name": "", "type": "address"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "timepoint", "type": "uint256"} + ], + "name": "getPastTotalSupply", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + {"internalType": "uint256", "name": "timepoint", "type": "uint256"}, + ], + "name": "getPastVotes", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"} + ], + "name": "getVotes", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + ], + "functions_names": [ + "CLOCK_MODE", + "clock", + "delegate", + "delegateBySig", + "delegates", + "getPastTotalSupply", + "getPastVotes", + "getVotes", + ], + }, + "def66762": { + "name": "ERC721PresetMinterPauserAutoId", + "selector": "def66762", + "abi": [ + { + "inputs": [], + "name": "DEFAULT_ADMIN_ROLE", + "outputs": [{"internalType": "bytes32", "name": "", "type": "bytes32"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "MINTER_ROLE", + "outputs": [{"internalType": "bytes32", "name": "", "type": "bytes32"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "PAUSER_ROLE", + "outputs": [{"internalType": "bytes32", "name": "", "type": "bytes32"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "approve", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"} + ], + "name": "balanceOf", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "getApproved", + "outputs": [{"internalType": "address", "name": "", "type": "address"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "bytes32", "name": "role", "type": "bytes32"} + ], + "name": "getRoleAdmin", + "outputs": [{"internalType": "bytes32", "name": "", "type": "bytes32"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "bytes32", "name": "role", "type": "bytes32"}, + {"internalType": "uint256", "name": "index", "type": "uint256"}, + ], + "name": "getRoleMember", + "outputs": [{"internalType": "address", "name": "", "type": "address"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "bytes32", "name": "role", "type": "bytes32"} + ], + "name": "getRoleMemberCount", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "bytes32", "name": "role", "type": "bytes32"}, + {"internalType": "address", "name": "account", "type": "address"}, + ], + "name": "grantRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "bytes32", "name": "role", "type": "bytes32"}, + {"internalType": "address", "name": "account", "type": "address"}, + ], + "name": "hasRole", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "address", "name": "operator", "type": "address"}, + ], + "name": "isApprovedForAll", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"} + ], + "name": "mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "name", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "ownerOf", + "outputs": [{"internalType": "address", "name": "", "type": "address"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "pause", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "paused", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "bytes32", "name": "role", "type": "bytes32"}, + {"internalType": "address", "name": "account", "type": "address"}, + ], + "name": "renounceRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "bytes32", "name": "role", "type": "bytes32"}, + {"internalType": "address", "name": "account", "type": "address"}, + ], + "name": "revokeRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"}, + {"internalType": "bool", "name": "approved", "type": "bool"}, + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "symbol", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "index", "type": "uint256"} + ], + "name": "tokenByIndex", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "uint256", "name": "index", "type": "uint256"}, + ], + "name": "tokenOfOwnerByIndex", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "tokenURI", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "unpause", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + ], + "functions_names": [ + "DEFAULT_ADMIN_ROLE", + "MINTER_ROLE", + "PAUSER_ROLE", + "approve", + "balanceOf", + "burn", + "getApproved", + "getRoleAdmin", + "getRoleMember", + "getRoleMemberCount", + "grantRole", + "hasRole", + "isApprovedForAll", + "mint", + "name", + "ownerOf", + "pause", + "paused", + "renounceRole", + "revokeRole", + "safeTransferFrom", + "safeTransferFrom", + "setApprovalForAll", + "symbol", + "tokenByIndex", + "tokenOfOwnerByIndex", + "tokenURI", + "totalSupply", + "transferFrom", + "unpause", + ], + }, + "3a27334d": { + "name": "ERC1155BurnableMock", + "selector": "3a27334d", + "abi": [ + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + {"internalType": "uint256", "name": "id", "type": "uint256"}, + ], + "name": "balanceOf", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "accounts", + "type": "address[]", + }, + {"internalType": "uint256[]", "name": "ids", "type": "uint256[]"}, + ], + "name": "balanceOfBatch", + "outputs": [ + {"internalType": "uint256[]", "name": "", "type": "uint256[]"} + ], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + {"internalType": "uint256", "name": "id", "type": "uint256"}, + {"internalType": "uint256", "name": "value", "type": "uint256"}, + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + {"internalType": "uint256[]", "name": "ids", "type": "uint256[]"}, + { + "internalType": "uint256[]", + "name": "values", + "type": "uint256[]", + }, + ], + "name": "burnBatch", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + {"internalType": "address", "name": "operator", "type": "address"}, + ], + "name": "isApprovedForAll", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "id", "type": "uint256"}, + {"internalType": "uint256", "name": "value", "type": "uint256"}, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256[]", "name": "ids", "type": "uint256[]"}, + { + "internalType": "uint256[]", + "name": "amounts", + "type": "uint256[]", + }, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "safeBatchTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "id", "type": "uint256"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"}, + {"internalType": "bool", "name": "approved", "type": "bool"}, + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "name": "uri", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + ], + "functions_names": [ + "balanceOf", + "balanceOfBatch", + "burn", + "burnBatch", + "isApprovedForAll", + "mint", + "safeBatchTransferFrom", + "safeTransferFrom", + "setApprovalForAll", + "uri", + ], + }, + "86170116": { + "name": "IERC1363", + "selector": "86170116", + "abi": [ + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "owner", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "spender", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "value", + "type": "uint256", + }, + ], + "name": "Approval", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "from", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "to", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "value", + "type": "uint256", + }, + ], + "name": "Transfer", + "type": "event", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "address", "name": "spender", "type": "address"}, + ], + "name": "allowance", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "approve", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "approveAndCall", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "approveAndCall", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"} + ], + "name": "balanceOf", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "transfer", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "transferAndCall", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "transferAndCall", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "transferFrom", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "transferFromAndCall", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "transferFromAndCall", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + ], + "functions_names": [ + "allowance", + "approve", + "approveAndCall", + "approveAndCall", + "balanceOf", + "totalSupply", + "transfer", + "transferAndCall", + "transferAndCall", + "transferFrom", + "transferFromAndCall", + "transferFromAndCall", + ], + }, + "7cbaa157": { + "name": "ERC20CappedMock", + "selector": "7cbaa157", + "abi": [ + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "address", "name": "spender", "type": "address"}, + ], + "name": "allowance", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "approve", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"} + ], + "name": "balanceOf", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "cap", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "decimals", + "outputs": [{"internalType": "uint8", "name": "", "type": "uint8"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "subtractedValue", + "type": "uint256", + }, + ], + "name": "decreaseAllowance", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256", + }, + ], + "name": "increaseAllowance", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "name", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "symbol", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "transfer", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "transferFrom", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + ], + "functions_names": [ + "allowance", + "approve", + "balanceOf", + "cap", + "decimals", + "decreaseAllowance", + "increaseAllowance", + "mint", + "name", + "symbol", + "totalSupply", + "transfer", + "transferFrom", + ], + }, + "dbf24b52": { + "name": "IERC721Metadata", + "selector": "dbf24b52", + "abi": [ + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "owner", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "approved", + "type": "address", + }, + { + "indexed": True, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256", + }, + ], + "name": "Approval", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "owner", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "operator", + "type": "address", + }, + { + "indexed": False, + "internalType": "bool", + "name": "approved", + "type": "bool", + }, + ], + "name": "ApprovalForAll", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "from", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "to", + "type": "address", + }, + { + "indexed": True, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256", + }, + ], + "name": "Transfer", + "type": "event", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "approve", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"} + ], + "name": "balanceOf", + "outputs": [ + {"internalType": "uint256", "name": "balance", "type": "uint256"} + ], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "getApproved", + "outputs": [ + {"internalType": "address", "name": "operator", "type": "address"} + ], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "address", "name": "operator", "type": "address"}, + ], + "name": "isApprovedForAll", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "name", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "ownerOf", + "outputs": [ + {"internalType": "address", "name": "owner", "type": "address"} + ], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"}, + {"internalType": "bool", "name": "approved", "type": "bool"}, + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "symbol", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "tokenURI", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + ], + "functions_names": [ + "approve", + "balanceOf", + "getApproved", + "isApprovedForAll", + "name", + "ownerOf", + "safeTransferFrom", + "safeTransferFrom", + "setApprovalForAll", + "symbol", + "tokenURI", + "transferFrom", + ], + }, + "d42a4a11": { + "name": "ERC20Mock", + "selector": "d42a4a11", + "abi": [ + {"inputs": [], "stateMutability": "nonpayable", "type": "constructor"}, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "currentAllowance", + "type": "uint256", + }, + { + "internalType": "uint256", + "name": "requestedDecrease", + "type": "uint256", + }, + ], + "name": "ERC20FailedDecreaseAllowance", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + {"internalType": "uint256", "name": "allowance", "type": "uint256"}, + {"internalType": "uint256", "name": "needed", "type": "uint256"}, + ], + "name": "ERC20InsufficientAllowance", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"}, + {"internalType": "uint256", "name": "balance", "type": "uint256"}, + {"internalType": "uint256", "name": "needed", "type": "uint256"}, + ], + "name": "ERC20InsufficientBalance", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "approver", "type": "address"} + ], + "name": "ERC20InvalidApprover", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "receiver", "type": "address"} + ], + "name": "ERC20InvalidReceiver", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"} + ], + "name": "ERC20InvalidSender", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"} + ], + "name": "ERC20InvalidSpender", + "type": "error", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "owner", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "spender", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "value", + "type": "uint256", + }, + ], + "name": "Approval", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "from", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "to", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "value", + "type": "uint256", + }, + ], + "name": "Transfer", + "type": "event", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "address", "name": "spender", "type": "address"}, + ], + "name": "allowance", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "approve", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"} + ], + "name": "balanceOf", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "decimals", + "outputs": [{"internalType": "uint8", "name": "", "type": "uint8"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "requestedDecrease", + "type": "uint256", + }, + ], + "name": "decreaseAllowance", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256", + }, + ], + "name": "increaseAllowance", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "name", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "symbol", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "transfer", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "transferFrom", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + ], + "functions_names": [ + "allowance", + "approve", + "balanceOf", + "burn", + "decimals", + "decreaseAllowance", + "increaseAllowance", + "mint", + "name", + "symbol", + "totalSupply", + "transfer", + "transferFrom", + ], + }, + "249cb3fa": { + "name": "ERC1820Implementer", + "selector": "249cb3fa", + "abi": [ + { + "inputs": [ + { + "internalType": "bytes32", + "name": "interfaceHash", + "type": "bytes32", + }, + {"internalType": "address", "name": "account", "type": "address"}, + ], + "name": "canImplementInterfaceForAddress", + "outputs": [{"internalType": "bytes32", "name": "", "type": "bytes32"}], + "stateMutability": "view", + "type": "function", + } + ], + "functions_names": ["canImplementInterfaceForAddress"], + }, + "f8a2c5ae": { + "name": "IERC721Enumerable", + "selector": "f8a2c5ae", + "abi": [ + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "owner", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "approved", + "type": "address", + }, + { + "indexed": True, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256", + }, + ], + "name": "Approval", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "owner", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "operator", + "type": "address", + }, + { + "indexed": False, + "internalType": "bool", + "name": "approved", + "type": "bool", + }, + ], + "name": "ApprovalForAll", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "from", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "to", + "type": "address", + }, + { + "indexed": True, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256", + }, + ], + "name": "Transfer", + "type": "event", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "approve", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"} + ], + "name": "balanceOf", + "outputs": [ + {"internalType": "uint256", "name": "balance", "type": "uint256"} + ], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "getApproved", + "outputs": [ + {"internalType": "address", "name": "operator", "type": "address"} + ], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "address", "name": "operator", "type": "address"}, + ], + "name": "isApprovedForAll", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "ownerOf", + "outputs": [ + {"internalType": "address", "name": "owner", "type": "address"} + ], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"}, + {"internalType": "bool", "name": "approved", "type": "bool"}, + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "index", "type": "uint256"} + ], + "name": "tokenByIndex", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "uint256", "name": "index", "type": "uint256"}, + ], + "name": "tokenOfOwnerByIndex", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + ], + "functions_names": [ + "approve", + "balanceOf", + "getApproved", + "isApprovedForAll", + "ownerOf", + "safeTransferFrom", + "safeTransferFrom", + "setApprovalForAll", + "tokenByIndex", + "tokenOfOwnerByIndex", + "totalSupply", + "transferFrom", + ], + }, + "95c2d2e5": { + "name": "ERC20SnapshotMock", + "selector": "95c2d2e5", + "abi": [ + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "address", "name": "spender", "type": "address"}, + ], + "name": "allowance", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "approve", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"} + ], + "name": "balanceOf", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + { + "internalType": "uint256", + "name": "snapshotId", + "type": "uint256", + }, + ], + "name": "balanceOfAt", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "decimals", + "outputs": [{"internalType": "uint8", "name": "", "type": "uint8"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "subtractedValue", + "type": "uint256", + }, + ], + "name": "decreaseAllowance", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256", + }, + ], + "name": "increaseAllowance", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "name", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "snapshot", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "symbol", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "snapshotId", "type": "uint256"} + ], + "name": "totalSupplyAt", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "transfer", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "transferFrom", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + ], + "functions_names": [ + "allowance", + "approve", + "balanceOf", + "balanceOfAt", + "burn", + "decimals", + "decreaseAllowance", + "increaseAllowance", + "mint", + "name", + "snapshot", + "symbol", + "totalSupply", + "totalSupplyAt", + "transfer", + "transferFrom", + ], + }, + "0023de29": { + "name": "IERC777Recipient", + "selector": "0023de29", + "abi": [ + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"}, + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + {"internalType": "bytes", "name": "userData", "type": "bytes"}, + {"internalType": "bytes", "name": "operatorData", "type": "bytes"}, + ], + "name": "tokensReceived", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + } + ], + "functions_names": ["tokensReceived"], + }, + "f1a76b08": { + "name": "ERC721Royalty", + "selector": "f1a76b08", + "abi": [ + { + "inputs": [ + {"internalType": "uint256", "name": "numerator", "type": "uint256"}, + { + "internalType": "uint256", + "name": "denominator", + "type": "uint256", + }, + ], + "name": "ERC2981InvalidDefaultRoyalty", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "receiver", "type": "address"} + ], + "name": "ERC2981InvalidDefaultRoyaltyReceiver", + "type": "error", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + {"internalType": "uint256", "name": "numerator", "type": "uint256"}, + { + "internalType": "uint256", + "name": "denominator", + "type": "uint256", + }, + ], + "name": "ERC2981InvalidTokenRoyalty", + "type": "error", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + {"internalType": "address", "name": "receiver", "type": "address"}, + ], + "name": "ERC2981InvalidTokenRoyaltyReceiver", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + {"internalType": "address", "name": "owner", "type": "address"}, + ], + "name": "ERC721IncorrectOwner", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "ERC721InsufficientApproval", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "approver", "type": "address"} + ], + "name": "ERC721InvalidApprover", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"} + ], + "name": "ERC721InvalidOperator", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"} + ], + "name": "ERC721InvalidOwner", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "receiver", "type": "address"} + ], + "name": "ERC721InvalidReceiver", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"} + ], + "name": "ERC721InvalidSender", + "type": "error", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "ERC721NonexistentToken", + "type": "error", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "owner", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "approved", + "type": "address", + }, + { + "indexed": True, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256", + }, + ], + "name": "Approval", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "owner", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "operator", + "type": "address", + }, + { + "indexed": False, + "internalType": "bool", + "name": "approved", + "type": "bool", + }, + ], + "name": "ApprovalForAll", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "from", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "to", + "type": "address", + }, + { + "indexed": True, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256", + }, + ], + "name": "Transfer", + "type": "event", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "approve", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"} + ], + "name": "balanceOf", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "getApproved", + "outputs": [{"internalType": "address", "name": "", "type": "address"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "address", "name": "operator", "type": "address"}, + ], + "name": "isApprovedForAll", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "name", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "ownerOf", + "outputs": [{"internalType": "address", "name": "", "type": "address"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + {"internalType": "uint256", "name": "salePrice", "type": "uint256"}, + ], + "name": "royaltyInfo", + "outputs": [ + {"internalType": "address", "name": "", "type": "address"}, + {"internalType": "uint256", "name": "", "type": "uint256"}, + ], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"}, + {"internalType": "bool", "name": "approved", "type": "bool"}, + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "symbol", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "tokenURI", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + ], + "functions_names": [ + "approve", + "balanceOf", + "getApproved", + "isApprovedForAll", + "name", + "ownerOf", + "royaltyInfo", + "safeTransferFrom", + "safeTransferFrom", + "setApprovalForAll", + "symbol", + "tokenURI", + "transferFrom", + ], + }, + "8ef63f04": { + "name": "ERC4626OffsetMock", + "selector": "8ef63f04", + "abi": [ + { + "inputs": [ + {"internalType": "address", "name": "target", "type": "address"} + ], + "name": "AddressEmptyCode", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"} + ], + "name": "AddressInsufficientBalance", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "currentAllowance", + "type": "uint256", + }, + { + "internalType": "uint256", + "name": "requestedDecrease", + "type": "uint256", + }, + ], + "name": "ERC20FailedDecreaseAllowance", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + {"internalType": "uint256", "name": "allowance", "type": "uint256"}, + {"internalType": "uint256", "name": "needed", "type": "uint256"}, + ], + "name": "ERC20InsufficientAllowance", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"}, + {"internalType": "uint256", "name": "balance", "type": "uint256"}, + {"internalType": "uint256", "name": "needed", "type": "uint256"}, + ], + "name": "ERC20InsufficientBalance", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "approver", "type": "address"} + ], + "name": "ERC20InvalidApprover", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "receiver", "type": "address"} + ], + "name": "ERC20InvalidReceiver", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"} + ], + "name": "ERC20InvalidSender", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"} + ], + "name": "ERC20InvalidSpender", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "receiver", "type": "address"}, + {"internalType": "uint256", "name": "assets", "type": "uint256"}, + {"internalType": "uint256", "name": "max", "type": "uint256"}, + ], + "name": "ERC4626ExceededMaxDeposit", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "receiver", "type": "address"}, + {"internalType": "uint256", "name": "shares", "type": "uint256"}, + {"internalType": "uint256", "name": "max", "type": "uint256"}, + ], + "name": "ERC4626ExceededMaxMint", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "uint256", "name": "shares", "type": "uint256"}, + {"internalType": "uint256", "name": "max", "type": "uint256"}, + ], + "name": "ERC4626ExceededMaxRedeem", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "uint256", "name": "assets", "type": "uint256"}, + {"internalType": "uint256", "name": "max", "type": "uint256"}, + ], + "name": "ERC4626ExceededMaxWithdraw", + "type": "error", + }, + {"inputs": [], "name": "FailedInnerCall", "type": "error"}, + {"inputs": [], "name": "MathOverflowedMulDiv", "type": "error"}, + { + "inputs": [ + {"internalType": "address", "name": "token", "type": "address"} + ], + "name": "SafeERC20FailedOperation", + "type": "error", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "owner", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "spender", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "value", + "type": "uint256", + }, + ], + "name": "Approval", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "sender", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "owner", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "assets", + "type": "uint256", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "shares", + "type": "uint256", + }, + ], + "name": "Deposit", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "from", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "to", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "value", + "type": "uint256", + }, + ], + "name": "Transfer", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "sender", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "receiver", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "owner", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "assets", + "type": "uint256", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "shares", + "type": "uint256", + }, + ], + "name": "Withdraw", + "type": "event", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "address", "name": "spender", "type": "address"}, + ], + "name": "allowance", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "approve", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "asset", + "outputs": [{"internalType": "address", "name": "", "type": "address"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"} + ], + "name": "balanceOf", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "shares", "type": "uint256"} + ], + "name": "convertToAssets", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "assets", "type": "uint256"} + ], + "name": "convertToShares", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "decimals", + "outputs": [{"internalType": "uint8", "name": "", "type": "uint8"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "requestedDecrease", + "type": "uint256", + }, + ], + "name": "decreaseAllowance", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "assets", "type": "uint256"}, + {"internalType": "address", "name": "receiver", "type": "address"}, + ], + "name": "deposit", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256", + }, + ], + "name": "increaseAllowance", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [{"internalType": "address", "name": "", "type": "address"}], + "name": "maxDeposit", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [{"internalType": "address", "name": "", "type": "address"}], + "name": "maxMint", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"} + ], + "name": "maxRedeem", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"} + ], + "name": "maxWithdraw", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "shares", "type": "uint256"}, + {"internalType": "address", "name": "receiver", "type": "address"}, + ], + "name": "mint", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "name", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "assets", "type": "uint256"} + ], + "name": "previewDeposit", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "shares", "type": "uint256"} + ], + "name": "previewMint", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "shares", "type": "uint256"} + ], + "name": "previewRedeem", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "assets", "type": "uint256"} + ], + "name": "previewWithdraw", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "shares", "type": "uint256"}, + {"internalType": "address", "name": "receiver", "type": "address"}, + {"internalType": "address", "name": "owner", "type": "address"}, + ], + "name": "redeem", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "symbol", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "totalAssets", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "transfer", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "transferFrom", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "assets", "type": "uint256"}, + {"internalType": "address", "name": "receiver", "type": "address"}, + {"internalType": "address", "name": "owner", "type": "address"}, + ], + "name": "withdraw", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "nonpayable", + "type": "function", + }, + ], + "functions_names": [ + "allowance", + "approve", + "asset", + "balanceOf", + "convertToAssets", + "convertToShares", + "decimals", + "decreaseAllowance", + "deposit", + "increaseAllowance", + "maxDeposit", + "maxMint", + "maxRedeem", + "maxWithdraw", + "mint", + "name", + "previewDeposit", + "previewMint", + "previewRedeem", + "previewWithdraw", + "redeem", + "symbol", + "totalAssets", + "totalSupply", + "transfer", + "transferFrom", + "withdraw", + ], + }, + "dfd0330a": { + "name": "ERC20Snapshot", + "selector": "dfd0330a", + "abi": [ + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "address", "name": "spender", "type": "address"}, + ], + "name": "allowance", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "approve", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"} + ], + "name": "balanceOf", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + { + "internalType": "uint256", + "name": "snapshotId", + "type": "uint256", + }, + ], + "name": "balanceOfAt", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "decimals", + "outputs": [{"internalType": "uint8", "name": "", "type": "uint8"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "subtractedValue", + "type": "uint256", + }, + ], + "name": "decreaseAllowance", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256", + }, + ], + "name": "increaseAllowance", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "name", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "symbol", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "snapshotId", "type": "uint256"} + ], + "name": "totalSupplyAt", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "transfer", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "transferFrom", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + ], + "functions_names": [ + "allowance", + "approve", + "balanceOf", + "balanceOfAt", + "decimals", + "decreaseAllowance", + "increaseAllowance", + "name", + "symbol", + "totalSupply", + "totalSupplyAt", + "transfer", + "transferFrom", + ], + }, + "64c56e77": { + "name": "ERC20Reentrant", + "selector": "64c56e77", + "abi": [ + { + "inputs": [ + {"internalType": "address", "name": "target", "type": "address"} + ], + "name": "AddressEmptyCode", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"} + ], + "name": "AddressInsufficientBalance", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "currentAllowance", + "type": "uint256", + }, + { + "internalType": "uint256", + "name": "requestedDecrease", + "type": "uint256", + }, + ], + "name": "ERC20FailedDecreaseAllowance", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + {"internalType": "uint256", "name": "allowance", "type": "uint256"}, + {"internalType": "uint256", "name": "needed", "type": "uint256"}, + ], + "name": "ERC20InsufficientAllowance", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"}, + {"internalType": "uint256", "name": "balance", "type": "uint256"}, + {"internalType": "uint256", "name": "needed", "type": "uint256"}, + ], + "name": "ERC20InsufficientBalance", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "approver", "type": "address"} + ], + "name": "ERC20InvalidApprover", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "receiver", "type": "address"} + ], + "name": "ERC20InvalidReceiver", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"} + ], + "name": "ERC20InvalidSender", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"} + ], + "name": "ERC20InvalidSpender", + "type": "error", + }, + {"inputs": [], "name": "FailedInnerCall", "type": "error"}, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "owner", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "spender", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "value", + "type": "uint256", + }, + ], + "name": "Approval", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "from", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "to", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "value", + "type": "uint256", + }, + ], + "name": "Transfer", + "type": "event", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "address", "name": "spender", "type": "address"}, + ], + "name": "allowance", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "approve", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"} + ], + "name": "balanceOf", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "decimals", + "outputs": [{"internalType": "uint8", "name": "", "type": "uint8"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "requestedDecrease", + "type": "uint256", + }, + ], + "name": "decreaseAllowance", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "target", "type": "address"}, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "functionCall", + "outputs": [{"internalType": "bytes", "name": "", "type": "bytes"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256", + }, + ], + "name": "increaseAllowance", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "name", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + { + "internalType": "enum ERC20Reentrant.Type", + "name": "when", + "type": "uint8", + }, + {"internalType": "address", "name": "target", "type": "address"}, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "scheduleReenter", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "symbol", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "transfer", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "transferFrom", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + ], + "functions_names": [ + "allowance", + "approve", + "balanceOf", + "decimals", + "decreaseAllowance", + "functionCall", + "increaseAllowance", + "name", + "scheduleReenter", + "symbol", + "totalSupply", + "transfer", + "transferFrom", + ], + }, + "d73f4e3a": { + "name": "IERC1155MetadataURI", + "selector": "d73f4e3a", + "abi": [ + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "account", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "operator", + "type": "address", + }, + { + "indexed": False, + "internalType": "bool", + "name": "approved", + "type": "bool", + }, + ], + "name": "ApprovalForAll", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "operator", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "from", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "to", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256[]", + "name": "ids", + "type": "uint256[]", + }, + { + "indexed": False, + "internalType": "uint256[]", + "name": "values", + "type": "uint256[]", + }, + ], + "name": "TransferBatch", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "operator", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "from", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "to", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "id", + "type": "uint256", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "value", + "type": "uint256", + }, + ], + "name": "TransferSingle", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": False, + "internalType": "string", + "name": "value", + "type": "string", + }, + { + "indexed": True, + "internalType": "uint256", + "name": "id", + "type": "uint256", + }, + ], + "name": "URI", + "type": "event", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + {"internalType": "uint256", "name": "id", "type": "uint256"}, + ], + "name": "balanceOf", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "accounts", + "type": "address[]", + }, + {"internalType": "uint256[]", "name": "ids", "type": "uint256[]"}, + ], + "name": "balanceOfBatch", + "outputs": [ + {"internalType": "uint256[]", "name": "", "type": "uint256[]"} + ], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + {"internalType": "address", "name": "operator", "type": "address"}, + ], + "name": "isApprovedForAll", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256[]", "name": "ids", "type": "uint256[]"}, + { + "internalType": "uint256[]", + "name": "amounts", + "type": "uint256[]", + }, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "safeBatchTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "id", "type": "uint256"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"}, + {"internalType": "bool", "name": "approved", "type": "bool"}, + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "id", "type": "uint256"} + ], + "name": "uri", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + ], + "functions_names": [ + "balanceOf", + "balanceOfBatch", + "isApprovedForAll", + "safeBatchTransferFrom", + "safeTransferFrom", + "setApprovalForAll", + "uri", + ], + }, + "580cf8f5": { + "name": "ERC721PausableMock", + "selector": "580cf8f5", + "abi": [ + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "approve", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"} + ], + "name": "balanceOf", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "exists", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "getApproved", + "outputs": [{"internalType": "address", "name": "", "type": "address"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "address", "name": "operator", "type": "address"}, + ], + "name": "isApprovedForAll", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "name", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "ownerOf", + "outputs": [{"internalType": "address", "name": "", "type": "address"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "pause", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "paused", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + {"internalType": "bytes", "name": "_data", "type": "bytes"}, + ], + "name": "safeMint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "safeMint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"}, + {"internalType": "bool", "name": "approved", "type": "bool"}, + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "symbol", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "tokenURI", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "unpause", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + ], + "functions_names": [ + "approve", + "balanceOf", + "burn", + "exists", + "getApproved", + "isApprovedForAll", + "mint", + "name", + "ownerOf", + "pause", + "paused", + "safeMint", + "safeMint", + "safeTransferFrom", + "safeTransferFrom", + "setApprovalForAll", + "symbol", + "tokenURI", + "transferFrom", + "unpause", + ], + }, + "d57681f2": { + "name": "ERC1155SupplyMock", + "selector": "d57681f2", + "abi": [ + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + {"internalType": "uint256", "name": "id", "type": "uint256"}, + ], + "name": "balanceOf", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "accounts", + "type": "address[]", + }, + {"internalType": "uint256[]", "name": "ids", "type": "uint256[]"}, + ], + "name": "balanceOfBatch", + "outputs": [ + {"internalType": "uint256[]", "name": "", "type": "uint256[]"} + ], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "uint256", "name": "id", "type": "uint256"}, + {"internalType": "uint256", "name": "value", "type": "uint256"}, + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "uint256[]", "name": "ids", "type": "uint256[]"}, + { + "internalType": "uint256[]", + "name": "values", + "type": "uint256[]", + }, + ], + "name": "burnBatch", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "id", "type": "uint256"} + ], + "name": "exists", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + {"internalType": "address", "name": "operator", "type": "address"}, + ], + "name": "isApprovedForAll", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "id", "type": "uint256"}, + {"internalType": "uint256", "name": "value", "type": "uint256"}, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256[]", "name": "ids", "type": "uint256[]"}, + { + "internalType": "uint256[]", + "name": "values", + "type": "uint256[]", + }, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "mintBatch", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256[]", "name": "ids", "type": "uint256[]"}, + { + "internalType": "uint256[]", + "name": "amounts", + "type": "uint256[]", + }, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "safeBatchTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "id", "type": "uint256"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"}, + {"internalType": "bool", "name": "approved", "type": "bool"}, + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "string", "name": "newuri", "type": "string"} + ], + "name": "setURI", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "id", "type": "uint256"} + ], + "name": "totalSupply", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "name": "uri", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + ], + "functions_names": [ + "balanceOf", + "balanceOfBatch", + "burn", + "burnBatch", + "exists", + "isApprovedForAll", + "mint", + "mintBatch", + "safeBatchTransferFrom", + "safeTransferFrom", + "setApprovalForAll", + "setURI", + "totalSupply", + "uri", + ], + }, + "f47afbe3": { + "name": "ERC1155URIStorageMock", + "selector": "f47afbe3", + "abi": [ + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + {"internalType": "uint256", "name": "id", "type": "uint256"}, + ], + "name": "balanceOf", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "accounts", + "type": "address[]", + }, + {"internalType": "uint256[]", "name": "ids", "type": "uint256[]"}, + ], + "name": "balanceOfBatch", + "outputs": [ + {"internalType": "uint256[]", "name": "", "type": "uint256[]"} + ], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "uint256", "name": "id", "type": "uint256"}, + {"internalType": "uint256", "name": "value", "type": "uint256"}, + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "uint256[]", "name": "ids", "type": "uint256[]"}, + { + "internalType": "uint256[]", + "name": "values", + "type": "uint256[]", + }, + ], + "name": "burnBatch", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + {"internalType": "address", "name": "operator", "type": "address"}, + ], + "name": "isApprovedForAll", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "id", "type": "uint256"}, + {"internalType": "uint256", "name": "value", "type": "uint256"}, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256[]", "name": "ids", "type": "uint256[]"}, + { + "internalType": "uint256[]", + "name": "values", + "type": "uint256[]", + }, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "mintBatch", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256[]", "name": "ids", "type": "uint256[]"}, + { + "internalType": "uint256[]", + "name": "amounts", + "type": "uint256[]", + }, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "safeBatchTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "id", "type": "uint256"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"}, + {"internalType": "bool", "name": "approved", "type": "bool"}, + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "string", "name": "baseURI", "type": "string"} + ], + "name": "setBaseURI", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "string", "name": "newuri", "type": "string"} + ], + "name": "setURI", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + {"internalType": "string", "name": "_tokenURI", "type": "string"}, + ], + "name": "setURI", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "uri", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + ], + "functions_names": [ + "balanceOf", + "balanceOfBatch", + "burn", + "burnBatch", + "isApprovedForAll", + "mint", + "mintBatch", + "safeBatchTransferFrom", + "safeTransferFrom", + "setApprovalForAll", + "setBaseURI", + "setURI", + "setURI", + "uri", + ], + }, + "dbf24b52": { + "name": "ERC721", + "selector": "dbf24b52", + "abi": [ + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + {"internalType": "address", "name": "owner", "type": "address"}, + ], + "name": "ERC721IncorrectOwner", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "ERC721InsufficientApproval", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "approver", "type": "address"} + ], + "name": "ERC721InvalidApprover", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"} + ], + "name": "ERC721InvalidOperator", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"} + ], + "name": "ERC721InvalidOwner", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "receiver", "type": "address"} + ], + "name": "ERC721InvalidReceiver", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"} + ], + "name": "ERC721InvalidSender", + "type": "error", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "ERC721NonexistentToken", + "type": "error", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "owner", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "approved", + "type": "address", + }, + { + "indexed": True, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256", + }, + ], + "name": "Approval", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "owner", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "operator", + "type": "address", + }, + { + "indexed": False, + "internalType": "bool", + "name": "approved", + "type": "bool", + }, + ], + "name": "ApprovalForAll", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "from", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "to", + "type": "address", + }, + { + "indexed": True, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256", + }, + ], + "name": "Transfer", + "type": "event", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "approve", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"} + ], + "name": "balanceOf", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "getApproved", + "outputs": [{"internalType": "address", "name": "", "type": "address"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "address", "name": "operator", "type": "address"}, + ], + "name": "isApprovedForAll", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "name", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "ownerOf", + "outputs": [{"internalType": "address", "name": "", "type": "address"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + {"internalType": "bytes", "name": "data", "type": "bytes"}, + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "operator", "type": "address"}, + {"internalType": "bool", "name": "approved", "type": "bool"}, + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "symbol", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "tokenId", "type": "uint256"} + ], + "name": "tokenURI", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + ], + "functions_names": [ + "approve", + "balanceOf", + "getApproved", + "isApprovedForAll", + "name", + "ownerOf", + "safeTransferFrom", + "safeTransferFrom", + "setApprovalForAll", + "symbol", + "tokenURI", + "transferFrom", + ], + }, + "3273d15c": { + "name": "ERC20Burnable", + "selector": "3273d15c", + "abi": [ + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "currentAllowance", + "type": "uint256", + }, + { + "internalType": "uint256", + "name": "requestedDecrease", + "type": "uint256", + }, + ], + "name": "ERC20FailedDecreaseAllowance", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + {"internalType": "uint256", "name": "allowance", "type": "uint256"}, + {"internalType": "uint256", "name": "needed", "type": "uint256"}, + ], + "name": "ERC20InsufficientAllowance", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"}, + {"internalType": "uint256", "name": "balance", "type": "uint256"}, + {"internalType": "uint256", "name": "needed", "type": "uint256"}, + ], + "name": "ERC20InsufficientBalance", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "approver", "type": "address"} + ], + "name": "ERC20InvalidApprover", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "receiver", "type": "address"} + ], + "name": "ERC20InvalidReceiver", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"} + ], + "name": "ERC20InvalidSender", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"} + ], + "name": "ERC20InvalidSpender", + "type": "error", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "owner", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "spender", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "value", + "type": "uint256", + }, + ], + "name": "Approval", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "from", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "to", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "value", + "type": "uint256", + }, + ], + "name": "Transfer", + "type": "event", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "address", "name": "spender", "type": "address"}, + ], + "name": "allowance", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "approve", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"} + ], + "name": "balanceOf", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "amount", "type": "uint256"} + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "burnFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "decimals", + "outputs": [{"internalType": "uint8", "name": "", "type": "uint8"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "requestedDecrease", + "type": "uint256", + }, + ], + "name": "decreaseAllowance", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256", + }, + ], + "name": "increaseAllowance", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "name", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "symbol", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "transfer", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "transferFrom", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + ], + "functions_names": [ + "allowance", + "approve", + "balanceOf", + "burn", + "burnFrom", + "decimals", + "decreaseAllowance", + "increaseAllowance", + "name", + "symbol", + "totalSupply", + "transfer", + "transferFrom", + ], + }, + "aa4b5d98": { + "name": "ERC165CheckerMock", + "selector": "aa4b5d98", + "abi": [ + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + { + "internalType": "bytes4[]", + "name": "interfaceIds", + "type": "bytes4[]", + }, + ], + "name": "getSupportedInterfaces", + "outputs": [{"internalType": "bool[]", "name": "", "type": "bool[]"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + { + "internalType": "bytes4[]", + "name": "interfaceIds", + "type": "bytes4[]", + }, + ], + "name": "supportsAllInterfaces", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"} + ], + "name": "supportsERC165", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + {"internalType": "bytes4", "name": "interfaceId", "type": "bytes4"}, + ], + "name": "supportsERC165InterfaceUnchecked", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "view", + "type": "function", + }, + ], + "functions_names": [ + "getSupportedInterfaces", + "supportsAllInterfaces", + "supportsERC165", + "supportsERC165InterfaceUnchecked", + ], + }, + "01ffc9a7": { + "name": "IERC165", + "selector": "01ffc9a7", + "abi": [ + { + "inputs": [ + {"internalType": "bytes4", "name": "interfaceId", "type": "bytes4"} + ], + "name": "supportsInterface", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "view", + "type": "function", + } + ], + "functions_names": ["supportsInterface"], + }, + "10163410": { + "name": "ERC20Permit", + "selector": "10163410", + "abi": [ + {"inputs": [], "name": "ECDSAInvalidSignature", "type": "error"}, + { + "inputs": [ + {"internalType": "uint256", "name": "length", "type": "uint256"} + ], + "name": "ECDSAInvalidSignatureLength", + "type": "error", + }, + { + "inputs": [{"internalType": "bytes32", "name": "s", "type": "bytes32"}], + "name": "ECDSAInvalidSignatureS", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "currentAllowance", + "type": "uint256", + }, + { + "internalType": "uint256", + "name": "requestedDecrease", + "type": "uint256", + }, + ], + "name": "ERC20FailedDecreaseAllowance", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + {"internalType": "uint256", "name": "allowance", "type": "uint256"}, + {"internalType": "uint256", "name": "needed", "type": "uint256"}, + ], + "name": "ERC20InsufficientAllowance", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"}, + {"internalType": "uint256", "name": "balance", "type": "uint256"}, + {"internalType": "uint256", "name": "needed", "type": "uint256"}, + ], + "name": "ERC20InsufficientBalance", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "approver", "type": "address"} + ], + "name": "ERC20InvalidApprover", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "receiver", "type": "address"} + ], + "name": "ERC20InvalidReceiver", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "sender", "type": "address"} + ], + "name": "ERC20InvalidSender", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"} + ], + "name": "ERC20InvalidSpender", + "type": "error", + }, + { + "inputs": [ + {"internalType": "uint256", "name": "deadline", "type": "uint256"} + ], + "name": "ERC2612ExpiredSignature", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "signer", "type": "address"}, + {"internalType": "address", "name": "owner", "type": "address"}, + ], + "name": "ERC2612InvalidSigner", + "type": "error", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"}, + { + "internalType": "uint256", + "name": "currentNonce", + "type": "uint256", + }, + ], + "name": "InvalidAccountNonce", + "type": "error", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "owner", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "spender", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "value", + "type": "uint256", + }, + ], + "name": "Approval", + "type": "event", + }, + { + "anonymous": False, + "inputs": [], + "name": "EIP712DomainChanged", + "type": "event", + }, + { + "anonymous": False, + "inputs": [ + { + "indexed": True, + "internalType": "address", + "name": "from", + "type": "address", + }, + { + "indexed": True, + "internalType": "address", + "name": "to", + "type": "address", + }, + { + "indexed": False, + "internalType": "uint256", + "name": "value", + "type": "uint256", + }, + ], + "name": "Transfer", + "type": "event", + }, + { + "inputs": [], + "name": "DOMAIN_SEPARATOR", + "outputs": [{"internalType": "bytes32", "name": "", "type": "bytes32"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "address", "name": "spender", "type": "address"}, + ], + "name": "allowance", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "approve", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "account", "type": "address"} + ], + "name": "balanceOf", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "decimals", + "outputs": [{"internalType": "uint8", "name": "", "type": "uint8"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "requestedDecrease", + "type": "uint256", + }, + ], + "name": "decreaseAllowance", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "eip712Domain", + "outputs": [ + {"internalType": "bytes1", "name": "fields", "type": "bytes1"}, + {"internalType": "string", "name": "name", "type": "string"}, + {"internalType": "string", "name": "version", "type": "string"}, + {"internalType": "uint256", "name": "chainId", "type": "uint256"}, + { + "internalType": "address", + "name": "verifyingContract", + "type": "address", + }, + {"internalType": "bytes32", "name": "salt", "type": "bytes32"}, + { + "internalType": "uint256[]", + "name": "extensions", + "type": "uint256[]", + }, + ], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "spender", "type": "address"}, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256", + }, + ], + "name": "increaseAllowance", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "name", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"} + ], + "name": "nonces", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "owner", "type": "address"}, + {"internalType": "address", "name": "spender", "type": "address"}, + {"internalType": "uint256", "name": "value", "type": "uint256"}, + {"internalType": "uint256", "name": "deadline", "type": "uint256"}, + {"internalType": "uint8", "name": "v", "type": "uint8"}, + {"internalType": "bytes32", "name": "r", "type": "bytes32"}, + {"internalType": "bytes32", "name": "s", "type": "bytes32"}, + ], + "name": "permit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [], + "name": "symbol", + "outputs": [{"internalType": "string", "name": "", "type": "string"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "transfer", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + { + "inputs": [ + {"internalType": "address", "name": "from", "type": "address"}, + {"internalType": "address", "name": "to", "type": "address"}, + {"internalType": "uint256", "name": "amount", "type": "uint256"}, + ], + "name": "transferFrom", + "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], + "stateMutability": "nonpayable", + "type": "function", + }, + ], + "functions_names": [ + "DOMAIN_SEPARATOR", + "allowance", + "approve", + "balanceOf", + "decimals", + "decreaseAllowance", + "eip712Domain", + "increaseAllowance", + "name", + "nonces", + "permit", + "symbol", + "totalSupply", + "transfer", + "transferFrom", + ], + }, } diff --git a/moonstreamapi/moonstreamapi/settings.py b/moonstreamapi/moonstreamapi/settings.py index 1a14503c..1d11b1c8 100644 --- a/moonstreamapi/moonstreamapi/settings.py +++ b/moonstreamapi/moonstreamapi/settings.py @@ -137,6 +137,13 @@ MOONSTREAM_WYRM_WEB3_PROVIDER_URI = os.environ.get( if MOONSTREAM_WYRM_WEB3_PROVIDER_URI == "": raise Exception("MOONSTREAM_WYRM_WEB3_PROVIDER_URI env variable is not set") +MOONSTREAM_ZKSYNC_ERA_TESTNET_WEB3_PROVIDER_URI = os.environ.get( + "MOONSTREAM_ZKSYNC_ERA_TESTNET_WEB3_PROVIDER_URI", "" +) +if MOONSTREAM_ZKSYNC_ERA_TESTNET_WEB3_PROVIDER_URI == "": + raise Exception( + "MOONSTREAM_ZKSYNC_ERA_TESTNET_WEB3_PROVIDER_URI env variable is not set" + ) MOONSTREAM_S3_QUERIES_BUCKET = os.environ.get("MOONSTREAM_S3_QUERIES_BUCKET", "") if MOONSTREAM_S3_QUERIES_BUCKET == "": @@ -150,6 +157,16 @@ if MOONSTREAM_S3_QUERIES_BUCKET_PREFIX == "": "MOONSTREAM_S3_QUERIES_BUCKET_PREFIX environment variable must be set" ) +# Entities reserved tags +MOONSTREAM_ENTITIES_RESERVED_TAGS = [ + "type", + "subscription_type_id", + "color", + "label", + "user_id", + "address", + "blockchain", +] ## Moonstream resources types diff --git a/moonstreamapi/moonstreamapi/version.py b/moonstreamapi/moonstreamapi/version.py index fbc7f516..2240c512 100644 --- a/moonstreamapi/moonstreamapi/version.py +++ b/moonstreamapi/moonstreamapi/version.py @@ -2,4 +2,4 @@ Moonstream library and API version. """ -MOONSTREAMAPI_VERSION = "0.2.6" +MOONSTREAMAPI_VERSION = "0.2.7" diff --git a/moonstreamapi/moonstreamapi/web3_provider.py b/moonstreamapi/moonstreamapi/web3_provider.py index 9e9f242a..eb6ce094 100644 --- a/moonstreamapi/moonstreamapi/web3_provider.py +++ b/moonstreamapi/moonstreamapi/web3_provider.py @@ -19,6 +19,7 @@ from .settings import ( MOONSTREAM_MUMBAI_WEB3_PROVIDER_URI, MOONSTREAM_XDAI_WEB3_PROVIDER_URI, MOONSTREAM_WYRM_WEB3_PROVIDER_URI, + MOONSTREAM_ZKSYNC_ERA_TESTNET_WEB3_PROVIDER_URI, multicall_contracts, multicall_contract_abi, ) @@ -69,6 +70,8 @@ def connect( web3_uri = MOONSTREAM_XDAI_WEB3_PROVIDER_URI elif blockchain_type == AvailableBlockchainType.WYRM: web3_uri = MOONSTREAM_WYRM_WEB3_PROVIDER_URI + elif blockchain_type == AvailableBlockchainType.ZKSYNC_ERA_TESTNET: + web3_uri = MOONSTREAM_ZKSYNC_ERA_TESTNET_WEB3_PROVIDER_URI else: raise Exception("Wrong blockchain type provided for web3 URI") diff --git a/moonstreamapi/requirements.txt b/moonstreamapi/requirements.txt index 51153ffc..7ca46488 100644 --- a/moonstreamapi/requirements.txt +++ b/moonstreamapi/requirements.txt @@ -37,7 +37,7 @@ lru-dict==1.1.8 Mako==1.2.3 MarkupSafe==2.1.1 moonstream-entity==0.0.5 -moonstreamdb==0.3.3 +moonstreamdb==0.3.4 multiaddr==0.0.9 multidict==6.0.2 netaddr==0.8.0 diff --git a/moonstreamapi/setup.py b/moonstreamapi/setup.py index 9602d99a..9ff1a049 100644 --- a/moonstreamapi/setup.py +++ b/moonstreamapi/setup.py @@ -16,7 +16,7 @@ setup( "bugout>=0.2.9", "moonstream-entity>=0.0.5", "fastapi", - "moonstreamdb>=0.3.3", + "moonstreamdb>=0.3.4", "humbug", "pydantic", "pyevmasm", diff --git a/moonstreamdb/.isort.cfg b/moonstreamdb/.isort.cfg new file mode 100644 index 00000000..81d54de1 --- /dev/null +++ b/moonstreamdb/.isort.cfg @@ -0,0 +1,3 @@ +[settings] +profile = black +multi_line_output = 3 \ No newline at end of file diff --git a/moonstreamdb/alembic/env.py b/moonstreamdb/alembic/env.py index 2e7def32..6d9eb01f 100644 --- a/moonstreamdb/alembic/env.py +++ b/moonstreamdb/alembic/env.py @@ -1,7 +1,6 @@ from logging.config import fileConfig -from sqlalchemy import engine_from_config -from sqlalchemy import pool +from sqlalchemy import engine_from_config, pool from alembic import context @@ -26,18 +25,27 @@ target_metadata = MoonstreamBase.metadata # my_important_option = config.get_main_option("my_important_option") # ... etc. from moonstreamdb.models import ( - EthereumBlock, - EthereumTransaction, - EthereumLabel, - PolygonBlock, - PolygonTransaction, - PolygonLabel, - MumbaiBlock, - MumbaiTransaction, - MumbaiLabel, - ESDFunctionSignature, ESDEventSignature, + ESDFunctionSignature, + EthereumBlock, + EthereumLabel, + EthereumTransaction, + MumbaiBlock, + MumbaiLabel, + MumbaiTransaction, OpenSeaCrawlingState, + PolygonBlock, + PolygonLabel, + PolygonTransaction, + WyrmBlock, + WyrmLabel, + WyrmTransaction, + XDaiBlock, + XDaiLabel, + XDaiTransaction, + ZkSyncEraTestnetBlock, + ZkSyncEraTestnetLabel, + ZkSyncEraTestnetTransaction, ) @@ -55,6 +63,15 @@ def include_symbol(tablename, schema): ESDFunctionSignature.__tablename__, ESDEventSignature.__tablename__, OpenSeaCrawlingState.__tablename__, + WyrmBlock.__tablename__, + WyrmLabel.__tablename__, + WyrmTransaction.__tablename__, + XDaiBlock.__tablename__, + XDaiLabel.__tablename__, + XDaiTransaction.__tablename__, + ZkSyncEraTestnetBlock.__tablename__, + ZkSyncEraTestnetLabel.__tablename__, + ZkSyncEraTestnetTransaction.__tablename__, } diff --git a/moonstreamdb/alembic/versions/e4a796c0407d_zksync_era_model.py b/moonstreamdb/alembic/versions/e4a796c0407d_zksync_era_model.py new file mode 100644 index 00000000..283fbe4f --- /dev/null +++ b/moonstreamdb/alembic/versions/e4a796c0407d_zksync_era_model.py @@ -0,0 +1,122 @@ +"""ZkSync Era model + +Revision ID: e4a796c0407d +Revises: c413d5265f76 +Create Date: 2023-07-12 12:27:12.814892 + +""" +from alembic import op +import sqlalchemy as sa +from sqlalchemy.dialects import postgresql + +# revision identifiers, used by Alembic. +revision = 'e4a796c0407d' +down_revision = 'c413d5265f76' +branch_labels = None +depends_on = None + + +def upgrade(): + # ### commands auto generated by Alembic - please adjust! ### + op.create_table('zksync_era_testnet_blocks', + sa.Column('block_number', sa.BigInteger(), nullable=False), + sa.Column('difficulty', sa.BigInteger(), nullable=True), + sa.Column('extra_data', sa.VARCHAR(length=128), nullable=True), + sa.Column('gas_limit', sa.BigInteger(), nullable=True), + sa.Column('gas_used', sa.BigInteger(), nullable=True), + sa.Column('base_fee_per_gas', sa.Numeric(precision=78, scale=0), nullable=True), + sa.Column('hash', sa.VARCHAR(length=256), nullable=True), + sa.Column('logs_bloom', sa.VARCHAR(length=1024), nullable=True), + sa.Column('miner', sa.VARCHAR(length=256), nullable=True), + sa.Column('nonce', sa.VARCHAR(length=256), nullable=True), + sa.Column('parent_hash', sa.VARCHAR(length=256), nullable=True), + sa.Column('receipt_root', sa.VARCHAR(length=256), nullable=True), + sa.Column('uncles', sa.VARCHAR(length=256), nullable=True), + sa.Column('size', sa.Integer(), nullable=True), + sa.Column('state_root', sa.VARCHAR(length=256), nullable=True), + sa.Column('timestamp', sa.BigInteger(), nullable=True), + sa.Column('total_difficulty', sa.VARCHAR(length=256), nullable=True), + sa.Column('transactions_root', sa.VARCHAR(length=256), nullable=True), + sa.Column('indexed_at', sa.DateTime(timezone=True), server_default=sa.text("TIMEZONE('utc', statement_timestamp())"), nullable=False), + sa.Column('mix_hash', sa.VARCHAR(length=256), nullable=True), + sa.Column('sha3_uncles', sa.VARCHAR(length=256), nullable=True), + sa.Column('l1_batch_number', sa.BigInteger(), nullable=True), + sa.Column('l1_batch_timestamp', sa.BigInteger(), nullable=True), + sa.PrimaryKeyConstraint('block_number', name=op.f('pk_zksync_era_testnet_blocks')) + ) + op.create_index(op.f('ix_zksync_era_testnet_blocks_block_number'), 'zksync_era_testnet_blocks', ['block_number'], unique=True) + op.create_index(op.f('ix_zksync_era_testnet_blocks_hash'), 'zksync_era_testnet_blocks', ['hash'], unique=False) + op.create_index(op.f('ix_zksync_era_testnet_blocks_timestamp'), 'zksync_era_testnet_blocks', ['timestamp'], unique=False) + op.create_table('zksync_era_testnet_labels', + sa.Column('id', sa.UUID(), nullable=False), + sa.Column('label', sa.VARCHAR(length=256), nullable=False), + sa.Column('block_number', sa.BigInteger(), nullable=True), + sa.Column('address', sa.VARCHAR(length=256), nullable=True), + sa.Column('transaction_hash', sa.VARCHAR(length=256), nullable=True), + sa.Column('label_data', postgresql.JSONB(astext_type=sa.Text()), nullable=True), + sa.Column('block_timestamp', sa.BigInteger(), nullable=True), + sa.Column('log_index', sa.Integer(), nullable=True), + sa.Column('created_at', sa.DateTime(timezone=True), server_default=sa.text("TIMEZONE('utc', statement_timestamp())"), nullable=False), + sa.PrimaryKeyConstraint('id', name=op.f('pk_zksync_era_testnet_labels')), + sa.UniqueConstraint('id', name=op.f('uq_zksync_era_testnet_labels_id')) + ) + op.create_index(op.f('ix_zksync_era_testnet_labels_address'), 'zksync_era_testnet_labels', ['address'], unique=False) + op.create_index('ix_zksync_era_testnet_labels_address_block_number', 'zksync_era_testnet_labels', ['address', 'block_number'], unique=False) + op.create_index('ix_zksync_era_testnet_labels_address_block_timestamp', 'zksync_era_testnet_labels', ['address', 'block_timestamp'], unique=False) + op.create_index(op.f('ix_zksync_era_testnet_labels_block_number'), 'zksync_era_testnet_labels', ['block_number'], unique=False) + op.create_index(op.f('ix_zksync_era_testnet_labels_block_timestamp'), 'zksync_era_testnet_labels', ['block_timestamp'], unique=False) + op.create_index(op.f('ix_zksync_era_testnet_labels_label'), 'zksync_era_testnet_labels', ['label'], unique=False) + op.create_index(op.f('ix_zksync_era_testnet_labels_transaction_hash'), 'zksync_era_testnet_labels', ['transaction_hash'], unique=False) + op.create_table('zksync_era_testnet_transactions', + sa.Column('hash', sa.VARCHAR(length=256), nullable=False), + sa.Column('block_number', sa.BigInteger(), nullable=False), + sa.Column('from_address', sa.VARCHAR(length=256), nullable=True), + sa.Column('to_address', sa.VARCHAR(length=256), nullable=True), + sa.Column('gas', sa.Numeric(precision=78, scale=0), nullable=True), + sa.Column('gas_price', sa.Numeric(precision=78, scale=0), nullable=True), + sa.Column('max_fee_per_gas', sa.Numeric(precision=78, scale=0), nullable=True), + sa.Column('max_priority_fee_per_gas', sa.Numeric(precision=78, scale=0), nullable=True), + sa.Column('input', sa.Text(), nullable=True), + sa.Column('nonce', sa.VARCHAR(length=256), nullable=True), + sa.Column('transaction_index', sa.BigInteger(), nullable=True), + sa.Column('transaction_type', sa.Integer(), nullable=True), + sa.Column('value', sa.Numeric(precision=78, scale=0), nullable=True), + sa.Column('indexed_at', sa.DateTime(timezone=True), server_default=sa.text("TIMEZONE('utc', statement_timestamp())"), nullable=False), + sa.Column('l1_batch_number', sa.BigInteger(), nullable=True), + sa.Column('l1_batch_tx_index', sa.BigInteger(), nullable=True), + sa.ForeignKeyConstraint(['block_number'], ['zksync_era_testnet_blocks.block_number'], name=op.f('fk_zksync_era_testnet_transactions_block_number_zksync_era_testnet_blocks'), ondelete='CASCADE'), + sa.PrimaryKeyConstraint('hash', name=op.f('pk_zksync_era_testnet_transactions')) + ) + op.create_index(op.f('ix_zksync_era_testnet_transactions_block_number'), 'zksync_era_testnet_transactions', ['block_number'], unique=False) + op.create_index(op.f('ix_zksync_era_testnet_transactions_from_address'), 'zksync_era_testnet_transactions', ['from_address'], unique=False) + op.create_index(op.f('ix_zksync_era_testnet_transactions_gas'), 'zksync_era_testnet_transactions', ['gas'], unique=False) + op.create_index(op.f('ix_zksync_era_testnet_transactions_gas_price'), 'zksync_era_testnet_transactions', ['gas_price'], unique=False) + op.create_index(op.f('ix_zksync_era_testnet_transactions_hash'), 'zksync_era_testnet_transactions', ['hash'], unique=True) + op.create_index(op.f('ix_zksync_era_testnet_transactions_to_address'), 'zksync_era_testnet_transactions', ['to_address'], unique=False) + op.create_index(op.f('ix_zksync_era_testnet_transactions_value'), 'zksync_era_testnet_transactions', ['value'], unique=False) + # ### end Alembic commands ### + + +def downgrade(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_index(op.f('ix_zksync_era_testnet_transactions_value'), table_name='zksync_era_testnet_transactions') + op.drop_index(op.f('ix_zksync_era_testnet_transactions_to_address'), table_name='zksync_era_testnet_transactions') + op.drop_index(op.f('ix_zksync_era_testnet_transactions_hash'), table_name='zksync_era_testnet_transactions') + op.drop_index(op.f('ix_zksync_era_testnet_transactions_gas_price'), table_name='zksync_era_testnet_transactions') + op.drop_index(op.f('ix_zksync_era_testnet_transactions_gas'), table_name='zksync_era_testnet_transactions') + op.drop_index(op.f('ix_zksync_era_testnet_transactions_from_address'), table_name='zksync_era_testnet_transactions') + op.drop_index(op.f('ix_zksync_era_testnet_transactions_block_number'), table_name='zksync_era_testnet_transactions') + op.drop_table('zksync_era_testnet_transactions') + op.drop_index(op.f('ix_zksync_era_testnet_labels_transaction_hash'), table_name='zksync_era_testnet_labels') + op.drop_index(op.f('ix_zksync_era_testnet_labels_label'), table_name='zksync_era_testnet_labels') + op.drop_index(op.f('ix_zksync_era_testnet_labels_block_timestamp'), table_name='zksync_era_testnet_labels') + op.drop_index(op.f('ix_zksync_era_testnet_labels_block_number'), table_name='zksync_era_testnet_labels') + op.drop_index('ix_zksync_era_testnet_labels_address_block_timestamp', table_name='zksync_era_testnet_labels') + op.drop_index('ix_zksync_era_testnet_labels_address_block_number', table_name='zksync_era_testnet_labels') + op.drop_index(op.f('ix_zksync_era_testnet_labels_address'), table_name='zksync_era_testnet_labels') + op.drop_table('zksync_era_testnet_labels') + op.drop_index(op.f('ix_zksync_era_testnet_blocks_timestamp'), table_name='zksync_era_testnet_blocks') + op.drop_index(op.f('ix_zksync_era_testnet_blocks_hash'), table_name='zksync_era_testnet_blocks') + op.drop_index(op.f('ix_zksync_era_testnet_blocks_block_number'), table_name='zksync_era_testnet_blocks') + op.drop_table('zksync_era_testnet_blocks') + # ### end Alembic commands ### diff --git a/moonstreamdb/moonstreamdb/blockchain.py b/moonstreamdb/moonstreamdb/blockchain.py index d2909892..90935343 100644 --- a/moonstreamdb/moonstreamdb/blockchain.py +++ b/moonstreamdb/moonstreamdb/blockchain.py @@ -1,26 +1,27 @@ -from .db import yield_db_session, yield_db_session_ctx +from enum import Enum +from typing import Type, Union + from .models import ( EthereumBlock, EthereumLabel, EthereumTransaction, - PolygonBlock, - PolygonLabel, - PolygonTransaction, MumbaiBlock, MumbaiLabel, MumbaiTransaction, - XDaiBlock, - XDaiLabel, - XDaiTransaction, + PolygonBlock, + PolygonLabel, + PolygonTransaction, WyrmBlock, WyrmLabel, WyrmTransaction, + XDaiBlock, + XDaiLabel, + XDaiTransaction, + ZkSyncEraTestnetBlock, + ZkSyncEraTestnetLabel, + ZkSyncEraTestnetTransaction, ) -from enum import Enum - -from typing import Type, Union - class AvailableBlockchainType(Enum): ETHEREUM = "ethereum" @@ -28,17 +29,34 @@ class AvailableBlockchainType(Enum): MUMBAI = "mumbai" XDAI = "xdai" WYRM = "wyrm" + ZKSYNC_ERA_TESTNET = "zksync_era_testnet" def get_block_model( blockchain_type: AvailableBlockchainType, -) -> Type[Union[EthereumBlock, PolygonBlock, MumbaiBlock, XDaiBlock, WyrmBlock]]: +) -> Type[ + Union[ + EthereumBlock, + PolygonBlock, + MumbaiBlock, + XDaiBlock, + WyrmBlock, + ZkSyncEraTestnetBlock, + ] +]: """ Depends on provided blockchain type: Ethereum, Polygon, Mumbai, XDai, Wyrm set proper blocks model. """ block_model: Type[ - Union[EthereumBlock, PolygonBlock, MumbaiBlock, XDaiBlock, WyrmBlock] + Union[ + EthereumBlock, + PolygonBlock, + MumbaiBlock, + XDaiBlock, + WyrmBlock, + ZkSyncEraTestnetBlock, + ] ] if blockchain_type == AvailableBlockchainType.ETHEREUM: block_model = EthereumBlock @@ -50,6 +68,8 @@ def get_block_model( block_model = XDaiBlock elif blockchain_type == AvailableBlockchainType.WYRM: block_model = WyrmBlock + elif blockchain_type == AvailableBlockchainType.ZKSYNC_ERA_TESTNET: + block_model = ZkSyncEraTestnetBlock else: raise Exception("Unsupported blockchain type provided") @@ -58,13 +78,29 @@ def get_block_model( def get_label_model( blockchain_type: AvailableBlockchainType, -) -> Type[Union[EthereumLabel, PolygonLabel, MumbaiLabel, XDaiLabel, WyrmLabel]]: +) -> Type[ + Union[ + EthereumLabel, + PolygonLabel, + MumbaiLabel, + XDaiLabel, + WyrmLabel, + ZkSyncEraTestnetLabel, + ] +]: """ Depends on provided blockchain type: Ethereum, Polygon, Mumbai, XDai, Wyrm set proper block label model. """ label_model: Type[ - Union[EthereumLabel, PolygonLabel, MumbaiLabel, XDaiLabel, WyrmLabel] + Union[ + EthereumLabel, + PolygonLabel, + MumbaiLabel, + XDaiLabel, + WyrmLabel, + ZkSyncEraTestnetLabel, + ] ] if blockchain_type == AvailableBlockchainType.ETHEREUM: label_model = EthereumLabel @@ -76,6 +112,8 @@ def get_label_model( label_model = XDaiLabel elif blockchain_type == AvailableBlockchainType.WYRM: label_model = WyrmLabel + elif blockchain_type == AvailableBlockchainType.ZKSYNC_ERA_TESTNET: + label_model = ZkSyncEraTestnetLabel else: raise Exception("Unsupported blockchain type provided") @@ -91,6 +129,7 @@ def get_transaction_model( MumbaiTransaction, XDaiTransaction, WyrmTransaction, + ZkSyncEraTestnetTransaction, ] ]: """ @@ -104,6 +143,7 @@ def get_transaction_model( MumbaiTransaction, XDaiTransaction, WyrmTransaction, + ZkSyncEraTestnetTransaction, ] ] if blockchain_type == AvailableBlockchainType.ETHEREUM: @@ -116,6 +156,8 @@ def get_transaction_model( transaction_model = XDaiTransaction elif blockchain_type == AvailableBlockchainType.WYRM: transaction_model = WyrmTransaction + elif blockchain_type == AvailableBlockchainType.ZKSYNC_ERA_TESTNET: + transaction_model = ZkSyncEraTestnetTransaction else: raise Exception("Unsupported blockchain type provided") diff --git a/moonstreamdb/moonstreamdb/db.py b/moonstreamdb/moonstreamdb/db.py index d183aecd..c3730fe9 100644 --- a/moonstreamdb/moonstreamdb/db.py +++ b/moonstreamdb/moonstreamdb/db.py @@ -1,12 +1,12 @@ """ Moonstream database connection. """ -from contextlib import contextmanager import os +from contextlib import contextmanager from typing import Generator from sqlalchemy import create_engine -from sqlalchemy.orm import sessionmaker, Session +from sqlalchemy.orm import Session, sessionmaker MOONSTREAM_DB_URI = os.environ.get("MOONSTREAM_DB_URI") if MOONSTREAM_DB_URI is None: diff --git a/moonstreamdb/moonstreamdb/models.py b/moonstreamdb/moonstreamdb/models.py index fc0fdfdf..6819eb44 100644 --- a/moonstreamdb/moonstreamdb/models.py +++ b/moonstreamdb/moonstreamdb/models.py @@ -1,21 +1,21 @@ import uuid -from sqlalchemy.ext.declarative import declarative_base from sqlalchemy import ( + VARCHAR, BigInteger, Column, DateTime, + ForeignKey, Index, Integer, - ForeignKey, MetaData, Numeric, Text, - VARCHAR, ) from sqlalchemy.dialects.postgresql import JSONB, UUID -from sqlalchemy.sql import expression from sqlalchemy.ext.compiler import compiles +from sqlalchemy.ext.declarative import declarative_base +from sqlalchemy.sql import expression """ Naming conventions doc @@ -614,6 +614,137 @@ class WyrmLabel(Base): # type: ignore ) +class ZkSyncEraTestnetBlock(Base): # type: ignore + __tablename__ = "zksync_era_testnet_blocks" + + block_number = Column( + BigInteger, primary_key=True, unique=True, nullable=False, index=True + ) + difficulty = Column(BigInteger) + extra_data = Column(VARCHAR(128)) + gas_limit = Column(BigInteger) + gas_used = Column(BigInteger) + base_fee_per_gas = Column(Numeric(precision=78, scale=0), nullable=True) + hash = Column(VARCHAR(256), index=True) + logs_bloom = Column(VARCHAR(1024)) + miner = Column(VARCHAR(256)) + nonce = Column(VARCHAR(256)) + parent_hash = Column(VARCHAR(256)) + receipt_root = Column(VARCHAR(256)) + uncles = Column(VARCHAR(256)) + size = Column(Integer) + state_root = Column(VARCHAR(256)) + timestamp = Column(BigInteger, index=True) + total_difficulty = Column(VARCHAR(256)) + transactions_root = Column(VARCHAR(256)) + + indexed_at = Column( + DateTime(timezone=True), server_default=utcnow(), nullable=False + ) + + mix_hash = Column(VARCHAR(256), nullable=True) + sha3_uncles = Column(VARCHAR(256), nullable=True) + + l1_batch_number = Column(BigInteger, nullable=True) + l1_batch_timestamp = Column(BigInteger, nullable=True) + + +class ZkSyncEraTestnetTransaction(Base): # type: ignore + __tablename__ = "zksync_era_testnet_transactions" + + hash = Column( + VARCHAR(256), primary_key=True, unique=True, nullable=False, index=True + ) + block_number = Column( + BigInteger, + ForeignKey("zksync_era_testnet_blocks.block_number", ondelete="CASCADE"), + nullable=False, + index=True, + ) + from_address = Column(VARCHAR(256), index=True) + to_address = Column(VARCHAR(256), index=True) + gas = Column(Numeric(precision=78, scale=0), index=True) + gas_price = Column(Numeric(precision=78, scale=0), index=True) + max_fee_per_gas = Column(Numeric(precision=78, scale=0), nullable=True) + max_priority_fee_per_gas = Column(Numeric(precision=78, scale=0), nullable=True) + input = Column(Text) + nonce = Column(VARCHAR(256)) + transaction_index = Column(BigInteger) + transaction_type = Column(Integer, nullable=True) + value = Column(Numeric(precision=78, scale=0), index=True) + + indexed_at = Column( + DateTime(timezone=True), server_default=utcnow(), nullable=False + ) + + l1_batch_number = Column(BigInteger, nullable=True) + l1_batch_tx_index = Column(BigInteger, nullable=True) + + +class ZkSyncEraTestnetLabel(Base): # type: ignore + """ + Example of label_data: + { + "label": "ERC20", + "label_data": { + "name": "Uniswap", + "symbol": "UNI" + } + }, + { + "label": "Exchange" + "label_data": {...} + } + """ + + __tablename__ = "zksync_era_testnet_labels" + + __table_args__ = ( + Index( + "ix_zksync_era_testnet_labels_address_block_number", + "address", + "block_number", + unique=False, + ), + Index( + "ix_zksync_era_testnet_labels_address_block_timestamp", + "address", + "block_timestamp", + unique=False, + ), + ) + + id = Column( + UUID(as_uuid=True), + primary_key=True, + default=uuid.uuid4, + unique=True, + nullable=False, + ) + label = Column(VARCHAR(256), nullable=False, index=True) + block_number = Column( + BigInteger, + nullable=True, + index=True, + ) + address = Column( + VARCHAR(256), + nullable=True, + index=True, + ) + transaction_hash = Column( + VARCHAR(256), + nullable=True, + index=True, + ) + label_data = Column(JSONB, nullable=True) + block_timestamp = Column(BigInteger, index=True) + log_index = Column(Integer, nullable=True) + created_at = Column( + DateTime(timezone=True), server_default=utcnow(), nullable=False + ) + + class ESDFunctionSignature(Base): # type: ignore """ Function signature from blockchain (Ethereum/Polygon) Signature Database. diff --git a/moonstreamdb/moonstreamdb/networks.py b/moonstreamdb/moonstreamdb/networks.py index 3f9668ee..b2d9fa8e 100644 --- a/moonstreamdb/moonstreamdb/networks.py +++ b/moonstreamdb/moonstreamdb/networks.py @@ -18,6 +18,9 @@ from .models import ( XDaiBlock, XDaiLabel, XDaiTransaction, + ZkSyncEraTestnetBlock, + ZkSyncEraTestnetLabel, + ZkSyncEraTestnetTransaction, ) @@ -27,6 +30,7 @@ class Network(Enum): mumbai = "mumbai" xdai = "xdai" wyrm = "wyrm" + zksync_era_testnet = "zksync_era_testnet" tx_raw_types = Union[ @@ -35,6 +39,7 @@ tx_raw_types = Union[ PolygonTransaction, WyrmTransaction, XDaiTransaction, + ZkSyncEraTestnetTransaction, ] MODELS: Dict[Network, Dict[str, Base]] = { @@ -63,4 +68,9 @@ MODELS: Dict[Network, Dict[str, Base]] = { "labels": WyrmLabel, "transactions": WyrmTransaction, }, + Network.zksync_era_testnet: { + "blocks": ZkSyncEraTestnetBlock, + "labels": ZkSyncEraTestnetLabel, + "transactions": ZkSyncEraTestnetTransaction, + }, } diff --git a/moonstreamdb/moonstreamdb/version.py b/moonstreamdb/moonstreamdb/version.py index f796c64b..b1acec14 100644 --- a/moonstreamdb/moonstreamdb/version.py +++ b/moonstreamdb/moonstreamdb/version.py @@ -2,4 +2,4 @@ Moonstream database version. """ -MOONSTREAMDB_VERSION = "0.3.3" +MOONSTREAMDB_VERSION = "0.3.4" diff --git a/nodebalancer/README.md b/nodebalancer/README.md index 4c193c06..f7f42c23 100644 --- a/nodebalancer/README.md +++ b/nodebalancer/README.md @@ -2,7 +2,7 @@ ## Installation -- Prepare environment variables, according with `sample.env`. +- Prepare environment variables, according to `sample.env`. - Build application ```bash @@ -60,14 +60,14 @@ This command will return a list of bugout resources of registered users to acces ] ``` -`access_id` - token which allow access to nodebalancer, could be specified in both ways: +`access_id` - token which allows access to nodebalancer, could be specified in both ways: - as a header `x-moonstream-access-id` with value `access_id` - as query parameter `access_id=access_id` -`blockchain_access` - boolean which allow you or not to have access to blockchain node, otherwise you will be redirected to database +`blockchain_access` - boolean which allows you or not to have access to blockchain node, otherwise you will be redirected to database -`extended_methods` - boolean which allow you to call not whitelisted method to blockchain node, by default for new user this is equal to `false` +`extended_methods` - boolean which allows you to call not whitelisted method to blockchain node, by default for new user this is equal to `false` ### server diff --git a/nodebalancer/cmd/nodebalancer/blockchain.go b/nodebalancer/cmd/nodebalancer/blockchain.go index 40ef984c..b0d8c57e 100644 --- a/nodebalancer/cmd/nodebalancer/blockchain.go +++ b/nodebalancer/cmd/nodebalancer/blockchain.go @@ -36,6 +36,27 @@ var ( "net_version": true, "web3_clientVersion": true, + + // zksync methods + "zks_estimateFee": true, + "zks_estimateGasL1ToL2": true, + "zks_getAllAccountBalances": true, + "zks_getBlockDetails": true, + "zks_getBridgeContracts": true, + "zks_getBytecodeByHash": true, + "zks_getConfirmedTokens": true, + "zks_getL1BatchBlockRange": true, + "zks_getL1BatchDetails": true, + "zks_getL2ToL1LogProof": true, + "zks_getL2ToL1MsgProof": true, + "zks_getMainContract": true, + "zks_getRawBlockTransactions": true, + "zks_getTestnetPaymaster": true, + "zks_getTokenPrice": true, + "zks_getTransactionDetails": true, + "zks_L1BatchNumber": true, + "zks_L1ChainId": true, + } )