{
  "openapi": "3.1.0",
  "info": {
    "version": "1.0.0",
    "title": "Tenderly API",
    "description": "# Introduction\n\nThe Tenderly API provides a programmatic interface for managing Tenderly resources using standard HTTP requests.\nIt mirrors many functionalities available through the Tenderly Dashboard, enabling you to script complex actions. The API documentation includes a design and technology overview, followed by detailed endpoint information.\n\n[Log into your Tenderly account](https://dashboard.tenderly.co/login) to automatically populate your API credentials in the documentation. Your account ID and project slug will be pre-filled across the documentation, excluding the API access token for security reasons. \n\nBase URL: `https://api.tenderly.co/api`\n\n## Authentication\n\nThe Tenderly API requires an access token to authenticate your requests. Learn how to [generate and manage your API access keys](https://docs.tenderly.co/account/projects/how-to-generate-api-access-token).\n\nAdd `X-Access-Key` to each request header, e.g.:\n\n```bash\ncurl 'https://api.tenderly.co/api/v1/account/${TENDERLY_ACCOUNT_SLUG}/project/${TENDERLY_PROJECT_SLUG}/simulate' \\\n  -H 'X-Access-Key: ${TENDERLY_ACCESS_KEY}' \\\n  ...\n```\n\nDo not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth.\n\nAuthentication to the API is performed via HTTP Basic Auth. Provide your API key as the basic auth username value. You do not need to provide a password.\n\nIf you need to authenticate via bearer auth (e.g., for a cross-origin request), use:\n\n```bash\ncurl 'https://api.tenderly.co/api/v1/account/${TENDERLY_ACCOUNT_SLUG}/project/${TENDERLY_PROJECT_SLUG}/simulate' \\\n  -H 'Authorization: Bearer <TENDERLY_TOKEN>' \\\n  ...\n```\n\nAll API requests must be made over HTTPS. Calls made over plain HTTP will fail. API requests without authentication will also fail.\n\n## Requests\n\nAny tool capable of making HTTP requests can interact with the API by requesting the appropriate URI. Requests should be made using the HTTPS protocol to ensure that traffic is encrypted. \n\nThe API's response varies with the request method used.\n\n|Method|Usage|\n|--- |--- |\n|GET|Used to retrieve information about your account, project, or resources. The requested information is returned as a JSON object. The attributes defined by the JSON object can be used to form additional requests. Requests made using the GET method are read-only and will not affect the objects you are querying.|\n|DELETE|Used to destroy a resource and remove it from your account and project. This methods removes the specified object if it is found. If it is not found, the operation will return a response indicating that the object was not found. You do not have to check if the resource is available prior to issuing a DELETE command. The final state will be the same regardless of its existence.|\n|PUT|Used to update the information about a resource in your account. The PUT method sets the state of the target using the provided values, regardless of their current values. Requests using the PUT method do not need to check the current attributes of the object.|\n|PATCH|Some resources support partial modification. In these cases, the PATCH method is available. Unlike PUT which generally requires a complete representation of a resource, a PATCH request is a set of instructions on how to modify a resource updating only specific attributes.|\n|POST|Used to create a new object. The POST request includes all of the attributes necessary to create a new object.|\n\n## Errors\n\nThe API responds with standard HTTP statuses, including error codes that indicate the outcome of requests. In the event of a problem, the status will contain the error code, while the\nbody of the response will usually contain additional information about the problem.\n\n|Status Code|Type|Description|\n|--- |--- |--- |\n|200|OK|Everything worked as expected.|\n|400|Bad Request|The request was unacceptable, often due to missing a required parameter.|\n|401|Unauthorized|No valid API key provided.|\n|402|Request Failed|The parameters were valid but the request failed.|\n|403|Forbidden|The API key doesn’t have permissions to perform the request.|\n|404|Not Found|The requested resource doesn’t exist.|\n|429|Too Many Requests|Too many requests hit the API too quickly. We recommend an exponential backoff of your requests.|\n|500, 502, 503, 504|Server Errors|Something went wrong on Tenderly’s end.|\n\nBoth 400 and 500 level errors return a JSON object in the response body, containing specific attributes detailing the error.\n\n|Name|Type|Description|\n|--- |--- |--- |\n|id|string|Endpoints include an error ID that should be provided when reporting bugs or opening support tickets to help identify the issue.|\n|slug|string|A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be \"not_found.\"|\n|message|string|A message providing additional information about the error, including details to help resolve it when possible.|\n\n### Example error response\n\nHTTP/1.1 404 Bad request\n```json\n{\n\"error\": {\n  \"id\": \"596b1dc7-af60-477b-aab3-6c93eb92ddfa\",\n  \"slug\": \"bad_request\",\n  \"message\": \"Bad request input parameters\"\n }\n}\n```\n\n## Responses\n\nWhen a request is successful, a response body will typically be sent back in\nthe form of a JSON object. An exception to this is when a DELETE request is\nprocessed, which will result in a successful HTTP 204 status and an empty\nresponse body.\n\nThe value of these keys will generally be a JSON object for a request on a\nsingle object and an array of objects for a request on a collection of\nobjects.\n\n### Response for a single object\n\n```json\n{\n  \"simulation\": {\n    \"id\": \"123\"\n    \"...\": \"...\"\n  }\n}\n```\n\n### Response for an object collection\n\n```json\n{\n  \"simulations\": [\n    {\n      \"id\": \"123\"\n      \"...\": \"...\"\n    },\n    {\n      \"id\": \"1234\"\n      \"...\": \"...\"\n    }\n  ]\n}\n```\n\n## Pagination\n\nBy default, 20 objects are returned per page per request.\nYou can customize this behavior using the following parameters:\n\n* **Pagination Limit (perPage)**: To change the number of items per page,\nappend `?perPage=[number]` to your request. For example, `?perPage=2` limits\nthe results to two items per page. The maximum limit is 100 items per page.\n* **Page Offset (page)**: To navigate through paginated results, use the\n`?page=[number]` parameter. For instance, `?page=3` will take you to the third page of the results.\nOnly positive integers are valid for this parameter.\n\nRemember:\n\n* You can combine these parameters. For example, `?perPage=10&page=2` will show the second page with 10 items per page.\n* The maximum number of results per page (`perPage`) is 100.\n\n## Rate limits\n\nRequests through the API are rate limited per `X-Access-Key` API key. Current rate limits:\n\n* **Non-authenticated users:** 100 requests per minute\n* **Authenticated users:** 400 requests per minute\n\nOnce you exceed either limit, you will be rate limited until the next cycle\nstarts. Space out any requests that you would otherwise issue in bursts for\nthe best results.\n\nThe rate limiting information is contained within the response headers of\neach request. The relevant headers are:\n\n* **X-Tdly-Limit**: The number of requests that can be made per minute.\n* **X-Tdly-Remaining**: The number of requests that remain before you hit your request limit. See the information below for how the request limits expire.\n* **X-Tdly-Reset-Timestamp**: This represents the time when the oldest request will expire. The value is given in [Unix epoch time](http://en.wikipedia.org/wiki/Unix_time). See below for more information about how request limits expire.\n\nAs long as the `X-Tdly-Remaining` count is above zero, you will be able\nto make additional requests.\n\nThe way that a request expires and is removed from the current limit count\nis important to understand. Rather than counting all of the requests for a\nminute and resetting the `X-Tdly-Remaining` value at the end of the minute,\neach request instead has its own timer.\n\nThis means that each request contributes toward the `X-Tdly-Remaining`\ncount for one complete minute after the request is made. When that request's\ntimer runs out, it is no longer counted toward the request limit.\n\nThis has implications on the meaning of the `X-Tdly-Reset-Timestamp` header as\nwell. Because the entire rate limit is not reset at one time, the value of\nthis header is set to the time when the _oldest_ request will expire.\n\nKeep this in mind if you see your `X-Tdly-Reset-Timestamp` value change, but not\nmove an entire minute into the future.\n\nIf the `X-Tdly-Remaining` reaches zero, subsequent requests will receive\na 429 error code until the request reset has been reached. \n\n`X-Tdly-Remaining` reaching zero can also indicate that the \"burst limit\" of 250 \nrequests per minute limit was met, even if the 400 requests per minute limit was not. \n\nYou can see the format of the response in the examples. \n\n**Note:** Some endpoints may have special rate limit requirements that\nare independent of the limits defined above.\n\n### Sample rate limit headers\n\n```bash\n'X-Tdly-Limit': 100\n'X-Tdly-Remaining': 79\n'X-Tdly-Reset-Timestamp': 1402425459\n```\n\n### Sample rate exceeded response\n\n429 Too Many Requests\n```bash\n{\n  id: \"too_many_requests\",\n  message: \"API Rate limit exceeded.\"\n}\n```\n\n## Parameters\n\nThere are two different ways to pass parameters in a request to the API.\n\nWhen passing parameters to create or update an object, parameters should be\npassed as a JSON object containing the appropriate attribute names and\nvalues as key-value pairs. When you use this format, you should specify that\nyou are sending a JSON object in the header. This is done by setting the\n`Content-Type` header to `application/json`. This ensures that your request\nis interpreted correctly.\n\nWhen passing parameters to filter a response on GET requests, parameters can\nbe passed using standard query attributes. In this case, the parameters\nwould be embedded into the URI itself by appending a `?` to the end of the\nURI and then setting each attribute with an equal sign. Attributes can be\nseparated with a `&`. Tools like `curl` can create the appropriate URI when\ngiven parameters and values; this can also be done using the `-F` flag and\nthen passing the key and value as an argument. The argument should take the\nform of a quoted string with the attribute being set to a value with an\nequal sign.\n\n### Pass parameters as a JSON object\n\n```bash\ncurl 'https://api.tenderly.co/api/v1/account/${TENDERLY_ACCOUNT_SLUG}/project/${TENDERLY_PROJECT_SLUG}/simulate' \\\n  -H 'X-Access-Key: ${TENDERLY_ACCESS_KEY}' \\\n  -H 'content-type: application/json' \\\n  --data-raw '{\"network_id\":\"1\",\"block_number\":null,\"transaction_index\":null,\"from\":\"0x0000000000000000000000000000000000000000\",\"input\":\"0x42966c68000000000000000000000000000000000000000000000000000000000000022b\",\"to\":\"0x94c87a7b26980ae7aaa361c5c7e03e632ab36e6c\",\"gas\":8000000,\"gas_price\":\"0\",\"value\":\"0\",\"access_list\":[],\"generate_access_list\":true,\"save\":true,\"block_header\":null}' \\\n  --compressed\n```\n\n### Pass filter parameters as a query string\n\n```bash\ncurl 'https://api.tenderly.co/api/v1/account/${TENDERLY_ACCOUNT_SLUG}/project/${TENDERLY_PROJECT_SLUG}/simulations?page=1&perPage=20' \\\n  -H 'X-Access-Key: ${TENDERLY_ACCESS_KEY}' \\\n  --compressed\n```\n\n## Cross origin resource sharing\n\nIn order to make requests to the API from other domains, the API implements\nCross Origin Resource Sharing (CORS) support.\n\nCORS support is generally used to create AJAX requests outside of the domain\nthat the request originated from. This is necessary to implement projects\nlike control panels utilizing the API. This tells the browser that it can\nsend requests to an outside domain.\n\nThe procedure that the browser initiates in order to perform these actions\n(other than GET requests) begins by sending a \"preflight\" request. This sets\nthe `Origin` header and uses the `OPTIONS` method. The server will reply\nwith the methods it allows and some of the limits it imposes. The\nclient then sends the actual request if it falls within the allowed\nconstraints.\n\nThis process is usually done by the browser in the background, but you can\nuse curl to emulate this process. The headers that will be set to show the constraints are:\n\n* **Access-Control-Allow-Origin**: This is the domain that is sent by the client or browser as the origin of the request. It is set through an `Origin` header.\n* **Access-Control-Allow-Methods**: This specifies the allowed options for requests from that domain. This will generally be all available methods.\n* **Access-Control-Expose-Headers**: This will contain the headers that will be available to requests from the origin domain.\n* **Access-Control-Max-Age**: This is the length of time that the access is considered valid. After this expires, a new preflight should be sent.\n* **Access-Control-Allow-Credentials**: This will be set to `true`. It basically allows you to send your Access token for authentication.\n\nYou should not need to be concerned with the details of these headers,\nbecause the browser will typically do all of the work for you.\n",
    "license": {
      "name": "Apache 2.0",
      "url": "https://www.apache.org/licenses/LICENSE-2.0.html"
    },
    "contact": {
      "name": "Tenderly Support",
      "email": "support@tenderly.co"
    },
    "termsOfService": "https://tenderly.co/terms-of-service"
  },
  "servers": [
    {
      "url": "https://api.tenderly.co/api",
      "description": "production"
    }
  ],
  "security": [
    {
      "ApiKeyAuth": []
    },
    {
      "BearerAuth": []
    }
  ],
  "tags": [
    {
      "name": "Contracts",
      "description": "Tenderly allows you to add verified and unverified smart contracts to your project to use in development. Once you add a contract, you can start inspecting and debugging transactions, simulating transactions with modified parameters, or monitoring contract usage.\n\nLearn more about managing [Smart Contracts](https://docs.tenderly.co/monitoring/smart-contracts)."
    },
    {
      "name": "Wallets",
      "description": "Similar to contracts, you can also add any public wallet addresses to your Tenderly projects. This allows you to keep track of wallet activity, view all transactions, simulate transactions, set up wallet alerts, and more.\n\nLearn more about managing [Wallets](https://docs.tenderly.co/monitoring/wallets)."
    },
    {
      "name": "Simulator",
      "description": "Transaction Simulations let you preview the exact outcomes of transactions before they are sent to the live network. Transactions are simulated on an exact replica of the latest state of the specific network, providing the most accurate simulation results. \n\nThe Tenderly API supports simulating single or bundled transactions through a single request. \n\n**Common use cases for simulations**\n\n- [Asset and balance changes](https://docs.tenderly.co/simulations/asset-balance-changes): Get exact dollar values for all balance and asset changes that will happen.\n- [Gas estimation](https://docs.tenderly.co/simulations/gas-estimation): Accurately predict the gas costs before sending the transaction.\n- [State overrides](https://docs.tenderly.co/simulations/state-overrides): Modify blockchain conditions like timestamps and contract data to test different scenarios.\n- [Preview transaction outcomes](https://docs.tenderly.co/simulations/transaction-preview): Identify and fix issues that could cause transactions to fail.\n- Access lists: Create lists of addresses and storage slots the transaction will access.\n- Human-readable errors: Get complex errors decoded into explanations that you can easily understand.\n\nLearn more about [Transaction Simulations](https://docs.tenderly.co/simulations)."
    },
    {
      "name": "Alerts",
      "description": "Alerts listen for specific on-chain events and send real-time notifications to your desired destination when the event occurs. This can be email, your favorite messaging app, an incident monitoring system, or webhooks and Web3 Actions.\n\nLearn more about [Alerts](https://docs.tenderly.co/alerts/intro-to-alerts)."
    },
    {
      "name": "Delivery Channels",
      "description": "When the desired event triggers your Alert, Tenderly will send the data about the event to a designated Alert Destination. The Destination (Delivery Channel) will use this data to send you an email notification, Discord, or Slack message or send it to another Tenderly system like Web3 Actions or a Webhook.\n\nLearn more about [Delivery Channels](https://docs.tenderly.co/alerts/configuring-alert-destinations)."
    },
    {
      "name": "Actions",
      "description": "Web3 Actions allow you to execute custom code in response to on-chain and off-chain events. They work as programmable hooks for smart contracts. A Web3 Action is a regular JS/TS function that is executed on our infrastructure. \n\nLearn more about [Web3 Actions](https://docs.tenderly.co/web3-actions/intro-to-web3-actions)."
    },
    {
      "name": "Virtual Environments",
      "description": "Virtual Environments are simulated blockchain networks, designed to replicate real networks for various stages of dapp development. Use them as risk-free development and staging infrastructure that fully tracks real network state without the need to use real cryptocurrency or assets.\n\nEnvironments are multi-chain groupings of Virtual Environments, providing a coordinated set of simulated networks for end-to-end cross-chain testing. Each environment contains a Virtual Environment per configured network, and an active instance manages the current state across all chains.\n\nEnvironments support cross-chain bridge simulation, allowing you to test bridging and messaging protocols across networks in a fully isolated and reproducible setup."
    },
    {
      "name": "Other",
      "description": "This section contains miscellaneous endpoints that do not fit into other categories, such as checking supported networks on the Tenderly platform."
    }
  ],
  "paths": {
    "/v1/account/{accountSlug}/project/{projectSlug}/address": {
      "post": {
        "tags": [
          "Contracts"
        ],
        "summary": "Add contract to project",
        "description": "Add a smart contract to a Tenderly project.\n\n**Note**: If a contract is unverified on both Tenderly and external providers like Etherscan, Blockscout, or Routescan, it will be added to the project as **unverified**. However, if the contract is verified on an external provider, Tenderly will retrieve and apply the verification, subsequently adding the verified contract to the project.",
        "operationId": "addContractToProject",
        "x-codeSamples": [
          {
            "lang": "cURL",
            "label": "Add contract to project",
            "source": "curl 'https://api.tenderly.co/api/v1/account/${TENDERLY_ACCOUNT_SLUG}/project/${TENDERLY_PROJECT_SLUG}/address' \\\n  -H 'X-Access-Key: ${TENDERLY_ACCESS_KEY}' \\\n  -H 'content-type: application/json' \\\n  --data-raw '{\"network_id\":\"1\",\"address\":\"0x6b175474e89094c44da98b954eedeac495271d0f\",\"display_name\":\"DAI Stablecoin\"}' \\\n  --compressed"
          }
        ],
        "parameters": [
          {
            "name": "accountSlug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Account slug of the user",
            "example": "me"
          },
          {
            "name": "projectSlug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Project slug of the account",
            "example": "project"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/add_contract_post"
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "429": {
            "$ref": "#/components/responses/too_many_requests"
          },
          "500": {
            "$ref": "#/components/responses/server_error"
          }
        },
        "requestBody": {
          "required": true,
          "description": "Add contract to project payload",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/add-contract-payload"
              },
              "examples": {
                "add_contract": {
                  "$ref": "#/components/examples/add_contract_post_request"
                }
              }
            }
          }
        }
      }
    },
    "/v1/account/{accountSlug}/project/{projectSlug}/contracts": {
      "get": {
        "tags": [
          "Contracts"
        ],
        "summary": "Get all contracts in project",
        "description": "Get details for all smart contracts in a Tenderly project.",
        "operationId": "getContractsForProject",
        "x-codeSamples": [
          {
            "lang": "cURL",
            "label": "Get all contracts in project",
            "source": "# All contracts in a single response\ncurl 'https://api.tenderly.co/api/v1/account/${TENDERLY_ACCOUNT_SLUG}/project/${TENDERLY_PROJECT_SLUG}/contracts?accountType=contract' \\\n  -H 'X-Access-Key: ${TENDERLY_ACCESS_KEY}' \\\n  --compressed\n\n# Paginated (recommended for projects with many contracts)\ncurl 'https://api.tenderly.co/api/v1/account/${TENDERLY_ACCOUNT_SLUG}/project/${TENDERLY_PROJECT_SLUG}/contracts?accountType=contract&perPage=500&page=1' \\\n  -H 'X-Access-Key: ${TENDERLY_ACCESS_KEY}' \\\n  --compressed"
          }
        ],
        "parameters": [
          {
            "name": "accountSlug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Account slug of the user",
            "example": "me"
          },
          {
            "name": "projectSlug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Project slug of the account",
            "example": "project"
          },
          {
            "name": "accountType",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "wallet",
                "contract"
              ]
            },
            "required": true,
            "description": "The type of account to return",
            "example": "contract"
          },
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "required": false,
            "description": "The page number, starting at 1. Only applied when perPage is set. Results are ordered by creation time, newest first; iterate pages until a response contains fewer than perPage items.",
            "example": 1
          },
          {
            "name": "perPage",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 1
            },
            "required": false,
            "description": "The number of contracts to return per page. If omitted, all contracts in the project are returned in a single response. For projects with a large number of contracts, use paginated requests to keep responses fast and reliable.",
            "example": 500
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/contracts_get"
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "429": {
            "$ref": "#/components/responses/too_many_requests"
          },
          "500": {
            "$ref": "#/components/responses/server_error"
          }
        }
      }
    },
    "/v1/account/{accountSlug}/project/{projectSlug}/contracts/encode-states": {
      "post": {
        "tags": [
          "Contracts"
        ],
        "summary": "Encode state overrides",
        "description": "Encode state overrides of the smart contract.",
        "operationId": "encodeContractStateOverrides",
        "x-codeSamples": [
          {
            "lang": "cURL",
            "label": "Encode state overrides",
            "source": "curl 'https://api.tenderly.co/api/v1/account/${TENDERLY_ACCOUNT_SLUG}/project/${TENDERLY_PROJECT_SLUG}/contracts/encode-states' \\\n  -H 'X-Access-Key: ${TENDERLY_ACCESS_KEY}' \\\n  -H 'content-type: application/json' \\\n  --data-raw '{\"networkID\":\"1\",\"stateOverrides\":{\"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48\":{\"value\":{\"balanceAndBlacklistStates[0xAd4A638e2476C5645c1adF659EA8105FE3C1031e]\":\"1000\"}}},\"blockNumber\":\"-1\"}' \\\n  --compressed"
          }
        ],
        "parameters": [
          {
            "name": "accountSlug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Account slug of the user",
            "example": "me"
          },
          {
            "name": "projectSlug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Project slug of the account",
            "example": "project"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/encode_contract_state_post"
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "429": {
            "$ref": "#/components/responses/too_many_requests"
          },
          "500": {
            "$ref": "#/components/responses/server_error"
          }
        },
        "requestBody": {
          "required": true,
          "description": "Encode contract state overrides payload",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/encode-states-payload"
              },
              "examples": {
                "encode_states": {
                  "$ref": "#/components/examples/encode_states_post_request"
                }
              }
            }
          }
        }
      }
    },
    "/v1/account/{accountSlug}/project/{projectSlug}/tag": {
      "post": {
        "tags": [
          "Contracts"
        ],
        "summary": "Add tag to mutiple contracts",
        "description": "This endpoint allows you to tag multiple smart contracts.",
        "operationId": "tagContracts",
        "x-codeSamples": [
          {
            "lang": "cURL",
            "label": "Add tag to mutiple contracts",
            "source": "curl 'https://api.tenderly.co/api/v1/account/${TENDERLY_ACCOUNT_SLUG}/project/${TENDERLY_PROJECT_SLUG}/tag' \\\n  -H 'X-Access-Key: ${TENDERLY_ACCESS_KEY}' \\\n  -H 'content-type: application/json' \\\n  --data-raw '{\"tag\":\"v1.0.0\",\"contract_ids\":[\"eth:1:0x6b175474e89094c44da98b954eedeac495271d0f\"]}' \\\n  --compressed"
          }
        ],
        "parameters": [
          {
            "name": "accountSlug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Account slug of the user",
            "example": "me"
          },
          {
            "name": "projectSlug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Project slug of the account",
            "example": "project"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/tag_contracts_post"
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "429": {
            "$ref": "#/components/responses/too_many_requests"
          },
          "500": {
            "$ref": "#/components/responses/server_error"
          }
        },
        "requestBody": {
          "required": true,
          "description": "Tag contracts payload",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/tag-contracts-payload"
              },
              "examples": {
                "tag_contracts": {
                  "$ref": "#/components/examples/tag_contracts_post_request"
                }
              }
            }
          }
        }
      }
    },
    "/v1/account/{accountSlug}/project/{projectSlug}/contract/{networkId}/{address}/tag": {
      "delete": {
        "tags": [
          "Contracts"
        ],
        "summary": "Delete contract tag",
        "description": "Delete a tag that has been added to a smart contract.",
        "operationId": "deleteContractTag",
        "x-codeSamples": [
          {
            "lang": "cURL",
            "label": "Delete contract tag",
            "source": "curl 'https://api.tenderly.co/api/v1/account/${TENDERLY_ACCOUNT_SLUG}/project/${TENDERLY_PROJECT_SLUG}/contract/${NETWORK_ID}/${ADDRESS}/tag' \\\n  -H 'X-Access-Key: ${TENDERLY_ACCESS_KEY}' \\\n  -X DELETE \\\n  --compressed"
          }
        ],
        "parameters": [
          {
            "name": "accountSlug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Account slug of the user",
            "example": "me"
          },
          {
            "name": "projectSlug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Project slug of the account",
            "example": "project"
          },
          {
            "name": "networkId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Network Id of the smart contract",
            "example": "1"
          },
          {
            "name": "address",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Smart contract address",
            "example": "0xa5e79baee540f000ef6f23d067cd3ac22c7d9fe6"
          }
        ],
        "responses": {
          "204": {
            "description": "The smart contract tag was deleted successfully.",
            "headers": {
              "X-Tdly-Limit": {
                "$ref": "#/components/headers/ratelimit-limit"
              },
              "X-Tdly-Remaining": {
                "$ref": "#/components/headers/ratelimit-remaining"
              },
              "X-Tdly-Reset-Timestamp": {
                "$ref": "#/components/headers/ratelimit-reset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "429": {
            "$ref": "#/components/responses/too_many_requests"
          },
          "500": {
            "$ref": "#/components/responses/server_error"
          }
        },
        "requestBody": {
          "required": true,
          "description": "Delete contract tag payload",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/delete-contract-tag-payload"
              }
            }
          }
        }
      }
    },
    "/v1/account/{accountSlug}/project/{projectSlug}/contract/{networkId}/{address}/rename": {
      "post": {
        "tags": [
          "Contracts"
        ],
        "summary": "Rename contract",
        "description": "This endpoint allows you to rename a smart contract.\n\n**Note**: If a contract is unverified on both Tenderly and external providers like Etherscan, Blockscout, or Routescan, it will be added to the project as **unverified**. However, if the contract is verified on an external provider, Tenderly will retrieve and apply the verification, subsequently adding the verified contract to the project.",
        "operationId": "renameContract",
        "x-codeSamples": [
          {
            "lang": "cURL",
            "label": "Rename contract",
            "source": "curl 'https://api.tenderly.co/api/v1/account/${TENDERLY_ACCOUNT_SLUG}/project/${TENDERLY_PROJECT_SLUG}/contract/${NETWORK_ID}/${ADDRESS}/rename' \\\n  -H 'X-Access-Key: ${TENDERLY_ACCESS_KEY}' \\\n  -H 'content-type: application/json' \\\n  --data-raw '{\"display_name\":\"DAI Stablecoin\"}' \\\n  --compressed"
          }
        ],
        "parameters": [
          {
            "name": "accountSlug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Account slug of the user",
            "example": "me"
          },
          {
            "name": "projectSlug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Project slug of the account",
            "example": "project"
          },
          {
            "name": "networkId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Network Id of the smart contract",
            "example": "1"
          },
          {
            "name": "address",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Smart contract address",
            "example": "0xa5e79baee540f000ef6f23d067cd3ac22c7d9fe6"
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/components/responses/rename_contract_post"
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "429": {
            "$ref": "#/components/responses/too_many_requests"
          },
          "500": {
            "$ref": "#/components/responses/server_error"
          }
        },
        "requestBody": {
          "required": true,
          "description": "Rename contract payload",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/rename-contract-payload"
              },
              "examples": {
                "rename_contract": {
                  "$ref": "#/components/examples/rename_contract_post_request"
                }
              }
            }
          }
        }
      }
    },
    "/v1/account/{accountSlug}/project/{projectSlug}/contract/{networkId}/{address}": {
      "delete": {
        "tags": [
          "Contracts"
        ],
        "summary": "Delete contract from project",
        "description": "Delete a smart contract from a Tenderly project. ",
        "operationId": "deleteContract",
        "x-codeSamples": [
          {
            "lang": "cURL",
            "label": "Delete contract from project",
            "source": "curl 'https://api.tenderly.co/api/v1/account/${TENDERLY_ACCOUNT_SLUG}/project/${TENDERLY_PROJECT_SLUG}/contract/${NETWORK_ID}/${ADDRESS}' \\\n  -H 'X-Access-Key: ${TENDERLY_ACCESS_KEY}' \\\n  -X DELETE \\\n  --compressed"
          }
        ],
        "parameters": [
          {
            "name": "accountSlug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Account slug of the user",
            "example": "me"
          },
          {
            "name": "projectSlug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Project slug of the account",
            "example": "project"
          },
          {
            "name": "networkId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Network Id of the smart contract",
            "example": "1"
          },
          {
            "name": "address",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Smart contract address",
            "example": "0xa5e79baee540f000ef6f23d067cd3ac22c7d9fe6"
          }
        ],
        "responses": {
          "204": {
            "description": "The smart contract was deleted successfully.",
            "headers": {
              "X-Tdly-Limit": {
                "$ref": "#/components/headers/ratelimit-limit"
              },
              "X-Tdly-Remaining": {
                "$ref": "#/components/headers/ratelimit-remaining"
              },
              "X-Tdly-Reset-Timestamp": {
                "$ref": "#/components/headers/ratelimit-reset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "429": {
            "$ref": "#/components/responses/too_many_requests"
          },
          "500": {
            "$ref": "#/components/responses/server_error"
          }
        }
      }
    },
    "/v1/account/{accountSlug}/project/{projectSlug}/wallet": {
      "post": {
        "tags": [
          "Wallets"
        ],
        "summary": "Add wallet to project",
        "description": "This endpoint allows you to add a wallet address to your Tenderly project.",
        "operationId": "addWalletsToProject",
        "parameters": [
          {
            "name": "accountSlug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Account slug of the user",
            "example": "me"
          },
          {
            "name": "projectSlug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Project slug of the account",
            "example": "project"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/add_wallet_post"
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "429": {
            "$ref": "#/components/responses/too_many_requests"
          },
          "500": {
            "$ref": "#/components/responses/server_error"
          }
        },
        "requestBody": {
          "required": true,
          "description": "Add wallet to project payload",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/add-wallet-payload"
              },
              "examples": {
                "add_wallet": {
                  "$ref": "#/components/examples/add_wallet_post_request"
                }
              }
            }
          }
        },
        "x-codeSamples": [
          {
            "lang": "cURL",
            "source": "curl 'https://api.tenderly.co/api/v1/account/${TENDERLY_ACCOUNT_SLUG}/project/${TENDERLY_PROJECT_SLUG}/wallet' \\\n  -H 'X-Access-Key: ${TENDERLY_ACCESS_KEY}' \\\n  -H 'content-type: application/json' \\\n  --data-raw '{\"network_ids\":[\"1\",\"43114\"],\"address\":\"0xd8da6bf26964af9d7eed9e03e53415d37aa96045\",\"display_name\":\"Vitalik\"}' \\\n  --compressed"
          }
        ]
      }
    },
    "/v1/account/{accountSlug}/project/{projectSlug}/wallet/{address}/network/{networkId}": {
      "get": {
        "tags": [
          "Wallets"
        ],
        "summary": "Get wallet in project",
        "description": "This endpoint allows you to get a single wallet for your Tenderly project.",
        "operationId": "getWalletForProject",
        "parameters": [
          {
            "name": "accountSlug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Account slug of the user",
            "example": "me"
          },
          {
            "name": "projectSlug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Project slug of the account",
            "example": "project"
          },
          {
            "name": "networkId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Network Id of the wallet",
            "example": "1"
          },
          {
            "name": "address",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Wallet address",
            "example": "0xd8da6bf26964af9d7eed9e03e53415d37aa96045"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/wallet_get"
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "429": {
            "$ref": "#/components/responses/too_many_requests"
          },
          "500": {
            "$ref": "#/components/responses/server_error"
          }
        },
        "x-codeSamples": [
          {
            "lang": "cURL",
            "source": "curl 'https://api.tenderly.co/api/v1/account/${TENDERLY_ACCOUNT_SLUG}/project/${TENDERLY_PROJECT_SLUG}/wallet/WALLET_ADDRESS/network/NETWORK_ID' \\\n  -H 'X-Access-Key: ${TENDERLY_ACCESS_KEY}' \\\n  -H 'content-type: application/json' \\\n  --compressed"
          }
        ]
      }
    },
    "/v1/account/{accountSlug}/project/{projectSlug}/simulate": {
      "post": {
        "tags": [
          "Simulator"
        ],
        "summary": "Simulate transaction",
        "description": "Call the `simulate` endpoint to preview the outcomes a single transaction before sending it to the live network. You can simulate transactions with custom parameters on [105+ supported networks](https://docs.tenderly.co/supported-networks-and-languages). The output provides detailed insights into emitted events, state changes, asset and balance changes, among other things. \n\nLearn about [single transaction simulations](https://docs.tenderly.co/simulations/single-simulations).\n\nThe response returns the following objects:\n\n`transaction`: Contains data related to the transaction, including its hash, block number, origin and destination addresses, gas details, input data, nonce, and other transaction details, like the status, timestamp, and involved contract addresses.\n\n`simulation`: Contains data about the simulated transaction. It provides details related to the ID of the simulation, project and owner IDs, block number where the transaction was included, gas used, method invoked, simulation status, and other metadata.\n\n`contracts`: Contains data about the contract(s) involved in the transaction, including the contract's ID, network ID, balance, verification status, associated standards (like ERC20), token-specific data if the contract is a token, compiler version, and even the source code of the contract in some cases.\n\n`generated_access_list`: Contains a list of addresses and storage keys that the transaction will access, enabling certain gas cost optimizations. The access list is a feature introduced in [Ethereum's EIP-2930](https://eips.ethereum.org/EIPS/eip-2930).",
        "operationId": "simulateTransaction",
        "parameters": [
          {
            "name": "accountSlug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Account slug of the user",
            "example": "me"
          },
          {
            "name": "projectSlug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Project slug of the account",
            "example": "project"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/simulate_post"
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "429": {
            "$ref": "#/components/responses/too_many_requests"
          },
          "500": {
            "$ref": "#/components/responses/server_error"
          }
        },
        "requestBody": {
          "required": true,
          "description": "Simulate transaction payload",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/simulation-payload"
              },
              "examples": {
                "full_mode": {
                  "$ref": "#/components/examples/full_mode_simulate_post_request"
                },
                "quick_mode": {
                  "$ref": "#/components/examples/quick_mode_simulate_post_request"
                },
                "abi_mode": {
                  "$ref": "#/components/examples/abi_mode_simulate_post_request"
                },
                "estimate_gas": {
                  "$ref": "#/components/examples/estimate_gas_simulate_post_request"
                },
                "failed_tx": {
                  "$ref": "#/components/examples/failed_tx_simulate_post_request"
                },
                "state_and_block_overrides": {
                  "$ref": "#/components/examples/state_block_overrides_simulate_post_request"
                }
              }
            }
          }
        },
        "x-codeSamples": [
          {
            "lang": "cURL",
            "source": "# Full Mode Simulation\ncurl 'https://api.tenderly.co/api/v1/account/${TENDERLY_ACCOUNT_SLUG}/project/${TENDERLY_PROJECT_SLUG}/simulate' \\\n  -H 'X-Access-Key: ${TENDERLY_ACCESS_KEY}' \\\n  -H 'content-type: application/json' \\\n  --data-raw '{\"network_id\":\"1\",\"from\":\"0x3f41a1cfd3c8b8d9c162de0f42307a0095a6e5df\",\"to\":\"0xdef171fe48cf0115b1d80b88dc8eab59176fee57\",\"input\":\"0xa94e78ef000000000000000000000000000000000000000000000000000000000000002000000000000000000000000068037790a0229e9ce6eaa8a99ea92964106c470300000000000000000000000000000000000000000000010f0cf064dd592000000000000000000000000000000000000000000000000000000000000145dc1b2e00000000000000000000000000000000000000000000000000000001477f4d7d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000000000064d281e65c9438a5a99c4bccb1035296d5d2d8d200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000320000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a73000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000006000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000064db6806000000000000000000000000000000000000000000000000000000000000002b68037790a0229e9ce6eaa8a99ea92964106c47030001f4a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000000000000000000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a730000000000000000000000000000000000000000000000000000000000002710000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000060000000000000000000000001b81d678ffb9c0263b24a97847620c99d213eb14000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000064db6806000000000000000000000000000000000000000000000000000000000000002ba0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000064dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\"gas\":648318,\"block_number\":17884583,\"value\":\"0\",\"save\":true,\"save_if_fails\":true,\"simulation_type\":\"full\"}' \\\n  --compressed\n\n# Quick Mode Simulation\ncurl 'https://api.tenderly.co/api/v1/account/${TENDERLY_ACCOUNT_SLUG}/project/${TENDERLY_PROJECT_SLUG}/simulate' \\\n  -H 'X-Access-Key: ${TENDERLY_ACCESS_KEY}' \\\n  -H 'content-type: application/json' \\\n  --data-raw '{\"network_id\":\"1\",\"from\":\"0x3f41a1cfd3c8b8d9c162de0f42307a0095a6e5df\",\"to\":\"0xdef171fe48cf0115b1d80b88dc8eab59176fee57\",\"input\":\"0xa94e78ef000000000000000000000000000000000000000000000000000000000000002000000000000000000000000068037790a0229e9ce6eaa8a99ea92964106c470300000000000000000000000000000000000000000000010f0cf064dd592000000000000000000000000000000000000000000000000000000000000145dc1b2e00000000000000000000000000000000000000000000000000000001477f4d7d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000000000064d281e65c9438a5a99c4bccb1035296d5d2d8d200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000320000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a73000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000006000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000064db6806000000000000000000000000000000000000000000000000000000000000002b68037790a0229e9ce6eaa8a99ea92964106c47030001f4a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000000000000000000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a730000000000000000000000000000000000000000000000000000000000002710000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000060000000000000000000000001b81d678ffb9c0263b24a97847620c99d213eb14000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000064db6806000000000000000000000000000000000000000000000000000000000000002ba0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000064dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\"gas\":648318,\"block_number\":17884583,\"value\":\"0\",\"save\":true,\"save_if_fails\":true,\"simulation_type\":\"quick\"}' \\\n  --compressed\n\n# ABI Mode Simulation\ncurl 'https://api.tenderly.co/api/v1/account/${TENDERLY_ACCOUNT_SLUG}/project/${TENDERLY_PROJECT_SLUG}/simulate' \\\n  -H 'X-Access-Key: ${TENDERLY_ACCESS_KEY}' \\\n  -H 'content-type: application/json' \\\n  --data-raw '{\"network_id\":\"1\",\"from\":\"0x3f41a1cfd3c8b8d9c162de0f42307a0095a6e5df\",\"to\":\"0xdef171fe48cf0115b1d80b88dc8eab59176fee57\",\"input\":\"0xa94e78ef000000000000000000000000000000000000000000000000000000000000002000000000000000000000000068037790a0229e9ce6eaa8a99ea92964106c470300000000000000000000000000000000000000000000010f0cf064dd592000000000000000000000000000000000000000000000000000000000000145dc1b2e00000000000000000000000000000000000000000000000000000001477f4d7d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000000000064d281e65c9438a5a99c4bccb1035296d5d2d8d200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000320000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a73000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000006000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000064db6806000000000000000000000000000000000000000000000000000000000000002b68037790a0229e9ce6eaa8a99ea92964106c47030001f4a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000000000000000000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a730000000000000000000000000000000000000000000000000000000000002710000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000060000000000000000000000001b81d678ffb9c0263b24a97847620c99d213eb14000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000064db6806000000000000000000000000000000000000000000000000000000000000002ba0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000064dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\"gas\":648318,\"block_number\":17884583,\"value\":\"0\",\"save\":true,\"save_if_fails\":true,\"simulation_type\":\"abi\"}' \\\n  --compressed\n\n# Estimate Gas Simulation\ncurl 'https://api.tenderly.co/api/v1/account/${TENDERLY_ACCOUNT_SLUG}/project/${TENDERLY_PROJECT_SLUG}/simulate' \\\n  -H 'X-Access-Key: ${TENDERLY_ACCESS_KEY}' \\\n  -H 'content-type: application/json' \\\n  --data-raw '{\"network_id\":\"1\",\"from\":\"0x3f41a1cfd3c8b8d9c162de0f42307a0095a6e5df\",\"to\":\"0xdef171fe48cf0115b1d80b88dc8eab59176fee57\",\"input\":\"0xa94e78ef000000000000000000000000000000000000000000000000000000000000002000000000000000000000000068037790a0229e9ce6eaa8a99ea92964106c470300000000000000000000000000000000000000000000010f0cf064dd592000000000000000000000000000000000000000000000000000000000000145dc1b2e00000000000000000000000000000000000000000000000000000001477f4d7d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000000000064d281e65c9438a5a99c4bccb1035296d5d2d8d200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000320000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a73000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000006000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000064db6806000000000000000000000000000000000000000000000000000000000000002b68037790a0229e9ce6eaa8a99ea92964106c47030001f4a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000000000000000000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a730000000000000000000000000000000000000000000000000000000000002710000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000060000000000000000000000001b81d678ffb9c0263b24a97847620c99d213eb14000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000064db6806000000000000000000000000000000000000000000000000000000000000002ba0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000064dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\"gas\":648318,\"block_number\":17884583,\"value\":\"0\",\"save\":true,\"save_if_fails\":true,\"estimate_gas\":true,\"simulation_type\":\"quick\"}' \\\n  --compressed\n\n# Failed Transaction Simulation\ncurl 'https://api.tenderly.co/api/v1/account/${TENDERLY_ACCOUNT_SLUG}/project/${TENDERLY_PROJECT_SLUG}/simulate' \\\n  -H 'X-Access-Key: ${TENDERLY_ACCESS_KEY}' \\\n  -H 'content-type: application/json' \\\n  --data-raw '{\"network_id\":\"1\",\"block_number\":18827905,\"transaction_index\":222,\"from\":\"0xd8da6bf26964af9d7eed9e03e53415d37aa96045\",\"input\":\"0xa94e78ef0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000eaa63125dd63f10874f99cdbbb18410e7fc79dd300000000000000000000000000000000000000000004f68ca6d8cd91c6000000000000000000000000000000000000000000000000000000000000036e22623300000000000000000000000000000000000000000000000000000003728c0b380000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000076000000000000000000000000000000000000000000000000000000000658357363e8a57981b0747b79f70262f8257408600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000300000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a73000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000004000000000000000000000000f9234cb08edb93c0d4a4d4c70cc3ffd070e78e07000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000001000000000000000000004de5672fefac7f6e3017d9a2f1c14fe048191a24ce14000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a73000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000006000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000658c3d55000000000000000000000000000000000000000000000000000000000000002bc02aaa39b223fe8d0a0e5c4f27ead9083c756cc20001f4a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\"to\":\"0xdef171fe48cf0115b1d80b88dc8eab59176fee57\",\"gas\":617885,\"gas_price\":\"87235100681\",\"value\":\"0\",\"access_list\":[],\"generate_access_list\":true,\"save\":true,\"simulation_type\":\"quick\"}' \\\n  --compressed"
          },
          {
            "lang": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"io\"\n\t\"log\"\n\t\"net/http\"\n\t\"strings\"\n)\n\nfunc main() {\n\tclient := &http.Client{}\n\tvar data = strings.NewReader(`{\"network_id\":\"1\",\"from\":\"0x3f41a1cfd3c8b8d9c162de0f42307a0095a6e5df\",\"to\":\"0xdef171fe48cf0115b1d80b88dc8eab59176fee57\",\"input\":\"0xa94e78ef000000000000000000000000000000000000000000000000000000000000002000000000000000000000000068037790a0229e9ce6eaa8a99ea92964106c470300000000000000000000000000000000000000000000010f0cf064dd592000000000000000000000000000000000000000000000000000000000000145dc1b2e00000000000000000000000000000000000000000000000000000001477f4d7d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000000000064d281e65c9438a5a99c4bccb1035296d5d2d8d200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000320000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a73000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000006000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000064db6806000000000000000000000000000000000000000000000000000000000000002b68037790a0229e9ce6eaa8a99ea92964106c47030001f4a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000000000000000000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a730000000000000000000000000000000000000000000000000000000000002710000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000060000000000000000000000001b81d678ffb9c0263b24a97847620c99d213eb14000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000064db6806000000000000000000000000000000000000000000000000000000000000002ba0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000064dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\"gas\":648318,\"block_number\":17884583,\"value\":\"0\",\"save\":true,\"save_if_fails\":true,\"simulation_type\":\"full\"}`)\n\treq, err := http.NewRequest(\"POST\", \"https://api.tenderly.co/api/v1/account/${TENDERLY_ACCOUNT_SLUG}/project/${TENDERLY_PROJECT_SLUG}/simulate\", data)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\treq.Header.Set(\"X-Access-Key\", \"${TENDERLY_ACCESS_KEY}\")\n\treq.Header.Set(\"content-type\", \"application/json\")\n\tresp, err := client.Do(req)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tdefer resp.Body.Close()\n\tbodyText, err := io.ReadAll(resp.Body)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%s\\n\", bodyText)\n}"
          },
          {
            "lang": "JavaScript",
            "source": "import axios from 'axios';\n\nconst response = await axios.post(\n  'https://api.tenderly.co/api/v1/account/${TENDERLY_ACCOUNT_SLUG}/project/${TENDERLY_PROJECT_SLUG}/simulate',\n  {\n    'network_id': '1',\n    'from': '0x3f41a1cfd3c8b8d9c162de0f42307a0095a6e5df',\n    'to': '0xdef171fe48cf0115b1d80b88dc8eab59176fee57',\n    'input': '0xa94e78ef000000000000000000000000000000000000000000000000000000000000002000000000000000000000000068037790a0229e9ce6eaa8a99ea92964106c470300000000000000000000000000000000000000000000010f0cf064dd592000000000000000000000000000000000000000000000000000000000000145dc1b2e00000000000000000000000000000000000000000000000000000001477f4d7d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000000000064d281e65c9438a5a99c4bccb1035296d5d2d8d200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000320000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a73000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000006000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000064db6806000000000000000000000000000000000000000000000000000000000000002b68037790a0229e9ce6eaa8a99ea92964106c47030001f4a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000000000000000000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a730000000000000000000000000000000000000000000000000000000000002710000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000060000000000000000000000001b81d678ffb9c0263b24a97847620c99d213eb14000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000064db6806000000000000000000000000000000000000000000000000000000000000002ba0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000064dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000',\n    'gas': 648318,\n    'block_number': 17884583,\n    'value': '0',\n    'save': true,\n    'save_if_fails': true,\n    'simulation_type': 'full'\n  },\n  {\n    headers: {\n      'X-Access-Key': '${TENDERLY_ACCESS_KEY}',\n      'content-type': 'application/json'\n    }\n  }\n);"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nheaders = {\n    'X-Access-Key': '${TENDERLY_ACCESS_KEY}',\n    'content-type': 'application/json',\n}\n\njson_data = {\n    'network_id': '1',\n    'from': '0x3f41a1cfd3c8b8d9c162de0f42307a0095a6e5df',\n    'to': '0xdef171fe48cf0115b1d80b88dc8eab59176fee57',\n    'input': '0xa94e78ef000000000000000000000000000000000000000000000000000000000000002000000000000000000000000068037790a0229e9ce6eaa8a99ea92964106c470300000000000000000000000000000000000000000000010f0cf064dd592000000000000000000000000000000000000000000000000000000000000145dc1b2e00000000000000000000000000000000000000000000000000000001477f4d7d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000000000064d281e65c9438a5a99c4bccb1035296d5d2d8d200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000320000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a73000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000006000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000064db6806000000000000000000000000000000000000000000000000000000000000002b68037790a0229e9ce6eaa8a99ea92964106c47030001f4a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000000000000000000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a730000000000000000000000000000000000000000000000000000000000002710000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000060000000000000000000000001b81d678ffb9c0263b24a97847620c99d213eb14000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000064db6806000000000000000000000000000000000000000000000000000000000000002ba0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000064dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000',\n    'gas': 648318,\n    'block_number': 17884583,\n    'value': '0',\n    'save': True,\n    'save_if_fails': True,\n    'simulation_type': 'full',\n}\n\nresponse = requests.post(\n    'https://api.tenderly.co/api/v1/account/${TENDERLY_ACCOUNT_SLUG}/project/${TENDERLY_PROJECT_SLUG}/simulate',\n    headers=headers,\n    json=json_data,\n)"
          }
        ]
      }
    },
    "/v1/account/{accountSlug}/project/{projectSlug}/simulate-bundle": {
      "post": {
        "tags": [
          "Simulator"
        ],
        "summary": "Simulate bundled transactions",
        "description": "Call the `simulate-bundle` endpoint to simulate multiple consecutive transactions at once. You can simulate bundled transactions on real-time data from over [105+ supported networks](https://docs.tenderly.co/supported-networks-and-languages). This endpoint receive an array of transactions that get simulated one after another on the same block.\n\n**Note:** If the initial transaction in the array changes the state, all subsequent transactions will be simulated against this modified state. Furthermore, should a simulation fail for any reason, all following simulations in the sequence will not be executed.\n\nLearn more about [bundled simulations](https://docs.tenderly.co/simulations/bundled-simulations).\n\nThe response returns a `simulation_results` array, where each element corresponds to a simulation in the input array (in the same order). Each result contains the following objects:\n\n`transaction`: Contains data related to the simulated transaction, including its hash, block number, origin and destination addresses, gas details, input data, nonce, and other transaction details, like the status, timestamp, and involved contract addresses. The nested `transaction_info` object holds detailed execution data such as the call trace, emitted logs, state diffs, and asset changes.\n\n`simulation`: Contains metadata about this simulation within the bundle, including its unique ID, project and owner IDs, block number, gas used, the method invoked, simulation status, state overrides applied, and other metadata.\n\n`contracts`: Contains data about the contract(s) involved in the transaction, including the contract's ID, network ID, balance, verification status, associated standards (like ERC20), token-specific data if the contract is a token, compiler version, and even the source code of the contract in some cases.\n\n`generated_access_list`: Contains a list of addresses and storage keys that the transaction will access, enabling certain gas cost optimizations. The access list is a feature introduced in [Ethereum's EIP-2930](https://eips.ethereum.org/EIPS/eip-2930).",
        "operationId": "simulateTransactionBundle",
        "parameters": [
          {
            "name": "accountSlug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Account slug of the user",
            "example": "me"
          },
          {
            "name": "projectSlug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Project slug of the account",
            "example": "project"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/simulate_bundle_post"
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "429": {
            "$ref": "#/components/responses/too_many_requests"
          },
          "500": {
            "$ref": "#/components/responses/server_error"
          }
        },
        "requestBody": {
          "required": true,
          "description": "Simulate transaction bundle payload",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/simulation-bundle-payload"
              },
              "examples": {
                "dai_mint_approve_transfer": {
                  "$ref": "#/components/examples/bundle_dai_mint_approve_transfer_request"
                },
                "approve_permit2_swap": {
                  "$ref": "#/components/examples/bundle_approve_permit2_swap_request"
                }
              }
            }
          }
        },
        "x-codeSamples": [
          {
            "lang": "JavaScript",
            "source": "import axios from 'axios';\nimport * as dotenv from 'dotenv';\nimport { ethers } from 'ethers';\n\ndotenv.config();\n\n// assuming environment variables TENDERLY_ACCOUNT_SLUG, TENDERLY_PROJECT_SLUG and TENDERLY_ACCESS_KEY are set\n// https://docs.tenderly.co/account/projects/account-project-slug\n// https://docs.tenderly.co/account/projects/how-to-generate-api-access-token\nconst { TENDERLY_ACCOUNT_SLUG, TENDERLY_PROJECT_SLUG, TENDERLY_ACCESS_KEY } = process.env;\n\nconst batchedSimulations = async () => {\n  console.time('Batch Simulation');\n\n  const daiSequence = (\n    await axios.post(\n      `https://api.tenderly.co/api/v1/account/${TENDERLY_ACCOUNT_SLUG}/project/${TENDERLY_PROJECT_SLUG}/simulate-bundle`,\n      // the transaction\n      {\n        simulations: getTxSequence().map((transaction) => ({\n          network_id: '1', // network to simulate on\n          save: true,\n          save_if_fails: true,\n          simulation_type: 'full',\n          ...transaction,\n        })),\n      },\n      {\n        headers: {\n          'X-Access-Key': TENDERLY_ACCESS_KEY as string,\n        },\n      },\n    )\n  ).data;\n  console.timeEnd('Batch Simulation');\n  console.log(JSON.stringify(daiSequence, null, 2));\n};\n\nfunction getTxSequence() {\n  const fakeWardAddress = '0xe2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2';\n  const daiOwner = 'e58b9ee93700a616b50509c8292977fa7a0f8ce1';\n  const daiSpend = 'f7ddedc66b1d482e5c38e4730b3357d32411e5dd';\n  const daiRecip = 'e58b9ee93700a616b50509c8292977fa7a0f8ce1';\n  const daiContract = '0x6b175474e89094c44da98b954eedeac495271d0f';\n  return [\n    // TX1: Mint 2 DAI for e58b9ee93700a616b50509c8292977fa7a0f8ce1.\n    // Must do state override so sender (from) is considered a ward for this simulation\n    {\n      from: fakeWardAddress,\n      to: '0x6b175474e89094c44da98b954eedeac495271d0f',\n      input:\n        '0x40c10f19000000000000000000000000e58b9ee93700a616b50509c8292977fa7a0f8ce10000000000000000000000000000000000000000000000001bc16d674ec80000',\n      // make 0xcace477c66b1f2e151974eeada9ac8b95a31c50593ae1db2f048f0a2b54c1424 a ward\n      state_objects: {\n        '0x6b175474e89094c44da98b954eedeac495271d0f': {\n          storage: {\n            '0xedd7d04419e9c48ceb6055956cbb4e2091ae310313a4d1fa7cbcfe7561616e03':\n              '0x0000000000000000000000000000000000000000000000000000000000000001',\n          },\n        },\n      },\n    },\n    // TX2: e58b9ee93700a616b50509c8292977fa7a0f8ce1 approves 1 DAI to f7ddedc66b1d482e5c38e4730b3357d32411e5dd\n    {\n      from: '0xe58b9ee93700a616b50509c8292977fa7a0f8ce1',\n      to: '0x6b175474e89094c44da98b954eedeac495271d0f',\n      input:\n        '0x095ea7b3000000000000000000000000f7ddedc66b1d482e5c38e4730b3357d32411e5dd0000000000000000000000000000000000000000000000000de0b6b3a7640000',\n    },\n    {\n      // TX3: 0xf7ddedc66b1d482e5c38e4730b3357d32411e5dd calls transferFrom to transfer 0.5 DAI belonging to e58b9ee93700a616b50509c8292977fa7a0f8ce1, sending them to e58b9ee93700a616b50509c8292977fa7a0f8ce1\n      from: '0xf7ddedc66b1d482e5c38e4730b3357d32411e5dd',\n      to: '0x6b175474e89094c44da98b954eedeac495271d0f',\n      input:\n        '0x23b872dd000000000000000000000000e58b9ee93700a616b50509c8292977fa7a0f8ce1000000000000000000000000bd8daa414fda8a8a129f7035e7496759c5af8570000000000000000000000000000000000000000000000000006a94d74f430000',\n    },\n  ];\n}\n\nfunction getWardStorageLocation(wardAddress: string) {\n  // calculate the storage location of `wards[wardAddress]`\n  // yields 0xedd7d04419e9c48ceb6055956cbb4e2091ae310313a4d1fa7cbcfe7561616e03\n  return ethers.utils.keccak256(\n    ethers.utils.concat([\n      ethers.utils.hexZeroPad(wardAddress, 32), // the ward address (address 0x000..0) - mapping key\n      ethers.utils.hexZeroPad('0x0', 32), // the wards slot is 0th in the DAI contract - the mapping variable\n    ]),\n  );\n}\n\nbatchedSimulations();"
          }
        ]
      }
    },
    "/v1/account/{accountSlug}/project/{projectSlug}/simulations/{simulationId}": {
      "post": {
        "tags": [
          "Simulator"
        ],
        "summary": "Get full simulated transaction details",
        "description": "Get all the simulation details for a transaction from a specific account or project. This data includes details about the transaction, simulation details, list of contracts involved, and generated access list. You need to provide the ID of the simulated transaction. ",
        "operationId": "getSimulatedTransactionById",
        "parameters": [
          {
            "name": "accountSlug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Account slug of the user",
            "example": "me"
          },
          {
            "name": "projectSlug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Project slug of the account",
            "example": "project"
          },
          {
            "name": "simulationId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Simulation Id to get info for",
            "example": "e07c0269-3e2c-41b0-986a-74dc5a357c7d"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/simulations_single_post"
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "429": {
            "$ref": "#/components/responses/too_many_requests"
          },
          "500": {
            "$ref": "#/components/responses/server_error"
          }
        },
        "x-codeSamples": [
          {
            "lang": "cURL",
            "source": "curl 'https://api.tenderly.co/api/v1/account/${TENDERLY_ACCOUNT_SLUG}/project/${TENDERLY_PROJECT_SLUG}/simulations/68031df7-16de-469d-ac9d-6947466a193b' \\\n  -X 'POST' \\\n  -H 'X-Access-Key: ${TENDERLY_ACCESS_KEY}' \\\n  --compressed"
          },
          {
            "lang": "fetch",
            "source": "fetch('https://api.tenderly.co/api/v1/account/${TENDERLY_ACCOUNT_SLUG}/project/${TENDERLY_PROJECT_SLUG}/simulations/68031df7-16de-469d-ac9d-6947466a193b', {\n  'headers': {\n    'X-Access-Key': '${TENDERLY_ACCESS_KEY}',\n    'content-type': 'application/json',\n  },\n  'body': null,\n  'method': 'POST',\n});"
          }
        ]
      }
    },
    "/v1/account/{accountSlug}/project/{projectSlug}/simulations/{simulationId}/share": {
      "post": {
        "tags": [
          "Simulator"
        ],
        "summary": "Enable simulation sharing",
        "description": "Call the `share` endpoint to enable the public sharing feature for a simulation ID from a specific account or project. Once enabled, simulation details become accessible to anyone with the link to the transaction simulation.\n\nExample sharable link: `https://www.tdly.co/shared/simulation/{simulationId}`.\n\nLearn more about [sharing transactions](https://blog.tenderly.co/changelog/public-sharing-of-transactions-devnets-forks-and-simulations).",
        "operationId": "shareSimulatedTransactionById",
        "parameters": [
          {
            "name": "accountSlug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Account slug of the user",
            "example": "me"
          },
          {
            "name": "projectSlug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Project slug of the account",
            "example": "project"
          },
          {
            "name": "simulationId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Simulation Id to get info for",
            "example": "e07c0269-3e2c-41b0-986a-74dc5a357c7d"
          }
        ],
        "responses": {
          "204": {
            "description": "The simulation was shared successfully.",
            "headers": {
              "X-Tdly-Limit": {
                "$ref": "#/components/headers/ratelimit-limit"
              },
              "X-Tdly-Remaining": {
                "$ref": "#/components/headers/ratelimit-remaining"
              },
              "X-Tdly-Reset-Timestamp": {
                "$ref": "#/components/headers/ratelimit-reset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "429": {
            "$ref": "#/components/responses/too_many_requests"
          },
          "500": {
            "$ref": "#/components/responses/server_error"
          }
        },
        "x-codeSamples": [
          {
            "lang": "cURL",
            "source": "curl 'https://api.tenderly.co/api/v1/account/${TENDERLY_ACCOUNT_SLUG}/project/${TENDERLY_PROJECT_SLUG}/simulations/cc37d526-f8d8-4c28-a9a8-0268a25d1ef2/share' \\\n  -X 'POST' \\\n  -H 'X-Access-Key: ${TENDERLY_ACCESS_KEY}' \\\n  -H 'content-type: application/json' \\\n  --compressed"
          }
        ]
      }
    },
    "/v1/account/{accountSlug}/project/{projectSlug}/simulations/{simulationId}/unshare": {
      "post": {
        "tags": [
          "Simulator"
        ],
        "summary": "Disable simulation sharing",
        "description": "Call the `unshare` endpoint to disable public sharing for a simulated transaction from a specific account or project. You need to provide the ID of the simulated transaction.\n\nLearn more about [sharing transactions](https://blog.tenderly.co/changelog/public-sharing-of-transactions-devnets-forks-and-simulations).",
        "operationId": "unshareSimulatedTransactionById",
        "parameters": [
          {
            "name": "accountSlug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Account slug of the user",
            "example": "me"
          },
          {
            "name": "projectSlug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Project slug of the account",
            "example": "project"
          },
          {
            "name": "simulationId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Simulation Id to get info for",
            "example": "e07c0269-3e2c-41b0-986a-74dc5a357c7d"
          }
        ],
        "responses": {
          "204": {
            "description": "The simulation was unshared successfully.",
            "headers": {
              "X-Tdly-Limit": {
                "$ref": "#/components/headers/ratelimit-limit"
              },
              "X-Tdly-Remaining": {
                "$ref": "#/components/headers/ratelimit-remaining"
              },
              "X-Tdly-Reset-Timestamp": {
                "$ref": "#/components/headers/ratelimit-reset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "429": {
            "$ref": "#/components/responses/too_many_requests"
          },
          "500": {
            "$ref": "#/components/responses/server_error"
          }
        },
        "x-codeSamples": [
          {
            "lang": "cURL",
            "source": "curl 'https://api.tenderly.co/api/v1/account/${TENDERLY_ACCOUNT_SLUG}/project/${TENDERLY_PROJECT_SLUG}/simulations/cc37d526-f8d8-4c28-a9a8-0268a25d1ef2/unshare' \\\n  -X 'POST' \\\n  -H 'X-Access-Key: ${TENDERLY_ACCESS_KEY}' \\\n  -H 'content-type: application/json' \\\n  --compressed"
          }
        ]
      }
    },
    "/v1/account/{accountSlug}/project/{projectSlug}/simulations": {
      "get": {
        "tags": [
          "Simulator"
        ],
        "summary": "Fetch all simulated transactions",
        "description": "Call the `simulations` endpoint to get a list of all simulated transactions within an account and project.",
        "operationId": "getSimulatedTransactions",
        "parameters": [
          {
            "name": "accountSlug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Account slug of the user",
            "example": "me"
          },
          {
            "name": "projectSlug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Project slug of the account",
            "example": "project"
          },
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "required": false,
            "description": "The page number",
            "example": 1
          },
          {
            "name": "perPage",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 20
            },
            "required": false,
            "description": "The number of items to return per page",
            "example": 50
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/simulations_get"
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "429": {
            "$ref": "#/components/responses/too_many_requests"
          },
          "500": {
            "$ref": "#/components/responses/server_error"
          }
        },
        "x-codeSamples": [
          {
            "lang": "cURL",
            "source": "curl 'https://api.tenderly.co/api/v1/account/${TENDERLY_ACCOUNT_SLUG}/project/${TENDERLY_PROJECT_SLUG}/simulations?page=1&perPage=20' \\\n  -H 'X-Access-Key: ${TENDERLY_ACCESS_KEY}' \\\n  --compressed"
          },
          {
            "lang": "fetch",
            "source": "fetch('https://api.tenderly.co/api/v1/account/${TENDERLY_ACCOUNT_SLUG}/project/${TENDERLY_PROJECT_SLUG}/simulations?page=1&perPage=20', {\n  'headers': {\n    'X-Access-Key': '${TENDERLY_ACCESS_KEY}',\n    'content-type': 'application/json',\n  },\n  'body': null,\n  'method': 'GET',\n});"
          }
        ]
      }
    },
    "/v1/account/{accountSlug}/project/{projectSlug}/simulations/{simulationId}/info": {
      "get": {
        "tags": [
          "Simulator"
        ],
        "summary": "Get quick simulated transaction details",
        "description": "Call the `info` endpoint to fetch only the `transaction_info` object for a simulated transaction from a specific account or project. The response also return the block header information and block override data as separate objects. You need to provide the ID of the simulated transaction. \n\nThis endpoint returns the same data as the [Fetch full simulation details by transaction ID](https://docs.tenderly.co/reference/api#/operations/getSimulatedTransactionById) just formatted in a different way.",
        "operationId": "getSimulatedTransactionInfoById",
        "parameters": [
          {
            "name": "accountSlug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Account slug of the user",
            "example": "me"
          },
          {
            "name": "projectSlug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Project slug of the account",
            "example": "project"
          },
          {
            "name": "simulationId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Simulation Id to get info for",
            "example": "e07c0269-3e2c-41b0-986a-74dc5a357c7d"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/simulations_single_info_get"
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "429": {
            "$ref": "#/components/responses/too_many_requests"
          },
          "500": {
            "$ref": "#/components/responses/server_error"
          }
        },
        "x-codeSamples": [
          {
            "lang": "cURL",
            "source": "curl 'https://api.tenderly.co/api/v1/account/${TENDERLY_ACCOUNT_SLUG}/project/${TENDERLY_PROJECT_SLUG}/simulations/e07c0269-3e2c-41b0-986a-74dc5a357c7d/info' \\\n  -H 'X-Access-Key: ${TENDERLY_ACCESS_KEY}' \\\n  --compressed"
          },
          {
            "lang": "fetch",
            "source": "fetch('https://api.tenderly.co/api/v1/account/${TENDERLY_ACCOUNT_SLUG}/project/${TENDERLY_PROJECT_SLUG}/simulations/e07c0269-3e2c-41b0-986a-74dc5a357c7d/info', {\n  'headers': {\n    'X-Access-Key': '${TENDERLY_ACCESS_KEY}',\n    'content-type': 'application/json',\n  },\n  'body': null,\n  'method': 'GET',\n});"
          }
        ]
      }
    },
    "/v2/account/{accountSlug}/project/{projectSlug}/simulation-drafts": {
      "post": {
        "tags": [
          "Simulator"
        ],
        "summary": "Create a simulation draft",
        "description": "Store a Simulator setup (one call or a multi-call bundle, including state overrides, funded balances, and edited contract source) as a draft and receive an ID for a shareable link. Opening the link only prefills the Simulator form; nothing runs until the recipient clicks **Simulate**.\n\nPut the returned `resource_id` in a dashboard link:\n\n`https://dashboard.tenderly.co/simulator/new?draftId={resource_id}`\n\n**Visibility**\n\n- `shared: false` (default): the draft is scoped to the project in the URL. Only members of that project can open it, and the dashboard redirects them straight into the project's Simulator.\n- `shared: true`: any signed-in Tenderly user can open the draft in a project of their choice (the dashboard shows a project picker first). Use it for links aimed outside your organization, for example a governance UI that prefills a proposal simulation.\n\n**Payload handling**\n\nThe `payload` is stored as received. The API enforces only the 256 KB size limit; the payload structure is validated when the draft opens in the dashboard, and a malformed payload is rejected there with an empty form. The dashboard itself creates drafts through this endpoint with `shared: false`.\n\nDrafts expire automatically. Learn more about [Simulator draft links](https://docs.tenderly.co/simulator-ui/draft-links).",
        "operationId": "createSimulationDraft",
        "parameters": [
          {
            "name": "accountSlug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Account slug of the user",
            "example": "me"
          },
          {
            "name": "projectSlug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Project slug of the account",
            "example": "project"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/simulation-draft-create-request"
              },
              "examples": {
                "raw_calldata_single_call": {
                  "$ref": "#/components/examples/simulation_draft_raw_calldata_request"
                },
                "shared_bundle_with_overrides": {
                  "$ref": "#/components/examples/simulation_draft_shared_bundle_request"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/simulation_drafts_post"
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "429": {
            "$ref": "#/components/responses/too_many_requests"
          },
          "500": {
            "$ref": "#/components/responses/server_error"
          }
        },
        "x-codeSamples": [
          {
            "lang": "cURL",
            "source": "curl 'https://api.tenderly.co/api/v2/account/${TENDERLY_ACCOUNT_SLUG}/project/${TENDERLY_PROJECT_SLUG}/simulation-drafts' \\\n  -X 'POST' \\\n  -H 'X-Access-Key: ${TENDERLY_ACCESS_KEY}' \\\n  -H 'content-type: application/json' \\\n  --data-raw '{\n    \"payload\": {\n      \"v\": 2,\n      \"network\": { \"id\": \"1\" },\n      \"rows\": [\n        {\n          \"contractAddress\": \"0xdac17f958d2ee523a2206206994597c13d831ec7\",\n          \"from\": \"0xab5801a7d398351b8be11c439e05c5b3259aec9b\",\n          \"inputDataType\": \"raw\",\n          \"rawFunctionInput\": \"0xa9059cbb000000000000000000000000ab5801a7d398351b8be11c439e05c5b3259aec9b00000000000000000000000000000000000000000000000000000000000f4240\"\n        }\n      ]\n    }\n  }' \\\n  --compressed"
          }
        ]
      }
    },
    "/v2/account/{accountSlug}/project/{projectSlug}/simulation-drafts/{draftId}": {
      "get": {
        "tags": [
          "Simulator"
        ],
        "summary": "Get a simulation draft",
        "description": "Fetch a stored simulation draft by ID. The account and project in the URL are the caller's own (any project the caller can view); the draft's visibility determines access:\n\n- A project-scoped draft returns `payload` together with the origin `account_id` and `project_id` when the caller can view the draft's origin project.\n- A shared draft returns `payload` only, with no origin information.\n- An unknown ID, an expired draft, and a project-scoped draft the caller cannot access all return the same `404`, so draft IDs cannot be probed.\n\nLearn more about [Simulator draft links](https://docs.tenderly.co/simulator-ui/draft-links), including how to obtain a payload for an advanced setup from a draft created in the dashboard.",
        "operationId": "getSimulationDraftById",
        "parameters": [
          {
            "name": "accountSlug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Account slug of the user",
            "example": "me"
          },
          {
            "name": "projectSlug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Project slug of the account",
            "example": "project"
          },
          {
            "name": "draftId",
            "in": "path",
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "required": true,
            "description": "ID of the simulation draft (the `resource_id` returned on creation, and the `draftId` in a dashboard draft link)",
            "example": "3f2a6c1e-8f1b-4c8e-9a2d-6b1e0f7c4d21"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/simulation_draft_get"
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "429": {
            "$ref": "#/components/responses/too_many_requests"
          },
          "500": {
            "$ref": "#/components/responses/server_error"
          }
        },
        "x-codeSamples": [
          {
            "lang": "cURL",
            "source": "curl 'https://api.tenderly.co/api/v2/account/${TENDERLY_ACCOUNT_SLUG}/project/${TENDERLY_PROJECT_SLUG}/simulation-drafts/3f2a6c1e-8f1b-4c8e-9a2d-6b1e0f7c4d21' \\\n  -H 'X-Access-Key: ${TENDERLY_ACCESS_KEY}' \\\n  --compressed"
          }
        ]
      }
    },
    "/v1/account/{accountSlug}/project/{projectSlug}/alert": {
      "post": {
        "tags": [
          "Alerts"
        ],
        "summary": "Create Alert",
        "description": "Create an Alert in a Tenderly project. \n\nLearn more about the different [types of Alert triggers](https://docs.tenderly.co/alerts/alert-types-targets-and-parameters).",
        "operationId": "createAlert",
        "x-codeSamples": [
          {
            "lang": "cURL",
            "label": "Create Alert",
            "source": "curl 'https://api.tenderly.co/api/v1/account/${TENDERLY_ACCOUNT_SLUG}/project/${TENDERLY_PROJECT_SLUG}/alert' \\\n  -H 'X-Access-Key: ${TENDERLY_ACCESS_KEY}' \\\n  -H 'content-type: application/json' \\\n  --data-raw '{\"name\":\"Successful transaction in My new contract name\",\"color\":\"#33d9b2\",\"description\":\"\",\"simple_type\":\"successful_tx\",\"enabled\":true,\"expressions\":[{\"type\":\"contract_address\",\"expression\":{\"address\":\"0x94c87a7b26980ae7aaa361c5c7e03e632ab36e6c\"}},{\"type\":\"network\",\"expression\":{\"network_id\":\"1\"}},{\"type\":\"tx_status\",\"expression\":{\"transaction_success\":true}}],\"delivery_channels\":[{\"enabled\":true,\"id\":\"b16b4b75-e034-44c9-a053-f10d769a1d64\"},{\"enabled\":true,\"id\":\"f48f1f9f-1f74-4849-81cf-fce8bd3746b7\"}]}' \\\n  --compressed"
          }
        ],
        "parameters": [
          {
            "name": "accountSlug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Account slug of the user",
            "example": "me"
          },
          {
            "name": "projectSlug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Project slug of the account",
            "example": "project"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/create_alert_post"
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "429": {
            "$ref": "#/components/responses/too_many_requests"
          },
          "500": {
            "$ref": "#/components/responses/server_error"
          }
        },
        "requestBody": {
          "required": true,
          "description": "Create alert payload",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/create-alert-payload"
              },
              "examples": {
                "successful_transaction": {
                  "$ref": "#/components/examples/successful_transaction_create_alert_post_request"
                },
                "failed_transaction": {
                  "$ref": "#/components/examples/failed_transaction_create_alert_post_request"
                },
                "function_called": {
                  "$ref": "#/components/examples/function_called_create_alert_post_request"
                },
                "log_emitted": {
                  "$ref": "#/components/examples/log_emitted_create_alert_post_request"
                },
                "emitted_log_parameter": {
                  "$ref": "#/components/examples/emitted_log_parameter_create_alert_post_request"
                },
                "erc20_transfer_log_emitted": {
                  "$ref": "#/components/examples/erc20_transfer_log_emitted_create_alert_post_request"
                },
                "allowlisted_callers": {
                  "$ref": "#/components/examples/allowlisted_callers_create_alert_post_request"
                },
                "blocklisted_callers": {
                  "$ref": "#/components/examples/blocklisted_callers_create_alert_post_request"
                },
                "eth_balance": {
                  "$ref": "#/components/examples/eth_balance_create_alert_post_request"
                },
                "tx_value": {
                  "$ref": "#/components/examples/tx_value_create_alert_post_request"
                },
                "state_change": {
                  "$ref": "#/components/examples/state_change_create_alert_post_request"
                },
                "view_function": {
                  "$ref": "#/components/examples/view_function_create_alert_post_request"
                },
                "highValueTransferWithWhitelist": {
                  "$ref": "#/components/examples/highValueTransferWithWhitelist_create_alert_post_request"
                },
                "contractStateAndEvent": {
                  "$ref": "#/components/examples/contractStateAndEvent_create_alert_post_request"
                },
                "methodCallWithError": {
                  "$ref": "#/components/examples/methodCallWithError_create_alert_post_request"
                },
                "complexDeFiMonitor": {
                  "$ref": "#/components/examples/complexDeFiMonitor_create_alert_post_request"
                }
              }
            }
          }
        }
      }
    },
    "/v1/account/{accountSlug}/project/{projectSlug}/test-alerts": {
      "post": {
        "tags": [
          "Alerts"
        ],
        "summary": "Send test Alert",
        "description": "This endpoint allows you test the execution of Alerts.",
        "operationId": "sendTestAlert",
        "x-codeSamples": [
          {
            "lang": "cURL",
            "label": "Send test Alert",
            "source": "curl 'https://api.tenderly.co/api/v1/account/${TENDERLY_ACCOUNT_SLUG}/project/${TENDERLY_PROJECT_SLUG}/test-alerts' \\\n  -H 'X-Access-Key: ${TENDERLY_ACCESS_KEY}' \\\n  -H 'content-type: application/json' \\\n  --data-raw '{\"network_id\":\"1\",\"alert_id\":\"daa13590-eda0-4996-a80b-1a43c8006084\",\"tx_hash\":\"0xeb22a8b76c48c912d662bffef2272e9a6413ddbe6da541c84a51c249f04ffaf9\"}' \\\n  --compressed"
          }
        ],
        "parameters": [
          {
            "name": "accountSlug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Account slug of the user",
            "example": "me"
          },
          {
            "name": "projectSlug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Project slug of the account",
            "example": "project"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/test_alert_post"
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "429": {
            "$ref": "#/components/responses/too_many_requests"
          },
          "500": {
            "$ref": "#/components/responses/server_error"
          }
        },
        "requestBody": {
          "required": true,
          "description": "Send test alert payload",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/test-alert-payload"
              },
              "examples": {
                "test_alert": {
                  "$ref": "#/components/examples/test_alert_post_request"
                }
              }
            }
          }
        }
      }
    },
    "/v1/account/{accountSlug}/project/{projectSlug}/alerts": {
      "get": {
        "tags": [
          "Alerts"
        ],
        "summary": "List Alerts",
        "description": "This endpoint allows you retrieve alerts for given project.",
        "operationId": "listAlerts",
        "x-codeSamples": [
          {
            "lang": "cURL",
            "label": "List Alerts",
            "source": "curl 'https://api.tenderly.co/api/v1/account/${TENDERLY_ACCOUNT_SLUG}/project/${TENDERLY_PROJECT_SLUG}/alerts' \\\n  -H 'X-Access-Key: ${TENDERLY_ACCESS_KEY}' \\\n  --compressed"
          }
        ],
        "parameters": [
          {
            "name": "accountSlug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Account slug of the user",
            "example": "me"
          },
          {
            "name": "projectSlug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Project slug of the account",
            "example": "project"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/alerts_get"
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "429": {
            "$ref": "#/components/responses/too_many_requests"
          },
          "500": {
            "$ref": "#/components/responses/server_error"
          }
        }
      }
    },
    "/v1/account/{accountSlug}/project/{projectSlug}/alert-history": {
      "get": {
        "tags": [
          "Alerts"
        ],
        "summary": "Get Alert History",
        "description": "Retrieve the execution history for all Alerts in a Tenderly project. ",
        "operationId": "getAlertHistory",
        "parameters": [
          {
            "name": "accountSlug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Account slug of the user",
            "example": "me"
          },
          {
            "name": "projectSlug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Project slug of the account",
            "example": "project"
          },
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "required": false,
            "description": "The page number",
            "example": 1
          },
          {
            "name": "perPage",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 20
            },
            "required": false,
            "description": "The number of items to return per page",
            "example": 50
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/alert_history_get"
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "429": {
            "$ref": "#/components/responses/too_many_requests"
          },
          "500": {
            "$ref": "#/components/responses/server_error"
          }
        },
        "x-codeSamples": [
          {
            "lang": "cURL",
            "source": "curl 'https://api.tenderly.co/api/v1/account/${TENDERLY_ACCOUNT_SLUG}/project/${TENDERLY_PROJECT_SLUG}/alert-history' \\\n  -H 'X-Access-Key: ${TENDERLY_ACCESS_KEY}' \\\n  -H 'content-type: application/json' \\\n  --compressed"
          }
        ]
      }
    },
    "/v1/account/{accountSlug}/project/{projectSlug}/alert/{alertId}": {
      "patch": {
        "tags": [
          "Alerts"
        ],
        "summary": "Update Alert",
        "description": "Update an existing Alert. You need to provide the Alert ID.",
        "operationId": "updateAlert",
        "x-codeSamples": [
          {
            "lang": "cURL",
            "label": "Update Alert",
            "source": "curl 'https://api.tenderly.co/api/v1/account/${TENDERLY_ACCOUNT_SLUG}/project/${TENDERLY_PROJECT_SLUG}/alert/${ALERT_ID}' \\\n  -H 'X-Access-Key: ${TENDERLY_ACCESS_KEY}' \\\n  -H 'content-type: application/json' \\\n  -X PATCH \\\n  --data-raw '{\"name\":\"Successful transaction in My new contract name\",\"color\":\"#33d9b2\",\"description\":\"Temporarily disabled while contract is migrated\",\"simple_type\":\"successful_tx\",\"enabled\":false,\"expressions\":[{\"type\":\"contract_address\",\"expression\":{\"address\":\"0x94c87a7b26980ae7aaa361c5c7e03e632ab36e6c\"}},{\"type\":\"network\",\"expression\":{\"network_id\":\"1\"}},{\"type\":\"tx_status\",\"expression\":{\"transaction_success\":true}}],\"delivery_channels\":[{\"enabled\":true,\"id\":\"b16b4b75-e034-44c9-a053-f10d769a1d64\"}]}' \\\n  --compressed"
          }
        ],
        "parameters": [
          {
            "name": "accountSlug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Account slug of the user",
            "example": "me"
          },
          {
            "name": "projectSlug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Project slug of the account",
            "example": "project"
          },
          {
            "name": "alertId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Alert Id to get info for",
            "example": "7d8af07c-3cf9-40f2-8c4a-51725d758948"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/update_alert_patch"
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "429": {
            "$ref": "#/components/responses/too_many_requests"
          },
          "500": {
            "$ref": "#/components/responses/server_error"
          }
        },
        "requestBody": {
          "required": true,
          "description": "Update alert payload",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/create-alert-payload"
              },
              "examples": {
                "update_alert": {
                  "$ref": "#/components/examples/update_alert_patch_request"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Alerts"
        ],
        "summary": "Delete Alert",
        "description": "Delete an existing Alert. You need to provide the Alert ID.",
        "operationId": "deleteAlert",
        "x-codeSamples": [
          {
            "lang": "cURL",
            "label": "Delete Alert",
            "source": "curl 'https://api.tenderly.co/api/v1/account/${TENDERLY_ACCOUNT_SLUG}/project/${TENDERLY_PROJECT_SLUG}/alert/${ALERT_ID}' \\\n  -H 'X-Access-Key: ${TENDERLY_ACCESS_KEY}' \\\n  -X DELETE \\\n  --compressed"
          }
        ],
        "parameters": [
          {
            "name": "accountSlug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Account slug of the user",
            "example": "me"
          },
          {
            "name": "projectSlug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Project slug of the account",
            "example": "project"
          },
          {
            "name": "alertId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Alert Id to get info for",
            "example": "7d8af07c-3cf9-40f2-8c4a-51725d758948"
          }
        ],
        "responses": {
          "204": {
            "description": "The alert was deleted successfully.",
            "headers": {
              "X-Tdly-Limit": {
                "$ref": "#/components/headers/ratelimit-limit"
              },
              "X-Tdly-Remaining": {
                "$ref": "#/components/headers/ratelimit-remaining"
              },
              "X-Tdly-Reset-Timestamp": {
                "$ref": "#/components/headers/ratelimit-reset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "429": {
            "$ref": "#/components/responses/too_many_requests"
          },
          "500": {
            "$ref": "#/components/responses/server_error"
          }
        }
      }
    },
    "/v1/supported-networks": {
      "get": {
        "security": [],
        "tags": [
          "Other"
        ],
        "summary": "Check supported networks",
        "description": "The endpoint returns the list of networks that are currently supported on the Tenderly platform and also returns information about features these networks are supported on as well as corresponding network slugs users can use for integration with Tenderly.",
        "operationId": "checkSupportedNetworks",
        "responses": {
          "200": {
            "$ref": "#/components/responses/check_supported_networks_get"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "500": {
            "$ref": "#/components/responses/server_error"
          }
        },
        "x-codeSamples": [
          {
            "lang": "cURL",
            "source": "curl 'https://api.tenderly.co/api/v1/supported-networks' \\\n  -H 'content-type: application/json' "
          }
        ]
      }
    },
    "/v1/account/{accountSlug}/delivery-channels": {
      "get": {
        "tags": [
          "Delivery Channels"
        ],
        "summary": "List Delivery Channels",
        "description": "Retrieves all configured delivery channels for an account.",
        "operationId": "listDeliveryChannels",
        "x-codeSamples": [
          {
            "lang": "cURL",
            "label": "List Delivery Channels",
            "source": "curl 'https://api.tenderly.co/api/v1/account/${TENDERLY_ACCOUNT_SLUG}/delivery-channels' \\\n  -H 'X-Access-Key: ${TENDERLY_ACCESS_KEY}' \\\n  --compressed"
          }
        ],
        "parameters": [
          {
            "name": "accountSlug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Account slug of the user",
            "example": "me"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/account_delivery_channels_get"
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "429": {
            "$ref": "#/components/responses/too_many_requests"
          },
          "500": {
            "$ref": "#/components/responses/server_error"
          }
        }
      }
    },
    "/v1/account/{accountSlug}/project/{projectSlug}/delivery-channels": {
      "get": {
        "tags": [
          "Delivery Channels"
        ],
        "summary": "List Delivery Channels for project",
        "description": "Retrieve all configured delivery channels associated with a specific project.",
        "operationId": "listDeliveryChannelsForProject",
        "x-codeSamples": [
          {
            "lang": "cURL",
            "label": "List Delivery Channels for project",
            "source": "curl 'https://api.tenderly.co/api/v1/account/${TENDERLY_ACCOUNT_SLUG}/project/${TENDERLY_PROJECT_SLUG}/delivery-channels' \\\n  -H 'X-Access-Key: ${TENDERLY_ACCESS_KEY}' \\\n  --compressed"
          }
        ],
        "parameters": [
          {
            "name": "accountSlug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Account slug of the user",
            "example": "me"
          },
          {
            "name": "projectSlug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Project slug of the account",
            "example": "project"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/project_delivery_channels_get"
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "429": {
            "$ref": "#/components/responses/too_many_requests"
          },
          "500": {
            "$ref": "#/components/responses/server_error"
          }
        }
      }
    },
    "/v1/account/{accountSlug}/project/{projectSlug}/actions/publishFile": {
      "post": {
        "tags": [
          "Actions"
        ],
        "summary": "Create Web3 Action",
        "description": "Create a new Web3 Action. You can also set the Web3 Action to be deployed once it's been created.\n\n## Validation\n\nWhen the payload fails validation, the endpoint responds with `400` and the error slug\n`found_validation_errors` without per-field detail. Common causes:\n\n- `action.name` doesn't match `^[a-zA-Z][a-zA-Z0-9_-]*$` (it must start with a letter and may contain only letters, digits, dashes, and underscores; spaces are not allowed). Put human-readable text in `action.description` instead.\n- `trigger.periodic.cron` is not a standard five-field cron expression (minute, hour, day of month, month, day of week). Seconds fields and `@hourly`-style shortcuts are not supported.\n- The function referenced in `action.function` is not present in `action.source`.\n- `action.trigger` is missing for a non-`ALERT` trigger type, or the trigger object doesn't match `triggerType`.\n- `action.invocationType` is not one of `SYNC` or `ASYNC`.",
        "operationId": "createWeb3Action",
        "parameters": [
          {
            "name": "accountSlug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Account slug of the user",
            "example": "me"
          },
          {
            "name": "projectSlug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Project slug of the account",
            "example": "project"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/create_web3_action_post"
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "429": {
            "$ref": "#/components/responses/too_many_requests"
          },
          "500": {
            "$ref": "#/components/responses/server_error"
          }
        },
        "requestBody": {
          "required": true,
          "description": "Create web3 action payload",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/create-web3-action-payload"
              },
              "examples": {
                "block": {
                  "$ref": "#/components/examples/block_create_web3_action_post_request"
                },
                "periodic": {
                  "$ref": "#/components/examples/periodic_create_web3_action_post_request"
                },
                "webhook": {
                  "$ref": "#/components/examples/webhook_create_web3_action_post_request"
                }
              }
            }
          }
        },
        "x-codeSamples": [
          {
            "lang": "cURL",
            "source": "# Block Web3 Action\ncurl 'https://api.tenderly.co/api/v1/account/${TENDERLY_ACCOUNT_SLUG}/project/${TENDERLY_PROJECT_SLUG}/actions/publishFile' \\\n  -H 'X-Access-Key: ${TENDERLY_ACCESS_KEY}' \\\n  -H 'content-type: application/json' \\\n  --data-raw $'{\"action\":{\"name\":\"block-action\",\"description\":\"Triggers on every 10th block on ETH Mainnet and Polygon.\",\"source\":\"// Do not change function name.\\\\nconst actionFn = async (context, blockEvent) => {\\\\n    console.log(blockEvent)\\\\n\\\\n    // To access project\\'s secret\\\\n    // let secret = await context.secrets.get(\\'MY-SECRET\\')\\\\n\\\\n    // To access project\\'s storage\\\\n    // let value = await context.storage.getStr(\\'MY-KEY\\')\\\\n    // await context.storage.putStr(\\'MY-KEY\\', \\'MY-VALUE\\')\\\\n\\\\n    // Your logic goes here :)\\\\n}\\\\n// Do not change this.\\\\nmodule.exports = { actionFn }\",\"triggerType\":\"BLOCK\",\"runtime\":\"V2\",\"function\":\"actionFn\",\"invocationType\":\"ASYNC\",\"trigger\":{\"type\":\"block\",\"block\":{\"network\":[\"1\",\"137\"],\"blocks\":10}}},\"deploy\":true}' \\\n  --compressed\n\n# Periodic Web3 Action\ncurl 'https://api.tenderly.co/api/v1/account/${TENDERLY_ACCOUNT_SLUG}/project/${TENDERLY_PROJECT_SLUG}/actions/publishFile' \\\n  -H 'X-Access-Key: ${TENDERLY_ACCESS_KEY}' \\\n  -H 'content-type: application/json' \\\n  --data-raw $'{\"action\":{\"name\":\"periodic-1hour\",\"description\":\"CRON job triggered every 1 hour\",\"source\":\"// Do not change function name.\\\\nconst actionFn = async (context, periodicEvent) => {\\\\n    console.log(periodicEvent)\\\\n\\\\n    // To access project\\'s secret\\\\n    // let secret = await context.secrets.get(\\'MY-SECRET\\')\\\\n\\\\n    // To access project\\'s storage\\\\n    // let value = await context.storage.getStr(\\'MY-KEY\\')\\\\n    // await context.storage.putStr(\\'MY-KEY\\', \\'MY-VALUE\\')\\\\n\\\\n    // Your logic goes here :)\\\\n}\\\\n// Do not change this.\\\\nmodule.exports = { actionFn }\",\"triggerType\":\"PERIODIC\",\"runtime\":\"V2\",\"function\":\"actionFn\",\"invocationType\":\"ASYNC\",\"trigger\":{\"type\":\"periodic\",\"periodic\":{\"cron\":\"0 * * * *\",\"interval\":\"1h\"}}},\"deploy\":true}' \\\n  --compressed\n\n# Webhook Web3 Action\ncurl 'https://api.tenderly.co/api/v1/account/${TENDERLY_ACCOUNT_SLUG}/project/${TENDERLY_PROJECT_SLUG}/actions/publishFile' \\\n  -H 'X-Access-Key: ${TENDERLY_ACCESS_KEY}' \\\n  -H 'content-type: application/json' \\\n  --data-raw $'{\"action\":{\"name\":\"webhook-action\",\"description\":\"Non-authenticated webhook action. You will be able to make a request without using a valid Tenderly token.\",\"source\":\"// Do not change function name.\\\\nconst actionFn = async (context, webhookEvent) => {\\\\n    console.log(webhookEvent)\\\\n\\\\n    // To access project\\'s secret\\\\n    // let secret = await context.secrets.get(\\'MY-SECRET\\')\\\\n\\\\n    // To access project\\'s storage\\\\n    // let value = await context.storage.getStr(\\'MY-KEY\\')\\\\n    // await context.storage.putStr(\\'MY-KEY\\', \\'MY-VALUE\\')\\\\n\\\\n    // Your logic goes here :)\\\\n}\\\\n// Do not change this.\\\\nmodule.exports = { actionFn }\",\"triggerType\":\"WEBHOOK\",\"runtime\":\"V2\",\"function\":\"actionFn\",\"invocationType\":\"ASYNC\",\"trigger\":{\"type\":\"webhook\",\"webhook\":{\"authenticated\":false}}},\"deploy\":true}' \\\n  --compressed"
          }
        ]
      }
    },
    "/v1/account/{accountSlug}/project/{projectSlug}/actions": {
      "get": {
        "tags": [
          "Actions"
        ],
        "summary": "Get details for all Web3 Actions",
        "description": "Retrieve the configuration details for all Web3 Actions created in a specific project.",
        "operationId": "getWeb3ActionsForProject",
        "x-codeSamples": [
          {
            "lang": "cURL",
            "label": "Get details for all Web3 Actions",
            "source": "curl 'https://api.tenderly.co/api/v1/account/${TENDERLY_ACCOUNT_SLUG}/project/${TENDERLY_PROJECT_SLUG}/actions' \\\n  -H 'X-Access-Key: ${TENDERLY_ACCESS_KEY}' \\\n  --compressed"
          }
        ],
        "parameters": [
          {
            "name": "accountSlug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Account slug of the user",
            "example": "me"
          },
          {
            "name": "projectSlug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Project slug of the account",
            "example": "project"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/web3_actions_get"
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "429": {
            "$ref": "#/components/responses/too_many_requests"
          },
          "500": {
            "$ref": "#/components/responses/server_error"
          }
        }
      }
    },
    "/v1/account/{accountSlug}/project/{projectSlug}/actions/action/{actionId}": {
      "get": {
        "tags": [
          "Actions"
        ],
        "summary": "Get Web3 Action details",
        "description": "Retrieve the configuration details of a specific Web3 Action. You need to provide the Web3 Action ID.",
        "operationId": "getWeb3ActionForProject",
        "x-codeSamples": [
          {
            "lang": "cURL",
            "label": "Get Web3 Action details",
            "source": "curl 'https://api.tenderly.co/api/v1/account/${TENDERLY_ACCOUNT_SLUG}/project/${TENDERLY_PROJECT_SLUG}/actions/action/${ACTION_ID}' \\\n  -H 'X-Access-Key: ${TENDERLY_ACCESS_KEY}' \\\n  --compressed"
          }
        ],
        "parameters": [
          {
            "name": "accountSlug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Account slug of the user",
            "example": "me"
          },
          {
            "name": "projectSlug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Project slug of the account",
            "example": "project"
          },
          {
            "name": "actionId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Web3 Action Id to get info for",
            "example": "7d8af07c-3cf9-40f2-8c4a-51725d758948"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/web3_action_get"
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "429": {
            "$ref": "#/components/responses/too_many_requests"
          },
          "500": {
            "$ref": "#/components/responses/server_error"
          }
        }
      },
      "delete": {
        "tags": [
          "Actions"
        ],
        "summary": "Delete Web3 Action",
        "description": "This endpoint allows you to delete a Web3 Action. You need to provide the Web3 Action ID.",
        "operationId": "deleteWeb3Action",
        "parameters": [
          {
            "name": "accountSlug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Account slug of the user",
            "example": "me"
          },
          {
            "name": "projectSlug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Project slug of the account",
            "example": "project"
          },
          {
            "name": "actionId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Web3 Action Id to get info for",
            "example": "7d8af07c-3cf9-40f2-8c4a-51725d758948"
          }
        ],
        "responses": {
          "204": {
            "description": "The web3 action was deleted successfully.",
            "headers": {
              "X-Tdly-Limit": {
                "$ref": "#/components/headers/ratelimit-limit"
              },
              "X-Tdly-Remaining": {
                "$ref": "#/components/headers/ratelimit-remaining"
              },
              "X-Tdly-Reset-Timestamp": {
                "$ref": "#/components/headers/ratelimit-reset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "429": {
            "$ref": "#/components/responses/too_many_requests"
          },
          "500": {
            "$ref": "#/components/responses/server_error"
          }
        },
        "x-codeSamples": [
          {
            "lang": "cURL",
            "source": "curl 'https://api.tenderly.co/api/v1/account/${TENDERLY_ACCOUNT_SLUG}/project/${TENDERLY_PROJECT_SLUG}/actions/action/$WEB3_ACTION_ID' \\\n  -X 'DELETE' \\\n  -H 'X-Access-Key: ${TENDERLY_ACCESS_KEY}' \\\n  -H 'content-type: application/json' \\\n  --compressed"
          },
          {
            "lang": "Go",
            "source": "package main\n\nimport (\n  \"fmt\"\n  \"io\"\n  \"log\"\n  \"net/http\"\n)\n\nfunc main() {\n  client := &http.Client{}\n  req, err := http.NewRequest(\"DELETE\", \"https://api.tenderly.co/api/v1/account/${TENDERLY_ACCOUNT_SLUG}/project/${TENDERLY_PROJECT_SLUG}/actions/action/$WEB3_ACTION_ID\", nil)\n  \n  if err != nil {\n    log.Fatal(err)\n  }\n  \n  req.Header.Set(\"X-Access-Key\", \"${TENDERLY_ACCESS_KEY}\")\n  req.Header.Set(\"content-type\", \"application/json\")\n  resp, err := client.Do(req)\n  \n  if err != nil {\n    log.Fatal(err)\n  }\n  \n  defer resp.Body.Close()\n  bodyText, err := io.ReadAll(resp.Body)\n  \n  if err != nil {\n    log.Fatal(err)\n  }\n  \n  fmt.Printf(\"%s\\n\", bodyText)\n}"
          }
        ]
      }
    },
    "/v1/account/{accountSlug}/project/{projectSlug}/actions/action/{actionId}/stop": {
      "post": {
        "tags": [
          "Actions"
        ],
        "summary": "Stop specific Web3 Action",
        "description": "Stop a Web3 Action. You need to provide the Web3 Action ID.",
        "operationId": "stopWeb3Action",
        "parameters": [
          {
            "name": "accountSlug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Account slug of the user",
            "example": "me"
          },
          {
            "name": "projectSlug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Project slug of the account",
            "example": "project"
          },
          {
            "name": "actionId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Web3 Action Id to get info for",
            "example": "7d8af07c-3cf9-40f2-8c4a-51725d758948"
          }
        ],
        "responses": {
          "204": {
            "description": "The web3 action was stopped successfully.",
            "headers": {
              "X-Tdly-Limit": {
                "$ref": "#/components/headers/ratelimit-limit"
              },
              "X-Tdly-Remaining": {
                "$ref": "#/components/headers/ratelimit-remaining"
              },
              "X-Tdly-Reset-Timestamp": {
                "$ref": "#/components/headers/ratelimit-reset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "429": {
            "$ref": "#/components/responses/too_many_requests"
          },
          "500": {
            "$ref": "#/components/responses/server_error"
          }
        },
        "x-codeSamples": [
          {
            "lang": "cURL",
            "source": "curl 'https://api.tenderly.co/api/v1/account/${TENDERLY_ACCOUNT_SLUG}/project/${TENDERLY_PROJECT_SLUG}/actions/action/$WEB3_ACTION_ID/stop' \\\n  -X 'POST' \\\n  -H 'X-Access-Key: ${TENDERLY_ACCESS_KEY}' \\\n  -H 'content-type: application/json' \\\n  --compressed"
          }
        ]
      }
    },
    "/v1/account/{accountSlug}/project/{projectSlug}/actions/stop": {
      "post": {
        "tags": [
          "Actions"
        ],
        "summary": "Stop all Web3 Actions",
        "description": "Stop all Web3 Actions created in a specific project.",
        "operationId": "stopWeb3Actions",
        "parameters": [
          {
            "name": "accountSlug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Account slug of the user",
            "example": "me"
          },
          {
            "name": "projectSlug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Project slug of the account",
            "example": "project"
          }
        ],
        "responses": {
          "204": {
            "description": "The web3 actions were stopped successfully.",
            "headers": {
              "X-Tdly-Limit": {
                "$ref": "#/components/headers/ratelimit-limit"
              },
              "X-Tdly-Remaining": {
                "$ref": "#/components/headers/ratelimit-remaining"
              },
              "X-Tdly-Reset-Timestamp": {
                "$ref": "#/components/headers/ratelimit-reset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "429": {
            "$ref": "#/components/responses/too_many_requests"
          },
          "500": {
            "$ref": "#/components/responses/server_error"
          }
        },
        "requestBody": {
          "required": true,
          "description": "Stop web3 actions payload",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/stop-web3-actions-payload"
              },
              "examples": {
                "stop_all": {
                  "$ref": "#/components/examples/stop_all_web3_actions_post_request"
                },
                "stop_multiple": {
                  "$ref": "#/components/examples/stop_multiple_web3_actions_post_request"
                }
              }
            }
          }
        },
        "x-codeSamples": [
          {
            "lang": "cURL",
            "source": "# Stop All Web3 Actions for Project\ncurl 'https://api.tenderly.co/api/v1/account/${TENDERLY_ACCOUNT_SLUG}/project/${TENDERLY_PROJECT_SLUG}/actions/stop' \\\n  -H 'X-Access-Key: ${TENDERLY_ACCESS_KEY}' \\\n  -H 'content-type: application/json' \\\n  --data-raw '{\"actions\":[]}' \\\n  --compressed\n\n# Stop Multiple Web3 Actions for Project\ncurl 'https://api.tenderly.co/api/v1/account/${TENDERLY_ACCOUNT_SLUG}/project/${TENDERLY_PROJECT_SLUG}/actions/stop' \\\n  -H 'X-Access-Key: ${TENDERLY_ACCESS_KEY}' \\\n  -H 'content-type: application/json' \\\n  --data-raw '{\"actions\":[\"10fe403e-5e9a-4798-9e1f-0737dbf308d4\"]}' \\\n  --compressed"
          }
        ]
      }
    },
    "/v1/account/{accountSlug}/project/{projectSlug}/actions/action/{actionId}/resume": {
      "post": {
        "tags": [
          "Actions"
        ],
        "summary": "Resume specific Web3 Action",
        "description": "Resume a stopped Web3 Action. You need to provide the Web3 Action ID.",
        "operationId": "resumeWeb3Action",
        "parameters": [
          {
            "name": "accountSlug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Account slug of the user",
            "example": "me"
          },
          {
            "name": "projectSlug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Project slug of the account",
            "example": "project"
          },
          {
            "name": "actionId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Web3 Action Id to get info for",
            "example": "7d8af07c-3cf9-40f2-8c4a-51725d758948"
          }
        ],
        "responses": {
          "204": {
            "description": "The web3 action was started successfully.",
            "headers": {
              "X-Tdly-Limit": {
                "$ref": "#/components/headers/ratelimit-limit"
              },
              "X-Tdly-Remaining": {
                "$ref": "#/components/headers/ratelimit-remaining"
              },
              "X-Tdly-Reset-Timestamp": {
                "$ref": "#/components/headers/ratelimit-reset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "429": {
            "$ref": "#/components/responses/too_many_requests"
          },
          "500": {
            "$ref": "#/components/responses/server_error"
          }
        },
        "x-codeSamples": [
          {
            "lang": "cURL",
            "source": "curl 'https://api.tenderly.co/api/v1/account/${TENDERLY_ACCOUNT_SLUG}/project/${TENDERLY_PROJECT_SLUG}/actions/action/$WEB3_ACTION_ID/resume' \\\n  -X 'POST' \\\n  -H 'X-Access-Key: ${TENDERLY_ACCESS_KEY}' \\\n  -H 'content-type: application/json' \\\n  --compressed"
          }
        ]
      }
    },
    "/v1/account/{accountSlug}/project/{projectSlug}/actions/resume": {
      "post": {
        "tags": [
          "Actions"
        ],
        "summary": "Resume all Web3 Actions",
        "description": "Resume all stopped Web3 Actions created in a project.",
        "operationId": "resumeWeb3Actions",
        "parameters": [
          {
            "name": "accountSlug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Account slug of the user",
            "example": "me"
          },
          {
            "name": "projectSlug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Project slug of the account",
            "example": "project"
          }
        ],
        "responses": {
          "204": {
            "description": "The web3 actions were started successfully.",
            "headers": {
              "X-Tdly-Limit": {
                "$ref": "#/components/headers/ratelimit-limit"
              },
              "X-Tdly-Remaining": {
                "$ref": "#/components/headers/ratelimit-remaining"
              },
              "X-Tdly-Reset-Timestamp": {
                "$ref": "#/components/headers/ratelimit-reset"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "429": {
            "$ref": "#/components/responses/too_many_requests"
          },
          "500": {
            "$ref": "#/components/responses/server_error"
          }
        },
        "requestBody": {
          "required": true,
          "description": "Resume web3 actions payload",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/resume-web3-actions-payload"
              },
              "examples": {
                "resume_all": {
                  "$ref": "#/components/examples/resume_all_web3_actions_post_request"
                },
                "resume_multiple": {
                  "$ref": "#/components/examples/resume_multiple_web3_actions_post_request"
                }
              }
            }
          }
        },
        "x-codeSamples": [
          {
            "lang": "cURL",
            "source": "# Resume All Web3 Actions for Project\ncurl 'https://api.tenderly.co/api/v1/account/${TENDERLY_ACCOUNT_SLUG}/project/${TENDERLY_PROJECT_SLUG}/actions/resume' \\\n  -H 'X-Access-Key: ${TENDERLY_ACCESS_KEY}' \\\n  -H 'content-type: application/json' \\\n  --data-raw '{\"actions\":[]}' \\\n  --compressed\n\n# Resume Multiple Web3 Actions for Project\ncurl 'https://api.tenderly.co/api/v1/account/${TENDERLY_ACCOUNT_SLUG}/project/${TENDERLY_PROJECT_SLUG}/actions/resume' \\\n  -H 'X-Access-Key: ${TENDERLY_ACCESS_KEY}' \\\n  -H 'content-type: application/json' \\\n  --data-raw '{\"actions\":[\"10fe403e-5e9a-4798-9e1f-0737dbf308d4\"]}' \\\n  --compressed"
          }
        ]
      }
    },
    "/v1/account/{accountSlug}/project/{projectSlug}/actions/action/{actionId}/calls": {
      "get": {
        "tags": [
          "Actions"
        ],
        "summary": "Get execution history for single Web3 Action",
        "description": "Retrieve the entire execution history for a specific Web3 Action. You need to provide the Web3 Action ID.",
        "operationId": "getWeb3ActionExecutionsForProject",
        "x-codeSamples": [
          {
            "lang": "cURL",
            "label": "Get execution history for single Web3 Action",
            "source": "curl 'https://api.tenderly.co/api/v1/account/${TENDERLY_ACCOUNT_SLUG}/project/${TENDERLY_PROJECT_SLUG}/actions/action/${ACTION_ID}/calls' \\\n  -H 'X-Access-Key: ${TENDERLY_ACCESS_KEY}' \\\n  --compressed"
          }
        ],
        "parameters": [
          {
            "name": "accountSlug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Account slug of the user",
            "example": "me"
          },
          {
            "name": "projectSlug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Project slug of the account",
            "example": "project"
          },
          {
            "name": "actionId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Web3 Action Id to get info for",
            "example": "7d8af07c-3cf9-40f2-8c4a-51725d758948"
          },
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "required": false,
            "description": "The page number",
            "example": 1
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 20
            },
            "required": false,
            "description": "The number of items to return per page",
            "example": 50
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "ENABLED",
                  "DISABLED",
                  "SUCCEEDED",
                  "SUBMITTED",
                  "SKIPPED",
                  "FAILED",
                  "PENDING",
                  "RETRY",
                  "TIMED_OUT",
                  "RATE_LIMITED"
                ]
              }
            },
            "required": false,
            "description": "The Web3 Action status",
            "example": [
              "FAILED",
              "SUBMITTED"
            ]
          },
          {
            "name": "after",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "description": "The date after Web3 Action is executed",
            "example": "2022-04-10T09:00:00.000Z"
          },
          {
            "name": "before",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "description": "The date before Web3 Action is executed",
            "example": "2022-04-11T21:13:00.000Z"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/web3_action_executions_get"
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "429": {
            "$ref": "#/components/responses/too_many_requests"
          },
          "500": {
            "$ref": "#/components/responses/server_error"
          }
        }
      }
    },
    "/v1/account/{accountSlug}/project/{projectSlug}/actions/action/{actionId}/calls/call/{executionId}": {
      "get": {
        "tags": [
          "Actions"
        ],
        "summary": "Get details for single Web3 Action execution",
        "description": "Retrieve the details of a specific Web3 Action execution. You need to provide the Web3 Action ID and execution ID.",
        "operationId": "getWeb3ActionExecutionForProject",
        "x-codeSamples": [
          {
            "lang": "cURL",
            "label": "Get details for single Web3 Action execution",
            "source": "curl 'https://api.tenderly.co/api/v1/account/${TENDERLY_ACCOUNT_SLUG}/project/${TENDERLY_PROJECT_SLUG}/actions/action/${ACTION_ID}/calls/call/${EXECUTION_ID}' \\\n  -H 'X-Access-Key: ${TENDERLY_ACCESS_KEY}' \\\n  --compressed"
          }
        ],
        "parameters": [
          {
            "name": "accountSlug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Account slug of the user",
            "example": "me"
          },
          {
            "name": "projectSlug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Project slug of the account",
            "example": "project"
          },
          {
            "name": "actionId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Web3 Action Id to get info for",
            "example": "7d8af07c-3cf9-40f2-8c4a-51725d758948"
          },
          {
            "name": "executionId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Web3 Action execution Id to get info for",
            "example": "4010f442-c4d9-407d-aba1-7276e3312998"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/web3_action_execution_get"
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "429": {
            "$ref": "#/components/responses/too_many_requests"
          },
          "500": {
            "$ref": "#/components/responses/server_error"
          }
        }
      }
    },
    "/public/v1/account/{accountSlug}/project/{projectSlug}/environments": {
      "get": {
        "tags": [
          "Virtual Environments"
        ],
        "summary": "List Environments",
        "description": "List all multi-chain environments for the given account and project",
        "operationId": "listEnvironments",
        "x-codeSamples": [
          {
            "lang": "cURL",
            "label": "List Environments",
            "source": "curl 'https://api.tenderly.co/api/public/v1/account/${TENDERLY_ACCOUNT_SLUG}/project/${TENDERLY_PROJECT_SLUG}/environments' \\\n  -H 'X-Access-Key: ${TENDERLY_ACCESS_KEY}' \\\n  --compressed"
          }
        ],
        "parameters": [
          {
            "name": "accountSlug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Account ID or slug",
            "example": "me"
          },
          {
            "name": "projectSlug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Project ID or slug",
            "example": "my-project"
          },
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "required": false,
            "description": "Page number for pagination",
            "example": 1
          },
          {
            "name": "per_page",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 10
            },
            "required": false,
            "description": "Number of environments to return per page",
            "example": 10
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/env-environments-list-response"
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "429": {
            "$ref": "#/components/responses/too_many_requests"
          },
          "500": {
            "$ref": "#/components/responses/server_error"
          }
        }
      },
      "post": {
        "tags": [
          "Virtual Environments"
        ],
        "summary": "Create Environment",
        "description": "Create a new multi-chain environment with Virtual Environments across specified networks",
        "operationId": "createEnvironment",
        "x-codeSamples": [
          {
            "lang": "cURL",
            "label": "Create Environment",
            "source": "curl 'https://api.tenderly.co/api/public/v1/account/${TENDERLY_ACCOUNT_SLUG}/project/${TENDERLY_PROJECT_SLUG}/environments' \\\n  -H 'X-Access-Key: ${TENDERLY_ACCESS_KEY}' \\\n  -H 'content-type: application/json' \\\n  --data-raw '{\"display_name\":\"My Multi-Chain Environment\",\"slug\":\"my-multi-chain-env\",\"network_configs\":[{\"network_id\":\"1\",\"block_number\":\"0x12c50f0\",\"explorer_config\":{\"enabled\":true,\"verification_visibility\":\"abi\"}},{\"network_id\":\"8453\",\"accounts\":[{\"address\":\"0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266\",\"balance\":\"0xde0b6b3a7640000\"}]}],\"bridge_config\":{\"enabled\":true,\"relay_mode\":\"autoRelay\",\"delay_seconds\":0}}' \\\n  --compressed"
          }
        ],
        "parameters": [
          {
            "name": "accountSlug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Account ID or slug",
            "example": "me"
          },
          {
            "name": "projectSlug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Project ID or slug",
            "example": "my-project"
          }
        ],
        "requestBody": {
          "required": true,
          "description": "Environment configuration",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/env-create-environment-request"
              },
              "examples": {
                "multi_chain_environment": {
                  "$ref": "#/components/examples/env_create_environment_post_request"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/env-environment-response"
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "429": {
            "$ref": "#/components/responses/too_many_requests"
          },
          "500": {
            "$ref": "#/components/responses/server_error"
          }
        }
      },
      "delete": {
        "tags": [
          "Virtual Environments"
        ],
        "summary": "Batch Delete Environments",
        "description": "Permanently delete multiple environments by ID",
        "operationId": "batchDeleteEnvironments",
        "x-codeSamples": [
          {
            "lang": "cURL",
            "label": "Batch Delete Environments",
            "source": "curl 'https://api.tenderly.co/api/public/v1/account/${TENDERLY_ACCOUNT_SLUG}/project/${TENDERLY_PROJECT_SLUG}/environments' \\\n  -H 'X-Access-Key: ${TENDERLY_ACCESS_KEY}' \\\n  -X DELETE \\\n  --compressed"
          }
        ],
        "parameters": [
          {
            "name": "accountSlug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Account ID or slug",
            "example": "me"
          },
          {
            "name": "projectSlug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Project ID or slug",
            "example": "my-project"
          }
        ],
        "requestBody": {
          "required": true,
          "description": "List of environment IDs to delete",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/env-batch-delete-environments-request"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Environments deleted successfully"
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "429": {
            "$ref": "#/components/responses/too_many_requests"
          },
          "500": {
            "$ref": "#/components/responses/server_error"
          }
        }
      }
    },
    "/public/v1/account/{accountSlug}/project/{projectSlug}/environments/{environmentId}": {
      "get": {
        "tags": [
          "Virtual Environments"
        ],
        "summary": "Get Environment",
        "description": "Get a single environment by ID",
        "operationId": "getEnvironment",
        "x-codeSamples": [
          {
            "lang": "cURL",
            "label": "Get Environment",
            "source": "curl 'https://api.tenderly.co/api/public/v1/account/${TENDERLY_ACCOUNT_SLUG}/project/${TENDERLY_PROJECT_SLUG}/environments/${ENVIRONMENT_ID}' \\\n  -H 'X-Access-Key: ${TENDERLY_ACCESS_KEY}' \\\n  --compressed"
          }
        ],
        "parameters": [
          {
            "name": "accountSlug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Account ID or slug",
            "example": "me"
          },
          {
            "name": "projectSlug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Project ID or slug",
            "example": "my-project"
          },
          {
            "name": "environmentId",
            "in": "path",
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "required": true,
            "description": "Environment ID",
            "example": "d4e5f6a7-b8c9-0123-def1-234567890123"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/env-environment-response"
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "429": {
            "$ref": "#/components/responses/too_many_requests"
          },
          "500": {
            "$ref": "#/components/responses/server_error"
          }
        }
      },
      "delete": {
        "tags": [
          "Virtual Environments"
        ],
        "summary": "Delete Environment",
        "description": "Permanently delete a single environment by ID",
        "operationId": "deleteEnvironment",
        "x-codeSamples": [
          {
            "lang": "cURL",
            "label": "Delete Environment",
            "source": "curl 'https://api.tenderly.co/api/public/v1/account/${TENDERLY_ACCOUNT_SLUG}/project/${TENDERLY_PROJECT_SLUG}/environments/${ENVIRONMENT_ID}' \\\n  -H 'X-Access-Key: ${TENDERLY_ACCESS_KEY}' \\\n  -X DELETE \\\n  --compressed"
          }
        ],
        "parameters": [
          {
            "name": "accountSlug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Account ID or slug",
            "example": "me"
          },
          {
            "name": "projectSlug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Project ID or slug",
            "example": "my-project"
          },
          {
            "name": "environmentId",
            "in": "path",
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "required": true,
            "description": "Environment ID",
            "example": "d4e5f6a7-b8c9-0123-def1-234567890123"
          }
        ],
        "responses": {
          "204": {
            "description": "Environment deleted successfully"
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "429": {
            "$ref": "#/components/responses/too_many_requests"
          },
          "500": {
            "$ref": "#/components/responses/server_error"
          }
        }
      }
    },
    "/public/v1/account/{accountSlug}/project/{projectSlug}/environments/{environmentId}/instance/{instanceId}/transactions": {
      "get": {
        "tags": [
          "Virtual Environments"
        ],
        "summary": "Get Environment Instance Transactions",
        "description": "Get transactions across all Virtual Environments in an environment instance, with pagination and optional filters by status, category, kind, from/to address.",
        "operationId": "getEnvironmentInstanceTransactions",
        "x-codeSamples": [
          {
            "lang": "cURL",
            "label": "Get Environment Instance Transactions",
            "source": "curl 'https://api.tenderly.co/api/public/v1/account/${TENDERLY_ACCOUNT_SLUG}/project/${TENDERLY_PROJECT_SLUG}/environments/${ENVIRONMENT_ID}/instance/${INSTANCE_ID}/transactions' \\\n  -H 'X-Access-Key: ${TENDERLY_ACCESS_KEY}' \\\n  --compressed"
          }
        ],
        "parameters": [
          {
            "name": "accountSlug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Account ID or slug",
            "example": "me"
          },
          {
            "name": "projectSlug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Project ID or slug",
            "example": "my-project"
          },
          {
            "name": "environmentId",
            "in": "path",
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "required": true,
            "description": "Environment ID",
            "example": "d4e5f6a7-b8c9-0123-def1-234567890123"
          },
          {
            "name": "instanceId",
            "in": "path",
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "required": true,
            "description": "Environment instance ID",
            "example": "b2c3d4e5-f6a7-8901-bcde-f12345678901"
          },
          {
            "name": "vnet_ids",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "required": false,
            "description": "Filter transactions by Virtual Environment IDs (comma separated)",
            "example": [
              "4010f442-c4d9-407d-aba1-7276e3312998"
            ]
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "success",
                  "failed",
                  "pending",
                  "unknown"
                ]
              }
            },
            "required": false,
            "description": "Transaction statuses to filter by (comma separated)",
            "example": "success,failed"
          },
          {
            "name": "category",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "write",
                  "read",
                  "compute",
                  "subscribe",
                  "config",
                  "chain_sync"
                ]
              }
            },
            "required": false,
            "description": "Transaction categories to filter by (comma separated)",
            "example": "write,read"
          },
          {
            "name": "kind",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "simulation",
                  "blockchain",
                  "fixture",
                  "cheatcode",
                  "cheatcode_faucet",
                  "internal",
                  "sync",
                  "chain_sync"
                ]
              }
            },
            "required": false,
            "description": "Transaction kinds to filter by (comma separated)",
            "example": "blockchain,simulation"
          },
          {
            "name": "from",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "required": false,
            "description": "Filter by sender addresses (comma separated)",
            "example": "0xfa78a211f7df670338daed1f96177c9fe154fcb1"
          },
          {
            "name": "to",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "required": false,
            "description": "Filter by recipient addresses (comma separated)",
            "example": "0x6c8b8870c415f3b2d5fe0cd61e9c6960bad8e0c9"
          },
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "required": false,
            "description": "Page number for pagination",
            "example": 1
          },
          {
            "name": "per_page",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 10
            },
            "required": false,
            "description": "Number of transactions to return per page",
            "example": 50
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/vnet-transactions-response"
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "429": {
            "$ref": "#/components/responses/too_many_requests"
          },
          "500": {
            "$ref": "#/components/responses/server_error"
          }
        }
      }
    },
    "/public/v1/account/{accountSlug}/project/{projectSlug}/environments/{environmentId}/instance/{instanceId}/transactions/{txHash}": {
      "get": {
        "tags": [
          "Virtual Environments"
        ],
        "summary": "Get Environment Instance Transaction",
        "description": "Get a single transaction from an environment instance by transaction hash",
        "operationId": "getEnvironmentInstanceTransaction",
        "x-codeSamples": [
          {
            "lang": "cURL",
            "label": "Get Environment Instance Transaction",
            "source": "curl 'https://api.tenderly.co/api/public/v1/account/${TENDERLY_ACCOUNT_SLUG}/project/${TENDERLY_PROJECT_SLUG}/environments/${ENVIRONMENT_ID}/instance/${INSTANCE_ID}/transactions/${TX_HASH}' \\\n  -H 'X-Access-Key: ${TENDERLY_ACCESS_KEY}' \\\n  --compressed"
          }
        ],
        "parameters": [
          {
            "name": "accountSlug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Account ID or slug",
            "example": "me"
          },
          {
            "name": "projectSlug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Project ID or slug",
            "example": "my-project"
          },
          {
            "name": "environmentId",
            "in": "path",
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "required": true,
            "description": "Environment ID",
            "example": "d4e5f6a7-b8c9-0123-def1-234567890123"
          },
          {
            "name": "instanceId",
            "in": "path",
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "required": true,
            "description": "Environment instance ID",
            "example": "b2c3d4e5-f6a7-8901-bcde-f12345678901"
          },
          {
            "name": "txHash",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Transaction hash",
            "example": "0x0288ab91522c19cd1589eb73b86f4b874c52ed39cdce1ba7cef790f314c4523f"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/vnet-transaction-response"
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "429": {
            "$ref": "#/components/responses/too_many_requests"
          },
          "500": {
            "$ref": "#/components/responses/server_error"
          }
        }
      }
    },
    "/public/v1/account/{accountSlug}/project/{projectSlug}/environments/{environmentId}/instance/{instanceId}/vnet/{vnetId}/transactions": {
      "post": {
        "tags": [
          "Virtual Environments"
        ],
        "summary": "Send Transaction on Environment Virtual Environment",
        "description": "Send a transaction to be executed on a specific Virtual Environment within an environment instance",
        "operationId": "sendEnvironmentVnetTransaction",
        "x-codeSamples": [
          {
            "lang": "cURL",
            "label": "Send Transaction on Environment Virtual Environment",
            "source": "curl 'https://api.tenderly.co/api/public/v1/account/${TENDERLY_ACCOUNT_SLUG}/project/${TENDERLY_PROJECT_SLUG}/environments/${ENVIRONMENT_ID}/instance/${INSTANCE_ID}/vnet/${VNET_ID}/transactions' \\\n  -H 'X-Access-Key: ${TENDERLY_ACCESS_KEY}' \\\n  -H 'content-type: application/json' \\\n  --data-raw '{\"callArgs\":{\"from\":\"0xe2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2\",\"to\":\"0x6b175474e89094c44da98b954eedeac495271d0f\",\"gas\":\"0x7a1200\",\"gasPrice\":\"0x0\",\"value\":\"0x0\",\"data\":\"0x095ea7b3000000000000000000000000f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1000000000000000000000000000000000000000000000000000000000000012b\"},\"stateOverrides\":{\"0xe2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2\":{\"balance\":\"0xde0b6b3a7640000\"}}}' \\\n  --compressed"
          }
        ],
        "parameters": [
          {
            "name": "accountSlug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Account ID or slug",
            "example": "me"
          },
          {
            "name": "projectSlug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Project ID or slug",
            "example": "my-project"
          },
          {
            "name": "environmentId",
            "in": "path",
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "required": true,
            "description": "Environment ID",
            "example": "d4e5f6a7-b8c9-0123-def1-234567890123"
          },
          {
            "name": "instanceId",
            "in": "path",
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "required": true,
            "description": "Environment instance ID",
            "example": "b2c3d4e5-f6a7-8901-bcde-f12345678901"
          },
          {
            "name": "vnetId",
            "in": "path",
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "required": true,
            "description": "Virtual Environment ID",
            "example": "4010f442-c4d9-407d-aba1-7276e3312998"
          }
        ],
        "requestBody": {
          "required": true,
          "description": "Transaction to execute on the Virtual Environment",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/vnet-transaction-payload"
              },
              "examples": {
                "erc20_approve": {
                  "$ref": "#/components/examples/env_send_vnet_transaction_post_request"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/vnet-transaction-response"
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "429": {
            "$ref": "#/components/responses/too_many_requests"
          },
          "500": {
            "$ref": "#/components/responses/server_error"
          }
        }
      }
    },
    "/public/v1/account/{accountSlug}/project/{projectSlug}/environments/{environmentId}/instance/{instanceId}/vnet/{vnetId}/transactions/simulate": {
      "post": {
        "tags": [
          "Virtual Environments"
        ],
        "summary": "Simulate Transaction on Environment Virtual Environment",
        "description": "Simulate a transaction on a specific Virtual Environment within an environment instance. State is not preserved. Supports block overrides, state overrides, and a custom block number. The richer response includes asset changes, balance changes, exposure changes, state changes, and cross-chain interop information.",
        "operationId": "simulateEnvironmentVnetTransaction",
        "x-codeSamples": [
          {
            "lang": "cURL",
            "label": "Simulate Transaction on Environment Virtual Environment",
            "source": "curl 'https://api.tenderly.co/api/public/v1/account/${TENDERLY_ACCOUNT_SLUG}/project/${TENDERLY_PROJECT_SLUG}/environments/${ENVIRONMENT_ID}/instance/${INSTANCE_ID}/vnet/${VNET_ID}/transactions/simulate' \\\n  -H 'X-Access-Key: ${TENDERLY_ACCESS_KEY}' \\\n  -H 'content-type: application/json' \\\n  --data-raw '{\"callArgs\":{\"from\":\"0xe2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2\",\"to\":\"0x6b175474e89094c44da98b954eedeac495271d0f\",\"gas\":\"0x7a1200\",\"gasPrice\":\"0x0\",\"value\":\"0x0\",\"data\":\"0x095ea7b3000000000000000000000000f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1000000000000000000000000000000000000000000000000000000000000012b\"},\"blockNumber\":\"0x151924A\"}' \\\n  --compressed"
          }
        ],
        "parameters": [
          {
            "name": "accountSlug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Account ID or slug",
            "example": "me"
          },
          {
            "name": "projectSlug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Project ID or slug",
            "example": "my-project"
          },
          {
            "name": "environmentId",
            "in": "path",
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "required": true,
            "description": "Environment ID",
            "example": "d4e5f6a7-b8c9-0123-def1-234567890123"
          },
          {
            "name": "instanceId",
            "in": "path",
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "required": true,
            "description": "Environment instance ID",
            "example": "b2c3d4e5-f6a7-8901-bcde-f12345678901"
          },
          {
            "name": "vnetId",
            "in": "path",
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "required": true,
            "description": "Virtual Environment ID",
            "example": "4010f442-c4d9-407d-aba1-7276e3312998"
          }
        ],
        "requestBody": {
          "required": true,
          "description": "Simulation parameters",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/vnet-simulation-payload"
              },
              "examples": {
                "simulate_erc20_approve": {
                  "$ref": "#/components/examples/env_simulate_vnet_transaction_post_request"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/env-simulate-execution-response"
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "429": {
            "$ref": "#/components/responses/too_many_requests"
          },
          "500": {
            "$ref": "#/components/responses/server_error"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "SimulationModel": {
        "$ref": "#/components/schemas/simulation-payload"
      },
      "add-contract-payload": {
        "type": "object",
        "properties": {
          "network_id": {
            "title": "network_id",
            "description": "ID of the network.",
            "type": "string",
            "example": "1"
          },
          "address": {
            "title": "address",
            "description": "A verified smart contract address.",
            "type": "string",
            "example": "0x94C87A7b26980AE7AAA361c5C7e03E632ab36e6C"
          },
          "display_name": {
            "title": "display_name",
            "description": "Optional name of the contract to be displayed.",
            "type": "string",
            "example": "My new contract name"
          }
        },
        "required": [
          "network_id",
          "address"
        ]
      },
      "add_contract_post_response": {
        "type": "object",
        "title": "Add Contract To Project Response",
        "description": "An object with details about added contract.",
        "example": {
          "id": "eth:1:0x94c87a7b26980ae7aaa361c5c7e03e632ab36e6c",
          "contract": {
            "id": "eth:1:0x94c87a7b26980ae7aaa361c5c7e03e632ab36e6c",
            "contract_id": "eth:1:0x94c87a7b26980ae7aaa361c5c7e03e632ab36e6c",
            "network_id": "1",
            "public": true,
            "verified_by": "etherscan",
            "address": "0x94c87a7b26980ae7aaa361c5c7e03e632ab36e6c",
            "contract_name": "ERC20ByMetadrop",
            "type": "contract",
            "compiler_version": "v0.8.21+commit.d9974bed",
            "optimizations_used": true,
            "optimization_runs": "200",
            "created_at": "2023-12-08 22:36:21 +0000 UTC",
            "language": "solidity"
          },
          "account": {
            "id": "eth:1:0x94c87a7b26980ae7aaa361c5c7e03e632ab36e6c",
            "contract_id": "eth:1:0x94c87a7b26980ae7aaa361c5c7e03e632ab36e6c",
            "network_id": "1",
            "public": true,
            "verified_by": "etherscan",
            "address": "0x94c87a7b26980ae7aaa361c5c7e03e632ab36e6c",
            "contract_name": "ERC20ByMetadrop",
            "type": "contract",
            "compiler_version": "v0.8.21+commit.d9974bed",
            "optimizations_used": true,
            "optimization_runs": "200",
            "created_at": "2023-12-08 22:36:21 +0000 UTC",
            "language": "solidity"
          },
          "project_id": "1830efff-aa75-481e-b464-cedaf8b90960",
          "added_by_id": "7d5e8b1f-8bf8-4eae-a70f-fb7d354b1cc2",
          "details_visible": true,
          "include_in_transaction_listing": true,
          "display_name": "My new contract name",
          "account_type": "contract",
          "added_at": "2023-12-08 22:36:26.410442295 +0000 UTC m=+33221.750982874"
        }
      },
      "error": {
        "type": "object",
        "properties": {
          "error": {
            "type": "object",
            "properties": {
              "id": {
                "description": "Endpoints include an error ID that should be  provided when reporting bugs or opening support tickets to help  identify the issue.",
                "type": "string",
                "example": "4d9d8375-3c56-4925-a3e7-eb137fed17e9"
              },
              "slug": {
                "description": "A short identifier corresponding to the HTTP status code returned. For  example, the ID for a response returning a 404 status code would be \"not_found.\"",
                "type": "string",
                "example": "not_found"
              },
              "message": {
                "description": "A message providing additional information about the error, including  details to help resolve it when possible.",
                "type": "string",
                "example": "The resource you were accessing could not be found."
              },
              "data": {
                "description": "Additional context about the error.",
                "type": "object",
                "properties": {
                  "rid": {
                    "description": "Resource identifier indicating which resource type caused the error.",
                    "type": "string",
                    "enum": [
                      "rid:account",
                      "rid:project",
                      "rid:alert",
                      "rid:contract",
                      "rid:delivery_channel",
                      "rid:network",
                      "rid:simulation",
                      "rid:simulation_draft",
                      "rid:vnet",
                      "rid:wallet",
                      "rid:action",
                      "rid:action_call"
                    ],
                    "example": "rid:project"
                  }
                },
                "additionalProperties": true
              }
            },
            "required": [
              "id",
              "slug",
              "message"
            ]
          }
        },
        "required": [
          "error"
        ]
      },
      "contracts_get_response": {
        "type": "array",
        "items": {},
        "title": "Get Contracts Response",
        "description": "An object with details about project contracts.",
        "example": [
          {
            "id": "eth:1:0x94c87a7b26980ae7aaa361c5c7e03e632ab36e6c",
            "contract": {
              "id": "eth:1:0x94c87a7b26980ae7aaa361c5c7e03e632ab36e6c",
              "contract_id": "eth:1:0x94c87a7b26980ae7aaa361c5c7e03e632ab36e6c",
              "balance": "",
              "network_id": "1",
              "public": true,
              "verified_by": "etherscan",
              "verification_date": "2023-12-08T22:36:22Z",
              "address": "0x94c87a7b26980ae7aaa361c5c7e03e632ab36e6c",
              "contract_name": "ERC20ByMetadrop",
              "ens_domain": null,
              "type": "contract",
              "evm_version": "",
              "compiler_version": "v0.8.21+commit.d9974bed",
              "optimizations_used": true,
              "optimization_runs": 200,
              "libraries": null,
              "compiler_settings": {
                "optimizer": {
                  "enabled": true,
                  "runs": 200
                },
                "evmVersion": ""
              },
              "deployed_bytecode": "0x608060405260043610610450575f3560e01c80638cd4426d11610236578063b923061111610134578063ea8b2424116100b3578063f444324b11610078578063f444324b14610ee6578063f85aff9414610f19578063fdd8840e14610f38578063fe6a0bbf14610f6b578063ff0d7b9314610f7f575f80fd5b8063ea8b242414610e37578063eb95ca7014610e56578063ee6a934c14610e94578063eeae0f9714610eb3578063f2fde38b14610ec7575f80fd5b8063d6efd7c3116100f9578063d6efd7c314610da9578063dd62ed3e14610dbd578063e30c397814610ddc578063e37d9e9514610df9578063e85455d714610e18575f80fd5b8063b923061114610ce5578063bb88603c14610d18578063be841baa14610d38578063bfe3098f14610d6b578063c4590d3f14610d8a575f80fd5b8063a457c2d7116101c0578063ae22107f11610185578063ae22107f14610c32578063b0d7509714610c51578063b2c5c9eb14610c70578063b2e9cb3814610c91578063b498d39f14610cc4575f80fd5b8063a457c2d714610b93578063a45cae0214610bb2578063a62d87e814610bd3578063a8c2fb8e14610bf2578063a9059cbb14610c13575f80fd5b806395d89b411161020657806395d89b4114610aef5780639808751d14610b035780639e252f0014610b22578063a0aaf24814610b41578063a35b4cef14610b74575f80fd5b80638cd4426d14610a825780638da5cb5b14610aa1578063936b293414610abd57806393bf570514610adc575f80fd5b8063469132ce1161034e57806363854565116102cd57806376abde001161029257806376abde00146109dc57806379ba509714610a0f57806379cc679014610a235780638589287a14610a425780638c80432114610a61575f80fd5b8063638545651461090f57806363a9c1f2146109235780636edb9a911461095657806370a0823114610994578063715018a6146109c8575f80fd5b80634fadc783116103135780634fadc7831461084c57806352d0b3851461086b57806359e35ec21461089e5780635b8e7979146108b957806360f47d5f146108ec575f80fd5b8063469132ce1461072f57806349bd5a5e1461076d5780634ac032be146107b85780634b3c3460146107f85780634bed5ad21461082b575f80fd5b806329c6b348116103da578063390a168f1161039f578063390a168f1461067757806339509351146106aa5780633b22fc03146106c95780633e4e9e5d146106fc57806342966c6814610710575f80fd5b806329c6b348146105df5780632ead0955146105f3578063313ce56714610609578063326b3b8b1461062457806336520ace14610643575f80fd5b806318160ddd1161042057806318160ddd1461050a57806318f490cf146105275780631b5e609b1461055a57806323b872dd1461058d57806325100bd4146105ac575f80fd5b8063038272b61461045b57806306fdde0314610482578063095ea7b3146104a357806310b828c9146104d2575f80fd5b3661045757005b5f80fd5b348015610466575f80fd5b5061046f610f9e565b6040519081526020015b60405180910390f35b34801561048d575f80fd5b50610496610fc4565b6040516104799190613bc9565b3480156104ae575f80fd5b506104c26104bd366004613c0f565b611054565b6040519015158152602001610479565b3480156104dd575f80fd5b506002546104f590600160781b900463ffffffff1681565b60405163ffffffff9091168152602001610479565b348015610515575f80fd5b506002546001600160781b031661046f565b348015610532575f80fd5b5061046f7f000000000000000000000000000000000000000000000000000000000000000081565b348015610565575f80fd5b5061046f7f382ec5bc4459769a8d1da44d2d7e76f8400053455f2ba59c63ab658ce86eccc181565b348015610598575f80fd5b506104c26105a7366004613c39565b61106d565b3480156105b7575f80fd5b5061046f7f00000000000000000000000000000000000000000000000000000000000003e881565b3480156105ea575f80fd5b506104c26110aa565b3480156105fe575f80fd5b50610607611134565b005b348015610614575f80fd5b5060405160128152602001610479565b34801561062f575f80fd5b5061060761063e366004613c8d565b61120b565b34801561064e575f80fd5b5060025461066490600160e81b900461ffff1681565b60405161ffff9091168152602001610479565b348015610682575f80fd5b5061046f7f000000000000000000000000000000000000000000000000000000000000000081565b3480156106b5575f80fd5b506104c26106c4366004613c0f565b6112ab565b3480156106d4575f80fd5b5061046f7f00000000000000000000000000000000000000000052b7d2dcc80cd2e400000081565b348015610707575f80fd5b5061046f6112cc565b34801561071b575f80fd5b5061060761072a366004613ca6565b6112fb565b34801561073a575f80fd5b5060035461075590600160781b90046001600160781b031681565b6040516001600160781b039091168152602001610479565b348015610778575f80fd5b506107a07f00000000000000000000000052ab010436822791a6db461749eb5183f262bfe881565b6040516001600160a01b039091168152602001610479565b3480156107c3575f80fd5b506107eb7f000000000000000000000000000000000000000000000000000000000000000081565b6040516104799190613cbd565b348015610803575f80fd5b506107a07f0000000000000000000000008cdd488363de72635b55bb263cc4c29041e6aa1a81565b348015610836575f80fd5b5060035461066490600160f01b900461ffff1681565b348015610857575f80fd5b50610607610866366004613ce3565b611305565b348015610876575f80fd5b5061046f7f000000000000000000000000000000000000000000000000000000000000000081565b3480156108a9575f80fd5b5061046f67016357a9360a0a0081565b3480156108c4575f80fd5b506107a07f000000000000000000000000de3ff2a50bd1ba1bd6a608ea0138946dddf595bc81565b3480156108f7575f80fd5b506002546104f590600160981b900463ffffffff1681565b34801561091a575f80fd5b5061046f611359565b34801561092e575f80fd5b5061046f7f00000000000000000000000000000000000000000000000000000000bbf81e0081565b348015610961575f80fd5b5060055461097c90600160801b90046001600160801b031681565b6040516001600160801b039091168152602001610479565b34801561099f575f80fd5b5061046f6109ae366004613ce3565b6001600160a01b03165f9081526008602052604090205490565b3480156109d3575f80fd5b506106076113bf565b3480156109e7575f80fd5b506107a07f000000000000000000000000000000000000000000000000000000000000000081565b348015610a1a575f80fd5b506106076113d0565b348015610a2e575f80fd5b50610607610a3d366004613c0f565b6113fc565b348015610a4d575f80fd5b50610607610a5c366004613ca6565b611415565b348015610a6c575f80fd5b5060025461066490600160d81b900461ffff1681565b348015610a8d575f80fd5b50610607610a9c366004613c0f565b611459565b348015610aac575f80fd5b505f546001600160a01b03166107a0565b348015610ac8575f80fd5b50610607610ad7366004613cfe565b6114b5565b610607610aea366004613d3c565b611800565b348015610afa575f80fd5b5061049661196d565b348015610b0e575f80fd5b50610607610b1d366004613ce3565b61197c565b348015610b2d575f80fd5b50610607610b3c366004613ca6565b6119d2565b348015610b4c575f80fd5b5061046f7f00000000000000000000000000000000000000000000000000000000000003e881565b348015610b7f575f80fd5b506104c2610b8e366004613ce3565b611a5c565b348015610b9e575f80fd5b506104c2610bad366004613c0f565b611a68565b348015610bbd575f80fd5b5060025461066490600160b81b900461ffff1681565b348015610bde575f80fd5b50610607610bed366004613ca6565b611aa7565b348015610bfd575f80fd5b50610c06611b1d565b6040516104799190613db4565b348015610c1e575f80fd5b506104c2610c2d366004613c0f565b611b29565b348015610c3d575f80fd5b50610607610c4c366004613ce3565b611b3a565b348015610c5c575f80fd5b5060055461097c906001600160801b031681565b348015610c7b575f80fd5b5060025461066490600160c81b900461ffff1681565b348015610c9c575f80fd5b5061046f7f000000000000000000000000000000000000000000000000000000000000001e81565b348015610ccf575f80fd5b50610cd8611b87565b6040516104799190613dc6565b348015610cf0575f80fd5b5061046f7f000000000000000000000000000000000000000000000000000000000000003281565b348015610d23575f80fd5b506004546104c290600160f81b900460ff1681565b348015610d43575f80fd5b5061046f7f000000000000000000000000000000000000000000000000000000000000003281565b348015610d76575f80fd5b506104c2610d85366004613ca6565b611b93565b348015610d95575f80fd5b50610607610da4366004613e09565b611b9f565b348015610db4575f80fd5b50610c06611cea565b348015610dc8575f80fd5b5061046f610dd7366004613e29565b611cf6565b348015610de7575f80fd5b506001546001600160a01b03166107a0565b348015610e04575f80fd5b50610607610e13366004613ca6565b611d20565b348015610e23575f80fd5b506104c2610e32366004613ce3565b611d64565b348015610e42575f80fd5b506004546107a0906001600160a01b031681565b348015610e61575f80fd5b50600454610e7c90600160a01b90046001600160581b031681565b6040516001600160581b039091168152602001610479565b348015610e9f575f80fd5b50610607610eae366004613ce3565b611dab565b348015610ebe575f80fd5b5061046f611e37565b348015610ed2575f80fd5b50610607610ee1366004613ce3565b611e58565b348015610ef1575f80fd5b506107a07f000000000000000000000000b1136324f718844df24564d6598dfc4a4545ed2381565b348015610f24575f80fd5b50600354610755906001600160781b031681565b348015610f43575f80fd5b506107a07f000000000000000000000000000000000000000000000000000000000000000081565b348015610f76575f80fd5b5061046f611ec8565b348015610f8a575f80fd5b50610607610f99366004613ce3565b611f2e565b5f610fa7611ec8565b600254610fbf9190600160c81b900461ffff16613e74565b905090565b606060068054610fd390613e87565b80601f0160208091040260200160405190810160405280929190818152602001828054610fff90613e87565b801561104a5780601f106110215761010080835404028352916020019161104a565b820191905f5260205f20905b81548152906001019060200180831161102d57829003601f168201915b5050505050905090565b5f33611061818585611f7b565b60019150505b92915050565b5f3361107a858285612018565b61109d85858561108989611d64565b80611098575061109888611d64565b612052565b60019150505b9392505050565b5f806110bd5f546001600160a01b031690565b6001600160a01b031614801561110c5750600254611109907f00000000000000000000000000000000000000000000000000000000bbf81e0090600160781b900463ffffffff16613e74565b42115b806111245750600254600160781b900463ffffffff16155b1561112e57505f90565b50600190565b600254600160f81b900460ff161561115657611156636be9b2f760e01b61212c565b6005546001600160801b0316156111a957600580546fffffffffffffffffffffffffffffffff1981169091556004546001600160801b03909116906111a79030906001600160a01b0316835f612052565b505b600554600160801b90046001600160801b03161561120957600580546001600160801b03808216909255600160801b900416611207307f000000000000000000000000de3ff2a50bd1ba1bd6a608ea0138946dddf595bc835f612052565b505b565b611213612134565b6003546001600160f01b90910461ffff16101561123a5761123a636255fd8d60e01b61212c565b6003805461ffff838116600160f01b9081026001600160f01b038416179093556040519290910416907fe4351c45b53ffb7ebad0b66cc0f1a3dfe2963c099421eeaded141104df39206a9061129f908390859091825261ffff16602082015260400190565b60405180910390a15050565b5f336110618185856112bd8383611cf6565b6112c79190613e74565b611f7b565b6005545f906112ed906001600160801b03600160801b820481169116613ebf565b6001600160801b0316905090565b6112073382612155565b61130d612134565b611318600e82612222565b506040516001600160a01b03821681527f59129d668a515d00b1370a4f7946e33e4e37ba79d4a0c38d68053f136f6f40fd906020015b60405180910390a150565b5f6113877f000000000000000000000000000000000000000000000000000000000000001e62015180613edf565b6002546113a19190600160781b900463ffffffff16613e74565b4211156113ad57505f90565b50600254600160d81b900461ffff1690565b6113c7612134565b6112095f612236565b60015433906001600160a01b031681146113f3576113f36212b0c560e81b61212c565b61120781612236565b611407823383612018565b6114118282612155565b5050565b61141d612134565b611428600a8261224f565b506040518181527fdd5aeaec2032ed464aed048b9014721d48de827cef3d77f78f0a76f1f0136dd49060200161134e565b600254600160f81b900460ff161561147b5761147b636be9b2f760e01b61212c565b306001600160a01b0383160361149b5761149b63992501b360e01b61212c565b600454611411906001600160a01b0384811691168361225a565b6114bd612134565b60025461ffff600160b81b8204811691600160c81b900481169084168210156114f0576114f0637924ff4760e11b61212c565b8061ffff168361ffff16111561151057611510637924ff4760e11b61212c565b6002805463ffffffff60b81b1916600160b81b61ffff87811691820261ffff60c81b191692909217600160c81b878416021792839055600160d81b8304821692600160e81b9004909116905f03611574576002805461ffff60d81b19169055611636565b5f6127106115a67f00000000000000000000000000000000000000000000000000000000000003e861ffff8a16613edf565b6115b09190613ef6565b90507f0000000000000000000000000000000000000000000000000000000000000032811015611619576002805461ffff60d81b1916600160d81b7f000000000000000000000000000000000000000000000000000000000000003261ffff1602179055611634565b6002805461ffff60d81b1916600160d81b61ffff8416021790555b505b8461ffff165f03611654576002805461ffff60e81b19169055611716565b5f6127106116867f00000000000000000000000000000000000000000000000000000000000003e861ffff8916613edf565b6116909190613ef6565b90507f00000000000000000000000000000000000000000000000000000000000000328110156116f9576002805461ffff60e81b1916600160e81b7f000000000000000000000000000000000000000000000000000000000000003261ffff1602179055611714565b6002805461ffff60e81b1916600160e81b61ffff8416021790555b505b60025461ffff838116600160d81b90920416141580611745575060025461ffff828116600160e81b9092041614155b156117aa576002546040805161ffff8581168252600160d81b84048116602083015284811682840152600160e81b9093049092166060830152517fc62aec06e6c0bd9801f57464e310b42dd2d884cbfaf006c84a761b622aea4f089181900360800190a15b6040805161ffff86811682528881166020830152858116828401528716606082015290517f8da1f77a22734510b762a9625e69e737d7c0cc48984e810e5802fb341eb80a3e9181900360800190a1505050505050565b7f0000000000000000000000008cdd488363de72635b55bb263cc4c29041e6aa1a6001600160a01b0316331480159061184357505f546001600160a01b03163314155b801561187857507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163314155b1561188d5761188d630a1c4bd560e41b61212c565b6004545f90600160f81b900460ff161580156118ab57506001821515145b156118c657600480546001600160f81b0316600160f81b1790555b600454600160f81b900460ff16156118f657345f036118ef576118ef633cb00bd760e11b61212c565b503461191a565b34841061190d5761190d633cb00bd760e11b61212c565b6119178434613f15565b90505b600454600160a01b90046001600160581b031683111561195d57600480546affffffffffffffffffffff60a01b1916600160a01b6001600160581b038616021790555b61196781856122ac565b50505050565b606060078054610fd390613e87565b611984612134565b600480546001600160a01b0319166001600160a01b0383169081179091556040519081527fa4eea51cd2f21eac6612ba054a363ae2fd59698fc258ab414313cd73f69f2b859060200161134e565b600254600160f81b900460ff16156119f4576119f4636be9b2f760e01b61212c565b6004546040515f916001600160a01b03169083908381818185875af1925050503d805f8114611a3e576040519150601f19603f3d011682016040523d82523d5f602084013e611a43565b606091505b5050905080611411576114116312171d8360e31b61212c565b5f611067600e836124c5565b5f3381611a758286611cf6565b905083811015611a8f57611a8f637b5591b560e11b61212c565b611a9c8286868403611f7b565b506001949350505050565b600254600160f81b900460ff1615611ac957611ac9636be9b2f760e01b61212c565b5f611ad26112cc565b305f90815260086020526040902054611aeb9190613f15565b905080821115611b0557611b0563339cee2160e01b61212c565b6004546114119030906001600160a01b03168461225a565b6060610fbf600e6124e6565b5f3361106181858561108983611d64565b611b42612134565b611b4d600c826124f2565b506040516001600160a01b03821681527f59c3fbcae88f30e9b0e35c132a7f68c53231dffa4722f197c7ecb0ee013eee609060200161134e565b6060610fbf600a6124e6565b5f611067600a83612506565b611ba7612134565b6001600160781b03811115611bc657611bc66342027b1360e11b61212c565b6001600160781b03821115611be557611be56342027b1360e11b61212c565b6003546001600160781b0380821691600160781b90041681158015611c0957508315155b80611c1c575080158015611c1c57508215155b15611c3157611c3163299e73c360e11b61212c565b8315801590611c3f57508184105b80611c5357508215801590611c5357508083105b15611c6857611c6863299e73c360e11b61212c565b600380546001600160781b03858116600160781b026001600160f01b0319909216908716171790556040517fe3eb5d4eccdae2d96efa105f65c8db865f9fc72984f2b879a27448fed50d181590611cdc90849087908590889093845260208401929092526040830152606082015260800190565b60405180910390a150505050565b6060610fbf600c6124e6565b6001600160a01b039182165f90815260096020908152604080832093909416825291909152205490565b611d28612134565b611d33600a8261251d565b506040518181527ff7d7abaf8b0e82705f2ef671054dd11a306d870da0bbb8be1ff24bd0096de7ba9060200161134e565b5f7f00000000000000000000000052ab010436822791a6db461749eb5183f262bfe86001600160a01b0316826001600160a01b031614806110675750611067600c836124c5565b611db3612134565b6001600160a01b038116611dd157611dd163b47cdee560e01b61212c565b806001600160a01b03163b5f03611df257611df2630f9da0c760e41b61212c565b611dfd600c82612222565b506040516001600160a01b03821681527fb893f883ef734b712208a877459424ee509832c57e0461fb1ac99ed4d42f2d899060200161134e565b5f611e40611359565b600254610fbf9190600160b81b900461ffff16613e74565b611e60612134565b600180546001600160a01b0383166001600160a01b03199091168117909155611e905f546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b5f611ef67f000000000000000000000000000000000000000000000000000000000000001e62015180613edf565b600254611f109190600160781b900463ffffffff16613e74565b421115611f1c57505f90565b50600254600160e81b900461ffff1690565b611f36612134565b611f41600e826124f2565b506040516001600160a01b03821681527fb2ed7b6d5164de63737cc48d793bf899607480780433a1a2eb2b7b99dec273209060200161134e565b6001600160a01b038316611f9957611f996356fdae6560e11b61212c565b6001600160a01b038216611fb757611fb763b2fa1ef360e01b61212c565b6001600160a01b038381165f8181526009602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b5f6120238484611cf6565b90505f1981146119675781811015612045576120456313be252b60e01b61212c565b6119678484848403611f7b565b5f61205e858585612528565b905061206a85856126a7565b5f61207783868887612780565b9050612084868583612ab1565b9050612091868683612c33565b61209b8483613f15565b6001600160a01b038088165f9081526008602052604080822093909355908716815290812080548392906120d0908490613e74565b92505081905550846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161211c91815260200190565b60405180910390a3505050505050565b805f5260045ffd5b5f546001600160a01b0316331461120957611209633e8be92f60e01b61212c565b6001600160a01b038216612173576121736304fca6bd60e41b61212c565b6001600160a01b0382165f90815260086020526040902054818110156121a3576121a363588569f760e01b61212c565b6001600160a01b0383165f818152600860205260408082208585039055600280546001600160781b03808216889003166effffffffffffffffffffffffffffff19909116179055519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061200b9086815260200190565b505050565b5f6110a3836001600160a01b038416612ceb565b600180546001600160a01b031916905561120781612d37565b5f6110a38383612d86565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261221d908490612e70565b600254600160781b900463ffffffff16156122d1576122d163b1f3376760e01b61212c565b600280544363ffffffff908116600160981b0263ffffffff60981b194292909216600160781b029190911667ffffffffffffffff60781b1990921691909117179055305f908152600860205260409020545f03612338576123386330d86fb160e11b61212c565b612364307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d5f19611f7b565b5f805f7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663f305d71986306123b6306001600160a01b03165f9081526008602052604090205490565b6040516001600160e01b031960e086901b1681526001600160a01b03909216600483015260248201525f6044820181905260648201523060848201524260a482015260c40160606040518083038185885af1158015612417573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061243c9190613f28565b604080518481526020810184905290810182905292955090935091507fbf59dda00152e02f20e18cab7307c8afe0714e7f69cf24a1377cbbddcb40f9bb9060600160405180910390a1600280546001600160f81b03169055600454600160f81b900460ff16156124b4576124af81612ef2565b6124be565b6124be8482612fb1565b5050505050565b6001600160a01b0381165f90815260018301602052604081205415156110a3565b60605f6110a38361322b565b5f6110a3836001600160a01b038416612d86565b5f81815260018301602052604081205415156110a3565b5f6110a38383612ceb565b5f7f00000000000000000000000052ab010436822791a6db461749eb5183f262bfe86001600160a01b0316836001600160a01b031614801561257357506001600160a01b0384163014155b801561258c5750600254600160781b900463ffffffff16155b156125a1576125a1630d970b4560e21b61212c565b6001600160a01b0384166125bf576125bf630b07e54560e11b61212c565b6001600160a01b0383166125dd576125dd633a954ecd60e21b61212c565b506001600160a01b0383165f908152600860205260409020548181101561260e5761260e635dd58b8b60e01b61212c565b6126166110aa565b801561262c57506003546001600160781b031615155b801561266f575061263c84611d64565b801561264e575061264c83611a5c565b155b8061266f575061265d83611d64565b801561266f575061266d84611a5c565b155b156110a3576003546001600160781b031664174876e800018083111561269f5761269f635eb9ebe760e11b61212c565b509392505050565b7f000000000000000000000000000000000000000000000000000000000000000115611411575f6126d66112cc565b60035460025491925082915f916127109161270591600160f01b900461ffff16906001600160781b0316613f53565b6001600160781b03166127189190613ef6565b905061272685858484613284565b156124be57600280546001600160f81b0316600160f81b17905561274b601482613edf565b8211156127605761275d601482613edf565b91505b61276a8284613336565b600280546001600160f81b031690555050505050565b807f000000000000000000000000000000000000000000000000000000000000000180156127ab5750845b80156127c15750600254600160f81b900460ff16155b15612aa9575f6127d085611d64565b80156127e257505f6127e0610f9e565b115b156128fe57600254600160c81b900461ffff1615612875576002545f906127109061281890600160c81b900461ffff1686613edf565b6128229190613ef6565b6005805491925082915f906128419084906001600160801b0316613ebf565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555080826128719190613e74565b9150505b5f61287e611ec8565b905080156128f8575f6127106128948387613edf565b61289e9190613ef6565b905080600560108282829054906101000a90046001600160801b03166128c49190613ebf565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555080836128f49190613e74565b9250505b50612a31565b61290784611d64565b801561291957505f612917611e37565b115b15612a3157600254600160b81b900461ffff16156129ac576002545f906127109061294f90600160b81b900461ffff1686613edf565b6129599190613ef6565b6005805491925082915f906129789084906001600160801b0316613ebf565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555080826129a89190613e74565b9150505b5f6129b5611359565b90508015612a2f575f6127106129cb8387613edf565b6129d59190613ef6565b905080600560108282829054906101000a90046001600160801b03166129fb9190613ebf565b92506101000a8154816001600160801b0302191690836001600160801b031602179055508083612a2b9190613e74565b9250505b505b8015612aa757305f9081526008602052604081208054839290612a55908490613e74565b909155505060405181815230906001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3612aa48183613f15565b91505b505b949350505050565b807f000000000000000000000000000000000000000000000000000000000000000015801590612b0057507f000000000000000000000000000000000000000000000000000000000000000015155b8015612b165750600254600160f81b900460ff16155b8015612b265750612b2684611d64565b156110a3576002545f90612b4790600160981b900463ffffffff1643613f15565b90507f000000000000000000000000000000000000000000000000000000000000000081101561269f575f612b9c827f0000000000000000000000000000000000000000000000000000000000000000613f15565b90505f612be97f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000613ef6565b90505f612bf68284613edf565b90505f612710612c06838a613edf565b612c109190613ef6565b9050612c1c8982612155565b612c268187613f15565b9998505050505050505050565b612c3b6110aa565b8015612c585750600354600160781b90046001600160781b031615155b8015612c6a5750612c6882611a5c565b155b8015612c8c5750612c7a83611d64565b8015612c8c5750612c8a82611a5c565b155b1561221d576003546001600160781b03600160781b9091041664174876e8000180612ccb846001600160a01b03165f9081526008602052604090205490565b612cd59084613e74565b111561196757611967633b016a6d60e11b61212c565b5f818152600183016020526040812054612d3057508154600181810184555f848152602080822090930184905584548482528286019093526040902091909155611067565b505f611067565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f8181526001830160205260408120548015612e60575f612da8600183613f15565b85549091505f90612dbb90600190613f15565b9050818114612e1a575f865f018281548110612dd957612dd9613f7e565b905f5260205f200154905080875f018481548110612df957612df9613f7e565b5f918252602080832090910192909255918252600188019052604090208390555b8554869080612e2b57612e2b613f92565b600190038181905f5260205f20015f90559055856001015f8681526020019081526020015f205f905560019350505050611067565b5f915050611067565b5092915050565b5f612eb0826040518060400160405280600981526020016818d85b1b0819985a5b60ba1b815250856001600160a01b0316613a7c9092919063ffffffff16565b905080515f14158015612ed4575080806020019051810190612ed29190613fa6565b155b1561221d576040516308575cad60e01b815260040160405180910390fd5b60405163a9059cbb60e01b81525f6004820152602481018290527f00000000000000000000000052ab010436822791a6db461749eb5183f262bfe86001600160a01b03169063a9059cbb906044016020604051808303815f875af1158015612f5c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612f809190613fa6565b506040518181527f781a9d251db551fc7922f7facbbe49bc3fd61d3e236a8dafa34afd0539ebfa729060200161134e565b60405163095ea7b360e01b81526001600160a01b037f000000000000000000000000663a5c229c09b049e36dcc11a9b0d4a8eb9db21481166004830152602482018390527f00000000000000000000000052ab010436822791a6db461749eb5183f262bfe8169063095ea7b3906044016020604051808303815f875af115801561303d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906130619190613fa6565b506040516370a0823160e01b81523060048201526001600160a01b037f000000000000000000000000663a5c229c09b049e36dcc11a9b0d4a8eb9db214811691638af416f69185917f00000000000000000000000052ab010436822791a6db461749eb5183f262bfe8918216906370a0823190602401602060405180830381865afa1580156130f2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906131169190613fc1565b60045461313690600160a01b90046001600160581b031662015180613fd8565b613149906001600160581b031642613e74565b60405160e086901b6001600160e01b03191681526001600160a01b039384166004820152602481019290925260448201525f6064820152600160848201527f000000000000000000000000b1136324f718844df24564d6598dfc4a4545ed2390911660a482015260c4015f604051808303818588803b1580156131ca575f80fd5b505af11580156131dc573d5f803e3d5ffd5b505060045460408051868152600160a01b9092046001600160581b031660208301527fcb75aa8347c098d414422e8cafbbe4e2c1a229f5b27bf425984b2b9792aa787a945001915061129f9050565b6060815f0180548060200260200160405190810160405280929190818152602001828054801561327857602002820191905f5260205f20905b815481526020019060010190808311613264575b50505050509050919050565b5f81831015801561329f5750600254600160f81b900460ff16155b80156132b157506132af85611d64565b155b80156132ef57507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b0316856001600160a01b031614155b801561332d57507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b0316846001600160a01b031614155b95945050505050565b60408051600280825260608201835247925f92919060208301908036833701905050905030815f8151811061336d5761336d613f7e565b60200260200101906001600160a01b031690816001600160a01b0316815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156133e9573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061340d9190613ffb565b8160018151811061342057613420613f7e565b6001600160a01b0392831660209182029290920101527f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d1663791ac947855f843061346d42610258613e74565b6040518663ffffffff1660e01b815260040161348d959493929190614016565b5f604051808303815f87803b1580156134a4575f80fd5b505af19250505080156134b5575060015b6134df57604051600581525f8051602061408d8339815191529060200160405180910390a1611967565b475f6134eb8483613f15565b6005549091505f908690613508906001600160801b031684613edf565b6135129190613ef6565b6005549091505f90879061353690600160801b90046001600160801b031685613edf565b6135409190613ef6565b90508688101561360a576005545f908890613565908b906001600160801b0316613edf565b61356f9190613ef6565b6005805491925082915f9061358e9084906001600160801b0316614051565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555080896135be9190613f15565b600580546010906135e0908490600160801b90046001600160801b0316614051565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505061360f565b5f6005555b5f80808415613824575a61c350116136295761c35061362b565b5a5b6004546040519192506001600160a01b031690829087905f818181858888f193505050503d805f8114613679576040519150601f19603f3d011682016040523d82523d5f602084013e61367e565b606091505b50508093505082613824576001600160a01b03821661371a577f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156136f3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906137179190613ffb565b91505b816001600160a01b031663d0e30db0866040518263ffffffff1660e01b81526004015f604051808303818588803b158015613753575f80fd5b505af193505050508015613765575060015b61379057604051600281525f8051602061408d833981519152906020015b60405180910390a1613824565b6004805460405163a9059cbb60e01b81526001600160a01b03918216928101929092526024820187905283169063a9059cbb906044016020604051808303815f875af1925050508015613800575060408051601f3d908101601f191682019092526137fd91810190613fa6565b60015b61382257604051600181525f8051602061408d83398151915290602001613783565b505b8315613a6f575a61c3501161383b5761c35061383d565b5a5b90507f000000000000000000000000de3ff2a50bd1ba1bd6a608ea0138946dddf595bc6001600160a01b03168482906040515f60405180830381858888f193505050503d805f81146138aa576040519150601f19603f3d011682016040523d82523d5f602084013e6138af565b606091505b50508093505082613a6f576001600160a01b03821661394b577f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015613924573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906139489190613ffb565b91505b816001600160a01b031663d0e30db0856040518263ffffffff1660e01b81526004015f604051808303818588803b158015613984575f80fd5b505af193505050508015613996575060015b6139c157604051600481525f8051602061408d833981519152906020015b60405180910390a1613a6f565b60405163a9059cbb60e01b81526001600160a01b037f000000000000000000000000de3ff2a50bd1ba1bd6a608ea0138946dddf595bc811660048301526024820186905283169063a9059cbb906044016020604051808303815f875af1925050508015613a4b575060408051601f3d908101601f19168201909252613a4891810190613fa6565b60015b613a6d57604051600381525f8051602061408d833981519152906020016139b4565b505b5050505050505050505050565b6060612aa984845f8585613a94565b60405180910390fd5b5f80866001600160a01b03168587604051613aaf9190614071565b5f6040518083038185875af1925050503d805f8114613ae9576040519150601f19603f3d011682016040523d82523d5f602084013e613aee565b606091505b5091509150613aff87838387613b0a565b979650505050505050565b60608315613b785782515f03613b71576001600160a01b0385163b613b715760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401613a8b565b5081612aa9565b612aa98383815115613b8d5781518083602001fd5b8060405162461bcd60e51b8152600401613a8b9190613bc9565b5f5b83811015613bc1578181015183820152602001613ba9565b50505f910152565b602081525f8251806020840152613be7816040850160208701613ba7565b601f01601f19169190910160400192915050565b6001600160a01b0381168114611207575f80fd5b5f8060408385031215613c20575f80fd5b8235613c2b81613bfb565b946020939093013593505050565b5f805f60608486031215613c4b575f80fd5b8335613c5681613bfb565b92506020840135613c6681613bfb565b929592945050506040919091013590565b803561ffff81168114613c88575f80fd5b919050565b5f60208284031215613c9d575f80fd5b6110a382613c77565b5f60208284031215613cb6575f80fd5b5035919050565b6020810160028310613cdd57634e487b7160e01b5f52602160045260245ffd5b91905290565b5f60208284031215613cf3575f80fd5b81356110a381613bfb565b5f8060408385031215613d0f575f80fd5b613d1883613c77565b9150613d2660208401613c77565b90509250929050565b8015158114611207575f80fd5b5f805f60608486031215613d4e575f80fd5b83359250602084013591506040840135613d6781613d2f565b809150509250925092565b5f8151808452602080850194508084015f5b83811015613da95781516001600160a01b031687529582019590820190600101613d84565b509495945050505050565b602081525f6110a36020830184613d72565b602080825282518282018190525f9190848201906040850190845b81811015613dfd57835183529284019291840191600101613de1565b50909695505050505050565b5f8060408385031215613e1a575f80fd5b50508035926020909101359150565b5f8060408385031215613e3a575f80fd5b8235613e4581613bfb565b91506020830135613e5581613bfb565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561106757611067613e60565b600181811c90821680613e9b57607f821691505b602082108103613eb957634e487b7160e01b5f52602260045260245ffd5b50919050565b6001600160801b03818116838216019080821115612e6957612e69613e60565b808202811582820484141761106757611067613e60565b5f82613f1057634e487b7160e01b5f52601260045260245ffd5b500490565b8181038181111561106757611067613e60565b5f805f60608486031215613f3a575f80fd5b8351925060208401519150604084015190509250925092565b6001600160781b03818116838216028082169190828114613f7657613f76613e60565b505092915050565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52603160045260245ffd5b5f60208284031215613fb6575f80fd5b81516110a381613d2f565b5f60208284031215613fd1575f80fd5b5051919050565b6001600160581b03818116838216028082169190828114613f7657613f76613e60565b5f6020828403121561400b575f80fd5b81516110a381613bfb565b85815284602082015260a060408201525f61403460a0830186613d72565b6001600160a01b0394909416606083015250608001529392505050565b6001600160801b03828116828216039080821115612e6957612e69613e60565b5f8251614082818460208701613ba7565b919091019291505056fe60dc41faad9fe4f70f304dcef26d96d71e98ec8e21e4a340921d94dfe46307dca2646970667358221220e31d89b4eaad19151b691c403eaa09bf38703ec4afe8f7f69fd8fd4c80e9ba2f64736f6c63430008150033",
              "creation_bytecode": "0x610300604052600280546001600160f81b0316600160f81b17905534801562000026575f80fd5b506040516200543a3803806200543a833981016040819052620000499162000b36565b62000054336200027d565b84516200006290856200029b565b6020808601516001600160a01b039081166102c052604087015181166102a0526060870151166102605283515f91620000a2918601810190860162000c51565b90505f83806020019051810190620000bb919062000cef565b6080808901516001600160a01b03166102005260408051610100810182525f808252602082018190529181018290526060810182905291820181905260a0820181905260c0820181905260e082015290915060808801516001600160a01b0316156200013a578380602001905181019062000137919062000db2565b90505b620001468382620002e3565b60e08301516001600160a01b031661024052620001666012600a62000f50565b836020015162000177919062000f60565b608052620001886012600a62000f50565b836040015162000199919062000f60565b60a05260c08084015190526101008301516001600160a01b031661022052620001c282620004e9565b15156102805260a08281015160e09081528301516001600160a01b03166101c05261014080840151610100908152610160808601516101209081529186015161ffff9081169093529085015190911690526101808084015190526101a08084015190525f6102e0526080519051620002579190620002436012600a62000f50565b845162000251919062000f60565b62000656565b6200026162000697565b6001600160a01b03166101e052506200118f9650505050505050565b600180546001600160a01b0319169055620002988162000868565b50565b620002a6826200027d565b80806020019051810190620002bc919062000f7a565b60065f6007620002cd84826200106b565b50620002dc905083826200106b565b5050505050565b805160408301516020840151620002fb919062001133565b62000307919062001133565b8251146200032157620003216361cf53d560e01b620008b7565b81516001600160781b031015620003445762000344637f47720f60e11b620008b7565b60a08201516001600160581b0310156200036a576200036a63d1db63ab60e01b620008b7565b60c08201516001600160801b0310156200039057620003906362059d4d60e01b620008b7565b60608201516001600160781b031015620003b657620003b66342027b1360e11b620008b7565b60808201516001600160781b031015620003dc57620003dc6342027b1360e11b620008b7565b620003ea6012600a62000f50565b8260600151620003fb919062000f60565b600380546001600160781b0392909216600160781b02600160781b600160f01b03199092169190911790556200042f601290565b6200043c90600a62000f50565b82608001516200044d919062000f60565b600380546001600160781b03929092166001600160781b031990921691909117905560a0820151600480546101208501511515600160f81b026001600160f81b036001600160581b03909416600160a01b02939093166001600160a01b039091161791909117905560e0820151620004c890600e90620008bf565b50620004d6600e30620008bf565b50620004e4600e5f620008bf565b505050565b80515f90158015620004fd57506020820151155b80156200050c57506060820151155b80156200051b57506080820151155b156200052857505f919050565b6101a0820151606083015183516127109291620005459162001133565b62000551919062001133565b1062000569576200056963e410db6160e01b620008b7565b81516002805460208501516060860151608087015161ffff908116600160e81b0261ffff60e81b19928216600160d81b029290921663ffffffff60d81b19938216600160c81b0261ffff60c81b1992909716600160b81b029190911663ffffffff60b81b1990941693909317949094171617919091179055604082015160011115620006015762000601636255fd8d60e01b620008b7565b506040810151600380546001600160f01b0316600160f01b61ffff9093169290920291909117905560c00151600480546001600160a01b0319166001600160a01b03909216919091179055600190565b919050565b82156200066957620006693084620008de565b8115620006805761024051620006809083620008de565b8015620004e45761020051620004e49082620008de565b6002545f906001600160781b03161562000844576102c0516001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620006eb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000711919062001149565b6001600160a01b031663c9c65396306102c0516001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000760573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000786919062001149565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015620007d1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620007f7919062001149565b905062000806600c82620008bf565b506040516001600160a01b03821681527f969ffc8569f9af3993220e04ac05164e5db4e3d9f8b1a47f64e7de9a04b8ea2f9060200160405180910390a15b6102c0516200085690600e90620008bf565b5062000864600e82620008bf565b5090565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b805f5260045ffd5b5f620008d5836001600160a01b0384166200099b565b90505b92915050565b6001600160a01b038216620008fe57620008fe622e076360e81b620008b7565b600280548291905f906200091d9084906001600160781b031662001165565b82546001600160781b039182166101009390930a9283029190920219909116179055506001600160a01b0382165f81815260086020526040808220805485019055517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906200098f9085815260200190565b60405180910390a35050565b5f818152600183016020526040812054620009e257508154600181810184555f848152602080822090930184905584548482528286019093526040902091909155620008d8565b505f620008d8565b634e487b7160e01b5f52604160045260245ffd5b60405160a081016001600160401b038111828210171562000a235762000a23620009ea565b60405290565b60405161014081016001600160401b038111828210171562000a235762000a23620009ea565b6040516101c081016001600160401b038111828210171562000a235762000a23620009ea565b80516001600160a01b038116811462000651575f80fd5b5f82601f83011262000a9c575f80fd5b81516001600160401b038082111562000ab95762000ab9620009ea565b604051601f8301601f19908116603f0116810190828211818310171562000ae45762000ae4620009ea565b8160405283815260209250868385880101111562000b00575f80fd5b5f91505b8382101562000b23578582018301518183018401529082019062000b04565b5f93810190920192909252949350505050565b5f805f805f610120868803121562000b4c575f80fd5b86601f87011262000b5b575f80fd5b62000b65620009fe565b8060a088018981111562000b77575f80fd5b885b8181101562000b9c5762000b8d8162000a75565b84526020938401930162000b79565b505190965090506001600160401b038082111562000bb8575f80fd5b62000bc689838a0162000a8c565b955060c088015191508082111562000bdc575f80fd5b62000bea89838a0162000a8c565b945060e088015191508082111562000c00575f80fd5b62000c0e89838a0162000a8c565b935061010088015191508082111562000c25575f80fd5b5062000c348882890162000a8c565b9150509295509295909350565b8051801515811462000651575f80fd5b5f610140828403121562000c63575f80fd5b62000c6d62000a29565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a082015260c083015160c082015262000cbb60e0840162000a75565b60e082015261010062000cd081850162000a75565b9082015261012062000ce484820162000c41565b908201529392505050565b5f6101c0828403121562000d01575f80fd5b62000d0b62000a4f565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a082015262000d4f60c0840162000a75565b60c082015262000d6260e0840162000a75565b60e0820152610100838101519082015261012080840151908201526101408084015190820152610160808401519082015261018080840151908201526101a0928301519281019290925250919050565b5f61010080838503121562000dc5575f80fd5b604051908101906001600160401b038211818310171562000dea5762000dea620009ea565b81604052835181526020840151602082015260408401516040820152606084015160608201526080840151608082015260a084015160a082015260c084015160c082015260e084015160e0820152809250505092915050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111562000e9757815f190482111562000e7b5762000e7b62000e43565b8085161562000e8957918102915b93841c939080029062000e5c565b509250929050565b5f8262000eaf57506001620008d8565b8162000ebd57505f620008d8565b816001811462000ed6576002811462000ee15762000f01565b6001915050620008d8565b60ff84111562000ef55762000ef562000e43565b50506001821b620008d8565b5060208310610133831016604e8410600b841016171562000f26575081810a620008d8565b62000f32838362000e57565b805f190482111562000f485762000f4862000e43565b029392505050565b5f620008d560ff84168362000e9f565b8082028115828204841417620008d857620008d862000e43565b5f806040838503121562000f8c575f80fd5b82516001600160401b038082111562000fa3575f80fd5b62000fb18683870162000a8c565b9350602085015191508082111562000fc7575f80fd5b5062000fd68582860162000a8c565b9150509250929050565b600181811c9082168062000ff557607f821691505b6020821081036200101457634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620004e4575f81815260208120601f850160051c81016020861015620010425750805b601f850160051c820191505b8181101562001063578281556001016200104e565b505050505050565b81516001600160401b03811115620010875762001087620009ea565b6200109f8162001098845462000fe0565b846200101a565b602080601f831160018114620010d5575f8415620010bd5750858301515b5f19600386901b1c1916600185901b17855562001063565b5f85815260208120601f198616915b828110156200110557888601518255948401946001909101908401620010e4565b50858210156200112357878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b80820180821115620008d857620008d862000e43565b5f602082840312156200115a575f80fd5b620008d58262000a75565b6001600160781b0381811683821601908082111562001188576200118862000e43565b5092915050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e0516140e2620013585f395f6107c901525f818161233e01528181612369015281816132ba015281816132f80152818161338f015281816134380152818161369901526138ca01525f8181612fc8015261307f01525f81816126a9015261278301525f8181610809015261180201525f610f4901525f8181610ef7015261318901525f81816109ed015261184c01525f818161077e01528181611d670152818161252b01528181612f0e01528181612ff701526130ab01525f81816108ca015281816111e10152818161384101526139d801525f818161068801528181612ade0152612bc501525f818161053801528181612ab401528181612b4b01528181612b780152612ba401525f8181610cf60152818161169401526116cd01525f8181610d49015281816115b401526115ed01525f81816105bd015261165d01525f8181610b52015261157d01525f8181610ca20152818161135f0152611ece01525f818161093401526110d701525f61087c01525f6106da01526140e25ff3fe608060405260043610610450575f3560e01c80638cd4426d11610236578063b923061111610134578063ea8b2424116100b3578063f444324b11610078578063f444324b14610ee6578063f85aff9414610f19578063fdd8840e14610f38578063fe6a0bbf14610f6b578063ff0d7b9314610f7f575f80fd5b8063ea8b242414610e37578063eb95ca7014610e56578063ee6a934c14610e94578063eeae0f9714610eb3578063f2fde38b14610ec7575f80fd5b8063d6efd7c3116100f9578063d6efd7c314610da9578063dd62ed3e14610dbd578063e30c397814610ddc578063e37d9e9514610df9578063e85455d714610e18575f80fd5b8063b923061114610ce5578063bb88603c14610d18578063be841baa14610d38578063bfe3098f14610d6b578063c4590d3f14610d8a575f80fd5b8063a457c2d7116101c0578063ae22107f11610185578063ae22107f14610c32578063b0d7509714610c51578063b2c5c9eb14610c70578063b2e9cb3814610c91578063b498d39f14610cc4575f80fd5b8063a457c2d714610b93578063a45cae0214610bb2578063a62d87e814610bd3578063a8c2fb8e14610bf2578063a9059cbb14610c13575f80fd5b806395d89b411161020657806395d89b4114610aef5780639808751d14610b035780639e252f0014610b22578063a0aaf24814610b41578063a35b4cef14610b74575f80fd5b80638cd4426d14610a825780638da5cb5b14610aa1578063936b293414610abd57806393bf570514610adc575f80fd5b8063469132ce1161034e57806363854565116102cd57806376abde001161029257806376abde00146109dc57806379ba509714610a0f57806379cc679014610a235780638589287a14610a425780638c80432114610a61575f80fd5b8063638545651461090f57806363a9c1f2146109235780636edb9a911461095657806370a0823114610994578063715018a6146109c8575f80fd5b80634fadc783116103135780634fadc7831461084c57806352d0b3851461086b57806359e35ec21461089e5780635b8e7979146108b957806360f47d5f146108ec575f80fd5b8063469132ce1461072f57806349bd5a5e1461076d5780634ac032be146107b85780634b3c3460146107f85780634bed5ad21461082b575f80fd5b806329c6b348116103da578063390a168f1161039f578063390a168f1461067757806339509351146106aa5780633b22fc03146106c95780633e4e9e5d146106fc57806342966c6814610710575f80fd5b806329c6b348146105df5780632ead0955146105f3578063313ce56714610609578063326b3b8b1461062457806336520ace14610643575f80fd5b806318160ddd1161042057806318160ddd1461050a57806318f490cf146105275780631b5e609b1461055a57806323b872dd1461058d57806325100bd4146105ac575f80fd5b8063038272b61461045b57806306fdde0314610482578063095ea7b3146104a357806310b828c9146104d2575f80fd5b3661045757005b5f80fd5b348015610466575f80fd5b5061046f610f9e565b6040519081526020015b60405180910390f35b34801561048d575f80fd5b50610496610fc4565b6040516104799190613bc9565b3480156104ae575f80fd5b506104c26104bd366004613c0f565b611054565b6040519015158152602001610479565b3480156104dd575f80fd5b506002546104f590600160781b900463ffffffff1681565b60405163ffffffff9091168152602001610479565b348015610515575f80fd5b506002546001600160781b031661046f565b348015610532575f80fd5b5061046f7f000000000000000000000000000000000000000000000000000000000000000081565b348015610565575f80fd5b5061046f7f382ec5bc4459769a8d1da44d2d7e76f8400053455f2ba59c63ab658ce86eccc181565b348015610598575f80fd5b506104c26105a7366004613c39565b61106d565b3480156105b7575f80fd5b5061046f7f000000000000000000000000000000000000000000000000000000000000000081565b3480156105ea575f80fd5b506104c26110aa565b3480156105fe575f80fd5b50610607611134565b005b348015610614575f80fd5b5060405160128152602001610479565b34801561062f575f80fd5b5061060761063e366004613c8d565b61120b565b34801561064e575f80fd5b5060025461066490600160e81b900461ffff1681565b60405161ffff9091168152602001610479565b348015610682575f80fd5b5061046f7f000000000000000000000000000000000000000000000000000000000000000081565b3480156106b5575f80fd5b506104c26106c4366004613c0f565b6112ab565b3480156106d4575f80fd5b5061046f7f000000000000000000000000000000000000000000000000000000000000000081565b348015610707575f80fd5b5061046f6112cc565b34801561071b575f80fd5b5061060761072a366004613ca6565b6112fb565b34801561073a575f80fd5b5060035461075590600160781b90046001600160781b031681565b6040516001600160781b039091168152602001610479565b348015610778575f80fd5b506107a07f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610479565b3480156107c3575f80fd5b506107eb7f000000000000000000000000000000000000000000000000000000000000000081565b6040516104799190613cbd565b348015610803575f80fd5b506107a07f000000000000000000000000000000000000000000000000000000000000000081565b348015610836575f80fd5b5060035461066490600160f01b900461ffff1681565b348015610857575f80fd5b50610607610866366004613ce3565b611305565b348015610876575f80fd5b5061046f7f000000000000000000000000000000000000000000000000000000000000000081565b3480156108a9575f80fd5b5061046f67016357a9360a0a0081565b3480156108c4575f80fd5b506107a07f000000000000000000000000000000000000000000000000000000000000000081565b3480156108f7575f80fd5b506002546104f590600160981b900463ffffffff1681565b34801561091a575f80fd5b5061046f611359565b34801561092e575f80fd5b5061046f7f000000000000000000000000000000000000000000000000000000000000000081565b348015610961575f80fd5b5060055461097c90600160801b90046001600160801b031681565b6040516001600160801b039091168152602001610479565b34801561099f575f80fd5b5061046f6109ae366004613ce3565b6001600160a01b03165f9081526008602052604090205490565b3480156109d3575f80fd5b506106076113bf565b3480156109e7575f80fd5b506107a07f000000000000000000000000000000000000000000000000000000000000000081565b348015610a1a575f80fd5b506106076113d0565b348015610a2e575f80fd5b50610607610a3d366004613c0f565b6113fc565b348015610a4d575f80fd5b50610607610a5c366004613ca6565b611415565b348015610a6c575f80fd5b5060025461066490600160d81b900461ffff1681565b348015610a8d575f80fd5b50610607610a9c366004613c0f565b611459565b348015610aac575f80fd5b505f546001600160a01b03166107a0565b348015610ac8575f80fd5b50610607610ad7366004613cfe565b6114b5565b610607610aea366004613d3c565b611800565b348015610afa575f80fd5b5061049661196d565b348015610b0e575f80fd5b50610607610b1d366004613ce3565b61197c565b348015610b2d575f80fd5b50610607610b3c366004613ca6565b6119d2565b348015610b4c575f80fd5b5061046f7f000000000000000000000000000000000000000000000000000000000000000081565b348015610b7f575f80fd5b506104c2610b8e366004613ce3565b611a5c565b348015610b9e575f80fd5b506104c2610bad366004613c0f565b611a68565b348015610bbd575f80fd5b5060025461066490600160b81b900461ffff1681565b348015610bde575f80fd5b50610607610bed366004613ca6565b611aa7565b348015610bfd575f80fd5b50610c06611b1d565b6040516104799190613db4565b348015610c1e575f80fd5b506104c2610c2d366004613c0f565b611b29565b348015610c3d575f80fd5b50610607610c4c366004613ce3565b611b3a565b348015610c5c575f80fd5b5060055461097c906001600160801b031681565b348015610c7b575f80fd5b5060025461066490600160c81b900461ffff1681565b348015610c9c575f80fd5b5061046f7f000000000000000000000000000000000000000000000000000000000000000081565b348015610ccf575f80fd5b50610cd8611b87565b6040516104799190613dc6565b348015610cf0575f80fd5b5061046f7f000000000000000000000000000000000000000000000000000000000000000081565b348015610d23575f80fd5b506004546104c290600160f81b900460ff1681565b348015610d43575f80fd5b5061046f7f000000000000000000000000000000000000000000000000000000000000000081565b348015610d76575f80fd5b506104c2610d85366004613ca6565b611b93565b348015610d95575f80fd5b50610607610da4366004613e09565b611b9f565b348015610db4575f80fd5b50610c06611cea565b348015610dc8575f80fd5b5061046f610dd7366004613e29565b611cf6565b348015610de7575f80fd5b506001546001600160a01b03166107a0565b348015610e04575f80fd5b50610607610e13366004613ca6565b611d20565b348015610e23575f80fd5b506104c2610e32366004613ce3565b611d64565b348015610e42575f80fd5b506004546107a0906001600160a01b031681565b348015610e61575f80fd5b50600454610e7c90600160a01b90046001600160581b031681565b6040516001600160581b039091168152602001610479565b348015610e9f575f80fd5b50610607610eae366004613ce3565b611dab565b348015610ebe575f80fd5b5061046f611e37565b348015610ed2575f80fd5b50610607610ee1366004613ce3565b611e58565b348015610ef1575f80fd5b506107a07f000000000000000000000000000000000000000000000000000000000000000081565b348015610f24575f80fd5b50600354610755906001600160781b031681565b348015610f43575f80fd5b506107a07f000000000000000000000000000000000000000000000000000000000000000081565b348015610f76575f80fd5b5061046f611ec8565b348015610f8a575f80fd5b50610607610f99366004613ce3565b611f2e565b5f610fa7611ec8565b600254610fbf9190600160c81b900461ffff16613e74565b905090565b606060068054610fd390613e87565b80601f0160208091040260200160405190810160405280929190818152602001828054610fff90613e87565b801561104a5780601f106110215761010080835404028352916020019161104a565b820191905f5260205f20905b81548152906001019060200180831161102d57829003601f168201915b5050505050905090565b5f33611061818585611f7b565b60019150505b92915050565b5f3361107a858285612018565b61109d85858561108989611d64565b80611098575061109888611d64565b612052565b60019150505b9392505050565b5f806110bd5f546001600160a01b031690565b6001600160a01b031614801561110c5750600254611109907f000000000000000000000000000000000000000000000000000000000000000090600160781b900463ffffffff16613e74565b42115b806111245750600254600160781b900463ffffffff16155b1561112e57505f90565b50600190565b600254600160f81b900460ff161561115657611156636be9b2f760e01b61212c565b6005546001600160801b0316156111a957600580546fffffffffffffffffffffffffffffffff1981169091556004546001600160801b03909116906111a79030906001600160a01b0316835f612052565b505b600554600160801b90046001600160801b03161561120957600580546001600160801b03808216909255600160801b900416611207307f0000000000000000000000000000000000000000000000000000000000000000835f612052565b505b565b611213612134565b6003546001600160f01b90910461ffff16101561123a5761123a636255fd8d60e01b61212c565b6003805461ffff838116600160f01b9081026001600160f01b038416179093556040519290910416907fe4351c45b53ffb7ebad0b66cc0f1a3dfe2963c099421eeaded141104df39206a9061129f908390859091825261ffff16602082015260400190565b60405180910390a15050565b5f336110618185856112bd8383611cf6565b6112c79190613e74565b611f7b565b6005545f906112ed906001600160801b03600160801b820481169116613ebf565b6001600160801b0316905090565b6112073382612155565b61130d612134565b611318600e82612222565b506040516001600160a01b03821681527f59129d668a515d00b1370a4f7946e33e4e37ba79d4a0c38d68053f136f6f40fd906020015b60405180910390a150565b5f6113877f000000000000000000000000000000000000000000000000000000000000000062015180613edf565b6002546113a19190600160781b900463ffffffff16613e74565b4211156113ad57505f90565b50600254600160d81b900461ffff1690565b6113c7612134565b6112095f612236565b60015433906001600160a01b031681146113f3576113f36212b0c560e81b61212c565b61120781612236565b611407823383612018565b6114118282612155565b5050565b61141d612134565b611428600a8261224f565b506040518181527fdd5aeaec2032ed464aed048b9014721d48de827cef3d77f78f0a76f1f0136dd49060200161134e565b600254600160f81b900460ff161561147b5761147b636be9b2f760e01b61212c565b306001600160a01b0383160361149b5761149b63992501b360e01b61212c565b600454611411906001600160a01b0384811691168361225a565b6114bd612134565b60025461ffff600160b81b8204811691600160c81b900481169084168210156114f0576114f0637924ff4760e11b61212c565b8061ffff168361ffff16111561151057611510637924ff4760e11b61212c565b6002805463ffffffff60b81b1916600160b81b61ffff87811691820261ffff60c81b191692909217600160c81b878416021792839055600160d81b8304821692600160e81b9004909116905f03611574576002805461ffff60d81b19169055611636565b5f6127106115a67f000000000000000000000000000000000000000000000000000000000000000061ffff8a16613edf565b6115b09190613ef6565b90507f0000000000000000000000000000000000000000000000000000000000000000811015611619576002805461ffff60d81b1916600160d81b7f000000000000000000000000000000000000000000000000000000000000000061ffff1602179055611634565b6002805461ffff60d81b1916600160d81b61ffff8416021790555b505b8461ffff165f03611654576002805461ffff60e81b19169055611716565b5f6127106116867f000000000000000000000000000000000000000000000000000000000000000061ffff8916613edf565b6116909190613ef6565b90507f00000000000000000000000000000000000000000000000000000000000000008110156116f9576002805461ffff60e81b1916600160e81b7f000000000000000000000000000000000000000000000000000000000000000061ffff1602179055611714565b6002805461ffff60e81b1916600160e81b61ffff8416021790555b505b60025461ffff838116600160d81b90920416141580611745575060025461ffff828116600160e81b9092041614155b156117aa576002546040805161ffff8581168252600160d81b84048116602083015284811682840152600160e81b9093049092166060830152517fc62aec06e6c0bd9801f57464e310b42dd2d884cbfaf006c84a761b622aea4f089181900360800190a15b6040805161ffff86811682528881166020830152858116828401528716606082015290517f8da1f77a22734510b762a9625e69e737d7c0cc48984e810e5802fb341eb80a3e9181900360800190a1505050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316331480159061184357505f546001600160a01b03163314155b801561187857507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163314155b1561188d5761188d630a1c4bd560e41b61212c565b6004545f90600160f81b900460ff161580156118ab57506001821515145b156118c657600480546001600160f81b0316600160f81b1790555b600454600160f81b900460ff16156118f657345f036118ef576118ef633cb00bd760e11b61212c565b503461191a565b34841061190d5761190d633cb00bd760e11b61212c565b6119178434613f15565b90505b600454600160a01b90046001600160581b031683111561195d57600480546affffffffffffffffffffff60a01b1916600160a01b6001600160581b038616021790555b61196781856122ac565b50505050565b606060078054610fd390613e87565b611984612134565b600480546001600160a01b0319166001600160a01b0383169081179091556040519081527fa4eea51cd2f21eac6612ba054a363ae2fd59698fc258ab414313cd73f69f2b859060200161134e565b600254600160f81b900460ff16156119f4576119f4636be9b2f760e01b61212c565b6004546040515f916001600160a01b03169083908381818185875af1925050503d805f8114611a3e576040519150601f19603f3d011682016040523d82523d5f602084013e611a43565b606091505b5050905080611411576114116312171d8360e31b61212c565b5f611067600e836124c5565b5f3381611a758286611cf6565b905083811015611a8f57611a8f637b5591b560e11b61212c565b611a9c8286868403611f7b565b506001949350505050565b600254600160f81b900460ff1615611ac957611ac9636be9b2f760e01b61212c565b5f611ad26112cc565b305f90815260086020526040902054611aeb9190613f15565b905080821115611b0557611b0563339cee2160e01b61212c565b6004546114119030906001600160a01b03168461225a565b6060610fbf600e6124e6565b5f3361106181858561108983611d64565b611b42612134565b611b4d600c826124f2565b506040516001600160a01b03821681527f59c3fbcae88f30e9b0e35c132a7f68c53231dffa4722f197c7ecb0ee013eee609060200161134e565b6060610fbf600a6124e6565b5f611067600a83612506565b611ba7612134565b6001600160781b03811115611bc657611bc66342027b1360e11b61212c565b6001600160781b03821115611be557611be56342027b1360e11b61212c565b6003546001600160781b0380821691600160781b90041681158015611c0957508315155b80611c1c575080158015611c1c57508215155b15611c3157611c3163299e73c360e11b61212c565b8315801590611c3f57508184105b80611c5357508215801590611c5357508083105b15611c6857611c6863299e73c360e11b61212c565b600380546001600160781b03858116600160781b026001600160f01b0319909216908716171790556040517fe3eb5d4eccdae2d96efa105f65c8db865f9fc72984f2b879a27448fed50d181590611cdc90849087908590889093845260208401929092526040830152606082015260800190565b60405180910390a150505050565b6060610fbf600c6124e6565b6001600160a01b039182165f90815260096020908152604080832093909416825291909152205490565b611d28612134565b611d33600a8261251d565b506040518181527ff7d7abaf8b0e82705f2ef671054dd11a306d870da0bbb8be1ff24bd0096de7ba9060200161134e565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031614806110675750611067600c836124c5565b611db3612134565b6001600160a01b038116611dd157611dd163b47cdee560e01b61212c565b806001600160a01b03163b5f03611df257611df2630f9da0c760e41b61212c565b611dfd600c82612222565b506040516001600160a01b03821681527fb893f883ef734b712208a877459424ee509832c57e0461fb1ac99ed4d42f2d899060200161134e565b5f611e40611359565b600254610fbf9190600160b81b900461ffff16613e74565b611e60612134565b600180546001600160a01b0383166001600160a01b03199091168117909155611e905f546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b5f611ef67f000000000000000000000000000000000000000000000000000000000000000062015180613edf565b600254611f109190600160781b900463ffffffff16613e74565b421115611f1c57505f90565b50600254600160e81b900461ffff1690565b611f36612134565b611f41600e826124f2565b506040516001600160a01b03821681527fb2ed7b6d5164de63737cc48d793bf899607480780433a1a2eb2b7b99dec273209060200161134e565b6001600160a01b038316611f9957611f996356fdae6560e11b61212c565b6001600160a01b038216611fb757611fb763b2fa1ef360e01b61212c565b6001600160a01b038381165f8181526009602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b5f6120238484611cf6565b90505f1981146119675781811015612045576120456313be252b60e01b61212c565b6119678484848403611f7b565b5f61205e858585612528565b905061206a85856126a7565b5f61207783868887612780565b9050612084868583612ab1565b9050612091868683612c33565b61209b8483613f15565b6001600160a01b038088165f9081526008602052604080822093909355908716815290812080548392906120d0908490613e74565b92505081905550846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161211c91815260200190565b60405180910390a3505050505050565b805f5260045ffd5b5f546001600160a01b0316331461120957611209633e8be92f60e01b61212c565b6001600160a01b038216612173576121736304fca6bd60e41b61212c565b6001600160a01b0382165f90815260086020526040902054818110156121a3576121a363588569f760e01b61212c565b6001600160a01b0383165f818152600860205260408082208585039055600280546001600160781b03808216889003166effffffffffffffffffffffffffffff19909116179055519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061200b9086815260200190565b505050565b5f6110a3836001600160a01b038416612ceb565b600180546001600160a01b031916905561120781612d37565b5f6110a38383612d86565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261221d908490612e70565b600254600160781b900463ffffffff16156122d1576122d163b1f3376760e01b61212c565b600280544363ffffffff908116600160981b0263ffffffff60981b194292909216600160781b029190911667ffffffffffffffff60781b1990921691909117179055305f908152600860205260409020545f03612338576123386330d86fb160e11b61212c565b612364307f00000000000000000000000000000000000000000000000000000000000000005f19611f7b565b5f805f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f305d71986306123b6306001600160a01b03165f9081526008602052604090205490565b6040516001600160e01b031960e086901b1681526001600160a01b03909216600483015260248201525f6044820181905260648201523060848201524260a482015260c40160606040518083038185885af1158015612417573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061243c9190613f28565b604080518481526020810184905290810182905292955090935091507fbf59dda00152e02f20e18cab7307c8afe0714e7f69cf24a1377cbbddcb40f9bb9060600160405180910390a1600280546001600160f81b03169055600454600160f81b900460ff16156124b4576124af81612ef2565b6124be565b6124be8482612fb1565b5050505050565b6001600160a01b0381165f90815260018301602052604081205415156110a3565b60605f6110a38361322b565b5f6110a3836001600160a01b038416612d86565b5f81815260018301602052604081205415156110a3565b5f6110a38383612ceb565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031614801561257357506001600160a01b0384163014155b801561258c5750600254600160781b900463ffffffff16155b156125a1576125a1630d970b4560e21b61212c565b6001600160a01b0384166125bf576125bf630b07e54560e11b61212c565b6001600160a01b0383166125dd576125dd633a954ecd60e21b61212c565b506001600160a01b0383165f908152600860205260409020548181101561260e5761260e635dd58b8b60e01b61212c565b6126166110aa565b801561262c57506003546001600160781b031615155b801561266f575061263c84611d64565b801561264e575061264c83611a5c565b155b8061266f575061265d83611d64565b801561266f575061266d84611a5c565b155b156110a3576003546001600160781b031664174876e800018083111561269f5761269f635eb9ebe760e11b61212c565b509392505050565b7f000000000000000000000000000000000000000000000000000000000000000015611411575f6126d66112cc565b60035460025491925082915f916127109161270591600160f01b900461ffff16906001600160781b0316613f53565b6001600160781b03166127189190613ef6565b905061272685858484613284565b156124be57600280546001600160f81b0316600160f81b17905561274b601482613edf565b8211156127605761275d601482613edf565b91505b61276a8284613336565b600280546001600160f81b031690555050505050565b807f000000000000000000000000000000000000000000000000000000000000000080156127ab5750845b80156127c15750600254600160f81b900460ff16155b15612aa9575f6127d085611d64565b80156127e257505f6127e0610f9e565b115b156128fe57600254600160c81b900461ffff1615612875576002545f906127109061281890600160c81b900461ffff1686613edf565b6128229190613ef6565b6005805491925082915f906128419084906001600160801b0316613ebf565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555080826128719190613e74565b9150505b5f61287e611ec8565b905080156128f8575f6127106128948387613edf565b61289e9190613ef6565b905080600560108282829054906101000a90046001600160801b03166128c49190613ebf565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555080836128f49190613e74565b9250505b50612a31565b61290784611d64565b801561291957505f612917611e37565b115b15612a3157600254600160b81b900461ffff16156129ac576002545f906127109061294f90600160b81b900461ffff1686613edf565b6129599190613ef6565b6005805491925082915f906129789084906001600160801b0316613ebf565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555080826129a89190613e74565b9150505b5f6129b5611359565b90508015612a2f575f6127106129cb8387613edf565b6129d59190613ef6565b905080600560108282829054906101000a90046001600160801b03166129fb9190613ebf565b92506101000a8154816001600160801b0302191690836001600160801b031602179055508083612a2b9190613e74565b9250505b505b8015612aa757305f9081526008602052604081208054839290612a55908490613e74565b909155505060405181815230906001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3612aa48183613f15565b91505b505b949350505050565b807f000000000000000000000000000000000000000000000000000000000000000015801590612b0057507f000000000000000000000000000000000000000000000000000000000000000015155b8015612b165750600254600160f81b900460ff16155b8015612b265750612b2684611d64565b156110a3576002545f90612b4790600160981b900463ffffffff1643613f15565b90507f000000000000000000000000000000000000000000000000000000000000000081101561269f575f612b9c827f0000000000000000000000000000000000000000000000000000000000000000613f15565b90505f612be97f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000613ef6565b90505f612bf68284613edf565b90505f612710612c06838a613edf565b612c109190613ef6565b9050612c1c8982612155565b612c268187613f15565b9998505050505050505050565b612c3b6110aa565b8015612c585750600354600160781b90046001600160781b031615155b8015612c6a5750612c6882611a5c565b155b8015612c8c5750612c7a83611d64565b8015612c8c5750612c8a82611a5c565b155b1561221d576003546001600160781b03600160781b9091041664174876e8000180612ccb846001600160a01b03165f9081526008602052604090205490565b612cd59084613e74565b111561196757611967633b016a6d60e11b61212c565b5f818152600183016020526040812054612d3057508154600181810184555f848152602080822090930184905584548482528286019093526040902091909155611067565b505f611067565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f8181526001830160205260408120548015612e60575f612da8600183613f15565b85549091505f90612dbb90600190613f15565b9050818114612e1a575f865f018281548110612dd957612dd9613f7e565b905f5260205f200154905080875f018481548110612df957612df9613f7e565b5f918252602080832090910192909255918252600188019052604090208390555b8554869080612e2b57612e2b613f92565b600190038181905f5260205f20015f90559055856001015f8681526020019081526020015f205f905560019350505050611067565b5f915050611067565b5092915050565b5f612eb0826040518060400160405280600981526020016818d85b1b0819985a5b60ba1b815250856001600160a01b0316613a7c9092919063ffffffff16565b905080515f14158015612ed4575080806020019051810190612ed29190613fa6565b155b1561221d576040516308575cad60e01b815260040160405180910390fd5b60405163a9059cbb60e01b81525f6004820152602481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a9059cbb906044016020604051808303815f875af1158015612f5c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612f809190613fa6565b506040518181527f781a9d251db551fc7922f7facbbe49bc3fd61d3e236a8dafa34afd0539ebfa729060200161134e565b60405163095ea7b360e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018390527f0000000000000000000000000000000000000000000000000000000000000000169063095ea7b3906044016020604051808303815f875af115801561303d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906130619190613fa6565b506040516370a0823160e01b81523060048201526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811691638af416f69185917f0000000000000000000000000000000000000000000000000000000000000000918216906370a0823190602401602060405180830381865afa1580156130f2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906131169190613fc1565b60045461313690600160a01b90046001600160581b031662015180613fd8565b613149906001600160581b031642613e74565b60405160e086901b6001600160e01b03191681526001600160a01b039384166004820152602481019290925260448201525f6064820152600160848201527f000000000000000000000000000000000000000000000000000000000000000090911660a482015260c4015f604051808303818588803b1580156131ca575f80fd5b505af11580156131dc573d5f803e3d5ffd5b505060045460408051868152600160a01b9092046001600160581b031660208301527fcb75aa8347c098d414422e8cafbbe4e2c1a229f5b27bf425984b2b9792aa787a945001915061129f9050565b6060815f0180548060200260200160405190810160405280929190818152602001828054801561327857602002820191905f5260205f20905b815481526020019060010190808311613264575b50505050509050919050565b5f81831015801561329f5750600254600160f81b900460ff16155b80156132b157506132af85611d64565b155b80156132ef57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b031614155b801561332d57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316846001600160a01b031614155b95945050505050565b60408051600280825260608201835247925f92919060208301908036833701905050905030815f8151811061336d5761336d613f7e565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156133e9573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061340d9190613ffb565b8160018151811061342057613420613f7e565b6001600160a01b0392831660209182029290920101527f00000000000000000000000000000000000000000000000000000000000000001663791ac947855f843061346d42610258613e74565b6040518663ffffffff1660e01b815260040161348d959493929190614016565b5f604051808303815f87803b1580156134a4575f80fd5b505af19250505080156134b5575060015b6134df57604051600581525f8051602061408d8339815191529060200160405180910390a1611967565b475f6134eb8483613f15565b6005549091505f908690613508906001600160801b031684613edf565b6135129190613ef6565b6005549091505f90879061353690600160801b90046001600160801b031685613edf565b6135409190613ef6565b90508688101561360a576005545f908890613565908b906001600160801b0316613edf565b61356f9190613ef6565b6005805491925082915f9061358e9084906001600160801b0316614051565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555080896135be9190613f15565b600580546010906135e0908490600160801b90046001600160801b0316614051565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505061360f565b5f6005555b5f80808415613824575a61c350116136295761c35061362b565b5a5b6004546040519192506001600160a01b031690829087905f818181858888f193505050503d805f8114613679576040519150601f19603f3d011682016040523d82523d5f602084013e61367e565b606091505b50508093505082613824576001600160a01b03821661371a577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156136f3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906137179190613ffb565b91505b816001600160a01b031663d0e30db0866040518263ffffffff1660e01b81526004015f604051808303818588803b158015613753575f80fd5b505af193505050508015613765575060015b61379057604051600281525f8051602061408d833981519152906020015b60405180910390a1613824565b6004805460405163a9059cbb60e01b81526001600160a01b03918216928101929092526024820187905283169063a9059cbb906044016020604051808303815f875af1925050508015613800575060408051601f3d908101601f191682019092526137fd91810190613fa6565b60015b61382257604051600181525f8051602061408d83398151915290602001613783565b505b8315613a6f575a61c3501161383b5761c35061383d565b5a5b90507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168482906040515f60405180830381858888f193505050503d805f81146138aa576040519150601f19603f3d011682016040523d82523d5f602084013e6138af565b606091505b50508093505082613a6f576001600160a01b03821661394b577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015613924573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906139489190613ffb565b91505b816001600160a01b031663d0e30db0856040518263ffffffff1660e01b81526004015f604051808303818588803b158015613984575f80fd5b505af193505050508015613996575060015b6139c157604051600481525f8051602061408d833981519152906020015b60405180910390a1613a6f565b60405163a9059cbb60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301526024820186905283169063a9059cbb906044016020604051808303815f875af1925050508015613a4b575060408051601f3d908101601f19168201909252613a4891810190613fa6565b60015b613a6d57604051600381525f8051602061408d833981519152906020016139b4565b505b5050505050505050505050565b6060612aa984845f8585613a94565b60405180910390fd5b5f80866001600160a01b03168587604051613aaf9190614071565b5f6040518083038185875af1925050503d805f8114613ae9576040519150601f19603f3d011682016040523d82523d5f602084013e613aee565b606091505b5091509150613aff87838387613b0a565b979650505050505050565b60608315613b785782515f03613b71576001600160a01b0385163b613b715760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401613a8b565b5081612aa9565b612aa98383815115613b8d5781518083602001fd5b8060405162461bcd60e51b8152600401613a8b9190613bc9565b5f5b83811015613bc1578181015183820152602001613ba9565b50505f910152565b602081525f8251806020840152613be7816040850160208701613ba7565b601f01601f19169190910160400192915050565b6001600160a01b0381168114611207575f80fd5b5f8060408385031215613c20575f80fd5b8235613c2b81613bfb565b946020939093013593505050565b5f805f60608486031215613c4b575f80fd5b8335613c5681613bfb565b92506020840135613c6681613bfb565b929592945050506040919091013590565b803561ffff81168114613c88575f80fd5b919050565b5f60208284031215613c9d575f80fd5b6110a382613c77565b5f60208284031215613cb6575f80fd5b5035919050565b6020810160028310613cdd57634e487b7160e01b5f52602160045260245ffd5b91905290565b5f60208284031215613cf3575f80fd5b81356110a381613bfb565b5f8060408385031215613d0f575f80fd5b613d1883613c77565b9150613d2660208401613c77565b90509250929050565b8015158114611207575f80fd5b5f805f60608486031215613d4e575f80fd5b83359250602084013591506040840135613d6781613d2f565b809150509250925092565b5f8151808452602080850194508084015f5b83811015613da95781516001600160a01b031687529582019590820190600101613d84565b509495945050505050565b602081525f6110a36020830184613d72565b602080825282518282018190525f9190848201906040850190845b81811015613dfd57835183529284019291840191600101613de1565b50909695505050505050565b5f8060408385031215613e1a575f80fd5b50508035926020909101359150565b5f8060408385031215613e3a575f80fd5b8235613e4581613bfb565b91506020830135613e5581613bfb565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561106757611067613e60565b600181811c90821680613e9b57607f821691505b602082108103613eb957634e487b7160e01b5f52602260045260245ffd5b50919050565b6001600160801b03818116838216019080821115612e6957612e69613e60565b808202811582820484141761106757611067613e60565b5f82613f1057634e487b7160e01b5f52601260045260245ffd5b500490565b8181038181111561106757611067613e60565b5f805f60608486031215613f3a575f80fd5b8351925060208401519150604084015190509250925092565b6001600160781b03818116838216028082169190828114613f7657613f76613e60565b505092915050565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52603160045260245ffd5b5f60208284031215613fb6575f80fd5b81516110a381613d2f565b5f60208284031215613fd1575f80fd5b5051919050565b6001600160581b03818116838216028082169190828114613f7657613f76613e60565b5f6020828403121561400b575f80fd5b81516110a381613bfb565b85815284602082015260a060408201525f61403460a0830186613d72565b6001600160a01b0394909416606083015250608001529392505050565b6001600160801b03828116828216039080821115612e6957612e69613e60565b5f8251614082818460208701613ba7565b919091019291505056fe60dc41faad9fe4f70f304dcef26d96d71e98ec8e21e4a340921d94dfe46307dca26469706673582212202ee8a3ec75a4e4b15726512977d8a28314946390049f91c04afe833327f9abd264736f6c63430008150033",
              "data": null,
              "creation_block": 0,
              "creation_tx": "",
              "creator_address": "",
              "created_at": "2023-12-08T22:36:21Z",
              "language": "solidity",
              "in_project": false
            },
            "account": {
              "id": "eth:1:0x94c87a7b26980ae7aaa361c5c7e03e632ab36e6c",
              "contract_id": "",
              "balance": "36",
              "network_id": "1",
              "public": true,
              "verification_date": null,
              "address": "0x94c87a7b26980ae7aaa361c5c7e03e632ab36e6c",
              "contract_name": "",
              "ens_domain": null,
              "type": "contract",
              "evm_version": "",
              "compiler_version": "",
              "optimizations_used": false,
              "optimization_runs": 0,
              "libraries": null,
              "compiler_settings": null,
              "deployed_bytecode": "",
              "creation_bytecode": "",
              "data": null,
              "creation_block": 0,
              "creation_tx": "",
              "creator_address": "",
              "created_at": "2023-12-08T22:36:22Z",
              "in_project": false
            },
            "project_id": "dfdc391a-a15d-4590-9aef-8691259c7df4",
            "project": {
              "id": "dfdc391a-a15d-4590-9aef-8691259c7df4",
              "name": "openapi",
              "slug": "openapi",
              "owner_id": "7d5e8b1f-8bf8-4eae-a70f-fb7d354b1cc2",
              "owner": {
                "id": "7d5e8b1f-8bf8-4eae-a70f-fb7d354b1cc2",
                "username": "dzimiks-tenderly",
                "type": "user",
                "stripe_customer_id": "cus_MIGSaZRhv4Onsp",
                "onboarded": true,
                "industry": "Other",
                "intent": "",
                "first_action": ""
              },
              "public": false,
              "high_volume": false,
              "in_transfer": false,
              "is_module": false,
              "created_at": "2023-12-11T13:00:02.756328Z",
              "last_push_at": "2023-12-11T13:56:17.710308Z",
              "number_of_users": 0,
              "options": null
            },
            "added_by_id": "7d5e8b1f-8bf8-4eae-a70f-fb7d354b1cc2",
            "tags": [
              {
                "tag": "v1.0.0",
                "created_at": "2023-12-11T14:14:40.823978Z"
              }
            ],
            "previous_versions": null,
            "details_visible": true,
            "include_in_transaction_listing": true,
            "display_name": "My new contract name",
            "account_type": "contract",
            "verification_type": "",
            "added_at": "2023-12-11T13:56:17.246333Z"
          }
        ]
      },
      "encode-states-payload": {
        "type": "object",
        "properties": {
          "networkID": {
            "title": "networkID",
            "description": "ID of the network.",
            "type": "string",
            "example": "1"
          },
          "stateOverrides": {
            "title": "stateOverrides",
            "description": "Overrides for specific state objects.",
            "type": "object",
            "example": {
              "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48": {
                "value": {
                  "balanceAndBlacklistStates[0xAd4A638e2476C5645c1adF659EA8105FE3C1031e]": "1000"
                }
              }
            }
          },
          "blockNumber": {
            "title": "blockNumber",
            "description": "Number of the block to be used for the encoding states.",
            "type": "string",
            "example": "-1"
          }
        },
        "required": [
          "networkID",
          "stateOverrides"
        ]
      },
      "encode_states_post_response": {
        "type": "object",
        "title": "Encode Contract State Overrides Response",
        "description": "An object with details about state overrides.",
        "example": {}
      },
      "tag-contracts-payload": {
        "type": "object",
        "properties": {
          "tag": {
            "title": "tag",
            "description": "New tag for the smart contracts.",
            "type": "string",
            "example": "v1.0.0"
          },
          "contract_ids": {
            "title": "contract_ids",
            "description": "A list of smart contract IDs to be tagged.",
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "eth:${NETWORK_ID}:${CONTRACT_ADDRESS}"
            ]
          }
        },
        "required": [
          "tag",
          "contract_ids"
        ],
        "example": {
          "tag": "v1.0.0",
          "contract_ids": [
            "eth:${NETWORK_ID}:${CONTRACT_ADDRESS}"
          ]
        }
      },
      "tag_contracts_post_response": {
        "type": "object",
        "title": "Tag Contracts Response",
        "description": "An object with details about tagged contracts.",
        "example": {
          "tag": {
            "tag": "v1.0.0",
            "created_at": "2023-12-11T14:14:40.823977515Z"
          }
        }
      },
      "delete-contract-tag-payload": {
        "type": "object",
        "properties": {
          "tag": {
            "title": "tag",
            "description": "Smart contract tag to be removed.",
            "type": "string",
            "example": "v1.0.0"
          }
        },
        "required": [
          "tag"
        ]
      },
      "rename-contract-payload": {
        "type": "object",
        "properties": {
          "display_name": {
            "title": "display_name",
            "description": "New name of the smart contract.",
            "type": "string",
            "example": "New name"
          }
        },
        "required": [
          "display_name"
        ]
      },
      "add-wallet-payload": {
        "type": "object",
        "properties": {
          "network_ids": {
            "title": "network_ids",
            "description": "A list of the network IDs.",
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "1",
              "43114"
            ]
          },
          "address": {
            "title": "address",
            "description": "A wallet address.",
            "type": "string",
            "example": "0x94C87A7b26980AE7AAA361c5C7e03E632ab36e6C"
          },
          "display_name": {
            "title": "display_name",
            "description": "Optional name of the wallet to be displayed.",
            "type": "string",
            "example": "My new wallet name"
          }
        },
        "required": [
          "network_ids",
          "address"
        ]
      },
      "add_wallet_post_response": {
        "type": "array",
        "items": {},
        "title": "Add Wallets To Project Response",
        "description": "An object with details about added wallets.",
        "example": [
          {
            "id": "eth:1:0xd8da6bf26964af9d7eed9e03e53415d37aa96045",
            "contract": {
              "id": "eth:1:0xd8da6bf26964af9d7eed9e03e53415d37aa96045",
              "contract_id": "",
              "balance": "107221284238907773544",
              "network_id": "1",
              "public": false,
              "verification_date": null,
              "address": "0xd8da6bf26964af9d7eed9e03e53415d37aa96045",
              "contract_name": "",
              "ens_domain": null,
              "type": "wallet",
              "evm_version": "",
              "compiler_version": "",
              "optimizations_used": false,
              "optimization_runs": 0,
              "libraries": null,
              "compiler_settings": null,
              "deployed_bytecode": "",
              "creation_bytecode": "",
              "data": null,
              "creation_block": 0,
              "creation_tx": "",
              "creator_address": "",
              "created_at": "2021-11-26T15:21:53Z",
              "in_project": false
            },
            "account": {
              "id": "eth:1:0xd8da6bf26964af9d7eed9e03e53415d37aa96045",
              "contract_id": "",
              "balance": "107221284238907773544",
              "network_id": "1",
              "public": false,
              "verification_date": null,
              "address": "0xd8da6bf26964af9d7eed9e03e53415d37aa96045",
              "contract_name": "",
              "ens_domain": null,
              "type": "wallet",
              "evm_version": "",
              "compiler_version": "",
              "optimizations_used": false,
              "optimization_runs": 0,
              "libraries": null,
              "compiler_settings": null,
              "deployed_bytecode": "",
              "creation_bytecode": "",
              "data": null,
              "creation_block": 0,
              "creation_tx": "",
              "creator_address": "",
              "created_at": "2021-11-26T15:21:53Z",
              "in_project": false
            },
            "project_id": "dfdc391a-a15d-4590-9aef-8691259c7df4",
            "added_by_id": "7d5e8b1f-8bf8-4eae-a70f-fb7d354b1cc2",
            "previous_versions": null,
            "details_visible": true,
            "include_in_transaction_listing": true,
            "display_name": "Vitalik",
            "account_type": "wallet",
            "verification_type": "",
            "added_at": "2023-12-21T13:52:17.049988181Z"
          },
          {
            "id": "eth:43114:0xd8da6bf26964af9d7eed9e03e53415d37aa96045",
            "contract": {
              "id": "eth:43114:0xd8da6bf26964af9d7eed9e03e53415d37aa96045",
              "contract_id": "",
              "balance": "14796267673655965",
              "network_id": "43114",
              "public": false,
              "verification_date": null,
              "address": "0xd8da6bf26964af9d7eed9e03e53415d37aa96045",
              "contract_name": "",
              "ens_domain": null,
              "type": "wallet",
              "evm_version": "",
              "compiler_version": "",
              "optimizations_used": false,
              "optimization_runs": 0,
              "libraries": null,
              "compiler_settings": null,
              "deployed_bytecode": "",
              "creation_bytecode": "",
              "data": null,
              "creation_block": 0,
              "creation_tx": "",
              "creator_address": "",
              "created_at": "2023-03-16T22:57:31Z",
              "in_project": false
            },
            "account": {
              "id": "eth:43114:0xd8da6bf26964af9d7eed9e03e53415d37aa96045",
              "contract_id": "",
              "balance": "14796267673655965",
              "network_id": "43114",
              "public": false,
              "verification_date": null,
              "address": "0xd8da6bf26964af9d7eed9e03e53415d37aa96045",
              "contract_name": "",
              "ens_domain": null,
              "type": "wallet",
              "evm_version": "",
              "compiler_version": "",
              "optimizations_used": false,
              "optimization_runs": 0,
              "libraries": null,
              "compiler_settings": null,
              "deployed_bytecode": "",
              "creation_bytecode": "",
              "data": null,
              "creation_block": 0,
              "creation_tx": "",
              "creator_address": "",
              "created_at": "2023-03-16T22:57:31Z",
              "in_project": false
            },
            "project_id": "dfdc391a-a15d-4590-9aef-8691259c7df4",
            "added_by_id": "7d5e8b1f-8bf8-4eae-a70f-fb7d354b1cc2",
            "previous_versions": null,
            "details_visible": true,
            "include_in_transaction_listing": true,
            "display_name": "Vitalik",
            "account_type": "wallet",
            "verification_type": "",
            "added_at": "2023-12-21T13:52:17.05090101Z"
          }
        ]
      },
      "wallet_get_response": {
        "type": "object",
        "title": "Get Wallet Response",
        "description": "An object with details about project wallet.",
        "example": {
          "id": "eth:1:0xd8da6bf26964af9d7eed9e03e53415d37aa96045",
          "account": {
            "id": "eth:1:0xd8da6bf26964af9d7eed9e03e53415d37aa96045",
            "contract_id": "",
            "balance": "107221284238907773544",
            "network_id": "1",
            "public": false,
            "verification_date": null,
            "address": "0xd8da6bf26964af9d7eed9e03e53415d37aa96045",
            "contract_name": "",
            "ens_domain": null,
            "type": "wallet",
            "evm_version": "",
            "compiler_version": "",
            "optimizations_used": false,
            "optimization_runs": 0,
            "libraries": null,
            "compiler_settings": null,
            "deployed_bytecode": "",
            "creation_bytecode": "",
            "data": null,
            "creation_block": 0,
            "creation_tx": "",
            "creator_address": "",
            "created_at": "2021-11-26T15:21:53Z",
            "in_project": false
          },
          "project_id": "dfdc391a-a15d-4590-9aef-8691259c7df4",
          "added_by_id": "7d5e8b1f-8bf8-4eae-a70f-fb7d354b1cc2",
          "previous_versions": [],
          "details_visible": true,
          "include_in_transaction_listing": true,
          "display_name": "Vitalik Buterin",
          "account_type": "wallet",
          "verification_type": "",
          "added_at": "2023-12-15T13:48:28.050871Z"
        }
      },
      "state-override": {
        "type": "object",
        "additionalProperties": {
          "type": "object",
          "properties": {
            "nonce": {
              "type": "integer",
              "format": "int64"
            },
            "code": {
              "type": "string",
              "format": "bytes",
              "description": "Bytecode that will override the **code** associated to the given account."
            },
            "balance": {
              "anyOf": [
                {
                  "type": "string",
                  "description": "Balance in hex format (e.g. \"0x113b9aca01\").",
                  "example": "0x113b9aca01"
                },
                {
                  "type": "integer",
                  "description": "Balance as decimal number.",
                  "example": 1.0000001e+25
                }
              ]
            },
            "storage": {
              "type": "object",
              "description": "Overrides of storage slots. In this mapping, the **key** is the variable storage slot, and the **value** contains the override.",
              "additionalProperties": {
                "type": "string"
              }
            }
          }
        }
      },
      "simulation-payload": {
        "type": "object",
        "properties": {
          "network_id": {
            "title": "network_id",
            "description": "ID of the network on which the simulation is being run.",
            "type": "string",
            "example": "1"
          },
          "from": {
            "title": "from",
            "description": "Address initiating the transaction.",
            "type": "string",
            "example": "0x3f41a1cfd3c8b8d9c162de0f42307a0095a6e5df"
          },
          "to": {
            "title": "to",
            "description": "The recipient address of the transaction.",
            "type": "string",
            "example": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57"
          },
          "input": {
            "title": "input",
            "description": "Encoded contract method call data.",
            "type": "string",
            "example": "0xa94e78ef000000000000000000000000000000000000000000000000000000000000002000000000000000000000000068037790a0229e9ce6eaa8a99ea92964106c470300000000000000000000000000000000000000000000010f0cf064dd592000000000000000000000000000000000000000000000000000000000000145dc1b2e00000000000000000000000000000000000000000000000000000001477f4d7d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000000000064d281e65c9438a5a99c4bccb1035296d5d2d8d200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000320000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a73000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000006000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000064db6806000000000000000000000000000000000000000000000000000000000000002b68037790a0229e9ce6eaa8a99ea92964106c47030001f4a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000000000000000000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a730000000000000000000000000000000000000000000000000000000000002710000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000060000000000000000000000001b81d678ffb9c0263b24a97847620c99d213eb14000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000064db6806000000000000000000000000000000000000000000000000000000000000002ba0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000064dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
          },
          "gas": {
            "title": "gas",
            "description": "Amount of gas provided for the simulation.",
            "type": "number",
            "example": 648318
          },
          "block_number": {
            "title": "block_number",
            "description": "Number of the block to be used for the simulation.",
            "type": "number",
            "example": 17884583
          },
          "transaction_index": {
            "title": "transaction_index",
            "description": "Index of the transaction within the block.",
            "type": "number",
            "example": 0
          },
          "gas_price": {
            "title": "gas_price",
            "description": "String representation of a number that represents price of the gas in Wei.",
            "type": "string",
            "example": "18312000018"
          },
          "max_fee_per_gas": {
            "title": "max_fee_per_gas",
            "description": "Maximum fee per gas for EIP-1559 transactions. String representation of a number in Wei.",
            "type": "string",
            "example": "20000000000"
          },
          "max_priority_fee_per_gas": {
            "title": "max_priority_fee_per_gas",
            "description": "Maximum priority fee (tip) per gas for EIP-1559 transactions. String representation of a number in Wei.",
            "type": "string",
            "example": "1000000000"
          },
          "nonce": {
            "title": "nonce",
            "description": "Transaction nonce override. If not specified, the nonce is automatically determined from the sender's current state.",
            "type": "number",
            "example": 0
          },
          "estimate_gas": {
            "title": "estimate_gas",
            "description": "Flag that enables precise gas estimation.",
            "type": "boolean",
            "example": false
          },
          "value": {
            "title": "value",
            "description": "Amount of Ether (in Wei) sent along with the transaction.",
            "type": "string",
            "example": "0"
          },
          "generate_access_list": {
            "title": "generate_access_list",
            "description": "Flag that enables returning the access list in a response.",
            "type": "boolean",
            "example": false
          },
          "access_list": {
            "title": "access_list",
            "description": "List of addresses with their storage keys to grant access for this transaction.",
            "type": "array",
            "items": {},
            "example": [
              {
                "address": "0x3f41a1cfd3c8b8d9c162de0f42307a0095a6e5df",
                "storage_keys": []
              }
            ]
          },
          "save": {
            "title": "save",
            "description": "Flag indicating whether to save the simulation in dashboard UI.",
            "type": "boolean",
            "example": true
          },
          "save_if_fails": {
            "title": "save_if_fails",
            "description": "Flag indicating whether to save failed simulation in dashboard UI.",
            "type": "boolean",
            "example": true
          },
          "simulation_type": {
            "title": "simulation_type",
            "description": "Opt for quick, abi, or full simulation API mode.",
            "type": "string",
            "enum": [
              "full",
              "quick",
              "abi"
            ],
            "example": "full"
          },
          "block_header": {
            "title": "block_header",
            "description": "Overrides for specific block header.",
            "type": "object",
            "example": {
              "number": "0x110ace7",
              "hash": "0x0000000000000000000000000000000000000000000000000000000000000000",
              "stateRoot": "0xef53217576746e2df5a5acb6993b629e548592008c22e5eb0c543ab0e597102f",
              "parentHash": "0x0cf8a2db87cf124e1c8fceffd12c325e07fb51736c7dce9d0f945913616cb40a",
              "sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
              "transactionsRoot": "0xb29cef267cf8e4b1a629f2aaeff8e3b4faf79195efcb63a08e4823070ee85f21",
              "receiptsRoot": "0x9290b9bda89e8bc6173f17fab6b94ef7ffb1d33770e5d0fc9e21039ef936c777",
              "logsBloom": "0x40330cb14709a3aa3021ae29e85c20249ba3bc0c08bf9c7422cf48124a121120853709b6c20d1261603531d2b8b6810feeb920399c23eb1d8601f14e157921f9ac4b55994f4c3e686a0242ae56ea70ed84fb0b04d6ea1eed11e356cd85609fc3bf310367723a6c1b08453ceecc22d8df13f30504822865610bca1197895e7156a9bfd2756614028c1f5cf5e87bd6a43795c61841abc4d01c6475eae29ad813520b0223401451e9a3fe836ad63e967557cc99030243ad151927d4255e93b7391ed6d29882497108c2044092a24cc68291279b70a7f404ba1139210d5e1c25b40beaf2f48cc341d4c38787169830215105c1f014db5b98ccee22a94d3ba0663c1a",
              "timestamp": "0x64d22deb",
              "difficulty": "0x0",
              "gasLimit": "0x1c9c380",
              "gasUsed": "0x1c9b51a",
              "baseFeePerGas": "0x3d5200956",
              "miner": "0xcda9d71bdfae59b89cee131ed3079f8ac4c77062",
              "extraData": "0xd883010c00846765746888676f312e32302e34856c696e7578",
              "mixHash": "0x9096c8da5df4b9bb771f91a81c3bd954d2a9c39c1bf05502877d057b1f76fb04",
              "nonce": "0x0000000000000000",
              "size": "0x0",
              "totalDifficulty": "0x0",
              "transactions": null,
              "uncles": null
            }
          },
          "state_objects": {
            "title": "state_objects",
            "description": "Overrides for a given contract. In this mapping, the **key** is the contract address, and the **value** is an object that contains overrides of nonce, code, balance, or state.",
            "type": "object",
            "$ref": "#/components/schemas/state-override",
            "example": {
              "0xdac17f958d2ee523a2206206994597c13d831ec7": {
                "storage": {
                  "0x0000000000000000000000000000000000000000000000000000000000000000": "0x000000000000000000000000c6cde7c39eb2f0f0095f41570af89efc2c1ea828"
                }
              }
            }
          },
          "l1_block_number": {
            "title": "l1_block_number",
            "description": "The latest L1 block number known to L2. It applies for the Optimism transactions.",
            "type": "number",
            "example": 100004000
          },
          "l1_timestamp": {
            "title": "l1_timestamp",
            "description": "The timestamp of the latest L1 block. It applies for the Optimism transactions.",
            "type": "number",
            "example": 1686124292
          },
          "l1_message_sender": {
            "title": "l1_message_sender",
            "description": "The address of the sender of the latest message from L1 to L2. It applies for the Optimism transactions.",
            "type": "string",
            "example": "0x0000000000000000000000000000000000000000"
          },
          "deposit_tx": {
            "title": "deposit_tx",
            "description": "Indicates if the transaction is a deposit from L1 to L2. It applies for the Optimism Bedrock transactions.",
            "type": "boolean",
            "example": false
          },
          "system_tx": {
            "title": "system_tx",
            "description": "Indicates if the transaction is a system-level operation within L2. It applies for the Optimism Bedrock transactions.",
            "type": "boolean",
            "example": false
          },
          "mint": {
            "title": "mint",
            "description": "The amount of a specific token minted within L2. It applies for the Optimism Bedrock transactions.",
            "type": "number",
            "example": 0
          },
          "amount_to_mint": {
            "title": "amount_to_mint",
            "description": "The desired amount to be minted in the next operation. It applies for the Optimism Bedrock transactions.",
            "type": "string",
            "example": "0"
          }
        },
        "required": [
          "network_id",
          "from",
          "to",
          "input"
        ]
      },
      "full_mode_simulate_post_response": {
        "type": "object",
        "title": "Full Simulation Response",
        "description": "An object with details about transaction simulation using a full mode.",
        "example": {
          "transaction": {
            "hash": "0x8bb054967340f08827e1943ad34e2a448357e72ad1adee7397c577a716530a0f",
            "block_hash": "",
            "block_number": 17884583,
            "from": "0x3f41a1cfd3c8b8d9c162de0f42307a0095a6e5df",
            "gas": 648318,
            "gas_price": 0,
            "gas_fee_cap": 0,
            "gas_tip_cap": 0,
            "cumulative_gas_used": 0,
            "gas_used": 45065,
            "effective_gas_price": 0,
            "input": "0xa94e78ef000000000000000000000000000000000000000000000000000000000000002000000000000000000000000068037790a0229e9ce6eaa8a99ea92964106c470300000000000000000000000000000000000000000000010f0cf064dd592000000000000000000000000000000000000000000000000000000000000145dc1b2e00000000000000000000000000000000000000000000000000000001477f4d7d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000000000064d281e65c9438a5a99c4bccb1035296d5d2d8d200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000320000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a73000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000006000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000064db6806000000000000000000000000000000000000000000000000000000000000002b68037790a0229e9ce6eaa8a99ea92964106c47030001f4a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000000000000000000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a730000000000000000000000000000000000000000000000000000000000002710000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000060000000000000000000000001b81d678ffb9c0263b24a97847620c99d213eb14000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000064db6806000000000000000000000000000000000000000000000000000000000000002ba0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000064dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
            "nonce": 1094,
            "to": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
            "index": 0,
            "value": "0x",
            "access_list": null,
            "status": false,
            "addresses": [
              "0x3f41a1cfd3c8b8d9c162de0f42307a0095a6e5df",
              "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
              "0xbd7b550d2e7571383d84acf597a00d341e5c406e"
            ],
            "contract_ids": [
              "eth:1:0x3f41a1cfd3c8b8d9c162de0f42307a0095a6e5df",
              "eth:1:0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
              "eth:1:0xbd7b550d2e7571383d84acf597a00d341e5c406e"
            ],
            "network_id": "1",
            "timestamp": "2023-08-10T12:48:11Z",
            "function_selector": "",
            "l1_block_number": 0,
            "l1_timestamp": 0,
            "deposit_tx": false,
            "system_tx": false,
            "sig": {
              "v": "0x0",
              "r": "0x0",
              "s": "0x0"
            },
            "transaction_info": {
              "contract_id": "eth:1:0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
              "block_number": 17884583,
              "transaction_id": "0x8bb054967340f08827e1943ad34e2a448357e72ad1adee7397c577a716530a0f",
              "contract_address": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
              "method": "fallback",
              "parameters": null,
              "intrinsic_gas": 32744,
              "refund_gas": 0,
              "call_trace": {
                "hash": "0x8bb054967340f08827e1943ad34e2a448357e72ad1adee7397c577a716530a0f",
                "contract_name": "AugustusSwapper",
                "function_name": "fallback",
                "function_pc": 100,
                "function_op": "JUMPDEST",
                "function_file_index": 0,
                "function_code_start": 47102,
                "function_line_number": 1467,
                "function_code_length": 5950,
                "absolute_position": 28,
                "caller_pc": 0,
                "caller_op": "CALL",
                "call_type": "CALL",
                "address": "0x3f41a1cfd3c8b8d9c162de0f42307a0095a6e5df",
                "from": "0x3f41a1cfd3c8b8d9c162de0f42307a0095a6e5df",
                "from_balance": "50912118197849012",
                "to": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
                "to_balance": "0",
                "value": "0",
                "caller": {
                  "address": "0x3f41a1cfd3c8b8d9c162de0f42307a0095a6e5df",
                  "balance": "50912118197849012"
                },
                "block_timestamp": "0001-01-01T00:00:00Z",
                "gas": 615574,
                "gas_used": 12321,
                "intrinsic_gas": 32744,
                "storage_address": "0x3f41a1cfd3c8b8d9c162de0f42307a0095a6e5df",
                "input": "0xa94e78ef000000000000000000000000000000000000000000000000000000000000002000000000000000000000000068037790a0229e9ce6eaa8a99ea92964106c470300000000000000000000000000000000000000000000010f0cf064dd592000000000000000000000000000000000000000000000000000000000000145dc1b2e00000000000000000000000000000000000000000000000000000001477f4d7d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000000000064d281e65c9438a5a99c4bccb1035296d5d2d8d200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000320000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a73000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000006000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000064db6806000000000000000000000000000000000000000000000000000000000000002b68037790a0229e9ce6eaa8a99ea92964106c47030001f4a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000000000000000000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a730000000000000000000000000000000000000000000000000000000000002710000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000060000000000000000000000001b81d678ffb9c0263b24a97847620c99d213eb14000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000064db6806000000000000000000000000000000000000000000000000000000000000002ba0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000064dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
                "nonce_diff": [
                  {
                    "address": "0x3F41a1CFd3C8B8d9c162dE0f42307a0095A6e5DF",
                    "original": "1094",
                    "dirty": "1095"
                  }
                ],
                "output": "0x",
                "decoded_output": null,
                "error_hex_data": "0x08c379a000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000011446561646c696e65206272656163686564000000000000000000000000000000",
                "network_id": "1",
                "calls": [
                  {
                    "hash": "",
                    "contract_name": "AugustusSwapper",
                    "function_name": "getImplementation",
                    "function_pc": 1627,
                    "function_op": "JUMPDEST",
                    "function_file_index": 0,
                    "function_code_start": 49421,
                    "function_line_number": 1539,
                    "function_code_length": 123,
                    "absolute_position": 59,
                    "caller_pc": 467,
                    "caller_op": "JUMP",
                    "caller_file_index": 0,
                    "caller_line_number": 1497,
                    "caller_code_start": 48052,
                    "caller_code_length": 27,
                    "call_type": "JUMPDEST",
                    "address": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
                    "from": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
                    "from_balance": null,
                    "to": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
                    "to_balance": null,
                    "value": null,
                    "caller": {
                      "address": "0x3f41a1cfd3c8b8d9c162de0f42307a0095a6e5df",
                      "balance": "50912118197849012"
                    },
                    "block_timestamp": "0001-01-01T00:00:00Z",
                    "gas": 615338,
                    "gas_used": 2202,
                    "storage_address": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
                    "input": "0x",
                    "decoded_input": [
                      {
                        "soltype": {
                          "name": "selector",
                          "type": "bytes4",
                          "storage_location": "default",
                          "offset": 0,
                          "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                          "indexed": false,
                          "simple_type": {
                            "type": "bytes"
                          }
                        },
                        "value": "0xa94e78ef"
                      }
                    ],
                    "output": "0x",
                    "decoded_output": [
                      {
                        "soltype": {
                          "name": "",
                          "type": "address",
                          "storage_location": "default",
                          "offset": 0,
                          "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                          "indexed": false,
                          "simple_type": {
                            "type": "address"
                          }
                        },
                        "value": "0xbd7b550d2e7571383d84acf597a00d341e5c406e"
                      }
                    ],
                    "network_id": "",
                    "calls": null
                  },
                  {
                    "hash": "",
                    "contract_name": "AugustusSwapper",
                    "function_name": "multiSwap",
                    "function_pc": 2546,
                    "function_op": "JUMPDEST",
                    "function_file_index": 14,
                    "function_code_start": 1200,
                    "function_line_number": 43,
                    "function_code_length": 2514,
                    "absolute_position": 2044,
                    "caller_pc": 736,
                    "caller_op": "DELEGATECALL",
                    "caller_file_index": 0,
                    "caller_line_number": 1508,
                    "caller_code_start": 48425,
                    "caller_code_length": 37,
                    "call_type": "DELEGATECALL",
                    "address": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
                    "from": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
                    "from_balance": "0",
                    "to": "0xbd7b550d2e7571383d84acf597a00d341e5c406e",
                    "to_balance": "0",
                    "value": null,
                    "caller": {
                      "address": "0x3f41a1cfd3c8b8d9c162de0f42307a0095a6e5df",
                      "balance": "50912118197849012"
                    },
                    "block_timestamp": "0001-01-01T00:00:00Z",
                    "gas": 600460,
                    "gas_used": 6554,
                    "refund_gas": 9531,
                    "storage_address": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
                    "input": "0xa94e78ef000000000000000000000000000000000000000000000000000000000000002000000000000000000000000068037790a0229e9ce6eaa8a99ea92964106c470300000000000000000000000000000000000000000000010f0cf064dd592000000000000000000000000000000000000000000000000000000000000145dc1b2e00000000000000000000000000000000000000000000000000000001477f4d7d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000000000064d281e65c9438a5a99c4bccb1035296d5d2d8d200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000320000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a73000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000006000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000064db6806000000000000000000000000000000000000000000000000000000000000002b68037790a0229e9ce6eaa8a99ea92964106c47030001f4a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000000000000000000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a730000000000000000000000000000000000000000000000000000000000002710000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000060000000000000000000000001b81d678ffb9c0263b24a97847620c99d213eb14000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000064db6806000000000000000000000000000000000000000000000000000000000000002ba0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000064dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
                    "decoded_input": [
                      {
                        "soltype": {
                          "name": "data",
                          "type": "tuple",
                          "storage_location": "default",
                          "components": [
                            {
                              "name": "fromToken",
                              "type": "address",
                              "storage_location": "default",
                              "offset": 0,
                              "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                              "indexed": false,
                              "simple_type": {
                                "type": "address"
                              }
                            },
                            {
                              "name": "fromAmount",
                              "type": "uint256",
                              "storage_location": "default",
                              "offset": 0,
                              "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                              "indexed": false,
                              "simple_type": {
                                "type": "uint"
                              }
                            },
                            {
                              "name": "toAmount",
                              "type": "uint256",
                              "storage_location": "default",
                              "offset": 0,
                              "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                              "indexed": false,
                              "simple_type": {
                                "type": "uint"
                              }
                            },
                            {
                              "name": "expectedAmount",
                              "type": "uint256",
                              "storage_location": "default",
                              "offset": 0,
                              "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                              "indexed": false,
                              "simple_type": {
                                "type": "uint"
                              }
                            },
                            {
                              "name": "beneficiary",
                              "type": "address",
                              "storage_location": "default",
                              "offset": 0,
                              "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                              "indexed": false,
                              "simple_type": {
                                "type": "address"
                              }
                            },
                            {
                              "name": "path",
                              "type": "tuple[]",
                              "storage_location": "default",
                              "components": [
                                {
                                  "name": "to",
                                  "type": "address",
                                  "storage_location": "default",
                                  "offset": 0,
                                  "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                  "indexed": false,
                                  "simple_type": {
                                    "type": "address"
                                  }
                                },
                                {
                                  "name": "totalNetworkFee",
                                  "type": "uint256",
                                  "storage_location": "default",
                                  "offset": 0,
                                  "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                  "indexed": false,
                                  "simple_type": {
                                    "type": "uint"
                                  }
                                },
                                {
                                  "name": "adapters",
                                  "type": "tuple[]",
                                  "storage_location": "default",
                                  "components": [
                                    {
                                      "name": "adapter",
                                      "type": "address",
                                      "storage_location": "default",
                                      "offset": 0,
                                      "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                      "indexed": false,
                                      "simple_type": {
                                        "type": "address"
                                      }
                                    },
                                    {
                                      "name": "percent",
                                      "type": "uint256",
                                      "storage_location": "default",
                                      "offset": 0,
                                      "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                      "indexed": false,
                                      "simple_type": {
                                        "type": "uint"
                                      }
                                    },
                                    {
                                      "name": "networkFee",
                                      "type": "uint256",
                                      "storage_location": "default",
                                      "offset": 0,
                                      "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                      "indexed": false,
                                      "simple_type": {
                                        "type": "uint"
                                      }
                                    },
                                    {
                                      "name": "route",
                                      "type": "tuple[]",
                                      "storage_location": "default",
                                      "components": [
                                        {
                                          "name": "index",
                                          "type": "uint256",
                                          "storage_location": "default",
                                          "offset": 0,
                                          "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                          "indexed": false,
                                          "simple_type": {
                                            "type": "uint"
                                          }
                                        },
                                        {
                                          "name": "targetExchange",
                                          "type": "address",
                                          "storage_location": "default",
                                          "offset": 0,
                                          "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                          "indexed": false,
                                          "simple_type": {
                                            "type": "address"
                                          }
                                        },
                                        {
                                          "name": "percent",
                                          "type": "uint256",
                                          "storage_location": "default",
                                          "offset": 0,
                                          "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                          "indexed": false,
                                          "simple_type": {
                                            "type": "uint"
                                          }
                                        },
                                        {
                                          "name": "payload",
                                          "type": "bytes",
                                          "storage_location": "default",
                                          "offset": 0,
                                          "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                          "indexed": false,
                                          "simple_type": {
                                            "type": "bytes"
                                          }
                                        },
                                        {
                                          "name": "networkFee",
                                          "type": "uint256",
                                          "storage_location": "default",
                                          "offset": 0,
                                          "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                          "indexed": false,
                                          "simple_type": {
                                            "type": "uint"
                                          }
                                        }
                                      ],
                                      "offset": 0,
                                      "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                      "indexed": false,
                                      "simple_type": {
                                        "type": "slice"
                                      }
                                    }
                                  ],
                                  "offset": 0,
                                  "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                  "indexed": false,
                                  "simple_type": {
                                    "type": "slice"
                                  }
                                }
                              ],
                              "offset": 0,
                              "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                              "indexed": false,
                              "simple_type": {
                                "type": "slice"
                              }
                            },
                            {
                              "name": "partner",
                              "type": "address",
                              "storage_location": "default",
                              "offset": 0,
                              "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                              "indexed": false,
                              "simple_type": {
                                "type": "address"
                              }
                            },
                            {
                              "name": "feePercent",
                              "type": "uint256",
                              "storage_location": "default",
                              "offset": 0,
                              "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                              "indexed": false,
                              "simple_type": {
                                "type": "uint"
                              }
                            },
                            {
                              "name": "permit",
                              "type": "bytes",
                              "storage_location": "default",
                              "offset": 0,
                              "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                              "indexed": false,
                              "simple_type": {
                                "type": "bytes"
                              }
                            },
                            {
                              "name": "deadline",
                              "type": "uint256",
                              "storage_location": "default",
                              "offset": 0,
                              "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                              "indexed": false,
                              "simple_type": {
                                "type": "uint"
                              }
                            },
                            {
                              "name": "uuid",
                              "type": "bytes16",
                              "storage_location": "default",
                              "offset": 0,
                              "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                              "indexed": false,
                              "simple_type": {
                                "type": "bytes"
                              }
                            }
                          ],
                          "offset": 0,
                          "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                          "indexed": false
                        },
                        "value": {
                          "fromToken": "0x68037790a0229e9ce6eaa8a99ea92964106c4703",
                          "fromAmount": "5000000000000000000000",
                          "toAmount": "5467020078",
                          "expectedAmount": "5494492541",
                          "beneficiary": "0x0000000000000000000000000000000000000000",
                          "path": [
                            {
                              "to": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
                              "totalNetworkFee": "0",
                              "adapters": [
                                {
                                  "adapter": "0x9be264469ef954c139da4a45cf76cbcc5e3a6a73",
                                  "percent": "10000",
                                  "networkFee": "0",
                                  "route": [
                                    {
                                      "index": "6",
                                      "targetExchange": "0xe592427a0aece92de3edee1f18e0157c05861564",
                                      "percent": "10000",
                                      "payload": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000064db6806000000000000000000000000000000000000000000000000000000000000002b68037790a0229e9ce6eaa8a99ea92964106c47030001f4a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000000000000000",
                                      "networkFee": "0"
                                    }
                                  ]
                                }
                              ]
                            },
                            {
                              "to": "0xdac17f958d2ee523a2206206994597c13d831ec7",
                              "totalNetworkFee": "0",
                              "adapters": [
                                {
                                  "adapter": "0x9be264469ef954c139da4a45cf76cbcc5e3a6a73",
                                  "percent": "10000",
                                  "networkFee": "0",
                                  "route": [
                                    {
                                      "index": "6",
                                      "targetExchange": "0x1b81d678ffb9c0263b24a97847620c99d213eb14",
                                      "percent": "10000",
                                      "payload": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000064db6806000000000000000000000000000000000000000000000000000000000000002ba0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000064dac17f958d2ee523a2206206994597c13d831ec7000000000000000000000000000000000000000000",
                                      "networkFee": "0"
                                    }
                                  ]
                                }
                              ]
                            }
                          ],
                          "partner": "0x0000000000000000000000000000000000000000",
                          "feePercent": "452312848583266388373324160190187140051835877600158453279131187530910679040",
                          "permit": "0x",
                          "deadline": "1691517414",
                          "uuid": "0x5c9438a5a99c4bccb1035296d5d2d8d2"
                        }
                      }
                    ],
                    "output": "0x",
                    "decoded_output": null,
                    "error_absolute_position": 2043,
                    "error": "execution reverted",
                    "error_op": "REVERT",
                    "error_file_index": 14,
                    "error_line_number": 44,
                    "error_code_start": 1290,
                    "error_code_length": 62,
                    "error_reason": "Deadline breached",
                    "network_id": "",
                    "calls": [
                      {
                        "hash": "",
                        "contract_name": "AugustusSwapper",
                        "function_name": "multiSwap",
                        "function_pc": 0,
                        "function_op": "",
                        "absolute_position": 2043,
                        "caller_pc": 0,
                        "caller_op": "",
                        "address": "0xbd7b550d2e7571383d84acf597a00d341e5c406e",
                        "from": "0xbd7b550d2e7571383d84acf597a00d341e5c406e",
                        "from_balance": null,
                        "to": "0xbd7b550d2e7571383d84acf597a00d341e5c406e",
                        "to_balance": null,
                        "value": null,
                        "block_timestamp": "0001-01-01T00:00:00Z",
                        "gas": 0,
                        "gas_used": 0,
                        "input": "0x",
                        "output": "0x",
                        "decoded_output": null,
                        "error": "execution reverted",
                        "error_op": "REVERT",
                        "error_file_index": 14,
                        "error_line_number": 44,
                        "error_code_start": 1290,
                        "error_code_length": 62,
                        "network_id": "",
                        "calls": null
                      }
                    ]
                  },
                  {
                    "hash": "",
                    "contract_name": "AugustusSwapper",
                    "function_name": "_revertWithData",
                    "function_pc": 1705,
                    "function_op": "JUMPDEST",
                    "function_file_index": 0,
                    "function_code_start": 52803,
                    "function_line_number": 1640,
                    "function_code_length": 120,
                    "absolute_position": 2092,
                    "caller_pc": 806,
                    "caller_op": "JUMP",
                    "caller_file_index": 0,
                    "caller_line_number": 1510,
                    "caller_code_start": 48500,
                    "caller_code_length": 27,
                    "call_type": "JUMPDEST",
                    "address": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
                    "from": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
                    "from_balance": null,
                    "to": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
                    "to_balance": null,
                    "value": null,
                    "caller": {
                      "address": "0x3f41a1cfd3c8b8d9c162de0f42307a0095a6e5df",
                      "balance": "50912118197849012"
                    },
                    "block_timestamp": "0001-01-01T00:00:00Z",
                    "gas": 603269,
                    "gas_used": 603269,
                    "storage_address": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
                    "input": "0x",
                    "decoded_input": [
                      {
                        "soltype": {
                          "name": "data",
                          "type": "bytes",
                          "storage_location": "memory",
                          "offset": 0,
                          "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                          "indexed": false,
                          "simple_type": {
                            "type": "bytes"
                          }
                        },
                        "value": "0x08c379a000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000011446561646c696e65206272656163686564000000000000000000000000000000"
                      }
                    ],
                    "output": "0x",
                    "decoded_output": null,
                    "error_absolute_position": 2098,
                    "error": "execution reverted",
                    "error_op": "REVERT",
                    "error_file_index": 0,
                    "error_line_number": 1641,
                    "error_code_start": 52881,
                    "error_code_length": 34,
                    "network_id": "",
                    "calls": [
                      {
                        "hash": "",
                        "contract_name": "AugustusSwapper",
                        "function_name": "_revertWithData",
                        "function_pc": 0,
                        "function_op": "",
                        "absolute_position": 2098,
                        "caller_pc": 0,
                        "caller_op": "",
                        "address": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
                        "from": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
                        "from_balance": null,
                        "to": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
                        "to_balance": null,
                        "value": null,
                        "block_timestamp": "0001-01-01T00:00:00Z",
                        "gas": 0,
                        "gas_used": 0,
                        "input": "0x",
                        "output": "0x",
                        "decoded_output": null,
                        "error": "execution reverted",
                        "error_op": "REVERT",
                        "error_file_index": 0,
                        "error_line_number": 1641,
                        "error_code_start": 52881,
                        "error_code_length": 34,
                        "network_id": "",
                        "calls": null
                      }
                    ]
                  }
                ]
              },
              "stack_trace": [
                {
                  "file_index": 0,
                  "contract": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
                  "name": "AugustusSwapper",
                  "line": 1641,
                  "error": "execution reverted",
                  "code": "_revertWithData",
                  "op": "REVERT",
                  "length": 34
                },
                {
                  "file_index": 0,
                  "contract": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
                  "name": "AugustusSwapper",
                  "line": 1510,
                  "error": null,
                  "code": "_revertWithData",
                  "op": "JUMP",
                  "length": 27
                },
                {
                  "file_index": 0,
                  "contract": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
                  "name": "AugustusSwapper",
                  "line": 1467,
                  "error": null,
                  "code": "fallback",
                  "op": "JUMPDEST",
                  "length": 5950
                }
              ],
              "logs": null,
              "balance_diff": null,
              "nonce_diff": [
                {
                  "address": "0x3F41a1CFd3C8B8d9c162dE0f42307a0095A6e5DF",
                  "original": "1094",
                  "dirty": "1095"
                }
              ],
              "state_diff": null,
              "raw_state_diff": null,
              "console_logs": null,
              "asset_changes": null,
              "balance_changes": [],
              "created_at": "2023-08-10T12:48:11Z"
            },
            "error_message": "Deadline breached",
            "error_info": {
              "error_message": "Deadline breached",
              "address": "0xbd7b550d2e7571383d84acf597a00d341e5c406e"
            },
            "method": "",
            "decoded_input": null,
            "call_trace": [
              {
                "call_type": "CALL",
                "from": "0x3f41a1cfd3c8b8d9c162de0f42307a0095a6e5df",
                "to": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
                "gas": 615574,
                "gas_used": 12321,
                "address": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
                "error": "value:\"execution reverted\"",
                "subtraces": 1,
                "input": "0xa94e78ef000000000000000000000000000000000000000000000000000000000000002000000000000000000000000068037790a0229e9ce6eaa8a99ea92964106c470300000000000000000000000000000000000000000000010f0cf064dd592000000000000000000000000000000000000000000000000000000000000145dc1b2e00000000000000000000000000000000000000000000000000000001477f4d7d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000000000064d281e65c9438a5a99c4bccb1035296d5d2d8d200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000320000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a73000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000006000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000064db6806000000000000000000000000000000000000000000000000000000000000002b68037790a0229e9ce6eaa8a99ea92964106c47030001f4a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000000000000000000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a730000000000000000000000000000000000000000000000000000000000002710000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000060000000000000000000000001b81d678ffb9c0263b24a97847620c99d213eb14000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000064db6806000000000000000000000000000000000000000000000000000000000000002ba0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000064dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
                "output": "0x08c379a000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000011446561646c696e65206272656163686564000000000000000000000000000000",
                "errorMessage": "value:\"Deadline breached\"",
                "fromBalance": "0xb4e04d3ff20bb4"
              },
              {
                "call_type": "DELEGATECALL",
                "from": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
                "to": "0xbd7b550d2e7571383d84acf597a00d341e5c406e",
                "gas": 600460,
                "gas_used": 6554,
                "address": "0xbd7b550d2e7571383d84acf597a00d341e5c406e",
                "error": "value:\"execution reverted\"",
                "trace_address": [
                  0
                ],
                "input": "0xa94e78ef000000000000000000000000000000000000000000000000000000000000002000000000000000000000000068037790a0229e9ce6eaa8a99ea92964106c470300000000000000000000000000000000000000000000010f0cf064dd592000000000000000000000000000000000000000000000000000000000000145dc1b2e00000000000000000000000000000000000000000000000000000001477f4d7d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000000000064d281e65c9438a5a99c4bccb1035296d5d2d8d200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000320000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a73000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000006000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000064db6806000000000000000000000000000000000000000000000000000000000000002b68037790a0229e9ce6eaa8a99ea92964106c47030001f4a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000000000000000000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a730000000000000000000000000000000000000000000000000000000000002710000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000060000000000000000000000001b81d678ffb9c0263b24a97847620c99d213eb14000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000064db6806000000000000000000000000000000000000000000000000000000000000002ba0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000064dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
                "output": "0x08c379a000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000011446561646c696e65206272656163686564000000000000000000000000000000",
                "gas_in": 612591,
                "gas_cost": 603060,
                "errorMessage": "value:\"Deadline breached\""
              }
            ]
          },
          "simulation": {
            "id": "1c08db12-8f6b-4377-95ef-2c0b99298de8",
            "project_id": "dfdc391a-a15d-4590-9aef-8691259c7df4",
            "owner_id": "7d5e8b1f-8bf8-4eae-a70f-fb7d354b1cc2",
            "network_id": "1",
            "block_number": 17884583,
            "transaction_index": 0,
            "from": "0x3f41a1cfd3c8b8d9c162de0f42307a0095a6e5df",
            "to": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
            "input": "0xa94e78ef000000000000000000000000000000000000000000000000000000000000002000000000000000000000000068037790a0229e9ce6eaa8a99ea92964106c470300000000000000000000000000000000000000000000010f0cf064dd592000000000000000000000000000000000000000000000000000000000000145dc1b2e00000000000000000000000000000000000000000000000000000001477f4d7d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000000000064d281e65c9438a5a99c4bccb1035296d5d2d8d200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000320000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a73000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000006000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000064db6806000000000000000000000000000000000000000000000000000000000000002b68037790a0229e9ce6eaa8a99ea92964106c47030001f4a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000000000000000000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a730000000000000000000000000000000000000000000000000000000000002710000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000060000000000000000000000001b81d678ffb9c0263b24a97847620c99d213eb14000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000064db6806000000000000000000000000000000000000000000000000000000000000002ba0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000064dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
            "gas": 648318,
            "gas_price": "0",
            "gas_used": 45065,
            "value": "0",
            "method": "multiSwap",
            "status": false,
            "access_list": null,
            "queue_origin": "",
            "block_header": {
              "number": "0x110e5a7",
              "hash": "0x0000000000000000000000000000000000000000000000000000000000000000",
              "stateRoot": "0x5aedfee941729c66fab3bc35cc00a8687d4c8f177e800565fa3895fee02a8d12",
              "parentHash": "0x9075514cb7db4dc5c7f25b7b53bdee3ea51b3088eb94a5551668f49d5fd7bdc9",
              "sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
              "transactionsRoot": "0x3f3e3bac2d1a65adabe655196f48341105a8c21600b5d1dcd0f95ad6baf91d11",
              "receiptsRoot": "0xb129fa08d3abb39c49b4e65f1edf7efc0d3d5ddf6b84ff802b43eb2b29e9b046",
              "logsBloom": "0x74717005272adbead19e3886a21a471915102405ca59280ca44b9062f41101c5e441130e920943f04203fb604087c1b12293878b8c5b381213d09c35c12cc09046c0e4af0174382b7952554bf1f820ec0ff34a2c0560597035187563c6e023501ac2c8a2129384ab01a13c0015b43cdd7a0b03c200148d6d57861cb000a810560e11925caa60b13b60f5614117b606c68907e5859bc0903c643127dbc5900e2c831408093b4a209b1e40cec85cf20d07a4919a40b539994611a185ab00280022f39a08d67104014a096fa60a493a80da0f6e8a22412fb0ba6884429e1033a31cd8bce468d10c7d8a82663785a120c4408b2112604a101a5fa8891290302b970d",
              "timestamp": "0x64d4dc8b",
              "difficulty": "0x0",
              "gasLimit": "0x1c9c380",
              "gasUsed": "0x9d2881",
              "miner": "0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5",
              "extraData": "0x6265617665726275696c642e6f7267",
              "mixHash": "0xcd3023878e91294b673f69b51e3ed64e814f6caabb795a93caadb34cc39a8ff3",
              "nonce": "0x0000000000000000",
              "baseFeePerGas": "0x4d0b44e27",
              "size": "0x0",
              "totalDifficulty": "0x0",
              "uncles": null,
              "transactions": null
            },
            "deposit_tx": false,
            "system_tx": false,
            "error_message": "Deadline breached",
            "nonce": 1094,
            "addresses": [
              "0x3f41a1cfd3c8b8d9c162de0f42307a0095a6e5df",
              "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
              "0xbd7b550d2e7571383d84acf597a00d341e5c406e"
            ],
            "contract_ids": [
              "eth:1:0x3f41a1cfd3c8b8d9c162de0f42307a0095a6e5df",
              "eth:1:0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
              "eth:1:0xbd7b550d2e7571383d84acf597a00d341e5c406e"
            ],
            "shared": false,
            "created_at": "2023-12-20T14:03:57.3212051Z"
          },
          "contracts": [
            {
              "id": "eth:1:0xbd7b550d2e7571383d84acf597a00d341e5c406e",
              "contract_id": "eth:1:0xbd7b550d2e7571383d84acf597a00d341e5c406e",
              "balance": "",
              "network_id": "1",
              "public": true,
              "verified_by": "etherscan",
              "verification_date": "2023-06-13T17:26:37Z",
              "address": "0xbd7b550d2e7571383d84acf597a00d341e5c406e",
              "contract_name": "MultiPath",
              "ens_domain": null,
              "type": "contract",
              "evm_version": "",
              "compiler_version": "v0.7.5+commit.eb77ed08",
              "optimizations_used": false,
              "optimization_runs": 0,
              "libraries": null,
              "compiler_settings": {},
              "deployed_bytecode": "0x6080604052600436106100c75760003560e01c806381cbd3ea11610074578063c25ff0261161004e578063c25ff026146101b3578063d555d4f9146101c8578063d830a05b146101dd576100c7565b806381cbd3ea1461016957806382678dd61461018b578063a94e78ef146101a0576100c7565b8063439fab91116100a5578063439fab911461011f57806346c67b6d146101415780637a3226ec14610154576100c7565b806312070a41146100cc57806330d643b5146100f7578063353269101461010c575b600080fd5b3480156100d857600080fd5b506100e16101f2565b6040516100ee9190612fb2565b60405180910390f35b34801561010357600080fd5b506100e1610216565b6100e161011a366004612a0e565b61023a565b34801561012b57600080fd5b5061013f61013a3660046129a1565b610560565b005b6100e161014f366004612b44565b610592565b34801561016057600080fd5b506100e161097e565b34801561017557600080fd5b5061017e6109a2565b6040516100ee9190612dff565b34801561019757600080fd5b506100e16109c6565b6100e16101ae366004612c47565b6109f2565b3480156101bf57600080fd5b506100e1610ba3565b3480156101d457600080fd5b506100e1610bc7565b3480156101e957600080fd5b506100e1610beb565b7f000000000000000000000000000000000000000000000000000000000000213481565b7f7a05a596cb0ce7fdea8a1e1ec73be300bdb35097c944ce1897202f7a13122eb281565b6000428261016001511015610284576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027b9061321a565b60405180910390fd5b60208201516060830151610296610c0f565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146102cf5760006102d1565b805b3414610309576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027b90613186565b608084015160c085015160009073ffffffffffffffffffffffffffffffffffffffff161561033b578560c0015161033d565b335b604087015160a0880151610120890151929350909184610389576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027b90613251565b61039987878b6101400151610c27565b60006103b18a6000015189868a8a8f60e00151610cff565b905060006103bf8930611047565b90506103d58b61010001518c6101200151611144565b158015906103e957506103e7836111da565b155b801561040057506103fe8b61012001516111f4565b155b15610427576104178583888e6101000151876111fe565b61042289338361123e565b6104b2565b61043285878461123e565b6104468b61010001518c6101200151611144565b158015906104585750610458836111da565b15610478576104228961046b8a84611345565b838e6101000151876113bc565b836104838983611345565b10156104a7576101008b0151610422908a90866104a08c86611345565b8588611407565b6104b289338361123e565b6104bc8882611345565b97508473ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167f4cc7e95e48af62690313a0733e93308ac9a73326bc3c29f1788b1191c376d5b68e61018001518f610100015188338f8a8d6040516105489796959493929190612f42565b60405180910390a4509750505050505050505b919050565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027b90613118565b60004282610120015110156105d3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027b9061321a565b815160208301516105e2610c0f565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161461061b57600061061d565b805b3414610655576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027b90613186565b60408401516060850151608086015160009073ffffffffffffffffffffffffffffffffffffffff161561068c57866080015161068e565b335b905060608760a0015190506000816000815181106106a857fe5b6020026020010151602001516001836000815181106106c357fe5b6020026020010151602001515103815181106106db57fe5b602002602001015160000151905060008511610723576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027b90613251565b61073387878b6101000151610c27565b6107408960e001516111da565b1561075c5761075987878b60c001518c60e001516114cb565b95505b60005b825160ff168160ff1610156107f55760006107a96127106107a3868560ff168151811061078857fe5b6020026020010151600001518b61151290919063ffffffff16565b90611585565b905060018451038260ff1614156107c7576107c48930611047565b90505b6107ec8982868560ff16815181106107db57fe5b602002602001015160200151611606565b5060010161075f565b5060006108028230611047565b90508581101561083e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027b906131bd565b6108508a60c001518b60e00151611144565b1580159061086857506108668a60e001516111da565b155b801561087e575061087c8a60e001516111f4565b155b1561089d576108988282868d60c001518e60e001516111fe565b6108dc565b84811180156108b657506108b48a60e001516111da565b155b156108d15761089882858c60c0015184898f60e001516119c7565b6108dc82858361123e565b8173ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fe00361d207b252a464323eb23d45d42583e391f2031acdd2e9fa36efddd43cb08d61014001518e60c001518f60e00151338e898e6040516109699796959493929190612f42565b60405180910390a49998505050505050505050565b7f8429d542926e6695b59ac6fbdcd9b37e8b1aeb757afab06ab60b1bb5878c3b4981565b7f000000000000000000000000ef13101c5bbd737cfb2bf00bbd38c626ad6952f781565b60006040516020016109d790612dad565b60405160208183030381529060405280519060200120905090565b6000428261012001511015610a33576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027b9061321a565b81516020830151610a42610c0f565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614610a7b576000610a7d565b805b3414610ab5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027b90613186565b60408401516060850151608086015160009073ffffffffffffffffffffffffffffffffffffffff1615610aec578660800151610aee565b335b905060608760a001519050600081600183510381518110610b0b57fe5b602002602001015160000151905060008511610b53576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027b90613251565b610b6387878b6101000151610c27565b610b708960e001516111da565b15610b8c57610b8987878b60c001518c60e001516114cb565b95505b610b97878784611606565b60006108028230611047565b7f000000000000000000000000000000000000000000000000000000000000271081565b7f000000000000000000000000000000000000000000000000000000000000138881565b7f00000000000000000000000000000000000000000000000000000000000001f481565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee90565b610c2f610c0f565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614610cfa57610c6b8382611a8b565b6000546040517f15dacbea00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116906315dacbea90610cc7908690339030908890600401612e20565b600060405180830381600087803b158015610ce157600080fd5b505af1158015610cf5573d6000803e3d6000fd5b505050505b505050565b6040517f91d1485400000000000000000000000000000000000000000000000000000000815260009030906391d1485490610d60907f8429d542926e6695b59ac6fbdcd9b37e8b1aeb757afab06ab60b1bb5878c3b49908b90600401612fbb565b60206040518083038186803b158015610d7857600080fd5b505afa158015610d8c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610db09190612981565b610de6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027b906130e1565b60005b8251811015610ff357610dfa612468565b838281518110610e0657fe5b60200260200101519050600080610e286001875161134590919063ffffffff16565b841415610e5657610e43610e3c8a30611047565b8890611345565b9050610e4f8a30611047565b9150610e95565b610e736127106107a385604001518b61151290919063ffffffff16565b9150610e926127106107a385604001518a61151290919063ffffffff16565b90505b60008b73ffffffffffffffffffffffffffffffffffffffff166325deee1e60e01b85600001518d8d87878a602001518b60600151604051602401610edf9796959493929190613288565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909416939093179092529051610f689190612d91565b600060405180830381855af49150503d8060008114610fa3576040519150601f19603f3d011682016040523d82523d6000602084013e610fa8565b606091505b5050905080610fe3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027b9061314f565b505060019092019150610de99050565b5060006110008630611047565b90508381101561103c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027b90613016565b979650505050505050565b600073ffffffffffffffffffffffffffffffffffffffff831673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1415611099575073ffffffffffffffffffffffffffffffffffffffff81163161113e565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416906370a08231906110eb908590600401612dff565b60206040518083038186803b15801561110357600080fd5b505afa158015611117573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061113b9190612ce7565b90505b92915050565b600073ffffffffffffffffffffffffffffffffffffffff83166111695750600061113e565b60f882901c8061117b57829150611183565b82613fff1691505b7f00000000000000000000000000000000000000000000000000000000000001f482116111b057816111d2565b7f00000000000000000000000000000000000000000000000000000000000001f45b949350505050565b600060f882901c1580159061113e57505061800016151590565b6201000016151590565b600061120a8383611144565b90506000806112198784611c76565b91509150611234888761122f8a8c8a8888611cd2565b61123e565b5050505050505050565b8015610cfa5773ffffffffffffffffffffffffffffffffffffffff831673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14156113245760008273ffffffffffffffffffffffffffffffffffffffff1682612710906040516112a090612dfc565b600060405180830381858888f193505050503d80600081146112de576040519150601f19603f3d011682016040523d82523d6000602084013e6112e3565b606091505b505090508061131e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027b90612fdf565b50610cfa565b610cfa73ffffffffffffffffffffffffffffffffffffffff84168383611f1b565b6000828211156113b657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60006113c88383611144565b90506000806113d78784611c76565b9092509050856113e78383611fa8565b116113fc576113f98689878585611cd2565b95505b61123488338861123e565b60006114138585611345565b905073ffffffffffffffffffffffffffffffffffffffff8616156114585760008061143e838561201c565b9150915061144f858a8a8585611cd2565b945050506114c0565b600061148a6127106107a3847f0000000000000000000000000000000000000000000000000000000000002710611512565b6001549091506114b290899073ffffffffffffffffffffffffffffffffffffffff168361123e565b6114bc8482611345565b9350505b610cf587338561123e565b6000806114d88484611144565b9050806114e857849150506111d2565b6000806114f58784611c76565b915091506115068789888585611cd2565b98975050505050505050565b6000826115215750600061113e565b8282028284828161152e57fe5b041461113b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806133a26021913960400191505060405180910390fd5b60008082116115f557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b8183816115fe57fe5b049392505050565b6000815111611641576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027b906130aa565b60005b81518110156119c157600080821161165c5784611678565b82600183038151811061166b57fe5b6020026020010151600001515b9050600083838151811061168857fe5b602002602001015160000151905060008084116116a557856116af565b6116af8330611047565b905060005b8585815181106116c057fe5b602002602001015160400151518110156119b1576116dc6124ad565b8686815181106116e857fe5b60200260200101516040015182815181106116ff57fe5b602090810291909101015180516040517f91d1485400000000000000000000000000000000000000000000000000000000815291925030916391d148549161176c917f8429d542926e6695b59ac6fbdcd9b37e8b1aeb757afab06ab60b1bb5878c3b499190600401612fbb565b60206040518083038186803b15801561178457600080fd5b505afa158015611798573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117bc9190612981565b6117f2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027b906130e1565b6000808711801561182d575061182a600189898151811061180f57fe5b6020026020010151604001515161134590919063ffffffff16565b83145b6118535761184e6127106107a384602001518761151290919063ffffffff16565b61185d565b61185d8630611047565b90506000826000015173ffffffffffffffffffffffffffffffffffffffff1663e76b146c60e01b888885600088606001516040516024016118a2959493929190612e57565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090941693909317909252905161192b9190612d91565b600060405180830381855af49150503d8060008114611966576040519150601f19603f3d011682016040523d82523d6000602084013e61196b565b606091505b50509050806119a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027b9061314f565b5050506001016116b4565b5050600190920191506116449050565b50505050565b60006119d38484611345565b905073ffffffffffffffffffffffffffffffffffffffff851615611a18576000806119fe838561201c565b91509150611a0f868a898585611cd2565b95505050611a80565b6000611a4a6127106107a3847f0000000000000000000000000000000000000000000000000000000000002710611512565b600154909150611a7290899073ffffffffffffffffffffffffffffffffffffffff168361123e565b611a7c8582611345565b9450505b610cf587878661123e565b805160e01415611b7f5760008273ffffffffffffffffffffffffffffffffffffffff1663d505accf60e01b83604051602001611ac8929190612d49565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815290829052611b0091612d91565b6000604051808303816000865af19150503d8060008114611b3d576040519150601f19603f3d011682016040523d82523d6000602084013e611b42565b606091505b5050905080611b7d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027b90613073565b505b80516101001415611c725760008273ffffffffffffffffffffffffffffffffffffffff16638fcbaf0c60e01b83604051602001611bbd929190612d49565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815290829052611bf591612d91565b6000604051808303816000865af19150503d8060008114611c32576040519150601f19603f3d011682016040523d82523d6000602084013e611c37565b606091505b5050905080610cfa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027b90613073565b5050565b60008080611c8a6127106107a38787611512565b9050611cbc6127106107a3837f0000000000000000000000000000000000000000000000000000000000002134611512565b9250611cc88184611345565b9150509250929050565b600080611cdf8484611fa8565b905080611cef5786915050611f12565b86811115611d48576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806133c36024913960400191505060405180910390fd5b611d73867f000000000000000000000000ef13101c5bbd737cfb2bf00bbd38c626ad6952f78361123e565b8315611e41577f000000000000000000000000ef13101c5bbd737cfb2bf00bbd38c626ad6952f773ffffffffffffffffffffffffffffffffffffffff1663d1f4354b8688876040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b158015611e2857600080fd5b505af1158015611e3c573d6000803e3d6000fd5b505050505b8215611f0457600154604080517fd1f4354b00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff928316600482015288831660248201526044810186905290517f000000000000000000000000ef13101c5bbd737cfb2bf00bbd38c626ad6952f79092169163d1f4354b9160648082019260009290919082900301818387803b158015611eeb57600080fd5b505af1158015611eff573d6000803e3d6000fd5b505050505b611f0e8782611345565b9150505b95945050505050565b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb00000000000000000000000000000000000000000000000000000000179052610cfa908490612103565b60008282018381101561113b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600080613fff83166127107f0000000000000000000000000000000000000000000000000000000000001388820111156120b757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f496e76616c6964206665652070657263656e7400000000000000000000000000604482015290519081900360640190fd5b6120e76127106107a3877f0000000000000000000000000000000000000000000000000000000000001388611512565b91506120f96127106107a38784611512565b9250509250929050565b6060612165826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166121db9092919063ffffffff16565b805190915015610cfa5780806020019051602081101561218457600080fd5b5051610cfa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001806133e7602a913960400191505060405180910390fd5b60606121ea84846000856121f4565b90505b9392505050565b60608247101561224f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602681526020018061337c6026913960400191505060405180910390fd5b612258856123a4565b6122c357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b600060608673ffffffffffffffffffffffffffffffffffffffff1685876040518082805190602001908083835b6020831061232d57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016122f0565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d806000811461238f576040519150601f19603f3d011682016040523d82523d6000602084013e612394565b606091505b509150915061103c8282866123aa565b3b151590565b606083156123b95750816121ed565b8251156123c95782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561242d578181015183820152602001612415565b50505050905090810190601f16801561245a5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b6040518060a0016040528060008152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016000815260200160608152602001600081525090565b6040518060800160405280600073ffffffffffffffffffffffffffffffffffffffff1681526020016000815260200160008152602001606081525090565b803561055b81613356565b600082601f830112612506578081fd5b81356125196125148261330c565b6132e8565b818152915060208083019084810160005b848110156125c857813587016040807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0838c0301121561256957600080fd5b805181810167ffffffffffffffff828210818311171561258557fe5b8184528488013583529284013592808411156125a057600080fd5b50506125b08b87848601016125d3565b8187015286525050928201929082019060010161252a565b505050505092915050565b600082601f8301126125e3578081fd5b6125f0612514833561330c565b823581529050602080820190830160005b84358110156127cc578135850160607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe082890301121561264057600080fd5b60405180606082011067ffffffffffffffff6060830111171561265f57fe5b606081016040526126736020830135613356565b602082013581526040820135602082015267ffffffffffffffff6060830135111561269d57600080fd5b60608201358201915087603f8301126126b557600080fd5b6126c5612514602084013561330c565b60208381013582528101906040840160005b60208601358110156127ae578135860160807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0828f0301121561271957600080fd5b60405180608082011067ffffffffffffffff6080830111171561273857fe5b6080810160405261274c6040830135613356565b60408201358152606082013560208201526080820135604082015267ffffffffffffffff60a0830135111561278057600080fd5b6127938e604060a08501358501016127d5565b606082015285525060209384019391909101906001016126d7565b50506040830152508452506020928301929190910190600101612601565b50505092915050565b600082601f8301126127e5578081fd5b81356127f36125148261330c565b818152915060208083019084810160005b848110156125c8578135870160a0807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0838c0301121561284357600080fd5b6040805182810167ffffffffffffffff828210818311171561286157fe5b8184528886013583526128758487016124eb565b8984015260609150818601358484015260809350838601358181111561289a57600080fd5b6128a88f8b838a01016128fc565b92840192909252505092909101359082015284529282019290820190600101612804565b80357fffffffffffffffffffffffffffffffff000000000000000000000000000000008116811461055b57600080fd5b600082601f83011261290c578081fd5b813567ffffffffffffffff81111561292057fe5b61295160207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016132e8565b915080825283602082850101111561296857600080fd5b8060208401602084013760009082016020015292915050565b600060208284031215612992578081fd5b8151801515811461113b578182fd5b600080602083850312156129b3578081fd5b823567ffffffffffffffff808211156129ca578283fd5b818501915085601f8301126129dd578283fd5b8135818111156129eb578384fd5b8660208285010111156129fc578384fd5b60209290920196919550909350505050565b600060208284031215612a1f578081fd5b813567ffffffffffffffff80821115612a36578283fd5b81840191506101a0808387031215612a4c578384fd5b612a55816132e8565b9050612a60836124eb565b8152612a6e602084016124eb565b6020820152612a7f604084016124eb565b6040820152606083013560608201526080830135608082015260a083013560a0820152612aae60c084016124eb565b60c082015260e083013582811115612ac4578485fd5b612ad0878286016127d5565b60e083015250610100612ae48185016124eb565b9082015261012083810135908201526101408084013583811115612b06578586fd5b612b12888287016128fc565b828401525050610160915081830135828201526101809150612b358284016128cc565b91810191909152949350505050565b600060208284031215612b55578081fd5b813567ffffffffffffffff80821115612b6c578283fd5b8184019150610160808387031215612b82578384fd5b612b8b816132e8565b9050612b96836124eb565b8152602083013560208201526040830135604082015260608301356060820152612bc2608084016124eb565b608082015260a083013582811115612bd8578485fd5b612be4878286016124f6565b60a083015250612bf660c084016124eb565b60c082015260e083013560e08201526101008084013583811115612c18578586fd5b612c24888287016128fc565b828401525050610120915081830135828201526101409150612b358284016128cc565b600060208284031215612c58578081fd5b813567ffffffffffffffff80821115612c6f578283fd5b8184019150610160808387031215612c85578384fd5b612c8e816132e8565b9050612c99836124eb565b8152602083013560208201526040830135604082015260608301356060820152612cc5608084016124eb565b608082015260a083013582811115612cdb578485fd5b612be4878286016125d3565b600060208284031215612cf8578081fd5b5051919050565b60008151808452612d1781602086016020860161332a565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60007fffffffff00000000000000000000000000000000000000000000000000000000841682528251612d8381600485016020870161332a565b919091016004019392505050565b60008251612da381846020870161332a565b9190910192915050565b7f4d554c5449504154485f524f555445520000000000000000000000000000000081527f312e302e30000000000000000000000000000000000000000000000000000000601082015260150190565b90565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b73ffffffffffffffffffffffffffffffffffffffff9485168152928416602084015292166040820152606081019190915260800190565b600060a080830173ffffffffffffffffffffffffffffffffffffffff808a1685526020818a16818701526040898188015260608981890152608086818a0152858a5180885260c08b01915060c08682028c01019750858c018a5b82811015612f2a577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff408d8b03018452815180518b52898982015116898c015287810151888c0152868101518c888d0152612f0d8d8d0182612cff565b918701519b87019b909b5299509287019290870190600101612eb1565b50505050505050505080925050509695505050505050565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000097909716875273ffffffffffffffffffffffffffffffffffffffff95861660208801526040870194909452919093166060850152608084019290925260a083019190915260c082015260e00190565b90815260200190565b91825273ffffffffffffffffffffffffffffffffffffffff16602082015260400190565b60208082526018908201527f4661696c656420746f207472616e736665722045746865720000000000000000604082015260600190565b60208082526037908201527f526563656976656420616d6f756e74206f6620746f6b656e7320617265206c6560408201527f7373207468656e20657870656374656420746f6b656e73000000000000000000606082015260800190565b6020808252600d908201527f5065726d6974206661696c656400000000000000000000000000000000000000604082015260600190565b6020808252601a908201527f50617468206e6f742070726f766964656420666f722073776170000000000000604082015260600190565b60208082526018908201527f45786368616e6765206e6f742077686974656c69737465640000000000000000604082015260600190565b60208082526016908201527f4d4554484f44204e4f5420494d504c454d454e54454400000000000000000000604082015260600190565b60208082526016908201527f43616c6c20746f2061646170746572206661696c656400000000000000000000604082015260600190565b60208082526013908201527f496e636f7272656374206d73672e76616c756500000000000000000000000000604082015260600190565b60208082526030908201527f526563656976656420616d6f756e74206f6620746f6b656e7320617265206c6560408201527f7373207468656e20657870656374656400000000000000000000000000000000606082015260800190565b60208082526011908201527f446561646c696e65206272656163686564000000000000000000000000000000604082015260600190565b60208082526016908201527f546f20616d6f756e742063616e206e6f74206265203000000000000000000000604082015260600190565b600088825273ffffffffffffffffffffffffffffffffffffffff8089166020840152808816604084015286606084015285608084015280851660a08401525060e060c08301526132db60e0830184612cff565b9998505050505050505050565b60405181810167ffffffffffffffff8111828210171561330457fe5b604052919050565b600067ffffffffffffffff82111561332057fe5b5060209081020190565b60005b8381101561334557818101518382015260200161332d565b838111156119c15750506000910152565b73ffffffffffffffffffffffffffffffffffffffff8116811461337857600080fd5b5056fe416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77496e73756666696369656e742062616c616e636520746f2070617920666f7220666565735361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a164736f6c6343000705000a",
              "creation_bytecode": "0x6101206040523480156200001257600080fd5b506040516200354b3803806200354b83398101604081905262000035916200005e565b60809490945260a09290925260c05260e05260601b6001600160601b03191661010052620000b9565b600080600080600060a0868803121562000076578081fd5b855160208701516040880151606089015160808a0151939850919650945092506001600160a01b0381168114620000ab578182fd5b809150509295509295909350565b60805160a05160c05160e0516101005160601c61341d6200012e600039806109a45280611d4e5280611d7b5280611ea1525080610ba552806114665280611a26525080610bc9528061202952806120c3525080610bed528061118552806111b25250806101f45280611c98525061341d6000f3fe6080604052600436106100c75760003560e01c806381cbd3ea11610074578063c25ff0261161004e578063c25ff026146101b3578063d555d4f9146101c8578063d830a05b146101dd576100c7565b806381cbd3ea1461016957806382678dd61461018b578063a94e78ef146101a0576100c7565b8063439fab91116100a5578063439fab911461011f57806346c67b6d146101415780637a3226ec14610154576100c7565b806312070a41146100cc57806330d643b5146100f7578063353269101461010c575b600080fd5b3480156100d857600080fd5b506100e16101f2565b6040516100ee9190612fb2565b60405180910390f35b34801561010357600080fd5b506100e1610216565b6100e161011a366004612a0e565b61023a565b34801561012b57600080fd5b5061013f61013a3660046129a1565b610560565b005b6100e161014f366004612b44565b610592565b34801561016057600080fd5b506100e161097e565b34801561017557600080fd5b5061017e6109a2565b6040516100ee9190612dff565b34801561019757600080fd5b506100e16109c6565b6100e16101ae366004612c47565b6109f2565b3480156101bf57600080fd5b506100e1610ba3565b3480156101d457600080fd5b506100e1610bc7565b3480156101e957600080fd5b506100e1610beb565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f7a05a596cb0ce7fdea8a1e1ec73be300bdb35097c944ce1897202f7a13122eb281565b6000428261016001511015610284576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027b9061321a565b60405180910390fd5b60208201516060830151610296610c0f565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146102cf5760006102d1565b805b3414610309576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027b90613186565b608084015160c085015160009073ffffffffffffffffffffffffffffffffffffffff161561033b578560c0015161033d565b335b604087015160a0880151610120890151929350909184610389576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027b90613251565b61039987878b6101400151610c27565b60006103b18a6000015189868a8a8f60e00151610cff565b905060006103bf8930611047565b90506103d58b61010001518c6101200151611144565b158015906103e957506103e7836111da565b155b801561040057506103fe8b61012001516111f4565b155b15610427576104178583888e6101000151876111fe565b61042289338361123e565b6104b2565b61043285878461123e565b6104468b61010001518c6101200151611144565b158015906104585750610458836111da565b15610478576104228961046b8a84611345565b838e6101000151876113bc565b836104838983611345565b10156104a7576101008b0151610422908a90866104a08c86611345565b8588611407565b6104b289338361123e565b6104bc8882611345565b97508473ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167f4cc7e95e48af62690313a0733e93308ac9a73326bc3c29f1788b1191c376d5b68e61018001518f610100015188338f8a8d6040516105489796959493929190612f42565b60405180910390a4509750505050505050505b919050565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027b90613118565b60004282610120015110156105d3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027b9061321a565b815160208301516105e2610c0f565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161461061b57600061061d565b805b3414610655576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027b90613186565b60408401516060850151608086015160009073ffffffffffffffffffffffffffffffffffffffff161561068c57866080015161068e565b335b905060608760a0015190506000816000815181106106a857fe5b6020026020010151602001516001836000815181106106c357fe5b6020026020010151602001515103815181106106db57fe5b602002602001015160000151905060008511610723576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027b90613251565b61073387878b6101000151610c27565b6107408960e001516111da565b1561075c5761075987878b60c001518c60e001516114cb565b95505b60005b825160ff168160ff1610156107f55760006107a96127106107a3868560ff168151811061078857fe5b6020026020010151600001518b61151290919063ffffffff16565b90611585565b905060018451038260ff1614156107c7576107c48930611047565b90505b6107ec8982868560ff16815181106107db57fe5b602002602001015160200151611606565b5060010161075f565b5060006108028230611047565b90508581101561083e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027b906131bd565b6108508a60c001518b60e00151611144565b1580159061086857506108668a60e001516111da565b155b801561087e575061087c8a60e001516111f4565b155b1561089d576108988282868d60c001518e60e001516111fe565b6108dc565b84811180156108b657506108b48a60e001516111da565b155b156108d15761089882858c60c0015184898f60e001516119c7565b6108dc82858361123e565b8173ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fe00361d207b252a464323eb23d45d42583e391f2031acdd2e9fa36efddd43cb08d61014001518e60c001518f60e00151338e898e6040516109699796959493929190612f42565b60405180910390a49998505050505050505050565b7f8429d542926e6695b59ac6fbdcd9b37e8b1aeb757afab06ab60b1bb5878c3b4981565b7f000000000000000000000000000000000000000000000000000000000000000081565b60006040516020016109d790612dad565b60405160208183030381529060405280519060200120905090565b6000428261012001511015610a33576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027b9061321a565b81516020830151610a42610c0f565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614610a7b576000610a7d565b805b3414610ab5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027b90613186565b60408401516060850151608086015160009073ffffffffffffffffffffffffffffffffffffffff1615610aec578660800151610aee565b335b905060608760a001519050600081600183510381518110610b0b57fe5b602002602001015160000151905060008511610b53576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027b90613251565b610b6387878b6101000151610c27565b610b708960e001516111da565b15610b8c57610b8987878b60c001518c60e001516114cb565b95505b610b97878784611606565b60006108028230611047565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee90565b610c2f610c0f565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614610cfa57610c6b8382611a8b565b6000546040517f15dacbea00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116906315dacbea90610cc7908690339030908890600401612e20565b600060405180830381600087803b158015610ce157600080fd5b505af1158015610cf5573d6000803e3d6000fd5b505050505b505050565b6040517f91d1485400000000000000000000000000000000000000000000000000000000815260009030906391d1485490610d60907f8429d542926e6695b59ac6fbdcd9b37e8b1aeb757afab06ab60b1bb5878c3b49908b90600401612fbb565b60206040518083038186803b158015610d7857600080fd5b505afa158015610d8c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610db09190612981565b610de6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027b906130e1565b60005b8251811015610ff357610dfa612468565b838281518110610e0657fe5b60200260200101519050600080610e286001875161134590919063ffffffff16565b841415610e5657610e43610e3c8a30611047565b8890611345565b9050610e4f8a30611047565b9150610e95565b610e736127106107a385604001518b61151290919063ffffffff16565b9150610e926127106107a385604001518a61151290919063ffffffff16565b90505b60008b73ffffffffffffffffffffffffffffffffffffffff166325deee1e60e01b85600001518d8d87878a602001518b60600151604051602401610edf9796959493929190613288565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909416939093179092529051610f689190612d91565b600060405180830381855af49150503d8060008114610fa3576040519150601f19603f3d011682016040523d82523d6000602084013e610fa8565b606091505b5050905080610fe3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027b9061314f565b505060019092019150610de99050565b5060006110008630611047565b90508381101561103c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027b90613016565b979650505050505050565b600073ffffffffffffffffffffffffffffffffffffffff831673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1415611099575073ffffffffffffffffffffffffffffffffffffffff81163161113e565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416906370a08231906110eb908590600401612dff565b60206040518083038186803b15801561110357600080fd5b505afa158015611117573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061113b9190612ce7565b90505b92915050565b600073ffffffffffffffffffffffffffffffffffffffff83166111695750600061113e565b60f882901c8061117b57829150611183565b82613fff1691505b7f000000000000000000000000000000000000000000000000000000000000000082116111b057816111d2565b7f00000000000000000000000000000000000000000000000000000000000000005b949350505050565b600060f882901c1580159061113e57505061800016151590565b6201000016151590565b600061120a8383611144565b90506000806112198784611c76565b91509150611234888761122f8a8c8a8888611cd2565b61123e565b5050505050505050565b8015610cfa5773ffffffffffffffffffffffffffffffffffffffff831673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14156113245760008273ffffffffffffffffffffffffffffffffffffffff1682612710906040516112a090612dfc565b600060405180830381858888f193505050503d80600081146112de576040519150601f19603f3d011682016040523d82523d6000602084013e6112e3565b606091505b505090508061131e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027b90612fdf565b50610cfa565b610cfa73ffffffffffffffffffffffffffffffffffffffff84168383611f1b565b6000828211156113b657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60006113c88383611144565b90506000806113d78784611c76565b9092509050856113e78383611fa8565b116113fc576113f98689878585611cd2565b95505b61123488338861123e565b60006114138585611345565b905073ffffffffffffffffffffffffffffffffffffffff8616156114585760008061143e838561201c565b9150915061144f858a8a8585611cd2565b945050506114c0565b600061148a6127106107a3847f0000000000000000000000000000000000000000000000000000000000000000611512565b6001549091506114b290899073ffffffffffffffffffffffffffffffffffffffff168361123e565b6114bc8482611345565b9350505b610cf587338561123e565b6000806114d88484611144565b9050806114e857849150506111d2565b6000806114f58784611c76565b915091506115068789888585611cd2565b98975050505050505050565b6000826115215750600061113e565b8282028284828161152e57fe5b041461113b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806133a26021913960400191505060405180910390fd5b60008082116115f557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b8183816115fe57fe5b049392505050565b6000815111611641576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027b906130aa565b60005b81518110156119c157600080821161165c5784611678565b82600183038151811061166b57fe5b6020026020010151600001515b9050600083838151811061168857fe5b602002602001015160000151905060008084116116a557856116af565b6116af8330611047565b905060005b8585815181106116c057fe5b602002602001015160400151518110156119b1576116dc6124ad565b8686815181106116e857fe5b60200260200101516040015182815181106116ff57fe5b602090810291909101015180516040517f91d1485400000000000000000000000000000000000000000000000000000000815291925030916391d148549161176c917f8429d542926e6695b59ac6fbdcd9b37e8b1aeb757afab06ab60b1bb5878c3b499190600401612fbb565b60206040518083038186803b15801561178457600080fd5b505afa158015611798573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117bc9190612981565b6117f2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027b906130e1565b6000808711801561182d575061182a600189898151811061180f57fe5b6020026020010151604001515161134590919063ffffffff16565b83145b6118535761184e6127106107a384602001518761151290919063ffffffff16565b61185d565b61185d8630611047565b90506000826000015173ffffffffffffffffffffffffffffffffffffffff1663e76b146c60e01b888885600088606001516040516024016118a2959493929190612e57565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090941693909317909252905161192b9190612d91565b600060405180830381855af49150503d8060008114611966576040519150601f19603f3d011682016040523d82523d6000602084013e61196b565b606091505b50509050806119a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027b9061314f565b5050506001016116b4565b5050600190920191506116449050565b50505050565b60006119d38484611345565b905073ffffffffffffffffffffffffffffffffffffffff851615611a18576000806119fe838561201c565b91509150611a0f868a898585611cd2565b95505050611a80565b6000611a4a6127106107a3847f0000000000000000000000000000000000000000000000000000000000000000611512565b600154909150611a7290899073ffffffffffffffffffffffffffffffffffffffff168361123e565b611a7c8582611345565b9450505b610cf587878661123e565b805160e01415611b7f5760008273ffffffffffffffffffffffffffffffffffffffff1663d505accf60e01b83604051602001611ac8929190612d49565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815290829052611b0091612d91565b6000604051808303816000865af19150503d8060008114611b3d576040519150601f19603f3d011682016040523d82523d6000602084013e611b42565b606091505b5050905080611b7d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027b90613073565b505b80516101001415611c725760008273ffffffffffffffffffffffffffffffffffffffff16638fcbaf0c60e01b83604051602001611bbd929190612d49565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815290829052611bf591612d91565b6000604051808303816000865af19150503d8060008114611c32576040519150601f19603f3d011682016040523d82523d6000602084013e611c37565b606091505b5050905080610cfa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027b90613073565b5050565b60008080611c8a6127106107a38787611512565b9050611cbc6127106107a3837f0000000000000000000000000000000000000000000000000000000000000000611512565b9250611cc88184611345565b9150509250929050565b600080611cdf8484611fa8565b905080611cef5786915050611f12565b86811115611d48576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806133c36024913960400191505060405180910390fd5b611d73867f00000000000000000000000000000000000000000000000000000000000000008361123e565b8315611e41577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663d1f4354b8688876040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b158015611e2857600080fd5b505af1158015611e3c573d6000803e3d6000fd5b505050505b8215611f0457600154604080517fd1f4354b00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff928316600482015288831660248201526044810186905290517f00000000000000000000000000000000000000000000000000000000000000009092169163d1f4354b9160648082019260009290919082900301818387803b158015611eeb57600080fd5b505af1158015611eff573d6000803e3d6000fd5b505050505b611f0e8782611345565b9150505b95945050505050565b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb00000000000000000000000000000000000000000000000000000000179052610cfa908490612103565b60008282018381101561113b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600080613fff83166127107f0000000000000000000000000000000000000000000000000000000000000000820111156120b757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f496e76616c6964206665652070657263656e7400000000000000000000000000604482015290519081900360640190fd5b6120e76127106107a3877f0000000000000000000000000000000000000000000000000000000000000000611512565b91506120f96127106107a38784611512565b9250509250929050565b6060612165826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166121db9092919063ffffffff16565b805190915015610cfa5780806020019051602081101561218457600080fd5b5051610cfa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001806133e7602a913960400191505060405180910390fd5b60606121ea84846000856121f4565b90505b9392505050565b60608247101561224f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602681526020018061337c6026913960400191505060405180910390fd5b612258856123a4565b6122c357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b600060608673ffffffffffffffffffffffffffffffffffffffff1685876040518082805190602001908083835b6020831061232d57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016122f0565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d806000811461238f576040519150601f19603f3d011682016040523d82523d6000602084013e612394565b606091505b509150915061103c8282866123aa565b3b151590565b606083156123b95750816121ed565b8251156123c95782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561242d578181015183820152602001612415565b50505050905090810190601f16801561245a5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b6040518060a0016040528060008152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016000815260200160608152602001600081525090565b6040518060800160405280600073ffffffffffffffffffffffffffffffffffffffff1681526020016000815260200160008152602001606081525090565b803561055b81613356565b600082601f830112612506578081fd5b81356125196125148261330c565b6132e8565b818152915060208083019084810160005b848110156125c857813587016040807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0838c0301121561256957600080fd5b805181810167ffffffffffffffff828210818311171561258557fe5b8184528488013583529284013592808411156125a057600080fd5b50506125b08b87848601016125d3565b8187015286525050928201929082019060010161252a565b505050505092915050565b600082601f8301126125e3578081fd5b6125f0612514833561330c565b823581529050602080820190830160005b84358110156127cc578135850160607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe082890301121561264057600080fd5b60405180606082011067ffffffffffffffff6060830111171561265f57fe5b606081016040526126736020830135613356565b602082013581526040820135602082015267ffffffffffffffff6060830135111561269d57600080fd5b60608201358201915087603f8301126126b557600080fd5b6126c5612514602084013561330c565b60208381013582528101906040840160005b60208601358110156127ae578135860160807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0828f0301121561271957600080fd5b60405180608082011067ffffffffffffffff6080830111171561273857fe5b6080810160405261274c6040830135613356565b60408201358152606082013560208201526080820135604082015267ffffffffffffffff60a0830135111561278057600080fd5b6127938e604060a08501358501016127d5565b606082015285525060209384019391909101906001016126d7565b50506040830152508452506020928301929190910190600101612601565b50505092915050565b600082601f8301126127e5578081fd5b81356127f36125148261330c565b818152915060208083019084810160005b848110156125c8578135870160a0807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0838c0301121561284357600080fd5b6040805182810167ffffffffffffffff828210818311171561286157fe5b8184528886013583526128758487016124eb565b8984015260609150818601358484015260809350838601358181111561289a57600080fd5b6128a88f8b838a01016128fc565b92840192909252505092909101359082015284529282019290820190600101612804565b80357fffffffffffffffffffffffffffffffff000000000000000000000000000000008116811461055b57600080fd5b600082601f83011261290c578081fd5b813567ffffffffffffffff81111561292057fe5b61295160207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016132e8565b915080825283602082850101111561296857600080fd5b8060208401602084013760009082016020015292915050565b600060208284031215612992578081fd5b8151801515811461113b578182fd5b600080602083850312156129b3578081fd5b823567ffffffffffffffff808211156129ca578283fd5b818501915085601f8301126129dd578283fd5b8135818111156129eb578384fd5b8660208285010111156129fc578384fd5b60209290920196919550909350505050565b600060208284031215612a1f578081fd5b813567ffffffffffffffff80821115612a36578283fd5b81840191506101a0808387031215612a4c578384fd5b612a55816132e8565b9050612a60836124eb565b8152612a6e602084016124eb565b6020820152612a7f604084016124eb565b6040820152606083013560608201526080830135608082015260a083013560a0820152612aae60c084016124eb565b60c082015260e083013582811115612ac4578485fd5b612ad0878286016127d5565b60e083015250610100612ae48185016124eb565b9082015261012083810135908201526101408084013583811115612b06578586fd5b612b12888287016128fc565b828401525050610160915081830135828201526101809150612b358284016128cc565b91810191909152949350505050565b600060208284031215612b55578081fd5b813567ffffffffffffffff80821115612b6c578283fd5b8184019150610160808387031215612b82578384fd5b612b8b816132e8565b9050612b96836124eb565b8152602083013560208201526040830135604082015260608301356060820152612bc2608084016124eb565b608082015260a083013582811115612bd8578485fd5b612be4878286016124f6565b60a083015250612bf660c084016124eb565b60c082015260e083013560e08201526101008084013583811115612c18578586fd5b612c24888287016128fc565b828401525050610120915081830135828201526101409150612b358284016128cc565b600060208284031215612c58578081fd5b813567ffffffffffffffff80821115612c6f578283fd5b8184019150610160808387031215612c85578384fd5b612c8e816132e8565b9050612c99836124eb565b8152602083013560208201526040830135604082015260608301356060820152612cc5608084016124eb565b608082015260a083013582811115612cdb578485fd5b612be4878286016125d3565b600060208284031215612cf8578081fd5b5051919050565b60008151808452612d1781602086016020860161332a565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60007fffffffff00000000000000000000000000000000000000000000000000000000841682528251612d8381600485016020870161332a565b919091016004019392505050565b60008251612da381846020870161332a565b9190910192915050565b7f4d554c5449504154485f524f555445520000000000000000000000000000000081527f312e302e30000000000000000000000000000000000000000000000000000000601082015260150190565b90565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b73ffffffffffffffffffffffffffffffffffffffff9485168152928416602084015292166040820152606081019190915260800190565b600060a080830173ffffffffffffffffffffffffffffffffffffffff808a1685526020818a16818701526040898188015260608981890152608086818a0152858a5180885260c08b01915060c08682028c01019750858c018a5b82811015612f2a577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff408d8b03018452815180518b52898982015116898c015287810151888c0152868101518c888d0152612f0d8d8d0182612cff565b918701519b87019b909b5299509287019290870190600101612eb1565b50505050505050505080925050509695505050505050565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000097909716875273ffffffffffffffffffffffffffffffffffffffff95861660208801526040870194909452919093166060850152608084019290925260a083019190915260c082015260e00190565b90815260200190565b91825273ffffffffffffffffffffffffffffffffffffffff16602082015260400190565b60208082526018908201527f4661696c656420746f207472616e736665722045746865720000000000000000604082015260600190565b60208082526037908201527f526563656976656420616d6f756e74206f6620746f6b656e7320617265206c6560408201527f7373207468656e20657870656374656420746f6b656e73000000000000000000606082015260800190565b6020808252600d908201527f5065726d6974206661696c656400000000000000000000000000000000000000604082015260600190565b6020808252601a908201527f50617468206e6f742070726f766964656420666f722073776170000000000000604082015260600190565b60208082526018908201527f45786368616e6765206e6f742077686974656c69737465640000000000000000604082015260600190565b60208082526016908201527f4d4554484f44204e4f5420494d504c454d454e54454400000000000000000000604082015260600190565b60208082526016908201527f43616c6c20746f2061646170746572206661696c656400000000000000000000604082015260600190565b60208082526013908201527f496e636f7272656374206d73672e76616c756500000000000000000000000000604082015260600190565b60208082526030908201527f526563656976656420616d6f756e74206f6620746f6b656e7320617265206c6560408201527f7373207468656e20657870656374656400000000000000000000000000000000606082015260800190565b60208082526011908201527f446561646c696e65206272656163686564000000000000000000000000000000604082015260600190565b60208082526016908201527f546f20616d6f756e742063616e206e6f74206265203000000000000000000000604082015260600190565b600088825273ffffffffffffffffffffffffffffffffffffffff8089166020840152808816604084015286606084015285608084015280851660a08401525060e060c08301526132db60e0830184612cff565b9998505050505050505050565b60405181810167ffffffffffffffff8111828210171561330457fe5b604052919050565b600067ffffffffffffffff82111561332057fe5b5060209081020190565b60005b8381101561334557818101518382015260200161332d565b838111156119c15750506000910152565b73ffffffffffffffffffffffffffffffffffffffff8116811461337857600080fd5b5056fe416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77496e73756666696369656e742062616c616e636520746f2070617920666f7220666565735361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a164736f6c6343000705000a",
              "data": {
                "main_contract": 14,
                "contract_info": [
                  {
                    "id": 5,
                    "path": "contracts/IAugustusSwapperV5.sol",
                    "name": "IAugustusSwapperV5.sol",
                    "source": "// SPDX-License-Identifier: ISC\n\npragma solidity 0.7.5;\n\ninterface IAugustusSwapperV5 {\n    function hasRole(bytes32 role, address account) external view returns (bool);\n}\n"
                  },
                  {
                    "id": 8,
                    "path": "contracts/adapters/IBuyAdapter.sol",
                    "name": "IBuyAdapter.sol",
                    "source": "// SPDX-License-Identifier: ISC\n\npragma solidity 0.7.5;\n\nimport \"../lib/Utils.sol\";\n\ninterface IBuyAdapter {\n    /**\n     * @dev Certain adapters needs to be initialized.\n     * This method will be called from Augustus\n     */\n    function initialize(bytes calldata data) external;\n\n    /**\n     * @dev The function which performs the swap on an exchange.\n     * @param index Index of the router in the adapter\n     * @param fromToken Address of the source token\n     * @param toToken Address of the destination token\n     * @param maxFromAmount Max amount of source tokens to be swapped\n     * @param toAmount Amount of destination tokens to be received\n     * @param targetExchange Target exchange address to be called\n     * @param payload extra data which needs to be passed to this router\n     */\n    function buy(\n        uint256 index,\n        IERC20 fromToken,\n        IERC20 toToken,\n        uint256 maxFromAmount,\n        uint256 toAmount,\n        address targetExchange,\n        bytes calldata payload\n    ) external payable;\n}\n"
                  },
                  {
                    "id": 11,
                    "path": "contracts/lib/Utils.sol",
                    "name": "Utils.sol",
                    "source": "/*solhint-disable avoid-low-level-calls */\n// SPDX-License-Identifier: ISC\n\npragma solidity 0.7.5;\npragma experimental ABIEncoderV2;\n\nimport \"@openzeppelin/contracts/token/ERC20/IERC20.sol\";\nimport \"@openzeppelin/contracts/token/ERC20/SafeERC20.sol\";\nimport \"@openzeppelin/contracts/math/SafeMath.sol\";\nimport \"../ITokenTransferProxy.sol\";\nimport { IBalancerV2Vault } from \"./balancerv2/IBalancerV2Vault.sol\";\n\ninterface IERC20Permit {\n    function permit(\n        address owner,\n        address spender,\n        uint256 amount,\n        uint256 deadline,\n        uint8 v,\n        bytes32 r,\n        bytes32 s\n    ) external;\n}\n\ninterface IERC20PermitLegacy {\n    function permit(\n        address holder,\n        address spender,\n        uint256 nonce,\n        uint256 expiry,\n        bool allowed,\n        uint8 v,\n        bytes32 r,\n        bytes32 s\n    ) external;\n}\n\nlibrary Utils {\n    using SafeMath for uint256;\n    using SafeERC20 for IERC20;\n\n    address private constant ETH_ADDRESS = address(0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE);\n\n    uint256 private constant MAX_UINT = type(uint256).max;\n\n    enum CurveSwapType {\n        EXCHANGE,\n        EXCHANGE_UNDERLYING,\n        EXCHANGE_GENERIC_FACTORY_ZAP\n    }\n\n    /**\n     * @param fromToken Address of the source token\n     * @param fromAmount Amount of source tokens to be swapped\n     * @param toAmount Minimum destination token amount expected out of this swap\n     * @param expectedAmount Expected amount of destination tokens without slippage\n     * @param beneficiary Beneficiary address\n     * 0 then 100% will be transferred to beneficiary. Pass 10000 for 100%\n     * @param path Route to be taken for this swap to take place\n     */\n    struct SellData {\n        address fromToken;\n        uint256 fromAmount;\n        uint256 toAmount;\n        uint256 expectedAmount;\n        address payable beneficiary;\n        Utils.Path[] path;\n        address payable partner;\n        uint256 feePercent;\n        bytes permit;\n        uint256 deadline;\n        bytes16 uuid;\n    }\n\n    struct BuyData {\n        address adapter;\n        address fromToken;\n        address toToken;\n        uint256 fromAmount;\n        uint256 toAmount;\n        uint256 expectedAmount;\n        address payable beneficiary;\n        Utils.Route[] route;\n        address payable partner;\n        uint256 feePercent;\n        bytes permit;\n        uint256 deadline;\n        bytes16 uuid;\n    }\n\n    struct MegaSwapSellData {\n        address fromToken;\n        uint256 fromAmount;\n        uint256 toAmount;\n        uint256 expectedAmount;\n        address payable beneficiary;\n        Utils.MegaSwapPath[] path;\n        address payable partner;\n        uint256 feePercent;\n        bytes permit;\n        uint256 deadline;\n        bytes16 uuid;\n    }\n\n    struct SimpleData {\n        address fromToken;\n        address toToken;\n        uint256 fromAmount;\n        uint256 toAmount;\n        uint256 expectedAmount;\n        address[] callees;\n        bytes exchangeData;\n        uint256[] startIndexes;\n        uint256[] values;\n        address payable beneficiary;\n        address payable partner;\n        uint256 feePercent;\n        bytes permit;\n        uint256 deadline;\n        bytes16 uuid;\n    }\n\n    struct DirectUniV3 {\n        address fromToken;\n        address toToken;\n        address exchange;\n        uint256 fromAmount;\n        uint256 toAmount;\n        uint256 expectedAmount;\n        uint256 feePercent;\n        uint256 deadline;\n        address payable partner;\n        bool isApproved;\n        address payable beneficiary;\n        bytes path;\n        bytes permit;\n        bytes16 uuid;\n    }\n\n    struct DirectCurveV1 {\n        address fromToken;\n        address toToken;\n        address exchange;\n        uint256 fromAmount;\n        uint256 toAmount;\n        uint256 expectedAmount;\n        uint256 feePercent;\n        int128 i;\n        int128 j;\n        address payable partner;\n        bool isApproved;\n        CurveSwapType swapType;\n        address payable beneficiary;\n        bool needWrapNative;\n        bytes permit;\n        bytes16 uuid;\n    }\n\n    struct DirectCurveV2 {\n        address fromToken;\n        address toToken;\n        address exchange;\n        address poolAddress;\n        uint256 fromAmount;\n        uint256 toAmount;\n        uint256 expectedAmount;\n        uint256 feePercent;\n        uint256 i;\n        uint256 j;\n        address payable partner;\n        bool isApproved;\n        CurveSwapType swapType;\n        address payable beneficiary;\n        bool needWrapNative;\n        bytes permit;\n        bytes16 uuid;\n    }\n\n    struct DirectBalancerV2 {\n        IBalancerV2Vault.BatchSwapStep[] swaps;\n        address[] assets;\n        IBalancerV2Vault.FundManagement funds;\n        int256[] limits;\n        uint256 fromAmount;\n        uint256 toAmount;\n        uint256 expectedAmount;\n        uint256 deadline;\n        uint256 feePercent;\n        address vault;\n        address payable partner;\n        bool isApproved;\n        address payable beneficiary;\n        bytes permit;\n        bytes16 uuid;\n    }\n\n    struct Adapter {\n        address payable adapter;\n        uint256 percent;\n        uint256 networkFee; //NOT USED\n        Route[] route;\n    }\n\n    struct Route {\n        uint256 index; //Adapter at which index needs to be used\n        address targetExchange;\n        uint256 percent;\n        bytes payload;\n        uint256 networkFee; //NOT USED - Network fee is associated with 0xv3 trades\n    }\n\n    struct MegaSwapPath {\n        uint256 fromAmountPercent;\n        Path[] path;\n    }\n\n    struct Path {\n        address to;\n        uint256 totalNetworkFee; //NOT USED - Network fee is associated with 0xv3 trades\n        Adapter[] adapters;\n    }\n\n    function ethAddress() internal pure returns (address) {\n        return ETH_ADDRESS;\n    }\n\n    function maxUint() internal pure returns (uint256) {\n        return MAX_UINT;\n    }\n\n    function approve(\n        address addressToApprove,\n        address token,\n        uint256 amount\n    ) internal {\n        if (token != ETH_ADDRESS) {\n            IERC20 _token = IERC20(token);\n\n            uint256 allowance = _token.allowance(address(this), addressToApprove);\n\n            if (allowance < amount) {\n                _token.safeApprove(addressToApprove, 0);\n                _token.safeIncreaseAllowance(addressToApprove, MAX_UINT);\n            }\n        }\n    }\n\n    function transferTokens(\n        address token,\n        address payable destination,\n        uint256 amount\n    ) internal {\n        if (amount > 0) {\n            if (token == ETH_ADDRESS) {\n                (bool result, ) = destination.call{ value: amount, gas: 10000 }(\"\");\n                require(result, \"Failed to transfer Ether\");\n            } else {\n                IERC20(token).safeTransfer(destination, amount);\n            }\n        }\n    }\n\n    function tokenBalance(address token, address account) internal view returns (uint256) {\n        if (token == ETH_ADDRESS) {\n            return account.balance;\n        } else {\n            return IERC20(token).balanceOf(account);\n        }\n    }\n\n    function permit(address token, bytes memory permit) internal {\n        if (permit.length == 32 * 7) {\n            (bool success, ) = token.call(abi.encodePacked(IERC20Permit.permit.selector, permit));\n            require(success, \"Permit failed\");\n        }\n\n        if (permit.length == 32 * 8) {\n            (bool success, ) = token.call(abi.encodePacked(IERC20PermitLegacy.permit.selector, permit));\n            require(success, \"Permit failed\");\n        }\n    }\n\n    function transferETH(address payable destination, uint256 amount) internal {\n        if (amount > 0) {\n            (bool result, ) = destination.call{ value: amount, gas: 10000 }(\"\");\n            require(result, \"Transfer ETH failed\");\n        }\n    }\n}\n"
                  },
                  {
                    "id": 1,
                    "path": "@openzeppelin/contracts/token/ERC20/IERC20.sol",
                    "name": "IERC20.sol",
                    "source": "// SPDX-License-Identifier: MIT\n\npragma solidity >=0.6.0 <0.8.0;\n\n/**\n * @dev Interface of the ERC20 standard as defined in the EIP.\n */\ninterface IERC20 {\n    /**\n     * @dev Returns the amount of tokens in existence.\n     */\n    function totalSupply() external view returns (uint256);\n\n    /**\n     * @dev Returns the amount of tokens owned by `account`.\n     */\n    function balanceOf(address account) external view returns (uint256);\n\n    /**\n     * @dev Moves `amount` tokens from the caller's account to `recipient`.\n     *\n     * Returns a boolean value indicating whether the operation succeeded.\n     *\n     * Emits a {Transfer} event.\n     */\n    function transfer(address recipient, uint256 amount) external returns (bool);\n\n    /**\n     * @dev Returns the remaining number of tokens that `spender` will be\n     * allowed to spend on behalf of `owner` through {transferFrom}. This is\n     * zero by default.\n     *\n     * This value changes when {approve} or {transferFrom} are called.\n     */\n    function allowance(address owner, address spender) external view returns (uint256);\n\n    /**\n     * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.\n     *\n     * Returns a boolean value indicating whether the operation succeeded.\n     *\n     * IMPORTANT: Beware that changing an allowance with this method brings the risk\n     * that someone may use both the old and the new allowance by unfortunate\n     * transaction ordering. One possible solution to mitigate this race\n     * condition is to first reduce the spender's allowance to 0 and set the\n     * desired value afterwards:\n     * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n     *\n     * Emits an {Approval} event.\n     */\n    function approve(address spender, uint256 amount) external returns (bool);\n\n    /**\n     * @dev Moves `amount` tokens from `sender` to `recipient` using the\n     * allowance mechanism. `amount` is then deducted from the caller's\n     * allowance.\n     *\n     * Returns a boolean value indicating whether the operation succeeded.\n     *\n     * Emits a {Transfer} event.\n     */\n    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);\n\n    /**\n     * @dev Emitted when `value` tokens are moved from one account (`from`) to\n     * another (`to`).\n     *\n     * Note that `value` may be zero.\n     */\n    event Transfer(address indexed from, address indexed to, uint256 value);\n\n    /**\n     * @dev Emitted when the allowance of a `spender` for an `owner` is set by\n     * a call to {approve}. `value` is the new allowance.\n     */\n    event Approval(address indexed owner, address indexed spender, uint256 value);\n}\n"
                  },
                  {
                    "id": 3,
                    "path": "@openzeppelin/contracts/utils/Address.sol",
                    "name": "Address.sol",
                    "source": "// SPDX-License-Identifier: MIT\n\npragma solidity >=0.6.2 <0.8.0;\n\n/**\n * @dev Collection of functions related to the address type\n */\nlibrary Address {\n    /**\n     * @dev Returns true if `account` is a contract.\n     *\n     * [IMPORTANT]\n     * ====\n     * It is unsafe to assume that an address for which this function returns\n     * false is an externally-owned account (EOA) and not a contract.\n     *\n     * Among others, `isContract` will return false for the following\n     * types of addresses:\n     *\n     *  - an externally-owned account\n     *  - a contract in construction\n     *  - an address where a contract will be created\n     *  - an address where a contract lived, but was destroyed\n     * ====\n     */\n    function isContract(address account) internal view returns (bool) {\n        // This method relies on extcodesize, which returns 0 for contracts in\n        // construction, since the code is only stored at the end of the\n        // constructor execution.\n\n        uint256 size;\n        // solhint-disable-next-line no-inline-assembly\n        assembly { size := extcodesize(account) }\n        return size > 0;\n    }\n\n    /**\n     * @dev Replacement for Solidity's `transfer`: sends `amount` wei to\n     * `recipient`, forwarding all available gas and reverting on errors.\n     *\n     * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost\n     * of certain opcodes, possibly making contracts go over the 2300 gas limit\n     * imposed by `transfer`, making them unable to receive funds via\n     * `transfer`. {sendValue} removes this limitation.\n     *\n     * https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more].\n     *\n     * IMPORTANT: because control is transferred to `recipient`, care must be\n     * taken to not create reentrancy vulnerabilities. Consider using\n     * {ReentrancyGuard} or the\n     * https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern].\n     */\n    function sendValue(address payable recipient, uint256 amount) internal {\n        require(address(this).balance >= amount, \"Address: insufficient balance\");\n\n        // solhint-disable-next-line avoid-low-level-calls, avoid-call-value\n        (bool success, ) = recipient.call{ value: amount }(\"\");\n        require(success, \"Address: unable to send value, recipient may have reverted\");\n    }\n\n    /**\n     * @dev Performs a Solidity function call using a low level `call`. A\n     * plain`call` is an unsafe replacement for a function call: use this\n     * function instead.\n     *\n     * If `target` reverts with a revert reason, it is bubbled up by this\n     * function (like regular Solidity function calls).\n     *\n     * Returns the raw returned data. To convert to the expected return value,\n     * use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`].\n     *\n     * Requirements:\n     *\n     * - `target` must be a contract.\n     * - calling `target` with `data` must not revert.\n     *\n     * _Available since v3.1._\n     */\n    function functionCall(address target, bytes memory data) internal returns (bytes memory) {\n      return functionCall(target, data, \"Address: low-level call failed\");\n    }\n\n    /**\n     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with\n     * `errorMessage` as a fallback revert reason when `target` reverts.\n     *\n     * _Available since v3.1._\n     */\n    function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {\n        return functionCallWithValue(target, data, 0, errorMessage);\n    }\n\n    /**\n     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n     * but also transferring `value` wei to `target`.\n     *\n     * Requirements:\n     *\n     * - the calling contract must have an ETH balance of at least `value`.\n     * - the called Solidity function must be `payable`.\n     *\n     * _Available since v3.1._\n     */\n    function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {\n        return functionCallWithValue(target, data, value, \"Address: low-level call with value failed\");\n    }\n\n    /**\n     * @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but\n     * with `errorMessage` as a fallback revert reason when `target` reverts.\n     *\n     * _Available since v3.1._\n     */\n    function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) {\n        require(address(this).balance >= value, \"Address: insufficient balance for call\");\n        require(isContract(target), \"Address: call to non-contract\");\n\n        // solhint-disable-next-line avoid-low-level-calls\n        (bool success, bytes memory returndata) = target.call{ value: value }(data);\n        return _verifyCallResult(success, returndata, errorMessage);\n    }\n\n    /**\n     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n     * but performing a static call.\n     *\n     * _Available since v3.3._\n     */\n    function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) {\n        return functionStaticCall(target, data, \"Address: low-level static call failed\");\n    }\n\n    /**\n     * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],\n     * but performing a static call.\n     *\n     * _Available since v3.3._\n     */\n    function functionStaticCall(address target, bytes memory data, string memory errorMessage) internal view returns (bytes memory) {\n        require(isContract(target), \"Address: static call to non-contract\");\n\n        // solhint-disable-next-line avoid-low-level-calls\n        (bool success, bytes memory returndata) = target.staticcall(data);\n        return _verifyCallResult(success, returndata, errorMessage);\n    }\n\n    /**\n     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n     * but performing a delegate call.\n     *\n     * _Available since v3.4._\n     */\n    function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) {\n        return functionDelegateCall(target, data, \"Address: low-level delegate call failed\");\n    }\n\n    /**\n     * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],\n     * but performing a delegate call.\n     *\n     * _Available since v3.4._\n     */\n    function functionDelegateCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {\n        require(isContract(target), \"Address: delegate call to non-contract\");\n\n        // solhint-disable-next-line avoid-low-level-calls\n        (bool success, bytes memory returndata) = target.delegatecall(data);\n        return _verifyCallResult(success, returndata, errorMessage);\n    }\n\n    function _verifyCallResult(bool success, bytes memory returndata, string memory errorMessage) private pure returns(bytes memory) {\n        if (success) {\n            return returndata;\n        } else {\n            // Look for revert reason and bubble it up if present\n            if (returndata.length > 0) {\n                // The easiest way to bubble the revert reason is using memory via assembly\n\n                // solhint-disable-next-line no-inline-assembly\n                assembly {\n                    let returndata_size := mload(returndata)\n                    revert(add(32, returndata), returndata_size)\n                }\n            } else {\n                revert(errorMessage);\n            }\n        }\n    }\n}\n"
                  },
                  {
                    "id": 4,
                    "path": "contracts/AugustusStorage.sol",
                    "name": "AugustusStorage.sol",
                    "source": "// SPDX-License-Identifier: ISC\n\npragma solidity 0.7.5;\n\nimport \"./ITokenTransferProxy.sol\";\n\ncontract AugustusStorage {\n    struct FeeStructure {\n        uint256 partnerShare;\n        bool noPositiveSlippage;\n        bool positiveSlippageToUser;\n        uint16 feePercent;\n        string partnerId;\n        bytes data;\n    }\n\n    ITokenTransferProxy internal tokenTransferProxy;\n    address payable internal feeWallet;\n\n    mapping(address => FeeStructure) internal registeredPartners;\n\n    mapping(bytes4 => address) internal selectorVsRouter;\n    mapping(bytes32 => bool) internal adapterInitialized;\n    mapping(bytes32 => bytes) internal adapterVsData;\n\n    mapping(bytes32 => bytes) internal routerData;\n    mapping(bytes32 => bool) internal routerInitialized;\n\n    bytes32 public constant WHITELISTED_ROLE = keccak256(\"WHITELISTED_ROLE\");\n\n    bytes32 public constant ROUTER_ROLE = keccak256(\"ROUTER_ROLE\");\n}\n"
                  },
                  {
                    "id": 7,
                    "path": "contracts/adapters/IAdapter.sol",
                    "name": "IAdapter.sol",
                    "source": "// SPDX-License-Identifier: ISC\n\npragma solidity 0.7.5;\npragma abicoder v2;\n\nimport \"../lib/Utils.sol\";\n\ninterface IAdapter {\n    /**\n     * @dev Certain adapters needs to be initialized.\n     * This method will be called from Augustus\n     */\n    function initialize(bytes calldata data) external;\n\n    /**\n     * @dev The function which performs the swap on an exchange.\n     * @param fromToken Address of the source token\n     * @param toToken Address of the destination token\n     * @param fromAmount Amount of source tokens to be swapped\n     * @param networkFee NOT USED - Network fee to be used in this router\n     * @param route Route to be followed\n     */\n    function swap(\n        IERC20 fromToken,\n        IERC20 toToken,\n        uint256 fromAmount,\n        uint256 networkFee,\n        Utils.Route[] calldata route\n    ) external payable;\n}\n"
                  },
                  {
                    "id": 0,
                    "path": "@openzeppelin/contracts/math/SafeMath.sol",
                    "name": "SafeMath.sol",
                    "source": "// SPDX-License-Identifier: MIT\n\npragma solidity >=0.6.0 <0.8.0;\n\n/**\n * @dev Wrappers over Solidity's arithmetic operations with added overflow\n * checks.\n *\n * Arithmetic operations in Solidity wrap on overflow. This can easily result\n * in bugs, because programmers usually assume that an overflow raises an\n * error, which is the standard behavior in high level programming languages.\n * `SafeMath` restores this intuition by reverting the transaction when an\n * operation overflows.\n *\n * Using this library instead of the unchecked operations eliminates an entire\n * class of bugs, so it's recommended to use it always.\n */\nlibrary SafeMath {\n    /**\n     * @dev Returns the addition of two unsigned integers, with an overflow flag.\n     *\n     * _Available since v3.4._\n     */\n    function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) {\n        uint256 c = a + b;\n        if (c < a) return (false, 0);\n        return (true, c);\n    }\n\n    /**\n     * @dev Returns the substraction of two unsigned integers, with an overflow flag.\n     *\n     * _Available since v3.4._\n     */\n    function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) {\n        if (b > a) return (false, 0);\n        return (true, a - b);\n    }\n\n    /**\n     * @dev Returns the multiplication of two unsigned integers, with an overflow flag.\n     *\n     * _Available since v3.4._\n     */\n    function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) {\n        // Gas optimization: this is cheaper than requiring 'a' not being zero, but the\n        // benefit is lost if 'b' is also tested.\n        // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522\n        if (a == 0) return (true, 0);\n        uint256 c = a * b;\n        if (c / a != b) return (false, 0);\n        return (true, c);\n    }\n\n    /**\n     * @dev Returns the division of two unsigned integers, with a division by zero flag.\n     *\n     * _Available since v3.4._\n     */\n    function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) {\n        if (b == 0) return (false, 0);\n        return (true, a / b);\n    }\n\n    /**\n     * @dev Returns the remainder of dividing two unsigned integers, with a division by zero flag.\n     *\n     * _Available since v3.4._\n     */\n    function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) {\n        if (b == 0) return (false, 0);\n        return (true, a % b);\n    }\n\n    /**\n     * @dev Returns the addition of two unsigned integers, reverting on\n     * overflow.\n     *\n     * Counterpart to Solidity's `+` operator.\n     *\n     * Requirements:\n     *\n     * - Addition cannot overflow.\n     */\n    function add(uint256 a, uint256 b) internal pure returns (uint256) {\n        uint256 c = a + b;\n        require(c >= a, \"SafeMath: addition overflow\");\n        return c;\n    }\n\n    /**\n     * @dev Returns the subtraction of two unsigned integers, reverting on\n     * overflow (when the result is negative).\n     *\n     * Counterpart to Solidity's `-` operator.\n     *\n     * Requirements:\n     *\n     * - Subtraction cannot overflow.\n     */\n    function sub(uint256 a, uint256 b) internal pure returns (uint256) {\n        require(b <= a, \"SafeMath: subtraction overflow\");\n        return a - b;\n    }\n\n    /**\n     * @dev Returns the multiplication of two unsigned integers, reverting on\n     * overflow.\n     *\n     * Counterpart to Solidity's `*` operator.\n     *\n     * Requirements:\n     *\n     * - Multiplication cannot overflow.\n     */\n    function mul(uint256 a, uint256 b) internal pure returns (uint256) {\n        if (a == 0) return 0;\n        uint256 c = a * b;\n        require(c / a == b, \"SafeMath: multiplication overflow\");\n        return c;\n    }\n\n    /**\n     * @dev Returns the integer division of two unsigned integers, reverting on\n     * division by zero. The result is rounded towards zero.\n     *\n     * Counterpart to Solidity's `/` operator. Note: this function uses a\n     * `revert` opcode (which leaves remaining gas untouched) while Solidity\n     * uses an invalid opcode to revert (consuming all remaining gas).\n     *\n     * Requirements:\n     *\n     * - The divisor cannot be zero.\n     */\n    function div(uint256 a, uint256 b) internal pure returns (uint256) {\n        require(b > 0, \"SafeMath: division by zero\");\n        return a / b;\n    }\n\n    /**\n     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),\n     * reverting when dividing by zero.\n     *\n     * Counterpart to Solidity's `%` operator. This function uses a `revert`\n     * opcode (which leaves remaining gas untouched) while Solidity uses an\n     * invalid opcode to revert (consuming all remaining gas).\n     *\n     * Requirements:\n     *\n     * - The divisor cannot be zero.\n     */\n    function mod(uint256 a, uint256 b) internal pure returns (uint256) {\n        require(b > 0, \"SafeMath: modulo by zero\");\n        return a % b;\n    }\n\n    /**\n     * @dev Returns the subtraction of two unsigned integers, reverting with custom message on\n     * overflow (when the result is negative).\n     *\n     * CAUTION: This function is deprecated because it requires allocating memory for the error\n     * message unnecessarily. For custom revert reasons use {trySub}.\n     *\n     * Counterpart to Solidity's `-` operator.\n     *\n     * Requirements:\n     *\n     * - Subtraction cannot overflow.\n     */\n    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {\n        require(b <= a, errorMessage);\n        return a - b;\n    }\n\n    /**\n     * @dev Returns the integer division of two unsigned integers, reverting with custom message on\n     * division by zero. The result is rounded towards zero.\n     *\n     * CAUTION: This function is deprecated because it requires allocating memory for the error\n     * message unnecessarily. For custom revert reasons use {tryDiv}.\n     *\n     * Counterpart to Solidity's `/` operator. Note: this function uses a\n     * `revert` opcode (which leaves remaining gas untouched) while Solidity\n     * uses an invalid opcode to revert (consuming all remaining gas).\n     *\n     * Requirements:\n     *\n     * - The divisor cannot be zero.\n     */\n    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {\n        require(b > 0, errorMessage);\n        return a / b;\n    }\n\n    /**\n     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),\n     * reverting with custom message when dividing by zero.\n     *\n     * CAUTION: This function is deprecated because it requires allocating memory for the error\n     * message unnecessarily. For custom revert reasons use {tryMod}.\n     *\n     * Counterpart to Solidity's `%` operator. This function uses a `revert`\n     * opcode (which leaves remaining gas untouched) while Solidity uses an\n     * invalid opcode to revert (consuming all remaining gas).\n     *\n     * Requirements:\n     *\n     * - The divisor cannot be zero.\n     */\n    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {\n        require(b > 0, errorMessage);\n        return a % b;\n    }\n}\n"
                  },
                  {
                    "id": 6,
                    "path": "contracts/ITokenTransferProxy.sol",
                    "name": "ITokenTransferProxy.sol",
                    "source": "// SPDX-License-Identifier: ISC\n\npragma solidity 0.7.5;\n\ninterface ITokenTransferProxy {\n    function transferFrom(\n        address token,\n        address from,\n        address to,\n        uint256 amount\n    ) external;\n}\n"
                  },
                  {
                    "id": 9,
                    "path": "contracts/fee/FeeModel.sol",
                    "name": "FeeModel.sol",
                    "source": "// SPDX-License-Identifier: ISC\n\npragma solidity 0.7.5;\n\nimport \"@openzeppelin/contracts/math/SafeMath.sol\";\nimport \"../AugustusStorage.sol\";\nimport \"../lib/Utils.sol\";\nimport \"./IFeeClaimer.sol\";\n// helpers\nimport { IERC20 } from \"@openzeppelin/contracts/token/ERC20/IERC20.sol\";\n\ncontract FeeModel is AugustusStorage {\n    using SafeMath for uint256;\n\n    uint256 public immutable partnerSharePercent;\n    uint256 public immutable maxFeePercent;\n    uint256 public immutable paraswapReferralShare;\n    uint256 public immutable paraswapSlippageShare;\n    IFeeClaimer public immutable feeClaimer;\n\n    constructor(\n        uint256 _partnerSharePercent,\n        uint256 _maxFeePercent,\n        uint256 _paraswapReferralShare,\n        uint256 _paraswapSlippageShare,\n        IFeeClaimer _feeClaimer\n    ) {\n        partnerSharePercent = _partnerSharePercent;\n        maxFeePercent = _maxFeePercent;\n        paraswapReferralShare = _paraswapReferralShare;\n        paraswapSlippageShare = _paraswapSlippageShare;\n        feeClaimer = _feeClaimer;\n    }\n\n    // feePercent is a packed structure.\n    // Bits 255-248 = 8-bit version field\n    //\n    // Version 0\n    // =========\n    // Entire structure is interpreted as the fee percent in basis points.\n    // If set to 0 then partner will not receive any fees.\n    //\n    // Version 1\n    // =========\n    // Bits 13-0 = Fee percent in basis points\n    // Bit 14 = positiveSlippageToUser (positive slippage to partner if not set)\n    // Bit 15 = if set, take fee from fromToken, toToken otherwise\n    // Bit 16 = if set, do fee distribution as per referral program\n\n    function takeFromTokenFee(\n        address fromToken,\n        uint256 fromAmount,\n        address payable partner,\n        uint256 feePercent\n    ) internal returns (uint256 newFromAmount) {\n        uint256 fixedFeeBps = _getFixedFeeBps(partner, feePercent);\n        if (fixedFeeBps == 0) return fromAmount;\n        (uint256 partnerShare, uint256 paraswapShare) = _calcFixedFees(fromAmount, fixedFeeBps);\n        return _distributeFees(fromAmount, fromToken, partner, partnerShare, paraswapShare);\n    }\n\n    function takeFromTokenFeeAndTransfer(\n        address fromToken,\n        uint256 fromAmount,\n        uint256 remainingAmount,\n        address payable partner,\n        uint256 feePercent\n    ) internal {\n        uint256 fixedFeeBps = _getFixedFeeBps(partner, feePercent);\n        (uint256 partnerShare, uint256 paraswapShare) = _calcFixedFees(fromAmount, fixedFeeBps);\n        if (partnerShare.add(paraswapShare) <= remainingAmount) {\n            remainingAmount = _distributeFees(remainingAmount, fromToken, partner, partnerShare, paraswapShare);\n        }\n        Utils.transferTokens(fromToken, msg.sender, remainingAmount);\n    }\n\n    function takeToTokenFeeAndTransfer(\n        address toToken,\n        uint256 receivedAmount,\n        address payable beneficiary,\n        address payable partner,\n        uint256 feePercent\n    ) internal {\n        uint256 fixedFeeBps = _getFixedFeeBps(partner, feePercent);\n        (uint256 partnerShare, uint256 paraswapShare) = _calcFixedFees(receivedAmount, fixedFeeBps);\n        Utils.transferTokens(\n            toToken,\n            beneficiary,\n            _distributeFees(receivedAmount, toToken, partner, partnerShare, paraswapShare)\n        );\n    }\n\n    function takeSlippageAndTransferSell(\n        address toToken,\n        address payable beneficiary,\n        address payable partner,\n        uint256 positiveAmount,\n        uint256 negativeAmount,\n        uint256 feePercent\n    ) internal {\n        uint256 totalSlippage = positiveAmount.sub(negativeAmount);\n        if (partner != address(0)) {\n            (uint256 referrerShare, uint256 paraswapShare) = _calcSlippageFees(totalSlippage, feePercent);\n            positiveAmount = _distributeFees(positiveAmount, toToken, partner, referrerShare, paraswapShare);\n        } else {\n            uint256 paraswapSlippage = totalSlippage.mul(paraswapSlippageShare).div(10000);\n            Utils.transferTokens(toToken, feeWallet, paraswapSlippage);\n            positiveAmount = positiveAmount.sub(paraswapSlippage);\n        }\n        Utils.transferTokens(toToken, beneficiary, positiveAmount);\n    }\n\n    function takeSlippageAndTransferBuy(\n        address fromToken,\n        address payable partner,\n        uint256 positiveAmount,\n        uint256 negativeAmount,\n        uint256 remainingAmount,\n        uint256 feePercent\n    ) internal {\n        uint256 totalSlippage = positiveAmount.sub(negativeAmount);\n        if (partner != address(0)) {\n            (uint256 referrerShare, uint256 paraswapShare) = _calcSlippageFees(totalSlippage, feePercent);\n            remainingAmount = _distributeFees(remainingAmount, fromToken, partner, referrerShare, paraswapShare);\n        } else {\n            uint256 paraswapSlippage = totalSlippage.mul(paraswapSlippageShare).div(10000);\n            Utils.transferTokens(fromToken, feeWallet, paraswapSlippage);\n            remainingAmount = remainingAmount.sub(paraswapSlippage);\n        }\n        // Transfer remaining token back to sender\n        Utils.transferTokens(fromToken, msg.sender, remainingAmount);\n    }\n\n    function _getFixedFeeBps(address partner, uint256 feePercent) internal view returns (uint256 fixedFeeBps) {\n        if (partner == address(0)) return 0;\n        uint256 version = feePercent >> 248;\n        if (version == 0) {\n            fixedFeeBps = feePercent;\n        } else {\n            fixedFeeBps = feePercent & 0x3FFF;\n        }\n        return fixedFeeBps > maxFeePercent ? maxFeePercent : fixedFeeBps;\n    }\n\n    function _calcFixedFees(uint256 amount, uint256 fixedFeeBps)\n        private\n        view\n        returns (uint256 partnerShare, uint256 paraswapShare)\n    {\n        uint256 fee = amount.mul(fixedFeeBps).div(10000);\n        partnerShare = fee.mul(partnerSharePercent).div(10000);\n        paraswapShare = fee.sub(partnerShare);\n    }\n\n    function _calcSlippageFees(uint256 slippage, uint256 feePercent)\n        private\n        view\n        returns (uint256 partnerShare, uint256 paraswapShare)\n    {\n        uint256 feeBps = feePercent & 0x3FFF;\n        require(feeBps + paraswapReferralShare <= 10000, \"Invalid fee percent\");\n        paraswapShare = slippage.mul(paraswapReferralShare).div(10000);\n        partnerShare = slippage.mul(feeBps).div(10000);\n    }\n\n    function _distributeFees(\n        uint256 currentBalance,\n        address token,\n        address payable partner,\n        uint256 partnerShare,\n        uint256 paraswapShare\n    ) private returns (uint256 newBalance) {\n        uint256 totalFees = partnerShare.add(paraswapShare);\n        if (totalFees == 0) return currentBalance;\n\n        require(totalFees <= currentBalance, \"Insufficient balance to pay for fees\");\n\n        Utils.transferTokens(token, payable(address(feeClaimer)), totalFees);\n        if (partnerShare != 0) {\n            feeClaimer.registerFee(partner, IERC20(token), partnerShare);\n        }\n        if (paraswapShare != 0) {\n            feeClaimer.registerFee(feeWallet, IERC20(token), paraswapShare);\n        }\n        return currentBalance.sub(totalFees);\n    }\n\n    function _isTakeFeeFromSrcToken(uint256 feePercent) internal pure returns (bool) {\n        return feePercent >> 248 != 0 && (feePercent & (1 << 15)) != 0;\n    }\n\n    function _isReferral(uint256 feePercent) internal pure returns (bool) {\n        return (feePercent & (1 << 16)) != 0;\n    }\n}\n"
                  },
                  {
                    "id": 2,
                    "path": "@openzeppelin/contracts/token/ERC20/SafeERC20.sol",
                    "name": "SafeERC20.sol",
                    "source": "// SPDX-License-Identifier: MIT\n\npragma solidity >=0.6.0 <0.8.0;\n\nimport \"./IERC20.sol\";\nimport \"../../math/SafeMath.sol\";\nimport \"../../utils/Address.sol\";\n\n/**\n * @title SafeERC20\n * @dev Wrappers around ERC20 operations that throw on failure (when the token\n * contract returns false). Tokens that return no value (and instead revert or\n * throw on failure) are also supported, non-reverting calls are assumed to be\n * successful.\n * To use this library you can add a `using SafeERC20 for IERC20;` statement to your contract,\n * which allows you to call the safe operations as `token.safeTransfer(...)`, etc.\n */\nlibrary SafeERC20 {\n    using SafeMath for uint256;\n    using Address for address;\n\n    function safeTransfer(IERC20 token, address to, uint256 value) internal {\n        _callOptionalReturn(token, abi.encodeWithSelector(token.transfer.selector, to, value));\n    }\n\n    function safeTransferFrom(IERC20 token, address from, address to, uint256 value) internal {\n        _callOptionalReturn(token, abi.encodeWithSelector(token.transferFrom.selector, from, to, value));\n    }\n\n    /**\n     * @dev Deprecated. This function has issues similar to the ones found in\n     * {IERC20-approve}, and its usage is discouraged.\n     *\n     * Whenever possible, use {safeIncreaseAllowance} and\n     * {safeDecreaseAllowance} instead.\n     */\n    function safeApprove(IERC20 token, address spender, uint256 value) internal {\n        // safeApprove should only be called when setting an initial allowance,\n        // or when resetting it to zero. To increase and decrease it, use\n        // 'safeIncreaseAllowance' and 'safeDecreaseAllowance'\n        // solhint-disable-next-line max-line-length\n        require((value == 0) || (token.allowance(address(this), spender) == 0),\n            \"SafeERC20: approve from non-zero to non-zero allowance\"\n        );\n        _callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, value));\n    }\n\n    function safeIncreaseAllowance(IERC20 token, address spender, uint256 value) internal {\n        uint256 newAllowance = token.allowance(address(this), spender).add(value);\n        _callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, newAllowance));\n    }\n\n    function safeDecreaseAllowance(IERC20 token, address spender, uint256 value) internal {\n        uint256 newAllowance = token.allowance(address(this), spender).sub(value, \"SafeERC20: decreased allowance below zero\");\n        _callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, newAllowance));\n    }\n\n    /**\n     * @dev Imitates a Solidity high-level call (i.e. a regular function call to a contract), relaxing the requirement\n     * on the return value: the return value is optional (but if data is returned, it must not be false).\n     * @param token The token targeted by the call.\n     * @param data The call data (encoded using abi.encode or one of its variants).\n     */\n    function _callOptionalReturn(IERC20 token, bytes memory data) private {\n        // We need to perform a low level call here, to bypass Solidity's return data size checking mechanism, since\n        // we're implementing it ourselves. We use {Address.functionCall} to perform this call, which verifies that\n        // the target address contains contract code and also asserts for success in the low-level call.\n\n        bytes memory returndata = address(token).functionCall(data, \"SafeERC20: low-level call failed\");\n        if (returndata.length > 0) { // Return data is optional\n            // solhint-disable-next-line max-line-length\n            require(abi.decode(returndata, (bool)), \"SafeERC20: ERC20 operation did not succeed\");\n        }\n    }\n}\n"
                  },
                  {
                    "id": 10,
                    "path": "contracts/fee/IFeeClaimer.sol",
                    "name": "IFeeClaimer.sol",
                    "source": "// SPDX-License-Identifier: ISC\n\npragma solidity 0.7.5;\n\nimport { IERC20 } from \"@openzeppelin/contracts/token/ERC20/IERC20.sol\";\n\ninterface IFeeClaimer {\n    /**\n     * @notice register partner's, affiliate's and PP's fee\n     * @dev only callable by AugustusSwapper contract\n     * @param _account account address used to withdraw fees\n     * @param _token token address\n     * @param _fee fee amount in token\n     */\n    function registerFee(\n        address _account,\n        IERC20 _token,\n        uint256 _fee\n    ) external;\n\n    /**\n     * @notice claim partner share fee in ERC20 token\n     * @dev transfers ERC20 token balance to the caller's account\n     *      the call will fail if withdrawer have zero balance in the contract\n     * @param _token address of the ERC20 token\n     * @param _recipient address\n     * @return true if the withdraw was successfull\n     */\n    function withdrawAllERC20(IERC20 _token, address _recipient) external returns (bool);\n\n    /**\n     * @notice batch claim whole balance of fee share amount\n     * @dev transfers ERC20 token balance to the caller's account\n     *      the call will fail if withdrawer have zero balance in the contract\n     * @param _tokens list of addresses of the ERC20 token\n     * @param _recipient address of recipient\n     * @return true if the withdraw was successfull\n     */\n    function batchWithdrawAllERC20(IERC20[] calldata _tokens, address _recipient) external returns (bool);\n\n    /**\n     * @notice claim some partner share fee in ERC20 token\n     * @dev transfers ERC20 token amount to the caller's account\n     *      the call will fail if withdrawer have zero balance in the contract\n     * @param _token address of the ERC20 token\n     * @param _recipient address\n     * @return true if the withdraw was successfull\n     */\n    function withdrawSomeERC20(\n        IERC20 _token,\n        uint256 _tokenAmount,\n        address _recipient\n    ) external returns (bool);\n\n    /**\n     * @notice batch claim some amount of fee share in ERC20 token\n     * @dev transfers ERC20 token balance to the caller's account\n     *      the call will fail if withdrawer have zero balance in the contract\n     * @param _tokens address of the ERC20 tokens\n     * @param _tokenAmounts array of amounts\n     * @param _recipient destination account addresses\n     * @return true if the withdraw was successfull\n     */\n    function batchWithdrawSomeERC20(\n        IERC20[] calldata _tokens,\n        uint256[] calldata _tokenAmounts,\n        address _recipient\n    ) external returns (bool);\n\n    /**\n     * @notice compute unallocated fee in token\n     * @param _token address of the ERC20 token\n     * @return amount of unallocated token in fees\n     */\n    function getUnallocatedFees(IERC20 _token) external view returns (uint256);\n\n    /**\n     * @notice returns unclaimed fee amount given the token\n     * @dev retrieves the balance of ERC20 token fee amount for a partner\n     * @param _token address of the ERC20 token\n     * @param _partner account address of the partner\n     * @return amount of balance\n     */\n    function getBalance(IERC20 _token, address _partner) external view returns (uint256);\n\n    /**\n     * @notice returns unclaimed fee amount given the token in batch\n     * @dev retrieves the balance of ERC20 token fee amount for a partner in batch\n     * @param _tokens list of ERC20 token addresses\n     * @param _partner account address of the partner\n     * @return _fees array of the token amount\n     */\n    function batchGetBalance(IERC20[] calldata _tokens, address _partner)\n        external\n        view\n        returns (uint256[] memory _fees);\n}\n"
                  },
                  {
                    "id": 12,
                    "path": "contracts/lib/balancerv2/IBalancerV2Vault.sol",
                    "name": "IBalancerV2Vault.sol",
                    "source": "// SPDX-License-Identifier: ISC\n\npragma solidity 0.7.5;\npragma abicoder v2;\n\nimport \"../Utils.sol\";\n\ninterface IBalancerV2Vault {\n    enum SwapKind {\n        GIVEN_IN,\n        GIVEN_OUT\n    }\n\n    struct SingleSwap {\n        bytes32 poolId;\n        SwapKind kind;\n        address assetIn;\n        address assetOut;\n        uint256 amount;\n        bytes userData;\n    }\n\n    struct BatchSwapStep {\n        bytes32 poolId;\n        uint256 assetInIndex;\n        uint256 assetOutIndex;\n        uint256 amount;\n        bytes userData;\n    }\n\n    struct FundManagement {\n        address sender;\n        bool fromInternalBalance;\n        address payable recipient;\n        bool toInternalBalance;\n    }\n\n    function swap(\n        SingleSwap memory singleSwap,\n        FundManagement memory funds,\n        uint256 limit,\n        uint256 deadline\n    ) external payable returns (uint256);\n\n    function batchSwap(\n        SwapKind kind,\n        BatchSwapStep[] memory swaps,\n        address[] memory assets,\n        FundManagement memory funds,\n        int256[] memory limits,\n        uint256 deadline\n    ) external payable returns (int256[] memory);\n}\n"
                  },
                  {
                    "id": 13,
                    "path": "contracts/routers/IRouter.sol",
                    "name": "IRouter.sol",
                    "source": "// SPDX-License-Identifier: ISC\n\npragma solidity 0.7.5;\n\ninterface IRouter {\n    /**\n     * @dev Certain routers/exchanges needs to be initialized.\n     * This method will be called from Augustus\n     */\n    function initialize(bytes calldata data) external;\n\n    /**\n     * @dev Returns unique identifier for the router\n     */\n    function getKey() external pure returns (bytes32);\n\n    event SwappedV3(\n        bytes16 uuid,\n        address partner,\n        uint256 feePercent,\n        address initiator,\n        address indexed beneficiary,\n        address indexed srcToken,\n        address indexed destToken,\n        uint256 srcAmount,\n        uint256 receivedAmount,\n        uint256 expectedAmount\n    );\n\n    event BoughtV3(\n        bytes16 uuid,\n        address partner,\n        uint256 feePercent,\n        address initiator,\n        address indexed beneficiary,\n        address indexed srcToken,\n        address indexed destToken,\n        uint256 srcAmount,\n        uint256 receivedAmount,\n        uint256 expectedAmount\n    );\n}\n"
                  },
                  {
                    "id": 14,
                    "path": "contracts/routers/MultiPath.sol",
                    "name": "MultiPath.sol",
                    "source": "/*solhint-disable avoid-low-level-calls*/\n// SPDX-License-Identifier: ISC\n\npragma solidity 0.7.5;\npragma abicoder v2;\n\nimport \"./IRouter.sol\";\nimport \"../IAugustusSwapperV5.sol\";\nimport \"../adapters/IAdapter.sol\";\nimport \"../adapters/IBuyAdapter.sol\";\nimport \"../fee/FeeModel.sol\";\nimport \"../fee/IFeeClaimer.sol\";\n\ncontract MultiPath is FeeModel, IRouter {\n    using SafeMath for uint256;\n\n    /*solhint-disable no-empty-blocks*/\n    constructor(\n        uint256 _partnerSharePercent,\n        uint256 _maxFeePercent,\n        uint256 _paraswapReferralShare,\n        uint256 _paraswapSlippageShare,\n        IFeeClaimer _feeClaimer\n    )\n        public\n        FeeModel(_partnerSharePercent, _maxFeePercent, _paraswapReferralShare, _paraswapSlippageShare, _feeClaimer)\n    {}\n\n    /*solhint-enable no-empty-blocks*/\n\n    function initialize(bytes calldata) external override {\n        revert(\"METHOD NOT IMPLEMENTED\");\n    }\n\n    function getKey() external pure override returns (bytes32) {\n        return keccak256(abi.encodePacked(\"MULTIPATH_ROUTER\", \"1.0.0\"));\n    }\n\n    /**\n     * @dev The function which performs the multi path swap.\n     * @param data Data required to perform swap.\n     */\n    function multiSwap(Utils.SellData memory data) public payable returns (uint256) {\n        require(data.deadline >= block.timestamp, \"Deadline breached\");\n\n        address fromToken = data.fromToken;\n        uint256 fromAmount = data.fromAmount;\n        require(msg.value == (fromToken == Utils.ethAddress() ? fromAmount : 0), \"Incorrect msg.value\");\n        uint256 toAmount = data.toAmount;\n        uint256 expectedAmount = data.expectedAmount;\n        address payable beneficiary = data.beneficiary == address(0) ? msg.sender : data.beneficiary;\n        Utils.Path[] memory path = data.path;\n        address toToken = path[path.length - 1].to;\n\n        require(toAmount > 0, \"To amount can not be 0\");\n\n        //If source token is not ETH than transfer required amount of tokens\n        //from sender to this contract\n        transferTokensFromProxy(fromToken, fromAmount, data.permit);\n        if (_isTakeFeeFromSrcToken(data.feePercent)) {\n            // take fee from source token\n            fromAmount = takeFromTokenFee(fromToken, fromAmount, data.partner, data.feePercent);\n        }\n\n        performSwap(fromToken, fromAmount, path);\n\n        uint256 receivedAmount = Utils.tokenBalance(toToken, address(this));\n\n        require(receivedAmount >= toAmount, \"Received amount of tokens are less then expected\");\n\n        if (\n            _getFixedFeeBps(data.partner, data.feePercent) != 0 &&\n            !_isTakeFeeFromSrcToken(data.feePercent) &&\n            !_isReferral(data.feePercent)\n        ) {\n            // take fee from dest token\n            takeToTokenFeeAndTransfer(toToken, receivedAmount, beneficiary, data.partner, data.feePercent);\n        } else if (receivedAmount > expectedAmount && !_isTakeFeeFromSrcToken(data.feePercent)) {\n            takeSlippageAndTransferSell(\n                toToken,\n                beneficiary,\n                data.partner,\n                receivedAmount,\n                expectedAmount,\n                data.feePercent\n            );\n        } else {\n            // Fee is already taken from fromToken\n            // Transfer toToken to beneficiary\n            Utils.transferTokens(toToken, beneficiary, receivedAmount);\n        }\n\n        emit SwappedV3(\n            data.uuid,\n            data.partner,\n            data.feePercent,\n            msg.sender,\n            beneficiary,\n            fromToken,\n            toToken,\n            fromAmount,\n            receivedAmount,\n            expectedAmount\n        );\n\n        return receivedAmount;\n    }\n\n    /**\n     * @dev The function which performs the single path buy.\n     * @param data Data required to perform swap.\n     */\n    function buy(Utils.BuyData memory data) public payable returns (uint256) {\n        require(data.deadline >= block.timestamp, \"Deadline breached\");\n\n        address fromToken = data.fromToken;\n        uint256 fromAmount = data.fromAmount;\n        require(msg.value == (fromToken == Utils.ethAddress() ? fromAmount : 0), \"Incorrect msg.value\");\n        uint256 toAmount = data.toAmount;\n        address payable beneficiary = data.beneficiary == address(0) ? msg.sender : data.beneficiary;\n        address toToken = data.toToken;\n        uint256 expectedAmount = data.expectedAmount;\n        uint256 feePercent = data.feePercent;\n\n        require(toAmount > 0, \"To amount can not be 0\");\n\n        //If source token is not ETH than transfer required amount of tokens\n        //from sender to this contract\n        transferTokensFromProxy(fromToken, fromAmount, data.permit);\n\n        uint256 receivedAmount = performBuy(data.adapter, fromToken, toToken, fromAmount, toAmount, data.route);\n\n        uint256 remainingAmount = Utils.tokenBalance(fromToken, address(this));\n\n        if (\n            _getFixedFeeBps(data.partner, data.feePercent) != 0 &&\n            !_isTakeFeeFromSrcToken(feePercent) &&\n            !_isReferral(data.feePercent)\n        ) {\n            // take fee from dest token\n            takeToTokenFeeAndTransfer(toToken, receivedAmount, beneficiary, data.partner, feePercent);\n\n            // Transfer remaining token back to sender\n            Utils.transferTokens(fromToken, msg.sender, remainingAmount);\n        } else {\n            Utils.transferTokens(toToken, beneficiary, receivedAmount);\n            if (_getFixedFeeBps(data.partner, data.feePercent) != 0 && _isTakeFeeFromSrcToken(feePercent)) {\n                //  take fee from source token and transfer remaining token back to sender\n                takeFromTokenFeeAndTransfer(\n                    fromToken,\n                    fromAmount.sub(remainingAmount),\n                    remainingAmount,\n                    data.partner,\n                    feePercent\n                );\n            } else if (fromAmount.sub(remainingAmount) < expectedAmount) {\n                takeSlippageAndTransferBuy(\n                    fromToken,\n                    data.partner,\n                    expectedAmount,\n                    fromAmount.sub(remainingAmount),\n                    remainingAmount,\n                    feePercent\n                );\n            } else {\n                // Transfer remaining token back to sender\n                Utils.transferTokens(fromToken, msg.sender, remainingAmount);\n            }\n        }\n\n        fromAmount = fromAmount.sub(remainingAmount);\n        emit BoughtV3(\n            data.uuid,\n            data.partner,\n            feePercent,\n            msg.sender,\n            beneficiary,\n            fromToken,\n            toToken,\n            fromAmount,\n            receivedAmount,\n            expectedAmount\n        );\n\n        return receivedAmount;\n    }\n\n    /**\n     * @dev The function which performs the mega path swap.\n     * @param data Data required to perform swap.\n     */\n    function megaSwap(Utils.MegaSwapSellData memory data) public payable returns (uint256) {\n        require(data.deadline >= block.timestamp, \"Deadline breached\");\n        address fromToken = data.fromToken;\n        uint256 fromAmount = data.fromAmount;\n        require(msg.value == (fromToken == Utils.ethAddress() ? fromAmount : 0), \"Incorrect msg.value\");\n        uint256 toAmount = data.toAmount;\n        uint256 expectedAmount = data.expectedAmount;\n        address payable beneficiary = data.beneficiary == address(0) ? msg.sender : data.beneficiary;\n        Utils.MegaSwapPath[] memory path = data.path;\n        address toToken = path[0].path[path[0].path.length - 1].to;\n\n        require(toAmount > 0, \"To amount can not be 0\");\n\n        //if fromToken is not ETH then transfer tokens from user to this contract\n        transferTokensFromProxy(fromToken, fromAmount, data.permit);\n        if (_isTakeFeeFromSrcToken(data.feePercent)) {\n            // take fee from source token\n            fromAmount = takeFromTokenFee(fromToken, fromAmount, data.partner, data.feePercent);\n        }\n\n        for (uint8 i = 0; i < uint8(path.length); i++) {\n            uint256 _fromAmount = fromAmount.mul(path[i].fromAmountPercent).div(10000);\n            if (i == path.length - 1) {\n                _fromAmount = Utils.tokenBalance(address(fromToken), address(this));\n            }\n            performSwap(fromToken, _fromAmount, path[i].path);\n        }\n\n        uint256 receivedAmount = Utils.tokenBalance(toToken, address(this));\n\n        require(receivedAmount >= toAmount, \"Received amount of tokens are less then expected\");\n\n        if (\n            _getFixedFeeBps(data.partner, data.feePercent) != 0 &&\n            !_isTakeFeeFromSrcToken(data.feePercent) &&\n            !_isReferral(data.feePercent)\n        ) {\n            // take fee from dest token\n            takeToTokenFeeAndTransfer(toToken, receivedAmount, beneficiary, data.partner, data.feePercent);\n        } else if (receivedAmount > expectedAmount && !_isTakeFeeFromSrcToken(data.feePercent)) {\n            takeSlippageAndTransferSell(\n                toToken,\n                beneficiary,\n                data.partner,\n                receivedAmount,\n                expectedAmount,\n                data.feePercent\n            );\n        } else {\n            // Fee is already taken from fromToken\n            // Transfer toToken to beneficiary\n            Utils.transferTokens(toToken, beneficiary, receivedAmount);\n        }\n\n        emit SwappedV3(\n            data.uuid,\n            data.partner,\n            data.feePercent,\n            msg.sender,\n            beneficiary,\n            fromToken,\n            toToken,\n            fromAmount,\n            receivedAmount,\n            expectedAmount\n        );\n\n        return receivedAmount;\n    }\n\n    //Helper function to perform swap\n    function performSwap(\n        address fromToken,\n        uint256 fromAmount,\n        Utils.Path[] memory path\n    ) private {\n        require(path.length > 0, \"Path not provided for swap\");\n\n        //Assuming path will not be too long to reach out of gas exception\n        for (uint256 i = 0; i < path.length; i++) {\n            //_fromToken will be either fromToken or toToken of the previous path\n            address _fromToken = i > 0 ? path[i - 1].to : fromToken;\n            address _toToken = path[i].to;\n\n            uint256 _fromAmount = i > 0 ? Utils.tokenBalance(_fromToken, address(this)) : fromAmount;\n\n            for (uint256 j = 0; j < path[i].adapters.length; j++) {\n                Utils.Adapter memory adapter = path[i].adapters[j];\n\n                //Check if exchange is supported\n                require(\n                    IAugustusSwapperV5(address(this)).hasRole(WHITELISTED_ROLE, adapter.adapter),\n                    \"Exchange not whitelisted\"\n                );\n\n                //Calculating tokens to be passed to the relevant exchange\n                //percentage should be 200 for 2%\n                uint256 fromAmountSlice = i > 0 && j == path[i].adapters.length.sub(1)\n                    ? Utils.tokenBalance(address(_fromToken), address(this))\n                    : _fromAmount.mul(adapter.percent).div(10000);\n\n                //DELEGATING CALL TO THE ADAPTER\n                (bool success, ) = adapter.adapter.delegatecall(\n                    abi.encodeWithSelector(\n                        IAdapter.swap.selector,\n                        _fromToken,\n                        _toToken,\n                        fromAmountSlice,\n                        uint256(0), //adapter.networkFee,\n                        adapter.route\n                    )\n                );\n\n                require(success, \"Call to adapter failed\");\n            }\n        }\n    }\n\n    //Helper function to perform swap\n    function performBuy(\n        address adapter,\n        address fromToken,\n        address toToken,\n        uint256 fromAmount,\n        uint256 toAmount,\n        Utils.Route[] memory routes\n    ) private returns (uint256) {\n        //Check if exchange is supported\n        require(IAugustusSwapperV5(address(this)).hasRole(WHITELISTED_ROLE, adapter), \"Exchange not whitelisted\");\n\n        for (uint256 j = 0; j < routes.length; j++) {\n            Utils.Route memory route = routes[j];\n\n            uint256 fromAmountSlice;\n            uint256 toAmountSlice;\n\n            //last route\n            if (j == routes.length.sub(1)) {\n                toAmountSlice = toAmount.sub(Utils.tokenBalance(address(toToken), address(this)));\n\n                fromAmountSlice = Utils.tokenBalance(address(fromToken), address(this));\n            } else {\n                fromAmountSlice = fromAmount.mul(route.percent).div(10000);\n                toAmountSlice = toAmount.mul(route.percent).div(10000);\n            }\n\n            //delegate Call to the exchange\n            (bool success, ) = adapter.delegatecall(\n                abi.encodeWithSelector(\n                    IBuyAdapter.buy.selector,\n                    route.index,\n                    fromToken,\n                    toToken,\n                    fromAmountSlice,\n                    toAmountSlice,\n                    route.targetExchange,\n                    route.payload\n                )\n            );\n            require(success, \"Call to adapter failed\");\n        }\n\n        uint256 receivedAmount = Utils.tokenBalance(toToken, address(this));\n        require(receivedAmount >= toAmount, \"Received amount of tokens are less then expected tokens\");\n\n        return receivedAmount;\n    }\n\n    function transferTokensFromProxy(\n        address token,\n        uint256 amount,\n        bytes memory permit\n    ) private {\n        if (token != Utils.ethAddress()) {\n            Utils.permit(token, permit);\n            tokenTransferProxy.transferFrom(token, msg.sender, address(this), amount);\n        }\n    }\n}\n"
                  }
                ],
                "abi": [
                  {
                    "type": "constructor",
                    "name": "",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "",
                    "inputs": [
                      {
                        "name": "_partnerSharePercent",
                        "type": "uint256",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "uint"
                        }
                      },
                      {
                        "name": "_maxFeePercent",
                        "type": "uint256",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "uint"
                        }
                      },
                      {
                        "name": "_paraswapReferralShare",
                        "type": "uint256",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "uint"
                        }
                      },
                      {
                        "name": "_paraswapSlippageShare",
                        "type": "uint256",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "uint"
                        }
                      },
                      {
                        "name": "_feeClaimer",
                        "type": "address",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "address"
                        }
                      }
                    ],
                    "outputs": null
                  },
                  {
                    "type": "function",
                    "name": "paraswapReferralShare",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "view",
                    "inputs": [],
                    "outputs": [
                      {
                        "name": "",
                        "type": "uint256",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "uint"
                        }
                      }
                    ]
                  },
                  {
                    "type": "function",
                    "name": "getKey",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "pure",
                    "inputs": [],
                    "outputs": [
                      {
                        "name": "",
                        "type": "bytes32",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "bytes"
                        }
                      }
                    ]
                  },
                  {
                    "type": "function",
                    "name": "maxFeePercent",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "view",
                    "inputs": [],
                    "outputs": [
                      {
                        "name": "",
                        "type": "uint256",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "uint"
                        }
                      }
                    ]
                  },
                  {
                    "type": "function",
                    "name": "megaSwap",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "payable",
                    "inputs": [
                      {
                        "name": "data",
                        "type": "tuple",
                        "storage_location": "default",
                        "components": [
                          {
                            "name": "fromToken",
                            "type": "address",
                            "storage_location": "default",
                            "offset": 0,
                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                            "indexed": false,
                            "simple_type": {
                              "type": "address"
                            }
                          },
                          {
                            "name": "fromAmount",
                            "type": "uint256",
                            "storage_location": "default",
                            "offset": 0,
                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                            "indexed": false,
                            "simple_type": {
                              "type": "uint"
                            }
                          },
                          {
                            "name": "toAmount",
                            "type": "uint256",
                            "storage_location": "default",
                            "offset": 0,
                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                            "indexed": false,
                            "simple_type": {
                              "type": "uint"
                            }
                          },
                          {
                            "name": "expectedAmount",
                            "type": "uint256",
                            "storage_location": "default",
                            "offset": 0,
                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                            "indexed": false,
                            "simple_type": {
                              "type": "uint"
                            }
                          },
                          {
                            "name": "beneficiary",
                            "type": "address",
                            "storage_location": "default",
                            "offset": 0,
                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                            "indexed": false,
                            "simple_type": {
                              "type": "address"
                            }
                          },
                          {
                            "name": "path",
                            "type": "tuple[]",
                            "storage_location": "default",
                            "components": [
                              {
                                "name": "fromAmountPercent",
                                "type": "uint256",
                                "storage_location": "default",
                                "offset": 0,
                                "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                "indexed": false,
                                "simple_type": {
                                  "type": "uint"
                                }
                              },
                              {
                                "name": "path",
                                "type": "tuple[]",
                                "storage_location": "default",
                                "components": [
                                  {
                                    "name": "to",
                                    "type": "address",
                                    "storage_location": "default",
                                    "offset": 0,
                                    "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                    "indexed": false,
                                    "simple_type": {
                                      "type": "address"
                                    }
                                  },
                                  {
                                    "name": "totalNetworkFee",
                                    "type": "uint256",
                                    "storage_location": "default",
                                    "offset": 0,
                                    "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                    "indexed": false,
                                    "simple_type": {
                                      "type": "uint"
                                    }
                                  },
                                  {
                                    "name": "adapters",
                                    "type": "tuple[]",
                                    "storage_location": "default",
                                    "components": [
                                      {
                                        "name": "adapter",
                                        "type": "address",
                                        "storage_location": "default",
                                        "offset": 0,
                                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                        "indexed": false,
                                        "simple_type": {
                                          "type": "address"
                                        }
                                      },
                                      {
                                        "name": "percent",
                                        "type": "uint256",
                                        "storage_location": "default",
                                        "offset": 0,
                                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                        "indexed": false,
                                        "simple_type": {
                                          "type": "uint"
                                        }
                                      },
                                      {
                                        "name": "networkFee",
                                        "type": "uint256",
                                        "storage_location": "default",
                                        "offset": 0,
                                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                        "indexed": false,
                                        "simple_type": {
                                          "type": "uint"
                                        }
                                      },
                                      {
                                        "name": "route",
                                        "type": "tuple[]",
                                        "storage_location": "default",
                                        "components": [
                                          {
                                            "name": "index",
                                            "type": "uint256",
                                            "storage_location": "default",
                                            "offset": 0,
                                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                            "indexed": false,
                                            "simple_type": {
                                              "type": "uint"
                                            }
                                          },
                                          {
                                            "name": "targetExchange",
                                            "type": "address",
                                            "storage_location": "default",
                                            "offset": 0,
                                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                            "indexed": false,
                                            "simple_type": {
                                              "type": "address"
                                            }
                                          },
                                          {
                                            "name": "percent",
                                            "type": "uint256",
                                            "storage_location": "default",
                                            "offset": 0,
                                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                            "indexed": false,
                                            "simple_type": {
                                              "type": "uint"
                                            }
                                          },
                                          {
                                            "name": "payload",
                                            "type": "bytes",
                                            "storage_location": "default",
                                            "offset": 0,
                                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                            "indexed": false,
                                            "simple_type": {
                                              "type": "bytes"
                                            }
                                          },
                                          {
                                            "name": "networkFee",
                                            "type": "uint256",
                                            "storage_location": "default",
                                            "offset": 0,
                                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                            "indexed": false,
                                            "simple_type": {
                                              "type": "uint"
                                            }
                                          }
                                        ],
                                        "offset": 0,
                                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                        "indexed": false,
                                        "simple_type": {
                                          "type": "slice"
                                        }
                                      }
                                    ],
                                    "offset": 0,
                                    "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                    "indexed": false,
                                    "simple_type": {
                                      "type": "slice"
                                    }
                                  }
                                ],
                                "offset": 0,
                                "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                "indexed": false,
                                "simple_type": {
                                  "type": "slice"
                                }
                              }
                            ],
                            "offset": 0,
                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                            "indexed": false,
                            "simple_type": {
                              "type": "slice"
                            }
                          },
                          {
                            "name": "partner",
                            "type": "address",
                            "storage_location": "default",
                            "offset": 0,
                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                            "indexed": false,
                            "simple_type": {
                              "type": "address"
                            }
                          },
                          {
                            "name": "feePercent",
                            "type": "uint256",
                            "storage_location": "default",
                            "offset": 0,
                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                            "indexed": false,
                            "simple_type": {
                              "type": "uint"
                            }
                          },
                          {
                            "name": "permit",
                            "type": "bytes",
                            "storage_location": "default",
                            "offset": 0,
                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                            "indexed": false,
                            "simple_type": {
                              "type": "bytes"
                            }
                          },
                          {
                            "name": "deadline",
                            "type": "uint256",
                            "storage_location": "default",
                            "offset": 0,
                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                            "indexed": false,
                            "simple_type": {
                              "type": "uint"
                            }
                          },
                          {
                            "name": "uuid",
                            "type": "bytes16",
                            "storage_location": "default",
                            "offset": 0,
                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                            "indexed": false,
                            "simple_type": {
                              "type": "bytes"
                            }
                          }
                        ],
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false
                      }
                    ],
                    "outputs": [
                      {
                        "name": "",
                        "type": "uint256",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "uint"
                        }
                      }
                    ]
                  },
                  {
                    "type": "function",
                    "name": "paraswapSlippageShare",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "view",
                    "inputs": [],
                    "outputs": [
                      {
                        "name": "",
                        "type": "uint256",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "uint"
                        }
                      }
                    ]
                  },
                  {
                    "type": "function",
                    "name": "ROUTER_ROLE",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "view",
                    "inputs": [],
                    "outputs": [
                      {
                        "name": "",
                        "type": "bytes32",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "bytes"
                        }
                      }
                    ]
                  },
                  {
                    "type": "function",
                    "name": "WHITELISTED_ROLE",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "view",
                    "inputs": [],
                    "outputs": [
                      {
                        "name": "",
                        "type": "bytes32",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "bytes"
                        }
                      }
                    ]
                  },
                  {
                    "type": "function",
                    "name": "feeClaimer",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "view",
                    "inputs": [],
                    "outputs": [
                      {
                        "name": "",
                        "type": "address",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "address"
                        }
                      }
                    ]
                  },
                  {
                    "type": "function",
                    "name": "initialize",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "nonpayable",
                    "inputs": [
                      {
                        "name": "",
                        "type": "bytes",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "bytes"
                        }
                      }
                    ],
                    "outputs": []
                  },
                  {
                    "type": "function",
                    "name": "partnerSharePercent",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "view",
                    "inputs": [],
                    "outputs": [
                      {
                        "name": "",
                        "type": "uint256",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "uint"
                        }
                      }
                    ]
                  },
                  {
                    "type": "function",
                    "name": "buy",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "payable",
                    "inputs": [
                      {
                        "name": "data",
                        "type": "tuple",
                        "storage_location": "default",
                        "components": [
                          {
                            "name": "adapter",
                            "type": "address",
                            "storage_location": "default",
                            "offset": 0,
                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                            "indexed": false,
                            "simple_type": {
                              "type": "address"
                            }
                          },
                          {
                            "name": "fromToken",
                            "type": "address",
                            "storage_location": "default",
                            "offset": 0,
                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                            "indexed": false,
                            "simple_type": {
                              "type": "address"
                            }
                          },
                          {
                            "name": "toToken",
                            "type": "address",
                            "storage_location": "default",
                            "offset": 0,
                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                            "indexed": false,
                            "simple_type": {
                              "type": "address"
                            }
                          },
                          {
                            "name": "fromAmount",
                            "type": "uint256",
                            "storage_location": "default",
                            "offset": 0,
                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                            "indexed": false,
                            "simple_type": {
                              "type": "uint"
                            }
                          },
                          {
                            "name": "toAmount",
                            "type": "uint256",
                            "storage_location": "default",
                            "offset": 0,
                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                            "indexed": false,
                            "simple_type": {
                              "type": "uint"
                            }
                          },
                          {
                            "name": "expectedAmount",
                            "type": "uint256",
                            "storage_location": "default",
                            "offset": 0,
                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                            "indexed": false,
                            "simple_type": {
                              "type": "uint"
                            }
                          },
                          {
                            "name": "beneficiary",
                            "type": "address",
                            "storage_location": "default",
                            "offset": 0,
                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                            "indexed": false,
                            "simple_type": {
                              "type": "address"
                            }
                          },
                          {
                            "name": "route",
                            "type": "tuple[]",
                            "storage_location": "default",
                            "components": [
                              {
                                "name": "index",
                                "type": "uint256",
                                "storage_location": "default",
                                "offset": 0,
                                "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                "indexed": false,
                                "simple_type": {
                                  "type": "uint"
                                }
                              },
                              {
                                "name": "targetExchange",
                                "type": "address",
                                "storage_location": "default",
                                "offset": 0,
                                "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                "indexed": false,
                                "simple_type": {
                                  "type": "address"
                                }
                              },
                              {
                                "name": "percent",
                                "type": "uint256",
                                "storage_location": "default",
                                "offset": 0,
                                "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                "indexed": false,
                                "simple_type": {
                                  "type": "uint"
                                }
                              },
                              {
                                "name": "payload",
                                "type": "bytes",
                                "storage_location": "default",
                                "offset": 0,
                                "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                "indexed": false,
                                "simple_type": {
                                  "type": "bytes"
                                }
                              },
                              {
                                "name": "networkFee",
                                "type": "uint256",
                                "storage_location": "default",
                                "offset": 0,
                                "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                "indexed": false,
                                "simple_type": {
                                  "type": "uint"
                                }
                              }
                            ],
                            "offset": 0,
                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                            "indexed": false,
                            "simple_type": {
                              "type": "slice"
                            }
                          },
                          {
                            "name": "partner",
                            "type": "address",
                            "storage_location": "default",
                            "offset": 0,
                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                            "indexed": false,
                            "simple_type": {
                              "type": "address"
                            }
                          },
                          {
                            "name": "feePercent",
                            "type": "uint256",
                            "storage_location": "default",
                            "offset": 0,
                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                            "indexed": false,
                            "simple_type": {
                              "type": "uint"
                            }
                          },
                          {
                            "name": "permit",
                            "type": "bytes",
                            "storage_location": "default",
                            "offset": 0,
                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                            "indexed": false,
                            "simple_type": {
                              "type": "bytes"
                            }
                          },
                          {
                            "name": "deadline",
                            "type": "uint256",
                            "storage_location": "default",
                            "offset": 0,
                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                            "indexed": false,
                            "simple_type": {
                              "type": "uint"
                            }
                          },
                          {
                            "name": "uuid",
                            "type": "bytes16",
                            "storage_location": "default",
                            "offset": 0,
                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                            "indexed": false,
                            "simple_type": {
                              "type": "bytes"
                            }
                          }
                        ],
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false
                      }
                    ],
                    "outputs": [
                      {
                        "name": "",
                        "type": "uint256",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "uint"
                        }
                      }
                    ]
                  },
                  {
                    "type": "function",
                    "name": "multiSwap",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "payable",
                    "inputs": [
                      {
                        "name": "data",
                        "type": "tuple",
                        "storage_location": "default",
                        "components": [
                          {
                            "name": "fromToken",
                            "type": "address",
                            "storage_location": "default",
                            "offset": 0,
                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                            "indexed": false,
                            "simple_type": {
                              "type": "address"
                            }
                          },
                          {
                            "name": "fromAmount",
                            "type": "uint256",
                            "storage_location": "default",
                            "offset": 0,
                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                            "indexed": false,
                            "simple_type": {
                              "type": "uint"
                            }
                          },
                          {
                            "name": "toAmount",
                            "type": "uint256",
                            "storage_location": "default",
                            "offset": 0,
                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                            "indexed": false,
                            "simple_type": {
                              "type": "uint"
                            }
                          },
                          {
                            "name": "expectedAmount",
                            "type": "uint256",
                            "storage_location": "default",
                            "offset": 0,
                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                            "indexed": false,
                            "simple_type": {
                              "type": "uint"
                            }
                          },
                          {
                            "name": "beneficiary",
                            "type": "address",
                            "storage_location": "default",
                            "offset": 0,
                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                            "indexed": false,
                            "simple_type": {
                              "type": "address"
                            }
                          },
                          {
                            "name": "path",
                            "type": "tuple[]",
                            "storage_location": "default",
                            "components": [
                              {
                                "name": "to",
                                "type": "address",
                                "storage_location": "default",
                                "offset": 0,
                                "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                "indexed": false,
                                "simple_type": {
                                  "type": "address"
                                }
                              },
                              {
                                "name": "totalNetworkFee",
                                "type": "uint256",
                                "storage_location": "default",
                                "offset": 0,
                                "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                "indexed": false,
                                "simple_type": {
                                  "type": "uint"
                                }
                              },
                              {
                                "name": "adapters",
                                "type": "tuple[]",
                                "storage_location": "default",
                                "components": [
                                  {
                                    "name": "adapter",
                                    "type": "address",
                                    "storage_location": "default",
                                    "offset": 0,
                                    "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                    "indexed": false,
                                    "simple_type": {
                                      "type": "address"
                                    }
                                  },
                                  {
                                    "name": "percent",
                                    "type": "uint256",
                                    "storage_location": "default",
                                    "offset": 0,
                                    "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                    "indexed": false,
                                    "simple_type": {
                                      "type": "uint"
                                    }
                                  },
                                  {
                                    "name": "networkFee",
                                    "type": "uint256",
                                    "storage_location": "default",
                                    "offset": 0,
                                    "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                    "indexed": false,
                                    "simple_type": {
                                      "type": "uint"
                                    }
                                  },
                                  {
                                    "name": "route",
                                    "type": "tuple[]",
                                    "storage_location": "default",
                                    "components": [
                                      {
                                        "name": "index",
                                        "type": "uint256",
                                        "storage_location": "default",
                                        "offset": 0,
                                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                        "indexed": false,
                                        "simple_type": {
                                          "type": "uint"
                                        }
                                      },
                                      {
                                        "name": "targetExchange",
                                        "type": "address",
                                        "storage_location": "default",
                                        "offset": 0,
                                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                        "indexed": false,
                                        "simple_type": {
                                          "type": "address"
                                        }
                                      },
                                      {
                                        "name": "percent",
                                        "type": "uint256",
                                        "storage_location": "default",
                                        "offset": 0,
                                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                        "indexed": false,
                                        "simple_type": {
                                          "type": "uint"
                                        }
                                      },
                                      {
                                        "name": "payload",
                                        "type": "bytes",
                                        "storage_location": "default",
                                        "offset": 0,
                                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                        "indexed": false,
                                        "simple_type": {
                                          "type": "bytes"
                                        }
                                      },
                                      {
                                        "name": "networkFee",
                                        "type": "uint256",
                                        "storage_location": "default",
                                        "offset": 0,
                                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                        "indexed": false,
                                        "simple_type": {
                                          "type": "uint"
                                        }
                                      }
                                    ],
                                    "offset": 0,
                                    "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                    "indexed": false,
                                    "simple_type": {
                                      "type": "slice"
                                    }
                                  }
                                ],
                                "offset": 0,
                                "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                "indexed": false,
                                "simple_type": {
                                  "type": "slice"
                                }
                              }
                            ],
                            "offset": 0,
                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                            "indexed": false,
                            "simple_type": {
                              "type": "slice"
                            }
                          },
                          {
                            "name": "partner",
                            "type": "address",
                            "storage_location": "default",
                            "offset": 0,
                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                            "indexed": false,
                            "simple_type": {
                              "type": "address"
                            }
                          },
                          {
                            "name": "feePercent",
                            "type": "uint256",
                            "storage_location": "default",
                            "offset": 0,
                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                            "indexed": false,
                            "simple_type": {
                              "type": "uint"
                            }
                          },
                          {
                            "name": "permit",
                            "type": "bytes",
                            "storage_location": "default",
                            "offset": 0,
                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                            "indexed": false,
                            "simple_type": {
                              "type": "bytes"
                            }
                          },
                          {
                            "name": "deadline",
                            "type": "uint256",
                            "storage_location": "default",
                            "offset": 0,
                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                            "indexed": false,
                            "simple_type": {
                              "type": "uint"
                            }
                          },
                          {
                            "name": "uuid",
                            "type": "bytes16",
                            "storage_location": "default",
                            "offset": 0,
                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                            "indexed": false,
                            "simple_type": {
                              "type": "bytes"
                            }
                          }
                        ],
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false
                      }
                    ],
                    "outputs": [
                      {
                        "name": "",
                        "type": "uint256",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "uint"
                        }
                      }
                    ]
                  },
                  {
                    "type": "event",
                    "name": "BoughtV3",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "",
                    "inputs": [
                      {
                        "name": "uuid",
                        "type": "bytes16",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "bytes"
                        }
                      },
                      {
                        "name": "partner",
                        "type": "address",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "address"
                        }
                      },
                      {
                        "name": "feePercent",
                        "type": "uint256",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "uint"
                        }
                      },
                      {
                        "name": "initiator",
                        "type": "address",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "address"
                        }
                      },
                      {
                        "name": "beneficiary",
                        "type": "address",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": true,
                        "simple_type": {
                          "type": "address"
                        }
                      },
                      {
                        "name": "srcToken",
                        "type": "address",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": true,
                        "simple_type": {
                          "type": "address"
                        }
                      },
                      {
                        "name": "destToken",
                        "type": "address",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": true,
                        "simple_type": {
                          "type": "address"
                        }
                      },
                      {
                        "name": "srcAmount",
                        "type": "uint256",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "uint"
                        }
                      },
                      {
                        "name": "receivedAmount",
                        "type": "uint256",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "uint"
                        }
                      },
                      {
                        "name": "expectedAmount",
                        "type": "uint256",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "uint"
                        }
                      }
                    ],
                    "outputs": null
                  },
                  {
                    "type": "event",
                    "name": "SwappedV3",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "",
                    "inputs": [
                      {
                        "name": "uuid",
                        "type": "bytes16",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "bytes"
                        }
                      },
                      {
                        "name": "partner",
                        "type": "address",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "address"
                        }
                      },
                      {
                        "name": "feePercent",
                        "type": "uint256",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "uint"
                        }
                      },
                      {
                        "name": "initiator",
                        "type": "address",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "address"
                        }
                      },
                      {
                        "name": "beneficiary",
                        "type": "address",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": true,
                        "simple_type": {
                          "type": "address"
                        }
                      },
                      {
                        "name": "srcToken",
                        "type": "address",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": true,
                        "simple_type": {
                          "type": "address"
                        }
                      },
                      {
                        "name": "destToken",
                        "type": "address",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": true,
                        "simple_type": {
                          "type": "address"
                        }
                      },
                      {
                        "name": "srcAmount",
                        "type": "uint256",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "uint"
                        }
                      },
                      {
                        "name": "receivedAmount",
                        "type": "uint256",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "uint"
                        }
                      },
                      {
                        "name": "expectedAmount",
                        "type": "uint256",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "uint"
                        }
                      }
                    ],
                    "outputs": null
                  }
                ],
                "raw_abi": [
                  {
                    "inputs": [
                      {
                        "internalType": "uint256",
                        "name": "_partnerSharePercent",
                        "type": "uint256"
                      },
                      {
                        "internalType": "uint256",
                        "name": "_maxFeePercent",
                        "type": "uint256"
                      },
                      {
                        "internalType": "uint256",
                        "name": "_paraswapReferralShare",
                        "type": "uint256"
                      },
                      {
                        "internalType": "uint256",
                        "name": "_paraswapSlippageShare",
                        "type": "uint256"
                      },
                      {
                        "internalType": "contract IFeeClaimer",
                        "name": "_feeClaimer",
                        "type": "address"
                      }
                    ],
                    "stateMutability": "nonpayable",
                    "type": "constructor"
                  },
                  {
                    "anonymous": false,
                    "inputs": [
                      {
                        "indexed": false,
                        "internalType": "bytes16",
                        "name": "uuid",
                        "type": "bytes16"
                      },
                      {
                        "indexed": false,
                        "internalType": "address",
                        "name": "partner",
                        "type": "address"
                      },
                      {
                        "indexed": false,
                        "internalType": "uint256",
                        "name": "feePercent",
                        "type": "uint256"
                      },
                      {
                        "indexed": false,
                        "internalType": "address",
                        "name": "initiator",
                        "type": "address"
                      },
                      {
                        "indexed": true,
                        "internalType": "address",
                        "name": "beneficiary",
                        "type": "address"
                      },
                      {
                        "indexed": true,
                        "internalType": "address",
                        "name": "srcToken",
                        "type": "address"
                      },
                      {
                        "indexed": true,
                        "internalType": "address",
                        "name": "destToken",
                        "type": "address"
                      },
                      {
                        "indexed": false,
                        "internalType": "uint256",
                        "name": "srcAmount",
                        "type": "uint256"
                      },
                      {
                        "indexed": false,
                        "internalType": "uint256",
                        "name": "receivedAmount",
                        "type": "uint256"
                      },
                      {
                        "indexed": false,
                        "internalType": "uint256",
                        "name": "expectedAmount",
                        "type": "uint256"
                      }
                    ],
                    "name": "BoughtV3",
                    "type": "event"
                  },
                  {
                    "anonymous": false,
                    "inputs": [
                      {
                        "indexed": false,
                        "internalType": "bytes16",
                        "name": "uuid",
                        "type": "bytes16"
                      },
                      {
                        "indexed": false,
                        "internalType": "address",
                        "name": "partner",
                        "type": "address"
                      },
                      {
                        "indexed": false,
                        "internalType": "uint256",
                        "name": "feePercent",
                        "type": "uint256"
                      },
                      {
                        "indexed": false,
                        "internalType": "address",
                        "name": "initiator",
                        "type": "address"
                      },
                      {
                        "indexed": true,
                        "internalType": "address",
                        "name": "beneficiary",
                        "type": "address"
                      },
                      {
                        "indexed": true,
                        "internalType": "address",
                        "name": "srcToken",
                        "type": "address"
                      },
                      {
                        "indexed": true,
                        "internalType": "address",
                        "name": "destToken",
                        "type": "address"
                      },
                      {
                        "indexed": false,
                        "internalType": "uint256",
                        "name": "srcAmount",
                        "type": "uint256"
                      },
                      {
                        "indexed": false,
                        "internalType": "uint256",
                        "name": "receivedAmount",
                        "type": "uint256"
                      },
                      {
                        "indexed": false,
                        "internalType": "uint256",
                        "name": "expectedAmount",
                        "type": "uint256"
                      }
                    ],
                    "name": "SwappedV3",
                    "type": "event"
                  },
                  {
                    "inputs": [],
                    "name": "ROUTER_ROLE",
                    "outputs": [
                      {
                        "internalType": "bytes32",
                        "name": "",
                        "type": "bytes32"
                      }
                    ],
                    "stateMutability": "view",
                    "type": "function"
                  },
                  {
                    "inputs": [],
                    "name": "WHITELISTED_ROLE",
                    "outputs": [
                      {
                        "internalType": "bytes32",
                        "name": "",
                        "type": "bytes32"
                      }
                    ],
                    "stateMutability": "view",
                    "type": "function"
                  },
                  {
                    "inputs": [
                      {
                        "components": [
                          {
                            "internalType": "address",
                            "name": "adapter",
                            "type": "address"
                          },
                          {
                            "internalType": "address",
                            "name": "fromToken",
                            "type": "address"
                          },
                          {
                            "internalType": "address",
                            "name": "toToken",
                            "type": "address"
                          },
                          {
                            "internalType": "uint256",
                            "name": "fromAmount",
                            "type": "uint256"
                          },
                          {
                            "internalType": "uint256",
                            "name": "toAmount",
                            "type": "uint256"
                          },
                          {
                            "internalType": "uint256",
                            "name": "expectedAmount",
                            "type": "uint256"
                          },
                          {
                            "internalType": "address payable",
                            "name": "beneficiary",
                            "type": "address"
                          },
                          {
                            "components": [
                              {
                                "internalType": "uint256",
                                "name": "index",
                                "type": "uint256"
                              },
                              {
                                "internalType": "address",
                                "name": "targetExchange",
                                "type": "address"
                              },
                              {
                                "internalType": "uint256",
                                "name": "percent",
                                "type": "uint256"
                              },
                              {
                                "internalType": "bytes",
                                "name": "payload",
                                "type": "bytes"
                              },
                              {
                                "internalType": "uint256",
                                "name": "networkFee",
                                "type": "uint256"
                              }
                            ],
                            "internalType": "struct Utils.Route[]",
                            "name": "route",
                            "type": "tuple[]"
                          },
                          {
                            "internalType": "address payable",
                            "name": "partner",
                            "type": "address"
                          },
                          {
                            "internalType": "uint256",
                            "name": "feePercent",
                            "type": "uint256"
                          },
                          {
                            "internalType": "bytes",
                            "name": "permit",
                            "type": "bytes"
                          },
                          {
                            "internalType": "uint256",
                            "name": "deadline",
                            "type": "uint256"
                          },
                          {
                            "internalType": "bytes16",
                            "name": "uuid",
                            "type": "bytes16"
                          }
                        ],
                        "internalType": "struct Utils.BuyData",
                        "name": "data",
                        "type": "tuple"
                      }
                    ],
                    "name": "buy",
                    "outputs": [
                      {
                        "internalType": "uint256",
                        "name": "",
                        "type": "uint256"
                      }
                    ],
                    "stateMutability": "payable",
                    "type": "function"
                  },
                  {
                    "inputs": [],
                    "name": "feeClaimer",
                    "outputs": [
                      {
                        "internalType": "contract IFeeClaimer",
                        "name": "",
                        "type": "address"
                      }
                    ],
                    "stateMutability": "view",
                    "type": "function"
                  },
                  {
                    "inputs": [],
                    "name": "getKey",
                    "outputs": [
                      {
                        "internalType": "bytes32",
                        "name": "",
                        "type": "bytes32"
                      }
                    ],
                    "stateMutability": "pure",
                    "type": "function"
                  },
                  {
                    "inputs": [
                      {
                        "internalType": "bytes",
                        "name": "",
                        "type": "bytes"
                      }
                    ],
                    "name": "initialize",
                    "outputs": [],
                    "stateMutability": "nonpayable",
                    "type": "function"
                  },
                  {
                    "inputs": [],
                    "name": "maxFeePercent",
                    "outputs": [
                      {
                        "internalType": "uint256",
                        "name": "",
                        "type": "uint256"
                      }
                    ],
                    "stateMutability": "view",
                    "type": "function"
                  },
                  {
                    "inputs": [
                      {
                        "components": [
                          {
                            "internalType": "address",
                            "name": "fromToken",
                            "type": "address"
                          },
                          {
                            "internalType": "uint256",
                            "name": "fromAmount",
                            "type": "uint256"
                          },
                          {
                            "internalType": "uint256",
                            "name": "toAmount",
                            "type": "uint256"
                          },
                          {
                            "internalType": "uint256",
                            "name": "expectedAmount",
                            "type": "uint256"
                          },
                          {
                            "internalType": "address payable",
                            "name": "beneficiary",
                            "type": "address"
                          },
                          {
                            "components": [
                              {
                                "internalType": "uint256",
                                "name": "fromAmountPercent",
                                "type": "uint256"
                              },
                              {
                                "components": [
                                  {
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                  },
                                  {
                                    "internalType": "uint256",
                                    "name": "totalNetworkFee",
                                    "type": "uint256"
                                  },
                                  {
                                    "components": [
                                      {
                                        "internalType": "address payable",
                                        "name": "adapter",
                                        "type": "address"
                                      },
                                      {
                                        "internalType": "uint256",
                                        "name": "percent",
                                        "type": "uint256"
                                      },
                                      {
                                        "internalType": "uint256",
                                        "name": "networkFee",
                                        "type": "uint256"
                                      },
                                      {
                                        "components": [
                                          {
                                            "internalType": "uint256",
                                            "name": "index",
                                            "type": "uint256"
                                          },
                                          {
                                            "internalType": "address",
                                            "name": "targetExchange",
                                            "type": "address"
                                          },
                                          {
                                            "internalType": "uint256",
                                            "name": "percent",
                                            "type": "uint256"
                                          },
                                          {
                                            "internalType": "bytes",
                                            "name": "payload",
                                            "type": "bytes"
                                          },
                                          {
                                            "internalType": "uint256",
                                            "name": "networkFee",
                                            "type": "uint256"
                                          }
                                        ],
                                        "internalType": "struct Utils.Route[]",
                                        "name": "route",
                                        "type": "tuple[]"
                                      }
                                    ],
                                    "internalType": "struct Utils.Adapter[]",
                                    "name": "adapters",
                                    "type": "tuple[]"
                                  }
                                ],
                                "internalType": "struct Utils.Path[]",
                                "name": "path",
                                "type": "tuple[]"
                              }
                            ],
                            "internalType": "struct Utils.MegaSwapPath[]",
                            "name": "path",
                            "type": "tuple[]"
                          },
                          {
                            "internalType": "address payable",
                            "name": "partner",
                            "type": "address"
                          },
                          {
                            "internalType": "uint256",
                            "name": "feePercent",
                            "type": "uint256"
                          },
                          {
                            "internalType": "bytes",
                            "name": "permit",
                            "type": "bytes"
                          },
                          {
                            "internalType": "uint256",
                            "name": "deadline",
                            "type": "uint256"
                          },
                          {
                            "internalType": "bytes16",
                            "name": "uuid",
                            "type": "bytes16"
                          }
                        ],
                        "internalType": "struct Utils.MegaSwapSellData",
                        "name": "data",
                        "type": "tuple"
                      }
                    ],
                    "name": "megaSwap",
                    "outputs": [
                      {
                        "internalType": "uint256",
                        "name": "",
                        "type": "uint256"
                      }
                    ],
                    "stateMutability": "payable",
                    "type": "function"
                  },
                  {
                    "inputs": [
                      {
                        "components": [
                          {
                            "internalType": "address",
                            "name": "fromToken",
                            "type": "address"
                          },
                          {
                            "internalType": "uint256",
                            "name": "fromAmount",
                            "type": "uint256"
                          },
                          {
                            "internalType": "uint256",
                            "name": "toAmount",
                            "type": "uint256"
                          },
                          {
                            "internalType": "uint256",
                            "name": "expectedAmount",
                            "type": "uint256"
                          },
                          {
                            "internalType": "address payable",
                            "name": "beneficiary",
                            "type": "address"
                          },
                          {
                            "components": [
                              {
                                "internalType": "address",
                                "name": "to",
                                "type": "address"
                              },
                              {
                                "internalType": "uint256",
                                "name": "totalNetworkFee",
                                "type": "uint256"
                              },
                              {
                                "components": [
                                  {
                                    "internalType": "address payable",
                                    "name": "adapter",
                                    "type": "address"
                                  },
                                  {
                                    "internalType": "uint256",
                                    "name": "percent",
                                    "type": "uint256"
                                  },
                                  {
                                    "internalType": "uint256",
                                    "name": "networkFee",
                                    "type": "uint256"
                                  },
                                  {
                                    "components": [
                                      {
                                        "internalType": "uint256",
                                        "name": "index",
                                        "type": "uint256"
                                      },
                                      {
                                        "internalType": "address",
                                        "name": "targetExchange",
                                        "type": "address"
                                      },
                                      {
                                        "internalType": "uint256",
                                        "name": "percent",
                                        "type": "uint256"
                                      },
                                      {
                                        "internalType": "bytes",
                                        "name": "payload",
                                        "type": "bytes"
                                      },
                                      {
                                        "internalType": "uint256",
                                        "name": "networkFee",
                                        "type": "uint256"
                                      }
                                    ],
                                    "internalType": "struct Utils.Route[]",
                                    "name": "route",
                                    "type": "tuple[]"
                                  }
                                ],
                                "internalType": "struct Utils.Adapter[]",
                                "name": "adapters",
                                "type": "tuple[]"
                              }
                            ],
                            "internalType": "struct Utils.Path[]",
                            "name": "path",
                            "type": "tuple[]"
                          },
                          {
                            "internalType": "address payable",
                            "name": "partner",
                            "type": "address"
                          },
                          {
                            "internalType": "uint256",
                            "name": "feePercent",
                            "type": "uint256"
                          },
                          {
                            "internalType": "bytes",
                            "name": "permit",
                            "type": "bytes"
                          },
                          {
                            "internalType": "uint256",
                            "name": "deadline",
                            "type": "uint256"
                          },
                          {
                            "internalType": "bytes16",
                            "name": "uuid",
                            "type": "bytes16"
                          }
                        ],
                        "internalType": "struct Utils.SellData",
                        "name": "data",
                        "type": "tuple"
                      }
                    ],
                    "name": "multiSwap",
                    "outputs": [
                      {
                        "internalType": "uint256",
                        "name": "",
                        "type": "uint256"
                      }
                    ],
                    "stateMutability": "payable",
                    "type": "function"
                  },
                  {
                    "inputs": [],
                    "name": "paraswapReferralShare",
                    "outputs": [
                      {
                        "internalType": "uint256",
                        "name": "",
                        "type": "uint256"
                      }
                    ],
                    "stateMutability": "view",
                    "type": "function"
                  },
                  {
                    "inputs": [],
                    "name": "paraswapSlippageShare",
                    "outputs": [
                      {
                        "internalType": "uint256",
                        "name": "",
                        "type": "uint256"
                      }
                    ],
                    "stateMutability": "view",
                    "type": "function"
                  },
                  {
                    "inputs": [],
                    "name": "partnerSharePercent",
                    "outputs": [
                      {
                        "internalType": "uint256",
                        "name": "",
                        "type": "uint256"
                      }
                    ],
                    "stateMutability": "view",
                    "type": "function"
                  }
                ],
                "states": [
                  {
                    "name": "adapterInitialized",
                    "type": "mapping (bytes32 => bool)",
                    "storage_location": "storage",
                    "offset": 0,
                    "index": "0x0000000000000000000000000000000000000000000000000000000000000004",
                    "indexed": false
                  },
                  {
                    "name": "adapterVsData",
                    "type": "mapping (bytes32 => bytes)",
                    "storage_location": "storage",
                    "offset": 0,
                    "index": "0x0000000000000000000000000000000000000000000000000000000000000005",
                    "indexed": false
                  },
                  {
                    "name": "routerData",
                    "type": "mapping (bytes32 => bytes)",
                    "storage_location": "storage",
                    "offset": 0,
                    "index": "0x0000000000000000000000000000000000000000000000000000000000000006",
                    "indexed": false
                  },
                  {
                    "name": "routerInitialized",
                    "type": "mapping (bytes32 => bool)",
                    "storage_location": "storage",
                    "offset": 0,
                    "index": "0x0000000000000000000000000000000000000000000000000000000000000007",
                    "indexed": false
                  },
                  {
                    "name": "tokenTransferProxy",
                    "type": "address",
                    "storage_location": "storage",
                    "offset": 0,
                    "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                    "indexed": false,
                    "simple_type": {
                      "type": "address"
                    }
                  },
                  {
                    "name": "feeWallet",
                    "type": "address payable",
                    "storage_location": "storage",
                    "offset": 0,
                    "index": "0x0000000000000000000000000000000000000000000000000000000000000001",
                    "indexed": false,
                    "simple_type": {
                      "type": "address payable"
                    }
                  },
                  {
                    "name": "registeredPartners",
                    "type": "mapping (address => tuple)",
                    "storage_location": "memory",
                    "components": [
                      {
                        "name": "partnerShare",
                        "type": "uint256",
                        "storage_location": "memory",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "uint"
                        }
                      },
                      {
                        "name": "noPositiveSlippage",
                        "type": "bool",
                        "storage_location": "memory",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000001",
                        "indexed": false,
                        "simple_type": {
                          "type": "bool"
                        }
                      },
                      {
                        "name": "positiveSlippageToUser",
                        "type": "bool",
                        "storage_location": "memory",
                        "offset": 8,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000001",
                        "indexed": false,
                        "simple_type": {
                          "type": "bool"
                        }
                      },
                      {
                        "name": "feePercent",
                        "type": "uint16",
                        "storage_location": "memory",
                        "offset": 16,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000001",
                        "indexed": false,
                        "simple_type": {
                          "type": "uint"
                        }
                      },
                      {
                        "name": "partnerId",
                        "type": "string",
                        "storage_location": "memory",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000002",
                        "indexed": false,
                        "simple_type": {
                          "type": "string"
                        }
                      },
                      {
                        "name": "data",
                        "type": "bytes",
                        "storage_location": "memory",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000003",
                        "indexed": false,
                        "simple_type": {
                          "type": "bytes"
                        }
                      }
                    ],
                    "offset": 0,
                    "index": "0x0000000000000000000000000000000000000000000000000000000000000002",
                    "indexed": false
                  },
                  {
                    "name": "selectorVsRouter",
                    "type": "mapping (bytes4 => address)",
                    "storage_location": "storage",
                    "offset": 0,
                    "index": "0x0000000000000000000000000000000000000000000000000000000000000003",
                    "indexed": false
                  }
                ]
              },
              "src_map": {
                "0": {
                  "r": "316:13499:14",
                  "s": 316,
                  "l": 13499,
                  "ln": 14,
                  "c": 1,
                  "f": 14,
                  "j": "-"
                },
                "2": {
                  "r": "316:13499:14",
                  "s": 316,
                  "l": 13499,
                  "ln": 14,
                  "c": 1,
                  "f": 14,
                  "j": "-"
                }
              },
              "creation_block": 0,
              "creation_tx": "",
              "creator_address": "",
              "created_at": "2023-06-13T17:26:36Z",
              "language": "solidity",
              "in_project": false
            },
            {
              "id": "eth:1:0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
              "contract_id": "eth:1:0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
              "balance": "",
              "network_id": "1",
              "public": true,
              "verified_by": "etherscan",
              "verification_date": "2021-08-18T12:43:57Z",
              "address": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
              "contract_name": "AugustusSwapper",
              "ens_domain": null,
              "type": "contract",
              "evm_version": "istanbul",
              "compiler_version": "v0.7.5+commit.eb77ed08",
              "optimizations_used": true,
              "optimization_runs": 1000000,
              "libraries": null,
              "compiler_settings": {
                "optimizer": {
                  "enabled": true,
                  "runs": 1000000
                },
                "evmVersion": "istanbul",
                "metadata": {
                  "useLiteralContent": true
                }
              },
              "deployed_bytecode": "0x60806040526004361061019a5760003560e01c80639010d07c116100e1578063a64b6e5f1161008a578063ca15c87311610064578063ca15c873146105eb578063d2c4b5981461060b578063d547741f14610620578063dc9cc64514610640576101a1565b8063a64b6e5f1461058b578063aa5b2458146105ab578063aa97ef02146105cb576101a1565b80639812f33b116100bb5780639812f33b146105365780639a5a98d314610556578063a217fddf14610576576101a1565b80639010d07c146104d657806390d49b9d146104f657806391d1485414610516576101a1565b806336568abe1161014357806360e355071161011d57806360e35507146104745780636df77496146104945780637a3226ec146104c1576101a1565b806336568abe146104055780633a9243d7146104255780635459060d14610452576101a1565b8063248a9ca311610174578063248a9ca3146103a35780632f2ff15d146103d057806330d643b5146103f0576101a1565b80630815f6fd146103365780630d8e6e2c146103585780631880021914610383576101a1565b366101a157005b600080357fffffffff0000000000000000000000000000000000000000000000000000000016905060006101d48261065b565b905073ffffffffffffffffffffffffffffffffffffffff81166102a8576102a87f734e6e1c6ec3f883cac8d13d3e7390b280f5e94424662aa29e27394ed56586c9836040516024016102269190612082565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091526106a9565b600060608273ffffffffffffffffffffffffffffffffffffffff166000366040516102d4929190611ff8565b600060405180830381855af49150503d806000811461030f576040519150601f19603f3d011682016040523d82523d6000602084013e610314565b606091505b50915091508161032757610327816106a9565b610330816106b1565b50505050005b34801561034257600080fd5b50610356610351366004611f83565b6106b9565b005b34801561036457600080fd5b5061036d6107da565b60405161037a91906120fc565b60405180910390f35b34801561038f57600080fd5b5061035661039e366004611dc9565b610811565b3480156103af57600080fd5b506103c36103be366004611f01565b610a31565b60405161037a9190612079565b3480156103dc57600080fd5b506103566103eb366004611f19565b610a46565b3480156103fc57600080fd5b506103c3610aa8565b34801561041157600080fd5b50610356610420366004611f19565b610acc565b34801561043157600080fd5b50610445610440366004611f01565b610b42565b60405161037a919061206e565b34801561045e57600080fd5b50610467610b57565b60405161037a9190612027565b34801561048057600080fd5b5061035661048f366004611dc9565b610b73565b3480156104a057600080fd5b506104b46104af366004611d6d565b610d93565b60405161037a91906125d1565b3480156104cd57600080fd5b506103c3610f6a565b3480156104e257600080fd5b506104676104f1366004611f48565b610f8e565b34801561050257600080fd5b50610356610511366004611d6d565b610faf565b34801561052257600080fd5b50610445610531366004611f19565b611084565b34801561054257600080fd5b50610445610551366004611f01565b61109c565b34801561056257600080fd5b5061036d610571366004611f01565b6110b1565b34801561058257600080fd5b506103c3611170565b34801561059757600080fd5b506103566105a6366004611d89565b611175565b3480156105b757600080fd5b506103566105c6366004611e1c565b6112c2565b3480156105d757600080fd5b5061036d6105e6366004611f01565b6114ef565b3480156105f757600080fd5b506103c3610606366004611f01565b611577565b34801561061757600080fd5b5061046761158e565b34801561062c57600080fd5b5061035661063b366004611f19565b6115aa565b34801561064c57600080fd5b5061046761065b366004611f69565b7fffffffff00000000000000000000000000000000000000000000000000000000811660009081526003602052604090205473ffffffffffffffffffffffffffffffffffffffff165b919050565b805160208201fd5b805160208201f35b6106c4600033611084565b610703576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa9061253d565b60405180910390fd5b61072d7f7a05a596cb0ce7fdea8a1e1ec73be300bdb35097c944ce1897202f7a13122eb282611084565b610763576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa906123a7565b7fffffffff0000000000000000000000000000000000000000000000000000000091909116600090815260036020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909216919091179055565b60408051808201909152600581527f352e302e30000000000000000000000000000000000000000000000000000000602082015290565b61081c600033611084565b610852576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa9061253d565b61087c7f8429d542926e6695b59ac6fbdcd9b37e8b1aeb757afab06ab60b1bb5878c3b4984611084565b6108b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa90612472565b60008373ffffffffffffffffffffffffffffffffffffffff1663439fab9160e01b84846040516024016108e69291906120af565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090941693909317909252905161096f9190612008565b600060405180830381855af49150503d80600081146109aa576040519150601f19603f3d011682016040523d82523d6000602084013e6109af565b606091505b50509050806109ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa906122dc565b60405173ffffffffffffffffffffffffffffffffffffffff8516907f4aa65286df310c4e8390d962c75f50380b8260d96ea27cf14847cd683e22d9db90600090a250505050565b60009081526008602052604090206002015490565b600082815260086020526040902060020154610a6490610531611620565b610a9a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa906121a3565b610aa48282611624565b5050565b7f7a05a596cb0ce7fdea8a1e1ec73be300bdb35097c944ce1897202f7a13122eb281565b610ad4611620565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610b38576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa90612574565b610aa482826116a7565b60009081526004602052604090205460ff1690565b60015473ffffffffffffffffffffffffffffffffffffffff1690565b610b7e600033611084565b610bb4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa9061253d565b610bde7f7a05a596cb0ce7fdea8a1e1ec73be300bdb35097c944ce1897202f7a13122eb284611084565b610c14576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa90612313565b60008373ffffffffffffffffffffffffffffffffffffffff1663439fab9160e01b8484604051602401610c489291906120af565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909416939093179092529051610cd19190612008565b600060405180830381855af49150503d8060008114610d0c576040519150601f19603f3d011682016040523d82523d6000602084013e610d11565b606091505b5050905080610d4c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa9061226e565b60405173ffffffffffffffffffffffffffffffffffffffff8516907f2622745e83f97f2d871ef785497c1eeba6f9bb94c7dd486cf28228e814d929e490600090a250505050565b610d9b611bf9565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260026020818152604092839020835160c0810185528154815260018083015460ff8082161515848701526101008083049091161515848901526201000090910461ffff16606084015283860180548851938116159092027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190911695909504601f810185900485028201850190965285815290949193608086019391929091830182828015610ea85780601f10610e7d57610100808354040283529160200191610ea8565b820191906000526020600020905b815481529060010190602001808311610e8b57829003601f168201915b505050918352505060038201805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f8101849004840282018401909252818152938201939291830182828015610f5a5780601f10610f2f57610100808354040283529160200191610f5a565b820191906000526020600020905b815481529060010190602001808311610f3d57829003601f168201915b5050505050815250509050919050565b7f8429d542926e6695b59ac6fbdcd9b37e8b1aeb757afab06ab60b1bb5878c3b4981565b6000828152600860205260408120610fa6908361172a565b90505b92915050565b610fba600033611084565b610ff0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa9061253d565b73ffffffffffffffffffffffffffffffffffffffff811661103d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa90612200565b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6000828152600860205260408120610fa69083611736565b60009081526007602052604090205460ff1690565b60008181526005602090815260409182902080548351601f60027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6101006001861615020190931692909204918201849004840281018401909452808452606093928301828280156111645780601f1061113957610100808354040283529160200191611164565b820191906000526020600020905b81548152906001019060200180831161114757829003601f168201915b50505050509050919050565b600081565b611180600033611084565b6111b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa9061253d565b80156112bd5773ffffffffffffffffffffffffffffffffffffffff831673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee141561129c5760008273ffffffffffffffffffffffffffffffffffffffff16826127109060405161121890612024565b600060405180830381858888f193505050503d8060008114611256576040519150601f19603f3d011682016040523d82523d6000602084013e61125b565b606091505b5050905080611296576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa9061210f565b506112bd565b6112bd73ffffffffffffffffffffffffffffffffffffffff84168383611758565b505050565b6112cd600033611084565b611303576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa9061253d565b73ffffffffffffffffffffffffffffffffffffffff8916611350576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa9061243b565b73ffffffffffffffffffffffffffffffffffffffff891660009081526002602052604090208054156113ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa906122a5565b6000891180156113bf575061271089105b6113f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa90612237565b6127108661ffff161115611435576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa90612237565b8881556001810180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016891515177fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101008915150217905561149e600282018686611c37565b506001810180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000ffff166201000061ffff8916021790556114e2600382018484611c37565b5050505050505050505050565b60008181526006602090815260409182902080548351601f60027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6101006001861615020190931692909204918201849004840281018401909452808452606093928301828280156111645780601f1061113957610100808354040283529160200191611164565b6000818152600860205260408120610fa9906117f9565b60005473ffffffffffffffffffffffffffffffffffffffff1690565b6000828152600860205260409020600201546115c890610531611620565b610b38576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa906123de565b6000610fa68373ffffffffffffffffffffffffffffffffffffffff8416611804565b3390565b600082815260086020526040902061163c90826115fe565b15610aa457611649611620565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60008281526008602052604090206116bf908261184e565b15610aa4576116cc611620565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45050565b6000610fa68383611870565b6000610fa68373ffffffffffffffffffffffffffffffffffffffff84166118cf565b6112bd8363a9059cbb60e01b8484604051602401611777929190612048565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091526118e7565b6000610fa98261199d565b600061181083836118cf565b61184657508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610fa9565b506000610fa9565b6000610fa68373ffffffffffffffffffffffffffffffffffffffff84166119a1565b815460009082106118ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa90612146565b8260000182815481106118bc57fe5b9060005260206000200154905092915050565b60009081526001919091016020526040902054151590565b6060611949826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16611a859092919063ffffffff16565b8051909150156112bd57808060200190518101906119679190611ee5565b6112bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa906124e0565b5490565b60008181526001830160205260408120548015611a7b5783547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80830191908101906000908790839081106119f257fe5b9060005260206000200154905080876000018481548110611a0f57fe5b600091825260208083209091019290925582815260018981019092526040902090840190558654879080611a3f57fe5b60019003818190600052602060002001600090559055866001016000878152602001908152602001600020600090556001945050505050610fa9565b6000915050610fa9565b6060611a948484600085611a9e565b90505b9392505050565b606082471015611ada576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa9061234a565b611ae385611ba0565b611b19576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa906124a9565b600060608673ffffffffffffffffffffffffffffffffffffffff168587604051611b439190612008565b60006040518083038185875af1925050503d8060008114611b80576040519150601f19603f3d011682016040523d82523d6000602084013e611b85565b606091505b5091509150611b95828286611ba6565b979650505050505050565b3b151590565b60608315611bb5575081611a97565b825115611bc55782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa91906120fc565b6040518060c0016040528060008152602001600015158152602001600015158152602001600061ffff16815260200160608152602001606081525090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282611c6d5760008555611cd1565b82601f10611ca4578280017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00823516178555611cd1565b82800160010185558215611cd1579182015b82811115611cd1578235825591602001919060010190611cb6565b50611cdd929150611ce1565b5090565b5b80821115611cdd5760008155600101611ce2565b80357fffffffff00000000000000000000000000000000000000000000000000000000811681146106a457600080fd5b60008083601f840112611d37578182fd5b50813567ffffffffffffffff811115611d4e578182fd5b602083019150836020828501011115611d6657600080fd5b9250929050565b600060208284031215611d7e578081fd5b8135611a9781612691565b600080600060608486031215611d9d578182fd5b8335611da881612691565b92506020840135611db881612691565b929592945050506040919091013590565b600080600060408486031215611ddd578283fd5b8335611de881612691565b9250602084013567ffffffffffffffff811115611e03578283fd5b611e0f86828701611d26565b9497909650939450505050565b600080600080600080600080600060e08a8c031215611e39578485fd5b8935611e4481612691565b985060208a0135975060408a0135611e5b816126b6565b965060608a0135611e6b816126b6565b955060808a013561ffff81168114611e81578586fd5b945060a08a013567ffffffffffffffff80821115611e9d578586fd5b611ea98d838e01611d26565b909650945060c08c0135915080821115611ec1578384fd5b50611ece8c828d01611d26565b915080935050809150509295985092959850929598565b600060208284031215611ef6578081fd5b8151611a97816126b6565b600060208284031215611f12578081fd5b5035919050565b60008060408385031215611f2b578182fd5b823591506020830135611f3d81612691565b809150509250929050565b60008060408385031215611f5a578182fd5b50508035926020909101359150565b600060208284031215611f7a578081fd5b610fa682611cf6565b60008060408385031215611f95578182fd5b611f9e83611cf6565b91506020830135611f3d81612691565b60008151808452611fc6816020860160208601612661565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6000828483379101908152919050565b6000825161201a818460208701612661565b9190910192915050565b90565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b73ffffffffffffffffffffffffffffffffffffffff929092168252602082015260400190565b901515815260200190565b90815260200190565b7fffffffff0000000000000000000000000000000000000000000000000000000091909116815260200190565b60006020825282602083015282846040840137818301604090810191909152601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0160101919050565b600060208252610fa66020830184611fae565b60208082526018908201527f4661696c656420746f207472616e736665722045746865720000000000000000604082015260600190565b60208082526022908201527f456e756d657261626c655365743a20696e646578206f7574206f6620626f756e60408201527f6473000000000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252602f908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f206772616e740000000000000000000000000000000000606082015260800190565b6020808252600f908201527f496e76616c696420616464726573730000000000000000000000000000000000604082015260600190565b6020808252600e908201527f496e76616c69642076616c756573000000000000000000000000000000000000604082015260600190565b6020808252601b908201527f4661696c656420746f20696e697469616c697a6520726f757465720000000000604082015260600190565b60208082526012908201527f416c726561647920726567697374657265640000000000000000000000000000604082015260600190565b6020808252601c908201527f4661696c656420746f20696e697469616c697a65206164617074657200000000604082015260600190565b60208082526016908201527f526f75746572206e6f742077686974656c697374656400000000000000000000604082015260600190565b60208082526026908201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60408201527f722063616c6c0000000000000000000000000000000000000000000000000000606082015260800190565b60208082526019908201527f526f75746572206973206e6f742077686974656c697374656400000000000000604082015260600190565b60208082526030908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f207265766f6b6500000000000000000000000000000000606082015260800190565b6020808252600f908201527f496e76616c696420706172746e65720000000000000000000000000000000000604082015260600190565b60208082526018908201527f45786368616e6765206e6f742077686974656c69737465640000000000000000604082015260600190565b6020808252601d908201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604082015260600190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60408201527f6f74207375636365656400000000000000000000000000000000000000000000606082015260800190565b60208082526017908201527f63616c6c6572206973206e6f74207468652061646d696e000000000000000000604082015260600190565b6020808252602f908201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560408201527f20726f6c657320666f722073656c660000000000000000000000000000000000606082015260800190565b6000602082528251602083015260208301511515604083015260408301511515606083015261ffff6060840151166080830152608083015160c060a084015261261d60e0840182611fae565b905060a08401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08483030160c08501526126588282611fae565b95945050505050565b60005b8381101561267c578181015183820152602001612664565b8381111561268b576000848401525b50505050565b73ffffffffffffffffffffffffffffffffffffffff811681146126b357600080fd5b50565b80151581146126b357600080fdfea26469706673582212203fd8ae4e6506de07cbbca3cda754ae71293e8b3e0ba4c10c5c5bdfec31c3ff2464736f6c63430007050033",
              "creation_bytecode": "0x60806040523480156200001157600080fd5b5060405162003395380380620033958339810160408190526200003491620001c9565b60006040516200004490620001bb565b604051809103906000f08015801562000061573d6000803e3d6000fd5b50600080546001600160a01b038084166001600160a01b031992831617835560018054918716919092161790559091506200009d9033620000a5565b5050620001f9565b620000b18282620000b5565b5050565b6000828152600860209081526040909120620000dc918390620015fe62000130821b17901c565b15620000b157620000ec62000150565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600062000147836001600160a01b03841662000154565b90505b92915050565b3390565b6000620001628383620001a3565b6200019a575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556200014a565b5060006200014a565b60009081526001919091016020526040902054151590565b610a92806200290383390190565b600060208284031215620001db578081fd5b81516001600160a01b0381168114620001f2578182fd5b9392505050565b6126fa80620002096000396000f3fe60806040526004361061019a5760003560e01c80639010d07c116100e1578063a64b6e5f1161008a578063ca15c87311610064578063ca15c873146105eb578063d2c4b5981461060b578063d547741f14610620578063dc9cc64514610640576101a1565b8063a64b6e5f1461058b578063aa5b2458146105ab578063aa97ef02146105cb576101a1565b80639812f33b116100bb5780639812f33b146105365780639a5a98d314610556578063a217fddf14610576576101a1565b80639010d07c146104d657806390d49b9d146104f657806391d1485414610516576101a1565b806336568abe1161014357806360e355071161011d57806360e35507146104745780636df77496146104945780637a3226ec146104c1576101a1565b806336568abe146104055780633a9243d7146104255780635459060d14610452576101a1565b8063248a9ca311610174578063248a9ca3146103a35780632f2ff15d146103d057806330d643b5146103f0576101a1565b80630815f6fd146103365780630d8e6e2c146103585780631880021914610383576101a1565b366101a157005b600080357fffffffff0000000000000000000000000000000000000000000000000000000016905060006101d48261065b565b905073ffffffffffffffffffffffffffffffffffffffff81166102a8576102a87f734e6e1c6ec3f883cac8d13d3e7390b280f5e94424662aa29e27394ed56586c9836040516024016102269190612082565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091526106a9565b600060608273ffffffffffffffffffffffffffffffffffffffff166000366040516102d4929190611ff8565b600060405180830381855af49150503d806000811461030f576040519150601f19603f3d011682016040523d82523d6000602084013e610314565b606091505b50915091508161032757610327816106a9565b610330816106b1565b50505050005b34801561034257600080fd5b50610356610351366004611f83565b6106b9565b005b34801561036457600080fd5b5061036d6107da565b60405161037a91906120fc565b60405180910390f35b34801561038f57600080fd5b5061035661039e366004611dc9565b610811565b3480156103af57600080fd5b506103c36103be366004611f01565b610a31565b60405161037a9190612079565b3480156103dc57600080fd5b506103566103eb366004611f19565b610a46565b3480156103fc57600080fd5b506103c3610aa8565b34801561041157600080fd5b50610356610420366004611f19565b610acc565b34801561043157600080fd5b50610445610440366004611f01565b610b42565b60405161037a919061206e565b34801561045e57600080fd5b50610467610b57565b60405161037a9190612027565b34801561048057600080fd5b5061035661048f366004611dc9565b610b73565b3480156104a057600080fd5b506104b46104af366004611d6d565b610d93565b60405161037a91906125d1565b3480156104cd57600080fd5b506103c3610f6a565b3480156104e257600080fd5b506104676104f1366004611f48565b610f8e565b34801561050257600080fd5b50610356610511366004611d6d565b610faf565b34801561052257600080fd5b50610445610531366004611f19565b611084565b34801561054257600080fd5b50610445610551366004611f01565b61109c565b34801561056257600080fd5b5061036d610571366004611f01565b6110b1565b34801561058257600080fd5b506103c3611170565b34801561059757600080fd5b506103566105a6366004611d89565b611175565b3480156105b757600080fd5b506103566105c6366004611e1c565b6112c2565b3480156105d757600080fd5b5061036d6105e6366004611f01565b6114ef565b3480156105f757600080fd5b506103c3610606366004611f01565b611577565b34801561061757600080fd5b5061046761158e565b34801561062c57600080fd5b5061035661063b366004611f19565b6115aa565b34801561064c57600080fd5b5061046761065b366004611f69565b7fffffffff00000000000000000000000000000000000000000000000000000000811660009081526003602052604090205473ffffffffffffffffffffffffffffffffffffffff165b919050565b805160208201fd5b805160208201f35b6106c4600033611084565b610703576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa9061253d565b60405180910390fd5b61072d7f7a05a596cb0ce7fdea8a1e1ec73be300bdb35097c944ce1897202f7a13122eb282611084565b610763576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa906123a7565b7fffffffff0000000000000000000000000000000000000000000000000000000091909116600090815260036020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909216919091179055565b60408051808201909152600581527f352e302e30000000000000000000000000000000000000000000000000000000602082015290565b61081c600033611084565b610852576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa9061253d565b61087c7f8429d542926e6695b59ac6fbdcd9b37e8b1aeb757afab06ab60b1bb5878c3b4984611084565b6108b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa90612472565b60008373ffffffffffffffffffffffffffffffffffffffff1663439fab9160e01b84846040516024016108e69291906120af565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090941693909317909252905161096f9190612008565b600060405180830381855af49150503d80600081146109aa576040519150601f19603f3d011682016040523d82523d6000602084013e6109af565b606091505b50509050806109ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa906122dc565b60405173ffffffffffffffffffffffffffffffffffffffff8516907f4aa65286df310c4e8390d962c75f50380b8260d96ea27cf14847cd683e22d9db90600090a250505050565b60009081526008602052604090206002015490565b600082815260086020526040902060020154610a6490610531611620565b610a9a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa906121a3565b610aa48282611624565b5050565b7f7a05a596cb0ce7fdea8a1e1ec73be300bdb35097c944ce1897202f7a13122eb281565b610ad4611620565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610b38576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa90612574565b610aa482826116a7565b60009081526004602052604090205460ff1690565b60015473ffffffffffffffffffffffffffffffffffffffff1690565b610b7e600033611084565b610bb4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa9061253d565b610bde7f7a05a596cb0ce7fdea8a1e1ec73be300bdb35097c944ce1897202f7a13122eb284611084565b610c14576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa90612313565b60008373ffffffffffffffffffffffffffffffffffffffff1663439fab9160e01b8484604051602401610c489291906120af565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909416939093179092529051610cd19190612008565b600060405180830381855af49150503d8060008114610d0c576040519150601f19603f3d011682016040523d82523d6000602084013e610d11565b606091505b5050905080610d4c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa9061226e565b60405173ffffffffffffffffffffffffffffffffffffffff8516907f2622745e83f97f2d871ef785497c1eeba6f9bb94c7dd486cf28228e814d929e490600090a250505050565b610d9b611bf9565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260026020818152604092839020835160c0810185528154815260018083015460ff8082161515848701526101008083049091161515848901526201000090910461ffff16606084015283860180548851938116159092027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190911695909504601f810185900485028201850190965285815290949193608086019391929091830182828015610ea85780601f10610e7d57610100808354040283529160200191610ea8565b820191906000526020600020905b815481529060010190602001808311610e8b57829003601f168201915b505050918352505060038201805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f8101849004840282018401909252818152938201939291830182828015610f5a5780601f10610f2f57610100808354040283529160200191610f5a565b820191906000526020600020905b815481529060010190602001808311610f3d57829003601f168201915b5050505050815250509050919050565b7f8429d542926e6695b59ac6fbdcd9b37e8b1aeb757afab06ab60b1bb5878c3b4981565b6000828152600860205260408120610fa6908361172a565b90505b92915050565b610fba600033611084565b610ff0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa9061253d565b73ffffffffffffffffffffffffffffffffffffffff811661103d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa90612200565b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6000828152600860205260408120610fa69083611736565b60009081526007602052604090205460ff1690565b60008181526005602090815260409182902080548351601f60027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6101006001861615020190931692909204918201849004840281018401909452808452606093928301828280156111645780601f1061113957610100808354040283529160200191611164565b820191906000526020600020905b81548152906001019060200180831161114757829003601f168201915b50505050509050919050565b600081565b611180600033611084565b6111b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa9061253d565b80156112bd5773ffffffffffffffffffffffffffffffffffffffff831673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee141561129c5760008273ffffffffffffffffffffffffffffffffffffffff16826127109060405161121890612024565b600060405180830381858888f193505050503d8060008114611256576040519150601f19603f3d011682016040523d82523d6000602084013e61125b565b606091505b5050905080611296576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa9061210f565b506112bd565b6112bd73ffffffffffffffffffffffffffffffffffffffff84168383611758565b505050565b6112cd600033611084565b611303576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa9061253d565b73ffffffffffffffffffffffffffffffffffffffff8916611350576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa9061243b565b73ffffffffffffffffffffffffffffffffffffffff891660009081526002602052604090208054156113ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa906122a5565b6000891180156113bf575061271089105b6113f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa90612237565b6127108661ffff161115611435576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa90612237565b8881556001810180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016891515177fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101008915150217905561149e600282018686611c37565b506001810180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000ffff166201000061ffff8916021790556114e2600382018484611c37565b5050505050505050505050565b60008181526006602090815260409182902080548351601f60027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6101006001861615020190931692909204918201849004840281018401909452808452606093928301828280156111645780601f1061113957610100808354040283529160200191611164565b6000818152600860205260408120610fa9906117f9565b60005473ffffffffffffffffffffffffffffffffffffffff1690565b6000828152600860205260409020600201546115c890610531611620565b610b38576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa906123de565b6000610fa68373ffffffffffffffffffffffffffffffffffffffff8416611804565b3390565b600082815260086020526040902061163c90826115fe565b15610aa457611649611620565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60008281526008602052604090206116bf908261184e565b15610aa4576116cc611620565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45050565b6000610fa68383611870565b6000610fa68373ffffffffffffffffffffffffffffffffffffffff84166118cf565b6112bd8363a9059cbb60e01b8484604051602401611777929190612048565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091526118e7565b6000610fa98261199d565b600061181083836118cf565b61184657508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610fa9565b506000610fa9565b6000610fa68373ffffffffffffffffffffffffffffffffffffffff84166119a1565b815460009082106118ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa90612146565b8260000182815481106118bc57fe5b9060005260206000200154905092915050565b60009081526001919091016020526040902054151590565b6060611949826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16611a859092919063ffffffff16565b8051909150156112bd57808060200190518101906119679190611ee5565b6112bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa906124e0565b5490565b60008181526001830160205260408120548015611a7b5783547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80830191908101906000908790839081106119f257fe5b9060005260206000200154905080876000018481548110611a0f57fe5b600091825260208083209091019290925582815260018981019092526040902090840190558654879080611a3f57fe5b60019003818190600052602060002001600090559055866001016000878152602001908152602001600020600090556001945050505050610fa9565b6000915050610fa9565b6060611a948484600085611a9e565b90505b9392505050565b606082471015611ada576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa9061234a565b611ae385611ba0565b611b19576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa906124a9565b600060608673ffffffffffffffffffffffffffffffffffffffff168587604051611b439190612008565b60006040518083038185875af1925050503d8060008114611b80576040519150601f19603f3d011682016040523d82523d6000602084013e611b85565b606091505b5091509150611b95828286611ba6565b979650505050505050565b3b151590565b60608315611bb5575081611a97565b825115611bc55782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa91906120fc565b6040518060c0016040528060008152602001600015158152602001600015158152602001600061ffff16815260200160608152602001606081525090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282611c6d5760008555611cd1565b82601f10611ca4578280017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00823516178555611cd1565b82800160010185558215611cd1579182015b82811115611cd1578235825591602001919060010190611cb6565b50611cdd929150611ce1565b5090565b5b80821115611cdd5760008155600101611ce2565b80357fffffffff00000000000000000000000000000000000000000000000000000000811681146106a457600080fd5b60008083601f840112611d37578182fd5b50813567ffffffffffffffff811115611d4e578182fd5b602083019150836020828501011115611d6657600080fd5b9250929050565b600060208284031215611d7e578081fd5b8135611a9781612691565b600080600060608486031215611d9d578182fd5b8335611da881612691565b92506020840135611db881612691565b929592945050506040919091013590565b600080600060408486031215611ddd578283fd5b8335611de881612691565b9250602084013567ffffffffffffffff811115611e03578283fd5b611e0f86828701611d26565b9497909650939450505050565b600080600080600080600080600060e08a8c031215611e39578485fd5b8935611e4481612691565b985060208a0135975060408a0135611e5b816126b6565b965060608a0135611e6b816126b6565b955060808a013561ffff81168114611e81578586fd5b945060a08a013567ffffffffffffffff80821115611e9d578586fd5b611ea98d838e01611d26565b909650945060c08c0135915080821115611ec1578384fd5b50611ece8c828d01611d26565b915080935050809150509295985092959850929598565b600060208284031215611ef6578081fd5b8151611a97816126b6565b600060208284031215611f12578081fd5b5035919050565b60008060408385031215611f2b578182fd5b823591506020830135611f3d81612691565b809150509250929050565b60008060408385031215611f5a578182fd5b50508035926020909101359150565b600060208284031215611f7a578081fd5b610fa682611cf6565b60008060408385031215611f95578182fd5b611f9e83611cf6565b91506020830135611f3d81612691565b60008151808452611fc6816020860160208601612661565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6000828483379101908152919050565b6000825161201a818460208701612661565b9190910192915050565b90565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b73ffffffffffffffffffffffffffffffffffffffff929092168252602082015260400190565b901515815260200190565b90815260200190565b7fffffffff0000000000000000000000000000000000000000000000000000000091909116815260200190565b60006020825282602083015282846040840137818301604090810191909152601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0160101919050565b600060208252610fa66020830184611fae565b60208082526018908201527f4661696c656420746f207472616e736665722045746865720000000000000000604082015260600190565b60208082526022908201527f456e756d657261626c655365743a20696e646578206f7574206f6620626f756e60408201527f6473000000000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252602f908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f206772616e740000000000000000000000000000000000606082015260800190565b6020808252600f908201527f496e76616c696420616464726573730000000000000000000000000000000000604082015260600190565b6020808252600e908201527f496e76616c69642076616c756573000000000000000000000000000000000000604082015260600190565b6020808252601b908201527f4661696c656420746f20696e697469616c697a6520726f757465720000000000604082015260600190565b60208082526012908201527f416c726561647920726567697374657265640000000000000000000000000000604082015260600190565b6020808252601c908201527f4661696c656420746f20696e697469616c697a65206164617074657200000000604082015260600190565b60208082526016908201527f526f75746572206e6f742077686974656c697374656400000000000000000000604082015260600190565b60208082526026908201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60408201527f722063616c6c0000000000000000000000000000000000000000000000000000606082015260800190565b60208082526019908201527f526f75746572206973206e6f742077686974656c697374656400000000000000604082015260600190565b60208082526030908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f207265766f6b6500000000000000000000000000000000606082015260800190565b6020808252600f908201527f496e76616c696420706172746e65720000000000000000000000000000000000604082015260600190565b60208082526018908201527f45786368616e6765206e6f742077686974656c69737465640000000000000000604082015260600190565b6020808252601d908201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604082015260600190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60408201527f6f74207375636365656400000000000000000000000000000000000000000000606082015260800190565b60208082526017908201527f63616c6c6572206973206e6f74207468652061646d696e000000000000000000604082015260600190565b6020808252602f908201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560408201527f20726f6c657320666f722073656c660000000000000000000000000000000000606082015260800190565b6000602082528251602083015260208301511515604083015260408301511515606083015261ffff6060840151166080830152608083015160c060a084015261261d60e0840182611fae565b905060a08401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08483030160c08501526126588282611fae565b95945050505050565b60005b8381101561267c578181015183820152602001612664565b8381111561268b576000848401525b50505050565b73ffffffffffffffffffffffffffffffffffffffff811681146126b357600080fd5b50565b80151581146126b357600080fdfea2646970667358221220a9b3d1d743a9ede017488b662cc75bc60451efffa74dede19e76ef93e9149cad64736f6c63430007050033608060405234801561001057600080fd5b50600061001b61006a565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35061006e565b3390565b610a158061007d6000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806315dacbea14610051578063715018a6146100665780638da5cb5b1461006e578063f2fde38b1461008c575b600080fd5b61006461005f3660046106d0565b61009f565b005b6100646101a0565b61007661026b565b6040516100839190610756565b60405180910390f35b61006461009a3660046106b6565b610287565b6100a76103bd565b60005473ffffffffffffffffffffffffffffffffffffffff908116911614610104576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100fb906108ea565b60405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff831632148061014257506101428373ffffffffffffffffffffffffffffffffffffffff166103c1565b610178576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100fb906108b3565b61019a73ffffffffffffffffffffffffffffffffffffffff85168484846103cb565b50505050565b6101a86103bd565b60005473ffffffffffffffffffffffffffffffffffffffff9081169116146101fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100fb906108ea565b6000805460405173ffffffffffffffffffffffffffffffffffffffff909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b60005473ffffffffffffffffffffffffffffffffffffffff1690565b61028f6103bd565b60005473ffffffffffffffffffffffffffffffffffffffff9081169116146102e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100fb906108ea565b73ffffffffffffffffffffffffffffffffffffffff8116610330576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100fb906107f9565b6000805460405173ffffffffffffffffffffffffffffffffffffffff808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b3390565b803b15155b919050565b61019a846323b872dd60e01b8585856040516024016103ec93929190610777565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009093169290921790915260606104cb826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166105249092919063ffffffff16565b80519091501561051f57808060200190518101906104e9919061071a565b61051f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100fb90610956565b505050565b6060610533848460008561053d565b90505b9392505050565b606082471015610579576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100fb90610856565b610582856103c1565b6105b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100fb9061091f565b600060608673ffffffffffffffffffffffffffffffffffffffff1685876040516105e2919061073a565b60006040518083038185875af1925050503d806000811461061f576040519150601f19603f3d011682016040523d82523d6000602084013e610624565b606091505b509150915061063482828661063f565b979650505050505050565b6060831561064e575081610536565b82511561065e5782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100fb91906107a8565b803573ffffffffffffffffffffffffffffffffffffffff811681146103c657600080fd5b6000602082840312156106c7578081fd5b61053682610692565b600080600080608085870312156106e5578283fd5b6106ee85610692565b93506106fc60208601610692565b925061070a60408601610692565b9396929550929360600135925050565b60006020828403121561072b578081fd5b81518015158114610536578182fd5b6000825161074c8184602087016109b3565b9190910192915050565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b73ffffffffffffffffffffffffffffffffffffffff9384168152919092166020820152604081019190915260600190565b60006020825282518060208401526107c78160408501602087016109b3565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201527f6464726573730000000000000000000000000000000000000000000000000000606082015260800190565b60208082526026908201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60408201527f722063616c6c0000000000000000000000000000000000000000000000000000606082015260800190565b60208082526014908201527f496e76616c69642066726f6d2061646472657373000000000000000000000000604082015260600190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252601d908201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604082015260600190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60408201527f6f74207375636365656400000000000000000000000000000000000000000000606082015260800190565b60005b838110156109ce5781810151838201526020016109b6565b8381111561019a575050600091015256fea2646970667358221220aa1874fa1602e178bce42ae0cf042879dfe48ce803daf9fefdb558352271824c64736f6c63430007050033",
              "data": {
                "main_contract": 0,
                "contract_info": [
                  {
                    "id": 0,
                    "path": "contracts/flattened/AugustusSwapper.sol",
                    "name": "AugustusSwapper.sol",
                    "source": "// File: openzeppelin-solidity/contracts/utils/EnumerableSet.sol\n\n\n\npragma solidity >=0.6.0 <0.8.0;\n\n/**\n * @dev Library for managing\n * https://en.wikipedia.org/wiki/Set_(abstract_data_type)[sets] of primitive\n * types.\n *\n * Sets have the following properties:\n *\n * - Elements are added, removed, and checked for existence in constant time\n * (O(1)).\n * - Elements are enumerated in O(n). No guarantees are made on the ordering.\n *\n * ```\n * contract Example {\n *     // Add the library methods\n *     using EnumerableSet for EnumerableSet.AddressSet;\n *\n *     // Declare a set state variable\n *     EnumerableSet.AddressSet private mySet;\n * }\n * ```\n *\n * As of v3.3.0, sets of type `bytes32` (`Bytes32Set`), `address` (`AddressSet`)\n * and `uint256` (`UintSet`) are supported.\n */\nlibrary EnumerableSet {\n    // To implement this library for multiple types with as little code\n    // repetition as possible, we write it in terms of a generic Set type with\n    // bytes32 values.\n    // The Set implementation uses private functions, and user-facing\n    // implementations (such as AddressSet) are just wrappers around the\n    // underlying Set.\n    // This means that we can only create new EnumerableSets for types that fit\n    // in bytes32.\n\n    struct Set {\n        // Storage of set values\n        bytes32[] _values;\n\n        // Position of the value in the `values` array, plus 1 because index 0\n        // means a value is not in the set.\n        mapping (bytes32 => uint256) _indexes;\n    }\n\n    /**\n     * @dev Add a value to a set. O(1).\n     *\n     * Returns true if the value was added to the set, that is if it was not\n     * already present.\n     */\n    function _add(Set storage set, bytes32 value) private returns (bool) {\n        if (!_contains(set, value)) {\n            set._values.push(value);\n            // The value is stored at length-1, but we add 1 to all indexes\n            // and use 0 as a sentinel value\n            set._indexes[value] = set._values.length;\n            return true;\n        } else {\n            return false;\n        }\n    }\n\n    /**\n     * @dev Removes a value from a set. O(1).\n     *\n     * Returns true if the value was removed from the set, that is if it was\n     * present.\n     */\n    function _remove(Set storage set, bytes32 value) private returns (bool) {\n        // We read and store the value's index to prevent multiple reads from the same storage slot\n        uint256 valueIndex = set._indexes[value];\n\n        if (valueIndex != 0) { // Equivalent to contains(set, value)\n            // To delete an element from the _values array in O(1), we swap the element to delete with the last one in\n            // the array, and then remove the last element (sometimes called as 'swap and pop').\n            // This modifies the order of the array, as noted in {at}.\n\n            uint256 toDeleteIndex = valueIndex - 1;\n            uint256 lastIndex = set._values.length - 1;\n\n            // When the value to delete is the last one, the swap operation is unnecessary. However, since this occurs\n            // so rarely, we still do the swap anyway to avoid the gas cost of adding an 'if' statement.\n\n            bytes32 lastvalue = set._values[lastIndex];\n\n            // Move the last value to the index where the value to delete is\n            set._values[toDeleteIndex] = lastvalue;\n            // Update the index for the moved value\n            set._indexes[lastvalue] = toDeleteIndex + 1; // All indexes are 1-based\n\n            // Delete the slot where the moved value was stored\n            set._values.pop();\n\n            // Delete the index for the deleted slot\n            delete set._indexes[value];\n\n            return true;\n        } else {\n            return false;\n        }\n    }\n\n    /**\n     * @dev Returns true if the value is in the set. O(1).\n     */\n    function _contains(Set storage set, bytes32 value) private view returns (bool) {\n        return set._indexes[value] != 0;\n    }\n\n    /**\n     * @dev Returns the number of values on the set. O(1).\n     */\n    function _length(Set storage set) private view returns (uint256) {\n        return set._values.length;\n    }\n\n   /**\n    * @dev Returns the value stored at position `index` in the set. O(1).\n    *\n    * Note that there are no guarantees on the ordering of values inside the\n    * array, and it may change when more values are added or removed.\n    *\n    * Requirements:\n    *\n    * - `index` must be strictly less than {length}.\n    */\n    function _at(Set storage set, uint256 index) private view returns (bytes32) {\n        require(set._values.length > index, \"EnumerableSet: index out of bounds\");\n        return set._values[index];\n    }\n\n    // Bytes32Set\n\n    struct Bytes32Set {\n        Set _inner;\n    }\n\n    /**\n     * @dev Add a value to a set. O(1).\n     *\n     * Returns true if the value was added to the set, that is if it was not\n     * already present.\n     */\n    function add(Bytes32Set storage set, bytes32 value) internal returns (bool) {\n        return _add(set._inner, value);\n    }\n\n    /**\n     * @dev Removes a value from a set. O(1).\n     *\n     * Returns true if the value was removed from the set, that is if it was\n     * present.\n     */\n    function remove(Bytes32Set storage set, bytes32 value) internal returns (bool) {\n        return _remove(set._inner, value);\n    }\n\n    /**\n     * @dev Returns true if the value is in the set. O(1).\n     */\n    function contains(Bytes32Set storage set, bytes32 value) internal view returns (bool) {\n        return _contains(set._inner, value);\n    }\n\n    /**\n     * @dev Returns the number of values in the set. O(1).\n     */\n    function length(Bytes32Set storage set) internal view returns (uint256) {\n        return _length(set._inner);\n    }\n\n   /**\n    * @dev Returns the value stored at position `index` in the set. O(1).\n    *\n    * Note that there are no guarantees on the ordering of values inside the\n    * array, and it may change when more values are added or removed.\n    *\n    * Requirements:\n    *\n    * - `index` must be strictly less than {length}.\n    */\n    function at(Bytes32Set storage set, uint256 index) internal view returns (bytes32) {\n        return _at(set._inner, index);\n    }\n\n    // AddressSet\n\n    struct AddressSet {\n        Set _inner;\n    }\n\n    /**\n     * @dev Add a value to a set. O(1).\n     *\n     * Returns true if the value was added to the set, that is if it was not\n     * already present.\n     */\n    function add(AddressSet storage set, address value) internal returns (bool) {\n        return _add(set._inner, bytes32(uint256(value)));\n    }\n\n    /**\n     * @dev Removes a value from a set. O(1).\n     *\n     * Returns true if the value was removed from the set, that is if it was\n     * present.\n     */\n    function remove(AddressSet storage set, address value) internal returns (bool) {\n        return _remove(set._inner, bytes32(uint256(value)));\n    }\n\n    /**\n     * @dev Returns true if the value is in the set. O(1).\n     */\n    function contains(AddressSet storage set, address value) internal view returns (bool) {\n        return _contains(set._inner, bytes32(uint256(value)));\n    }\n\n    /**\n     * @dev Returns the number of values in the set. O(1).\n     */\n    function length(AddressSet storage set) internal view returns (uint256) {\n        return _length(set._inner);\n    }\n\n   /**\n    * @dev Returns the value stored at position `index` in the set. O(1).\n    *\n    * Note that there are no guarantees on the ordering of values inside the\n    * array, and it may change when more values are added or removed.\n    *\n    * Requirements:\n    *\n    * - `index` must be strictly less than {length}.\n    */\n    function at(AddressSet storage set, uint256 index) internal view returns (address) {\n        return address(uint256(_at(set._inner, index)));\n    }\n\n\n    // UintSet\n\n    struct UintSet {\n        Set _inner;\n    }\n\n    /**\n     * @dev Add a value to a set. O(1).\n     *\n     * Returns true if the value was added to the set, that is if it was not\n     * already present.\n     */\n    function add(UintSet storage set, uint256 value) internal returns (bool) {\n        return _add(set._inner, bytes32(value));\n    }\n\n    /**\n     * @dev Removes a value from a set. O(1).\n     *\n     * Returns true if the value was removed from the set, that is if it was\n     * present.\n     */\n    function remove(UintSet storage set, uint256 value) internal returns (bool) {\n        return _remove(set._inner, bytes32(value));\n    }\n\n    /**\n     * @dev Returns true if the value is in the set. O(1).\n     */\n    function contains(UintSet storage set, uint256 value) internal view returns (bool) {\n        return _contains(set._inner, bytes32(value));\n    }\n\n    /**\n     * @dev Returns the number of values on the set. O(1).\n     */\n    function length(UintSet storage set) internal view returns (uint256) {\n        return _length(set._inner);\n    }\n\n   /**\n    * @dev Returns the value stored at position `index` in the set. O(1).\n    *\n    * Note that there are no guarantees on the ordering of values inside the\n    * array, and it may change when more values are added or removed.\n    *\n    * Requirements:\n    *\n    * - `index` must be strictly less than {length}.\n    */\n    function at(UintSet storage set, uint256 index) internal view returns (uint256) {\n        return uint256(_at(set._inner, index));\n    }\n}\n\n// File: openzeppelin-solidity/contracts/utils/Address.sol\n\n\n\npragma solidity >=0.6.2 <0.8.0;\n\n/**\n * @dev Collection of functions related to the address type\n */\nlibrary Address {\n    /**\n     * @dev Returns true if `account` is a contract.\n     *\n     * [IMPORTANT]\n     * ====\n     * It is unsafe to assume that an address for which this function returns\n     * false is an externally-owned account (EOA) and not a contract.\n     *\n     * Among others, `isContract` will return false for the following\n     * types of addresses:\n     *\n     *  - an externally-owned account\n     *  - a contract in construction\n     *  - an address where a contract will be created\n     *  - an address where a contract lived, but was destroyed\n     * ====\n     */\n    function isContract(address account) internal view returns (bool) {\n        // This method relies on extcodesize, which returns 0 for contracts in\n        // construction, since the code is only stored at the end of the\n        // constructor execution.\n\n        uint256 size;\n        // solhint-disable-next-line no-inline-assembly\n        assembly { size := extcodesize(account) }\n        return size > 0;\n    }\n\n    /**\n     * @dev Replacement for Solidity's `transfer`: sends `amount` wei to\n     * `recipient`, forwarding all available gas and reverting on errors.\n     *\n     * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost\n     * of certain opcodes, possibly making contracts go over the 2300 gas limit\n     * imposed by `transfer`, making them unable to receive funds via\n     * `transfer`. {sendValue} removes this limitation.\n     *\n     * https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more].\n     *\n     * IMPORTANT: because control is transferred to `recipient`, care must be\n     * taken to not create reentrancy vulnerabilities. Consider using\n     * {ReentrancyGuard} or the\n     * https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern].\n     */\n    function sendValue(address payable recipient, uint256 amount) internal {\n        require(address(this).balance >= amount, \"Address: insufficient balance\");\n\n        // solhint-disable-next-line avoid-low-level-calls, avoid-call-value\n        (bool success, ) = recipient.call{ value: amount }(\"\");\n        require(success, \"Address: unable to send value, recipient may have reverted\");\n    }\n\n    /**\n     * @dev Performs a Solidity function call using a low level `call`. A\n     * plain`call` is an unsafe replacement for a function call: use this\n     * function instead.\n     *\n     * If `target` reverts with a revert reason, it is bubbled up by this\n     * function (like regular Solidity function calls).\n     *\n     * Returns the raw returned data. To convert to the expected return value,\n     * use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`].\n     *\n     * Requirements:\n     *\n     * - `target` must be a contract.\n     * - calling `target` with `data` must not revert.\n     *\n     * _Available since v3.1._\n     */\n    function functionCall(address target, bytes memory data) internal returns (bytes memory) {\n      return functionCall(target, data, \"Address: low-level call failed\");\n    }\n\n    /**\n     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with\n     * `errorMessage` as a fallback revert reason when `target` reverts.\n     *\n     * _Available since v3.1._\n     */\n    function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {\n        return functionCallWithValue(target, data, 0, errorMessage);\n    }\n\n    /**\n     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n     * but also transferring `value` wei to `target`.\n     *\n     * Requirements:\n     *\n     * - the calling contract must have an ETH balance of at least `value`.\n     * - the called Solidity function must be `payable`.\n     *\n     * _Available since v3.1._\n     */\n    function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {\n        return functionCallWithValue(target, data, value, \"Address: low-level call with value failed\");\n    }\n\n    /**\n     * @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but\n     * with `errorMessage` as a fallback revert reason when `target` reverts.\n     *\n     * _Available since v3.1._\n     */\n    function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) {\n        require(address(this).balance >= value, \"Address: insufficient balance for call\");\n        require(isContract(target), \"Address: call to non-contract\");\n\n        // solhint-disable-next-line avoid-low-level-calls\n        (bool success, bytes memory returndata) = target.call{ value: value }(data);\n        return _verifyCallResult(success, returndata, errorMessage);\n    }\n\n    /**\n     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n     * but performing a static call.\n     *\n     * _Available since v3.3._\n     */\n    function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) {\n        return functionStaticCall(target, data, \"Address: low-level static call failed\");\n    }\n\n    /**\n     * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],\n     * but performing a static call.\n     *\n     * _Available since v3.3._\n     */\n    function functionStaticCall(address target, bytes memory data, string memory errorMessage) internal view returns (bytes memory) {\n        require(isContract(target), \"Address: static call to non-contract\");\n\n        // solhint-disable-next-line avoid-low-level-calls\n        (bool success, bytes memory returndata) = target.staticcall(data);\n        return _verifyCallResult(success, returndata, errorMessage);\n    }\n\n    function _verifyCallResult(bool success, bytes memory returndata, string memory errorMessage) private pure returns(bytes memory) {\n        if (success) {\n            return returndata;\n        } else {\n            // Look for revert reason and bubble it up if present\n            if (returndata.length > 0) {\n                // The easiest way to bubble the revert reason is using memory via assembly\n\n                // solhint-disable-next-line no-inline-assembly\n                assembly {\n                    let returndata_size := mload(returndata)\n                    revert(add(32, returndata), returndata_size)\n                }\n            } else {\n                revert(errorMessage);\n            }\n        }\n    }\n}\n\n// File: openzeppelin-solidity/contracts/GSN/Context.sol\n\n\n\npragma solidity >=0.6.0 <0.8.0;\n\n/*\n * @dev Provides information about the current execution context, including the\n * sender of the transaction and its data. While these are generally available\n * via msg.sender and msg.data, they should not be accessed in such a direct\n * manner, since when dealing with GSN meta-transactions the account sending and\n * paying for execution may not be the actual sender (as far as an application\n * is concerned).\n *\n * This contract is only required for intermediate, library-like contracts.\n */\nabstract contract Context {\n    function _msgSender() internal view virtual returns (address payable) {\n        return msg.sender;\n    }\n\n    function _msgData() internal view virtual returns (bytes memory) {\n        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691\n        return msg.data;\n    }\n}\n\n// File: openzeppelin-solidity/contracts/access/AccessControl.sol\n\n\n\npragma solidity >=0.6.0 <0.8.0;\n\n\n\n\n/**\n * @dev Contract module that allows children to implement role-based access\n * control mechanisms.\n *\n * Roles are referred to by their `bytes32` identifier. These should be exposed\n * in the external API and be unique. The best way to achieve this is by\n * using `public constant` hash digests:\n *\n * ```\n * bytes32 public constant MY_ROLE = keccak256(\"MY_ROLE\");\n * ```\n *\n * Roles can be used to represent a set of permissions. To restrict access to a\n * function call, use {hasRole}:\n *\n * ```\n * function foo() public {\n *     require(hasRole(MY_ROLE, msg.sender));\n *     ...\n * }\n * ```\n *\n * Roles can be granted and revoked dynamically via the {grantRole} and\n * {revokeRole} functions. Each role has an associated admin role, and only\n * accounts that have a role's admin role can call {grantRole} and {revokeRole}.\n *\n * By default, the admin role for all roles is `DEFAULT_ADMIN_ROLE`, which means\n * that only accounts with this role will be able to grant or revoke other\n * roles. More complex role relationships can be created by using\n * {_setRoleAdmin}.\n *\n * WARNING: The `DEFAULT_ADMIN_ROLE` is also its own admin: it has permission to\n * grant and revoke this role. Extra precautions should be taken to secure\n * accounts that have been granted it.\n */\nabstract contract AccessControl is Context {\n    using EnumerableSet for EnumerableSet.AddressSet;\n    using Address for address;\n\n    struct RoleData {\n        EnumerableSet.AddressSet members;\n        bytes32 adminRole;\n    }\n\n    mapping (bytes32 => RoleData) private _roles;\n\n    bytes32 public constant DEFAULT_ADMIN_ROLE = 0x00;\n\n    /**\n     * @dev Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole`\n     *\n     * `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite\n     * {RoleAdminChanged} not being emitted signaling this.\n     *\n     * _Available since v3.1._\n     */\n    event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole);\n\n    /**\n     * @dev Emitted when `account` is granted `role`.\n     *\n     * `sender` is the account that originated the contract call, an admin role\n     * bearer except when using {_setupRole}.\n     */\n    event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender);\n\n    /**\n     * @dev Emitted when `account` is revoked `role`.\n     *\n     * `sender` is the account that originated the contract call:\n     *   - if using `revokeRole`, it is the admin role bearer\n     *   - if using `renounceRole`, it is the role bearer (i.e. `account`)\n     */\n    event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender);\n\n    /**\n     * @dev Returns `true` if `account` has been granted `role`.\n     */\n    function hasRole(bytes32 role, address account) public view returns (bool) {\n        return _roles[role].members.contains(account);\n    }\n\n    /**\n     * @dev Returns the number of accounts that have `role`. Can be used\n     * together with {getRoleMember} to enumerate all bearers of a role.\n     */\n    function getRoleMemberCount(bytes32 role) public view returns (uint256) {\n        return _roles[role].members.length();\n    }\n\n    /**\n     * @dev Returns one of the accounts that have `role`. `index` must be a\n     * value between 0 and {getRoleMemberCount}, non-inclusive.\n     *\n     * Role bearers are not sorted in any particular way, and their ordering may\n     * change at any point.\n     *\n     * WARNING: When using {getRoleMember} and {getRoleMemberCount}, make sure\n     * you perform all queries on the same block. See the following\n     * https://forum.openzeppelin.com/t/iterating-over-elements-on-enumerableset-in-openzeppelin-contracts/2296[forum post]\n     * for more information.\n     */\n    function getRoleMember(bytes32 role, uint256 index) public view returns (address) {\n        return _roles[role].members.at(index);\n    }\n\n    /**\n     * @dev Returns the admin role that controls `role`. See {grantRole} and\n     * {revokeRole}.\n     *\n     * To change a role's admin, use {_setRoleAdmin}.\n     */\n    function getRoleAdmin(bytes32 role) public view returns (bytes32) {\n        return _roles[role].adminRole;\n    }\n\n    /**\n     * @dev Grants `role` to `account`.\n     *\n     * If `account` had not been already granted `role`, emits a {RoleGranted}\n     * event.\n     *\n     * Requirements:\n     *\n     * - the caller must have ``role``'s admin role.\n     */\n    function grantRole(bytes32 role, address account) public virtual {\n        require(hasRole(_roles[role].adminRole, _msgSender()), \"AccessControl: sender must be an admin to grant\");\n\n        _grantRole(role, account);\n    }\n\n    /**\n     * @dev Revokes `role` from `account`.\n     *\n     * If `account` had been granted `role`, emits a {RoleRevoked} event.\n     *\n     * Requirements:\n     *\n     * - the caller must have ``role``'s admin role.\n     */\n    function revokeRole(bytes32 role, address account) public virtual {\n        require(hasRole(_roles[role].adminRole, _msgSender()), \"AccessControl: sender must be an admin to revoke\");\n\n        _revokeRole(role, account);\n    }\n\n    /**\n     * @dev Revokes `role` from the calling account.\n     *\n     * Roles are often managed via {grantRole} and {revokeRole}: this function's\n     * purpose is to provide a mechanism for accounts to lose their privileges\n     * if they are compromised (such as when a trusted device is misplaced).\n     *\n     * If the calling account had been granted `role`, emits a {RoleRevoked}\n     * event.\n     *\n     * Requirements:\n     *\n     * - the caller must be `account`.\n     */\n    function renounceRole(bytes32 role, address account) public virtual {\n        require(account == _msgSender(), \"AccessControl: can only renounce roles for self\");\n\n        _revokeRole(role, account);\n    }\n\n    /**\n     * @dev Grants `role` to `account`.\n     *\n     * If `account` had not been already granted `role`, emits a {RoleGranted}\n     * event. Note that unlike {grantRole}, this function doesn't perform any\n     * checks on the calling account.\n     *\n     * [WARNING]\n     * ====\n     * This function should only be called from the constructor when setting\n     * up the initial roles for the system.\n     *\n     * Using this function in any other way is effectively circumventing the admin\n     * system imposed by {AccessControl}.\n     * ====\n     */\n    function _setupRole(bytes32 role, address account) internal virtual {\n        _grantRole(role, account);\n    }\n\n    /**\n     * @dev Sets `adminRole` as ``role``'s admin role.\n     *\n     * Emits a {RoleAdminChanged} event.\n     */\n    function _setRoleAdmin(bytes32 role, bytes32 adminRole) internal virtual {\n        emit RoleAdminChanged(role, _roles[role].adminRole, adminRole);\n        _roles[role].adminRole = adminRole;\n    }\n\n    function _grantRole(bytes32 role, address account) private {\n        if (_roles[role].members.add(account)) {\n            emit RoleGranted(role, account, _msgSender());\n        }\n    }\n\n    function _revokeRole(bytes32 role, address account) private {\n        if (_roles[role].members.remove(account)) {\n            emit RoleRevoked(role, account, _msgSender());\n        }\n    }\n}\n\n// File: openzeppelin-solidity/contracts/token/ERC20/IERC20.sol\n\n\n\npragma solidity >=0.6.0 <0.8.0;\n\n/**\n * @dev Interface of the ERC20 standard as defined in the EIP.\n */\ninterface IERC20 {\n    /**\n     * @dev Returns the amount of tokens in existence.\n     */\n    function totalSupply() external view returns (uint256);\n\n    /**\n     * @dev Returns the amount of tokens owned by `account`.\n     */\n    function balanceOf(address account) external view returns (uint256);\n\n    /**\n     * @dev Moves `amount` tokens from the caller's account to `recipient`.\n     *\n     * Returns a boolean value indicating whether the operation succeeded.\n     *\n     * Emits a {Transfer} event.\n     */\n    function transfer(address recipient, uint256 amount) external returns (bool);\n\n    /**\n     * @dev Returns the remaining number of tokens that `spender` will be\n     * allowed to spend on behalf of `owner` through {transferFrom}. This is\n     * zero by default.\n     *\n     * This value changes when {approve} or {transferFrom} are called.\n     */\n    function allowance(address owner, address spender) external view returns (uint256);\n\n    /**\n     * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.\n     *\n     * Returns a boolean value indicating whether the operation succeeded.\n     *\n     * IMPORTANT: Beware that changing an allowance with this method brings the risk\n     * that someone may use both the old and the new allowance by unfortunate\n     * transaction ordering. One possible solution to mitigate this race\n     * condition is to first reduce the spender's allowance to 0 and set the\n     * desired value afterwards:\n     * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n     *\n     * Emits an {Approval} event.\n     */\n    function approve(address spender, uint256 amount) external returns (bool);\n\n    /**\n     * @dev Moves `amount` tokens from `sender` to `recipient` using the\n     * allowance mechanism. `amount` is then deducted from the caller's\n     * allowance.\n     *\n     * Returns a boolean value indicating whether the operation succeeded.\n     *\n     * Emits a {Transfer} event.\n     */\n    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);\n\n    /**\n     * @dev Emitted when `value` tokens are moved from one account (`from`) to\n     * another (`to`).\n     *\n     * Note that `value` may be zero.\n     */\n    event Transfer(address indexed from, address indexed to, uint256 value);\n\n    /**\n     * @dev Emitted when the allowance of a `spender` for an `owner` is set by\n     * a call to {approve}. `value` is the new allowance.\n     */\n    event Approval(address indexed owner, address indexed spender, uint256 value);\n}\n\n// File: openzeppelin-solidity/contracts/math/SafeMath.sol\n\n\n\npragma solidity >=0.6.0 <0.8.0;\n\n/**\n * @dev Wrappers over Solidity's arithmetic operations with added overflow\n * checks.\n *\n * Arithmetic operations in Solidity wrap on overflow. This can easily result\n * in bugs, because programmers usually assume that an overflow raises an\n * error, which is the standard behavior in high level programming languages.\n * `SafeMath` restores this intuition by reverting the transaction when an\n * operation overflows.\n *\n * Using this library instead of the unchecked operations eliminates an entire\n * class of bugs, so it's recommended to use it always.\n */\nlibrary SafeMath {\n    /**\n     * @dev Returns the addition of two unsigned integers, reverting on\n     * overflow.\n     *\n     * Counterpart to Solidity's `+` operator.\n     *\n     * Requirements:\n     *\n     * - Addition cannot overflow.\n     */\n    function add(uint256 a, uint256 b) internal pure returns (uint256) {\n        uint256 c = a + b;\n        require(c >= a, \"SafeMath: addition overflow\");\n\n        return c;\n    }\n\n    /**\n     * @dev Returns the subtraction of two unsigned integers, reverting on\n     * overflow (when the result is negative).\n     *\n     * Counterpart to Solidity's `-` operator.\n     *\n     * Requirements:\n     *\n     * - Subtraction cannot overflow.\n     */\n    function sub(uint256 a, uint256 b) internal pure returns (uint256) {\n        return sub(a, b, \"SafeMath: subtraction overflow\");\n    }\n\n    /**\n     * @dev Returns the subtraction of two unsigned integers, reverting with custom message on\n     * overflow (when the result is negative).\n     *\n     * Counterpart to Solidity's `-` operator.\n     *\n     * Requirements:\n     *\n     * - Subtraction cannot overflow.\n     */\n    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {\n        require(b <= a, errorMessage);\n        uint256 c = a - b;\n\n        return c;\n    }\n\n    /**\n     * @dev Returns the multiplication of two unsigned integers, reverting on\n     * overflow.\n     *\n     * Counterpart to Solidity's `*` operator.\n     *\n     * Requirements:\n     *\n     * - Multiplication cannot overflow.\n     */\n    function mul(uint256 a, uint256 b) internal pure returns (uint256) {\n        // Gas optimization: this is cheaper than requiring 'a' not being zero, but the\n        // benefit is lost if 'b' is also tested.\n        // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522\n        if (a == 0) {\n            return 0;\n        }\n\n        uint256 c = a * b;\n        require(c / a == b, \"SafeMath: multiplication overflow\");\n\n        return c;\n    }\n\n    /**\n     * @dev Returns the integer division of two unsigned integers. Reverts on\n     * division by zero. The result is rounded towards zero.\n     *\n     * Counterpart to Solidity's `/` operator. Note: this function uses a\n     * `revert` opcode (which leaves remaining gas untouched) while Solidity\n     * uses an invalid opcode to revert (consuming all remaining gas).\n     *\n     * Requirements:\n     *\n     * - The divisor cannot be zero.\n     */\n    function div(uint256 a, uint256 b) internal pure returns (uint256) {\n        return div(a, b, \"SafeMath: division by zero\");\n    }\n\n    /**\n     * @dev Returns the integer division of two unsigned integers. Reverts with custom message on\n     * division by zero. The result is rounded towards zero.\n     *\n     * Counterpart to Solidity's `/` operator. Note: this function uses a\n     * `revert` opcode (which leaves remaining gas untouched) while Solidity\n     * uses an invalid opcode to revert (consuming all remaining gas).\n     *\n     * Requirements:\n     *\n     * - The divisor cannot be zero.\n     */\n    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {\n        require(b > 0, errorMessage);\n        uint256 c = a / b;\n        // assert(a == b * c + a % b); // There is no case in which this doesn't hold\n\n        return c;\n    }\n\n    /**\n     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),\n     * Reverts when dividing by zero.\n     *\n     * Counterpart to Solidity's `%` operator. This function uses a `revert`\n     * opcode (which leaves remaining gas untouched) while Solidity uses an\n     * invalid opcode to revert (consuming all remaining gas).\n     *\n     * Requirements:\n     *\n     * - The divisor cannot be zero.\n     */\n    function mod(uint256 a, uint256 b) internal pure returns (uint256) {\n        return mod(a, b, \"SafeMath: modulo by zero\");\n    }\n\n    /**\n     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),\n     * Reverts with custom message when dividing by zero.\n     *\n     * Counterpart to Solidity's `%` operator. This function uses a `revert`\n     * opcode (which leaves remaining gas untouched) while Solidity uses an\n     * invalid opcode to revert (consuming all remaining gas).\n     *\n     * Requirements:\n     *\n     * - The divisor cannot be zero.\n     */\n    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {\n        require(b != 0, errorMessage);\n        return a % b;\n    }\n}\n\n// File: openzeppelin-solidity/contracts/token/ERC20/SafeERC20.sol\n\n\n\npragma solidity >=0.6.0 <0.8.0;\n\n\n\n\n/**\n * @title SafeERC20\n * @dev Wrappers around ERC20 operations that throw on failure (when the token\n * contract returns false). Tokens that return no value (and instead revert or\n * throw on failure) are also supported, non-reverting calls are assumed to be\n * successful.\n * To use this library you can add a `using SafeERC20 for IERC20;` statement to your contract,\n * which allows you to call the safe operations as `token.safeTransfer(...)`, etc.\n */\nlibrary SafeERC20 {\n    using SafeMath for uint256;\n    using Address for address;\n\n    function safeTransfer(IERC20 token, address to, uint256 value) internal {\n        _callOptionalReturn(token, abi.encodeWithSelector(token.transfer.selector, to, value));\n    }\n\n    function safeTransferFrom(IERC20 token, address from, address to, uint256 value) internal {\n        _callOptionalReturn(token, abi.encodeWithSelector(token.transferFrom.selector, from, to, value));\n    }\n\n    /**\n     * @dev Deprecated. This function has issues similar to the ones found in\n     * {IERC20-approve}, and its usage is discouraged.\n     *\n     * Whenever possible, use {safeIncreaseAllowance} and\n     * {safeDecreaseAllowance} instead.\n     */\n    function safeApprove(IERC20 token, address spender, uint256 value) internal {\n        // safeApprove should only be called when setting an initial allowance,\n        // or when resetting it to zero. To increase and decrease it, use\n        // 'safeIncreaseAllowance' and 'safeDecreaseAllowance'\n        // solhint-disable-next-line max-line-length\n        require((value == 0) || (token.allowance(address(this), spender) == 0),\n            \"SafeERC20: approve from non-zero to non-zero allowance\"\n        );\n        _callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, value));\n    }\n\n    function safeIncreaseAllowance(IERC20 token, address spender, uint256 value) internal {\n        uint256 newAllowance = token.allowance(address(this), spender).add(value);\n        _callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, newAllowance));\n    }\n\n    function safeDecreaseAllowance(IERC20 token, address spender, uint256 value) internal {\n        uint256 newAllowance = token.allowance(address(this), spender).sub(value, \"SafeERC20: decreased allowance below zero\");\n        _callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, newAllowance));\n    }\n\n    /**\n     * @dev Imitates a Solidity high-level call (i.e. a regular function call to a contract), relaxing the requirement\n     * on the return value: the return value is optional (but if data is returned, it must not be false).\n     * @param token The token targeted by the call.\n     * @param data The call data (encoded using abi.encode or one of its variants).\n     */\n    function _callOptionalReturn(IERC20 token, bytes memory data) private {\n        // We need to perform a low level call here, to bypass Solidity's return data size checking mechanism, since\n        // we're implementing it ourselves. We use {Address.functionCall} to perform this call, which verifies that\n        // the target address contains contract code and also asserts for success in the low-level call.\n\n        bytes memory returndata = address(token).functionCall(data, \"SafeERC20: low-level call failed\");\n        if (returndata.length > 0) { // Return data is optional\n            // solhint-disable-next-line max-line-length\n            require(abi.decode(returndata, (bool)), \"SafeERC20: ERC20 operation did not succeed\");\n        }\n    }\n}\n\n// File: original_contracts/routers/IRouter.sol\n\npragma solidity 0.7.5;\n\ninterface IRouter {\n\n    /**\n    * @dev Certain routers/exchanges needs to be initialized.\n    * This method will be called from Augustus\n    */\n    function initialize(bytes calldata data) external;\n\n    /**\n    * @dev Returns unique identifier for the router\n    */\n    function getKey() external pure returns(bytes32);\n\n    event Swapped(\n        bytes16 uuid,\n        address initiator,\n        address indexed beneficiary,\n        address indexed srcToken,\n        address indexed destToken,\n        uint256 srcAmount,\n        uint256 receivedAmount,\n        uint256 expectedAmount\n    );\n\n    event Bought(\n        bytes16 uuid,\n        address initiator,\n        address indexed beneficiary,\n        address indexed srcToken,\n        address indexed destToken,\n        uint256 srcAmount,\n        uint256 receivedAmount\n    );\n\n    event FeeTaken(\n        uint256 fee,\n        uint256 partnerShare,\n        uint256 paraswapShare\n    );\n}\n\n// File: original_contracts/ITokenTransferProxy.sol\n\npragma solidity 0.7.5;\n\n\ninterface ITokenTransferProxy {\n\n    function transferFrom(\n        address token,\n        address from,\n        address to,\n        uint256 amount\n    )\n        external;\n}\n\n// File: original_contracts/lib/Utils.sol\n\npragma solidity 0.7.5;\npragma experimental ABIEncoderV2;\n\n\n\n\n\ninterface IERC20Permit {\n    function permit(address owner, address spender, uint256 amount, uint256 deadline, uint8 v, bytes32 r, bytes32 s) external;\n}\n\nlibrary Utils {\n    using SafeMath for uint256;\n    using SafeERC20 for IERC20;\n\n    address constant ETH_ADDRESS = address(\n        0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE\n    );\n    \n    uint256 constant MAX_UINT = type(uint256).max;\n\n    /**\n   * @param fromToken Address of the source token\n   * @param fromAmount Amount of source tokens to be swapped\n   * @param toAmount Minimum destination token amount expected out of this swap\n   * @param expectedAmount Expected amount of destination tokens without slippage\n   * @param beneficiary Beneficiary address\n   * 0 then 100% will be transferred to beneficiary. Pass 10000 for 100%\n   * @param path Route to be taken for this swap to take place\n\n   */\n    struct SellData {\n        address fromToken;\n        uint256 fromAmount;\n        uint256 toAmount;\n        uint256 expectedAmount;\n        address payable beneficiary;\n        Utils.Path[] path;\n        address payable partner;\n        uint256 feePercent;\n        bytes permit;\n        uint256 deadline;\n        bytes16 uuid;\n    }\n\n    struct MegaSwapSellData {\n        address fromToken;\n        uint256 fromAmount;\n        uint256 toAmount;\n        uint256 expectedAmount;\n        address payable beneficiary;\n        Utils.MegaSwapPath[] path;\n        address payable partner;\n        uint256 feePercent;\n        bytes permit;\n        uint256 deadline;\n        bytes16 uuid;\n    }\n\n    struct SimpleData {\n        address fromToken;\n        address toToken;\n        uint256 fromAmount;\n        uint256 toAmount;\n        uint256 expectedAmount;\n        address[] callees;\n        bytes exchangeData;\n        uint256[] startIndexes;\n        uint256[] values;\n        address payable beneficiary;\n        address payable partner;\n        uint256 feePercent;\n        bytes permit;\n        uint256 deadline;\n        bytes16 uuid;\n    }\n\n    struct Adapter {\n        address payable adapter;\n        uint256 percent;\n        uint256 networkFee;\n        Route[] route;\n    }\n\n    struct Route {\n        uint256 index;//Adapter at which index needs to be used\n        address targetExchange;\n        uint percent;\n        bytes payload;\n        uint256 networkFee;//Network fee is associated with 0xv3 trades\n    }\n\n    struct MegaSwapPath {\n        uint256 fromAmountPercent;\n        Path[] path;\n    }\n\n    struct Path {\n        address to;\n        uint256 totalNetworkFee;//Network fee is associated with 0xv3 trades\n        Adapter[] adapters;\n    }\n\n    function ethAddress() internal pure returns (address) {return ETH_ADDRESS;}\n\n    function maxUint() internal pure returns (uint256) {return MAX_UINT;}\n\n    function approve(\n        address addressToApprove,\n        address token,\n        uint256 amount\n    ) internal {\n        if (token != ETH_ADDRESS) {\n            IERC20 _token = IERC20(token);\n\n            uint allowance = _token.allowance(address(this), addressToApprove);\n\n            if (allowance < amount) {\n                _token.safeApprove(addressToApprove, 0);\n                _token.safeIncreaseAllowance(addressToApprove, MAX_UINT);\n            }\n        }\n    }\n\n    function transferTokens(\n        address token,\n        address payable destination,\n        uint256 amount\n    )\n    internal\n    {\n        if (amount > 0) {\n            if (token == ETH_ADDRESS) {\n                (bool result, ) = destination.call{value: amount, gas: 10000}(\"\");\n                require(result, \"Failed to transfer Ether\");\n            }\n            else {\n                IERC20(token).safeTransfer(destination, amount);\n            }\n        }\n\n    }\n\n    function tokenBalance(\n        address token,\n        address account\n    )\n    internal\n    view\n    returns (uint256)\n    {\n        if (token == ETH_ADDRESS) {\n            return account.balance;\n        } else {\n            return IERC20(token).balanceOf(account);\n        }\n    }\n\n    function permit(\n        address token,\n        bytes memory permit\n    )\n        internal\n    {\n        if (permit.length == 32 * 7) {\n            (bool success,) = token.call(abi.encodePacked(IERC20Permit.permit.selector, permit));\n            require(success, \"Permit failed\");\n        }\n    }\n\n}\n\n// File: original_contracts/adapters/IAdapter.sol\n\npragma solidity 0.7.5;\n\n\n\ninterface IAdapter {\n\n    /**\n    * @dev Certain adapters needs to be initialized.\n    * This method will be called from Augustus\n    */\n    function initialize(bytes calldata data) external;\n\n    /**\n   * @dev The function which performs the swap on an exchange.\n   * @param fromToken Address of the source token\n   * @param toToken Address of the destination token\n   * @param fromAmount Amount of source tokens to be swapped\n   * @param networkFee Network fee to be used in this router\n   * @param route Route to be followed\n   */\n    function swap(\n        IERC20 fromToken,\n        IERC20 toToken,\n        uint256 fromAmount,\n        uint256 networkFee,\n        Utils.Route[] calldata route\n    )\n        external\n        payable;\n}\n\n// File: openzeppelin-solidity/contracts/access/Ownable.sol\n\n\n\npragma solidity >=0.6.0 <0.8.0;\n\n/**\n * @dev Contract module which provides a basic access control mechanism, where\n * there is an account (an owner) that can be granted exclusive access to\n * specific functions.\n *\n * By default, the owner account will be the one that deploys the contract. This\n * can later be changed with {transferOwnership}.\n *\n * This module is used through inheritance. It will make available the modifier\n * `onlyOwner`, which can be applied to your functions to restrict their use to\n * the owner.\n */\nabstract contract Ownable is Context {\n    address private _owner;\n\n    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);\n\n    /**\n     * @dev Initializes the contract setting the deployer as the initial owner.\n     */\n    constructor () internal {\n        address msgSender = _msgSender();\n        _owner = msgSender;\n        emit OwnershipTransferred(address(0), msgSender);\n    }\n\n    /**\n     * @dev Returns the address of the current owner.\n     */\n    function owner() public view returns (address) {\n        return _owner;\n    }\n\n    /**\n     * @dev Throws if called by any account other than the owner.\n     */\n    modifier onlyOwner() {\n        require(_owner == _msgSender(), \"Ownable: caller is not the owner\");\n        _;\n    }\n\n    /**\n     * @dev Leaves the contract without owner. It will not be possible to call\n     * `onlyOwner` functions anymore. Can only be called by the current owner.\n     *\n     * NOTE: Renouncing ownership will leave the contract without an owner,\n     * thereby removing any functionality that is only available to the owner.\n     */\n    function renounceOwnership() public virtual onlyOwner {\n        emit OwnershipTransferred(_owner, address(0));\n        _owner = address(0);\n    }\n\n    /**\n     * @dev Transfers ownership of the contract to a new account (`newOwner`).\n     * Can only be called by the current owner.\n     */\n    function transferOwnership(address newOwner) public virtual onlyOwner {\n        require(newOwner != address(0), \"Ownable: new owner is the zero address\");\n        emit OwnershipTransferred(_owner, newOwner);\n        _owner = newOwner;\n    }\n}\n\n// File: original_contracts/TokenTransferProxy.sol\n\npragma solidity 0.7.5;\n\n\n\n\n\n\n\n/**\n* @dev Allows owner of the contract to transfer tokens on behalf of user.\n* User will need to approve this contract to spend tokens on his/her behalf\n* on Paraswap platform\n*/\ncontract TokenTransferProxy is Ownable, ITokenTransferProxy {\n    using SafeERC20 for IERC20;\n    using Address for address;\n\n    /**\n    * @dev Allows owner of the contract to transfer tokens on user's behalf\n    * @dev Swapper contract will be the owner of this contract\n    * @param token Address of the token\n    * @param from Address from which tokens will be transferred\n    * @param to Receipent address of the tokens\n    * @param amount Amount of tokens to transfer\n    */\n    function transferFrom(\n        address token,\n        address from,\n        address to,\n        uint256 amount\n    )\n        external\n        override\n        onlyOwner\n    {   \n        require(\n            from == tx.origin ||\n            from.isContract(),\n            \"Invalid from address\"\n        );\n        \n        IERC20(token).safeTransferFrom(from, to, amount);\n    }\n}\n\n// File: original_contracts/AugustusStorage.sol\n\npragma solidity 0.7.5;\n\n\ncontract AugustusStorage {\n\n    struct FeeStructure {\n        uint256 partnerShare;\n        bool noPositiveSlippage;\n        bool positiveSlippageToUser;\n        uint16 feePercent;\n        string partnerId;\n        bytes data;\n    }\n\n    ITokenTransferProxy internal tokenTransferProxy;\n    address payable internal feeWallet;\n    \n    mapping(address => FeeStructure) internal registeredPartners;\n\n    mapping (bytes4 => address) internal selectorVsRouter;\n    mapping (bytes32 => bool) internal adapterInitialized;\n    mapping (bytes32 => bytes) internal adapterVsData;\n\n    mapping (bytes32 => bytes) internal routerData;\n    mapping (bytes32 => bool) internal routerInitialized;\n\n\n    bytes32 public constant WHITELISTED_ROLE = keccak256(\"WHITELISTED_ROLE\");\n\n    bytes32 public constant ROUTER_ROLE = keccak256(\"ROUTER_ROLE\");\n\n}\n\n// File: original_contracts/AugustusSwapper.sol\n\npragma solidity 0.7.5;\n\n\n\n\n\n\n\n\n\n\ncontract AugustusSwapper is AugustusStorage, AccessControl {\n    using SafeMath for uint256;\n    using SafeERC20 for IERC20;\n\n    event AdapterInitialized(address indexed adapter);\n\n    event RouterInitialized(address indexed router);\n\n    /**\n     * @dev Throws if called by any account other than the admin.\n     */\n    modifier onlyAdmin() {\n        require(hasRole(DEFAULT_ADMIN_ROLE, msg.sender), \"caller is not the admin\");\n        _;\n    }\n\n    constructor(address payable _feeWallet) public {\n        TokenTransferProxy lTokenTransferProxy = new TokenTransferProxy();\n        tokenTransferProxy = ITokenTransferProxy(lTokenTransferProxy);\n        feeWallet = _feeWallet;\n        _setupRole(DEFAULT_ADMIN_ROLE, msg.sender);\n    }\n    \n    receive () payable external {\n\n    }\n\n    fallback() external payable {\n        bytes4 selector = msg.sig;\n        //Figure out the router contract for the given function\n        address implementation = getImplementation(selector);\n        if (implementation == address(0)) {\n            _revertWithData(\n                abi.encodeWithSelector(\n                    bytes4(keccak256(\"NotImplementedError(bytes4)\")),\n                    selector\n                )\n            );\n        }\n\n        //Delegate call to the router\n        (bool success, bytes memory resultData) = implementation.delegatecall(msg.data);\n        if (!success) {\n            _revertWithData(resultData);\n        }\n\n        _returnWithData(resultData);\n    }\n\n    function initializeAdapter(address adapter, bytes calldata data) external onlyAdmin {\n\n        require(\n            hasRole(WHITELISTED_ROLE, adapter),\n            \"Exchange not whitelisted\"\n        );\n        (bool success,) = adapter.delegatecall(abi.encodeWithSelector(IAdapter.initialize.selector, data));\n        require(success, \"Failed to initialize adapter\");\n        emit AdapterInitialized(adapter);\n    }\n\n    function initializeRouter(address router, bytes calldata data) external onlyAdmin {\n\n        require(\n            hasRole(ROUTER_ROLE, router),\n            \"Router not whitelisted\"\n        );\n        (bool success,) = router.delegatecall(abi.encodeWithSelector(IRouter.initialize.selector, data));\n        require(success, \"Failed to initialize router\");\n        emit RouterInitialized(router);\n    } \n\n    \n    function getImplementation(bytes4 selector) public view returns(address) {\n        return selectorVsRouter[selector];\n    }\n\n    function getVersion() external pure returns(string memory) {\n        return \"5.0.0\";\n    }\n\n    function getPartnerFeeStructure(address partner) public view returns (FeeStructure memory) {\n        return registeredPartners[partner];\n    }\n\n    function getFeeWallet() external view returns(address) {\n        return feeWallet;\n    }\n\n    function setFeeWallet(address payable _feeWallet) external onlyAdmin {\n        require(_feeWallet != address(0), \"Invalid address\");\n        feeWallet = _feeWallet;\n    }\n\n    function registerPartner(\n        address partner,\n        uint256 _partnerShare,\n        bool _noPositiveSlippage,\n        bool _positiveSlippageToUser,\n        uint16 _feePercent,\n        string calldata partnerId,\n        bytes calldata _data\n    )\n        external\n        onlyAdmin\n    {   \n        require(partner != address(0), \"Invalid partner\");\n        FeeStructure storage feeStructure = registeredPartners[partner];\n        require(feeStructure.partnerShare == 0, \"Already registered\");\n        require(_partnerShare > 0 && _partnerShare < 10000, \"Invalid values\");\n        require(_feePercent <= 10000, \"Invalid values\");\n\n        feeStructure.partnerShare = _partnerShare;\n        feeStructure.noPositiveSlippage = _noPositiveSlippage;\n        feeStructure.positiveSlippageToUser = _positiveSlippageToUser;\n        feeStructure.partnerId = partnerId;\n        feeStructure.feePercent = _feePercent;\n        feeStructure.data = _data;\n    }\n\n    function setImplementation(bytes4 selector, address implementation) external onlyAdmin {\n        require(\n            hasRole(ROUTER_ROLE, implementation),\n            \"Router is not whitelisted\"\n        );\n        selectorVsRouter[selector] = implementation;\n    }\n\n    /**\n    * @dev Allows admin of the contract to transfer any tokens which are assigned to the contract\n    * This method is for safety if by any chance tokens or ETHs are assigned to the contract by mistake\n    * @dev token Address of the token to be transferred\n    * @dev destination Recepient of the token\n    * @dev amount Amount of tokens to be transferred\n    */\n    function transferTokens(\n        address token,\n        address payable destination,\n        uint256 amount\n    )\n        external\n        onlyAdmin\n    {\n        if (amount > 0) {\n            if (token == address(0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE)) {\n                (bool result, ) = destination.call{value: amount, gas: 10000}(\"\");\n                require(result, \"Failed to transfer Ether\");\n            }\n            else {\n                IERC20(token).safeTransfer(destination, amount);\n            }\n        }\n    }\n\n      function isAdapterInitialized(bytes32 key) public view returns(bool) {\n        return adapterInitialized[key];\n    }\n\n    function getAdapterData(bytes32 key) public view returns(bytes memory) {\n        return adapterVsData[key];\n    }\n\n    function isRouterInitialized(bytes32 key) public view returns (bool) {\n        return routerInitialized[key];\n    }\n\n    function getRouterData(bytes32 key) public view returns (bytes memory) {\n        return routerData[key];\n    }\n\n    function getTokenTransferProxy() public view returns (address) {\n        return address(tokenTransferProxy);\n    }\n\n    function _revertWithData(bytes memory data) private pure {\n        assembly { revert(add(data, 32), mload(data)) }\n    }\n\n    function _returnWithData(bytes memory data) private pure {\n        assembly { return(add(data, 32), mload(data)) }\n    }\n\n}\n"
                  }
                ],
                "abi": [
                  {
                    "type": "constructor",
                    "name": "",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "",
                    "inputs": [
                      {
                        "name": "_feeWallet",
                        "type": "address",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "address"
                        }
                      }
                    ],
                    "outputs": null
                  },
                  {
                    "type": "function",
                    "name": "setImplementation",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "nonpayable",
                    "inputs": [
                      {
                        "name": "selector",
                        "type": "bytes4",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "bytes"
                        }
                      },
                      {
                        "name": "implementation",
                        "type": "address",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "address"
                        }
                      }
                    ],
                    "outputs": []
                  },
                  {
                    "type": "function",
                    "name": "registerPartner",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "nonpayable",
                    "inputs": [
                      {
                        "name": "partner",
                        "type": "address",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "address"
                        }
                      },
                      {
                        "name": "_partnerShare",
                        "type": "uint256",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "uint"
                        }
                      },
                      {
                        "name": "_noPositiveSlippage",
                        "type": "bool",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "bool"
                        }
                      },
                      {
                        "name": "_positiveSlippageToUser",
                        "type": "bool",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "bool"
                        }
                      },
                      {
                        "name": "_feePercent",
                        "type": "uint16",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "uint"
                        }
                      },
                      {
                        "name": "partnerId",
                        "type": "string",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "string"
                        }
                      },
                      {
                        "name": "_data",
                        "type": "bytes",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "bytes"
                        }
                      }
                    ],
                    "outputs": []
                  },
                  {
                    "type": "function",
                    "name": "isAdapterInitialized",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "view",
                    "inputs": [
                      {
                        "name": "key",
                        "type": "bytes32",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "bytes"
                        }
                      }
                    ],
                    "outputs": [
                      {
                        "name": "",
                        "type": "bool",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "bool"
                        }
                      }
                    ]
                  },
                  {
                    "type": "function",
                    "name": "initializeAdapter",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "nonpayable",
                    "inputs": [
                      {
                        "name": "adapter",
                        "type": "address",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "address"
                        }
                      },
                      {
                        "name": "data",
                        "type": "bytes",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "bytes"
                        }
                      }
                    ],
                    "outputs": []
                  },
                  {
                    "type": "function",
                    "name": "isRouterInitialized",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "view",
                    "inputs": [
                      {
                        "name": "key",
                        "type": "bytes32",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "bytes"
                        }
                      }
                    ],
                    "outputs": [
                      {
                        "name": "",
                        "type": "bool",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "bool"
                        }
                      }
                    ]
                  },
                  {
                    "type": "function",
                    "name": "grantRole",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "nonpayable",
                    "inputs": [
                      {
                        "name": "role",
                        "type": "bytes32",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "bytes"
                        }
                      },
                      {
                        "name": "account",
                        "type": "address",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "address"
                        }
                      }
                    ],
                    "outputs": []
                  },
                  {
                    "type": "function",
                    "name": "DEFAULT_ADMIN_ROLE",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "view",
                    "inputs": [],
                    "outputs": [
                      {
                        "name": "",
                        "type": "bytes32",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "bytes"
                        }
                      }
                    ]
                  },
                  {
                    "type": "function",
                    "name": "getFeeWallet",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "view",
                    "inputs": [],
                    "outputs": [
                      {
                        "name": "",
                        "type": "address",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "address"
                        }
                      }
                    ]
                  },
                  {
                    "type": "function",
                    "name": "ROUTER_ROLE",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "view",
                    "inputs": [],
                    "outputs": [
                      {
                        "name": "",
                        "type": "bytes32",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "bytes"
                        }
                      }
                    ]
                  },
                  {
                    "type": "function",
                    "name": "getVersion",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "pure",
                    "inputs": [],
                    "outputs": [
                      {
                        "name": "",
                        "type": "string",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "string"
                        }
                      }
                    ]
                  },
                  {
                    "type": "function",
                    "name": "revokeRole",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "nonpayable",
                    "inputs": [
                      {
                        "name": "role",
                        "type": "bytes32",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "bytes"
                        }
                      },
                      {
                        "name": "account",
                        "type": "address",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "address"
                        }
                      }
                    ],
                    "outputs": []
                  },
                  {
                    "type": "function",
                    "name": "WHITELISTED_ROLE",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "view",
                    "inputs": [],
                    "outputs": [
                      {
                        "name": "",
                        "type": "bytes32",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "bytes"
                        }
                      }
                    ]
                  },
                  {
                    "type": "function",
                    "name": "getRoleMember",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "view",
                    "inputs": [
                      {
                        "name": "role",
                        "type": "bytes32",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "bytes"
                        }
                      },
                      {
                        "name": "index",
                        "type": "uint256",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "uint"
                        }
                      }
                    ],
                    "outputs": [
                      {
                        "name": "",
                        "type": "address",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "address"
                        }
                      }
                    ]
                  },
                  {
                    "type": "function",
                    "name": "initializeRouter",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "nonpayable",
                    "inputs": [
                      {
                        "name": "router",
                        "type": "address",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "address"
                        }
                      },
                      {
                        "name": "data",
                        "type": "bytes",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "bytes"
                        }
                      }
                    ],
                    "outputs": []
                  },
                  {
                    "type": "function",
                    "name": "hasRole",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "view",
                    "inputs": [
                      {
                        "name": "role",
                        "type": "bytes32",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "bytes"
                        }
                      },
                      {
                        "name": "account",
                        "type": "address",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "address"
                        }
                      }
                    ],
                    "outputs": [
                      {
                        "name": "",
                        "type": "bool",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "bool"
                        }
                      }
                    ]
                  },
                  {
                    "type": "function",
                    "name": "getPartnerFeeStructure",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "view",
                    "inputs": [
                      {
                        "name": "partner",
                        "type": "address",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "address"
                        }
                      }
                    ],
                    "outputs": [
                      {
                        "name": "",
                        "type": "tuple",
                        "storage_location": "default",
                        "components": [
                          {
                            "name": "partnerShare",
                            "type": "uint256",
                            "storage_location": "default",
                            "offset": 0,
                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                            "indexed": false,
                            "simple_type": {
                              "type": "uint"
                            }
                          },
                          {
                            "name": "noPositiveSlippage",
                            "type": "bool",
                            "storage_location": "default",
                            "offset": 0,
                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                            "indexed": false,
                            "simple_type": {
                              "type": "bool"
                            }
                          },
                          {
                            "name": "positiveSlippageToUser",
                            "type": "bool",
                            "storage_location": "default",
                            "offset": 0,
                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                            "indexed": false,
                            "simple_type": {
                              "type": "bool"
                            }
                          },
                          {
                            "name": "feePercent",
                            "type": "uint16",
                            "storage_location": "default",
                            "offset": 0,
                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                            "indexed": false,
                            "simple_type": {
                              "type": "uint"
                            }
                          },
                          {
                            "name": "partnerId",
                            "type": "string",
                            "storage_location": "default",
                            "offset": 0,
                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                            "indexed": false,
                            "simple_type": {
                              "type": "string"
                            }
                          },
                          {
                            "name": "data",
                            "type": "bytes",
                            "storage_location": "default",
                            "offset": 0,
                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                            "indexed": false,
                            "simple_type": {
                              "type": "bytes"
                            }
                          }
                        ],
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false
                      }
                    ]
                  },
                  {
                    "type": "function",
                    "name": "transferTokens",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "nonpayable",
                    "inputs": [
                      {
                        "name": "token",
                        "type": "address",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "address"
                        }
                      },
                      {
                        "name": "destination",
                        "type": "address",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "address"
                        }
                      },
                      {
                        "name": "amount",
                        "type": "uint256",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "uint"
                        }
                      }
                    ],
                    "outputs": []
                  },
                  {
                    "type": "function",
                    "name": "setFeeWallet",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "nonpayable",
                    "inputs": [
                      {
                        "name": "_feeWallet",
                        "type": "address",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "address"
                        }
                      }
                    ],
                    "outputs": []
                  },
                  {
                    "type": "function",
                    "name": "getRoleAdmin",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "view",
                    "inputs": [
                      {
                        "name": "role",
                        "type": "bytes32",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "bytes"
                        }
                      }
                    ],
                    "outputs": [
                      {
                        "name": "",
                        "type": "bytes32",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "bytes"
                        }
                      }
                    ]
                  },
                  {
                    "type": "function",
                    "name": "getRoleMemberCount",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "view",
                    "inputs": [
                      {
                        "name": "role",
                        "type": "bytes32",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "bytes"
                        }
                      }
                    ],
                    "outputs": [
                      {
                        "name": "",
                        "type": "uint256",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "uint"
                        }
                      }
                    ]
                  },
                  {
                    "type": "function",
                    "name": "getTokenTransferProxy",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "view",
                    "inputs": [],
                    "outputs": [
                      {
                        "name": "",
                        "type": "address",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "address"
                        }
                      }
                    ]
                  },
                  {
                    "type": "function",
                    "name": "getImplementation",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "view",
                    "inputs": [
                      {
                        "name": "selector",
                        "type": "bytes4",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "bytes"
                        }
                      }
                    ],
                    "outputs": [
                      {
                        "name": "",
                        "type": "address",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "address"
                        }
                      }
                    ]
                  },
                  {
                    "type": "function",
                    "name": "getAdapterData",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "view",
                    "inputs": [
                      {
                        "name": "key",
                        "type": "bytes32",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "bytes"
                        }
                      }
                    ],
                    "outputs": [
                      {
                        "name": "",
                        "type": "bytes",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "bytes"
                        }
                      }
                    ]
                  },
                  {
                    "type": "function",
                    "name": "getRouterData",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "view",
                    "inputs": [
                      {
                        "name": "key",
                        "type": "bytes32",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "bytes"
                        }
                      }
                    ],
                    "outputs": [
                      {
                        "name": "",
                        "type": "bytes",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "bytes"
                        }
                      }
                    ]
                  },
                  {
                    "type": "function",
                    "name": "renounceRole",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "nonpayable",
                    "inputs": [
                      {
                        "name": "role",
                        "type": "bytes32",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "bytes"
                        }
                      },
                      {
                        "name": "account",
                        "type": "address",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "address"
                        }
                      }
                    ],
                    "outputs": []
                  },
                  {
                    "type": "event",
                    "name": "RouterInitialized",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "",
                    "inputs": [
                      {
                        "name": "router",
                        "type": "address",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": true,
                        "simple_type": {
                          "type": "address"
                        }
                      }
                    ],
                    "outputs": null
                  },
                  {
                    "type": "event",
                    "name": "AdapterInitialized",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "",
                    "inputs": [
                      {
                        "name": "adapter",
                        "type": "address",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": true,
                        "simple_type": {
                          "type": "address"
                        }
                      }
                    ],
                    "outputs": null
                  },
                  {
                    "type": "event",
                    "name": "RoleAdminChanged",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "",
                    "inputs": [
                      {
                        "name": "role",
                        "type": "bytes32",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": true,
                        "simple_type": {
                          "type": "bytes"
                        }
                      },
                      {
                        "name": "previousAdminRole",
                        "type": "bytes32",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": true,
                        "simple_type": {
                          "type": "bytes"
                        }
                      },
                      {
                        "name": "newAdminRole",
                        "type": "bytes32",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": true,
                        "simple_type": {
                          "type": "bytes"
                        }
                      }
                    ],
                    "outputs": null
                  },
                  {
                    "type": "event",
                    "name": "RoleGranted",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "",
                    "inputs": [
                      {
                        "name": "role",
                        "type": "bytes32",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": true,
                        "simple_type": {
                          "type": "bytes"
                        }
                      },
                      {
                        "name": "account",
                        "type": "address",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": true,
                        "simple_type": {
                          "type": "address"
                        }
                      },
                      {
                        "name": "sender",
                        "type": "address",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": true,
                        "simple_type": {
                          "type": "address"
                        }
                      }
                    ],
                    "outputs": null
                  },
                  {
                    "type": "event",
                    "name": "RoleRevoked",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "",
                    "inputs": [
                      {
                        "name": "role",
                        "type": "bytes32",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": true,
                        "simple_type": {
                          "type": "bytes"
                        }
                      },
                      {
                        "name": "account",
                        "type": "address",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": true,
                        "simple_type": {
                          "type": "address"
                        }
                      },
                      {
                        "name": "sender",
                        "type": "address",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": true,
                        "simple_type": {
                          "type": "address"
                        }
                      }
                    ],
                    "outputs": null
                  }
                ],
                "raw_abi": [
                  {
                    "inputs": [
                      {
                        "internalType": "address payable",
                        "name": "_feeWallet",
                        "type": "address"
                      }
                    ],
                    "stateMutability": "nonpayable",
                    "type": "constructor"
                  },
                  {
                    "anonymous": false,
                    "inputs": [
                      {
                        "indexed": true,
                        "internalType": "address",
                        "name": "adapter",
                        "type": "address"
                      }
                    ],
                    "name": "AdapterInitialized",
                    "type": "event"
                  },
                  {
                    "anonymous": false,
                    "inputs": [
                      {
                        "indexed": true,
                        "internalType": "bytes32",
                        "name": "role",
                        "type": "bytes32"
                      },
                      {
                        "indexed": true,
                        "internalType": "bytes32",
                        "name": "previousAdminRole",
                        "type": "bytes32"
                      },
                      {
                        "indexed": true,
                        "internalType": "bytes32",
                        "name": "newAdminRole",
                        "type": "bytes32"
                      }
                    ],
                    "name": "RoleAdminChanged",
                    "type": "event"
                  },
                  {
                    "anonymous": false,
                    "inputs": [
                      {
                        "indexed": true,
                        "internalType": "bytes32",
                        "name": "role",
                        "type": "bytes32"
                      },
                      {
                        "indexed": true,
                        "internalType": "address",
                        "name": "account",
                        "type": "address"
                      },
                      {
                        "indexed": true,
                        "internalType": "address",
                        "name": "sender",
                        "type": "address"
                      }
                    ],
                    "name": "RoleGranted",
                    "type": "event"
                  },
                  {
                    "anonymous": false,
                    "inputs": [
                      {
                        "indexed": true,
                        "internalType": "bytes32",
                        "name": "role",
                        "type": "bytes32"
                      },
                      {
                        "indexed": true,
                        "internalType": "address",
                        "name": "account",
                        "type": "address"
                      },
                      {
                        "indexed": true,
                        "internalType": "address",
                        "name": "sender",
                        "type": "address"
                      }
                    ],
                    "name": "RoleRevoked",
                    "type": "event"
                  },
                  {
                    "anonymous": false,
                    "inputs": [
                      {
                        "indexed": true,
                        "internalType": "address",
                        "name": "router",
                        "type": "address"
                      }
                    ],
                    "name": "RouterInitialized",
                    "type": "event"
                  },
                  {
                    "stateMutability": "payable",
                    "type": "fallback"
                  },
                  {
                    "inputs": [],
                    "name": "DEFAULT_ADMIN_ROLE",
                    "outputs": [
                      {
                        "internalType": "bytes32",
                        "name": "",
                        "type": "bytes32"
                      }
                    ],
                    "stateMutability": "view",
                    "type": "function"
                  },
                  {
                    "inputs": [],
                    "name": "ROUTER_ROLE",
                    "outputs": [
                      {
                        "internalType": "bytes32",
                        "name": "",
                        "type": "bytes32"
                      }
                    ],
                    "stateMutability": "view",
                    "type": "function"
                  },
                  {
                    "inputs": [],
                    "name": "WHITELISTED_ROLE",
                    "outputs": [
                      {
                        "internalType": "bytes32",
                        "name": "",
                        "type": "bytes32"
                      }
                    ],
                    "stateMutability": "view",
                    "type": "function"
                  },
                  {
                    "inputs": [
                      {
                        "internalType": "bytes32",
                        "name": "key",
                        "type": "bytes32"
                      }
                    ],
                    "name": "getAdapterData",
                    "outputs": [
                      {
                        "internalType": "bytes",
                        "name": "",
                        "type": "bytes"
                      }
                    ],
                    "stateMutability": "view",
                    "type": "function"
                  },
                  {
                    "inputs": [],
                    "name": "getFeeWallet",
                    "outputs": [
                      {
                        "internalType": "address",
                        "name": "",
                        "type": "address"
                      }
                    ],
                    "stateMutability": "view",
                    "type": "function"
                  },
                  {
                    "inputs": [
                      {
                        "internalType": "bytes4",
                        "name": "selector",
                        "type": "bytes4"
                      }
                    ],
                    "name": "getImplementation",
                    "outputs": [
                      {
                        "internalType": "address",
                        "name": "",
                        "type": "address"
                      }
                    ],
                    "stateMutability": "view",
                    "type": "function"
                  },
                  {
                    "inputs": [
                      {
                        "internalType": "address",
                        "name": "partner",
                        "type": "address"
                      }
                    ],
                    "name": "getPartnerFeeStructure",
                    "outputs": [
                      {
                        "components": [
                          {
                            "internalType": "uint256",
                            "name": "partnerShare",
                            "type": "uint256"
                          },
                          {
                            "internalType": "bool",
                            "name": "noPositiveSlippage",
                            "type": "bool"
                          },
                          {
                            "internalType": "bool",
                            "name": "positiveSlippageToUser",
                            "type": "bool"
                          },
                          {
                            "internalType": "uint16",
                            "name": "feePercent",
                            "type": "uint16"
                          },
                          {
                            "internalType": "string",
                            "name": "partnerId",
                            "type": "string"
                          },
                          {
                            "internalType": "bytes",
                            "name": "data",
                            "type": "bytes"
                          }
                        ],
                        "internalType": "struct AugustusStorage.FeeStructure",
                        "name": "",
                        "type": "tuple"
                      }
                    ],
                    "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": "key",
                        "type": "bytes32"
                      }
                    ],
                    "name": "getRouterData",
                    "outputs": [
                      {
                        "internalType": "bytes",
                        "name": "",
                        "type": "bytes"
                      }
                    ],
                    "stateMutability": "view",
                    "type": "function"
                  },
                  {
                    "inputs": [],
                    "name": "getTokenTransferProxy",
                    "outputs": [
                      {
                        "internalType": "address",
                        "name": "",
                        "type": "address"
                      }
                    ],
                    "stateMutability": "view",
                    "type": "function"
                  },
                  {
                    "inputs": [],
                    "name": "getVersion",
                    "outputs": [
                      {
                        "internalType": "string",
                        "name": "",
                        "type": "string"
                      }
                    ],
                    "stateMutability": "pure",
                    "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": "adapter",
                        "type": "address"
                      },
                      {
                        "internalType": "bytes",
                        "name": "data",
                        "type": "bytes"
                      }
                    ],
                    "name": "initializeAdapter",
                    "outputs": [],
                    "stateMutability": "nonpayable",
                    "type": "function"
                  },
                  {
                    "inputs": [
                      {
                        "internalType": "address",
                        "name": "router",
                        "type": "address"
                      },
                      {
                        "internalType": "bytes",
                        "name": "data",
                        "type": "bytes"
                      }
                    ],
                    "name": "initializeRouter",
                    "outputs": [],
                    "stateMutability": "nonpayable",
                    "type": "function"
                  },
                  {
                    "inputs": [
                      {
                        "internalType": "bytes32",
                        "name": "key",
                        "type": "bytes32"
                      }
                    ],
                    "name": "isAdapterInitialized",
                    "outputs": [
                      {
                        "internalType": "bool",
                        "name": "",
                        "type": "bool"
                      }
                    ],
                    "stateMutability": "view",
                    "type": "function"
                  },
                  {
                    "inputs": [
                      {
                        "internalType": "bytes32",
                        "name": "key",
                        "type": "bytes32"
                      }
                    ],
                    "name": "isRouterInitialized",
                    "outputs": [
                      {
                        "internalType": "bool",
                        "name": "",
                        "type": "bool"
                      }
                    ],
                    "stateMutability": "view",
                    "type": "function"
                  },
                  {
                    "inputs": [
                      {
                        "internalType": "address",
                        "name": "partner",
                        "type": "address"
                      },
                      {
                        "internalType": "uint256",
                        "name": "_partnerShare",
                        "type": "uint256"
                      },
                      {
                        "internalType": "bool",
                        "name": "_noPositiveSlippage",
                        "type": "bool"
                      },
                      {
                        "internalType": "bool",
                        "name": "_positiveSlippageToUser",
                        "type": "bool"
                      },
                      {
                        "internalType": "uint16",
                        "name": "_feePercent",
                        "type": "uint16"
                      },
                      {
                        "internalType": "string",
                        "name": "partnerId",
                        "type": "string"
                      },
                      {
                        "internalType": "bytes",
                        "name": "_data",
                        "type": "bytes"
                      }
                    ],
                    "name": "registerPartner",
                    "outputs": [],
                    "stateMutability": "nonpayable",
                    "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 payable",
                        "name": "_feeWallet",
                        "type": "address"
                      }
                    ],
                    "name": "setFeeWallet",
                    "outputs": [],
                    "stateMutability": "nonpayable",
                    "type": "function"
                  },
                  {
                    "inputs": [
                      {
                        "internalType": "bytes4",
                        "name": "selector",
                        "type": "bytes4"
                      },
                      {
                        "internalType": "address",
                        "name": "implementation",
                        "type": "address"
                      }
                    ],
                    "name": "setImplementation",
                    "outputs": [],
                    "stateMutability": "nonpayable",
                    "type": "function"
                  },
                  {
                    "inputs": [
                      {
                        "internalType": "address",
                        "name": "token",
                        "type": "address"
                      },
                      {
                        "internalType": "address payable",
                        "name": "destination",
                        "type": "address"
                      },
                      {
                        "internalType": "uint256",
                        "name": "amount",
                        "type": "uint256"
                      }
                    ],
                    "name": "transferTokens",
                    "outputs": [],
                    "stateMutability": "nonpayable",
                    "type": "function"
                  },
                  {
                    "stateMutability": "payable",
                    "type": "receive"
                  }
                ],
                "states": [
                  {
                    "name": "feeWallet",
                    "type": "address payable",
                    "storage_location": "storage",
                    "offset": 0,
                    "index": "0x0000000000000000000000000000000000000000000000000000000000000001",
                    "indexed": false,
                    "simple_type": {
                      "type": "address payable"
                    }
                  },
                  {
                    "name": "adapterVsData",
                    "type": "mapping (bytes32 => bytes)",
                    "storage_location": "storage",
                    "offset": 0,
                    "index": "0x0000000000000000000000000000000000000000000000000000000000000005",
                    "indexed": false
                  },
                  {
                    "name": "routerData",
                    "type": "mapping (bytes32 => bytes)",
                    "storage_location": "storage",
                    "offset": 0,
                    "index": "0x0000000000000000000000000000000000000000000000000000000000000006",
                    "indexed": false
                  },
                  {
                    "name": "tokenTransferProxy",
                    "type": "address",
                    "storage_location": "storage",
                    "offset": 0,
                    "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                    "indexed": false,
                    "simple_type": {
                      "type": "address"
                    }
                  },
                  {
                    "name": "registeredPartners",
                    "type": "mapping (address => tuple)",
                    "storage_location": "memory",
                    "components": [
                      {
                        "name": "partnerShare",
                        "type": "uint256",
                        "storage_location": "memory",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "uint"
                        }
                      },
                      {
                        "name": "noPositiveSlippage",
                        "type": "bool",
                        "storage_location": "memory",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000001",
                        "indexed": false,
                        "simple_type": {
                          "type": "bool"
                        }
                      },
                      {
                        "name": "positiveSlippageToUser",
                        "type": "bool",
                        "storage_location": "memory",
                        "offset": 8,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000001",
                        "indexed": false,
                        "simple_type": {
                          "type": "bool"
                        }
                      },
                      {
                        "name": "feePercent",
                        "type": "uint16",
                        "storage_location": "memory",
                        "offset": 16,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000001",
                        "indexed": false,
                        "simple_type": {
                          "type": "uint"
                        }
                      },
                      {
                        "name": "partnerId",
                        "type": "string",
                        "storage_location": "memory",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000002",
                        "indexed": false,
                        "simple_type": {
                          "type": "string"
                        }
                      },
                      {
                        "name": "data",
                        "type": "bytes",
                        "storage_location": "memory",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000003",
                        "indexed": false,
                        "simple_type": {
                          "type": "bytes"
                        }
                      }
                    ],
                    "offset": 0,
                    "index": "0x0000000000000000000000000000000000000000000000000000000000000002",
                    "indexed": false
                  },
                  {
                    "name": "selectorVsRouter",
                    "type": "mapping (bytes4 => address)",
                    "storage_location": "storage",
                    "offset": 0,
                    "index": "0x0000000000000000000000000000000000000000000000000000000000000003",
                    "indexed": false
                  },
                  {
                    "name": "adapterInitialized",
                    "type": "mapping (bytes32 => bool)",
                    "storage_location": "storage",
                    "offset": 0,
                    "index": "0x0000000000000000000000000000000000000000000000000000000000000004",
                    "indexed": false
                  },
                  {
                    "name": "routerInitialized",
                    "type": "mapping (bytes32 => bool)",
                    "storage_location": "storage",
                    "offset": 0,
                    "index": "0x0000000000000000000000000000000000000000000000000000000000000007",
                    "indexed": false
                  },
                  {
                    "name": "_roles",
                    "type": "mapping (bytes32 => tuple)",
                    "storage_location": "memory",
                    "components": [
                      {
                        "name": "members",
                        "type": "tuple",
                        "storage_location": "memory",
                        "components": [
                          {
                            "name": "_inner",
                            "type": "tuple",
                            "storage_location": "memory",
                            "components": [
                              {
                                "name": "_values",
                                "type": "bytes32[]",
                                "storage_location": "memory",
                                "offset": 0,
                                "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                "indexed": false,
                                "simple_type": {
                                  "type": "slice",
                                  "nested_type": {
                                    "type": "bytes"
                                  }
                                }
                              },
                              {
                                "name": "_indexes",
                                "type": "mapping (bytes32 => uint256)",
                                "storage_location": "memory",
                                "offset": 0,
                                "index": "0x0000000000000000000000000000000000000000000000000000000000000001",
                                "indexed": false
                              }
                            ],
                            "offset": 0,
                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                            "indexed": false
                          }
                        ],
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false
                      },
                      {
                        "name": "adminRole",
                        "type": "bytes32",
                        "storage_location": "memory",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000002",
                        "indexed": false,
                        "simple_type": {
                          "type": "bytes"
                        }
                      }
                    ],
                    "offset": 0,
                    "index": "0x0000000000000000000000000000000000000000000000000000000000000008",
                    "indexed": false
                  }
                ]
              },
              "src_map": {
                "0": {
                  "r": "47102:5950:0",
                  "s": 47102,
                  "l": 5950,
                  "ln": 1467,
                  "c": 1,
                  "j": "-"
                },
                "2": {
                  "r": "47102:5950:0",
                  "s": 47102,
                  "l": 5950,
                  "ln": 1467,
                  "c": 1,
                  "j": "-"
                }
              },
              "creation_block": 0,
              "creation_tx": "",
              "creator_address": "",
              "created_at": "2021-08-18T12:43:57Z",
              "language": "solidity",
              "in_project": false
            }
          ],
          "generated_access_list": []
        }
      },
      "quick_mode_simulate_post_response": {
        "type": "object",
        "title": "Quick Simulation Response",
        "description": "An object with details about transaction simulation using a quick mode.",
        "example": {
          "transaction": {
            "hash": "0x8bb054967340f08827e1943ad34e2a448357e72ad1adee7397c577a716530a0f",
            "block_hash": "",
            "block_number": 17884583,
            "from": "0x3f41a1cfd3c8b8d9c162de0f42307a0095a6e5df",
            "gas": 648318,
            "gas_price": 0,
            "gas_fee_cap": 0,
            "gas_tip_cap": 0,
            "cumulative_gas_used": 0,
            "gas_used": 45065,
            "effective_gas_price": 0,
            "input": "0xa94e78ef000000000000000000000000000000000000000000000000000000000000002000000000000000000000000068037790a0229e9ce6eaa8a99ea92964106c470300000000000000000000000000000000000000000000010f0cf064dd592000000000000000000000000000000000000000000000000000000000000145dc1b2e00000000000000000000000000000000000000000000000000000001477f4d7d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000000000064d281e65c9438a5a99c4bccb1035296d5d2d8d200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000320000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a73000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000006000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000064db6806000000000000000000000000000000000000000000000000000000000000002b68037790a0229e9ce6eaa8a99ea92964106c47030001f4a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000000000000000000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a730000000000000000000000000000000000000000000000000000000000002710000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000060000000000000000000000001b81d678ffb9c0263b24a97847620c99d213eb14000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000064db6806000000000000000000000000000000000000000000000000000000000000002ba0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000064dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
            "nonce": 1094,
            "to": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
            "index": 0,
            "value": "0x",
            "access_list": null,
            "status": false,
            "addresses": null,
            "contract_ids": null,
            "network_id": "1",
            "timestamp": "2023-08-10T12:48:11Z",
            "function_selector": "",
            "l1_block_number": 0,
            "l1_timestamp": 0,
            "deposit_tx": false,
            "system_tx": false,
            "sig": {
              "v": "0x0",
              "r": "0x0",
              "s": "0x0"
            },
            "transaction_info": {
              "contract_id": "eth:1:0xbd7b550d2e7571383d84acf597a00d341e5c406e",
              "block_number": 17884583,
              "transaction_id": "0x8bb054967340f08827e1943ad34e2a448357e72ad1adee7397c577a716530a0f",
              "contract_address": "0xbd7b550d2e7571383d84acf597a00d341e5c406e",
              "method": null,
              "parameters": null,
              "intrinsic_gas": 32744,
              "refund_gas": 0,
              "call_trace": {
                "hash": "0x8bb054967340f08827e1943ad34e2a448357e72ad1adee7397c577a716530a0f",
                "contract_name": "",
                "function_pc": 0,
                "function_op": "CALL",
                "absolute_position": 0,
                "caller_pc": 0,
                "caller_op": "CALL",
                "call_type": "CALL",
                "address": "0x3f41a1cfd3c8b8d9c162de0f42307a0095a6e5df",
                "from": "0x3f41a1cfd3c8b8d9c162de0f42307a0095a6e5df",
                "from_balance": "50912118197849012",
                "to": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
                "to_balance": "0",
                "value": "0",
                "block_timestamp": "0001-01-01T00:00:00Z",
                "gas": 615574,
                "gas_used": 12321,
                "intrinsic_gas": 32744,
                "storage_address": "0x3f41a1cfd3c8b8d9c162de0f42307a0095a6e5df",
                "input": "0xa94e78ef000000000000000000000000000000000000000000000000000000000000002000000000000000000000000068037790a0229e9ce6eaa8a99ea92964106c470300000000000000000000000000000000000000000000010f0cf064dd592000000000000000000000000000000000000000000000000000000000000145dc1b2e00000000000000000000000000000000000000000000000000000001477f4d7d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000000000064d281e65c9438a5a99c4bccb1035296d5d2d8d200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000320000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a73000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000006000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000064db6806000000000000000000000000000000000000000000000000000000000000002b68037790a0229e9ce6eaa8a99ea92964106c47030001f4a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000000000000000000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a730000000000000000000000000000000000000000000000000000000000002710000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000060000000000000000000000001b81d678ffb9c0263b24a97847620c99d213eb14000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000064db6806000000000000000000000000000000000000000000000000000000000000002ba0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000064dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
                "nonce_diff": [
                  {
                    "address": "0x3F41a1CFd3C8B8d9c162dE0f42307a0095A6e5DF",
                    "original": "1094",
                    "dirty": "1095"
                  }
                ],
                "output": "0x",
                "decoded_output": null,
                "error_absolute_position": 2098,
                "error": "execution reverted",
                "error_op": "REVERT",
                "error_hex_data": "0x08c379a000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000011446561646c696e65206272656163686564000000000000000000000000000000",
                "network_id": "1",
                "calls": [
                  {
                    "hash": "",
                    "function_pc": 0,
                    "function_op": "STOP",
                    "absolute_position": 2044,
                    "caller_pc": 736,
                    "caller_op": "DELEGATECALL",
                    "call_type": "DELEGATECALL",
                    "address": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
                    "from": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
                    "from_balance": "0",
                    "to": "0xbd7b550d2e7571383d84acf597a00d341e5c406e",
                    "to_balance": "0",
                    "value": null,
                    "caller": {
                      "address": "0x3f41a1cfd3c8b8d9c162de0f42307a0095a6e5df",
                      "balance": "50912118197849012"
                    },
                    "block_timestamp": "0001-01-01T00:00:00Z",
                    "gas": 600460,
                    "gas_used": 6554,
                    "refund_gas": 9531,
                    "storage_address": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
                    "input": "0xa94e78ef000000000000000000000000000000000000000000000000000000000000002000000000000000000000000068037790a0229e9ce6eaa8a99ea92964106c470300000000000000000000000000000000000000000000010f0cf064dd592000000000000000000000000000000000000000000000000000000000000145dc1b2e00000000000000000000000000000000000000000000000000000001477f4d7d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000000000064d281e65c9438a5a99c4bccb1035296d5d2d8d200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000320000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a73000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000006000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000064db6806000000000000000000000000000000000000000000000000000000000000002b68037790a0229e9ce6eaa8a99ea92964106c47030001f4a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000000000000000000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a730000000000000000000000000000000000000000000000000000000000002710000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000060000000000000000000000001b81d678ffb9c0263b24a97847620c99d213eb14000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000064db6806000000000000000000000000000000000000000000000000000000000000002ba0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000064dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
                    "output": "0x",
                    "decoded_output": null,
                    "error_absolute_position": 2043,
                    "error": "execution reverted",
                    "error_op": "REVERT",
                    "error_reason": "Deadline breached",
                    "network_id": "",
                    "calls": [
                      {
                        "hash": "",
                        "function_pc": 0,
                        "function_op": "",
                        "absolute_position": 2043,
                        "caller_pc": 0,
                        "caller_op": "",
                        "address": "0xbd7b550d2e7571383d84acf597a00d341e5c406e",
                        "from": "0xbd7b550d2e7571383d84acf597a00d341e5c406e",
                        "from_balance": null,
                        "to": "0xbd7b550d2e7571383d84acf597a00d341e5c406e",
                        "to_balance": null,
                        "value": null,
                        "block_timestamp": "0001-01-01T00:00:00Z",
                        "gas": 0,
                        "gas_used": 0,
                        "input": "0x",
                        "output": "0x",
                        "decoded_output": null,
                        "error": "execution reverted",
                        "error_op": "REVERT",
                        "network_id": "",
                        "calls": null
                      }
                    ]
                  }
                ]
              },
              "stack_trace": [
                {
                  "file_index": null,
                  "contract": "0xbd7b550d2e7571383d84acf597a00d341e5c406e",
                  "name": null,
                  "line": null,
                  "error": "execution reverted",
                  "error_reason": "Deadline breached",
                  "code": null,
                  "op": "REVERT",
                  "length": null
                },
                {
                  "file_index": null,
                  "contract": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
                  "name": null,
                  "line": null,
                  "error": null,
                  "code": null,
                  "op": "DELEGATECALL",
                  "length": null
                },
                {
                  "file_index": null,
                  "contract": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
                  "name": "",
                  "line": null,
                  "error": null,
                  "code": null,
                  "op": "CALL",
                  "length": null
                }
              ],
              "logs": null,
              "balance_diff": null,
              "nonce_diff": [
                {
                  "address": "0x3F41a1CFd3C8B8d9c162dE0f42307a0095A6e5DF",
                  "original": "1094",
                  "dirty": "1095"
                }
              ],
              "state_diff": null,
              "raw_state_diff": null,
              "console_logs": null,
              "asset_changes": null,
              "balance_changes": [],
              "created_at": "2023-08-10T12:48:11Z"
            },
            "error_message": "Deadline breached",
            "error_info": {
              "error_message": "Deadline breached",
              "address": "0xbd7b550d2e7571383d84acf597a00d341e5c406e"
            },
            "method": "",
            "decoded_input": null,
            "call_trace": [
              {
                "call_type": "CALL",
                "from": "0x3f41a1cfd3c8b8d9c162de0f42307a0095a6e5df",
                "to": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
                "gas": 615574,
                "gas_used": 12321,
                "address": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
                "error": "value:\"execution reverted\"",
                "subtraces": 1,
                "input": "0xa94e78ef000000000000000000000000000000000000000000000000000000000000002000000000000000000000000068037790a0229e9ce6eaa8a99ea92964106c470300000000000000000000000000000000000000000000010f0cf064dd592000000000000000000000000000000000000000000000000000000000000145dc1b2e00000000000000000000000000000000000000000000000000000001477f4d7d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000000000064d281e65c9438a5a99c4bccb1035296d5d2d8d200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000320000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a73000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000006000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000064db6806000000000000000000000000000000000000000000000000000000000000002b68037790a0229e9ce6eaa8a99ea92964106c47030001f4a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000000000000000000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a730000000000000000000000000000000000000000000000000000000000002710000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000060000000000000000000000001b81d678ffb9c0263b24a97847620c99d213eb14000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000064db6806000000000000000000000000000000000000000000000000000000000000002ba0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000064dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
                "output": "0x08c379a000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000011446561646c696e65206272656163686564000000000000000000000000000000",
                "errorMessage": "value:\"Deadline breached\"",
                "fromBalance": "0xb4e04d3ff20bb4"
              },
              {
                "call_type": "DELEGATECALL",
                "from": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
                "to": "0xbd7b550d2e7571383d84acf597a00d341e5c406e",
                "gas": 600460,
                "gas_used": 6554,
                "address": "0xbd7b550d2e7571383d84acf597a00d341e5c406e",
                "error": "value:\"execution reverted\"",
                "trace_address": [
                  0
                ],
                "input": "0xa94e78ef000000000000000000000000000000000000000000000000000000000000002000000000000000000000000068037790a0229e9ce6eaa8a99ea92964106c470300000000000000000000000000000000000000000000010f0cf064dd592000000000000000000000000000000000000000000000000000000000000145dc1b2e00000000000000000000000000000000000000000000000000000001477f4d7d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000000000064d281e65c9438a5a99c4bccb1035296d5d2d8d200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000320000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a73000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000006000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000064db6806000000000000000000000000000000000000000000000000000000000000002b68037790a0229e9ce6eaa8a99ea92964106c47030001f4a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000000000000000000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a730000000000000000000000000000000000000000000000000000000000002710000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000060000000000000000000000001b81d678ffb9c0263b24a97847620c99d213eb14000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000064db6806000000000000000000000000000000000000000000000000000000000000002ba0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000064dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
                "output": "0x08c379a000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000011446561646c696e65206272656163686564000000000000000000000000000000",
                "gas_in": 612591,
                "gas_cost": 603060,
                "errorMessage": "value:\"Deadline breached\""
              }
            ]
          },
          "simulation": {
            "id": "19aaed14-6079-4533-bf1c-3b5aff52c8a6",
            "project_id": "dfdc391a-a15d-4590-9aef-8691259c7df4",
            "owner_id": "7d5e8b1f-8bf8-4eae-a70f-fb7d354b1cc2",
            "network_id": "1",
            "block_number": 17884583,
            "transaction_index": 0,
            "from": "0x3f41a1cfd3c8b8d9c162de0f42307a0095a6e5df",
            "to": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
            "input": "0xa94e78ef000000000000000000000000000000000000000000000000000000000000002000000000000000000000000068037790a0229e9ce6eaa8a99ea92964106c470300000000000000000000000000000000000000000000010f0cf064dd592000000000000000000000000000000000000000000000000000000000000145dc1b2e00000000000000000000000000000000000000000000000000000001477f4d7d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000000000064d281e65c9438a5a99c4bccb1035296d5d2d8d200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000320000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a73000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000006000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000064db6806000000000000000000000000000000000000000000000000000000000000002b68037790a0229e9ce6eaa8a99ea92964106c47030001f4a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000000000000000000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a730000000000000000000000000000000000000000000000000000000000002710000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000060000000000000000000000001b81d678ffb9c0263b24a97847620c99d213eb14000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000064db6806000000000000000000000000000000000000000000000000000000000000002ba0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000064dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
            "gas": 648318,
            "gas_price": "0",
            "gas_used": 45065,
            "value": "0",
            "status": false,
            "access_list": null,
            "queue_origin": "",
            "block_header": {
              "number": "0x110e5a7",
              "hash": "0x0000000000000000000000000000000000000000000000000000000000000000",
              "stateRoot": "0x5aedfee941729c66fab3bc35cc00a8687d4c8f177e800565fa3895fee02a8d12",
              "parentHash": "0x9075514cb7db4dc5c7f25b7b53bdee3ea51b3088eb94a5551668f49d5fd7bdc9",
              "sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
              "transactionsRoot": "0x3f3e3bac2d1a65adabe655196f48341105a8c21600b5d1dcd0f95ad6baf91d11",
              "receiptsRoot": "0xb129fa08d3abb39c49b4e65f1edf7efc0d3d5ddf6b84ff802b43eb2b29e9b046",
              "logsBloom": "0x74717005272adbead19e3886a21a471915102405ca59280ca44b9062f41101c5e441130e920943f04203fb604087c1b12293878b8c5b381213d09c35c12cc09046c0e4af0174382b7952554bf1f820ec0ff34a2c0560597035187563c6e023501ac2c8a2129384ab01a13c0015b43cdd7a0b03c200148d6d57861cb000a810560e11925caa60b13b60f5614117b606c68907e5859bc0903c643127dbc5900e2c831408093b4a209b1e40cec85cf20d07a4919a40b539994611a185ab00280022f39a08d67104014a096fa60a493a80da0f6e8a22412fb0ba6884429e1033a31cd8bce468d10c7d8a82663785a120c4408b2112604a101a5fa8891290302b970d",
              "timestamp": "0x64d4dc8b",
              "difficulty": "0x0",
              "gasLimit": "0x1c9c380",
              "gasUsed": "0x9d2881",
              "miner": "0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5",
              "extraData": "0x6265617665726275696c642e6f7267",
              "mixHash": "0xcd3023878e91294b673f69b51e3ed64e814f6caabb795a93caadb34cc39a8ff3",
              "nonce": "0x0000000000000000",
              "baseFeePerGas": "0x4d0b44e27",
              "size": "0x0",
              "totalDifficulty": "0x0",
              "uncles": null,
              "transactions": null
            },
            "deposit_tx": false,
            "system_tx": false,
            "error_message": "Deadline breached",
            "nonce": 1094,
            "addresses": null,
            "contract_ids": null,
            "shared": false,
            "created_at": "2023-12-20T14:23:16.436539931Z"
          },
          "contracts": [],
          "generated_access_list": []
        }
      },
      "abi_mode_simulate_post_response": {
        "type": "object",
        "title": "ABI Simulation Response",
        "description": "An object with details about transaction simulation using an ABI mode.",
        "example": {
          "transaction": {
            "hash": "0x8bb054967340f08827e1943ad34e2a448357e72ad1adee7397c577a716530a0f",
            "block_hash": "",
            "block_number": 17884583,
            "from": "0x3f41a1cfd3c8b8d9c162de0f42307a0095a6e5df",
            "gas": 648318,
            "gas_price": 0,
            "gas_fee_cap": 0,
            "gas_tip_cap": 0,
            "cumulative_gas_used": 0,
            "gas_used": 45065,
            "effective_gas_price": 0,
            "input": "0xa94e78ef000000000000000000000000000000000000000000000000000000000000002000000000000000000000000068037790a0229e9ce6eaa8a99ea92964106c470300000000000000000000000000000000000000000000010f0cf064dd592000000000000000000000000000000000000000000000000000000000000145dc1b2e00000000000000000000000000000000000000000000000000000001477f4d7d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000000000064d281e65c9438a5a99c4bccb1035296d5d2d8d200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000320000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a73000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000006000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000064db6806000000000000000000000000000000000000000000000000000000000000002b68037790a0229e9ce6eaa8a99ea92964106c47030001f4a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000000000000000000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a730000000000000000000000000000000000000000000000000000000000002710000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000060000000000000000000000001b81d678ffb9c0263b24a97847620c99d213eb14000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000064db6806000000000000000000000000000000000000000000000000000000000000002ba0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000064dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
            "nonce": 1094,
            "to": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
            "index": 0,
            "value": "0x",
            "access_list": null,
            "status": false,
            "addresses": [
              "0x3f41a1cfd3c8b8d9c162de0f42307a0095a6e5df",
              "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
              "0xbd7b550d2e7571383d84acf597a00d341e5c406e"
            ],
            "contract_ids": [
              "eth:1:0x3f41a1cfd3c8b8d9c162de0f42307a0095a6e5df",
              "eth:1:0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
              "eth:1:0xbd7b550d2e7571383d84acf597a00d341e5c406e"
            ],
            "network_id": "1",
            "timestamp": "2023-08-10T12:48:11Z",
            "function_selector": "",
            "l1_block_number": 0,
            "l1_timestamp": 0,
            "deposit_tx": false,
            "system_tx": false,
            "sig": {
              "v": "0x0",
              "r": "0x0",
              "s": "0x0"
            },
            "transaction_info": {
              "contract_id": "eth:1:0xbd7b550d2e7571383d84acf597a00d341e5c406e",
              "block_number": 17884583,
              "transaction_id": "0x8bb054967340f08827e1943ad34e2a448357e72ad1adee7397c577a716530a0f",
              "contract_address": "0xbd7b550d2e7571383d84acf597a00d341e5c406e",
              "method": null,
              "parameters": null,
              "intrinsic_gas": 32744,
              "refund_gas": 0,
              "call_trace": {
                "hash": "0x8bb054967340f08827e1943ad34e2a448357e72ad1adee7397c577a716530a0f",
                "contract_name": "AugustusSwapper",
                "function_pc": 0,
                "function_op": "CALL",
                "absolute_position": 0,
                "caller_pc": 0,
                "caller_op": "CALL",
                "call_type": "CALL",
                "address": "0x3f41a1cfd3c8b8d9c162de0f42307a0095a6e5df",
                "from": "0x3f41a1cfd3c8b8d9c162de0f42307a0095a6e5df",
                "from_balance": "50912118197849012",
                "to": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
                "to_balance": "0",
                "value": "0",
                "block_timestamp": "0001-01-01T00:00:00Z",
                "gas": 615574,
                "gas_used": 12321,
                "intrinsic_gas": 32744,
                "storage_address": "0x3f41a1cfd3c8b8d9c162de0f42307a0095a6e5df",
                "input": "0xa94e78ef000000000000000000000000000000000000000000000000000000000000002000000000000000000000000068037790a0229e9ce6eaa8a99ea92964106c470300000000000000000000000000000000000000000000010f0cf064dd592000000000000000000000000000000000000000000000000000000000000145dc1b2e00000000000000000000000000000000000000000000000000000001477f4d7d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000000000064d281e65c9438a5a99c4bccb1035296d5d2d8d200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000320000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a73000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000006000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000064db6806000000000000000000000000000000000000000000000000000000000000002b68037790a0229e9ce6eaa8a99ea92964106c47030001f4a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000000000000000000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a730000000000000000000000000000000000000000000000000000000000002710000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000060000000000000000000000001b81d678ffb9c0263b24a97847620c99d213eb14000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000064db6806000000000000000000000000000000000000000000000000000000000000002ba0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000064dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
                "decoded_input": [
                  {
                    "soltype": {
                      "name": "data",
                      "type": "tuple",
                      "storage_location": "default",
                      "components": [
                        {
                          "name": "fromToken",
                          "type": "address",
                          "storage_location": "default",
                          "offset": 0,
                          "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                          "indexed": false,
                          "simple_type": {
                            "type": "address"
                          }
                        },
                        {
                          "name": "fromAmount",
                          "type": "uint256",
                          "storage_location": "default",
                          "offset": 0,
                          "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                          "indexed": false,
                          "simple_type": {
                            "type": "uint"
                          }
                        },
                        {
                          "name": "toAmount",
                          "type": "uint256",
                          "storage_location": "default",
                          "offset": 0,
                          "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                          "indexed": false,
                          "simple_type": {
                            "type": "uint"
                          }
                        },
                        {
                          "name": "expectedAmount",
                          "type": "uint256",
                          "storage_location": "default",
                          "offset": 0,
                          "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                          "indexed": false,
                          "simple_type": {
                            "type": "uint"
                          }
                        },
                        {
                          "name": "beneficiary",
                          "type": "address",
                          "storage_location": "default",
                          "offset": 0,
                          "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                          "indexed": false,
                          "simple_type": {
                            "type": "address"
                          }
                        },
                        {
                          "name": "path",
                          "type": "tuple[]",
                          "storage_location": "default",
                          "components": [
                            {
                              "name": "to",
                              "type": "address",
                              "storage_location": "default",
                              "offset": 0,
                              "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                              "indexed": false,
                              "simple_type": {
                                "type": "address"
                              }
                            },
                            {
                              "name": "totalNetworkFee",
                              "type": "uint256",
                              "storage_location": "default",
                              "offset": 0,
                              "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                              "indexed": false,
                              "simple_type": {
                                "type": "uint"
                              }
                            },
                            {
                              "name": "adapters",
                              "type": "tuple[]",
                              "storage_location": "default",
                              "components": [
                                {
                                  "name": "adapter",
                                  "type": "address",
                                  "storage_location": "default",
                                  "offset": 0,
                                  "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                  "indexed": false,
                                  "simple_type": {
                                    "type": "address"
                                  }
                                },
                                {
                                  "name": "percent",
                                  "type": "uint256",
                                  "storage_location": "default",
                                  "offset": 0,
                                  "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                  "indexed": false,
                                  "simple_type": {
                                    "type": "uint"
                                  }
                                },
                                {
                                  "name": "networkFee",
                                  "type": "uint256",
                                  "storage_location": "default",
                                  "offset": 0,
                                  "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                  "indexed": false,
                                  "simple_type": {
                                    "type": "uint"
                                  }
                                },
                                {
                                  "name": "route",
                                  "type": "tuple[]",
                                  "storage_location": "default",
                                  "components": [
                                    {
                                      "name": "index",
                                      "type": "uint256",
                                      "storage_location": "default",
                                      "offset": 0,
                                      "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                      "indexed": false,
                                      "simple_type": {
                                        "type": "uint"
                                      }
                                    },
                                    {
                                      "name": "targetExchange",
                                      "type": "address",
                                      "storage_location": "default",
                                      "offset": 0,
                                      "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                      "indexed": false,
                                      "simple_type": {
                                        "type": "address"
                                      }
                                    },
                                    {
                                      "name": "percent",
                                      "type": "uint256",
                                      "storage_location": "default",
                                      "offset": 0,
                                      "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                      "indexed": false,
                                      "simple_type": {
                                        "type": "uint"
                                      }
                                    },
                                    {
                                      "name": "payload",
                                      "type": "bytes",
                                      "storage_location": "default",
                                      "offset": 0,
                                      "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                      "indexed": false,
                                      "simple_type": {
                                        "type": "bytes"
                                      }
                                    },
                                    {
                                      "name": "networkFee",
                                      "type": "uint256",
                                      "storage_location": "default",
                                      "offset": 0,
                                      "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                      "indexed": false,
                                      "simple_type": {
                                        "type": "uint"
                                      }
                                    }
                                  ],
                                  "offset": 0,
                                  "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                  "indexed": false,
                                  "simple_type": {
                                    "type": "slice"
                                  }
                                }
                              ],
                              "offset": 0,
                              "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                              "indexed": false,
                              "simple_type": {
                                "type": "slice"
                              }
                            }
                          ],
                          "offset": 0,
                          "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                          "indexed": false,
                          "simple_type": {
                            "type": "slice"
                          }
                        },
                        {
                          "name": "partner",
                          "type": "address",
                          "storage_location": "default",
                          "offset": 0,
                          "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                          "indexed": false,
                          "simple_type": {
                            "type": "address"
                          }
                        },
                        {
                          "name": "feePercent",
                          "type": "uint256",
                          "storage_location": "default",
                          "offset": 0,
                          "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                          "indexed": false,
                          "simple_type": {
                            "type": "uint"
                          }
                        },
                        {
                          "name": "permit",
                          "type": "bytes",
                          "storage_location": "default",
                          "offset": 0,
                          "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                          "indexed": false,
                          "simple_type": {
                            "type": "bytes"
                          }
                        },
                        {
                          "name": "deadline",
                          "type": "uint256",
                          "storage_location": "default",
                          "offset": 0,
                          "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                          "indexed": false,
                          "simple_type": {
                            "type": "uint"
                          }
                        },
                        {
                          "name": "uuid",
                          "type": "bytes16",
                          "storage_location": "default",
                          "offset": 0,
                          "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                          "indexed": false,
                          "simple_type": {
                            "type": "bytes"
                          }
                        }
                      ],
                      "offset": 0,
                      "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                      "indexed": false
                    },
                    "value": {
                      "fromToken": "0x68037790a0229e9ce6eaa8a99ea92964106c4703",
                      "fromAmount": "5000000000000000000000",
                      "toAmount": "5467020078",
                      "expectedAmount": "5494492541",
                      "beneficiary": "0x0000000000000000000000000000000000000000",
                      "path": [
                        {
                          "to": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
                          "totalNetworkFee": "0",
                          "adapters": [
                            {
                              "adapter": "0x9be264469ef954c139da4a45cf76cbcc5e3a6a73",
                              "percent": "10000",
                              "networkFee": "0",
                              "route": [
                                {
                                  "index": "6",
                                  "targetExchange": "0xe592427a0aece92de3edee1f18e0157c05861564",
                                  "percent": "10000",
                                  "payload": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000064db6806000000000000000000000000000000000000000000000000000000000000002b68037790a0229e9ce6eaa8a99ea92964106c47030001f4a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000000000000000",
                                  "networkFee": "0"
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "to": "0xdac17f958d2ee523a2206206994597c13d831ec7",
                          "totalNetworkFee": "0",
                          "adapters": [
                            {
                              "adapter": "0x9be264469ef954c139da4a45cf76cbcc5e3a6a73",
                              "percent": "10000",
                              "networkFee": "0",
                              "route": [
                                {
                                  "index": "6",
                                  "targetExchange": "0x1b81d678ffb9c0263b24a97847620c99d213eb14",
                                  "percent": "10000",
                                  "payload": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000064db6806000000000000000000000000000000000000000000000000000000000000002ba0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000064dac17f958d2ee523a2206206994597c13d831ec7000000000000000000000000000000000000000000",
                                  "networkFee": "0"
                                }
                              ]
                            }
                          ]
                        }
                      ],
                      "partner": "0x0000000000000000000000000000000000000000",
                      "feePercent": "452312848583266388373324160190187140051835877600158453279131187530910679040",
                      "permit": "0x",
                      "deadline": "1691517414",
                      "uuid": "0x5c9438a5a99c4bccb1035296d5d2d8d2"
                    }
                  }
                ],
                "nonce_diff": [
                  {
                    "address": "0x3F41a1CFd3C8B8d9c162dE0f42307a0095A6e5DF",
                    "original": "1094",
                    "dirty": "1095"
                  }
                ],
                "output": "0x",
                "decoded_output": null,
                "error_absolute_position": 2098,
                "error": "execution reverted",
                "error_op": "REVERT",
                "error_file_index": 0,
                "error_line_number": 1641,
                "error_code_start": 52881,
                "error_code_length": 34,
                "error_hex_data": "0x08c379a000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000011446561646c696e65206272656163686564000000000000000000000000000000",
                "network_id": "1",
                "calls": [
                  {
                    "hash": "",
                    "contract_name": "AugustusSwapper",
                    "function_name": "multiSwap",
                    "function_pc": 78,
                    "function_op": "JUMPDEST",
                    "function_file_index": 14,
                    "function_code_start": 316,
                    "function_line_number": 14,
                    "function_code_length": 13499,
                    "absolute_position": 2044,
                    "caller_pc": 736,
                    "caller_op": "DELEGATECALL",
                    "caller_file_index": 0,
                    "caller_line_number": 1508,
                    "caller_code_start": 48425,
                    "caller_code_length": 37,
                    "call_type": "DELEGATECALL",
                    "address": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
                    "from": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
                    "from_balance": "0",
                    "to": "0xbd7b550d2e7571383d84acf597a00d341e5c406e",
                    "to_balance": "0",
                    "value": null,
                    "caller": {
                      "address": "0x3f41a1cfd3c8b8d9c162de0f42307a0095a6e5df",
                      "balance": "50912118197849012"
                    },
                    "block_timestamp": "0001-01-01T00:00:00Z",
                    "gas": 600460,
                    "gas_used": 6554,
                    "refund_gas": 9531,
                    "storage_address": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
                    "input": "0xa94e78ef000000000000000000000000000000000000000000000000000000000000002000000000000000000000000068037790a0229e9ce6eaa8a99ea92964106c470300000000000000000000000000000000000000000000010f0cf064dd592000000000000000000000000000000000000000000000000000000000000145dc1b2e00000000000000000000000000000000000000000000000000000001477f4d7d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000000000064d281e65c9438a5a99c4bccb1035296d5d2d8d200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000320000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a73000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000006000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000064db6806000000000000000000000000000000000000000000000000000000000000002b68037790a0229e9ce6eaa8a99ea92964106c47030001f4a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000000000000000000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a730000000000000000000000000000000000000000000000000000000000002710000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000060000000000000000000000001b81d678ffb9c0263b24a97847620c99d213eb14000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000064db6806000000000000000000000000000000000000000000000000000000000000002ba0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000064dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
                    "decoded_input": [
                      {
                        "soltype": {
                          "name": "data",
                          "type": "tuple",
                          "storage_location": "default",
                          "components": [
                            {
                              "name": "fromToken",
                              "type": "address",
                              "storage_location": "default",
                              "offset": 0,
                              "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                              "indexed": false,
                              "simple_type": {
                                "type": "address"
                              }
                            },
                            {
                              "name": "fromAmount",
                              "type": "uint256",
                              "storage_location": "default",
                              "offset": 0,
                              "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                              "indexed": false,
                              "simple_type": {
                                "type": "uint"
                              }
                            },
                            {
                              "name": "toAmount",
                              "type": "uint256",
                              "storage_location": "default",
                              "offset": 0,
                              "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                              "indexed": false,
                              "simple_type": {
                                "type": "uint"
                              }
                            },
                            {
                              "name": "expectedAmount",
                              "type": "uint256",
                              "storage_location": "default",
                              "offset": 0,
                              "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                              "indexed": false,
                              "simple_type": {
                                "type": "uint"
                              }
                            },
                            {
                              "name": "beneficiary",
                              "type": "address",
                              "storage_location": "default",
                              "offset": 0,
                              "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                              "indexed": false,
                              "simple_type": {
                                "type": "address"
                              }
                            },
                            {
                              "name": "path",
                              "type": "tuple[]",
                              "storage_location": "default",
                              "components": [
                                {
                                  "name": "to",
                                  "type": "address",
                                  "storage_location": "default",
                                  "offset": 0,
                                  "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                  "indexed": false,
                                  "simple_type": {
                                    "type": "address"
                                  }
                                },
                                {
                                  "name": "totalNetworkFee",
                                  "type": "uint256",
                                  "storage_location": "default",
                                  "offset": 0,
                                  "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                  "indexed": false,
                                  "simple_type": {
                                    "type": "uint"
                                  }
                                },
                                {
                                  "name": "adapters",
                                  "type": "tuple[]",
                                  "storage_location": "default",
                                  "components": [
                                    {
                                      "name": "adapter",
                                      "type": "address",
                                      "storage_location": "default",
                                      "offset": 0,
                                      "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                      "indexed": false,
                                      "simple_type": {
                                        "type": "address"
                                      }
                                    },
                                    {
                                      "name": "percent",
                                      "type": "uint256",
                                      "storage_location": "default",
                                      "offset": 0,
                                      "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                      "indexed": false,
                                      "simple_type": {
                                        "type": "uint"
                                      }
                                    },
                                    {
                                      "name": "networkFee",
                                      "type": "uint256",
                                      "storage_location": "default",
                                      "offset": 0,
                                      "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                      "indexed": false,
                                      "simple_type": {
                                        "type": "uint"
                                      }
                                    },
                                    {
                                      "name": "route",
                                      "type": "tuple[]",
                                      "storage_location": "default",
                                      "components": [
                                        {
                                          "name": "index",
                                          "type": "uint256",
                                          "storage_location": "default",
                                          "offset": 0,
                                          "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                          "indexed": false,
                                          "simple_type": {
                                            "type": "uint"
                                          }
                                        },
                                        {
                                          "name": "targetExchange",
                                          "type": "address",
                                          "storage_location": "default",
                                          "offset": 0,
                                          "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                          "indexed": false,
                                          "simple_type": {
                                            "type": "address"
                                          }
                                        },
                                        {
                                          "name": "percent",
                                          "type": "uint256",
                                          "storage_location": "default",
                                          "offset": 0,
                                          "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                          "indexed": false,
                                          "simple_type": {
                                            "type": "uint"
                                          }
                                        },
                                        {
                                          "name": "payload",
                                          "type": "bytes",
                                          "storage_location": "default",
                                          "offset": 0,
                                          "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                          "indexed": false,
                                          "simple_type": {
                                            "type": "bytes"
                                          }
                                        },
                                        {
                                          "name": "networkFee",
                                          "type": "uint256",
                                          "storage_location": "default",
                                          "offset": 0,
                                          "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                          "indexed": false,
                                          "simple_type": {
                                            "type": "uint"
                                          }
                                        }
                                      ],
                                      "offset": 0,
                                      "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                      "indexed": false,
                                      "simple_type": {
                                        "type": "slice"
                                      }
                                    }
                                  ],
                                  "offset": 0,
                                  "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                  "indexed": false,
                                  "simple_type": {
                                    "type": "slice"
                                  }
                                }
                              ],
                              "offset": 0,
                              "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                              "indexed": false,
                              "simple_type": {
                                "type": "slice"
                              }
                            },
                            {
                              "name": "partner",
                              "type": "address",
                              "storage_location": "default",
                              "offset": 0,
                              "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                              "indexed": false,
                              "simple_type": {
                                "type": "address"
                              }
                            },
                            {
                              "name": "feePercent",
                              "type": "uint256",
                              "storage_location": "default",
                              "offset": 0,
                              "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                              "indexed": false,
                              "simple_type": {
                                "type": "uint"
                              }
                            },
                            {
                              "name": "permit",
                              "type": "bytes",
                              "storage_location": "default",
                              "offset": 0,
                              "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                              "indexed": false,
                              "simple_type": {
                                "type": "bytes"
                              }
                            },
                            {
                              "name": "deadline",
                              "type": "uint256",
                              "storage_location": "default",
                              "offset": 0,
                              "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                              "indexed": false,
                              "simple_type": {
                                "type": "uint"
                              }
                            },
                            {
                              "name": "uuid",
                              "type": "bytes16",
                              "storage_location": "default",
                              "offset": 0,
                              "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                              "indexed": false,
                              "simple_type": {
                                "type": "bytes"
                              }
                            }
                          ],
                          "offset": 0,
                          "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                          "indexed": false
                        },
                        "value": {
                          "fromToken": "0x68037790a0229e9ce6eaa8a99ea92964106c4703",
                          "fromAmount": "5000000000000000000000",
                          "toAmount": "5467020078",
                          "expectedAmount": "5494492541",
                          "beneficiary": "0x0000000000000000000000000000000000000000",
                          "path": [
                            {
                              "to": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
                              "totalNetworkFee": "0",
                              "adapters": [
                                {
                                  "adapter": "0x9be264469ef954c139da4a45cf76cbcc5e3a6a73",
                                  "percent": "10000",
                                  "networkFee": "0",
                                  "route": [
                                    {
                                      "index": "6",
                                      "targetExchange": "0xe592427a0aece92de3edee1f18e0157c05861564",
                                      "percent": "10000",
                                      "payload": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000064db6806000000000000000000000000000000000000000000000000000000000000002b68037790a0229e9ce6eaa8a99ea92964106c47030001f4a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000000000000000",
                                      "networkFee": "0"
                                    }
                                  ]
                                }
                              ]
                            },
                            {
                              "to": "0xdac17f958d2ee523a2206206994597c13d831ec7",
                              "totalNetworkFee": "0",
                              "adapters": [
                                {
                                  "adapter": "0x9be264469ef954c139da4a45cf76cbcc5e3a6a73",
                                  "percent": "10000",
                                  "networkFee": "0",
                                  "route": [
                                    {
                                      "index": "6",
                                      "targetExchange": "0x1b81d678ffb9c0263b24a97847620c99d213eb14",
                                      "percent": "10000",
                                      "payload": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000064db6806000000000000000000000000000000000000000000000000000000000000002ba0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000064dac17f958d2ee523a2206206994597c13d831ec7000000000000000000000000000000000000000000",
                                      "networkFee": "0"
                                    }
                                  ]
                                }
                              ]
                            }
                          ],
                          "partner": "0x0000000000000000000000000000000000000000",
                          "feePercent": "452312848583266388373324160190187140051835877600158453279131187530910679040",
                          "permit": "0x",
                          "deadline": "1691517414",
                          "uuid": "0x5c9438a5a99c4bccb1035296d5d2d8d2"
                        }
                      }
                    ],
                    "output": "0x",
                    "decoded_output": null,
                    "error_absolute_position": 2043,
                    "error": "execution reverted",
                    "error_op": "REVERT",
                    "error_file_index": 14,
                    "error_line_number": 44,
                    "error_code_start": 1290,
                    "error_code_length": 62,
                    "error_reason": "Deadline breached",
                    "network_id": "",
                    "calls": [
                      {
                        "hash": "",
                        "contract_name": "AugustusSwapper",
                        "function_name": "multiSwap",
                        "function_pc": 0,
                        "function_op": "",
                        "absolute_position": 2043,
                        "caller_pc": 0,
                        "caller_op": "",
                        "address": "0xbd7b550d2e7571383d84acf597a00d341e5c406e",
                        "from": "0xbd7b550d2e7571383d84acf597a00d341e5c406e",
                        "from_balance": null,
                        "to": "0xbd7b550d2e7571383d84acf597a00d341e5c406e",
                        "to_balance": null,
                        "value": null,
                        "block_timestamp": "0001-01-01T00:00:00Z",
                        "gas": 0,
                        "gas_used": 0,
                        "input": "0x",
                        "output": "0x",
                        "decoded_output": null,
                        "error": "execution reverted",
                        "error_op": "REVERT",
                        "error_file_index": 14,
                        "error_line_number": 44,
                        "error_code_start": 1290,
                        "error_code_length": 62,
                        "network_id": "",
                        "calls": null
                      }
                    ]
                  }
                ]
              },
              "stack_trace": [
                {
                  "file_index": 14,
                  "contract": "0xbd7b550d2e7571383d84acf597a00d341e5c406e",
                  "name": "AugustusSwapper",
                  "line": 44,
                  "error": "execution reverted",
                  "error_reason": "Deadline breached",
                  "code": "multiSwap",
                  "op": "REVERT",
                  "length": 62
                },
                {
                  "file_index": 0,
                  "contract": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
                  "name": "AugustusSwapper",
                  "line": 1508,
                  "error": null,
                  "code": "multiSwap",
                  "op": "DELEGATECALL",
                  "length": 37
                },
                {
                  "file_index": null,
                  "contract": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
                  "name": "AugustusSwapper",
                  "line": null,
                  "error": null,
                  "code": null,
                  "op": "CALL",
                  "length": null
                }
              ],
              "logs": null,
              "balance_diff": null,
              "nonce_diff": [
                {
                  "address": "0x3F41a1CFd3C8B8d9c162dE0f42307a0095A6e5DF",
                  "original": "1094",
                  "dirty": "1095"
                }
              ],
              "state_diff": null,
              "raw_state_diff": null,
              "console_logs": null,
              "asset_changes": null,
              "balance_changes": [],
              "created_at": "2023-08-10T12:48:11Z"
            },
            "error_message": "Deadline breached",
            "error_info": {
              "error_message": "Deadline breached",
              "address": "0xbd7b550d2e7571383d84acf597a00d341e5c406e"
            },
            "method": "",
            "decoded_input": null,
            "call_trace": [
              {
                "call_type": "CALL",
                "from": "0x3f41a1cfd3c8b8d9c162de0f42307a0095a6e5df",
                "to": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
                "gas": 615574,
                "gas_used": 12321,
                "address": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
                "error": "value:\"execution reverted\"",
                "subtraces": 1,
                "input": "0xa94e78ef000000000000000000000000000000000000000000000000000000000000002000000000000000000000000068037790a0229e9ce6eaa8a99ea92964106c470300000000000000000000000000000000000000000000010f0cf064dd592000000000000000000000000000000000000000000000000000000000000145dc1b2e00000000000000000000000000000000000000000000000000000001477f4d7d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000000000064d281e65c9438a5a99c4bccb1035296d5d2d8d200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000320000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a73000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000006000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000064db6806000000000000000000000000000000000000000000000000000000000000002b68037790a0229e9ce6eaa8a99ea92964106c47030001f4a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000000000000000000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a730000000000000000000000000000000000000000000000000000000000002710000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000060000000000000000000000001b81d678ffb9c0263b24a97847620c99d213eb14000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000064db6806000000000000000000000000000000000000000000000000000000000000002ba0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000064dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
                "output": "0x08c379a000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000011446561646c696e65206272656163686564000000000000000000000000000000",
                "errorMessage": "value:\"Deadline breached\"",
                "fromBalance": "0xb4e04d3ff20bb4"
              },
              {
                "call_type": "DELEGATECALL",
                "from": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
                "to": "0xbd7b550d2e7571383d84acf597a00d341e5c406e",
                "gas": 600460,
                "gas_used": 6554,
                "address": "0xbd7b550d2e7571383d84acf597a00d341e5c406e",
                "error": "value:\"execution reverted\"",
                "trace_address": [
                  0
                ],
                "input": "0xa94e78ef000000000000000000000000000000000000000000000000000000000000002000000000000000000000000068037790a0229e9ce6eaa8a99ea92964106c470300000000000000000000000000000000000000000000010f0cf064dd592000000000000000000000000000000000000000000000000000000000000145dc1b2e00000000000000000000000000000000000000000000000000000001477f4d7d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000000000064d281e65c9438a5a99c4bccb1035296d5d2d8d200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000320000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a73000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000006000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000064db6806000000000000000000000000000000000000000000000000000000000000002b68037790a0229e9ce6eaa8a99ea92964106c47030001f4a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000000000000000000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a730000000000000000000000000000000000000000000000000000000000002710000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000060000000000000000000000001b81d678ffb9c0263b24a97847620c99d213eb14000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000064db6806000000000000000000000000000000000000000000000000000000000000002ba0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000064dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
                "output": "0x08c379a000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000011446561646c696e65206272656163686564000000000000000000000000000000",
                "gas_in": 612591,
                "gas_cost": 603060,
                "errorMessage": "value:\"Deadline breached\""
              }
            ]
          },
          "simulation": {
            "id": "a008c427-509b-4743-a72c-0ae93d663056",
            "project_id": "dfdc391a-a15d-4590-9aef-8691259c7df4",
            "owner_id": "7d5e8b1f-8bf8-4eae-a70f-fb7d354b1cc2",
            "network_id": "1",
            "block_number": 17884583,
            "transaction_index": 0,
            "from": "0x3f41a1cfd3c8b8d9c162de0f42307a0095a6e5df",
            "to": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
            "input": "0xa94e78ef000000000000000000000000000000000000000000000000000000000000002000000000000000000000000068037790a0229e9ce6eaa8a99ea92964106c470300000000000000000000000000000000000000000000010f0cf064dd592000000000000000000000000000000000000000000000000000000000000145dc1b2e00000000000000000000000000000000000000000000000000000001477f4d7d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000000000064d281e65c9438a5a99c4bccb1035296d5d2d8d200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000320000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a73000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000006000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000064db6806000000000000000000000000000000000000000000000000000000000000002b68037790a0229e9ce6eaa8a99ea92964106c47030001f4a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000000000000000000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a730000000000000000000000000000000000000000000000000000000000002710000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000060000000000000000000000001b81d678ffb9c0263b24a97847620c99d213eb14000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000064db6806000000000000000000000000000000000000000000000000000000000000002ba0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000064dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
            "gas": 648318,
            "gas_price": "0",
            "gas_used": 45065,
            "value": "0",
            "method": "multiSwap",
            "status": false,
            "access_list": null,
            "queue_origin": "",
            "block_header": {
              "number": "0x110e5a7",
              "hash": "0x0000000000000000000000000000000000000000000000000000000000000000",
              "stateRoot": "0x5aedfee941729c66fab3bc35cc00a8687d4c8f177e800565fa3895fee02a8d12",
              "parentHash": "0x9075514cb7db4dc5c7f25b7b53bdee3ea51b3088eb94a5551668f49d5fd7bdc9",
              "sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
              "transactionsRoot": "0x3f3e3bac2d1a65adabe655196f48341105a8c21600b5d1dcd0f95ad6baf91d11",
              "receiptsRoot": "0xb129fa08d3abb39c49b4e65f1edf7efc0d3d5ddf6b84ff802b43eb2b29e9b046",
              "logsBloom": "0x74717005272adbead19e3886a21a471915102405ca59280ca44b9062f41101c5e441130e920943f04203fb604087c1b12293878b8c5b381213d09c35c12cc09046c0e4af0174382b7952554bf1f820ec0ff34a2c0560597035187563c6e023501ac2c8a2129384ab01a13c0015b43cdd7a0b03c200148d6d57861cb000a810560e11925caa60b13b60f5614117b606c68907e5859bc0903c643127dbc5900e2c831408093b4a209b1e40cec85cf20d07a4919a40b539994611a185ab00280022f39a08d67104014a096fa60a493a80da0f6e8a22412fb0ba6884429e1033a31cd8bce468d10c7d8a82663785a120c4408b2112604a101a5fa8891290302b970d",
              "timestamp": "0x64d4dc8b",
              "difficulty": "0x0",
              "gasLimit": "0x1c9c380",
              "gasUsed": "0x9d2881",
              "miner": "0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5",
              "extraData": "0x6265617665726275696c642e6f7267",
              "mixHash": "0xcd3023878e91294b673f69b51e3ed64e814f6caabb795a93caadb34cc39a8ff3",
              "nonce": "0x0000000000000000",
              "baseFeePerGas": "0x4d0b44e27",
              "size": "0x0",
              "totalDifficulty": "0x0",
              "uncles": null,
              "transactions": null
            },
            "deposit_tx": false,
            "system_tx": false,
            "error_message": "Deadline breached",
            "nonce": 1094,
            "addresses": [
              "0x3f41a1cfd3c8b8d9c162de0f42307a0095a6e5df",
              "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
              "0xbd7b550d2e7571383d84acf597a00d341e5c406e"
            ],
            "contract_ids": [
              "eth:1:0x3f41a1cfd3c8b8d9c162de0f42307a0095a6e5df",
              "eth:1:0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
              "eth:1:0xbd7b550d2e7571383d84acf597a00d341e5c406e"
            ],
            "shared": false,
            "created_at": "2023-12-20T14:23:59.625219731Z"
          },
          "contracts": [
            {
              "id": "eth:1:0xbd7b550d2e7571383d84acf597a00d341e5c406e",
              "contract_id": "eth:1:0xbd7b550d2e7571383d84acf597a00d341e5c406e",
              "balance": "",
              "network_id": "1",
              "public": true,
              "verified_by": "etherscan",
              "verification_date": "2023-06-13T17:26:37Z",
              "address": "0xbd7b550d2e7571383d84acf597a00d341e5c406e",
              "contract_name": "MultiPath",
              "ens_domain": null,
              "type": "contract",
              "evm_version": "",
              "compiler_version": "v0.7.5+commit.eb77ed08",
              "optimizations_used": false,
              "optimization_runs": 0,
              "libraries": null,
              "compiler_settings": {},
              "deployed_bytecode": "0x6080604052600436106100c75760003560e01c806381cbd3ea11610074578063c25ff0261161004e578063c25ff026146101b3578063d555d4f9146101c8578063d830a05b146101dd576100c7565b806381cbd3ea1461016957806382678dd61461018b578063a94e78ef146101a0576100c7565b8063439fab91116100a5578063439fab911461011f57806346c67b6d146101415780637a3226ec14610154576100c7565b806312070a41146100cc57806330d643b5146100f7578063353269101461010c575b600080fd5b3480156100d857600080fd5b506100e16101f2565b6040516100ee9190612fb2565b60405180910390f35b34801561010357600080fd5b506100e1610216565b6100e161011a366004612a0e565b61023a565b34801561012b57600080fd5b5061013f61013a3660046129a1565b610560565b005b6100e161014f366004612b44565b610592565b34801561016057600080fd5b506100e161097e565b34801561017557600080fd5b5061017e6109a2565b6040516100ee9190612dff565b34801561019757600080fd5b506100e16109c6565b6100e16101ae366004612c47565b6109f2565b3480156101bf57600080fd5b506100e1610ba3565b3480156101d457600080fd5b506100e1610bc7565b3480156101e957600080fd5b506100e1610beb565b7f000000000000000000000000000000000000000000000000000000000000213481565b7f7a05a596cb0ce7fdea8a1e1ec73be300bdb35097c944ce1897202f7a13122eb281565b6000428261016001511015610284576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027b9061321a565b60405180910390fd5b60208201516060830151610296610c0f565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146102cf5760006102d1565b805b3414610309576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027b90613186565b608084015160c085015160009073ffffffffffffffffffffffffffffffffffffffff161561033b578560c0015161033d565b335b604087015160a0880151610120890151929350909184610389576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027b90613251565b61039987878b6101400151610c27565b60006103b18a6000015189868a8a8f60e00151610cff565b905060006103bf8930611047565b90506103d58b61010001518c6101200151611144565b158015906103e957506103e7836111da565b155b801561040057506103fe8b61012001516111f4565b155b15610427576104178583888e6101000151876111fe565b61042289338361123e565b6104b2565b61043285878461123e565b6104468b61010001518c6101200151611144565b158015906104585750610458836111da565b15610478576104228961046b8a84611345565b838e6101000151876113bc565b836104838983611345565b10156104a7576101008b0151610422908a90866104a08c86611345565b8588611407565b6104b289338361123e565b6104bc8882611345565b97508473ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167f4cc7e95e48af62690313a0733e93308ac9a73326bc3c29f1788b1191c376d5b68e61018001518f610100015188338f8a8d6040516105489796959493929190612f42565b60405180910390a4509750505050505050505b919050565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027b90613118565b60004282610120015110156105d3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027b9061321a565b815160208301516105e2610c0f565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161461061b57600061061d565b805b3414610655576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027b90613186565b60408401516060850151608086015160009073ffffffffffffffffffffffffffffffffffffffff161561068c57866080015161068e565b335b905060608760a0015190506000816000815181106106a857fe5b6020026020010151602001516001836000815181106106c357fe5b6020026020010151602001515103815181106106db57fe5b602002602001015160000151905060008511610723576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027b90613251565b61073387878b6101000151610c27565b6107408960e001516111da565b1561075c5761075987878b60c001518c60e001516114cb565b95505b60005b825160ff168160ff1610156107f55760006107a96127106107a3868560ff168151811061078857fe5b6020026020010151600001518b61151290919063ffffffff16565b90611585565b905060018451038260ff1614156107c7576107c48930611047565b90505b6107ec8982868560ff16815181106107db57fe5b602002602001015160200151611606565b5060010161075f565b5060006108028230611047565b90508581101561083e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027b906131bd565b6108508a60c001518b60e00151611144565b1580159061086857506108668a60e001516111da565b155b801561087e575061087c8a60e001516111f4565b155b1561089d576108988282868d60c001518e60e001516111fe565b6108dc565b84811180156108b657506108b48a60e001516111da565b155b156108d15761089882858c60c0015184898f60e001516119c7565b6108dc82858361123e565b8173ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fe00361d207b252a464323eb23d45d42583e391f2031acdd2e9fa36efddd43cb08d61014001518e60c001518f60e00151338e898e6040516109699796959493929190612f42565b60405180910390a49998505050505050505050565b7f8429d542926e6695b59ac6fbdcd9b37e8b1aeb757afab06ab60b1bb5878c3b4981565b7f000000000000000000000000ef13101c5bbd737cfb2bf00bbd38c626ad6952f781565b60006040516020016109d790612dad565b60405160208183030381529060405280519060200120905090565b6000428261012001511015610a33576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027b9061321a565b81516020830151610a42610c0f565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614610a7b576000610a7d565b805b3414610ab5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027b90613186565b60408401516060850151608086015160009073ffffffffffffffffffffffffffffffffffffffff1615610aec578660800151610aee565b335b905060608760a001519050600081600183510381518110610b0b57fe5b602002602001015160000151905060008511610b53576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027b90613251565b610b6387878b6101000151610c27565b610b708960e001516111da565b15610b8c57610b8987878b60c001518c60e001516114cb565b95505b610b97878784611606565b60006108028230611047565b7f000000000000000000000000000000000000000000000000000000000000271081565b7f000000000000000000000000000000000000000000000000000000000000138881565b7f00000000000000000000000000000000000000000000000000000000000001f481565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee90565b610c2f610c0f565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614610cfa57610c6b8382611a8b565b6000546040517f15dacbea00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116906315dacbea90610cc7908690339030908890600401612e20565b600060405180830381600087803b158015610ce157600080fd5b505af1158015610cf5573d6000803e3d6000fd5b505050505b505050565b6040517f91d1485400000000000000000000000000000000000000000000000000000000815260009030906391d1485490610d60907f8429d542926e6695b59ac6fbdcd9b37e8b1aeb757afab06ab60b1bb5878c3b49908b90600401612fbb565b60206040518083038186803b158015610d7857600080fd5b505afa158015610d8c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610db09190612981565b610de6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027b906130e1565b60005b8251811015610ff357610dfa612468565b838281518110610e0657fe5b60200260200101519050600080610e286001875161134590919063ffffffff16565b841415610e5657610e43610e3c8a30611047565b8890611345565b9050610e4f8a30611047565b9150610e95565b610e736127106107a385604001518b61151290919063ffffffff16565b9150610e926127106107a385604001518a61151290919063ffffffff16565b90505b60008b73ffffffffffffffffffffffffffffffffffffffff166325deee1e60e01b85600001518d8d87878a602001518b60600151604051602401610edf9796959493929190613288565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909416939093179092529051610f689190612d91565b600060405180830381855af49150503d8060008114610fa3576040519150601f19603f3d011682016040523d82523d6000602084013e610fa8565b606091505b5050905080610fe3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027b9061314f565b505060019092019150610de99050565b5060006110008630611047565b90508381101561103c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027b90613016565b979650505050505050565b600073ffffffffffffffffffffffffffffffffffffffff831673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1415611099575073ffffffffffffffffffffffffffffffffffffffff81163161113e565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416906370a08231906110eb908590600401612dff565b60206040518083038186803b15801561110357600080fd5b505afa158015611117573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061113b9190612ce7565b90505b92915050565b600073ffffffffffffffffffffffffffffffffffffffff83166111695750600061113e565b60f882901c8061117b57829150611183565b82613fff1691505b7f00000000000000000000000000000000000000000000000000000000000001f482116111b057816111d2565b7f00000000000000000000000000000000000000000000000000000000000001f45b949350505050565b600060f882901c1580159061113e57505061800016151590565b6201000016151590565b600061120a8383611144565b90506000806112198784611c76565b91509150611234888761122f8a8c8a8888611cd2565b61123e565b5050505050505050565b8015610cfa5773ffffffffffffffffffffffffffffffffffffffff831673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14156113245760008273ffffffffffffffffffffffffffffffffffffffff1682612710906040516112a090612dfc565b600060405180830381858888f193505050503d80600081146112de576040519150601f19603f3d011682016040523d82523d6000602084013e6112e3565b606091505b505090508061131e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027b90612fdf565b50610cfa565b610cfa73ffffffffffffffffffffffffffffffffffffffff84168383611f1b565b6000828211156113b657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60006113c88383611144565b90506000806113d78784611c76565b9092509050856113e78383611fa8565b116113fc576113f98689878585611cd2565b95505b61123488338861123e565b60006114138585611345565b905073ffffffffffffffffffffffffffffffffffffffff8616156114585760008061143e838561201c565b9150915061144f858a8a8585611cd2565b945050506114c0565b600061148a6127106107a3847f0000000000000000000000000000000000000000000000000000000000002710611512565b6001549091506114b290899073ffffffffffffffffffffffffffffffffffffffff168361123e565b6114bc8482611345565b9350505b610cf587338561123e565b6000806114d88484611144565b9050806114e857849150506111d2565b6000806114f58784611c76565b915091506115068789888585611cd2565b98975050505050505050565b6000826115215750600061113e565b8282028284828161152e57fe5b041461113b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806133a26021913960400191505060405180910390fd5b60008082116115f557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b8183816115fe57fe5b049392505050565b6000815111611641576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027b906130aa565b60005b81518110156119c157600080821161165c5784611678565b82600183038151811061166b57fe5b6020026020010151600001515b9050600083838151811061168857fe5b602002602001015160000151905060008084116116a557856116af565b6116af8330611047565b905060005b8585815181106116c057fe5b602002602001015160400151518110156119b1576116dc6124ad565b8686815181106116e857fe5b60200260200101516040015182815181106116ff57fe5b602090810291909101015180516040517f91d1485400000000000000000000000000000000000000000000000000000000815291925030916391d148549161176c917f8429d542926e6695b59ac6fbdcd9b37e8b1aeb757afab06ab60b1bb5878c3b499190600401612fbb565b60206040518083038186803b15801561178457600080fd5b505afa158015611798573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117bc9190612981565b6117f2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027b906130e1565b6000808711801561182d575061182a600189898151811061180f57fe5b6020026020010151604001515161134590919063ffffffff16565b83145b6118535761184e6127106107a384602001518761151290919063ffffffff16565b61185d565b61185d8630611047565b90506000826000015173ffffffffffffffffffffffffffffffffffffffff1663e76b146c60e01b888885600088606001516040516024016118a2959493929190612e57565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090941693909317909252905161192b9190612d91565b600060405180830381855af49150503d8060008114611966576040519150601f19603f3d011682016040523d82523d6000602084013e61196b565b606091505b50509050806119a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027b9061314f565b5050506001016116b4565b5050600190920191506116449050565b50505050565b60006119d38484611345565b905073ffffffffffffffffffffffffffffffffffffffff851615611a18576000806119fe838561201c565b91509150611a0f868a898585611cd2565b95505050611a80565b6000611a4a6127106107a3847f0000000000000000000000000000000000000000000000000000000000002710611512565b600154909150611a7290899073ffffffffffffffffffffffffffffffffffffffff168361123e565b611a7c8582611345565b9450505b610cf587878661123e565b805160e01415611b7f5760008273ffffffffffffffffffffffffffffffffffffffff1663d505accf60e01b83604051602001611ac8929190612d49565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815290829052611b0091612d91565b6000604051808303816000865af19150503d8060008114611b3d576040519150601f19603f3d011682016040523d82523d6000602084013e611b42565b606091505b5050905080611b7d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027b90613073565b505b80516101001415611c725760008273ffffffffffffffffffffffffffffffffffffffff16638fcbaf0c60e01b83604051602001611bbd929190612d49565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815290829052611bf591612d91565b6000604051808303816000865af19150503d8060008114611c32576040519150601f19603f3d011682016040523d82523d6000602084013e611c37565b606091505b5050905080610cfa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027b90613073565b5050565b60008080611c8a6127106107a38787611512565b9050611cbc6127106107a3837f0000000000000000000000000000000000000000000000000000000000002134611512565b9250611cc88184611345565b9150509250929050565b600080611cdf8484611fa8565b905080611cef5786915050611f12565b86811115611d48576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806133c36024913960400191505060405180910390fd5b611d73867f000000000000000000000000ef13101c5bbd737cfb2bf00bbd38c626ad6952f78361123e565b8315611e41577f000000000000000000000000ef13101c5bbd737cfb2bf00bbd38c626ad6952f773ffffffffffffffffffffffffffffffffffffffff1663d1f4354b8688876040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b158015611e2857600080fd5b505af1158015611e3c573d6000803e3d6000fd5b505050505b8215611f0457600154604080517fd1f4354b00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff928316600482015288831660248201526044810186905290517f000000000000000000000000ef13101c5bbd737cfb2bf00bbd38c626ad6952f79092169163d1f4354b9160648082019260009290919082900301818387803b158015611eeb57600080fd5b505af1158015611eff573d6000803e3d6000fd5b505050505b611f0e8782611345565b9150505b95945050505050565b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb00000000000000000000000000000000000000000000000000000000179052610cfa908490612103565b60008282018381101561113b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600080613fff83166127107f0000000000000000000000000000000000000000000000000000000000001388820111156120b757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f496e76616c6964206665652070657263656e7400000000000000000000000000604482015290519081900360640190fd5b6120e76127106107a3877f0000000000000000000000000000000000000000000000000000000000001388611512565b91506120f96127106107a38784611512565b9250509250929050565b6060612165826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166121db9092919063ffffffff16565b805190915015610cfa5780806020019051602081101561218457600080fd5b5051610cfa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001806133e7602a913960400191505060405180910390fd5b60606121ea84846000856121f4565b90505b9392505050565b60608247101561224f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602681526020018061337c6026913960400191505060405180910390fd5b612258856123a4565b6122c357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b600060608673ffffffffffffffffffffffffffffffffffffffff1685876040518082805190602001908083835b6020831061232d57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016122f0565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d806000811461238f576040519150601f19603f3d011682016040523d82523d6000602084013e612394565b606091505b509150915061103c8282866123aa565b3b151590565b606083156123b95750816121ed565b8251156123c95782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561242d578181015183820152602001612415565b50505050905090810190601f16801561245a5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b6040518060a0016040528060008152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016000815260200160608152602001600081525090565b6040518060800160405280600073ffffffffffffffffffffffffffffffffffffffff1681526020016000815260200160008152602001606081525090565b803561055b81613356565b600082601f830112612506578081fd5b81356125196125148261330c565b6132e8565b818152915060208083019084810160005b848110156125c857813587016040807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0838c0301121561256957600080fd5b805181810167ffffffffffffffff828210818311171561258557fe5b8184528488013583529284013592808411156125a057600080fd5b50506125b08b87848601016125d3565b8187015286525050928201929082019060010161252a565b505050505092915050565b600082601f8301126125e3578081fd5b6125f0612514833561330c565b823581529050602080820190830160005b84358110156127cc578135850160607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe082890301121561264057600080fd5b60405180606082011067ffffffffffffffff6060830111171561265f57fe5b606081016040526126736020830135613356565b602082013581526040820135602082015267ffffffffffffffff6060830135111561269d57600080fd5b60608201358201915087603f8301126126b557600080fd5b6126c5612514602084013561330c565b60208381013582528101906040840160005b60208601358110156127ae578135860160807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0828f0301121561271957600080fd5b60405180608082011067ffffffffffffffff6080830111171561273857fe5b6080810160405261274c6040830135613356565b60408201358152606082013560208201526080820135604082015267ffffffffffffffff60a0830135111561278057600080fd5b6127938e604060a08501358501016127d5565b606082015285525060209384019391909101906001016126d7565b50506040830152508452506020928301929190910190600101612601565b50505092915050565b600082601f8301126127e5578081fd5b81356127f36125148261330c565b818152915060208083019084810160005b848110156125c8578135870160a0807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0838c0301121561284357600080fd5b6040805182810167ffffffffffffffff828210818311171561286157fe5b8184528886013583526128758487016124eb565b8984015260609150818601358484015260809350838601358181111561289a57600080fd5b6128a88f8b838a01016128fc565b92840192909252505092909101359082015284529282019290820190600101612804565b80357fffffffffffffffffffffffffffffffff000000000000000000000000000000008116811461055b57600080fd5b600082601f83011261290c578081fd5b813567ffffffffffffffff81111561292057fe5b61295160207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016132e8565b915080825283602082850101111561296857600080fd5b8060208401602084013760009082016020015292915050565b600060208284031215612992578081fd5b8151801515811461113b578182fd5b600080602083850312156129b3578081fd5b823567ffffffffffffffff808211156129ca578283fd5b818501915085601f8301126129dd578283fd5b8135818111156129eb578384fd5b8660208285010111156129fc578384fd5b60209290920196919550909350505050565b600060208284031215612a1f578081fd5b813567ffffffffffffffff80821115612a36578283fd5b81840191506101a0808387031215612a4c578384fd5b612a55816132e8565b9050612a60836124eb565b8152612a6e602084016124eb565b6020820152612a7f604084016124eb565b6040820152606083013560608201526080830135608082015260a083013560a0820152612aae60c084016124eb565b60c082015260e083013582811115612ac4578485fd5b612ad0878286016127d5565b60e083015250610100612ae48185016124eb565b9082015261012083810135908201526101408084013583811115612b06578586fd5b612b12888287016128fc565b828401525050610160915081830135828201526101809150612b358284016128cc565b91810191909152949350505050565b600060208284031215612b55578081fd5b813567ffffffffffffffff80821115612b6c578283fd5b8184019150610160808387031215612b82578384fd5b612b8b816132e8565b9050612b96836124eb565b8152602083013560208201526040830135604082015260608301356060820152612bc2608084016124eb565b608082015260a083013582811115612bd8578485fd5b612be4878286016124f6565b60a083015250612bf660c084016124eb565b60c082015260e083013560e08201526101008084013583811115612c18578586fd5b612c24888287016128fc565b828401525050610120915081830135828201526101409150612b358284016128cc565b600060208284031215612c58578081fd5b813567ffffffffffffffff80821115612c6f578283fd5b8184019150610160808387031215612c85578384fd5b612c8e816132e8565b9050612c99836124eb565b8152602083013560208201526040830135604082015260608301356060820152612cc5608084016124eb565b608082015260a083013582811115612cdb578485fd5b612be4878286016125d3565b600060208284031215612cf8578081fd5b5051919050565b60008151808452612d1781602086016020860161332a565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60007fffffffff00000000000000000000000000000000000000000000000000000000841682528251612d8381600485016020870161332a565b919091016004019392505050565b60008251612da381846020870161332a565b9190910192915050565b7f4d554c5449504154485f524f555445520000000000000000000000000000000081527f312e302e30000000000000000000000000000000000000000000000000000000601082015260150190565b90565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b73ffffffffffffffffffffffffffffffffffffffff9485168152928416602084015292166040820152606081019190915260800190565b600060a080830173ffffffffffffffffffffffffffffffffffffffff808a1685526020818a16818701526040898188015260608981890152608086818a0152858a5180885260c08b01915060c08682028c01019750858c018a5b82811015612f2a577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff408d8b03018452815180518b52898982015116898c015287810151888c0152868101518c888d0152612f0d8d8d0182612cff565b918701519b87019b909b5299509287019290870190600101612eb1565b50505050505050505080925050509695505050505050565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000097909716875273ffffffffffffffffffffffffffffffffffffffff95861660208801526040870194909452919093166060850152608084019290925260a083019190915260c082015260e00190565b90815260200190565b91825273ffffffffffffffffffffffffffffffffffffffff16602082015260400190565b60208082526018908201527f4661696c656420746f207472616e736665722045746865720000000000000000604082015260600190565b60208082526037908201527f526563656976656420616d6f756e74206f6620746f6b656e7320617265206c6560408201527f7373207468656e20657870656374656420746f6b656e73000000000000000000606082015260800190565b6020808252600d908201527f5065726d6974206661696c656400000000000000000000000000000000000000604082015260600190565b6020808252601a908201527f50617468206e6f742070726f766964656420666f722073776170000000000000604082015260600190565b60208082526018908201527f45786368616e6765206e6f742077686974656c69737465640000000000000000604082015260600190565b60208082526016908201527f4d4554484f44204e4f5420494d504c454d454e54454400000000000000000000604082015260600190565b60208082526016908201527f43616c6c20746f2061646170746572206661696c656400000000000000000000604082015260600190565b60208082526013908201527f496e636f7272656374206d73672e76616c756500000000000000000000000000604082015260600190565b60208082526030908201527f526563656976656420616d6f756e74206f6620746f6b656e7320617265206c6560408201527f7373207468656e20657870656374656400000000000000000000000000000000606082015260800190565b60208082526011908201527f446561646c696e65206272656163686564000000000000000000000000000000604082015260600190565b60208082526016908201527f546f20616d6f756e742063616e206e6f74206265203000000000000000000000604082015260600190565b600088825273ffffffffffffffffffffffffffffffffffffffff8089166020840152808816604084015286606084015285608084015280851660a08401525060e060c08301526132db60e0830184612cff565b9998505050505050505050565b60405181810167ffffffffffffffff8111828210171561330457fe5b604052919050565b600067ffffffffffffffff82111561332057fe5b5060209081020190565b60005b8381101561334557818101518382015260200161332d565b838111156119c15750506000910152565b73ffffffffffffffffffffffffffffffffffffffff8116811461337857600080fd5b5056fe416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77496e73756666696369656e742062616c616e636520746f2070617920666f7220666565735361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a164736f6c6343000705000a",
              "creation_bytecode": "0x6101206040523480156200001257600080fd5b506040516200354b3803806200354b83398101604081905262000035916200005e565b60809490945260a09290925260c05260e05260601b6001600160601b03191661010052620000b9565b600080600080600060a0868803121562000076578081fd5b855160208701516040880151606089015160808a0151939850919650945092506001600160a01b0381168114620000ab578182fd5b809150509295509295909350565b60805160a05160c05160e0516101005160601c61341d6200012e600039806109a45280611d4e5280611d7b5280611ea1525080610ba552806114665280611a26525080610bc9528061202952806120c3525080610bed528061118552806111b25250806101f45280611c98525061341d6000f3fe6080604052600436106100c75760003560e01c806381cbd3ea11610074578063c25ff0261161004e578063c25ff026146101b3578063d555d4f9146101c8578063d830a05b146101dd576100c7565b806381cbd3ea1461016957806382678dd61461018b578063a94e78ef146101a0576100c7565b8063439fab91116100a5578063439fab911461011f57806346c67b6d146101415780637a3226ec14610154576100c7565b806312070a41146100cc57806330d643b5146100f7578063353269101461010c575b600080fd5b3480156100d857600080fd5b506100e16101f2565b6040516100ee9190612fb2565b60405180910390f35b34801561010357600080fd5b506100e1610216565b6100e161011a366004612a0e565b61023a565b34801561012b57600080fd5b5061013f61013a3660046129a1565b610560565b005b6100e161014f366004612b44565b610592565b34801561016057600080fd5b506100e161097e565b34801561017557600080fd5b5061017e6109a2565b6040516100ee9190612dff565b34801561019757600080fd5b506100e16109c6565b6100e16101ae366004612c47565b6109f2565b3480156101bf57600080fd5b506100e1610ba3565b3480156101d457600080fd5b506100e1610bc7565b3480156101e957600080fd5b506100e1610beb565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f7a05a596cb0ce7fdea8a1e1ec73be300bdb35097c944ce1897202f7a13122eb281565b6000428261016001511015610284576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027b9061321a565b60405180910390fd5b60208201516060830151610296610c0f565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146102cf5760006102d1565b805b3414610309576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027b90613186565b608084015160c085015160009073ffffffffffffffffffffffffffffffffffffffff161561033b578560c0015161033d565b335b604087015160a0880151610120890151929350909184610389576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027b90613251565b61039987878b6101400151610c27565b60006103b18a6000015189868a8a8f60e00151610cff565b905060006103bf8930611047565b90506103d58b61010001518c6101200151611144565b158015906103e957506103e7836111da565b155b801561040057506103fe8b61012001516111f4565b155b15610427576104178583888e6101000151876111fe565b61042289338361123e565b6104b2565b61043285878461123e565b6104468b61010001518c6101200151611144565b158015906104585750610458836111da565b15610478576104228961046b8a84611345565b838e6101000151876113bc565b836104838983611345565b10156104a7576101008b0151610422908a90866104a08c86611345565b8588611407565b6104b289338361123e565b6104bc8882611345565b97508473ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167f4cc7e95e48af62690313a0733e93308ac9a73326bc3c29f1788b1191c376d5b68e61018001518f610100015188338f8a8d6040516105489796959493929190612f42565b60405180910390a4509750505050505050505b919050565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027b90613118565b60004282610120015110156105d3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027b9061321a565b815160208301516105e2610c0f565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161461061b57600061061d565b805b3414610655576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027b90613186565b60408401516060850151608086015160009073ffffffffffffffffffffffffffffffffffffffff161561068c57866080015161068e565b335b905060608760a0015190506000816000815181106106a857fe5b6020026020010151602001516001836000815181106106c357fe5b6020026020010151602001515103815181106106db57fe5b602002602001015160000151905060008511610723576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027b90613251565b61073387878b6101000151610c27565b6107408960e001516111da565b1561075c5761075987878b60c001518c60e001516114cb565b95505b60005b825160ff168160ff1610156107f55760006107a96127106107a3868560ff168151811061078857fe5b6020026020010151600001518b61151290919063ffffffff16565b90611585565b905060018451038260ff1614156107c7576107c48930611047565b90505b6107ec8982868560ff16815181106107db57fe5b602002602001015160200151611606565b5060010161075f565b5060006108028230611047565b90508581101561083e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027b906131bd565b6108508a60c001518b60e00151611144565b1580159061086857506108668a60e001516111da565b155b801561087e575061087c8a60e001516111f4565b155b1561089d576108988282868d60c001518e60e001516111fe565b6108dc565b84811180156108b657506108b48a60e001516111da565b155b156108d15761089882858c60c0015184898f60e001516119c7565b6108dc82858361123e565b8173ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fe00361d207b252a464323eb23d45d42583e391f2031acdd2e9fa36efddd43cb08d61014001518e60c001518f60e00151338e898e6040516109699796959493929190612f42565b60405180910390a49998505050505050505050565b7f8429d542926e6695b59ac6fbdcd9b37e8b1aeb757afab06ab60b1bb5878c3b4981565b7f000000000000000000000000000000000000000000000000000000000000000081565b60006040516020016109d790612dad565b60405160208183030381529060405280519060200120905090565b6000428261012001511015610a33576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027b9061321a565b81516020830151610a42610c0f565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614610a7b576000610a7d565b805b3414610ab5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027b90613186565b60408401516060850151608086015160009073ffffffffffffffffffffffffffffffffffffffff1615610aec578660800151610aee565b335b905060608760a001519050600081600183510381518110610b0b57fe5b602002602001015160000151905060008511610b53576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027b90613251565b610b6387878b6101000151610c27565b610b708960e001516111da565b15610b8c57610b8987878b60c001518c60e001516114cb565b95505b610b97878784611606565b60006108028230611047565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee90565b610c2f610c0f565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614610cfa57610c6b8382611a8b565b6000546040517f15dacbea00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116906315dacbea90610cc7908690339030908890600401612e20565b600060405180830381600087803b158015610ce157600080fd5b505af1158015610cf5573d6000803e3d6000fd5b505050505b505050565b6040517f91d1485400000000000000000000000000000000000000000000000000000000815260009030906391d1485490610d60907f8429d542926e6695b59ac6fbdcd9b37e8b1aeb757afab06ab60b1bb5878c3b49908b90600401612fbb565b60206040518083038186803b158015610d7857600080fd5b505afa158015610d8c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610db09190612981565b610de6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027b906130e1565b60005b8251811015610ff357610dfa612468565b838281518110610e0657fe5b60200260200101519050600080610e286001875161134590919063ffffffff16565b841415610e5657610e43610e3c8a30611047565b8890611345565b9050610e4f8a30611047565b9150610e95565b610e736127106107a385604001518b61151290919063ffffffff16565b9150610e926127106107a385604001518a61151290919063ffffffff16565b90505b60008b73ffffffffffffffffffffffffffffffffffffffff166325deee1e60e01b85600001518d8d87878a602001518b60600151604051602401610edf9796959493929190613288565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909416939093179092529051610f689190612d91565b600060405180830381855af49150503d8060008114610fa3576040519150601f19603f3d011682016040523d82523d6000602084013e610fa8565b606091505b5050905080610fe3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027b9061314f565b505060019092019150610de99050565b5060006110008630611047565b90508381101561103c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027b90613016565b979650505050505050565b600073ffffffffffffffffffffffffffffffffffffffff831673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1415611099575073ffffffffffffffffffffffffffffffffffffffff81163161113e565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416906370a08231906110eb908590600401612dff565b60206040518083038186803b15801561110357600080fd5b505afa158015611117573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061113b9190612ce7565b90505b92915050565b600073ffffffffffffffffffffffffffffffffffffffff83166111695750600061113e565b60f882901c8061117b57829150611183565b82613fff1691505b7f000000000000000000000000000000000000000000000000000000000000000082116111b057816111d2565b7f00000000000000000000000000000000000000000000000000000000000000005b949350505050565b600060f882901c1580159061113e57505061800016151590565b6201000016151590565b600061120a8383611144565b90506000806112198784611c76565b91509150611234888761122f8a8c8a8888611cd2565b61123e565b5050505050505050565b8015610cfa5773ffffffffffffffffffffffffffffffffffffffff831673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14156113245760008273ffffffffffffffffffffffffffffffffffffffff1682612710906040516112a090612dfc565b600060405180830381858888f193505050503d80600081146112de576040519150601f19603f3d011682016040523d82523d6000602084013e6112e3565b606091505b505090508061131e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027b90612fdf565b50610cfa565b610cfa73ffffffffffffffffffffffffffffffffffffffff84168383611f1b565b6000828211156113b657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60006113c88383611144565b90506000806113d78784611c76565b9092509050856113e78383611fa8565b116113fc576113f98689878585611cd2565b95505b61123488338861123e565b60006114138585611345565b905073ffffffffffffffffffffffffffffffffffffffff8616156114585760008061143e838561201c565b9150915061144f858a8a8585611cd2565b945050506114c0565b600061148a6127106107a3847f0000000000000000000000000000000000000000000000000000000000000000611512565b6001549091506114b290899073ffffffffffffffffffffffffffffffffffffffff168361123e565b6114bc8482611345565b9350505b610cf587338561123e565b6000806114d88484611144565b9050806114e857849150506111d2565b6000806114f58784611c76565b915091506115068789888585611cd2565b98975050505050505050565b6000826115215750600061113e565b8282028284828161152e57fe5b041461113b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806133a26021913960400191505060405180910390fd5b60008082116115f557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b8183816115fe57fe5b049392505050565b6000815111611641576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027b906130aa565b60005b81518110156119c157600080821161165c5784611678565b82600183038151811061166b57fe5b6020026020010151600001515b9050600083838151811061168857fe5b602002602001015160000151905060008084116116a557856116af565b6116af8330611047565b905060005b8585815181106116c057fe5b602002602001015160400151518110156119b1576116dc6124ad565b8686815181106116e857fe5b60200260200101516040015182815181106116ff57fe5b602090810291909101015180516040517f91d1485400000000000000000000000000000000000000000000000000000000815291925030916391d148549161176c917f8429d542926e6695b59ac6fbdcd9b37e8b1aeb757afab06ab60b1bb5878c3b499190600401612fbb565b60206040518083038186803b15801561178457600080fd5b505afa158015611798573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117bc9190612981565b6117f2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027b906130e1565b6000808711801561182d575061182a600189898151811061180f57fe5b6020026020010151604001515161134590919063ffffffff16565b83145b6118535761184e6127106107a384602001518761151290919063ffffffff16565b61185d565b61185d8630611047565b90506000826000015173ffffffffffffffffffffffffffffffffffffffff1663e76b146c60e01b888885600088606001516040516024016118a2959493929190612e57565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090941693909317909252905161192b9190612d91565b600060405180830381855af49150503d8060008114611966576040519150601f19603f3d011682016040523d82523d6000602084013e61196b565b606091505b50509050806119a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027b9061314f565b5050506001016116b4565b5050600190920191506116449050565b50505050565b60006119d38484611345565b905073ffffffffffffffffffffffffffffffffffffffff851615611a18576000806119fe838561201c565b91509150611a0f868a898585611cd2565b95505050611a80565b6000611a4a6127106107a3847f0000000000000000000000000000000000000000000000000000000000000000611512565b600154909150611a7290899073ffffffffffffffffffffffffffffffffffffffff168361123e565b611a7c8582611345565b9450505b610cf587878661123e565b805160e01415611b7f5760008273ffffffffffffffffffffffffffffffffffffffff1663d505accf60e01b83604051602001611ac8929190612d49565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815290829052611b0091612d91565b6000604051808303816000865af19150503d8060008114611b3d576040519150601f19603f3d011682016040523d82523d6000602084013e611b42565b606091505b5050905080611b7d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027b90613073565b505b80516101001415611c725760008273ffffffffffffffffffffffffffffffffffffffff16638fcbaf0c60e01b83604051602001611bbd929190612d49565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815290829052611bf591612d91565b6000604051808303816000865af19150503d8060008114611c32576040519150601f19603f3d011682016040523d82523d6000602084013e611c37565b606091505b5050905080610cfa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027b90613073565b5050565b60008080611c8a6127106107a38787611512565b9050611cbc6127106107a3837f0000000000000000000000000000000000000000000000000000000000000000611512565b9250611cc88184611345565b9150509250929050565b600080611cdf8484611fa8565b905080611cef5786915050611f12565b86811115611d48576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806133c36024913960400191505060405180910390fd5b611d73867f00000000000000000000000000000000000000000000000000000000000000008361123e565b8315611e41577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663d1f4354b8688876040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b158015611e2857600080fd5b505af1158015611e3c573d6000803e3d6000fd5b505050505b8215611f0457600154604080517fd1f4354b00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff928316600482015288831660248201526044810186905290517f00000000000000000000000000000000000000000000000000000000000000009092169163d1f4354b9160648082019260009290919082900301818387803b158015611eeb57600080fd5b505af1158015611eff573d6000803e3d6000fd5b505050505b611f0e8782611345565b9150505b95945050505050565b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb00000000000000000000000000000000000000000000000000000000179052610cfa908490612103565b60008282018381101561113b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600080613fff83166127107f0000000000000000000000000000000000000000000000000000000000000000820111156120b757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f496e76616c6964206665652070657263656e7400000000000000000000000000604482015290519081900360640190fd5b6120e76127106107a3877f0000000000000000000000000000000000000000000000000000000000000000611512565b91506120f96127106107a38784611512565b9250509250929050565b6060612165826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166121db9092919063ffffffff16565b805190915015610cfa5780806020019051602081101561218457600080fd5b5051610cfa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001806133e7602a913960400191505060405180910390fd5b60606121ea84846000856121f4565b90505b9392505050565b60608247101561224f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602681526020018061337c6026913960400191505060405180910390fd5b612258856123a4565b6122c357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b600060608673ffffffffffffffffffffffffffffffffffffffff1685876040518082805190602001908083835b6020831061232d57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016122f0565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d806000811461238f576040519150601f19603f3d011682016040523d82523d6000602084013e612394565b606091505b509150915061103c8282866123aa565b3b151590565b606083156123b95750816121ed565b8251156123c95782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561242d578181015183820152602001612415565b50505050905090810190601f16801561245a5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b6040518060a0016040528060008152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016000815260200160608152602001600081525090565b6040518060800160405280600073ffffffffffffffffffffffffffffffffffffffff1681526020016000815260200160008152602001606081525090565b803561055b81613356565b600082601f830112612506578081fd5b81356125196125148261330c565b6132e8565b818152915060208083019084810160005b848110156125c857813587016040807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0838c0301121561256957600080fd5b805181810167ffffffffffffffff828210818311171561258557fe5b8184528488013583529284013592808411156125a057600080fd5b50506125b08b87848601016125d3565b8187015286525050928201929082019060010161252a565b505050505092915050565b600082601f8301126125e3578081fd5b6125f0612514833561330c565b823581529050602080820190830160005b84358110156127cc578135850160607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe082890301121561264057600080fd5b60405180606082011067ffffffffffffffff6060830111171561265f57fe5b606081016040526126736020830135613356565b602082013581526040820135602082015267ffffffffffffffff6060830135111561269d57600080fd5b60608201358201915087603f8301126126b557600080fd5b6126c5612514602084013561330c565b60208381013582528101906040840160005b60208601358110156127ae578135860160807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0828f0301121561271957600080fd5b60405180608082011067ffffffffffffffff6080830111171561273857fe5b6080810160405261274c6040830135613356565b60408201358152606082013560208201526080820135604082015267ffffffffffffffff60a0830135111561278057600080fd5b6127938e604060a08501358501016127d5565b606082015285525060209384019391909101906001016126d7565b50506040830152508452506020928301929190910190600101612601565b50505092915050565b600082601f8301126127e5578081fd5b81356127f36125148261330c565b818152915060208083019084810160005b848110156125c8578135870160a0807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0838c0301121561284357600080fd5b6040805182810167ffffffffffffffff828210818311171561286157fe5b8184528886013583526128758487016124eb565b8984015260609150818601358484015260809350838601358181111561289a57600080fd5b6128a88f8b838a01016128fc565b92840192909252505092909101359082015284529282019290820190600101612804565b80357fffffffffffffffffffffffffffffffff000000000000000000000000000000008116811461055b57600080fd5b600082601f83011261290c578081fd5b813567ffffffffffffffff81111561292057fe5b61295160207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016132e8565b915080825283602082850101111561296857600080fd5b8060208401602084013760009082016020015292915050565b600060208284031215612992578081fd5b8151801515811461113b578182fd5b600080602083850312156129b3578081fd5b823567ffffffffffffffff808211156129ca578283fd5b818501915085601f8301126129dd578283fd5b8135818111156129eb578384fd5b8660208285010111156129fc578384fd5b60209290920196919550909350505050565b600060208284031215612a1f578081fd5b813567ffffffffffffffff80821115612a36578283fd5b81840191506101a0808387031215612a4c578384fd5b612a55816132e8565b9050612a60836124eb565b8152612a6e602084016124eb565b6020820152612a7f604084016124eb565b6040820152606083013560608201526080830135608082015260a083013560a0820152612aae60c084016124eb565b60c082015260e083013582811115612ac4578485fd5b612ad0878286016127d5565b60e083015250610100612ae48185016124eb565b9082015261012083810135908201526101408084013583811115612b06578586fd5b612b12888287016128fc565b828401525050610160915081830135828201526101809150612b358284016128cc565b91810191909152949350505050565b600060208284031215612b55578081fd5b813567ffffffffffffffff80821115612b6c578283fd5b8184019150610160808387031215612b82578384fd5b612b8b816132e8565b9050612b96836124eb565b8152602083013560208201526040830135604082015260608301356060820152612bc2608084016124eb565b608082015260a083013582811115612bd8578485fd5b612be4878286016124f6565b60a083015250612bf660c084016124eb565b60c082015260e083013560e08201526101008084013583811115612c18578586fd5b612c24888287016128fc565b828401525050610120915081830135828201526101409150612b358284016128cc565b600060208284031215612c58578081fd5b813567ffffffffffffffff80821115612c6f578283fd5b8184019150610160808387031215612c85578384fd5b612c8e816132e8565b9050612c99836124eb565b8152602083013560208201526040830135604082015260608301356060820152612cc5608084016124eb565b608082015260a083013582811115612cdb578485fd5b612be4878286016125d3565b600060208284031215612cf8578081fd5b5051919050565b60008151808452612d1781602086016020860161332a565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60007fffffffff00000000000000000000000000000000000000000000000000000000841682528251612d8381600485016020870161332a565b919091016004019392505050565b60008251612da381846020870161332a565b9190910192915050565b7f4d554c5449504154485f524f555445520000000000000000000000000000000081527f312e302e30000000000000000000000000000000000000000000000000000000601082015260150190565b90565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b73ffffffffffffffffffffffffffffffffffffffff9485168152928416602084015292166040820152606081019190915260800190565b600060a080830173ffffffffffffffffffffffffffffffffffffffff808a1685526020818a16818701526040898188015260608981890152608086818a0152858a5180885260c08b01915060c08682028c01019750858c018a5b82811015612f2a577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff408d8b03018452815180518b52898982015116898c015287810151888c0152868101518c888d0152612f0d8d8d0182612cff565b918701519b87019b909b5299509287019290870190600101612eb1565b50505050505050505080925050509695505050505050565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000097909716875273ffffffffffffffffffffffffffffffffffffffff95861660208801526040870194909452919093166060850152608084019290925260a083019190915260c082015260e00190565b90815260200190565b91825273ffffffffffffffffffffffffffffffffffffffff16602082015260400190565b60208082526018908201527f4661696c656420746f207472616e736665722045746865720000000000000000604082015260600190565b60208082526037908201527f526563656976656420616d6f756e74206f6620746f6b656e7320617265206c6560408201527f7373207468656e20657870656374656420746f6b656e73000000000000000000606082015260800190565b6020808252600d908201527f5065726d6974206661696c656400000000000000000000000000000000000000604082015260600190565b6020808252601a908201527f50617468206e6f742070726f766964656420666f722073776170000000000000604082015260600190565b60208082526018908201527f45786368616e6765206e6f742077686974656c69737465640000000000000000604082015260600190565b60208082526016908201527f4d4554484f44204e4f5420494d504c454d454e54454400000000000000000000604082015260600190565b60208082526016908201527f43616c6c20746f2061646170746572206661696c656400000000000000000000604082015260600190565b60208082526013908201527f496e636f7272656374206d73672e76616c756500000000000000000000000000604082015260600190565b60208082526030908201527f526563656976656420616d6f756e74206f6620746f6b656e7320617265206c6560408201527f7373207468656e20657870656374656400000000000000000000000000000000606082015260800190565b60208082526011908201527f446561646c696e65206272656163686564000000000000000000000000000000604082015260600190565b60208082526016908201527f546f20616d6f756e742063616e206e6f74206265203000000000000000000000604082015260600190565b600088825273ffffffffffffffffffffffffffffffffffffffff8089166020840152808816604084015286606084015285608084015280851660a08401525060e060c08301526132db60e0830184612cff565b9998505050505050505050565b60405181810167ffffffffffffffff8111828210171561330457fe5b604052919050565b600067ffffffffffffffff82111561332057fe5b5060209081020190565b60005b8381101561334557818101518382015260200161332d565b838111156119c15750506000910152565b73ffffffffffffffffffffffffffffffffffffffff8116811461337857600080fd5b5056fe416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77496e73756666696369656e742062616c616e636520746f2070617920666f7220666565735361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a164736f6c6343000705000a",
              "data": {
                "main_contract": 0,
                "contract_info": null,
                "abi": [
                  {
                    "type": "constructor",
                    "name": "",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "",
                    "inputs": [
                      {
                        "name": "_partnerSharePercent",
                        "type": "uint256",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "uint"
                        }
                      },
                      {
                        "name": "_maxFeePercent",
                        "type": "uint256",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "uint"
                        }
                      },
                      {
                        "name": "_paraswapReferralShare",
                        "type": "uint256",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "uint"
                        }
                      },
                      {
                        "name": "_paraswapSlippageShare",
                        "type": "uint256",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "uint"
                        }
                      },
                      {
                        "name": "_feeClaimer",
                        "type": "address",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "address"
                        }
                      }
                    ],
                    "outputs": null
                  },
                  {
                    "type": "function",
                    "name": "megaSwap",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "payable",
                    "inputs": [
                      {
                        "name": "data",
                        "type": "tuple",
                        "storage_location": "default",
                        "components": [
                          {
                            "name": "fromToken",
                            "type": "address",
                            "storage_location": "default",
                            "offset": 0,
                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                            "indexed": false,
                            "simple_type": {
                              "type": "address"
                            }
                          },
                          {
                            "name": "fromAmount",
                            "type": "uint256",
                            "storage_location": "default",
                            "offset": 0,
                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                            "indexed": false,
                            "simple_type": {
                              "type": "uint"
                            }
                          },
                          {
                            "name": "toAmount",
                            "type": "uint256",
                            "storage_location": "default",
                            "offset": 0,
                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                            "indexed": false,
                            "simple_type": {
                              "type": "uint"
                            }
                          },
                          {
                            "name": "expectedAmount",
                            "type": "uint256",
                            "storage_location": "default",
                            "offset": 0,
                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                            "indexed": false,
                            "simple_type": {
                              "type": "uint"
                            }
                          },
                          {
                            "name": "beneficiary",
                            "type": "address",
                            "storage_location": "default",
                            "offset": 0,
                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                            "indexed": false,
                            "simple_type": {
                              "type": "address"
                            }
                          },
                          {
                            "name": "path",
                            "type": "tuple[]",
                            "storage_location": "default",
                            "components": [
                              {
                                "name": "fromAmountPercent",
                                "type": "uint256",
                                "storage_location": "default",
                                "offset": 0,
                                "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                "indexed": false,
                                "simple_type": {
                                  "type": "uint"
                                }
                              },
                              {
                                "name": "path",
                                "type": "tuple[]",
                                "storage_location": "default",
                                "components": [
                                  {
                                    "name": "to",
                                    "type": "address",
                                    "storage_location": "default",
                                    "offset": 0,
                                    "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                    "indexed": false,
                                    "simple_type": {
                                      "type": "address"
                                    }
                                  },
                                  {
                                    "name": "totalNetworkFee",
                                    "type": "uint256",
                                    "storage_location": "default",
                                    "offset": 0,
                                    "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                    "indexed": false,
                                    "simple_type": {
                                      "type": "uint"
                                    }
                                  },
                                  {
                                    "name": "adapters",
                                    "type": "tuple[]",
                                    "storage_location": "default",
                                    "components": [
                                      {
                                        "name": "adapter",
                                        "type": "address",
                                        "storage_location": "default",
                                        "offset": 0,
                                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                        "indexed": false,
                                        "simple_type": {
                                          "type": "address"
                                        }
                                      },
                                      {
                                        "name": "percent",
                                        "type": "uint256",
                                        "storage_location": "default",
                                        "offset": 0,
                                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                        "indexed": false,
                                        "simple_type": {
                                          "type": "uint"
                                        }
                                      },
                                      {
                                        "name": "networkFee",
                                        "type": "uint256",
                                        "storage_location": "default",
                                        "offset": 0,
                                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                        "indexed": false,
                                        "simple_type": {
                                          "type": "uint"
                                        }
                                      },
                                      {
                                        "name": "route",
                                        "type": "tuple[]",
                                        "storage_location": "default",
                                        "components": [
                                          {
                                            "name": "index",
                                            "type": "uint256",
                                            "storage_location": "default",
                                            "offset": 0,
                                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                            "indexed": false,
                                            "simple_type": {
                                              "type": "uint"
                                            }
                                          },
                                          {
                                            "name": "targetExchange",
                                            "type": "address",
                                            "storage_location": "default",
                                            "offset": 0,
                                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                            "indexed": false,
                                            "simple_type": {
                                              "type": "address"
                                            }
                                          },
                                          {
                                            "name": "percent",
                                            "type": "uint256",
                                            "storage_location": "default",
                                            "offset": 0,
                                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                            "indexed": false,
                                            "simple_type": {
                                              "type": "uint"
                                            }
                                          },
                                          {
                                            "name": "payload",
                                            "type": "bytes",
                                            "storage_location": "default",
                                            "offset": 0,
                                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                            "indexed": false,
                                            "simple_type": {
                                              "type": "bytes"
                                            }
                                          },
                                          {
                                            "name": "networkFee",
                                            "type": "uint256",
                                            "storage_location": "default",
                                            "offset": 0,
                                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                            "indexed": false,
                                            "simple_type": {
                                              "type": "uint"
                                            }
                                          }
                                        ],
                                        "offset": 0,
                                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                        "indexed": false,
                                        "simple_type": {
                                          "type": "slice"
                                        }
                                      }
                                    ],
                                    "offset": 0,
                                    "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                    "indexed": false,
                                    "simple_type": {
                                      "type": "slice"
                                    }
                                  }
                                ],
                                "offset": 0,
                                "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                "indexed": false,
                                "simple_type": {
                                  "type": "slice"
                                }
                              }
                            ],
                            "offset": 0,
                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                            "indexed": false,
                            "simple_type": {
                              "type": "slice"
                            }
                          },
                          {
                            "name": "partner",
                            "type": "address",
                            "storage_location": "default",
                            "offset": 0,
                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                            "indexed": false,
                            "simple_type": {
                              "type": "address"
                            }
                          },
                          {
                            "name": "feePercent",
                            "type": "uint256",
                            "storage_location": "default",
                            "offset": 0,
                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                            "indexed": false,
                            "simple_type": {
                              "type": "uint"
                            }
                          },
                          {
                            "name": "permit",
                            "type": "bytes",
                            "storage_location": "default",
                            "offset": 0,
                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                            "indexed": false,
                            "simple_type": {
                              "type": "bytes"
                            }
                          },
                          {
                            "name": "deadline",
                            "type": "uint256",
                            "storage_location": "default",
                            "offset": 0,
                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                            "indexed": false,
                            "simple_type": {
                              "type": "uint"
                            }
                          },
                          {
                            "name": "uuid",
                            "type": "bytes16",
                            "storage_location": "default",
                            "offset": 0,
                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                            "indexed": false,
                            "simple_type": {
                              "type": "bytes"
                            }
                          }
                        ],
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false
                      }
                    ],
                    "outputs": [
                      {
                        "name": "",
                        "type": "uint256",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "uint"
                        }
                      }
                    ]
                  },
                  {
                    "type": "function",
                    "name": "paraswapReferralShare",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "view",
                    "inputs": [],
                    "outputs": [
                      {
                        "name": "",
                        "type": "uint256",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "uint"
                        }
                      }
                    ]
                  },
                  {
                    "type": "function",
                    "name": "ROUTER_ROLE",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "view",
                    "inputs": [],
                    "outputs": [
                      {
                        "name": "",
                        "type": "bytes32",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "bytes"
                        }
                      }
                    ]
                  },
                  {
                    "type": "function",
                    "name": "WHITELISTED_ROLE",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "view",
                    "inputs": [],
                    "outputs": [
                      {
                        "name": "",
                        "type": "bytes32",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "bytes"
                        }
                      }
                    ]
                  },
                  {
                    "type": "function",
                    "name": "getKey",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "pure",
                    "inputs": [],
                    "outputs": [
                      {
                        "name": "",
                        "type": "bytes32",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "bytes"
                        }
                      }
                    ]
                  },
                  {
                    "type": "function",
                    "name": "partnerSharePercent",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "view",
                    "inputs": [],
                    "outputs": [
                      {
                        "name": "",
                        "type": "uint256",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "uint"
                        }
                      }
                    ]
                  },
                  {
                    "type": "function",
                    "name": "buy",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "payable",
                    "inputs": [
                      {
                        "name": "data",
                        "type": "tuple",
                        "storage_location": "default",
                        "components": [
                          {
                            "name": "adapter",
                            "type": "address",
                            "storage_location": "default",
                            "offset": 0,
                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                            "indexed": false,
                            "simple_type": {
                              "type": "address"
                            }
                          },
                          {
                            "name": "fromToken",
                            "type": "address",
                            "storage_location": "default",
                            "offset": 0,
                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                            "indexed": false,
                            "simple_type": {
                              "type": "address"
                            }
                          },
                          {
                            "name": "toToken",
                            "type": "address",
                            "storage_location": "default",
                            "offset": 0,
                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                            "indexed": false,
                            "simple_type": {
                              "type": "address"
                            }
                          },
                          {
                            "name": "fromAmount",
                            "type": "uint256",
                            "storage_location": "default",
                            "offset": 0,
                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                            "indexed": false,
                            "simple_type": {
                              "type": "uint"
                            }
                          },
                          {
                            "name": "toAmount",
                            "type": "uint256",
                            "storage_location": "default",
                            "offset": 0,
                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                            "indexed": false,
                            "simple_type": {
                              "type": "uint"
                            }
                          },
                          {
                            "name": "expectedAmount",
                            "type": "uint256",
                            "storage_location": "default",
                            "offset": 0,
                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                            "indexed": false,
                            "simple_type": {
                              "type": "uint"
                            }
                          },
                          {
                            "name": "beneficiary",
                            "type": "address",
                            "storage_location": "default",
                            "offset": 0,
                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                            "indexed": false,
                            "simple_type": {
                              "type": "address"
                            }
                          },
                          {
                            "name": "route",
                            "type": "tuple[]",
                            "storage_location": "default",
                            "components": [
                              {
                                "name": "index",
                                "type": "uint256",
                                "storage_location": "default",
                                "offset": 0,
                                "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                "indexed": false,
                                "simple_type": {
                                  "type": "uint"
                                }
                              },
                              {
                                "name": "targetExchange",
                                "type": "address",
                                "storage_location": "default",
                                "offset": 0,
                                "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                "indexed": false,
                                "simple_type": {
                                  "type": "address"
                                }
                              },
                              {
                                "name": "percent",
                                "type": "uint256",
                                "storage_location": "default",
                                "offset": 0,
                                "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                "indexed": false,
                                "simple_type": {
                                  "type": "uint"
                                }
                              },
                              {
                                "name": "payload",
                                "type": "bytes",
                                "storage_location": "default",
                                "offset": 0,
                                "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                "indexed": false,
                                "simple_type": {
                                  "type": "bytes"
                                }
                              },
                              {
                                "name": "networkFee",
                                "type": "uint256",
                                "storage_location": "default",
                                "offset": 0,
                                "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                "indexed": false,
                                "simple_type": {
                                  "type": "uint"
                                }
                              }
                            ],
                            "offset": 0,
                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                            "indexed": false,
                            "simple_type": {
                              "type": "slice"
                            }
                          },
                          {
                            "name": "partner",
                            "type": "address",
                            "storage_location": "default",
                            "offset": 0,
                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                            "indexed": false,
                            "simple_type": {
                              "type": "address"
                            }
                          },
                          {
                            "name": "feePercent",
                            "type": "uint256",
                            "storage_location": "default",
                            "offset": 0,
                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                            "indexed": false,
                            "simple_type": {
                              "type": "uint"
                            }
                          },
                          {
                            "name": "permit",
                            "type": "bytes",
                            "storage_location": "default",
                            "offset": 0,
                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                            "indexed": false,
                            "simple_type": {
                              "type": "bytes"
                            }
                          },
                          {
                            "name": "deadline",
                            "type": "uint256",
                            "storage_location": "default",
                            "offset": 0,
                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                            "indexed": false,
                            "simple_type": {
                              "type": "uint"
                            }
                          },
                          {
                            "name": "uuid",
                            "type": "bytes16",
                            "storage_location": "default",
                            "offset": 0,
                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                            "indexed": false,
                            "simple_type": {
                              "type": "bytes"
                            }
                          }
                        ],
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false
                      }
                    ],
                    "outputs": [
                      {
                        "name": "",
                        "type": "uint256",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "uint"
                        }
                      }
                    ]
                  },
                  {
                    "type": "function",
                    "name": "maxFeePercent",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "view",
                    "inputs": [],
                    "outputs": [
                      {
                        "name": "",
                        "type": "uint256",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "uint"
                        }
                      }
                    ]
                  },
                  {
                    "type": "function",
                    "name": "multiSwap",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "payable",
                    "inputs": [
                      {
                        "name": "data",
                        "type": "tuple",
                        "storage_location": "default",
                        "components": [
                          {
                            "name": "fromToken",
                            "type": "address",
                            "storage_location": "default",
                            "offset": 0,
                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                            "indexed": false,
                            "simple_type": {
                              "type": "address"
                            }
                          },
                          {
                            "name": "fromAmount",
                            "type": "uint256",
                            "storage_location": "default",
                            "offset": 0,
                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                            "indexed": false,
                            "simple_type": {
                              "type": "uint"
                            }
                          },
                          {
                            "name": "toAmount",
                            "type": "uint256",
                            "storage_location": "default",
                            "offset": 0,
                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                            "indexed": false,
                            "simple_type": {
                              "type": "uint"
                            }
                          },
                          {
                            "name": "expectedAmount",
                            "type": "uint256",
                            "storage_location": "default",
                            "offset": 0,
                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                            "indexed": false,
                            "simple_type": {
                              "type": "uint"
                            }
                          },
                          {
                            "name": "beneficiary",
                            "type": "address",
                            "storage_location": "default",
                            "offset": 0,
                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                            "indexed": false,
                            "simple_type": {
                              "type": "address"
                            }
                          },
                          {
                            "name": "path",
                            "type": "tuple[]",
                            "storage_location": "default",
                            "components": [
                              {
                                "name": "to",
                                "type": "address",
                                "storage_location": "default",
                                "offset": 0,
                                "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                "indexed": false,
                                "simple_type": {
                                  "type": "address"
                                }
                              },
                              {
                                "name": "totalNetworkFee",
                                "type": "uint256",
                                "storage_location": "default",
                                "offset": 0,
                                "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                "indexed": false,
                                "simple_type": {
                                  "type": "uint"
                                }
                              },
                              {
                                "name": "adapters",
                                "type": "tuple[]",
                                "storage_location": "default",
                                "components": [
                                  {
                                    "name": "adapter",
                                    "type": "address",
                                    "storage_location": "default",
                                    "offset": 0,
                                    "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                    "indexed": false,
                                    "simple_type": {
                                      "type": "address"
                                    }
                                  },
                                  {
                                    "name": "percent",
                                    "type": "uint256",
                                    "storage_location": "default",
                                    "offset": 0,
                                    "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                    "indexed": false,
                                    "simple_type": {
                                      "type": "uint"
                                    }
                                  },
                                  {
                                    "name": "networkFee",
                                    "type": "uint256",
                                    "storage_location": "default",
                                    "offset": 0,
                                    "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                    "indexed": false,
                                    "simple_type": {
                                      "type": "uint"
                                    }
                                  },
                                  {
                                    "name": "route",
                                    "type": "tuple[]",
                                    "storage_location": "default",
                                    "components": [
                                      {
                                        "name": "index",
                                        "type": "uint256",
                                        "storage_location": "default",
                                        "offset": 0,
                                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                        "indexed": false,
                                        "simple_type": {
                                          "type": "uint"
                                        }
                                      },
                                      {
                                        "name": "targetExchange",
                                        "type": "address",
                                        "storage_location": "default",
                                        "offset": 0,
                                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                        "indexed": false,
                                        "simple_type": {
                                          "type": "address"
                                        }
                                      },
                                      {
                                        "name": "percent",
                                        "type": "uint256",
                                        "storage_location": "default",
                                        "offset": 0,
                                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                        "indexed": false,
                                        "simple_type": {
                                          "type": "uint"
                                        }
                                      },
                                      {
                                        "name": "payload",
                                        "type": "bytes",
                                        "storage_location": "default",
                                        "offset": 0,
                                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                        "indexed": false,
                                        "simple_type": {
                                          "type": "bytes"
                                        }
                                      },
                                      {
                                        "name": "networkFee",
                                        "type": "uint256",
                                        "storage_location": "default",
                                        "offset": 0,
                                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                        "indexed": false,
                                        "simple_type": {
                                          "type": "uint"
                                        }
                                      }
                                    ],
                                    "offset": 0,
                                    "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                    "indexed": false,
                                    "simple_type": {
                                      "type": "slice"
                                    }
                                  }
                                ],
                                "offset": 0,
                                "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                "indexed": false,
                                "simple_type": {
                                  "type": "slice"
                                }
                              }
                            ],
                            "offset": 0,
                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                            "indexed": false,
                            "simple_type": {
                              "type": "slice"
                            }
                          },
                          {
                            "name": "partner",
                            "type": "address",
                            "storage_location": "default",
                            "offset": 0,
                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                            "indexed": false,
                            "simple_type": {
                              "type": "address"
                            }
                          },
                          {
                            "name": "feePercent",
                            "type": "uint256",
                            "storage_location": "default",
                            "offset": 0,
                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                            "indexed": false,
                            "simple_type": {
                              "type": "uint"
                            }
                          },
                          {
                            "name": "permit",
                            "type": "bytes",
                            "storage_location": "default",
                            "offset": 0,
                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                            "indexed": false,
                            "simple_type": {
                              "type": "bytes"
                            }
                          },
                          {
                            "name": "deadline",
                            "type": "uint256",
                            "storage_location": "default",
                            "offset": 0,
                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                            "indexed": false,
                            "simple_type": {
                              "type": "uint"
                            }
                          },
                          {
                            "name": "uuid",
                            "type": "bytes16",
                            "storage_location": "default",
                            "offset": 0,
                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                            "indexed": false,
                            "simple_type": {
                              "type": "bytes"
                            }
                          }
                        ],
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false
                      }
                    ],
                    "outputs": [
                      {
                        "name": "",
                        "type": "uint256",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "uint"
                        }
                      }
                    ]
                  },
                  {
                    "type": "function",
                    "name": "paraswapSlippageShare",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "view",
                    "inputs": [],
                    "outputs": [
                      {
                        "name": "",
                        "type": "uint256",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "uint"
                        }
                      }
                    ]
                  },
                  {
                    "type": "function",
                    "name": "feeClaimer",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "view",
                    "inputs": [],
                    "outputs": [
                      {
                        "name": "",
                        "type": "address",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "address"
                        }
                      }
                    ]
                  },
                  {
                    "type": "function",
                    "name": "initialize",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "nonpayable",
                    "inputs": [
                      {
                        "name": "",
                        "type": "bytes",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "bytes"
                        }
                      }
                    ],
                    "outputs": []
                  },
                  {
                    "type": "event",
                    "name": "BoughtV3",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "",
                    "inputs": [
                      {
                        "name": "uuid",
                        "type": "bytes16",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "bytes"
                        }
                      },
                      {
                        "name": "partner",
                        "type": "address",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "address"
                        }
                      },
                      {
                        "name": "feePercent",
                        "type": "uint256",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "uint"
                        }
                      },
                      {
                        "name": "initiator",
                        "type": "address",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "address"
                        }
                      },
                      {
                        "name": "beneficiary",
                        "type": "address",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": true,
                        "simple_type": {
                          "type": "address"
                        }
                      },
                      {
                        "name": "srcToken",
                        "type": "address",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": true,
                        "simple_type": {
                          "type": "address"
                        }
                      },
                      {
                        "name": "destToken",
                        "type": "address",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": true,
                        "simple_type": {
                          "type": "address"
                        }
                      },
                      {
                        "name": "srcAmount",
                        "type": "uint256",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "uint"
                        }
                      },
                      {
                        "name": "receivedAmount",
                        "type": "uint256",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "uint"
                        }
                      },
                      {
                        "name": "expectedAmount",
                        "type": "uint256",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "uint"
                        }
                      }
                    ],
                    "outputs": null
                  },
                  {
                    "type": "event",
                    "name": "SwappedV3",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "",
                    "inputs": [
                      {
                        "name": "uuid",
                        "type": "bytes16",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "bytes"
                        }
                      },
                      {
                        "name": "partner",
                        "type": "address",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "address"
                        }
                      },
                      {
                        "name": "feePercent",
                        "type": "uint256",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "uint"
                        }
                      },
                      {
                        "name": "initiator",
                        "type": "address",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "address"
                        }
                      },
                      {
                        "name": "beneficiary",
                        "type": "address",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": true,
                        "simple_type": {
                          "type": "address"
                        }
                      },
                      {
                        "name": "srcToken",
                        "type": "address",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": true,
                        "simple_type": {
                          "type": "address"
                        }
                      },
                      {
                        "name": "destToken",
                        "type": "address",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": true,
                        "simple_type": {
                          "type": "address"
                        }
                      },
                      {
                        "name": "srcAmount",
                        "type": "uint256",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "uint"
                        }
                      },
                      {
                        "name": "receivedAmount",
                        "type": "uint256",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "uint"
                        }
                      },
                      {
                        "name": "expectedAmount",
                        "type": "uint256",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "uint"
                        }
                      }
                    ],
                    "outputs": null
                  }
                ],
                "raw_abi": null
              },
              "src_map": {
                "0": {
                  "r": "316:13499:14",
                  "s": 316,
                  "l": 13499,
                  "ln": 14,
                  "c": 1,
                  "f": 14,
                  "j": "-"
                },
                "2": {
                  "r": "316:13499:14",
                  "s": 316,
                  "l": 13499,
                  "ln": 14,
                  "c": 1,
                  "f": 14,
                  "j": "-"
                }
              },
              "creation_block": 0,
              "creation_tx": "",
              "creator_address": "",
              "created_at": "2023-06-13T17:26:36Z",
              "language": "solidity",
              "in_project": false
            },
            {
              "id": "eth:1:0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
              "contract_id": "eth:1:0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
              "balance": "",
              "network_id": "1",
              "public": true,
              "verified_by": "etherscan",
              "verification_date": "2021-08-18T12:43:57Z",
              "address": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
              "contract_name": "AugustusSwapper",
              "ens_domain": null,
              "type": "contract",
              "evm_version": "istanbul",
              "compiler_version": "v0.7.5+commit.eb77ed08",
              "optimizations_used": true,
              "optimization_runs": 1000000,
              "libraries": null,
              "compiler_settings": {
                "optimizer": {
                  "enabled": true,
                  "runs": 1000000
                },
                "evmVersion": "istanbul",
                "metadata": {
                  "useLiteralContent": true
                }
              },
              "deployed_bytecode": "0x60806040526004361061019a5760003560e01c80639010d07c116100e1578063a64b6e5f1161008a578063ca15c87311610064578063ca15c873146105eb578063d2c4b5981461060b578063d547741f14610620578063dc9cc64514610640576101a1565b8063a64b6e5f1461058b578063aa5b2458146105ab578063aa97ef02146105cb576101a1565b80639812f33b116100bb5780639812f33b146105365780639a5a98d314610556578063a217fddf14610576576101a1565b80639010d07c146104d657806390d49b9d146104f657806391d1485414610516576101a1565b806336568abe1161014357806360e355071161011d57806360e35507146104745780636df77496146104945780637a3226ec146104c1576101a1565b806336568abe146104055780633a9243d7146104255780635459060d14610452576101a1565b8063248a9ca311610174578063248a9ca3146103a35780632f2ff15d146103d057806330d643b5146103f0576101a1565b80630815f6fd146103365780630d8e6e2c146103585780631880021914610383576101a1565b366101a157005b600080357fffffffff0000000000000000000000000000000000000000000000000000000016905060006101d48261065b565b905073ffffffffffffffffffffffffffffffffffffffff81166102a8576102a87f734e6e1c6ec3f883cac8d13d3e7390b280f5e94424662aa29e27394ed56586c9836040516024016102269190612082565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091526106a9565b600060608273ffffffffffffffffffffffffffffffffffffffff166000366040516102d4929190611ff8565b600060405180830381855af49150503d806000811461030f576040519150601f19603f3d011682016040523d82523d6000602084013e610314565b606091505b50915091508161032757610327816106a9565b610330816106b1565b50505050005b34801561034257600080fd5b50610356610351366004611f83565b6106b9565b005b34801561036457600080fd5b5061036d6107da565b60405161037a91906120fc565b60405180910390f35b34801561038f57600080fd5b5061035661039e366004611dc9565b610811565b3480156103af57600080fd5b506103c36103be366004611f01565b610a31565b60405161037a9190612079565b3480156103dc57600080fd5b506103566103eb366004611f19565b610a46565b3480156103fc57600080fd5b506103c3610aa8565b34801561041157600080fd5b50610356610420366004611f19565b610acc565b34801561043157600080fd5b50610445610440366004611f01565b610b42565b60405161037a919061206e565b34801561045e57600080fd5b50610467610b57565b60405161037a9190612027565b34801561048057600080fd5b5061035661048f366004611dc9565b610b73565b3480156104a057600080fd5b506104b46104af366004611d6d565b610d93565b60405161037a91906125d1565b3480156104cd57600080fd5b506103c3610f6a565b3480156104e257600080fd5b506104676104f1366004611f48565b610f8e565b34801561050257600080fd5b50610356610511366004611d6d565b610faf565b34801561052257600080fd5b50610445610531366004611f19565b611084565b34801561054257600080fd5b50610445610551366004611f01565b61109c565b34801561056257600080fd5b5061036d610571366004611f01565b6110b1565b34801561058257600080fd5b506103c3611170565b34801561059757600080fd5b506103566105a6366004611d89565b611175565b3480156105b757600080fd5b506103566105c6366004611e1c565b6112c2565b3480156105d757600080fd5b5061036d6105e6366004611f01565b6114ef565b3480156105f757600080fd5b506103c3610606366004611f01565b611577565b34801561061757600080fd5b5061046761158e565b34801561062c57600080fd5b5061035661063b366004611f19565b6115aa565b34801561064c57600080fd5b5061046761065b366004611f69565b7fffffffff00000000000000000000000000000000000000000000000000000000811660009081526003602052604090205473ffffffffffffffffffffffffffffffffffffffff165b919050565b805160208201fd5b805160208201f35b6106c4600033611084565b610703576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa9061253d565b60405180910390fd5b61072d7f7a05a596cb0ce7fdea8a1e1ec73be300bdb35097c944ce1897202f7a13122eb282611084565b610763576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa906123a7565b7fffffffff0000000000000000000000000000000000000000000000000000000091909116600090815260036020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909216919091179055565b60408051808201909152600581527f352e302e30000000000000000000000000000000000000000000000000000000602082015290565b61081c600033611084565b610852576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa9061253d565b61087c7f8429d542926e6695b59ac6fbdcd9b37e8b1aeb757afab06ab60b1bb5878c3b4984611084565b6108b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa90612472565b60008373ffffffffffffffffffffffffffffffffffffffff1663439fab9160e01b84846040516024016108e69291906120af565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090941693909317909252905161096f9190612008565b600060405180830381855af49150503d80600081146109aa576040519150601f19603f3d011682016040523d82523d6000602084013e6109af565b606091505b50509050806109ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa906122dc565b60405173ffffffffffffffffffffffffffffffffffffffff8516907f4aa65286df310c4e8390d962c75f50380b8260d96ea27cf14847cd683e22d9db90600090a250505050565b60009081526008602052604090206002015490565b600082815260086020526040902060020154610a6490610531611620565b610a9a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa906121a3565b610aa48282611624565b5050565b7f7a05a596cb0ce7fdea8a1e1ec73be300bdb35097c944ce1897202f7a13122eb281565b610ad4611620565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610b38576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa90612574565b610aa482826116a7565b60009081526004602052604090205460ff1690565b60015473ffffffffffffffffffffffffffffffffffffffff1690565b610b7e600033611084565b610bb4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa9061253d565b610bde7f7a05a596cb0ce7fdea8a1e1ec73be300bdb35097c944ce1897202f7a13122eb284611084565b610c14576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa90612313565b60008373ffffffffffffffffffffffffffffffffffffffff1663439fab9160e01b8484604051602401610c489291906120af565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909416939093179092529051610cd19190612008565b600060405180830381855af49150503d8060008114610d0c576040519150601f19603f3d011682016040523d82523d6000602084013e610d11565b606091505b5050905080610d4c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa9061226e565b60405173ffffffffffffffffffffffffffffffffffffffff8516907f2622745e83f97f2d871ef785497c1eeba6f9bb94c7dd486cf28228e814d929e490600090a250505050565b610d9b611bf9565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260026020818152604092839020835160c0810185528154815260018083015460ff8082161515848701526101008083049091161515848901526201000090910461ffff16606084015283860180548851938116159092027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190911695909504601f810185900485028201850190965285815290949193608086019391929091830182828015610ea85780601f10610e7d57610100808354040283529160200191610ea8565b820191906000526020600020905b815481529060010190602001808311610e8b57829003601f168201915b505050918352505060038201805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f8101849004840282018401909252818152938201939291830182828015610f5a5780601f10610f2f57610100808354040283529160200191610f5a565b820191906000526020600020905b815481529060010190602001808311610f3d57829003601f168201915b5050505050815250509050919050565b7f8429d542926e6695b59ac6fbdcd9b37e8b1aeb757afab06ab60b1bb5878c3b4981565b6000828152600860205260408120610fa6908361172a565b90505b92915050565b610fba600033611084565b610ff0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa9061253d565b73ffffffffffffffffffffffffffffffffffffffff811661103d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa90612200565b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6000828152600860205260408120610fa69083611736565b60009081526007602052604090205460ff1690565b60008181526005602090815260409182902080548351601f60027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6101006001861615020190931692909204918201849004840281018401909452808452606093928301828280156111645780601f1061113957610100808354040283529160200191611164565b820191906000526020600020905b81548152906001019060200180831161114757829003601f168201915b50505050509050919050565b600081565b611180600033611084565b6111b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa9061253d565b80156112bd5773ffffffffffffffffffffffffffffffffffffffff831673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee141561129c5760008273ffffffffffffffffffffffffffffffffffffffff16826127109060405161121890612024565b600060405180830381858888f193505050503d8060008114611256576040519150601f19603f3d011682016040523d82523d6000602084013e61125b565b606091505b5050905080611296576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa9061210f565b506112bd565b6112bd73ffffffffffffffffffffffffffffffffffffffff84168383611758565b505050565b6112cd600033611084565b611303576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa9061253d565b73ffffffffffffffffffffffffffffffffffffffff8916611350576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa9061243b565b73ffffffffffffffffffffffffffffffffffffffff891660009081526002602052604090208054156113ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa906122a5565b6000891180156113bf575061271089105b6113f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa90612237565b6127108661ffff161115611435576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa90612237565b8881556001810180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016891515177fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101008915150217905561149e600282018686611c37565b506001810180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000ffff166201000061ffff8916021790556114e2600382018484611c37565b5050505050505050505050565b60008181526006602090815260409182902080548351601f60027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6101006001861615020190931692909204918201849004840281018401909452808452606093928301828280156111645780601f1061113957610100808354040283529160200191611164565b6000818152600860205260408120610fa9906117f9565b60005473ffffffffffffffffffffffffffffffffffffffff1690565b6000828152600860205260409020600201546115c890610531611620565b610b38576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa906123de565b6000610fa68373ffffffffffffffffffffffffffffffffffffffff8416611804565b3390565b600082815260086020526040902061163c90826115fe565b15610aa457611649611620565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60008281526008602052604090206116bf908261184e565b15610aa4576116cc611620565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45050565b6000610fa68383611870565b6000610fa68373ffffffffffffffffffffffffffffffffffffffff84166118cf565b6112bd8363a9059cbb60e01b8484604051602401611777929190612048565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091526118e7565b6000610fa98261199d565b600061181083836118cf565b61184657508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610fa9565b506000610fa9565b6000610fa68373ffffffffffffffffffffffffffffffffffffffff84166119a1565b815460009082106118ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa90612146565b8260000182815481106118bc57fe5b9060005260206000200154905092915050565b60009081526001919091016020526040902054151590565b6060611949826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16611a859092919063ffffffff16565b8051909150156112bd57808060200190518101906119679190611ee5565b6112bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa906124e0565b5490565b60008181526001830160205260408120548015611a7b5783547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80830191908101906000908790839081106119f257fe5b9060005260206000200154905080876000018481548110611a0f57fe5b600091825260208083209091019290925582815260018981019092526040902090840190558654879080611a3f57fe5b60019003818190600052602060002001600090559055866001016000878152602001908152602001600020600090556001945050505050610fa9565b6000915050610fa9565b6060611a948484600085611a9e565b90505b9392505050565b606082471015611ada576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa9061234a565b611ae385611ba0565b611b19576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa906124a9565b600060608673ffffffffffffffffffffffffffffffffffffffff168587604051611b439190612008565b60006040518083038185875af1925050503d8060008114611b80576040519150601f19603f3d011682016040523d82523d6000602084013e611b85565b606091505b5091509150611b95828286611ba6565b979650505050505050565b3b151590565b60608315611bb5575081611a97565b825115611bc55782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa91906120fc565b6040518060c0016040528060008152602001600015158152602001600015158152602001600061ffff16815260200160608152602001606081525090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282611c6d5760008555611cd1565b82601f10611ca4578280017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00823516178555611cd1565b82800160010185558215611cd1579182015b82811115611cd1578235825591602001919060010190611cb6565b50611cdd929150611ce1565b5090565b5b80821115611cdd5760008155600101611ce2565b80357fffffffff00000000000000000000000000000000000000000000000000000000811681146106a457600080fd5b60008083601f840112611d37578182fd5b50813567ffffffffffffffff811115611d4e578182fd5b602083019150836020828501011115611d6657600080fd5b9250929050565b600060208284031215611d7e578081fd5b8135611a9781612691565b600080600060608486031215611d9d578182fd5b8335611da881612691565b92506020840135611db881612691565b929592945050506040919091013590565b600080600060408486031215611ddd578283fd5b8335611de881612691565b9250602084013567ffffffffffffffff811115611e03578283fd5b611e0f86828701611d26565b9497909650939450505050565b600080600080600080600080600060e08a8c031215611e39578485fd5b8935611e4481612691565b985060208a0135975060408a0135611e5b816126b6565b965060608a0135611e6b816126b6565b955060808a013561ffff81168114611e81578586fd5b945060a08a013567ffffffffffffffff80821115611e9d578586fd5b611ea98d838e01611d26565b909650945060c08c0135915080821115611ec1578384fd5b50611ece8c828d01611d26565b915080935050809150509295985092959850929598565b600060208284031215611ef6578081fd5b8151611a97816126b6565b600060208284031215611f12578081fd5b5035919050565b60008060408385031215611f2b578182fd5b823591506020830135611f3d81612691565b809150509250929050565b60008060408385031215611f5a578182fd5b50508035926020909101359150565b600060208284031215611f7a578081fd5b610fa682611cf6565b60008060408385031215611f95578182fd5b611f9e83611cf6565b91506020830135611f3d81612691565b60008151808452611fc6816020860160208601612661565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6000828483379101908152919050565b6000825161201a818460208701612661565b9190910192915050565b90565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b73ffffffffffffffffffffffffffffffffffffffff929092168252602082015260400190565b901515815260200190565b90815260200190565b7fffffffff0000000000000000000000000000000000000000000000000000000091909116815260200190565b60006020825282602083015282846040840137818301604090810191909152601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0160101919050565b600060208252610fa66020830184611fae565b60208082526018908201527f4661696c656420746f207472616e736665722045746865720000000000000000604082015260600190565b60208082526022908201527f456e756d657261626c655365743a20696e646578206f7574206f6620626f756e60408201527f6473000000000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252602f908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f206772616e740000000000000000000000000000000000606082015260800190565b6020808252600f908201527f496e76616c696420616464726573730000000000000000000000000000000000604082015260600190565b6020808252600e908201527f496e76616c69642076616c756573000000000000000000000000000000000000604082015260600190565b6020808252601b908201527f4661696c656420746f20696e697469616c697a6520726f757465720000000000604082015260600190565b60208082526012908201527f416c726561647920726567697374657265640000000000000000000000000000604082015260600190565b6020808252601c908201527f4661696c656420746f20696e697469616c697a65206164617074657200000000604082015260600190565b60208082526016908201527f526f75746572206e6f742077686974656c697374656400000000000000000000604082015260600190565b60208082526026908201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60408201527f722063616c6c0000000000000000000000000000000000000000000000000000606082015260800190565b60208082526019908201527f526f75746572206973206e6f742077686974656c697374656400000000000000604082015260600190565b60208082526030908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f207265766f6b6500000000000000000000000000000000606082015260800190565b6020808252600f908201527f496e76616c696420706172746e65720000000000000000000000000000000000604082015260600190565b60208082526018908201527f45786368616e6765206e6f742077686974656c69737465640000000000000000604082015260600190565b6020808252601d908201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604082015260600190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60408201527f6f74207375636365656400000000000000000000000000000000000000000000606082015260800190565b60208082526017908201527f63616c6c6572206973206e6f74207468652061646d696e000000000000000000604082015260600190565b6020808252602f908201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560408201527f20726f6c657320666f722073656c660000000000000000000000000000000000606082015260800190565b6000602082528251602083015260208301511515604083015260408301511515606083015261ffff6060840151166080830152608083015160c060a084015261261d60e0840182611fae565b905060a08401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08483030160c08501526126588282611fae565b95945050505050565b60005b8381101561267c578181015183820152602001612664565b8381111561268b576000848401525b50505050565b73ffffffffffffffffffffffffffffffffffffffff811681146126b357600080fd5b50565b80151581146126b357600080fdfea26469706673582212203fd8ae4e6506de07cbbca3cda754ae71293e8b3e0ba4c10c5c5bdfec31c3ff2464736f6c63430007050033",
              "creation_bytecode": "0x60806040523480156200001157600080fd5b5060405162003395380380620033958339810160408190526200003491620001c9565b60006040516200004490620001bb565b604051809103906000f08015801562000061573d6000803e3d6000fd5b50600080546001600160a01b038084166001600160a01b031992831617835560018054918716919092161790559091506200009d9033620000a5565b5050620001f9565b620000b18282620000b5565b5050565b6000828152600860209081526040909120620000dc918390620015fe62000130821b17901c565b15620000b157620000ec62000150565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600062000147836001600160a01b03841662000154565b90505b92915050565b3390565b6000620001628383620001a3565b6200019a575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556200014a565b5060006200014a565b60009081526001919091016020526040902054151590565b610a92806200290383390190565b600060208284031215620001db578081fd5b81516001600160a01b0381168114620001f2578182fd5b9392505050565b6126fa80620002096000396000f3fe60806040526004361061019a5760003560e01c80639010d07c116100e1578063a64b6e5f1161008a578063ca15c87311610064578063ca15c873146105eb578063d2c4b5981461060b578063d547741f14610620578063dc9cc64514610640576101a1565b8063a64b6e5f1461058b578063aa5b2458146105ab578063aa97ef02146105cb576101a1565b80639812f33b116100bb5780639812f33b146105365780639a5a98d314610556578063a217fddf14610576576101a1565b80639010d07c146104d657806390d49b9d146104f657806391d1485414610516576101a1565b806336568abe1161014357806360e355071161011d57806360e35507146104745780636df77496146104945780637a3226ec146104c1576101a1565b806336568abe146104055780633a9243d7146104255780635459060d14610452576101a1565b8063248a9ca311610174578063248a9ca3146103a35780632f2ff15d146103d057806330d643b5146103f0576101a1565b80630815f6fd146103365780630d8e6e2c146103585780631880021914610383576101a1565b366101a157005b600080357fffffffff0000000000000000000000000000000000000000000000000000000016905060006101d48261065b565b905073ffffffffffffffffffffffffffffffffffffffff81166102a8576102a87f734e6e1c6ec3f883cac8d13d3e7390b280f5e94424662aa29e27394ed56586c9836040516024016102269190612082565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091526106a9565b600060608273ffffffffffffffffffffffffffffffffffffffff166000366040516102d4929190611ff8565b600060405180830381855af49150503d806000811461030f576040519150601f19603f3d011682016040523d82523d6000602084013e610314565b606091505b50915091508161032757610327816106a9565b610330816106b1565b50505050005b34801561034257600080fd5b50610356610351366004611f83565b6106b9565b005b34801561036457600080fd5b5061036d6107da565b60405161037a91906120fc565b60405180910390f35b34801561038f57600080fd5b5061035661039e366004611dc9565b610811565b3480156103af57600080fd5b506103c36103be366004611f01565b610a31565b60405161037a9190612079565b3480156103dc57600080fd5b506103566103eb366004611f19565b610a46565b3480156103fc57600080fd5b506103c3610aa8565b34801561041157600080fd5b50610356610420366004611f19565b610acc565b34801561043157600080fd5b50610445610440366004611f01565b610b42565b60405161037a919061206e565b34801561045e57600080fd5b50610467610b57565b60405161037a9190612027565b34801561048057600080fd5b5061035661048f366004611dc9565b610b73565b3480156104a057600080fd5b506104b46104af366004611d6d565b610d93565b60405161037a91906125d1565b3480156104cd57600080fd5b506103c3610f6a565b3480156104e257600080fd5b506104676104f1366004611f48565b610f8e565b34801561050257600080fd5b50610356610511366004611d6d565b610faf565b34801561052257600080fd5b50610445610531366004611f19565b611084565b34801561054257600080fd5b50610445610551366004611f01565b61109c565b34801561056257600080fd5b5061036d610571366004611f01565b6110b1565b34801561058257600080fd5b506103c3611170565b34801561059757600080fd5b506103566105a6366004611d89565b611175565b3480156105b757600080fd5b506103566105c6366004611e1c565b6112c2565b3480156105d757600080fd5b5061036d6105e6366004611f01565b6114ef565b3480156105f757600080fd5b506103c3610606366004611f01565b611577565b34801561061757600080fd5b5061046761158e565b34801561062c57600080fd5b5061035661063b366004611f19565b6115aa565b34801561064c57600080fd5b5061046761065b366004611f69565b7fffffffff00000000000000000000000000000000000000000000000000000000811660009081526003602052604090205473ffffffffffffffffffffffffffffffffffffffff165b919050565b805160208201fd5b805160208201f35b6106c4600033611084565b610703576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa9061253d565b60405180910390fd5b61072d7f7a05a596cb0ce7fdea8a1e1ec73be300bdb35097c944ce1897202f7a13122eb282611084565b610763576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa906123a7565b7fffffffff0000000000000000000000000000000000000000000000000000000091909116600090815260036020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909216919091179055565b60408051808201909152600581527f352e302e30000000000000000000000000000000000000000000000000000000602082015290565b61081c600033611084565b610852576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa9061253d565b61087c7f8429d542926e6695b59ac6fbdcd9b37e8b1aeb757afab06ab60b1bb5878c3b4984611084565b6108b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa90612472565b60008373ffffffffffffffffffffffffffffffffffffffff1663439fab9160e01b84846040516024016108e69291906120af565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090941693909317909252905161096f9190612008565b600060405180830381855af49150503d80600081146109aa576040519150601f19603f3d011682016040523d82523d6000602084013e6109af565b606091505b50509050806109ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa906122dc565b60405173ffffffffffffffffffffffffffffffffffffffff8516907f4aa65286df310c4e8390d962c75f50380b8260d96ea27cf14847cd683e22d9db90600090a250505050565b60009081526008602052604090206002015490565b600082815260086020526040902060020154610a6490610531611620565b610a9a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa906121a3565b610aa48282611624565b5050565b7f7a05a596cb0ce7fdea8a1e1ec73be300bdb35097c944ce1897202f7a13122eb281565b610ad4611620565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610b38576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa90612574565b610aa482826116a7565b60009081526004602052604090205460ff1690565b60015473ffffffffffffffffffffffffffffffffffffffff1690565b610b7e600033611084565b610bb4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa9061253d565b610bde7f7a05a596cb0ce7fdea8a1e1ec73be300bdb35097c944ce1897202f7a13122eb284611084565b610c14576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa90612313565b60008373ffffffffffffffffffffffffffffffffffffffff1663439fab9160e01b8484604051602401610c489291906120af565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909416939093179092529051610cd19190612008565b600060405180830381855af49150503d8060008114610d0c576040519150601f19603f3d011682016040523d82523d6000602084013e610d11565b606091505b5050905080610d4c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa9061226e565b60405173ffffffffffffffffffffffffffffffffffffffff8516907f2622745e83f97f2d871ef785497c1eeba6f9bb94c7dd486cf28228e814d929e490600090a250505050565b610d9b611bf9565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260026020818152604092839020835160c0810185528154815260018083015460ff8082161515848701526101008083049091161515848901526201000090910461ffff16606084015283860180548851938116159092027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190911695909504601f810185900485028201850190965285815290949193608086019391929091830182828015610ea85780601f10610e7d57610100808354040283529160200191610ea8565b820191906000526020600020905b815481529060010190602001808311610e8b57829003601f168201915b505050918352505060038201805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f8101849004840282018401909252818152938201939291830182828015610f5a5780601f10610f2f57610100808354040283529160200191610f5a565b820191906000526020600020905b815481529060010190602001808311610f3d57829003601f168201915b5050505050815250509050919050565b7f8429d542926e6695b59ac6fbdcd9b37e8b1aeb757afab06ab60b1bb5878c3b4981565b6000828152600860205260408120610fa6908361172a565b90505b92915050565b610fba600033611084565b610ff0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa9061253d565b73ffffffffffffffffffffffffffffffffffffffff811661103d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa90612200565b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6000828152600860205260408120610fa69083611736565b60009081526007602052604090205460ff1690565b60008181526005602090815260409182902080548351601f60027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6101006001861615020190931692909204918201849004840281018401909452808452606093928301828280156111645780601f1061113957610100808354040283529160200191611164565b820191906000526020600020905b81548152906001019060200180831161114757829003601f168201915b50505050509050919050565b600081565b611180600033611084565b6111b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa9061253d565b80156112bd5773ffffffffffffffffffffffffffffffffffffffff831673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee141561129c5760008273ffffffffffffffffffffffffffffffffffffffff16826127109060405161121890612024565b600060405180830381858888f193505050503d8060008114611256576040519150601f19603f3d011682016040523d82523d6000602084013e61125b565b606091505b5050905080611296576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa9061210f565b506112bd565b6112bd73ffffffffffffffffffffffffffffffffffffffff84168383611758565b505050565b6112cd600033611084565b611303576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa9061253d565b73ffffffffffffffffffffffffffffffffffffffff8916611350576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa9061243b565b73ffffffffffffffffffffffffffffffffffffffff891660009081526002602052604090208054156113ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa906122a5565b6000891180156113bf575061271089105b6113f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa90612237565b6127108661ffff161115611435576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa90612237565b8881556001810180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016891515177fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101008915150217905561149e600282018686611c37565b506001810180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000ffff166201000061ffff8916021790556114e2600382018484611c37565b5050505050505050505050565b60008181526006602090815260409182902080548351601f60027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6101006001861615020190931692909204918201849004840281018401909452808452606093928301828280156111645780601f1061113957610100808354040283529160200191611164565b6000818152600860205260408120610fa9906117f9565b60005473ffffffffffffffffffffffffffffffffffffffff1690565b6000828152600860205260409020600201546115c890610531611620565b610b38576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa906123de565b6000610fa68373ffffffffffffffffffffffffffffffffffffffff8416611804565b3390565b600082815260086020526040902061163c90826115fe565b15610aa457611649611620565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60008281526008602052604090206116bf908261184e565b15610aa4576116cc611620565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45050565b6000610fa68383611870565b6000610fa68373ffffffffffffffffffffffffffffffffffffffff84166118cf565b6112bd8363a9059cbb60e01b8484604051602401611777929190612048565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091526118e7565b6000610fa98261199d565b600061181083836118cf565b61184657508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610fa9565b506000610fa9565b6000610fa68373ffffffffffffffffffffffffffffffffffffffff84166119a1565b815460009082106118ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa90612146565b8260000182815481106118bc57fe5b9060005260206000200154905092915050565b60009081526001919091016020526040902054151590565b6060611949826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16611a859092919063ffffffff16565b8051909150156112bd57808060200190518101906119679190611ee5565b6112bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa906124e0565b5490565b60008181526001830160205260408120548015611a7b5783547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80830191908101906000908790839081106119f257fe5b9060005260206000200154905080876000018481548110611a0f57fe5b600091825260208083209091019290925582815260018981019092526040902090840190558654879080611a3f57fe5b60019003818190600052602060002001600090559055866001016000878152602001908152602001600020600090556001945050505050610fa9565b6000915050610fa9565b6060611a948484600085611a9e565b90505b9392505050565b606082471015611ada576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa9061234a565b611ae385611ba0565b611b19576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa906124a9565b600060608673ffffffffffffffffffffffffffffffffffffffff168587604051611b439190612008565b60006040518083038185875af1925050503d8060008114611b80576040519150601f19603f3d011682016040523d82523d6000602084013e611b85565b606091505b5091509150611b95828286611ba6565b979650505050505050565b3b151590565b60608315611bb5575081611a97565b825115611bc55782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa91906120fc565b6040518060c0016040528060008152602001600015158152602001600015158152602001600061ffff16815260200160608152602001606081525090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282611c6d5760008555611cd1565b82601f10611ca4578280017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00823516178555611cd1565b82800160010185558215611cd1579182015b82811115611cd1578235825591602001919060010190611cb6565b50611cdd929150611ce1565b5090565b5b80821115611cdd5760008155600101611ce2565b80357fffffffff00000000000000000000000000000000000000000000000000000000811681146106a457600080fd5b60008083601f840112611d37578182fd5b50813567ffffffffffffffff811115611d4e578182fd5b602083019150836020828501011115611d6657600080fd5b9250929050565b600060208284031215611d7e578081fd5b8135611a9781612691565b600080600060608486031215611d9d578182fd5b8335611da881612691565b92506020840135611db881612691565b929592945050506040919091013590565b600080600060408486031215611ddd578283fd5b8335611de881612691565b9250602084013567ffffffffffffffff811115611e03578283fd5b611e0f86828701611d26565b9497909650939450505050565b600080600080600080600080600060e08a8c031215611e39578485fd5b8935611e4481612691565b985060208a0135975060408a0135611e5b816126b6565b965060608a0135611e6b816126b6565b955060808a013561ffff81168114611e81578586fd5b945060a08a013567ffffffffffffffff80821115611e9d578586fd5b611ea98d838e01611d26565b909650945060c08c0135915080821115611ec1578384fd5b50611ece8c828d01611d26565b915080935050809150509295985092959850929598565b600060208284031215611ef6578081fd5b8151611a97816126b6565b600060208284031215611f12578081fd5b5035919050565b60008060408385031215611f2b578182fd5b823591506020830135611f3d81612691565b809150509250929050565b60008060408385031215611f5a578182fd5b50508035926020909101359150565b600060208284031215611f7a578081fd5b610fa682611cf6565b60008060408385031215611f95578182fd5b611f9e83611cf6565b91506020830135611f3d81612691565b60008151808452611fc6816020860160208601612661565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6000828483379101908152919050565b6000825161201a818460208701612661565b9190910192915050565b90565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b73ffffffffffffffffffffffffffffffffffffffff929092168252602082015260400190565b901515815260200190565b90815260200190565b7fffffffff0000000000000000000000000000000000000000000000000000000091909116815260200190565b60006020825282602083015282846040840137818301604090810191909152601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0160101919050565b600060208252610fa66020830184611fae565b60208082526018908201527f4661696c656420746f207472616e736665722045746865720000000000000000604082015260600190565b60208082526022908201527f456e756d657261626c655365743a20696e646578206f7574206f6620626f756e60408201527f6473000000000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252602f908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f206772616e740000000000000000000000000000000000606082015260800190565b6020808252600f908201527f496e76616c696420616464726573730000000000000000000000000000000000604082015260600190565b6020808252600e908201527f496e76616c69642076616c756573000000000000000000000000000000000000604082015260600190565b6020808252601b908201527f4661696c656420746f20696e697469616c697a6520726f757465720000000000604082015260600190565b60208082526012908201527f416c726561647920726567697374657265640000000000000000000000000000604082015260600190565b6020808252601c908201527f4661696c656420746f20696e697469616c697a65206164617074657200000000604082015260600190565b60208082526016908201527f526f75746572206e6f742077686974656c697374656400000000000000000000604082015260600190565b60208082526026908201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60408201527f722063616c6c0000000000000000000000000000000000000000000000000000606082015260800190565b60208082526019908201527f526f75746572206973206e6f742077686974656c697374656400000000000000604082015260600190565b60208082526030908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f207265766f6b6500000000000000000000000000000000606082015260800190565b6020808252600f908201527f496e76616c696420706172746e65720000000000000000000000000000000000604082015260600190565b60208082526018908201527f45786368616e6765206e6f742077686974656c69737465640000000000000000604082015260600190565b6020808252601d908201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604082015260600190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60408201527f6f74207375636365656400000000000000000000000000000000000000000000606082015260800190565b60208082526017908201527f63616c6c6572206973206e6f74207468652061646d696e000000000000000000604082015260600190565b6020808252602f908201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560408201527f20726f6c657320666f722073656c660000000000000000000000000000000000606082015260800190565b6000602082528251602083015260208301511515604083015260408301511515606083015261ffff6060840151166080830152608083015160c060a084015261261d60e0840182611fae565b905060a08401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08483030160c08501526126588282611fae565b95945050505050565b60005b8381101561267c578181015183820152602001612664565b8381111561268b576000848401525b50505050565b73ffffffffffffffffffffffffffffffffffffffff811681146126b357600080fd5b50565b80151581146126b357600080fdfea2646970667358221220a9b3d1d743a9ede017488b662cc75bc60451efffa74dede19e76ef93e9149cad64736f6c63430007050033608060405234801561001057600080fd5b50600061001b61006a565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35061006e565b3390565b610a158061007d6000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806315dacbea14610051578063715018a6146100665780638da5cb5b1461006e578063f2fde38b1461008c575b600080fd5b61006461005f3660046106d0565b61009f565b005b6100646101a0565b61007661026b565b6040516100839190610756565b60405180910390f35b61006461009a3660046106b6565b610287565b6100a76103bd565b60005473ffffffffffffffffffffffffffffffffffffffff908116911614610104576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100fb906108ea565b60405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff831632148061014257506101428373ffffffffffffffffffffffffffffffffffffffff166103c1565b610178576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100fb906108b3565b61019a73ffffffffffffffffffffffffffffffffffffffff85168484846103cb565b50505050565b6101a86103bd565b60005473ffffffffffffffffffffffffffffffffffffffff9081169116146101fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100fb906108ea565b6000805460405173ffffffffffffffffffffffffffffffffffffffff909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b60005473ffffffffffffffffffffffffffffffffffffffff1690565b61028f6103bd565b60005473ffffffffffffffffffffffffffffffffffffffff9081169116146102e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100fb906108ea565b73ffffffffffffffffffffffffffffffffffffffff8116610330576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100fb906107f9565b6000805460405173ffffffffffffffffffffffffffffffffffffffff808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b3390565b803b15155b919050565b61019a846323b872dd60e01b8585856040516024016103ec93929190610777565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009093169290921790915260606104cb826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166105249092919063ffffffff16565b80519091501561051f57808060200190518101906104e9919061071a565b61051f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100fb90610956565b505050565b6060610533848460008561053d565b90505b9392505050565b606082471015610579576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100fb90610856565b610582856103c1565b6105b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100fb9061091f565b600060608673ffffffffffffffffffffffffffffffffffffffff1685876040516105e2919061073a565b60006040518083038185875af1925050503d806000811461061f576040519150601f19603f3d011682016040523d82523d6000602084013e610624565b606091505b509150915061063482828661063f565b979650505050505050565b6060831561064e575081610536565b82511561065e5782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100fb91906107a8565b803573ffffffffffffffffffffffffffffffffffffffff811681146103c657600080fd5b6000602082840312156106c7578081fd5b61053682610692565b600080600080608085870312156106e5578283fd5b6106ee85610692565b93506106fc60208601610692565b925061070a60408601610692565b9396929550929360600135925050565b60006020828403121561072b578081fd5b81518015158114610536578182fd5b6000825161074c8184602087016109b3565b9190910192915050565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b73ffffffffffffffffffffffffffffffffffffffff9384168152919092166020820152604081019190915260600190565b60006020825282518060208401526107c78160408501602087016109b3565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201527f6464726573730000000000000000000000000000000000000000000000000000606082015260800190565b60208082526026908201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60408201527f722063616c6c0000000000000000000000000000000000000000000000000000606082015260800190565b60208082526014908201527f496e76616c69642066726f6d2061646472657373000000000000000000000000604082015260600190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252601d908201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604082015260600190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60408201527f6f74207375636365656400000000000000000000000000000000000000000000606082015260800190565b60005b838110156109ce5781810151838201526020016109b6565b8381111561019a575050600091015256fea2646970667358221220aa1874fa1602e178bce42ae0cf042879dfe48ce803daf9fefdb558352271824c64736f6c63430007050033",
              "data": {
                "main_contract": 0,
                "contract_info": null,
                "abi": [
                  {
                    "type": "constructor",
                    "name": "",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "",
                    "inputs": [
                      {
                        "name": "_feeWallet",
                        "type": "address",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "address"
                        }
                      }
                    ],
                    "outputs": null
                  },
                  {
                    "type": "function",
                    "name": "getVersion",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "pure",
                    "inputs": [],
                    "outputs": [
                      {
                        "name": "",
                        "type": "string",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "string"
                        }
                      }
                    ]
                  },
                  {
                    "type": "function",
                    "name": "setImplementation",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "nonpayable",
                    "inputs": [
                      {
                        "name": "selector",
                        "type": "bytes4",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "bytes"
                        }
                      },
                      {
                        "name": "implementation",
                        "type": "address",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "address"
                        }
                      }
                    ],
                    "outputs": []
                  },
                  {
                    "type": "function",
                    "name": "getImplementation",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "view",
                    "inputs": [
                      {
                        "name": "selector",
                        "type": "bytes4",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "bytes"
                        }
                      }
                    ],
                    "outputs": [
                      {
                        "name": "",
                        "type": "address",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "address"
                        }
                      }
                    ]
                  },
                  {
                    "type": "function",
                    "name": "transferTokens",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "nonpayable",
                    "inputs": [
                      {
                        "name": "token",
                        "type": "address",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "address"
                        }
                      },
                      {
                        "name": "destination",
                        "type": "address",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "address"
                        }
                      },
                      {
                        "name": "amount",
                        "type": "uint256",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "uint"
                        }
                      }
                    ],
                    "outputs": []
                  },
                  {
                    "type": "function",
                    "name": "getRouterData",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "view",
                    "inputs": [
                      {
                        "name": "key",
                        "type": "bytes32",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "bytes"
                        }
                      }
                    ],
                    "outputs": [
                      {
                        "name": "",
                        "type": "bytes",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "bytes"
                        }
                      }
                    ]
                  },
                  {
                    "type": "function",
                    "name": "getRoleAdmin",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "view",
                    "inputs": [
                      {
                        "name": "role",
                        "type": "bytes32",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "bytes"
                        }
                      }
                    ],
                    "outputs": [
                      {
                        "name": "",
                        "type": "bytes32",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "bytes"
                        }
                      }
                    ]
                  },
                  {
                    "type": "function",
                    "name": "initializeRouter",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "nonpayable",
                    "inputs": [
                      {
                        "name": "router",
                        "type": "address",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "address"
                        }
                      },
                      {
                        "name": "data",
                        "type": "bytes",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "bytes"
                        }
                      }
                    ],
                    "outputs": []
                  },
                  {
                    "type": "function",
                    "name": "getAdapterData",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "view",
                    "inputs": [
                      {
                        "name": "key",
                        "type": "bytes32",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "bytes"
                        }
                      }
                    ],
                    "outputs": [
                      {
                        "name": "",
                        "type": "bytes",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "bytes"
                        }
                      }
                    ]
                  },
                  {
                    "type": "function",
                    "name": "getFeeWallet",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "view",
                    "inputs": [],
                    "outputs": [
                      {
                        "name": "",
                        "type": "address",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "address"
                        }
                      }
                    ]
                  },
                  {
                    "type": "function",
                    "name": "isAdapterInitialized",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "view",
                    "inputs": [
                      {
                        "name": "key",
                        "type": "bytes32",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "bytes"
                        }
                      }
                    ],
                    "outputs": [
                      {
                        "name": "",
                        "type": "bool",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "bool"
                        }
                      }
                    ]
                  },
                  {
                    "type": "function",
                    "name": "revokeRole",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "nonpayable",
                    "inputs": [
                      {
                        "name": "role",
                        "type": "bytes32",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "bytes"
                        }
                      },
                      {
                        "name": "account",
                        "type": "address",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "address"
                        }
                      }
                    ],
                    "outputs": []
                  },
                  {
                    "type": "function",
                    "name": "ROUTER_ROLE",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "view",
                    "inputs": [],
                    "outputs": [
                      {
                        "name": "",
                        "type": "bytes32",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "bytes"
                        }
                      }
                    ]
                  },
                  {
                    "type": "function",
                    "name": "DEFAULT_ADMIN_ROLE",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "view",
                    "inputs": [],
                    "outputs": [
                      {
                        "name": "",
                        "type": "bytes32",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "bytes"
                        }
                      }
                    ]
                  },
                  {
                    "type": "function",
                    "name": "getTokenTransferProxy",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "view",
                    "inputs": [],
                    "outputs": [
                      {
                        "name": "",
                        "type": "address",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "address"
                        }
                      }
                    ]
                  },
                  {
                    "type": "function",
                    "name": "renounceRole",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "nonpayable",
                    "inputs": [
                      {
                        "name": "role",
                        "type": "bytes32",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "bytes"
                        }
                      },
                      {
                        "name": "account",
                        "type": "address",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "address"
                        }
                      }
                    ],
                    "outputs": []
                  },
                  {
                    "type": "function",
                    "name": "initializeAdapter",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "nonpayable",
                    "inputs": [
                      {
                        "name": "adapter",
                        "type": "address",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "address"
                        }
                      },
                      {
                        "name": "data",
                        "type": "bytes",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "bytes"
                        }
                      }
                    ],
                    "outputs": []
                  },
                  {
                    "type": "function",
                    "name": "getRoleMember",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "view",
                    "inputs": [
                      {
                        "name": "role",
                        "type": "bytes32",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "bytes"
                        }
                      },
                      {
                        "name": "index",
                        "type": "uint256",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "uint"
                        }
                      }
                    ],
                    "outputs": [
                      {
                        "name": "",
                        "type": "address",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "address"
                        }
                      }
                    ]
                  },
                  {
                    "type": "function",
                    "name": "grantRole",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "nonpayable",
                    "inputs": [
                      {
                        "name": "role",
                        "type": "bytes32",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "bytes"
                        }
                      },
                      {
                        "name": "account",
                        "type": "address",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "address"
                        }
                      }
                    ],
                    "outputs": []
                  },
                  {
                    "type": "function",
                    "name": "registerPartner",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "nonpayable",
                    "inputs": [
                      {
                        "name": "partner",
                        "type": "address",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "address"
                        }
                      },
                      {
                        "name": "_partnerShare",
                        "type": "uint256",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "uint"
                        }
                      },
                      {
                        "name": "_noPositiveSlippage",
                        "type": "bool",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "bool"
                        }
                      },
                      {
                        "name": "_positiveSlippageToUser",
                        "type": "bool",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "bool"
                        }
                      },
                      {
                        "name": "_feePercent",
                        "type": "uint16",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "uint"
                        }
                      },
                      {
                        "name": "partnerId",
                        "type": "string",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "string"
                        }
                      },
                      {
                        "name": "_data",
                        "type": "bytes",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "bytes"
                        }
                      }
                    ],
                    "outputs": []
                  },
                  {
                    "type": "function",
                    "name": "WHITELISTED_ROLE",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "view",
                    "inputs": [],
                    "outputs": [
                      {
                        "name": "",
                        "type": "bytes32",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "bytes"
                        }
                      }
                    ]
                  },
                  {
                    "type": "function",
                    "name": "isRouterInitialized",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "view",
                    "inputs": [
                      {
                        "name": "key",
                        "type": "bytes32",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "bytes"
                        }
                      }
                    ],
                    "outputs": [
                      {
                        "name": "",
                        "type": "bool",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "bool"
                        }
                      }
                    ]
                  },
                  {
                    "type": "function",
                    "name": "getRoleMemberCount",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "view",
                    "inputs": [
                      {
                        "name": "role",
                        "type": "bytes32",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "bytes"
                        }
                      }
                    ],
                    "outputs": [
                      {
                        "name": "",
                        "type": "uint256",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "uint"
                        }
                      }
                    ]
                  },
                  {
                    "type": "function",
                    "name": "getPartnerFeeStructure",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "view",
                    "inputs": [
                      {
                        "name": "partner",
                        "type": "address",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "address"
                        }
                      }
                    ],
                    "outputs": [
                      {
                        "name": "",
                        "type": "tuple",
                        "storage_location": "default",
                        "components": [
                          {
                            "name": "partnerShare",
                            "type": "uint256",
                            "storage_location": "default",
                            "offset": 0,
                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                            "indexed": false,
                            "simple_type": {
                              "type": "uint"
                            }
                          },
                          {
                            "name": "noPositiveSlippage",
                            "type": "bool",
                            "storage_location": "default",
                            "offset": 0,
                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                            "indexed": false,
                            "simple_type": {
                              "type": "bool"
                            }
                          },
                          {
                            "name": "positiveSlippageToUser",
                            "type": "bool",
                            "storage_location": "default",
                            "offset": 0,
                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                            "indexed": false,
                            "simple_type": {
                              "type": "bool"
                            }
                          },
                          {
                            "name": "feePercent",
                            "type": "uint16",
                            "storage_location": "default",
                            "offset": 0,
                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                            "indexed": false,
                            "simple_type": {
                              "type": "uint"
                            }
                          },
                          {
                            "name": "partnerId",
                            "type": "string",
                            "storage_location": "default",
                            "offset": 0,
                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                            "indexed": false,
                            "simple_type": {
                              "type": "string"
                            }
                          },
                          {
                            "name": "data",
                            "type": "bytes",
                            "storage_location": "default",
                            "offset": 0,
                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                            "indexed": false,
                            "simple_type": {
                              "type": "bytes"
                            }
                          }
                        ],
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false
                      }
                    ]
                  },
                  {
                    "type": "function",
                    "name": "hasRole",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "view",
                    "inputs": [
                      {
                        "name": "role",
                        "type": "bytes32",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "bytes"
                        }
                      },
                      {
                        "name": "account",
                        "type": "address",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "address"
                        }
                      }
                    ],
                    "outputs": [
                      {
                        "name": "",
                        "type": "bool",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "bool"
                        }
                      }
                    ]
                  },
                  {
                    "type": "function",
                    "name": "setFeeWallet",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "nonpayable",
                    "inputs": [
                      {
                        "name": "_feeWallet",
                        "type": "address",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "address"
                        }
                      }
                    ],
                    "outputs": []
                  },
                  {
                    "type": "event",
                    "name": "RouterInitialized",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "",
                    "inputs": [
                      {
                        "name": "router",
                        "type": "address",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": true,
                        "simple_type": {
                          "type": "address"
                        }
                      }
                    ],
                    "outputs": null
                  },
                  {
                    "type": "event",
                    "name": "AdapterInitialized",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "",
                    "inputs": [
                      {
                        "name": "adapter",
                        "type": "address",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": true,
                        "simple_type": {
                          "type": "address"
                        }
                      }
                    ],
                    "outputs": null
                  },
                  {
                    "type": "event",
                    "name": "RoleAdminChanged",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "",
                    "inputs": [
                      {
                        "name": "role",
                        "type": "bytes32",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": true,
                        "simple_type": {
                          "type": "bytes"
                        }
                      },
                      {
                        "name": "previousAdminRole",
                        "type": "bytes32",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": true,
                        "simple_type": {
                          "type": "bytes"
                        }
                      },
                      {
                        "name": "newAdminRole",
                        "type": "bytes32",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": true,
                        "simple_type": {
                          "type": "bytes"
                        }
                      }
                    ],
                    "outputs": null
                  },
                  {
                    "type": "event",
                    "name": "RoleGranted",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "",
                    "inputs": [
                      {
                        "name": "role",
                        "type": "bytes32",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": true,
                        "simple_type": {
                          "type": "bytes"
                        }
                      },
                      {
                        "name": "account",
                        "type": "address",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": true,
                        "simple_type": {
                          "type": "address"
                        }
                      },
                      {
                        "name": "sender",
                        "type": "address",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": true,
                        "simple_type": {
                          "type": "address"
                        }
                      }
                    ],
                    "outputs": null
                  },
                  {
                    "type": "event",
                    "name": "RoleRevoked",
                    "constant": false,
                    "anonymous": false,
                    "stateMutability": "",
                    "inputs": [
                      {
                        "name": "role",
                        "type": "bytes32",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": true,
                        "simple_type": {
                          "type": "bytes"
                        }
                      },
                      {
                        "name": "account",
                        "type": "address",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": true,
                        "simple_type": {
                          "type": "address"
                        }
                      },
                      {
                        "name": "sender",
                        "type": "address",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": true,
                        "simple_type": {
                          "type": "address"
                        }
                      }
                    ],
                    "outputs": null
                  }
                ],
                "raw_abi": null
              },
              "src_map": {
                "0": {
                  "r": "47102:5950:0",
                  "s": 47102,
                  "l": 5950,
                  "ln": 1467,
                  "c": 1,
                  "j": "-"
                },
                "2": {
                  "r": "47102:5950:0",
                  "s": 47102,
                  "l": 5950,
                  "ln": 1467,
                  "c": 1,
                  "j": "-"
                }
              },
              "creation_block": 0,
              "creation_tx": "",
              "creator_address": "",
              "created_at": "2021-08-18T12:43:57Z",
              "language": "solidity",
              "in_project": false
            }
          ],
          "generated_access_list": []
        }
      },
      "failed_tx_simulate_post_response": {
        "type": "object",
        "title": "Failed Transaction Simulation Response",
        "description": "An object with details about transaction simulation with failed status.",
        "example": {
          "transaction": {
            "hash": "0x23f5cd88af5eb8b5b0b13d223d8f062b9d04ad682d503668e89be8aef29930e1",
            "block_hash": "",
            "block_number": 18827905,
            "from": "0xd8da6bf26964af9d7eed9e03e53415d37aa96045",
            "gas": 617885,
            "gas_price": 87235100681,
            "gas_fee_cap": 0,
            "gas_tip_cap": 0,
            "cumulative_gas_used": 0,
            "gas_used": 389024,
            "effective_gas_price": 0,
            "input": "0xa94e78ef0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000eaa63125dd63f10874f99cdbbb18410e7fc79dd300000000000000000000000000000000000000000004f68ca6d8cd91c6000000000000000000000000000000000000000000000000000000000000036e22623300000000000000000000000000000000000000000000000000000003728c0b380000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000076000000000000000000000000000000000000000000000000000000000658357363e8a57981b0747b79f70262f8257408600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000300000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a73000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000004000000000000000000000000f9234cb08edb93c0d4a4d4c70cc3ffd070e78e07000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000001000000000000000000004de5672fefac7f6e3017d9a2f1c14fe048191a24ce14000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a73000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000006000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000658c3d55000000000000000000000000000000000000000000000000000000000000002bc02aaa39b223fe8d0a0e5c4f27ead9083c756cc20001f4a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
            "nonce": 1176,
            "to": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
            "index": 222,
            "value": "0x",
            "access_list": [],
            "status": false,
            "addresses": null,
            "contract_ids": null,
            "network_id": "1",
            "timestamp": "2023-12-20T15:06:23Z",
            "function_selector": "",
            "l1_block_number": 0,
            "l1_timestamp": 0,
            "deposit_tx": false,
            "system_tx": false,
            "sig": {
              "v": "0x0",
              "r": "0x0",
              "s": "0x0"
            },
            "transaction_info": {
              "contract_id": "eth:1:0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
              "block_number": 18827905,
              "transaction_id": "0x23f5cd88af5eb8b5b0b13d223d8f062b9d04ad682d503668e89be8aef29930e1",
              "contract_address": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
              "method": "fallback",
              "parameters": null,
              "intrinsic_gas": 32568,
              "refund_gas": 0,
              "call_trace": {
                "hash": "0x23f5cd88af5eb8b5b0b13d223d8f062b9d04ad682d503668e89be8aef29930e1",
                "contract_name": "AugustusSwapper",
                "function_name": "fallback",
                "function_pc": 100,
                "function_op": "JUMPDEST",
                "function_file_index": 0,
                "function_code_start": 47102,
                "function_line_number": 1467,
                "function_code_length": 5950,
                "function_variables": [
                  {
                    "soltype": {
                      "name": "implementation",
                      "type": "address",
                      "storage_location": "default",
                      "offset": 0,
                      "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                      "indexed": false,
                      "simple_type": {
                        "type": "address"
                      }
                    },
                    "value": "0x0000000000000000000000000000000000000000"
                  },
                  {
                    "soltype": {
                      "name": "success",
                      "type": "bool",
                      "storage_location": "default",
                      "offset": 0,
                      "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                      "indexed": false,
                      "simple_type": {
                        "type": "bool"
                      }
                    },
                    "value": false
                  },
                  {
                    "soltype": {
                      "name": "resultData",
                      "type": "bytes",
                      "storage_location": "memory",
                      "offset": 0,
                      "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                      "indexed": false,
                      "simple_type": {
                        "type": "bytes"
                      }
                    },
                    "value": "0x"
                  },
                  {
                    "soltype": {
                      "name": "selector",
                      "type": "bytes4",
                      "storage_location": "default",
                      "offset": 0,
                      "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                      "indexed": false,
                      "simple_type": {
                        "type": "bytes"
                      }
                    },
                    "value": "0x00000000"
                  }
                ],
                "absolute_position": 28,
                "caller_pc": 0,
                "caller_op": "CALL",
                "call_type": "CALL",
                "address": "0xd8da6bf26964af9d7eed9e03e53415d37aa96045",
                "from": "0xd8da6bf26964af9d7eed9e03e53415d37aa96045",
                "from_balance": "103262894721457707739",
                "to": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
                "to_balance": "0",
                "value": "0",
                "caller": {
                  "address": "0xd8da6bf26964af9d7eed9e03e53415d37aa96045",
                  "balance": "103208993461273428054"
                },
                "block_timestamp": "0001-01-01T00:00:00Z",
                "gas": 585317,
                "gas_used": 356456,
                "intrinsic_gas": 32568,
                "storage_address": "0xd8da6bf26964af9d7eed9e03e53415d37aa96045",
                "input": "0xa94e78ef0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000eaa63125dd63f10874f99cdbbb18410e7fc79dd300000000000000000000000000000000000000000004f68ca6d8cd91c6000000000000000000000000000000000000000000000000000000000000036e22623300000000000000000000000000000000000000000000000000000003728c0b380000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000076000000000000000000000000000000000000000000000000000000000658357363e8a57981b0747b79f70262f8257408600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000300000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a73000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000004000000000000000000000000f9234cb08edb93c0d4a4d4c70cc3ffd070e78e07000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000001000000000000000000004de5672fefac7f6e3017d9a2f1c14fe048191a24ce14000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a73000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000006000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000658c3d55000000000000000000000000000000000000000000000000000000000000002bc02aaa39b223fe8d0a0e5c4f27ead9083c756cc20001f4a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
                "balance_diff": [
                  {
                    "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
                    "original": "103262894721457707739",
                    "dirty": "103228958173650382395",
                    "is_miner": false
                  },
                  {
                    "address": "0x95222290DD7278Aa3Ddd389Cc1E1d165CC4BAfe5",
                    "original": "14715718269524994540",
                    "dirty": "14715757171924994540",
                    "is_miner": true
                  }
                ],
                "nonce_diff": [
                  {
                    "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
                    "original": "1176",
                    "dirty": "1177"
                  }
                ],
                "output": "0x",
                "decoded_output": null,
                "error_hex_data": "0x08c379a000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000030526563656976656420616d6f756e74206f6620746f6b656e7320617265206c657373207468656e20657870656374656400000000000000000000000000000000",
                "network_id": "1",
                "calls": [
                  {
                    "hash": "",
                    "contract_name": "AugustusSwapper",
                    "function_name": "getImplementation",
                    "function_pc": 1627,
                    "function_op": "JUMPDEST",
                    "function_file_index": 0,
                    "function_code_start": 49421,
                    "function_line_number": 1539,
                    "function_code_length": 123,
                    "absolute_position": 59,
                    "caller_pc": 467,
                    "caller_op": "JUMP",
                    "caller_file_index": 0,
                    "caller_line_number": 1497,
                    "caller_code_start": 48052,
                    "caller_code_length": 27,
                    "call_type": "JUMPDEST",
                    "address": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
                    "from": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
                    "from_balance": null,
                    "to": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
                    "to_balance": null,
                    "value": null,
                    "caller": {
                      "address": "0xd8da6bf26964af9d7eed9e03e53415d37aa96045",
                      "balance": "103208993461273428054"
                    },
                    "block_timestamp": "0001-01-01T00:00:00Z",
                    "gas": 585081,
                    "gas_used": 2202,
                    "storage_address": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
                    "input": "0x",
                    "decoded_input": [
                      {
                        "soltype": {
                          "name": "selector",
                          "type": "bytes4",
                          "storage_location": "default",
                          "offset": 0,
                          "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                          "indexed": false,
                          "simple_type": {
                            "type": "bytes"
                          }
                        },
                        "value": "0xa94e78ef"
                      }
                    ],
                    "output": "0x",
                    "decoded_output": [
                      {
                        "soltype": {
                          "name": "",
                          "type": "address",
                          "storage_location": "default",
                          "offset": 0,
                          "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                          "indexed": false,
                          "simple_type": {
                            "type": "address"
                          }
                        },
                        "value": "0xbd7b550d2e7571383d84acf597a00d341e5c406e"
                      }
                    ],
                    "network_id": "",
                    "calls": null
                  }
                ]
              },
              "stack_trace": [
                {
                  "file_index": 0,
                  "contract": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
                  "name": "AugustusSwapper",
                  "line": 1641,
                  "error": "execution reverted",
                  "code": "_revertWithData",
                  "op": "REVERT",
                  "length": 34
                },
                {
                  "file_index": 0,
                  "contract": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
                  "name": "AugustusSwapper",
                  "line": 1510,
                  "error": null,
                  "code": "_revertWithData",
                  "op": "JUMP",
                  "length": 27
                },
                {
                  "file_index": 0,
                  "contract": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
                  "name": "AugustusSwapper",
                  "line": 1467,
                  "error": null,
                  "code": "fallback",
                  "op": "JUMPDEST",
                  "length": 5950
                }
              ],
              "logs": null,
              "balance_diff": [
                {
                  "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
                  "original": "103262894721457707739",
                  "dirty": "103228958173650382395",
                  "is_miner": false
                },
                {
                  "address": "0x95222290DD7278Aa3Ddd389Cc1E1d165CC4BAfe5",
                  "original": "14715718269524994540",
                  "dirty": "14715757171924994540",
                  "is_miner": true
                }
              ],
              "nonce_diff": [
                {
                  "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
                  "original": "1176",
                  "dirty": "1177"
                }
              ],
              "state_diff": null,
              "raw_state_diff": null,
              "console_logs": null,
              "asset_changes": null,
              "balance_changes": null,
              "created_at": "2023-12-20T15:06:23Z"
            },
            "error_message": "Received amount of tokens are less then expected",
            "error_info": {
              "error_message": "Received amount of tokens are less then expected",
              "address": "0xbd7b550d2e7571383d84acf597a00d341e5c406e"
            },
            "method": "",
            "decoded_input": null,
            "call_trace": [
              {
                "call_type": "CALL",
                "from": "0xd8da6bf26964af9d7eed9e03e53415d37aa96045",
                "to": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
                "gas": 585317,
                "gas_used": 356456,
                "address": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
                "error": "value:\"execution reverted\"",
                "subtraces": 1,
                "input": "0xa94e78ef0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000eaa63125dd63f10874f99cdbbb18410e7fc79dd300000000000000000000000000000000000000000004f68ca6d8cd91c6000000000000000000000000000000000000000000000000000000000000036e22623300000000000000000000000000000000000000000000000000000003728c0b380000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000076000000000000000000000000000000000000000000000000000000000658357363e8a57981b0747b79f70262f8257408600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000300000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a73000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000004000000000000000000000000f9234cb08edb93c0d4a4d4c70cc3ffd070e78e07000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000001000000000000000000004de5672fefac7f6e3017d9a2f1c14fe048191a24ce14000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a73000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000006000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000658c3d55000000000000000000000000000000000000000000000000000000000000002bc02aaa39b223fe8d0a0e5c4f27ead9083c756cc20001f4a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
                "output": "0x08c379a000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000030526563656976656420616d6f756e74206f6620746f6b656e7320617265206c657373207468656e20657870656374656400000000000000000000000000000000",
                "errorMessage": "value:\"Received amount of tokens are less then expected\"",
                "fromBalance": "0x05990f7fa38f0bdadb"
              },
              {
                "call_type": "DELEGATECALL",
                "from": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
                "to": "0xbd7b550d2e7571383d84acf597a00d341e5c406e",
                "gas": 570683,
                "gas_used": 350693,
                "address": "0xbd7b550d2e7571383d84acf597a00d341e5c406e",
                "error": "value:\"execution reverted\"",
                "subtraces": 6,
                "trace_address": [
                  0
                ],
                "input": "0xa94e78ef0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000eaa63125dd63f10874f99cdbbb18410e7fc79dd300000000000000000000000000000000000000000004f68ca6d8cd91c6000000000000000000000000000000000000000000000000000000000000036e22623300000000000000000000000000000000000000000000000000000003728c0b380000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000076000000000000000000000000000000000000000000000000000000000658357363e8a57981b0747b79f70262f8257408600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000300000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a73000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000004000000000000000000000000f9234cb08edb93c0d4a4d4c70cc3ffd070e78e07000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000001000000000000000000004de5672fefac7f6e3017d9a2f1c14fe048191a24ce14000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a73000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000006000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000658c3d55000000000000000000000000000000000000000000000000000000000000002bc02aaa39b223fe8d0a0e5c4f27ead9083c756cc20001f4a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
                "output": "0x08c379a000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000030526563656976656420616d6f756e74206f6620746f6b656e7320617265206c657373207468656e20657870656374656400000000000000000000000000000000",
                "gas_in": 582341,
                "gas_cost": 573283,
                "errorMessage": "value:\"Received amount of tokens are less then expected\""
              },
              {
                "call_type": "CALL",
                "from": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
                "to": "0x216b4b4ba9f3e719726886d34a177484278bfcae",
                "gas": 549988,
                "gas_used": 82617,
                "address": "0x216b4b4ba9f3e719726886d34a177484278bfcae",
                "subtraces": 1,
                "trace_address": [
                  0,
                  0
                ],
                "input": "0x15dacbea000000000000000000000000eaa63125dd63f10874f99cdbbb18410e7fc79dd3000000000000000000000000d8da6bf26964af9d7eed9e03e53415d37aa96045000000000000000000000000def171fe48cf0115b1d80b88dc8eab59176fee5700000000000000000000000000000000000000000004f68ca6d8cd91c6000000",
                "gas_in": 558817,
                "gas_cost": 550088
              },
              {
                "call_type": "CALL",
                "from": "0x216b4b4ba9f3e719726886d34a177484278bfcae",
                "to": "0xeaa63125dd63f10874f99cdbbb18410e7fc79dd3",
                "gas": 535110,
                "gas_used": 75732,
                "address": "0xeaa63125dd63f10874f99cdbbb18410e7fc79dd3",
                "trace_address": [
                  0,
                  0,
                  0
                ],
                "input": "0x23b872dd000000000000000000000000d8da6bf26964af9d7eed9e03e53415d37aa96045000000000000000000000000def171fe48cf0115b1d80b88dc8eab59176fee5700000000000000000000000000000000000000000004f68ca6d8cd91c6000000",
                "output": "0x0000000000000000000000000000000000000000000000000000000000000001",
                "gas_in": 543703,
                "gas_cost": 535210
              },
              {
                "call_type": "STATICCALL",
                "from": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
                "to": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
                "gas": 467576,
                "gas_used": 2849,
                "address": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
                "trace_address": [
                  0,
                  1
                ],
                "input": "0x91d148548429d542926e6695b59ac6fbdcd9b37e8b1aeb757afab06ab60b1bb5878c3b490000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a73",
                "output": "0x0000000000000000000000000000000000000000000000000000000000000001",
                "gas_in": 475097,
                "gas_cost": 467676
              },
              {
                "call_type": "DELEGATECALL",
                "from": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
                "to": "0x9be264469ef954c139da4a45cf76cbcc5e3a6a73",
                "gas": 458922,
                "gas_used": 98268,
                "address": "0x9be264469ef954c139da4a45cf76cbcc5e3a6a73",
                "subtraces": 4,
                "trace_address": [
                  0,
                  2
                ],
                "input": "0xe76b146c000000000000000000000000eaa63125dd63f10874f99cdbbb18410e7fc79dd3000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee00000000000000000000000000000000000000000004f68ca6d8cd91c6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000004000000000000000000000000f9234cb08edb93c0d4a4d4c70cc3ffd070e78e07000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000001000000000000000000004de5672fefac7f6e3017d9a2f1c14fe048191a24ce14",
                "gas_in": 468806,
                "gas_cost": 461522
              },
              {
                "call_type": "CALL",
                "from": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
                "to": "0xeaa63125dd63f10874f99cdbbb18410e7fc79dd3",
                "gas": 447929,
                "gas_used": 22912,
                "address": "0xeaa63125dd63f10874f99cdbbb18410e7fc79dd3",
                "trace_address": [
                  0,
                  2,
                  0
                ],
                "input": "0xa9059cbb000000000000000000000000672fefac7f6e3017d9a2f1c14fe048191a24ce1400000000000000000000000000000000000000000004f68ca6d8cd91c6000000",
                "output": "0x0000000000000000000000000000000000000000000000000000000000000001",
                "gas_in": 455138,
                "gas_cost": 448029
              },
              {
                "call_type": "STATICCALL",
                "from": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
                "to": "0x672fefac7f6e3017d9a2f1c14fe048191a24ce14",
                "gas": 422118,
                "gas_used": 2504,
                "address": "0x672fefac7f6e3017d9a2f1c14fe048191a24ce14",
                "trace_address": [
                  0,
                  2,
                  1
                ],
                "input": "0x0902f1ac",
                "output": "0x0000000000000000000000000000000000000000000000039906a60cd3555a0a0000000000000000000000000000000000000000002dccf57fa336092011410700000000000000000000000000000000000000000000000000000000658302ef",
                "gas_in": 428924,
                "gas_cost": 422224
              },
              {
                "call_type": "CALL",
                "from": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
                "to": "0x672fefac7f6e3017d9a2f1c14fe048191a24ce14",
                "gas": 418401,
                "gas_used": 54571,
                "address": "0x672fefac7f6e3017d9a2f1c14fe048191a24ce14",
                "subtraces": 3,
                "trace_address": [
                  0,
                  2,
                  2
                ],
                "input": "0x022c0d9f00000000000000000000000000000000000000000000000059cdaada173a1a770000000000000000000000000000000000000000000000000000000000000000000000000000000000000000def171fe48cf0115b1d80b88dc8eab59176fee5700000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000",
                "gas_in": 425142,
                "gas_cost": 418501
              },
              {
                "call_type": "CALL",
                "from": "0x672fefac7f6e3017d9a2f1c14fe048191a24ce14",
                "to": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
                "gas": 398698,
                "gas_used": 29962,
                "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
                "trace_address": [
                  0,
                  2,
                  2,
                  0
                ],
                "input": "0xa9059cbb000000000000000000000000def171fe48cf0115b1d80b88dc8eab59176fee5700000000000000000000000000000000000000000000000059cdaada173a1a77",
                "output": "0x0000000000000000000000000000000000000000000000000000000000000001",
                "gas_in": 407626,
                "gas_cost": 401298,
                "toBalance": "0x02c1c138082a8397d10036"
              },
              {
                "call_type": "STATICCALL",
                "from": "0x672fefac7f6e3017d9a2f1c14fe048191a24ce14",
                "to": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
                "gas": 368583,
                "gas_used": 534,
                "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
                "trace_address": [
                  0,
                  2,
                  2,
                  1
                ],
                "input": "0x70a08231000000000000000000000000672fefac7f6e3017d9a2f1c14fe048191a24ce14",
                "output": "0x0000000000000000000000000000000000000000000000033f38fb32bc1b3f93",
                "gas_in": 374533,
                "gas_cost": 368683,
                "toBalance": "0x02c1c138082a8397d10036"
              },
              {
                "call_type": "STATICCALL",
                "from": "0x672fefac7f6e3017d9a2f1c14fe048191a24ce14",
                "to": "0xeaa63125dd63f10874f99cdbbb18410e7fc79dd3",
                "gas": 367652,
                "gas_used": 668,
                "address": "0xeaa63125dd63f10874f99cdbbb18410e7fc79dd3",
                "trace_address": [
                  0,
                  2,
                  2,
                  2
                ],
                "input": "0x70a08231000000000000000000000000672fefac7f6e3017d9a2f1c14fe048191a24ce14",
                "output": "0x00000000000000000000000000000000000000000032c382267c039ae6114107",
                "gas_in": 373587,
                "gas_cost": 367752
              },
              {
                "call_type": "CALL",
                "from": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
                "to": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
                "gas": 364229,
                "gas_used": 9195,
                "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
                "subtraces": 1,
                "trace_address": [
                  0,
                  2,
                  3
                ],
                "input": "0x2e1a7d4d00000000000000000000000000000000000000000000000059cdaada173a1a77",
                "gas_in": 370110,
                "gas_cost": 364329,
                "toBalance": "0x02c1c138082a8397d10036"
              },
              {
                "call_type": "CALL",
                "from": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
                "to": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
                "gas": 2300,
                "gas_used": 55,
                "value": "0x59cdaada173a1a77",
                "address": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
                "trace_address": [
                  0,
                  2,
                  3,
                  0
                ],
                "gas_in": 363378,
                "gas_cost": 9100,
                "fromBalance": "0x02c1c138082a8397d10036"
              },
              {
                "call_type": "STATICCALL",
                "from": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
                "to": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
                "gas": 360871,
                "gas_used": 849,
                "address": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
                "trace_address": [
                  0,
                  3
                ],
                "input": "0x91d148548429d542926e6695b59ac6fbdcd9b37e8b1aeb757afab06ab60b1bb5878c3b490000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a73",
                "output": "0x0000000000000000000000000000000000000000000000000000000000000001",
                "gas_in": 366699,
                "gas_cost": 360971,
                "fromBalance": "0x59cdaada173a1a77",
                "toBalance": "0x59cdaada173a1a77"
              },
              {
                "call_type": "DELEGATECALL",
                "from": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
                "to": "0x9be264469ef954c139da4a45cf76cbcc5e3a6a73",
                "gas": 356455,
                "gas_used": 139781,
                "address": "0x9be264469ef954c139da4a45cf76cbcc5e3a6a73",
                "subtraces": 3,
                "trace_address": [
                  0,
                  4
                ],
                "input": "0xe76b146c000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000059cdaada173a1a77000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000006000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000658c3d55000000000000000000000000000000000000000000000000000000000000002bc02aaa39b223fe8d0a0e5c4f27ead9083c756cc20001f4a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000000000000000",
                "gas_in": 362213,
                "gas_cost": 356555,
                "fromBalance": "0x59cdaada173a1a77"
              },
              {
                "call_type": "CALL",
                "from": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
                "to": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
                "gas": 340379,
                "gas_used": 21974,
                "value": "0x59cdaada173a1a77",
                "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
                "trace_address": [
                  0,
                  4,
                  0
                ],
                "input": "0xd0e30db0",
                "gas_in": 352545,
                "gas_cost": 347179,
                "fromBalance": "0x59cdaada173a1a77",
                "toBalance": "0x02c1c0de3a7fa98096e5bf"
              },
              {
                "call_type": "STATICCALL",
                "from": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
                "to": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
                "gas": 318240,
                "gas_used": 2717,
                "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
                "trace_address": [
                  0,
                  4,
                  1
                ],
                "input": "0xdd62ed3e000000000000000000000000def171fe48cf0115b1d80b88dc8eab59176fee57000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564",
                "output": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
                "gas_in": 323391,
                "gas_cost": 318340,
                "toBalance": "0x02c1c138082a8397d10036"
              },
              {
                "call_type": "CALL",
                "from": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
                "to": "0xe592427a0aece92de3edee1f18e0157c05861564",
                "gas": 311926,
                "gas_used": 99869,
                "address": "0xe592427a0aece92de3edee1f18e0157c05861564",
                "subtraces": 1,
                "trace_address": [
                  0,
                  4,
                  2
                ],
                "input": "0xc04b8d59000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000def171fe48cf0115b1d80b88dc8eab59176fee5700000000000000000000000000000000000000000000000000000000658c3d5500000000000000000000000000000000000000000000000059cdaada173a1a770000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002bc02aaa39b223fe8d0a0e5c4f27ead9083c756cc20001f4a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000000000000000",
                "output": "0x0000000000000000000000000000000000000000000000000000000360ddb566",
                "gas_in": 316977,
                "gas_cost": 312026
              },
              {
                "call_type": "CALL",
                "from": "0xe592427a0aece92de3edee1f18e0157c05861564",
                "to": "0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640",
                "gas": 299736,
                "gas_used": 91971,
                "address": "0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640",
                "subtraces": 4,
                "trace_address": [
                  0,
                  4,
                  2,
                  0
                ],
                "input": "0x128acb08000000000000000000000000def171fe48cf0115b1d80b88dc8eab59176fee57000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000059cdaada173a1a77000000000000000000000000fffd8963efd1fc6a506488495d951d5263988d2500000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000040000000000000000000000000def171fe48cf0115b1d80b88dc8eab59176fee57000000000000000000000000000000000000000000000000000000000000002bc02aaa39b223fe8d0a0e5c4f27ead9083c756cc20001f4a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000000000000000",
                "output": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffc9f224a9a00000000000000000000000000000000000000000000000059cdaada173a1a77",
                "gas_in": 304593,
                "gas_cost": 299836
              },
              {
                "call_type": "CALL",
                "from": "0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640",
                "to": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
                "gas": 266962,
                "gas_used": 44017,
                "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
                "subtraces": 1,
                "trace_address": [
                  0,
                  4,
                  2,
                  0,
                  0
                ],
                "input": "0xa9059cbb000000000000000000000000def171fe48cf0115b1d80b88dc8eab59176fee570000000000000000000000000000000000000000000000000000000360ddb566",
                "output": "0x0000000000000000000000000000000000000000000000000000000000000001",
                "gas_in": 273799,
                "gas_cost": 269562
              },
              {
                "call_type": "DELEGATECALL",
                "from": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
                "to": "0xa2327a938febf5fec13bacfb16ae10ecbc4cbdcf",
                "gas": 255659,
                "gas_used": 36728,
                "address": "0xa2327a938febf5fec13bacfb16ae10ecbc4cbdcf",
                "trace_address": [
                  0,
                  4,
                  2,
                  0,
                  0,
                  0
                ],
                "input": "0xa9059cbb000000000000000000000000def171fe48cf0115b1d80b88dc8eab59176fee570000000000000000000000000000000000000000000000000000000360ddb566",
                "output": "0x0000000000000000000000000000000000000000000000000000000000000001",
                "gas_in": 262317,
                "gas_cost": 258259
              },
              {
                "call_type": "STATICCALL",
                "from": "0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640",
                "to": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
                "gas": 222763,
                "gas_used": 2534,
                "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
                "trace_address": [
                  0,
                  4,
                  2,
                  0,
                  1
                ],
                "input": "0x70a0823100000000000000000000000088e6a0c2ddd26feeb64f039a2c41296fcb3f5640",
                "output": "0x0000000000000000000000000000000000000000000003650dbbc03c4fa5f989",
                "gas_in": 226398,
                "gas_cost": 222863,
                "toBalance": "0x02c1c138082a8397d10036"
              },
              {
                "call_type": "CALL",
                "from": "0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640",
                "to": "0xe592427a0aece92de3edee1f18e0157c05861564",
                "gas": 219479,
                "gas_used": 10327,
                "address": "0xe592427a0aece92de3edee1f18e0157c05861564",
                "subtraces": 1,
                "trace_address": [
                  0,
                  4,
                  2,
                  0,
                  2
                ],
                "input": "0xfa461e33fffffffffffffffffffffffffffffffffffffffffffffffffffffffc9f224a9a00000000000000000000000000000000000000000000000059cdaada173a1a77000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000040000000000000000000000000def171fe48cf0115b1d80b88dc8eab59176fee57000000000000000000000000000000000000000000000000000000000000002bc02aaa39b223fe8d0a0e5c4f27ead9083c756cc20001f4a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000000000000000",
                "gas_in": 223062,
                "gas_cost": 219579
              },
              {
                "call_type": "CALL",
                "from": "0xe592427a0aece92de3edee1f18e0157c05861564",
                "to": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
                "gas": 212328,
                "gas_used": 6225,
                "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
                "trace_address": [
                  0,
                  4,
                  2,
                  0,
                  2,
                  0
                ],
                "input": "0x23b872dd000000000000000000000000def171fe48cf0115b1d80b88dc8eab59176fee5700000000000000000000000088e6a0c2ddd26feeb64f039a2c41296fcb3f564000000000000000000000000000000000000000000000000059cdaada173a1a77",
                "output": "0x0000000000000000000000000000000000000000000000000000000000000001",
                "gas_in": 215798,
                "gas_cost": 212428,
                "toBalance": "0x02c1c138082a8397d10036"
              },
              {
                "call_type": "STATICCALL",
                "from": "0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640",
                "to": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
                "gas": 208681,
                "gas_used": 534,
                "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
                "trace_address": [
                  0,
                  4,
                  2,
                  0,
                  3
                ],
                "input": "0x70a0823100000000000000000000000088e6a0c2ddd26feeb64f039a2c41296fcb3f5640",
                "output": "0x00000000000000000000000000000000000000000000036567896b1666e01400",
                "gas_in": 212093,
                "gas_cost": 208781,
                "toBalance": "0x02c1c138082a8397d10036"
              },
              {
                "call_type": "STATICCALL",
                "from": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
                "to": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
                "gas": 218190,
                "gas_used": 1315,
                "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
                "subtraces": 1,
                "trace_address": [
                  0,
                  5
                ],
                "input": "0x70a08231000000000000000000000000def171fe48cf0115b1d80b88dc8eab59176fee57",
                "output": "0x0000000000000000000000000000000000000000000000000000000360ddb566",
                "gas_in": 221753,
                "gas_cost": 218290
              },
              {
                "call_type": "DELEGATECALL",
                "from": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
                "to": "0xa2327a938febf5fec13bacfb16ae10ecbc4cbdcf",
                "gas": 214051,
                "gas_used": 529,
                "address": "0xa2327a938febf5fec13bacfb16ae10ecbc4cbdcf",
                "trace_address": [
                  0,
                  5,
                  0
                ],
                "input": "0x70a08231000000000000000000000000def171fe48cf0115b1d80b88dc8eab59176fee57",
                "output": "0x0000000000000000000000000000000000000000000000000000000360ddb566",
                "gas_in": 217548,
                "gas_cost": 214151
              }
            ]
          },
          "simulation": {
            "id": "40e1608b-807c-424e-a618-684462c975b5",
            "project_id": "dfdc391a-a15d-4590-9aef-8691259c7df4",
            "owner_id": "7d5e8b1f-8bf8-4eae-a70f-fb7d354b1cc2",
            "network_id": "1",
            "block_number": 18827905,
            "transaction_index": 222,
            "from": "0xd8da6bf26964af9d7eed9e03e53415d37aa96045",
            "to": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
            "input": "0xa94e78ef0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000eaa63125dd63f10874f99cdbbb18410e7fc79dd300000000000000000000000000000000000000000004f68ca6d8cd91c6000000000000000000000000000000000000000000000000000000000000036e22623300000000000000000000000000000000000000000000000000000003728c0b380000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000076000000000000000000000000000000000000000000000000000000000658357363e8a57981b0747b79f70262f8257408600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000300000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a73000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000004000000000000000000000000f9234cb08edb93c0d4a4d4c70cc3ffd070e78e07000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000001000000000000000000004de5672fefac7f6e3017d9a2f1c14fe048191a24ce14000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a73000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000006000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000658c3d55000000000000000000000000000000000000000000000000000000000000002bc02aaa39b223fe8d0a0e5c4f27ead9083c756cc20001f4a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
            "gas": 617885,
            "gas_price": "87235100681",
            "gas_used": 389024,
            "value": "0",
            "status": false,
            "access_list": null,
            "queue_origin": "",
            "block_header": {
              "number": "0x11f4a81",
              "hash": "0x0000000000000000000000000000000000000000000000000000000000000000",
              "stateRoot": "0x82f76ac995d4f0254f8bad7647437ff7de6d6cda60db508b1e7c67cf7400cf62",
              "parentHash": "0xa8e1a14f1a05d7239a9152f31ed1b8edb96da15e4f79c4aa2db81cb8ffd47f5e",
              "sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
              "transactionsRoot": "0xb663a12dc9d08b199a290b00fa3ede0c2645e398aaff78e37489d9fb32b9cbfa",
              "receiptsRoot": "0x9cd03d4f988ff28f0c32e9af4c8096a88c2613db1f254d37f3ab1d1d93c99170",
              "logsBloom": "0x11a9da33d1239f4d15cc82b1eba1932195b04b9fbc6327d568b912aa6522cf3a0a301dbe6facc8ed54169f71e0f457d24f89d305c8427ba1aa92f8efea2a790023e0c90842100ab9f8fbc2793358fbfbbccf901d87404ad7c9c84c55bf3c99501d25f52d5322008f6896d290f0233d41e900a0b988f0a6025613bcf28549613a8613c75c962594025449bc4d990256e6e2004891aba142f86c218ccf487da009e6c711cd61db23dc1a305bcc91bb1d0b3668b09290566a0b2ff219a6933eb7e04be6111e80b4694c2230da63540bdc5c38baa31b086dcd1827adf0826468e4e75ff4b851ab7904ecc177d2cc98059ca4cf099d18f9b073dc9c01ca01f865554c",
              "timestamp": "0x658302ef",
              "difficulty": "0x0",
              "gasLimit": "0x1c9c380",
              "gasUsed": "0x125a374",
              "miner": "0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5",
              "extraData": "0x6265617665726275696c642e6f7267",
              "mixHash": "0xb2cf03d01c18f6e0e14628a9649d55365ff945d4adbfad5c57432c151fa46063",
              "nonce": "0x0000000000000000",
              "baseFeePerGas": "0x1449a81f09",
              "size": "0x0",
              "totalDifficulty": "0x0",
              "uncles": null,
              "transactions": null
            },
            "deposit_tx": false,
            "system_tx": false,
            "error_message": "Received amount of tokens are less then expected",
            "nonce": 1176,
            "addresses": null,
            "contract_ids": null,
            "shared": false,
            "created_at": "2023-12-20T15:46:48.528829888Z"
          },
          "contracts": [],
          "generated_access_list": [
            {
              "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
              "storage_keys": [
                "0xb1151b5f51c370d607b59e0034392dd388ea4cc8dded24ec75baf3df36983150",
                "0xbe18050818615a061863c3528093c86c314aa924f93925c36fd5be45a42ec3ca",
                "0x32aca9af4675729722d4aa9c0891f56dba63fc1b85f41bc291f7e7fd52335a62",
                "0x54d8befa8763f7dbdb291e2d3a40534fbb7766679bf2edd78c87665633d4a77c",
                "0x5cfa01b9a733d8746bc28fdd3f8992b7dd3bb6d323fe96a760fbd1b87ca3a2bd",
                "0x05e950c03214daf5e318e3c0401e87e5c3b14177b9a9993d2e5f6176bb0f752a",
                "0x831165dcd27d078878e07da4a03a9856a5144916b8c7e91719a90cdaa1551021",
                "0xc939a6539eb45ae49d1805bceb816e1cb41fa7824b76cf22f1ef14dd4f91ad3f",
                "0x870f2b14c3d588c98e6246b995bf23ee183ae1b236fd463aae6dbc6421fbdbbc",
                "0x6044a56be1f9bd69fb6214cd8ea9cd066cc7cc6656efd85cf01591400cf3ea6e",
                "0x75245230289a9f0bf73a6c59aef6651b98b3833a62a3c0bd9ab6b0dec8ed4d8f",
                "0xfb19a963956c9cb662dd3ae48988c4b90766df71ea130109840abe0a1b23dba8",
                "0xee61682ec263cf9ac626d5a9b0cd5e26edbfa98b5b368b540e65bd739c37e3b7",
                "0xe2002f192e5b410f647b5a051088d89aa923122e1e0e59e25b32f63134f1a7bc",
                "0xfb154a68a03230304e97d71be2bff62775b1c694c3204db71be5805200a1cab6",
                "0x8d629cb47d08e89353adb6c7692b952b309de6af172d6a1081aad5fa72045c48",
                "0x54763e8343071cde9ef08d1f32bda16c77eb2c0bf9439d9a006a24afb62f1d26",
                "0x6e11b2ad3f4a126fa523dbca759473ee7a6cebd4efb81c3015eabee05d9bea1f",
                "0x390f6178407c9b8e95802b8659e6df8e34c1e3d4f8d6a49e6132bbcdd937b63a",
                "0x2a306d7595987ab10375e6e054d7489cc80c1cf5351587e21ffbd126573f06c6",
                "0x86f9b3c93134ec3dc29a864a165f3be052694aab7a9557bf4f01adfeb84e5bc6",
                "0x3c679e5fc421e825187f885e3dcd7f4493f886ceeb4930450588e35818a32b9c",
                "0x9951e5c97f68238701a07028be91c5ba29bde0c65662546c454bab615c93f76a",
                "0xdb5ad80047612bad580468d7c2521a02bc637474d1c0e25fb17578bb79939703",
                "0x732054380c06f66b946fe3c55339b1fc707995878c89c46f3c874fa55acf3188",
                "0x665ae534dc370e0455cfbd96007688eb3036c0098287ebb3828064cca2ac03b3",
                "0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a",
                "0x8761b7b1c0c7c85b3cee06295ae28773ba07212f72db3573807feed93af88995",
                "0x16b0131cb8f09e3874089fadbc97a82dc91da2d57ee2fea4aa6163621926b5e3",
                "0x73d637d229721ca538a0a2e9712eeef46a1889496c0a60f402b430eba28d4a2e",
                "0xa7cfd2f04a8f6fb8c2619836a0cb0f31862033c39e547a17dbd12927913b7f3c",
                "0xe687156f27314703a0601ce95cc5ef568cfe2dd188161c7d31ca6f7c0a4c7f6a",
                "0x2c30439ff7212c18beb0de2b700fd386af1ab6015fea22f0bd119a1c11b87409",
                "0xb2940356fd89a84cf9a86227596a2f59f085c679d5f9450737d0ae4daf0efcea",
                "0xc0bc9d145b50ee07fdd19f9cdc2d2b37d785313255a7c48acd3581dd12b96501",
                "0x0078d452977d1507feddb433a637b414a79282ee8c10aa7e4415a11ae7f7cb56",
                "0x00db2bcf95d8db29dfb6d1ab022e294b4d9a9ebb895e7ccc2e92a6967a5eeccf",
                "0x6a4eff247b7329536ddf871ed3dd8d4d7d9d28d29ceac00d4f1f45bc6a92ef2c",
                "0x070e1d9d82b774cc5b0ee75c4a3bbfd6290fb35c96578e62a94dc7fbce4ff7b6",
                "0xb2df7d687ff5b2c4a86806e82fcadfcbaa72549cdcf6ff2a191c8c2f41bcb1c0",
                "0x2d7b45d5edc30d9b211067de1328f28cc51cb18843f4a6997b639c5b3d1af263",
                "0xb064600732a82908427d092d333e607598a6238a59aeb45e1288cb0bac7161cf",
                "0xaf863274be5681dd15c28b07cc44ec05c35b85e20483f94c782d341146ca0a94",
                "0x4de5a72cdf1ec035d1477beb522f9197e1ed5d4ec09de245abbd406ef3686969",
                "0x6b1109c7e1669b7a23f286ed1bc8b52e9f75b714f0aecf873ed7076aaa6a7e6e",
                "0x1d78d98fbcdfb1fadd8e557fa84e8d03f58d576bf2677cc7c749affcf9514574"
              ]
            },
            {
              "address": "0x672fefac7f6e3017d9a2f1c14fe048191a24ce14",
              "storage_keys": [
                "0x000000000000000000000000000000000000000000000000000000000000000a",
                "0x0000000000000000000000000000000000000000000000000000000000000008",
                "0x000000000000000000000000000000000000000000000000000000000000000c",
                "0x0000000000000000000000000000000000000000000000000000000000000006",
                "0x0000000000000000000000000000000000000000000000000000000000000007",
                "0x0000000000000000000000000000000000000000000000000000000000000009"
              ]
            },
            {
              "address": "0xe592427a0aece92de3edee1f18e0157c05861564"
            },
            {
              "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
              "storage_keys": [
                "0x1f21a62c4538bacf2aabeca410f0fe63151869f172e03c0e00357ba26a341eff",
                "0xc89b25fe56d1ba78215fcf3327a6ba9c04e4963cbaa4bfd347c247e77d807314",
                "0xfc2b3bb9fb6dbb48a9a60809098a73aec4efe638cc2b58c4fbda54532973c2bb",
                "0x357054dd6aced983d97589cdcefc7259f879f3a2f58a95e2a99bba999cf5fd95",
                "0xa7e7c6de3403f57f907d83f4ff7270f1db6606646146303d47116d6832d36f47",
                "0x77c2deb5f328a1e2eb3e71837bf8cfc680463a159d7ed5194e39a26f7cc27293",
                "0x8d629cb47d08e89353adb6c7692b952b309de6af172d6a1081aad5fa72045c48",
                "0x5dbdfe526b24413b741fda95642956927e1071c9712bb304d570acca6aa82ad8",
                "0xd8a70910dac42f61fd9139c80d49d52eb3db70e5a7a933aa2ea91eddffa444ac",
                "0xe17984586c3f0705a19840446a6b2442fa70d4fca86fc23104ed4ee7341e9505",
                "0x2d7b45d5edc30d9b211067de1328f28cc51cb18843f4a6997b639c5b3d1af263",
                "0x390f6178407c9b8e95802b8659e6df8e34c1e3d4f8d6a49e6132bbcdd937b63a",
                "0x368c3f5f03e5634b3e4381c9c3caac98f4d254c7027fd14b53436c90d060fef4",
                "0x774f8bee1e75a08564e658613b87af0ac1a8c58c49805f476ff68bb84d72bf3d",
                "0x26088c33b17dbee5ad120162feb67ad27b625349cd988da3a205b5370f0261cc",
                "0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a",
                "0xaa6d28fb9bd0913347937584e1d68460c089efde517bb42f9634f62fe306a434",
                "0x25fca3dc274c4a6deae80522371872a0d8e1723e8adc8199203ae89d3bfc003b",
                "0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3",
                "0x0000000000000000000000000000000000000000000000000000000000000001",
                "0x7ae84188dad39ac65698da6b247c2d7e504146b8fbe71a97d078fbb717de2d6b",
                "0xe970dc6029598efe7359214a041b60ce7df98f3a5340cade99ec3de3ea290096",
                "0x429d4eed491ec793d176b1cd2c9e12912f9df2c877000f2084223eef2d801813",
                "0x4ac01ad812d5eac4698019823b7f6a507bc749124a4d82b1dd4c65e681cf7c39",
                "0xc668e4251a8789d75fe978accafefb85df2369d3b3541b22a8e8dcf06f32bb44",
                "0x05b89c245b6b535083b09c5e52e49a44e81461d5a18a19a89b5a5de8dda8a709",
                "0x7b2a2744ef673caea5f128eecf6c743820aa7b8cbab5155e3ba12b1a8f246e57",
                "0x53ef391d93f7b166cf8e993d7655d216cb7f5673c0bac9fb6f3a4189cb0678da",
                "0x8dfed3551451e4271757cba3941504b230c6f0def7eab62749ab3ce56c79e548",
                "0x792377d75044a0e29f2bef131c77c1e46cdf0f64a1af2cb09c30c83710503c8c",
                "0xb374d549c4210ce4d86594fd6e5e972db66a2b8995be56e77460d52fbd255e5e",
                "0x75245230289a9f0bf73a6c59aef6651b98b3833a62a3c0bd9ab6b0dec8ed4d8f",
                "0xee8bdd3038743c4073e7014db500c60f6c2e74c21a27a3c557dac101d5591f2b",
                "0x6544ff4ca800d8d3458621f2162d4458e540f8fd830f2460504bbd851a4b7231",
                "0xebdca4826694e9af24ae34d77ef52095c010139ea12a6cb7b29a1faf7db70cc8",
                "0xf56408d23e6790fec5453738cf042a4a3ef7ec36e9ceae8978e4ffce8e903bc3",
                "0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b",
                "0x5cfa01b9a733d8746bc28fdd3f8992b7dd3bb6d323fe96a760fbd1b87ca3a2bd",
                "0x8e8ba7d0240c502147869f7a9ae17aa9f683ea273c256f64b6fe2403de607113"
              ]
            },
            {
              "address": "0xa2327a938febf5fec13bacfb16ae10ecbc4cbdcf"
            },
            {
              "address": "0xbd7b550d2e7571383d84acf597a00d341e5c406e"
            },
            {
              "address": "0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640",
              "storage_keys": [
                "0x2d485130b957a7beea5ecd7e231d54ac468418c35ee5abf54033cba1ed869152",
                "0x3d8047c064ce35705a1bead4dd6881d3d5cc157824df6b418efa3253e3af380d",
                "0x26a0a9b5111ffb12cc8d7c9db23c1e494c9c9eb45e0a50b9595b437445c55321",
                "0x3a6e87e167fb8e9df6332ee0be1411937d2c803a8c4b7522abe0c16b731dbe11",
                "0x3a6e87e167fb8e9df6332ee0be1411937d2c803a8c4b7522abe0c16b731dbe0f",
                "0x0e5a64d6a0bdafae0f7b67cefe5663aca73ac5682a96d43e8501a2731e0d2587",
                "0x00000000000000000000000000000000000000000000000000000000000001df",
                "0x2d485130b957a7beea5ecd7e231d54ac468418c35ee5abf54033cba1ed869154",
                "0x1988775e6c6f4b25d912ae5577f9b19952e8e16a59481301121feafa0d673092",
                "0x3d8047c064ce35705a1bead4dd6881d3d5cc157824df6b418efa3253e3af380b",
                "0x0000000000000000000000000000000000000000000000000000000000000002",
                "0x26a0a9b5111ffb12cc8d7c9db23c1e494c9c9eb45e0a50b9595b437445c55320",
                "0x3d8047c064ce35705a1bead4dd6881d3d5cc157824df6b418efa3253e3af380c",
                "0x3d8047c064ce35705a1bead4dd6881d3d5cc157824df6b418efa3253e3af380a",
                "0xd5ec2cdba30098a7becae9abe9ca3bfbc32195ee222c3aa0cf0f78089743d55b",
                "0x4599bbaa72a0f54af58cb2739cf429f4c2b98d872f82d2ddc59ada0987fe7789",
                "0x2d485130b957a7beea5ecd7e231d54ac468418c35ee5abf54033cba1ed869155",
                "0x0000000000000000000000000000000000000000000000000000000000000000",
                "0xd5ec2cdba30098a7becae9abe9ca3bfbc32195ee222c3aa0cf0f78089743d55a",
                "0x0e5a64d6a0bdafae0f7b67cefe5663aca73ac5682a96d43e8501a2731e0d2585",
                "0x3a6e87e167fb8e9df6332ee0be1411937d2c803a8c4b7522abe0c16b731dbe0e",
                "0x3a6e87e167fb8e9df6332ee0be1411937d2c803a8c4b7522abe0c16b731dbe10",
                "0xd5ec2cdba30098a7becae9abe9ca3bfbc32195ee222c3aa0cf0f78089743d55d",
                "0x0000000000000000000000000000000000000000000000000000000000000001",
                "0x2d485130b957a7beea5ecd7e231d54ac468418c35ee5abf54033cba1ed869153",
                "0xd5ec2cdba30098a7becae9abe9ca3bfbc32195ee222c3aa0cf0f78089743d55c",
                "0x0e5a64d6a0bdafae0f7b67cefe5663aca73ac5682a96d43e8501a2731e0d2586",
                "0x4599bbaa72a0f54af58cb2739cf429f4c2b98d872f82d2ddc59ada0987fe7788",
                "0x00000000000000000000000000000000000000000000000000000000000001e0",
                "0x0000000000000000000000000000000000000000000000000000000000000004",
                "0x26a0a9b5111ffb12cc8d7c9db23c1e494c9c9eb45e0a50b9595b437445c5531f",
                "0x0e5a64d6a0bdafae0f7b67cefe5663aca73ac5682a96d43e8501a2731e0d2584",
                "0x4599bbaa72a0f54af58cb2739cf429f4c2b98d872f82d2ddc59ada0987fe7786",
                "0x4599bbaa72a0f54af58cb2739cf429f4c2b98d872f82d2ddc59ada0987fe7787",
                "0x26a0a9b5111ffb12cc8d7c9db23c1e494c9c9eb45e0a50b9595b437445c55322"
              ]
            },
            {
              "address": "0xeaa63125dd63f10874f99cdbbb18410e7fc79dd3",
              "storage_keys": [
                "0x45c2b503ea51a1d9b7423b06f35a3b115be95ee1c7447d31ce91bdec13a838df",
                "0xe629a3873b2edc434149348402890d970a76d9a3ae4de8e57541156dab274d10",
                "0x000000000000000000000000000000000000000000000000000000000000000f",
                "0x54f5b59dc9b5bb49000ab23a9d0a924c5cdd1733e5bebeadcb8611814450120b",
                "0x0000000000000000000000000000000000000000000000000000000000000008",
                "0x08b50f8ab9aed2a88937ba19dd1c7f2fb0dd9c09b8cb8b916ab927bdaf4231ee",
                "0x5b168827ab5e4aec7d219c0c08aec79965fc30b606d02d27fc6011b8d7b336de",
                "0x000000000000000000000000000000000000000000000000000000000000001d",
                "0x000000000000000000000000000000000000000000000000000000000000000a",
                "0x0151402d6433238fc9a326da90804ebebdf85c662d744604ec6b0aa92c8ef988",
                "0x48f3fa8c95ff087d8cbbc791160670b986d4ec1227f66c769ef7f1bbc33eb1f7",
                "0x69ab7fecb0ec21e1cd2aaa23514e6680d52a78867ffe01666c529f702e81b5a5",
                "0x0000000000000000000000000000000000000000000000000000000000000009",
                "0x0000000000000000000000000000000000000000000000000000000000000010",
                "0x2bfc01d3e1f55c0e56fdd7bc07c7b8dc1346e63f92436866e127d1fa813cda37",
                "0x4c4f2af5d8ca665fef6669f93a750710b96e8bace756a7caec23a869c68a86ae",
                "0x4ef7278799d815a37db20cddf79b831e505f85d81d0a3ac215d12383e521a80d",
                "0x3267aa9ffce70d805c5444e039cbfc3299506e0d9c7bfa1d9c36a8e3b7f40070",
                "0x2cc6ff61f76f3ba62d36d68440e2d4af25cd179eb727f6a48edcbddae9245ea2",
                "0x9445ff856dd7851ed9e208f3989e5d3a69895d6cd337662f0ae3c8949e9a6588",
                "0x000000000000000000000000000000000000000000000000000000000000000b",
                "0x061a2a571a85ac39befae776e8435d42c1ef793c8e7d72a6798de91d433a9876",
                "0x0000000000000000000000000000000000000000000000000000000000000005",
                "0x325cb5e74a1216db82b6c181bb8c505d9fe31901515f0956d03b679ba48adf61",
                "0x79f64b09067f0f20624b681c806e434d3135fbb0983aaba741c61ef1f3de2cd6",
                "0x263cae475013f53a7607366cbbeba4f0fec9fc1528d4e60a19af45776e01745b",
                "0x87f649784884298b2a1c91521736972cb4ea244eabcb419843687738f23be3c0",
                "0x0000000000000000000000000000000000000000000000000000000000000014",
                "0x7e46e59b0025c6296745e6f60a5f254ebb93191af16a086909f480f26fd33f6d",
                "0x348d2e5830c20f07ed9302299bcb5cd5a4c9931e292bf42e5466f557d2db1cd0",
                "0xfca351f4d96129454cfc8ef7930b638ac71fea35eb69ee3b8d959496beb04a33"
              ]
            },
            {
              "address": "0x216b4b4ba9f3e719726886d34a177484278bfcae",
              "storage_keys": [
                "0x0000000000000000000000000000000000000000000000000000000000000000"
              ]
            },
            {
              "address": "0x9be264469ef954c139da4a45cf76cbcc5e3a6a73"
            }
          ]
        }
      },
      "simulation-asset-changes": {
        "title": "Simulate Transaction Response with Asset Changes (ERC20 Swap)",
        "description": "An object with details about simulated transaction with asset changes with ERC20 Swap.",
        "type": "object",
        "properties": {
          "asset_changes": {
            "title": "asset_changes",
            "description": "Asset changes for given simulated transaction.",
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "type": {
                  "title": "type",
                  "description": "Can be Transfer, Mint, Burn.",
                  "type": "string",
                  "enum": [
                    "Transfer",
                    "Mint",
                    "Burn"
                  ],
                  "example": "Transfer"
                },
                "from": {
                  "title": "from",
                  "description": "Address of the sender (Empty for mint transfers).",
                  "type": "string",
                  "example": "0x3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad"
                },
                "to": {
                  "title": "to",
                  "description": "Address of the receiver (Empty for burn transfers).",
                  "type": "string",
                  "example": "0xdfc14d2af169b0d36c4eff567ada9b2e0cae044f"
                },
                "amount": {
                  "title": "amount",
                  "description": "The amount of the token that was transferred.",
                  "type": "string",
                  "example": "0.004"
                },
                "raw_amount": {
                  "title": "raw_amount",
                  "description": "Raw amount transfer for the token.",
                  "type": "string",
                  "example": "4000000000000000"
                },
                "dollar_value": {
                  "title": "dollar_value",
                  "description": "Dollar value of the transferred token.",
                  "type": "string",
                  "example": "6.7093999023437499996"
                },
                "token_info": {
                  "title": "token_info",
                  "description": "Token information.",
                  "type": "object",
                  "properties": {
                    "standard": {
                      "title": "standard",
                      "description": "Supported token standards: ERC20, ERC721, NativeCurrency.",
                      "type": "string",
                      "enum": [
                        "ERC20",
                        "ERC721",
                        "NativeCurrency"
                      ],
                      "example": "ERC20"
                    },
                    "type": {
                      "title": "type",
                      "description": "The token type: Native, Fungible, Non-Fungible.",
                      "type": "string",
                      "enum": [
                        "Native",
                        "Fungible",
                        "Non-Fungible"
                      ],
                      "example": "Fungible"
                    },
                    "contract_address": {
                      "title": "contract_address",
                      "description": "Address of the contract.",
                      "type": "string",
                      "example": "0x7fc66500c84a76ad7e9c93437bfc5ac33e2ddae9"
                    },
                    "symbol": {
                      "title": "symbol",
                      "description": "Token symbol.",
                      "type": "string",
                      "example": "aave"
                    },
                    "name": {
                      "title": "name",
                      "description": "Token name.",
                      "type": "string",
                      "example": "AAVE"
                    },
                    "logo": {
                      "title": "logo",
                      "description": "URL for the token icon.",
                      "type": "string",
                      "example": "https://assets.coingecko.com/coins/images/12645/large/AAVE.png?1601374110"
                    },
                    "decimals": {
                      "title": "decimals",
                      "description": "Number of decimals in the token.",
                      "type": "number",
                      "example": 18
                    },
                    "dollar_value": {
                      "title": "dollar_value",
                      "description": "Dollar value of a single ERC20 token.",
                      "type": "string",
                      "example": "57.09000015258789"
                    }
                  },
                  "required": [
                    "standard",
                    "type",
                    "contract_address",
                    "symbol",
                    "name",
                    "logo",
                    "decimals",
                    "dollar_value"
                  ]
                }
              },
              "required": [
                "type",
                "amount",
                "raw_amount",
                "dollar_value",
                "token_info"
              ]
            }
          }
        },
        "required": [
          "asset_changes"
        ],
        "example": {
          "...": "...",
          "transaction": {
            "...": "...",
            "transaction_info": {
              "...": "...",
              "asset_changes": [
                {
                  "token_info": {
                    "standard": "ERC20",
                    "type": "Fungible",
                    "contract_address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
                    "symbol": "weth",
                    "name": "WETH",
                    "logo": "https://assets.coingecko.com/coins/images/2518/large/weth.png?1628852295",
                    "decimals": 18,
                    "dollar_value": "1677.3499755859375"
                  },
                  "type": "Mint",
                  "to": "0x3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad",
                  "amount": "0.004",
                  "raw_amount": "4000000000000000",
                  "dollar_value": "6.7093999023437499996"
                },
                {
                  "token_info": {
                    "standard": "ERC20",
                    "type": "Fungible",
                    "contract_address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
                    "symbol": "weth",
                    "name": "WETH",
                    "logo": "https://assets.coingecko.com/coins/images/2518/large/weth.png?1628852295",
                    "decimals": 18,
                    "dollar_value": "1677.3499755859375"
                  },
                  "type": "Transfer",
                  "from": "0x3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad",
                  "to": "0xdfc14d2af169b0d36c4eff567ada9b2e0cae044f",
                  "amount": "0.004",
                  "raw_amount": "4000000000000000",
                  "dollar_value": "6.7093999023437499996"
                },
                {
                  "token_info": {
                    "standard": "ERC20",
                    "type": "Fungible",
                    "contract_address": "0x7fc66500c84a76ad7e9c93437bfc5ac33e2ddae9",
                    "symbol": "aave",
                    "name": "Aave",
                    "logo": "https://assets.coingecko.com/coins/images/12645/large/AAVE.png?1601374110",
                    "decimals": 18,
                    "dollar_value": "57.09000015258789"
                  },
                  "type": "Transfer",
                  "from": "0xdfc14d2af169b0d36c4eff567ada9b2e0cae044f",
                  "to": "0xe8e6959a29bb94cb1080de4257417e6f22ab3ae2",
                  "amount": "0.114329491204601088",
                  "raw_amount": "114329491204601088",
                  "dollar_value": "6.527070670315972013"
                },
                {
                  "token_info": {
                    "standard": "NativeCurrency",
                    "type": "Native",
                    "symbol": "eth",
                    "name": "Ethereum",
                    "logo": "https://assets.coingecko.com/coins/images/279/large/ethereum.png?1595348880",
                    "decimals": 18,
                    "dollar_value": "1677.5799560546875"
                  },
                  "type": "Transfer",
                  "from": "0xe8e6959a29bb94cb1080de4257417e6f22ab3ae2",
                  "to": "0x3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad",
                  "amount": "0.004",
                  "raw_amount": "4000000000000000",
                  "dollar_value": "6.7103198242187499997"
                },
                {
                  "token_info": {
                    "standard": "NativeCurrency",
                    "type": "Native",
                    "symbol": "eth",
                    "name": "Ethereum",
                    "logo": "https://assets.coingecko.com/coins/images/279/large/ethereum.png?1595348880",
                    "decimals": 18,
                    "dollar_value": "1677.5799560546875"
                  },
                  "type": "Transfer",
                  "from": "0x3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad",
                  "to": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
                  "amount": "0.004",
                  "raw_amount": "4000000000000000",
                  "dollar_value": "6.7103198242187499997"
                }
              ]
            }
          }
        }
      },
      "simulate_nft_asset_changes_post_response": {
        "type": "object",
        "title": "Simulate Transaction Response with Asset Changes (NFT Transfer)",
        "description": "An object with details about simulated transaction with asset changes with NFT Transfer.",
        "example": {
          "...": "...",
          "transaction": {
            "...": "...",
            "transaction_info": {
              "...": "...",
              "asset_changes": [
                {
                  "token_info": {
                    "standard": "ERC20",
                    "type": "Fungible",
                    "contract_address": "0xb31f66aa3c1e785363f0875a1b74e27b85fd66c7",
                    "symbol": "wavax",
                    "name": "Wrapped AVAX",
                    "logo": "https://assets.coingecko.com/coins/images/15075/large/wrapped-avax.png?1629873618",
                    "decimals": 18,
                    "dollar_value": "10.329999923706055"
                  },
                  "type": "Mint",
                  "to": "0xae079eda901f7727d0715aff8f82ba8295719977",
                  "amount": "9.434",
                  "raw_amount": "9434000000000000000",
                  "dollar_value": "97.45321928024291992"
                },
                {
                  "token_info": {
                    "standard": "ERC20",
                    "type": "Fungible",
                    "contract_address": "0xb31f66aa3c1e785363f0875a1b74e27b85fd66c7",
                    "symbol": "wavax",
                    "name": "Wrapped AVAX",
                    "logo": "https://assets.coingecko.com/coins/images/15075/large/wrapped-avax.png?1629873618",
                    "decimals": 18,
                    "dollar_value": "10.329999923706055"
                  },
                  "type": "Transfer",
                  "from": "0xae079eda901f7727d0715aff8f82ba8295719977",
                  "to": "0x64c4607ad853999ee5042ba8377bfc4099c273de",
                  "amount": "0.075",
                  "raw_amount": "75000000000000000",
                  "dollar_value": "0.7747499942779541016"
                },
                {
                  "token_info": {
                    "standard": "ERC20",
                    "type": "Fungible",
                    "contract_address": "0xb31f66aa3c1e785363f0875a1b74e27b85fd66c7",
                    "symbol": "wavax",
                    "name": "Wrapped AVAX",
                    "logo": "https://assets.coingecko.com/coins/images/15075/large/wrapped-avax.png?1629873618",
                    "decimals": 18,
                    "dollar_value": "10.329999923706055"
                  },
                  "type": "Transfer",
                  "from": "0xae079eda901f7727d0715aff8f82ba8295719977",
                  "to": "0x2fffffb80ea0c59ca19258872351ae4a43facb37",
                  "amount": "0.18",
                  "raw_amount": "180000000000000000",
                  "dollar_value": "1.8593999862670898438"
                },
                {
                  "token_info": {
                    "standard": "ERC20",
                    "type": "Fungible",
                    "contract_address": "0xb31f66aa3c1e785363f0875a1b74e27b85fd66c7",
                    "symbol": "wavax",
                    "name": "Wrapped AVAX",
                    "logo": "https://assets.coingecko.com/coins/images/15075/large/wrapped-avax.png?1629873618",
                    "decimals": 18,
                    "dollar_value": "10.329999923706055"
                  },
                  "type": "Transfer",
                  "from": "0xae079eda901f7727d0715aff8f82ba8295719977",
                  "to": "0xd7b87018c0434427f3a1f9d8c26c3f1a8a759b1b",
                  "amount": "2.745",
                  "raw_amount": "2745000000000000000",
                  "dollar_value": "28.355849790573120116"
                },
                {
                  "token_info": {
                    "standard": "ERC721",
                    "type": "NonFungible",
                    "contract_address": "0x7a420aeff902aaa2c85a190d7b91ce8beffffe14",
                    "symbol": "DCGHERO",
                    "name": "Dragon Crypto Hero",
                    "logo": "https://assets.coingecko.com/nft_contracts/images/1461/small/dragon-crypto-hero.png?1662020122",
                    "decimals": 0,
                    "dollar_value": "28.489999771118164"
                  },
                  "type": "Transfer",
                  "from": "0xd7b87018c0434427f3a1f9d8c26c3f1a8a759b1b",
                  "to": "0xe8e6959a29bb94cb1080de4257417e6f22ab3ae2",
                  "amount": "1",
                  "raw_amount": "1",
                  "token_id": "0x0000000000000000000000000000000000000000000000000000000000000489",
                  "dollar_value": "28.489999771118164062"
                },
                {
                  "token_info": {
                    "standard": "ERC20",
                    "type": "Fungible",
                    "contract_address": "0xb31f66aa3c1e785363f0875a1b74e27b85fd66c7",
                    "symbol": "wavax",
                    "name": "Wrapped AVAX",
                    "logo": "https://assets.coingecko.com/coins/images/15075/large/wrapped-avax.png?1629873618",
                    "decimals": 18,
                    "dollar_value": "10.329999923706055"
                  },
                  "type": "Transfer",
                  "from": "0xae079eda901f7727d0715aff8f82ba8295719977",
                  "to": "0x64c4607ad853999ee5042ba8377bfc4099c273de",
                  "amount": "0.075",
                  "raw_amount": "75000000000000000",
                  "dollar_value": "0.7747499942779541016"
                },
                {
                  "token_info": {
                    "standard": "ERC20",
                    "type": "Fungible",
                    "contract_address": "0xb31f66aa3c1e785363f0875a1b74e27b85fd66c7",
                    "symbol": "wavax",
                    "name": "Wrapped AVAX",
                    "logo": "https://assets.coingecko.com/coins/images/15075/large/wrapped-avax.png?1629873618",
                    "decimals": 18,
                    "dollar_value": "10.329999923706055"
                  },
                  "type": "Transfer",
                  "from": "0xae079eda901f7727d0715aff8f82ba8295719977",
                  "to": "0xb090fc5d0c06804dfbf06efb59ce1f291f13162a",
                  "amount": "0.15",
                  "raw_amount": "150000000000000000",
                  "dollar_value": "1.5494999885559082032"
                },
                {
                  "token_info": {
                    "standard": "ERC20",
                    "type": "Fungible",
                    "contract_address": "0xb31f66aa3c1e785363f0875a1b74e27b85fd66c7",
                    "symbol": "wavax",
                    "name": "Wrapped AVAX",
                    "logo": "https://assets.coingecko.com/coins/images/15075/large/wrapped-avax.png?1629873618",
                    "decimals": 18,
                    "dollar_value": "10.329999923706055"
                  },
                  "type": "Transfer",
                  "from": "0xae079eda901f7727d0715aff8f82ba8295719977",
                  "to": "0x2ce84ba90f3cd2c9281cc3170295d84b60ac28b4",
                  "amount": "2.775",
                  "raw_amount": "2775000000000000000",
                  "dollar_value": "28.66574978828430176"
                },
                {
                  "token_info": {
                    "standard": "ERC721",
                    "type": "NonFungible",
                    "contract_address": "0xb42d0f524564cafe2a47ca3331221903eda83b3c",
                    "symbol": "MONKEEZ",
                    "name": "Monkeez",
                    "logo": "https://assets.coingecko.com/nft_contracts/images/1417/small/monkeez.png?1662019843",
                    "decimals": 0,
                    "dollar_value": "25.670000076293945"
                  },
                  "type": "Transfer",
                  "from": "0x2ce84ba90f3cd2c9281cc3170295d84b60ac28b4",
                  "to": "0xe8e6959a29bb94cb1080de4257417e6f22ab3ae2",
                  "amount": "1",
                  "raw_amount": "1",
                  "token_id": "0x0000000000000000000000000000000000000000000000000000000000000190",
                  "dollar_value": "25.670000076293945312"
                },
                {
                  "token_info": {
                    "standard": "ERC20",
                    "type": "Fungible",
                    "contract_address": "0xb31f66aa3c1e785363f0875a1b74e27b85fd66c7",
                    "symbol": "wavax",
                    "name": "Wrapped AVAX",
                    "logo": "https://assets.coingecko.com/coins/images/15075/large/wrapped-avax.png?1629873618",
                    "decimals": 18,
                    "dollar_value": "10.329999923706055"
                  },
                  "type": "Transfer",
                  "from": "0xae079eda901f7727d0715aff8f82ba8295719977",
                  "to": "0x64c4607ad853999ee5042ba8377bfc4099c273de",
                  "amount": "0.02475",
                  "raw_amount": "24750000000000000",
                  "dollar_value": "0.25566749811172485352"
                },
                {
                  "token_info": {
                    "standard": "ERC20",
                    "type": "Fungible",
                    "contract_address": "0xb31f66aa3c1e785363f0875a1b74e27b85fd66c7",
                    "symbol": "wavax",
                    "name": "Wrapped AVAX",
                    "logo": "https://assets.coingecko.com/coins/images/15075/large/wrapped-avax.png?1629873618",
                    "decimals": 18,
                    "dollar_value": "10.329999923706055"
                  },
                  "type": "Transfer",
                  "from": "0xae079eda901f7727d0715aff8f82ba8295719977",
                  "to": "0x5b34932f643a143bdc9801064ea06526ba9476af",
                  "amount": "0.0495",
                  "raw_amount": "49500000000000000",
                  "dollar_value": "0.51133499622344970705"
                },
                {
                  "token_info": {
                    "standard": "ERC20",
                    "type": "Fungible",
                    "contract_address": "0xb31f66aa3c1e785363f0875a1b74e27b85fd66c7",
                    "symbol": "wavax",
                    "name": "Wrapped AVAX",
                    "logo": "https://assets.coingecko.com/coins/images/15075/large/wrapped-avax.png?1629873618",
                    "decimals": 18,
                    "dollar_value": "10.329999923706055"
                  },
                  "type": "Transfer",
                  "from": "0xae079eda901f7727d0715aff8f82ba8295719977",
                  "to": "0x9aa4b22a616d5cbc6834d3e5da877d17f93c2b77",
                  "amount": "0.91575",
                  "raw_amount": "915750000000000000",
                  "dollar_value": "9.45969743013381958"
                },
                {
                  "token_info": {
                    "standard": "ERC721",
                    "type": "NonFungible",
                    "contract_address": "0x4245a1bd84eb5f3ebc115c2edf57e50667f98b0b",
                    "symbol": "HOP",
                    "name": "Hoppers Game",
                    "logo": "https://assets.coingecko.com/nft_contracts/images/1448/small/hoppers-game.png?1662020093",
                    "decimals": 0,
                    "dollar_value": "8.229999542236328"
                  },
                  "type": "Transfer",
                  "from": "0x9aa4b22a616d5cbc6834d3e5da877d17f93c2b77",
                  "to": "0xe8e6959a29bb94cb1080de4257417e6f22ab3ae2",
                  "amount": "1",
                  "raw_amount": "1",
                  "token_id": "0x00000000000000000000000000000000000000000000000000000000000011eb",
                  "dollar_value": "8.229999542236328125"
                },
                {
                  "token_info": {
                    "standard": "ERC20",
                    "type": "Fungible",
                    "contract_address": "0xb31f66aa3c1e785363f0875a1b74e27b85fd66c7",
                    "symbol": "wavax",
                    "name": "Wrapped AVAX",
                    "logo": "https://assets.coingecko.com/coins/images/15075/large/wrapped-avax.png?1629873618",
                    "decimals": 18,
                    "dollar_value": "10.329999923706055"
                  },
                  "type": "Transfer",
                  "from": "0xae079eda901f7727d0715aff8f82ba8295719977",
                  "to": "0x64c4607ad853999ee5042ba8377bfc4099c273de",
                  "amount": "0.0611",
                  "raw_amount": "61100000000000000",
                  "dollar_value": "0.63116299533843994143"
                },
                {
                  "token_info": {
                    "standard": "ERC20",
                    "type": "Fungible",
                    "contract_address": "0xb31f66aa3c1e785363f0875a1b74e27b85fd66c7",
                    "symbol": "wavax",
                    "name": "Wrapped AVAX",
                    "logo": "https://assets.coingecko.com/coins/images/15075/large/wrapped-avax.png?1629873618",
                    "decimals": 18,
                    "dollar_value": "10.329999923706055"
                  },
                  "type": "Transfer",
                  "from": "0xae079eda901f7727d0715aff8f82ba8295719977",
                  "to": "0xcafbcfd3fe93bccf1e15fa831f7d98ecfab4e281",
                  "amount": "0.1222",
                  "raw_amount": "122200000000000000",
                  "dollar_value": "1.2623259906768798829"
                },
                {
                  "token_info": {
                    "standard": "ERC20",
                    "type": "Fungible",
                    "contract_address": "0xb31f66aa3c1e785363f0875a1b74e27b85fd66c7",
                    "symbol": "wavax",
                    "name": "Wrapped AVAX",
                    "logo": "https://assets.coingecko.com/coins/images/15075/large/wrapped-avax.png?1629873618",
                    "decimals": 18,
                    "dollar_value": "10.329999923706055"
                  },
                  "type": "Transfer",
                  "from": "0xae079eda901f7727d0715aff8f82ba8295719977",
                  "to": "0xaee1806aefbe8068db299c4c859937a1aee55dae",
                  "amount": "2.2607",
                  "raw_amount": "2260700000000000000",
                  "dollar_value": "23.353030827522277832"
                },
                {
                  "token_info": {
                    "standard": "ERC721",
                    "type": "NonFungible",
                    "contract_address": "0x3025c5c2aa6eb7364555aac0074292195701bbd6",
                    "symbol": "MADSKULLZ",
                    "name": "MadSkullz",
                    "logo": "https://assets.coingecko.com/nft_contracts/images/1407/small/madskullz.png?1662019779",
                    "decimals": 0,
                    "dollar_value": "29.829999923706055"
                  },
                  "type": "Transfer",
                  "from": "0xaee1806aefbe8068db299c4c859937a1aee55dae",
                  "to": "0xe8e6959a29bb94cb1080de4257417e6f22ab3ae2",
                  "amount": "1",
                  "raw_amount": "1",
                  "token_id": "0x0000000000000000000000000000000000000000000000000000000000000827",
                  "dollar_value": "29.829999923706054688"
                },
                {
                  "token_info": {
                    "standard": "NativeCurrency",
                    "type": "Native",
                    "symbol": "avax",
                    "name": "Avalanche",
                    "logo": "https://assets.coingecko.com/coins/images/12559/large/Avalanche_Circle_RedWhite_Trans.png?1670992574",
                    "decimals": 18,
                    "dollar_value": "10.210000038146973"
                  },
                  "type": "Transfer",
                  "from": "0xe8e6959a29bb94cb1080de4257417e6f22ab3ae2",
                  "to": "0xae079eda901f7727d0715aff8f82ba8295719977",
                  "amount": "9.434",
                  "raw_amount": "9434000000000000000",
                  "dollar_value": "96.32114035987854004"
                },
                {
                  "token_info": {
                    "standard": "NativeCurrency",
                    "type": "Native",
                    "symbol": "avax",
                    "name": "Avalanche",
                    "logo": "https://assets.coingecko.com/coins/images/12559/large/Avalanche_Circle_RedWhite_Trans.png?1670992574",
                    "decimals": 18,
                    "dollar_value": "10.210000038146973"
                  },
                  "type": "Transfer",
                  "from": "0xbb01d7ad46a1229f8383f4e863abf4461b427745",
                  "to": "0xb31f66aa3c1e785363f0875a1b74e27b85fd66c7",
                  "amount": "9.434",
                  "raw_amount": "9434000000000000000",
                  "dollar_value": "96.32114035987854004"
                }
              ]
            }
          }
        }
      },
      "simulation-response": {
        "description": "Simulation response containing the simulated transaction, simulation metadata, involved contracts, and generated access list.",
        "type": "object",
        "properties": {
          "transaction": {
            "title": "transaction",
            "description": "Contains data related to the simulated transaction, including its hash, block number,\norigin and destination addresses, gas details, input data, nonce, status, timestamp,\nand involved contract addresses. The nested `transaction_info` object holds detailed\nexecution data such as the call trace, emitted logs, state diffs, and asset changes.",
            "type": "object",
            "properties": {
              "hash": {
                "title": "hash",
                "description": "Transaction hash.",
                "type": "string",
                "example": "0x8bb054967340f08827e1943ad34e2a448357e72ad1adee7397c577a716530a0f"
              },
              "block_hash": {
                "title": "block_hash",
                "description": "Hash of the block containing this transaction.",
                "type": "string",
                "example": ""
              },
              "block_number": {
                "title": "block_number",
                "description": "Block number at which the transaction was simulated.",
                "type": "number",
                "example": 17884583
              },
              "from": {
                "title": "from",
                "description": "Address that initiated the transaction.",
                "type": "string",
                "example": "0x3f41a1cfd3c8b8d9c162de0f42307a0095a6e5df"
              },
              "gas": {
                "title": "gas",
                "description": "Gas limit provided for the simulation.",
                "type": "number",
                "example": 648318
              },
              "gas_price": {
                "title": "gas_price",
                "description": "Gas price used in the simulation.",
                "type": "number",
                "example": 0
              },
              "gas_fee_cap": {
                "title": "gas_fee_cap",
                "description": "EIP-1559 max fee per gas.",
                "type": "number",
                "example": 0
              },
              "gas_tip_cap": {
                "title": "gas_tip_cap",
                "description": "EIP-1559 max priority fee per gas (tip).",
                "type": "number",
                "example": 0
              },
              "cumulative_gas_used": {
                "title": "cumulative_gas_used",
                "description": "Total gas used in the block up to and including this transaction.",
                "type": "number",
                "example": 0
              },
              "gas_used": {
                "title": "gas_used",
                "description": "Actual gas consumed by the simulation.",
                "type": "number",
                "example": 45065
              },
              "effective_gas_price": {
                "title": "effective_gas_price",
                "description": "Effective gas price after EIP-1559 calculations.",
                "type": "number",
                "example": 0
              },
              "input": {
                "title": "input",
                "description": "Hex-encoded calldata sent with the transaction.",
                "type": "string"
              },
              "nonce": {
                "title": "nonce",
                "description": "Transaction nonce of the sender.",
                "type": "number",
                "example": 1094
              },
              "to": {
                "title": "to",
                "description": "Recipient address of the transaction.",
                "type": "string",
                "example": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57"
              },
              "index": {
                "title": "index",
                "description": "Transaction index within the block.",
                "type": "number",
                "example": 0
              },
              "value": {
                "title": "value",
                "description": "Ether value sent with the transaction (in hex).",
                "type": "string",
                "example": "0x"
              },
              "access_list": {
                "title": "access_list",
                "description": "EIP-2930 access list used by the transaction.",
                "type": [
                  "array",
                  "null"
                ],
                "items": {}
              },
              "status": {
                "title": "status",
                "description": "Whether the transaction succeeded (true) or reverted (false).",
                "type": "boolean",
                "example": false
              },
              "addresses": {
                "title": "addresses",
                "description": "List of addresses involved in the transaction.",
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "contract_ids": {
                "title": "contract_ids",
                "description": "List of contract identifiers in `network:chainId:address` format.",
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "network_id": {
                "title": "network_id",
                "description": "Network ID on which the simulation was run.",
                "type": "string",
                "example": "1"
              },
              "timestamp": {
                "title": "timestamp",
                "description": "Timestamp of the block used for simulation.",
                "type": "string",
                "format": "date-time",
                "example": "2023-08-10T12:48:11Z"
              },
              "function_selector": {
                "title": "function_selector",
                "description": "4-byte function selector of the called method.",
                "type": "string"
              },
              "l1_block_number": {
                "title": "l1_block_number",
                "description": "L1 block number (for L2 transactions).",
                "type": "number",
                "example": 0
              },
              "l1_timestamp": {
                "title": "l1_timestamp",
                "description": "L1 timestamp (for L2 transactions).",
                "type": "number",
                "example": 0
              },
              "deposit_tx": {
                "title": "deposit_tx",
                "description": "Whether this is a deposit transaction (L1 to L2).",
                "type": "boolean",
                "example": false
              },
              "system_tx": {
                "title": "system_tx",
                "description": "Whether this is a system transaction.",
                "type": "boolean",
                "example": false
              },
              "sig": {
                "title": "sig",
                "description": "Transaction signature values.",
                "type": "object",
                "properties": {
                  "v": {
                    "type": "string"
                  },
                  "r": {
                    "type": "string"
                  },
                  "s": {
                    "type": "string"
                  }
                }
              },
              "transaction_info": {
                "title": "transaction_info",
                "description": "Detailed execution information including the call trace, decoded method parameters,\nemitted logs, state diffs, asset changes, and balance changes.",
                "type": "object",
                "properties": {
                  "contract_id": {
                    "title": "contract_id",
                    "description": "Identifier of the primary contract in the transaction.",
                    "type": "string",
                    "example": "eth:1:0xdef171fe48cf0115b1d80b88dc8eab59176fee57"
                  },
                  "block_number": {
                    "title": "block_number",
                    "description": "Block number of the simulation.",
                    "type": "number"
                  },
                  "transaction_id": {
                    "title": "transaction_id",
                    "description": "Transaction hash (same as top-level hash).",
                    "type": "string"
                  },
                  "contract_address": {
                    "title": "contract_address",
                    "description": "Address of the primary contract called.",
                    "type": "string"
                  },
                  "method": {
                    "title": "method",
                    "description": "Name of the method that was called (e.g., \"transfer\", \"swap\").",
                    "type": "string",
                    "example": "multiSwap"
                  },
                  "parameters": {
                    "title": "parameters",
                    "description": "Decoded input parameters of the called method.",
                    "type": [
                      "array",
                      "null"
                    ],
                    "items": {}
                  },
                  "intrinsic_gas": {
                    "title": "intrinsic_gas",
                    "description": "Intrinsic gas cost of the transaction.",
                    "type": "number"
                  },
                  "refund_gas": {
                    "title": "refund_gas",
                    "description": "Gas refunded after execution.",
                    "type": "number"
                  },
                  "call_trace": {
                    "title": "call_trace",
                    "description": "Root of the call trace tree. Contains the top-level call and all nested\ninternal calls, including decoded inputs/outputs, gas usage, and errors.",
                    "type": "object"
                  },
                  "stack_trace": {
                    "title": "stack_trace",
                    "description": "Stack trace of the error if the transaction reverted.",
                    "type": [
                      "array",
                      "null"
                    ],
                    "items": {}
                  },
                  "logs": {
                    "title": "logs",
                    "description": "Decoded event logs emitted during execution.",
                    "type": [
                      "array",
                      "null"
                    ],
                    "items": {}
                  },
                  "state_diff": {
                    "title": "state_diff",
                    "description": "State changes caused by the transaction. Each entry shows the original\nand modified values for storage slots.",
                    "type": [
                      "array",
                      "null"
                    ],
                    "items": {}
                  },
                  "raw_state_diff": {
                    "title": "raw_state_diff",
                    "description": "Raw (non-decoded) state changes as storage slot key-value pairs.",
                    "type": [
                      "array",
                      "null"
                    ],
                    "items": {}
                  },
                  "console_logs": {
                    "title": "console_logs",
                    "description": "Console log outputs from Hardhat-style console.log calls.",
                    "type": [
                      "array",
                      "null"
                    ],
                    "items": {}
                  },
                  "created_at": {
                    "title": "created_at",
                    "description": "Timestamp when the simulation was created.",
                    "type": "string",
                    "format": "date-time"
                  },
                  "asset_changes": {
                    "title": "asset_changes",
                    "description": "Token transfers that occurred during the transaction, including ERC20,\nERC721, ERC1155, and native currency movements. Each entry includes\ntoken info, transfer type (Transfer, Mint, Burn), amounts, and USD values.",
                    "type": [
                      "array",
                      "null"
                    ],
                    "items": {}
                  },
                  "balance_changes": {
                    "title": "balance_changes",
                    "description": "Net balance changes per address, aggregating all asset transfers\nfor each participant in the transaction.",
                    "type": [
                      "array",
                      "null"
                    ],
                    "items": {}
                  },
                  "exposure_changes": {
                    "title": "exposure_changes",
                    "description": "Token approval changes (Approve, Revoke, Permit, ApproveForAll, RevokeForAll)\nthat occurred during the transaction.",
                    "type": [
                      "array",
                      "null"
                    ],
                    "items": {}
                  }
                }
              },
              "error_message": {
                "title": "error_message",
                "description": "Error message if the transaction reverted.",
                "type": "string"
              },
              "error_info": {
                "title": "error_info",
                "description": "Detailed error information including the address that caused the revert.",
                "type": [
                  "object",
                  "null"
                ],
                "properties": {
                  "error_message": {
                    "type": "string"
                  },
                  "address": {
                    "type": "string"
                  }
                }
              },
              "method": {
                "title": "method",
                "description": "Name of the method called.",
                "type": "string"
              },
              "decoded_input": {
                "title": "decoded_input",
                "description": "Decoded input parameters at the top level.",
                "type": [
                  "array",
                  "null"
                ],
                "items": {}
              }
            }
          },
          "simulation": {
            "title": "simulation",
            "description": "Contains metadata about the simulation itself, including its unique ID, project and\nowner IDs, block number, gas used, the method invoked, simulation status, block header\nused, and timestamps.",
            "type": "object",
            "properties": {
              "id": {
                "title": "id",
                "description": "Unique identifier of the simulation.",
                "type": "string",
                "format": "uuid",
                "example": "1c08db12-8f6b-4377-95ef-2c0b99298de8"
              },
              "project_id": {
                "title": "project_id",
                "description": "ID of the project the simulation belongs to.",
                "type": "string",
                "format": "uuid",
                "example": "dfdc391a-a15d-4590-9aef-8691259c7df4"
              },
              "owner_id": {
                "title": "owner_id",
                "description": "ID of the account that owns the simulation.",
                "type": "string",
                "format": "uuid",
                "example": "7d5e8b1f-8bf8-4eae-a70f-fb7d354b1cc2"
              },
              "network_id": {
                "title": "network_id",
                "description": "Network ID on which the simulation was run.",
                "type": "string",
                "example": "1"
              },
              "block_number": {
                "title": "block_number",
                "description": "Block number used for the simulation.",
                "type": "number",
                "example": 17884583
              },
              "transaction_index": {
                "title": "transaction_index",
                "description": "Transaction index within the block.",
                "type": "number",
                "example": 0
              },
              "from": {
                "title": "from",
                "description": "Sender address.",
                "type": "string",
                "example": "0x3f41a1cfd3c8b8d9c162de0f42307a0095a6e5df"
              },
              "to": {
                "title": "to",
                "description": "Recipient address.",
                "type": "string",
                "example": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57"
              },
              "input": {
                "title": "input",
                "description": "Hex-encoded calldata.",
                "type": "string"
              },
              "gas": {
                "title": "gas",
                "description": "Gas limit.",
                "type": "number",
                "example": 648318
              },
              "gas_price": {
                "title": "gas_price",
                "description": "Gas price used.",
                "type": "string",
                "example": "0"
              },
              "gas_used": {
                "title": "gas_used",
                "description": "Actual gas consumed.",
                "type": "number",
                "example": 45065
              },
              "value": {
                "title": "value",
                "description": "Ether value sent.",
                "type": "string",
                "example": "0"
              },
              "method": {
                "title": "method",
                "description": "Name of the called method.",
                "type": "string",
                "example": "multiSwap"
              },
              "status": {
                "title": "status",
                "description": "Whether the simulation succeeded.",
                "type": "boolean",
                "example": false
              },
              "access_list": {
                "title": "access_list",
                "description": "EIP-2930 access list.",
                "type": [
                  "array",
                  "null"
                ],
                "items": {}
              },
              "queue_origin": {
                "title": "queue_origin",
                "description": "Origin of the transaction in queue (for L2).",
                "type": "string"
              },
              "block_header": {
                "title": "block_header",
                "description": "Block header used during the simulation.",
                "type": "object"
              },
              "deposit_tx": {
                "title": "deposit_tx",
                "description": "Whether this is a deposit transaction.",
                "type": "boolean",
                "example": false
              },
              "system_tx": {
                "title": "system_tx",
                "description": "Whether this is a system transaction.",
                "type": "boolean",
                "example": false
              },
              "error_message": {
                "title": "error_message",
                "description": "Error message if the simulation reverted.",
                "type": "string",
                "example": "Deadline breached"
              },
              "nonce": {
                "title": "nonce",
                "description": "Nonce of the sender.",
                "type": "number",
                "example": 1094
              },
              "addresses": {
                "title": "addresses",
                "description": "Addresses involved in the simulation.",
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "contract_ids": {
                "title": "contract_ids",
                "description": "Contract identifiers involved.",
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "shared": {
                "title": "shared",
                "description": "Whether the simulation is shared/public.",
                "type": "boolean",
                "example": false
              },
              "created_at": {
                "title": "created_at",
                "description": "Timestamp when the simulation was created.",
                "type": "string",
                "format": "date-time",
                "example": "2023-12-20T14:03:57.3212051Z"
              }
            }
          },
          "contracts": {
            "title": "contracts",
            "description": "List of contract accounts involved in the simulation. Each entry contains\nthe contract's ID, network ID, address, name, verification status, associated\nstandards (ERC20, ERC721, etc.), token data, compiler version, deployed bytecode,\nand source code (if verified).",
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "title": "id",
                  "description": "Unique contract identifier in `network:chainId:address` format.",
                  "type": "string",
                  "example": "eth:1:0xbd7b550d2e7571383d84acf597a00d341e5c406e"
                },
                "contract_id": {
                  "title": "contract_id",
                  "description": "Contract identifier (same as id).",
                  "type": "string"
                },
                "balance": {
                  "title": "balance",
                  "description": "Contract balance.",
                  "type": "string"
                },
                "network_id": {
                  "title": "network_id",
                  "description": "Network ID the contract is deployed on.",
                  "type": "string",
                  "example": "1"
                },
                "public": {
                  "title": "public",
                  "description": "Whether the contract is publicly verified.",
                  "type": "boolean",
                  "example": true
                },
                "verified_by": {
                  "title": "verified_by",
                  "description": "Source of verification (e.g., \"etherscan\").",
                  "type": "string",
                  "example": "etherscan"
                },
                "verification_date": {
                  "title": "verification_date",
                  "description": "When the contract was verified.",
                  "type": "string",
                  "format": "date-time"
                },
                "address": {
                  "title": "address",
                  "description": "Contract address.",
                  "type": "string",
                  "example": "0xbd7b550d2e7571383d84acf597a00d341e5c406e"
                },
                "contract_name": {
                  "title": "contract_name",
                  "description": "Name of the contract (e.g., \"UniswapV2Router02\").",
                  "type": "string",
                  "example": "MultiPath"
                },
                "ens_domain": {
                  "title": "ens_domain",
                  "description": "ENS domains associated with this address.",
                  "type": [
                    "array",
                    "null"
                  ],
                  "items": {
                    "type": "string"
                  }
                },
                "type": {
                  "title": "type",
                  "description": "Account type. Possible values:\n- `wallet` - Externally Owned Account (EOA)\n- `contract` - Verified smart contract\n- `unverified_contract` - Unverified smart contract",
                  "type": "string",
                  "enum": [
                    "wallet",
                    "contract",
                    "unverified_contract"
                  ],
                  "example": "contract"
                },
                "standard": {
                  "title": "standard",
                  "description": "Primary contract standard. Possible values include:\n`erc20`, `erc721`, `erc1155`, `eip1167`, `eip1967`, `beacon_proxy`, `custom_proxy`, `native_currency`",
                  "type": "string"
                },
                "standards": {
                  "title": "standards",
                  "description": "List of all standards the contract implements.",
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "token_data": {
                  "title": "token_data",
                  "description": "Token-specific data if the contract is a token.",
                  "type": [
                    "object",
                    "null"
                  ],
                  "properties": {
                    "symbol": {
                      "type": "string"
                    },
                    "name": {
                      "type": "string"
                    },
                    "decimals": {
                      "type": "number"
                    },
                    "main": {
                      "type": "boolean"
                    }
                  }
                },
                "evm_version": {
                  "title": "evm_version",
                  "description": "EVM version the contract was compiled for.",
                  "type": "string"
                },
                "compiler_version": {
                  "title": "compiler_version",
                  "description": "Compiler version used to compile the contract.",
                  "type": "string",
                  "example": "v0.7.5+commit.eb77ed08"
                },
                "optimizations_used": {
                  "title": "optimizations_used",
                  "description": "Whether compiler optimizations were enabled.",
                  "type": "boolean"
                },
                "optimization_runs": {
                  "title": "optimization_runs",
                  "description": "Number of optimizer runs.",
                  "type": "number"
                },
                "libraries": {
                  "title": "libraries",
                  "description": "Libraries linked to the contract.",
                  "type": [
                    "object",
                    "null"
                  ]
                },
                "compiler_settings": {
                  "title": "compiler_settings",
                  "description": "Compiler settings used for compilation.",
                  "type": "object"
                },
                "deployed_bytecode": {
                  "title": "deployed_bytecode",
                  "description": "Hex-encoded deployed bytecode of the contract.",
                  "type": "string"
                },
                "creation_bytecode": {
                  "title": "creation_bytecode",
                  "description": "Hex-encoded creation bytecode of the contract.",
                  "type": "string"
                },
                "data": {
                  "title": "data",
                  "description": "Public contract data including the main contract name, source files, and ABI.",
                  "type": [
                    "object",
                    "null"
                  ],
                  "properties": {
                    "main_contract": {
                      "type": "string"
                    },
                    "contract_info": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "number"
                          },
                          "path": {
                            "type": "string"
                          },
                          "name": {
                            "type": "string"
                          },
                          "source": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "abi": {
                      "type": "array",
                      "items": {}
                    }
                  }
                },
                "src_map": {
                  "title": "src_map",
                  "description": "Source map for the contract bytecode.",
                  "type": "string"
                },
                "creation_block": {
                  "title": "creation_block",
                  "description": "Block number at which the contract was deployed.",
                  "type": "number"
                },
                "creation_tx": {
                  "title": "creation_tx",
                  "description": "Transaction hash of the contract deployment.",
                  "type": "string"
                },
                "creator_address": {
                  "title": "creator_address",
                  "description": "Address that deployed the contract.",
                  "type": "string"
                },
                "language": {
                  "title": "language",
                  "description": "Programming language (solidity or vyper).",
                  "type": "string",
                  "enum": [
                    "solidity",
                    "vyper"
                  ]
                },
                "in_project": {
                  "title": "in_project",
                  "description": "Whether the contract is part of the project.",
                  "type": "boolean"
                },
                "token_info": {
                  "title": "token_info",
                  "description": "Token metadata (symbol, name, decimals, logo, USD value).",
                  "type": [
                    "object",
                    "null"
                  ]
                }
              }
            }
          },
          "generated_access_list": {
            "title": "generated_access_list",
            "description": "EIP-2930 access list generated by the simulation when `generate_access_list`\nis set to `true` in the request. Contains addresses and their accessed storage\nkeys for gas optimization.",
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "address": {
                  "title": "address",
                  "description": "Contract address in the access list.",
                  "type": "string"
                },
                "storage_keys": {
                  "title": "storage_keys",
                  "description": "Storage keys accessed in this contract.",
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      },
      "simulation-bundle-payload": {
        "type": "object",
        "properties": {
          "simulations": {
            "title": "simulations",
            "description": "Array of transactions to simulate sequentially. Each subsequent transaction sees\nthe state changes from all previous transactions. If a simulation fails, all\nfollowing simulations in the sequence will not be executed.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/simulation-payload"
            }
          },
          "block_number": {
            "title": "block_number",
            "description": "Block number to use for all simulations in the bundle. Individual simulations can override this.",
            "type": "number"
          },
          "simulation_type": {
            "title": "simulation_type",
            "description": "Default simulation type for all simulations in the bundle. Individual simulations can override this.",
            "type": "string",
            "enum": [
              "full",
              "quick",
              "abi"
            ]
          },
          "state_objects": {
            "title": "state_objects",
            "description": "Initial state overrides applied before the first simulation. The **key** is the\ncontract address, and the **value** is an object that contains overrides of nonce,\ncode, balance, or storage.",
            "type": "object",
            "$ref": "#/components/schemas/state-override"
          },
          "save": {
            "title": "save",
            "description": "Save all simulations in the bundle to the dashboard.",
            "type": "boolean"
          }
        },
        "required": [
          "simulations"
        ]
      },
      "simulate_bundle_post_response": {
        "type": "object",
        "title": "Simulate Transaction Bundle Response",
        "description": "An object with details about simulated transaction bundle.",
        "example": {
          "simulation_results": [
            {
              "transaction": {
                "hash": "0x3f95cbe58730449c3d7e284e607becd52363708c582d0c37e789e54c014d2065",
                "block_hash": "",
                "block_number": 22996361,
                "from": "0xe2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2",
                "gas": 9223372036854776000,
                "gas_price": 0,
                "gas_fee_cap": 0,
                "gas_tip_cap": 0,
                "cumulative_gas_used": 0,
                "gas_used": 53465,
                "effective_gas_price": 0,
                "input": "0x40c10f19000000000000000000000000e58b9ee93700a616b50509c8292977fa7a0f8ce10000000000000000000000000000000000000000000000001bc16d674ec80000",
                "nonce": 0,
                "to": "0x6b175474e89094c44da98b954eedeac495271d0f",
                "index": 0,
                "value": "0x",
                "access_list": null,
                "status": true,
                "addresses": null,
                "contract_ids": null,
                "network_id": "1",
                "timestamp": "2025-07-25T13:08:45Z",
                "function_selector": "",
                "l1_block_number": 0,
                "l1_timestamp": 0,
                "deposit_tx": false,
                "system_tx": false,
                "sig": {
                  "v": "0x0",
                  "r": "0x0",
                  "s": "0x0"
                },
                "transaction_info": {
                  "contract_id": "eth:1:0x6b175474e89094c44da98b954eedeac495271d0f",
                  "block_number": 22996361,
                  "transaction_id": "0x3f95cbe58730449c3d7e284e607becd52363708c582d0c37e789e54c014d2065",
                  "contract_address": "0x6b175474e89094c44da98b954eedeac495271d0f",
                  "method": null,
                  "parameters": null,
                  "intrinsic_gas": 21620,
                  "refund_gas": 0,
                  "call_trace": {
                    "hash": "0x3f95cbe58730449c3d7e284e607becd52363708c582d0c37e789e54c014d2065",
                    "contract_name": "",
                    "function_pc": 0,
                    "function_op": "CALL",
                    "absolute_position": 0,
                    "caller_pc": 0,
                    "caller_op": "CALL",
                    "call_type": "CALL",
                    "address": "0xe2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2",
                    "from": "0xe2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2",
                    "from_balance": "0",
                    "to": "0x6b175474e89094c44da98b954eedeac495271d0f",
                    "to_balance": "0",
                    "value": "0",
                    "block_timestamp": "0001-01-01T00:00:00Z",
                    "gas": 9223372036854754000,
                    "gas_used": 31845,
                    "intrinsic_gas": 21620,
                    "storage_address": "0xe2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2",
                    "input": "0x40c10f19000000000000000000000000e58b9ee93700a616b50509c8292977fa7a0f8ce10000000000000000000000000000000000000000000000001bc16d674ec80000",
                    "nonce_diff": [
                      {
                        "address": "0xe2E2E2e2e2e2E2E2E2E2e2E2e2E2E2e2e2e2E2e2",
                        "original": "0",
                        "dirty": "1"
                      }
                    ],
                    "state_diff": [
                      {
                        "address": "0x6b175474e89094c44da98b954eedeac495271d0f",
                        "soltype": null,
                        "original": null,
                        "dirty": null,
                        "raw": [
                          {
                            "address": "0x6b175474e89094c44da98b954eedeac495271d0f",
                            "key": "0x0000000000000000000000000000000000000000000000000000000000000001",
                            "original": "0x00000000000000000000000000000000000000000c07e926adb7e6736a51195f",
                            "dirty": "0x00000000000000000000000000000000000000000c07e926c97953dab919195f"
                          }
                        ]
                      },
                      {
                        "address": "0x6b175474e89094c44da98b954eedeac495271d0f",
                        "soltype": null,
                        "original": null,
                        "dirty": null,
                        "raw": [
                          {
                            "address": "0x6b175474e89094c44da98b954eedeac495271d0f",
                            "key": "0x9b5472766fd311751f6a33c8e30061e20a26259ca626cf5a2feaadf96903cd9e",
                            "original": "0x0000000000000000000000000000000000000000000000000000000000000000",
                            "dirty": "0x0000000000000000000000000000000000000000000000001bc16d674ec80000"
                          }
                        ]
                      }
                    ],
                    "logs": [
                      {
                        "name": "",
                        "anonymous": false,
                        "inputs": null,
                        "raw": {
                          "address": "0x6b175474e89094c44da98b954eedeac495271d0f",
                          "topics": [
                            "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
                            "0x0000000000000000000000000000000000000000000000000000000000000000",
                            "0x000000000000000000000000e58b9ee93700a616b50509c8292977fa7a0f8ce1"
                          ],
                          "data": "0x0000000000000000000000000000000000000000000000001bc16d674ec80000"
                        },
                        "trace_index": null
                      }
                    ],
                    "output": "0x",
                    "decoded_output": null,
                    "network_id": "1",
                    "calls": null,
                    "asset_changes": [
                      {
                        "token_info": {
                          "standard": "ERC20",
                          "type": "Fungible",
                          "contract_address": "0x6b175474e89094c44da98b954eedeac495271d0f",
                          "symbol": "dai",
                          "name": "Dai",
                          "logo": "https://coin-images.coingecko.com/coins/images/9956/large/Badge_Dai.png?1696509996",
                          "decimals": 18,
                          "dollar_value": "0.9999750256538391"
                        },
                        "type": "Mint",
                        "to": "0xe58b9ee93700a616b50509c8292977fa7a0f8ce1",
                        "amount": "2",
                        "raw_amount": "2000000000000000000",
                        "dollar_value": "1.9999500513076782227",
                        "from_before_balance": "0x0",
                        "to_before_balance": "0x0"
                      }
                    ],
                    "balance_changes": [
                      {
                        "address": "0xe58b9ee93700a616b50509c8292977fa7a0f8ce1",
                        "dollar_value": "1.9999500513076782227",
                        "transfers": [
                          0
                        ]
                      }
                    ]
                  },
                  "stack_trace": null,
                  "logs": [
                    {
                      "name": "",
                      "anonymous": false,
                      "inputs": null,
                      "raw": {
                        "address": "0x6b175474e89094c44da98b954eedeac495271d0f",
                        "topics": [
                          "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
                          "0x0000000000000000000000000000000000000000000000000000000000000000",
                          "0x000000000000000000000000e58b9ee93700a616b50509c8292977fa7a0f8ce1"
                        ],
                        "data": "0x0000000000000000000000000000000000000000000000001bc16d674ec80000"
                      },
                      "trace_index": null
                    }
                  ],
                  "balance_diff": null,
                  "nonce_diff": [
                    {
                      "address": "0xe2E2E2e2e2e2E2E2E2E2e2E2e2E2E2e2e2e2E2e2",
                      "original": "0",
                      "dirty": "1"
                    }
                  ],
                  "state_diff": [
                    {
                      "address": "0x6b175474e89094c44da98b954eedeac495271d0f",
                      "soltype": null,
                      "original": null,
                      "dirty": null,
                      "raw": [
                        {
                          "address": "0x6b175474e89094c44da98b954eedeac495271d0f",
                          "key": "0x0000000000000000000000000000000000000000000000000000000000000001",
                          "original": "0x00000000000000000000000000000000000000000c07e926adb7e6736a51195f",
                          "dirty": "0x00000000000000000000000000000000000000000c07e926c97953dab919195f"
                        }
                      ]
                    },
                    {
                      "address": "0x6b175474e89094c44da98b954eedeac495271d0f",
                      "soltype": null,
                      "original": null,
                      "dirty": null,
                      "raw": [
                        {
                          "address": "0x6b175474e89094c44da98b954eedeac495271d0f",
                          "key": "0x9b5472766fd311751f6a33c8e30061e20a26259ca626cf5a2feaadf96903cd9e",
                          "original": "0x0000000000000000000000000000000000000000000000000000000000000000",
                          "dirty": "0x0000000000000000000000000000000000000000000000001bc16d674ec80000"
                        }
                      ]
                    }
                  ],
                  "raw_state_diff": null,
                  "console_logs": null,
                  "asset_changes": [
                    {
                      "token_info": {
                        "standard": "ERC20",
                        "type": "Fungible",
                        "contract_address": "0x6b175474e89094c44da98b954eedeac495271d0f",
                        "symbol": "dai",
                        "name": "Dai",
                        "logo": "https://coin-images.coingecko.com/coins/images/9956/large/Badge_Dai.png?1696509996",
                        "decimals": 18,
                        "dollar_value": "0.9999750256538391"
                      },
                      "type": "Mint",
                      "to": "0xe58b9ee93700a616b50509c8292977fa7a0f8ce1",
                      "amount": "2",
                      "raw_amount": "2000000000000000000",
                      "dollar_value": "1.9999500513076782227",
                      "from_before_balance": "0x0",
                      "to_before_balance": "0x0"
                    }
                  ],
                  "exposure_changes": null,
                  "balance_changes": [
                    {
                      "address": "0xe58b9ee93700a616b50509c8292977fa7a0f8ce1",
                      "dollar_value": "1.9999500513076782227",
                      "transfers": [
                        0
                      ]
                    }
                  ],
                  "created_at": "2025-07-25T13:08:45Z"
                },
                "method": "",
                "decoded_input": null,
                "call_trace": [
                  {
                    "call_type": "CALL",
                    "from": "0xe2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2",
                    "to": "0x6b175474e89094c44da98b954eedeac495271d0f",
                    "gas": 9223372036854754000,
                    "gas_used": 31845,
                    "address": "0x6b175474e89094c44da98b954eedeac495271d0f",
                    "input": "0x40c10f19000000000000000000000000e58b9ee93700a616b50509c8292977fa7a0f8ce10000000000000000000000000000000000000000000000001bc16d674ec80000"
                  }
                ],
                "value_fee_currency": null,
                "value_gateway_fee": null,
                "value_gateway_fee_recipient": null
              },
              "simulation": {
                "id": "e833d29c-f692-40e3-96e4-93eab812dfed",
                "project_id": "6f72cce7-6419-45e2-bcd5-1979bd4b05e9",
                "owner_id": "49309f73-1d60-48fc-94b3-120fd9982381",
                "network_id": "1",
                "block_number": 22996361,
                "transaction_index": 0,
                "from": "0xe2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2",
                "to": "0x6b175474e89094c44da98b954eedeac495271d0f",
                "input": "0x40c10f19000000000000000000000000e58b9ee93700a616b50509c8292977fa7a0f8ce10000000000000000000000000000000000000000000000001bc16d674ec80000",
                "gas": 0,
                "gas_price": "0",
                "gas_used": 53465,
                "value": "0",
                "status": true,
                "access_list": null,
                "queue_origin": "",
                "block_header": {
                  "number": "0x15ee589",
                  "hash": "0x0000000000000000000000000000000000000000000000000000000000000000",
                  "stateRoot": "0x0000000000000000000000000000000000000000000000000000000000000000",
                  "parentHash": "0x9900129a5188c2b27a7059c39028642d54e38df63e3e3c6b3f772460f7cadd59",
                  "sha3Uncles": "0x0000000000000000000000000000000000000000000000000000000000000000",
                  "transactionsRoot": "0x0000000000000000000000000000000000000000000000000000000000000000",
                  "receiptsRoot": "0x0000000000000000000000000000000000000000000000000000000000000000",
                  "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
                  "timestamp": "0x688381dd",
                  "difficulty": "0x0",
                  "gasLimit": "0x2ad4dc5",
                  "gasUsed": "0x128b6bd",
                  "miner": "0xdadb0d80178819f2319190d340ce9a924f783711",
                  "extraData": "0x4275696c6465724e657420284e65746865726d696e6429",
                  "mixHash": "0x5e183191c78f21a619f0432742e02b0ed906d70acaead89ada8731af71457138",
                  "nonce": "0x0000000000000000",
                  "baseFeePerGas": "0x1",
                  "size": "0x0",
                  "totalDifficulty": "0x0",
                  "uncles": null,
                  "transactions": null
                },
                "state_overrides": {
                  "0x6B175474E89094C44Da98b954EedeAC495271d0F": {
                    "nonce": 1,
                    "balance": "0",
                    "code": "0x608060405234801561001057600080fd5b50600436106101425760003560e01c80637ecebe00116100b8578063a9059cbb1161007c578063a9059cbb146106b4578063b753a98c1461071a578063bb35783b14610768578063bf353dbb146107d6578063dd62ed3e1461082e578063f2d5d56b146108a657610142565b80637ecebe00146104a15780638fcbaf0c146104f957806395d89b411461059f5780639c52a7f1146106225780639dc29fac1461066657610142565b8063313ce5671161010a578063313ce567146102f25780633644e5151461031657806340c10f191461033457806354fd4d501461038257806365fae35e1461040557806370a082311461044957610142565b806306fdde0314610147578063095ea7b3146101ca57806318160ddd1461023057806323b872dd1461024e57806330adf81f146102d4575b600080fd5b61014f6108f4565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561018f578082015181840152602081019050610174565b50505050905090810190601f1680156101bc5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610216600480360360408110156101e057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061092d565b604051808215151515815260200191505060405180910390f35b610238610a1f565b6040518082815260200191505060405180910390f35b6102ba6004803603606081101561026457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a25565b604051808215151515815260200191505060405180910390f35b6102dc610f3a565b6040518082815260200191505060405180910390f35b6102fa610f61565b604051808260ff1660ff16815260200191505060405180910390f35b61031e610f66565b6040518082815260200191505060405180910390f35b6103806004803603604081101561034a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f6c565b005b61038a611128565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156103ca5780820151818401526020810190506103af565b50505050905090810190601f1680156103f75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6104476004803603602081101561041b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611161565b005b61048b6004803603602081101561045f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061128f565b6040518082815260200191505060405180910390f35b6104e3600480360360208110156104b757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112a7565b6040518082815260200191505060405180910390f35b61059d600480360361010081101561051057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190803515159060200190929190803560ff16906020019092919080359060200190929190803590602001909291905050506112bf565b005b6105a76117fa565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105e75780820151818401526020810190506105cc565b50505050905090810190601f1680156106145780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6106646004803603602081101561063857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611833565b005b6106b26004803603604081101561067c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611961565b005b610700600480360360408110156106ca57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611df4565b604051808215151515815260200191505060405180910390f35b6107666004803603604081101561073057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611e09565b005b6107d46004803603606081101561077e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611e19565b005b610818600480360360208110156107ec57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e2a565b6040518082815260200191505060405180910390f35b6108906004803603604081101561084457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e42565b6040518082815260200191505060405180910390f35b6108f2600480360360408110156108bc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611e67565b005b6040518060400160405280600e81526020017f44616920537461626c65636f696e00000000000000000000000000000000000081525081565b600081600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60015481565b600081600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610adc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f4461692f696e73756666696369656e742d62616c616e6365000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015610bb457507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414155b15610db25781600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610cab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f4461692f696e73756666696369656e742d616c6c6f77616e636500000000000081525060200191505060405180910390fd5b610d31600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483611e77565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610dfb600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483611e77565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610e87600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483611e91565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b7fea2aa0a1be11a07ed86d755c93467f4f82362b452371d1ba94d1715123511acb60001b81565b601281565b60055481565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414611020576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4461692f6e6f742d617574686f72697a6564000000000000000000000000000081525060200191505060405180910390fd5b611069600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482611e91565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506110b860015482611e91565b6001819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b6040518060400160405280600181526020017f310000000000000000000000000000000000000000000000000000000000000081525081565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414611215576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4461692f6e6f742d617574686f72697a6564000000000000000000000000000081525060200191505060405180910390fd5b60016000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505961012081016040526020815260e0602082015260e0600060408301376024356004353360003560e01c60e01b61012085a45050565b60026020528060005260406000206000915090505481565b60046020528060005260406000206000915090505481565b60006005547fea2aa0a1be11a07ed86d755c93467f4f82362b452371d1ba94d1715123511acb60001b8a8a8a8a8a604051602001808781526020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018381526020018215151515815260200196505050505050506040516020818303038152906040528051906020012060405160200180807f190100000000000000000000000000000000000000000000000000000000000081525060020183815260200182815260200192505050604051602081830303815290604052805190602001209050600073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff16141561148c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f4461692f696e76616c69642d616464726573732d30000000000000000000000081525060200191505060405180910390fd5b60018185858560405160008152602001604052604051808581526020018460ff1660ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa1580156114e9573d6000803e3d6000fd5b5050506020604051035173ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614611593576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4461692f696e76616c69642d7065726d6974000000000000000000000000000081525060200191505060405180910390fd5b60008614806115a25750854211155b611614576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4461692f7065726d69742d65787069726564000000000000000000000000000081525060200191505060405180910390fd5b600460008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001019190505587146116d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f4461692f696e76616c69642d6e6f6e636500000000000000000000000000000081525060200191505060405180910390fd5b6000856116e4576000611706565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5b905080600360008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a350505050505050505050565b6040518060400160405280600381526020017f444149000000000000000000000000000000000000000000000000000000000081525081565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054146118e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4461692f6e6f742d617574686f72697a6564000000000000000000000000000081525060200191505060405180910390fd5b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505961012081016040526020815260e0602082015260e0600060408301376024356004353360003560e01c60e01b61012085a45050565b80600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015611a16576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f4461692f696e73756666696369656e742d62616c616e6365000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015611aee57507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414155b15611cec5780600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015611be5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f4461692f696e73756666696369656e742d616c6c6f77616e636500000000000081525060200191505060405180910390fd5b611c6b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482611e77565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b611d35600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482611e77565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611d8460015482611e77565b600181905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b6000611e01338484610a25565b905092915050565b611e14338383610a25565b505050565b611e24838383610a25565b50505050565b60006020528060005260406000206000915090505481565b6003602052816000526040600020602052806000526040600020600091509150505481565b611e72823383610a25565b505050565b6000828284039150811115611e8b57600080fd5b92915050565b6000828284019150811015611ea557600080fd5b9291505056fea265627a7a72315820c0ae2c29860c0a59d5586a579abbcddfe4bcef0524a87301425cbc58c3e94e3164736f6c634300050c0032",
                    "storage": {
                      "0x0000000000000000000000000000000000000000000000000000000000000001": "0x00000000000000000000000000000000000000000c07e926c97953dab919195f",
                      "0x34d894a8b9365501ad6fdf2db31d57ae2dae4dd7c48a222376e71e91a3097388": "0x0000000000000000000000000000000000000000000000000d7621dc58210000",
                      "0x9b5472766fd311751f6a33c8e30061e20a26259ca626cf5a2feaadf96903cd9e": "0x0000000000000000000000000000000000000000000000001b56d88fff850000",
                      "0xb735e80be7a6e95eb724b9cb0b2f5d588495ea30037e3d09d9402821bdda82bd": "0x000000000000000000000000000000000000000000000000006a94d74f430000"
                    }
                  },
                  "0x6b175474e89094c44da98b954eedeac495271d0f": {
                    "storage": {
                      "0xedd7d04419e9c48ceb6055956cbb4e2091ae310313a4d1fa7cbcfe7561616e03": "0x0000000000000000000000000000000000000000000000000000000000000001"
                    }
                  },
                  "0xE58b9ee93700A616b50509C8292977FA7a0f8ce1": {
                    "nonce": 5,
                    "balance": "0",
                    "code": "0x"
                  },
                  "0xF7dDedc66B1d482e5C38E4730B3357d32411e5Dd": {
                    "nonce": 1,
                    "balance": "0",
                    "code": "0x"
                  },
                  "0xe2E2E2e2e2e2E2E2E2E2e2E2e2E2E2e2e2e2E2e2": {
                    "nonce": 1,
                    "balance": "0",
                    "code": "0x"
                  }
                },
                "deposit_tx": false,
                "system_tx": false,
                "nonce": 0,
                "addresses": null,
                "contract_ids": null,
                "shared": false,
                "created_at": "2025-07-25T13:08:45.048075875Z"
              },
              "contracts": [],
              "generated_access_list": []
            },
            {
              "transaction": {
                "hash": "0x8e0bcf55968903f908921bb0db2c335cb58fe14b2b022b81f853e54100f860e2",
                "block_hash": "",
                "block_number": 22996361,
                "from": "0xe58b9ee93700a616b50509c8292977fa7a0f8ce1",
                "gas": 9223372036854776000,
                "gas_price": 0,
                "gas_fee_cap": 0,
                "gas_tip_cap": 0,
                "cumulative_gas_used": 0,
                "gas_used": 46146,
                "effective_gas_price": 0,
                "input": "0x095ea7b3000000000000000000000000f7ddedc66b1d482e5c38e4730b3357d32411e5dd0000000000000000000000000000000000000000000000000de0b6b3a7640000",
                "nonce": 4,
                "to": "0x6b175474e89094c44da98b954eedeac495271d0f",
                "index": 0,
                "value": "0x",
                "access_list": null,
                "status": true,
                "addresses": null,
                "contract_ids": null,
                "network_id": "1",
                "timestamp": "2025-07-25T13:08:45Z",
                "function_selector": "",
                "l1_block_number": 0,
                "l1_timestamp": 0,
                "deposit_tx": false,
                "system_tx": false,
                "sig": {
                  "v": "0x0",
                  "r": "0x0",
                  "s": "0x0"
                },
                "transaction_info": {
                  "contract_id": "eth:1:0x6b175474e89094c44da98b954eedeac495271d0f",
                  "block_number": 22996361,
                  "transaction_id": "0x8e0bcf55968903f908921bb0db2c335cb58fe14b2b022b81f853e54100f860e2",
                  "contract_address": "0x6b175474e89094c44da98b954eedeac495271d0f",
                  "method": null,
                  "parameters": null,
                  "intrinsic_gas": 21632,
                  "refund_gas": 0,
                  "call_trace": {
                    "hash": "0x8e0bcf55968903f908921bb0db2c335cb58fe14b2b022b81f853e54100f860e2",
                    "contract_name": "",
                    "function_pc": 0,
                    "function_op": "CALL",
                    "absolute_position": 0,
                    "caller_pc": 0,
                    "caller_op": "CALL",
                    "call_type": "CALL",
                    "address": "0xe58b9ee93700a616b50509c8292977fa7a0f8ce1",
                    "from": "0xe58b9ee93700a616b50509c8292977fa7a0f8ce1",
                    "from_balance": "0",
                    "to": "0x6b175474e89094c44da98b954eedeac495271d0f",
                    "to_balance": "0",
                    "value": "0",
                    "block_timestamp": "0001-01-01T00:00:00Z",
                    "gas": 9223372036854754000,
                    "gas_used": 24514,
                    "intrinsic_gas": 21632,
                    "storage_address": "0xe58b9ee93700a616b50509c8292977fa7a0f8ce1",
                    "input": "0x095ea7b3000000000000000000000000f7ddedc66b1d482e5c38e4730b3357d32411e5dd0000000000000000000000000000000000000000000000000de0b6b3a7640000",
                    "nonce_diff": [
                      {
                        "address": "0xE58b9ee93700A616b50509C8292977FA7a0f8ce1",
                        "original": "4",
                        "dirty": "5"
                      }
                    ],
                    "state_diff": [
                      {
                        "address": "0x6b175474e89094c44da98b954eedeac495271d0f",
                        "soltype": null,
                        "original": null,
                        "dirty": null,
                        "raw": [
                          {
                            "address": "0x6b175474e89094c44da98b954eedeac495271d0f",
                            "key": "0x34d894a8b9365501ad6fdf2db31d57ae2dae4dd7c48a222376e71e91a3097388",
                            "original": "0x0000000000000000000000000000000000000000000000000000000000000000",
                            "dirty": "0x0000000000000000000000000000000000000000000000000de0b6b3a7640000"
                          }
                        ]
                      }
                    ],
                    "logs": [
                      {
                        "name": "",
                        "anonymous": false,
                        "inputs": null,
                        "raw": {
                          "address": "0x6b175474e89094c44da98b954eedeac495271d0f",
                          "topics": [
                            "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925",
                            "0x000000000000000000000000e58b9ee93700a616b50509c8292977fa7a0f8ce1",
                            "0x000000000000000000000000f7ddedc66b1d482e5c38e4730b3357d32411e5dd"
                          ],
                          "data": "0x0000000000000000000000000000000000000000000000000de0b6b3a7640000"
                        },
                        "trace_index": null
                      }
                    ],
                    "output": "0x0000000000000000000000000000000000000000000000000000000000000001",
                    "decoded_output": null,
                    "network_id": "1",
                    "calls": null,
                    "exposure_changes": [
                      {
                        "token_info": {
                          "standard": "ERC20",
                          "type": "Fungible",
                          "contract_address": "0x6b175474e89094c44da98b954eedeac495271d0f",
                          "symbol": "dai",
                          "name": "Dai",
                          "logo": "https://coin-images.coingecko.com/coins/images/9956/large/Badge_Dai.png?1696509996",
                          "decimals": 18,
                          "dollar_value": "0.9999750256538391"
                        },
                        "type": "Approve",
                        "owner": "0xe58b9ee93700a616b50509c8292977fa7a0f8ce1",
                        "spender": "0xf7ddedc66b1d482e5c38e4730b3357d32411e5dd",
                        "amount": "1",
                        "raw_amount": "1000000000000000000",
                        "dollar_value": "0.99997502565383911133"
                      }
                    ]
                  },
                  "stack_trace": null,
                  "logs": [
                    {
                      "name": "",
                      "anonymous": false,
                      "inputs": null,
                      "raw": {
                        "address": "0x6b175474e89094c44da98b954eedeac495271d0f",
                        "topics": [
                          "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925",
                          "0x000000000000000000000000e58b9ee93700a616b50509c8292977fa7a0f8ce1",
                          "0x000000000000000000000000f7ddedc66b1d482e5c38e4730b3357d32411e5dd"
                        ],
                        "data": "0x0000000000000000000000000000000000000000000000000de0b6b3a7640000"
                      },
                      "trace_index": null
                    }
                  ],
                  "balance_diff": null,
                  "nonce_diff": [
                    {
                      "address": "0xE58b9ee93700A616b50509C8292977FA7a0f8ce1",
                      "original": "4",
                      "dirty": "5"
                    }
                  ],
                  "state_diff": [
                    {
                      "address": "0x6b175474e89094c44da98b954eedeac495271d0f",
                      "soltype": null,
                      "original": null,
                      "dirty": null,
                      "raw": [
                        {
                          "address": "0x6b175474e89094c44da98b954eedeac495271d0f",
                          "key": "0x34d894a8b9365501ad6fdf2db31d57ae2dae4dd7c48a222376e71e91a3097388",
                          "original": "0x0000000000000000000000000000000000000000000000000000000000000000",
                          "dirty": "0x0000000000000000000000000000000000000000000000000de0b6b3a7640000"
                        }
                      ]
                    }
                  ],
                  "raw_state_diff": null,
                  "console_logs": null,
                  "asset_changes": null,
                  "exposure_changes": [
                    {
                      "token_info": {
                        "standard": "ERC20",
                        "type": "Fungible",
                        "contract_address": "0x6b175474e89094c44da98b954eedeac495271d0f",
                        "symbol": "dai",
                        "name": "Dai",
                        "logo": "https://coin-images.coingecko.com/coins/images/9956/large/Badge_Dai.png?1696509996",
                        "decimals": 18,
                        "dollar_value": "0.9999750256538391"
                      },
                      "type": "Approve",
                      "owner": "0xe58b9ee93700a616b50509c8292977fa7a0f8ce1",
                      "spender": "0xf7ddedc66b1d482e5c38e4730b3357d32411e5dd",
                      "amount": "1",
                      "raw_amount": "1000000000000000000",
                      "dollar_value": "0.99997502565383911133"
                    }
                  ],
                  "balance_changes": [],
                  "created_at": "2025-07-25T13:08:45Z"
                },
                "method": "",
                "decoded_input": null,
                "call_trace": [
                  {
                    "call_type": "CALL",
                    "from": "0xe58b9ee93700a616b50509c8292977fa7a0f8ce1",
                    "to": "0x6b175474e89094c44da98b954eedeac495271d0f",
                    "gas": 9223372036854754000,
                    "gas_used": 24514,
                    "address": "0x6b175474e89094c44da98b954eedeac495271d0f",
                    "input": "0x095ea7b3000000000000000000000000f7ddedc66b1d482e5c38e4730b3357d32411e5dd0000000000000000000000000000000000000000000000000de0b6b3a7640000",
                    "output": "0x0000000000000000000000000000000000000000000000000000000000000001"
                  }
                ],
                "value_fee_currency": null,
                "value_gateway_fee": null,
                "value_gateway_fee_recipient": null
              },
              "simulation": {
                "id": "f3fa7f69-41d6-4141-bd53-4388af12c053",
                "project_id": "6f72cce7-6419-45e2-bcd5-1979bd4b05e9",
                "owner_id": "49309f73-1d60-48fc-94b3-120fd9982381",
                "network_id": "1",
                "block_number": 22996361,
                "transaction_index": 0,
                "from": "0xe58b9ee93700a616b50509c8292977fa7a0f8ce1",
                "to": "0x6b175474e89094c44da98b954eedeac495271d0f",
                "input": "0x095ea7b3000000000000000000000000f7ddedc66b1d482e5c38e4730b3357d32411e5dd0000000000000000000000000000000000000000000000000de0b6b3a7640000",
                "gas": 0,
                "gas_price": "0",
                "gas_used": 46146,
                "value": "0",
                "status": true,
                "access_list": null,
                "queue_origin": "",
                "block_header": {
                  "number": "0x15ee589",
                  "hash": "0x0000000000000000000000000000000000000000000000000000000000000000",
                  "stateRoot": "0x0000000000000000000000000000000000000000000000000000000000000000",
                  "parentHash": "0x9900129a5188c2b27a7059c39028642d54e38df63e3e3c6b3f772460f7cadd59",
                  "sha3Uncles": "0x0000000000000000000000000000000000000000000000000000000000000000",
                  "transactionsRoot": "0x0000000000000000000000000000000000000000000000000000000000000000",
                  "receiptsRoot": "0x0000000000000000000000000000000000000000000000000000000000000000",
                  "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
                  "timestamp": "0x688381dd",
                  "difficulty": "0x0",
                  "gasLimit": "0x2ad4dc5",
                  "gasUsed": "0x128b6bd",
                  "miner": "0xdadb0d80178819f2319190d340ce9a924f783711",
                  "extraData": "0x4275696c6465724e657420284e65746865726d696e6429",
                  "mixHash": "0x5e183191c78f21a619f0432742e02b0ed906d70acaead89ada8731af71457138",
                  "nonce": "0x0000000000000000",
                  "baseFeePerGas": "0x1",
                  "size": "0x0",
                  "totalDifficulty": "0x0",
                  "uncles": null,
                  "transactions": null
                },
                "state_overrides": {
                  "0x6B175474E89094C44Da98b954EedeAC495271d0F": {
                    "nonce": 1,
                    "balance": "0",
                    "code": "0x608060405234801561001057600080fd5b50600436106101425760003560e01c80637ecebe00116100b8578063a9059cbb1161007c578063a9059cbb146106b4578063b753a98c1461071a578063bb35783b14610768578063bf353dbb146107d6578063dd62ed3e1461082e578063f2d5d56b146108a657610142565b80637ecebe00146104a15780638fcbaf0c146104f957806395d89b411461059f5780639c52a7f1146106225780639dc29fac1461066657610142565b8063313ce5671161010a578063313ce567146102f25780633644e5151461031657806340c10f191461033457806354fd4d501461038257806365fae35e1461040557806370a082311461044957610142565b806306fdde0314610147578063095ea7b3146101ca57806318160ddd1461023057806323b872dd1461024e57806330adf81f146102d4575b600080fd5b61014f6108f4565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561018f578082015181840152602081019050610174565b50505050905090810190601f1680156101bc5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610216600480360360408110156101e057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061092d565b604051808215151515815260200191505060405180910390f35b610238610a1f565b6040518082815260200191505060405180910390f35b6102ba6004803603606081101561026457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a25565b604051808215151515815260200191505060405180910390f35b6102dc610f3a565b6040518082815260200191505060405180910390f35b6102fa610f61565b604051808260ff1660ff16815260200191505060405180910390f35b61031e610f66565b6040518082815260200191505060405180910390f35b6103806004803603604081101561034a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f6c565b005b61038a611128565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156103ca5780820151818401526020810190506103af565b50505050905090810190601f1680156103f75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6104476004803603602081101561041b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611161565b005b61048b6004803603602081101561045f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061128f565b6040518082815260200191505060405180910390f35b6104e3600480360360208110156104b757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112a7565b6040518082815260200191505060405180910390f35b61059d600480360361010081101561051057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190803515159060200190929190803560ff16906020019092919080359060200190929190803590602001909291905050506112bf565b005b6105a76117fa565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105e75780820151818401526020810190506105cc565b50505050905090810190601f1680156106145780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6106646004803603602081101561063857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611833565b005b6106b26004803603604081101561067c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611961565b005b610700600480360360408110156106ca57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611df4565b604051808215151515815260200191505060405180910390f35b6107666004803603604081101561073057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611e09565b005b6107d46004803603606081101561077e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611e19565b005b610818600480360360208110156107ec57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e2a565b6040518082815260200191505060405180910390f35b6108906004803603604081101561084457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e42565b6040518082815260200191505060405180910390f35b6108f2600480360360408110156108bc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611e67565b005b6040518060400160405280600e81526020017f44616920537461626c65636f696e00000000000000000000000000000000000081525081565b600081600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60015481565b600081600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610adc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f4461692f696e73756666696369656e742d62616c616e6365000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015610bb457507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414155b15610db25781600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610cab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f4461692f696e73756666696369656e742d616c6c6f77616e636500000000000081525060200191505060405180910390fd5b610d31600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483611e77565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610dfb600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483611e77565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610e87600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483611e91565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b7fea2aa0a1be11a07ed86d755c93467f4f82362b452371d1ba94d1715123511acb60001b81565b601281565b60055481565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414611020576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4461692f6e6f742d617574686f72697a6564000000000000000000000000000081525060200191505060405180910390fd5b611069600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482611e91565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506110b860015482611e91565b6001819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b6040518060400160405280600181526020017f310000000000000000000000000000000000000000000000000000000000000081525081565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414611215576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4461692f6e6f742d617574686f72697a6564000000000000000000000000000081525060200191505060405180910390fd5b60016000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505961012081016040526020815260e0602082015260e0600060408301376024356004353360003560e01c60e01b61012085a45050565b60026020528060005260406000206000915090505481565b60046020528060005260406000206000915090505481565b60006005547fea2aa0a1be11a07ed86d755c93467f4f82362b452371d1ba94d1715123511acb60001b8a8a8a8a8a604051602001808781526020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018381526020018215151515815260200196505050505050506040516020818303038152906040528051906020012060405160200180807f190100000000000000000000000000000000000000000000000000000000000081525060020183815260200182815260200192505050604051602081830303815290604052805190602001209050600073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff16141561148c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f4461692f696e76616c69642d616464726573732d30000000000000000000000081525060200191505060405180910390fd5b60018185858560405160008152602001604052604051808581526020018460ff1660ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa1580156114e9573d6000803e3d6000fd5b5050506020604051035173ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614611593576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4461692f696e76616c69642d7065726d6974000000000000000000000000000081525060200191505060405180910390fd5b60008614806115a25750854211155b611614576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4461692f7065726d69742d65787069726564000000000000000000000000000081525060200191505060405180910390fd5b600460008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001019190505587146116d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f4461692f696e76616c69642d6e6f6e636500000000000000000000000000000081525060200191505060405180910390fd5b6000856116e4576000611706565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5b905080600360008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a350505050505050505050565b6040518060400160405280600381526020017f444149000000000000000000000000000000000000000000000000000000000081525081565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054146118e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4461692f6e6f742d617574686f72697a6564000000000000000000000000000081525060200191505060405180910390fd5b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505961012081016040526020815260e0602082015260e0600060408301376024356004353360003560e01c60e01b61012085a45050565b80600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015611a16576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f4461692f696e73756666696369656e742d62616c616e6365000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015611aee57507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414155b15611cec5780600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015611be5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f4461692f696e73756666696369656e742d616c6c6f77616e636500000000000081525060200191505060405180910390fd5b611c6b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482611e77565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b611d35600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482611e77565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611d8460015482611e77565b600181905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b6000611e01338484610a25565b905092915050565b611e14338383610a25565b505050565b611e24838383610a25565b50505050565b60006020528060005260406000206000915090505481565b6003602052816000526040600020602052806000526040600020600091509150505481565b611e72823383610a25565b505050565b6000828284039150811115611e8b57600080fd5b92915050565b6000828284019150811015611ea557600080fd5b9291505056fea265627a7a72315820c0ae2c29860c0a59d5586a579abbcddfe4bcef0524a87301425cbc58c3e94e3164736f6c634300050c0032",
                    "storage": {
                      "0x0000000000000000000000000000000000000000000000000000000000000001": "0x00000000000000000000000000000000000000000c07e926c97953dab919195f",
                      "0x34d894a8b9365501ad6fdf2db31d57ae2dae4dd7c48a222376e71e91a3097388": "0x0000000000000000000000000000000000000000000000000d7621dc58210000",
                      "0x9b5472766fd311751f6a33c8e30061e20a26259ca626cf5a2feaadf96903cd9e": "0x0000000000000000000000000000000000000000000000001b56d88fff850000",
                      "0xb735e80be7a6e95eb724b9cb0b2f5d588495ea30037e3d09d9402821bdda82bd": "0x000000000000000000000000000000000000000000000000006a94d74f430000"
                    }
                  },
                  "0x6b175474e89094c44da98b954eedeac495271d0f": {
                    "storage": {
                      "0xedd7d04419e9c48ceb6055956cbb4e2091ae310313a4d1fa7cbcfe7561616e03": "0x0000000000000000000000000000000000000000000000000000000000000001"
                    }
                  },
                  "0xE58b9ee93700A616b50509C8292977FA7a0f8ce1": {
                    "nonce": 5,
                    "balance": "0",
                    "code": "0x"
                  },
                  "0xF7dDedc66B1d482e5C38E4730B3357d32411e5Dd": {
                    "nonce": 1,
                    "balance": "0",
                    "code": "0x"
                  },
                  "0xe2E2E2e2e2e2E2E2E2E2e2E2e2E2E2e2e2e2E2e2": {
                    "nonce": 1,
                    "balance": "0",
                    "code": "0x"
                  }
                },
                "deposit_tx": false,
                "system_tx": false,
                "nonce": 4,
                "addresses": null,
                "contract_ids": null,
                "shared": false,
                "created_at": "2025-07-25T13:08:45.997571908Z"
              },
              "contracts": [],
              "generated_access_list": []
            },
            {
              "transaction": {
                "hash": "0x4f51932dc0083945042312d9ca1548e86272d9642c847bf8d03b86484ca321fb",
                "block_hash": "",
                "block_number": 22996361,
                "from": "0xf7ddedc66b1d482e5c38e4730b3357d32411e5dd",
                "gas": 9223372036854776000,
                "gas_price": 0,
                "gas_fee_cap": 0,
                "gas_tip_cap": 0,
                "cumulative_gas_used": 0,
                "gas_used": 58251,
                "effective_gas_price": 0,
                "input": "0x23b872dd000000000000000000000000e58b9ee93700a616b50509c8292977fa7a0f8ce1000000000000000000000000bd8daa414fda8a8a129f7035e7496759c5af8570000000000000000000000000000000000000000000000000006a94d74f430000",
                "nonce": 0,
                "to": "0x6b175474e89094c44da98b954eedeac495271d0f",
                "index": 0,
                "value": "0x",
                "access_list": null,
                "status": true,
                "addresses": null,
                "contract_ids": null,
                "network_id": "1",
                "timestamp": "2025-07-25T13:08:46Z",
                "function_selector": "",
                "l1_block_number": 0,
                "l1_timestamp": 0,
                "deposit_tx": false,
                "system_tx": false,
                "sig": {
                  "v": "0x0",
                  "r": "0x0",
                  "s": "0x0"
                },
                "transaction_info": {
                  "contract_id": "eth:1:0x6b175474e89094c44da98b954eedeac495271d0f",
                  "block_number": 22996361,
                  "transaction_id": "0x4f51932dc0083945042312d9ca1548e86272d9642c847bf8d03b86484ca321fb",
                  "contract_address": "0x6b175474e89094c44da98b954eedeac495271d0f",
                  "method": null,
                  "parameters": null,
                  "intrinsic_gas": 21976,
                  "refund_gas": 0,
                  "call_trace": {
                    "hash": "0x4f51932dc0083945042312d9ca1548e86272d9642c847bf8d03b86484ca321fb",
                    "contract_name": "",
                    "function_pc": 0,
                    "function_op": "CALL",
                    "absolute_position": 0,
                    "caller_pc": 0,
                    "caller_op": "CALL",
                    "call_type": "CALL",
                    "address": "0xf7ddedc66b1d482e5c38e4730b3357d32411e5dd",
                    "from": "0xf7ddedc66b1d482e5c38e4730b3357d32411e5dd",
                    "from_balance": "0",
                    "to": "0x6b175474e89094c44da98b954eedeac495271d0f",
                    "to_balance": "0",
                    "value": "0",
                    "block_timestamp": "0001-01-01T00:00:00Z",
                    "gas": 9223372036854754000,
                    "gas_used": 36275,
                    "intrinsic_gas": 21976,
                    "storage_address": "0xf7ddedc66b1d482e5c38e4730b3357d32411e5dd",
                    "input": "0x23b872dd000000000000000000000000e58b9ee93700a616b50509c8292977fa7a0f8ce1000000000000000000000000bd8daa414fda8a8a129f7035e7496759c5af8570000000000000000000000000000000000000000000000000006a94d74f430000",
                    "nonce_diff": [
                      {
                        "address": "0xF7dDedc66B1d482e5C38E4730B3357d32411e5Dd",
                        "original": "0",
                        "dirty": "1"
                      }
                    ],
                    "state_diff": [
                      {
                        "address": "0x6b175474e89094c44da98b954eedeac495271d0f",
                        "soltype": null,
                        "original": null,
                        "dirty": null,
                        "raw": [
                          {
                            "address": "0x6b175474e89094c44da98b954eedeac495271d0f",
                            "key": "0x34d894a8b9365501ad6fdf2db31d57ae2dae4dd7c48a222376e71e91a3097388",
                            "original": "0x0000000000000000000000000000000000000000000000000de0b6b3a7640000",
                            "dirty": "0x0000000000000000000000000000000000000000000000000d7621dc58210000"
                          }
                        ]
                      },
                      {
                        "address": "0x6b175474e89094c44da98b954eedeac495271d0f",
                        "soltype": null,
                        "original": null,
                        "dirty": null,
                        "raw": [
                          {
                            "address": "0x6b175474e89094c44da98b954eedeac495271d0f",
                            "key": "0x9b5472766fd311751f6a33c8e30061e20a26259ca626cf5a2feaadf96903cd9e",
                            "original": "0x0000000000000000000000000000000000000000000000001bc16d674ec80000",
                            "dirty": "0x0000000000000000000000000000000000000000000000001b56d88fff850000"
                          }
                        ]
                      },
                      {
                        "address": "0x6b175474e89094c44da98b954eedeac495271d0f",
                        "soltype": null,
                        "original": null,
                        "dirty": null,
                        "raw": [
                          {
                            "address": "0x6b175474e89094c44da98b954eedeac495271d0f",
                            "key": "0xb735e80be7a6e95eb724b9cb0b2f5d588495ea30037e3d09d9402821bdda82bd",
                            "original": "0x0000000000000000000000000000000000000000000000000000000000000000",
                            "dirty": "0x000000000000000000000000000000000000000000000000006a94d74f430000"
                          }
                        ]
                      }
                    ],
                    "logs": [
                      {
                        "name": "",
                        "anonymous": false,
                        "inputs": null,
                        "raw": {
                          "address": "0x6b175474e89094c44da98b954eedeac495271d0f",
                          "topics": [
                            "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
                            "0x000000000000000000000000e58b9ee93700a616b50509c8292977fa7a0f8ce1",
                            "0x000000000000000000000000bd8daa414fda8a8a129f7035e7496759c5af8570"
                          ],
                          "data": "0x000000000000000000000000000000000000000000000000006a94d74f430000"
                        },
                        "trace_index": null
                      }
                    ],
                    "output": "0x0000000000000000000000000000000000000000000000000000000000000001",
                    "decoded_output": null,
                    "network_id": "1",
                    "calls": null,
                    "asset_changes": [
                      {
                        "token_info": {
                          "standard": "ERC20",
                          "type": "Fungible",
                          "contract_address": "0x6b175474e89094c44da98b954eedeac495271d0f",
                          "symbol": "dai",
                          "name": "Dai",
                          "logo": "https://coin-images.coingecko.com/coins/images/9956/large/Badge_Dai.png?1696509996",
                          "decimals": 18,
                          "dollar_value": "0.9999750256538391"
                        },
                        "type": "Transfer",
                        "from": "0xe58b9ee93700a616b50509c8292977fa7a0f8ce1",
                        "to": "0xbd8daa414fda8a8a129f7035e7496759c5af8570",
                        "amount": "0.03",
                        "raw_amount": "30000000000000000",
                        "dollar_value": "0.02999925076961517334",
                        "from_before_balance": "0x0",
                        "to_before_balance": "0x0"
                      }
                    ],
                    "balance_changes": [
                      {
                        "address": "0xbd8daa414fda8a8a129f7035e7496759c5af8570",
                        "dollar_value": "0.02999925076961517334",
                        "transfers": [
                          0
                        ]
                      },
                      {
                        "address": "0xe58b9ee93700a616b50509c8292977fa7a0f8ce1",
                        "dollar_value": "-0.02999925076961517334",
                        "transfers": [
                          0
                        ]
                      }
                    ]
                  },
                  "stack_trace": null,
                  "logs": [
                    {
                      "name": "",
                      "anonymous": false,
                      "inputs": null,
                      "raw": {
                        "address": "0x6b175474e89094c44da98b954eedeac495271d0f",
                        "topics": [
                          "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
                          "0x000000000000000000000000e58b9ee93700a616b50509c8292977fa7a0f8ce1",
                          "0x000000000000000000000000bd8daa414fda8a8a129f7035e7496759c5af8570"
                        ],
                        "data": "0x000000000000000000000000000000000000000000000000006a94d74f430000"
                      },
                      "trace_index": null
                    }
                  ],
                  "balance_diff": null,
                  "nonce_diff": [
                    {
                      "address": "0xF7dDedc66B1d482e5C38E4730B3357d32411e5Dd",
                      "original": "0",
                      "dirty": "1"
                    }
                  ],
                  "state_diff": [
                    {
                      "address": "0x6b175474e89094c44da98b954eedeac495271d0f",
                      "soltype": null,
                      "original": null,
                      "dirty": null,
                      "raw": [
                        {
                          "address": "0x6b175474e89094c44da98b954eedeac495271d0f",
                          "key": "0x34d894a8b9365501ad6fdf2db31d57ae2dae4dd7c48a222376e71e91a3097388",
                          "original": "0x0000000000000000000000000000000000000000000000000de0b6b3a7640000",
                          "dirty": "0x0000000000000000000000000000000000000000000000000d7621dc58210000"
                        }
                      ]
                    },
                    {
                      "address": "0x6b175474e89094c44da98b954eedeac495271d0f",
                      "soltype": null,
                      "original": null,
                      "dirty": null,
                      "raw": [
                        {
                          "address": "0x6b175474e89094c44da98b954eedeac495271d0f",
                          "key": "0x9b5472766fd311751f6a33c8e30061e20a26259ca626cf5a2feaadf96903cd9e",
                          "original": "0x0000000000000000000000000000000000000000000000001bc16d674ec80000",
                          "dirty": "0x0000000000000000000000000000000000000000000000001b56d88fff850000"
                        }
                      ]
                    },
                    {
                      "address": "0x6b175474e89094c44da98b954eedeac495271d0f",
                      "soltype": null,
                      "original": null,
                      "dirty": null,
                      "raw": [
                        {
                          "address": "0x6b175474e89094c44da98b954eedeac495271d0f",
                          "key": "0xb735e80be7a6e95eb724b9cb0b2f5d588495ea30037e3d09d9402821bdda82bd",
                          "original": "0x0000000000000000000000000000000000000000000000000000000000000000",
                          "dirty": "0x000000000000000000000000000000000000000000000000006a94d74f430000"
                        }
                      ]
                    }
                  ],
                  "raw_state_diff": null,
                  "console_logs": null,
                  "asset_changes": [
                    {
                      "token_info": {
                        "standard": "ERC20",
                        "type": "Fungible",
                        "contract_address": "0x6b175474e89094c44da98b954eedeac495271d0f",
                        "symbol": "dai",
                        "name": "Dai",
                        "logo": "https://coin-images.coingecko.com/coins/images/9956/large/Badge_Dai.png?1696509996",
                        "decimals": 18,
                        "dollar_value": "0.9999750256538391"
                      },
                      "type": "Transfer",
                      "from": "0xe58b9ee93700a616b50509c8292977fa7a0f8ce1",
                      "to": "0xbd8daa414fda8a8a129f7035e7496759c5af8570",
                      "amount": "0.03",
                      "raw_amount": "30000000000000000",
                      "dollar_value": "0.02999925076961517334",
                      "from_before_balance": "0x0",
                      "to_before_balance": "0x0"
                    }
                  ],
                  "exposure_changes": null,
                  "balance_changes": [
                    {
                      "address": "0xbd8daa414fda8a8a129f7035e7496759c5af8570",
                      "dollar_value": "0.02999925076961517334",
                      "transfers": [
                        0
                      ]
                    },
                    {
                      "address": "0xe58b9ee93700a616b50509c8292977fa7a0f8ce1",
                      "dollar_value": "-0.02999925076961517334",
                      "transfers": [
                        0
                      ]
                    }
                  ],
                  "created_at": "2025-07-25T13:08:46Z"
                },
                "method": "",
                "decoded_input": null,
                "call_trace": [
                  {
                    "call_type": "CALL",
                    "from": "0xf7ddedc66b1d482e5c38e4730b3357d32411e5dd",
                    "to": "0x6b175474e89094c44da98b954eedeac495271d0f",
                    "gas": 9223372036854754000,
                    "gas_used": 36275,
                    "address": "0x6b175474e89094c44da98b954eedeac495271d0f",
                    "input": "0x23b872dd000000000000000000000000e58b9ee93700a616b50509c8292977fa7a0f8ce1000000000000000000000000bd8daa414fda8a8a129f7035e7496759c5af8570000000000000000000000000000000000000000000000000006a94d74f430000",
                    "output": "0x0000000000000000000000000000000000000000000000000000000000000001"
                  }
                ],
                "value_fee_currency": null,
                "value_gateway_fee": null,
                "value_gateway_fee_recipient": null
              },
              "simulation": {
                "id": "d2252673-4667-4004-9bff-20ecf9b0cf3c",
                "project_id": "6f72cce7-6419-45e2-bcd5-1979bd4b05e9",
                "owner_id": "49309f73-1d60-48fc-94b3-120fd9982381",
                "network_id": "1",
                "block_number": 22996361,
                "transaction_index": 0,
                "from": "0xf7ddedc66b1d482e5c38e4730b3357d32411e5dd",
                "to": "0x6b175474e89094c44da98b954eedeac495271d0f",
                "input": "0x23b872dd000000000000000000000000e58b9ee93700a616b50509c8292977fa7a0f8ce1000000000000000000000000bd8daa414fda8a8a129f7035e7496759c5af8570000000000000000000000000000000000000000000000000006a94d74f430000",
                "gas": 0,
                "gas_price": "0",
                "gas_used": 58251,
                "value": "0",
                "status": true,
                "access_list": null,
                "queue_origin": "",
                "block_header": {
                  "number": "0x15ee589",
                  "hash": "0x0000000000000000000000000000000000000000000000000000000000000000",
                  "stateRoot": "0x0000000000000000000000000000000000000000000000000000000000000000",
                  "parentHash": "0x9900129a5188c2b27a7059c39028642d54e38df63e3e3c6b3f772460f7cadd59",
                  "sha3Uncles": "0x0000000000000000000000000000000000000000000000000000000000000000",
                  "transactionsRoot": "0x0000000000000000000000000000000000000000000000000000000000000000",
                  "receiptsRoot": "0x0000000000000000000000000000000000000000000000000000000000000000",
                  "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
                  "timestamp": "0x688381de",
                  "difficulty": "0x0",
                  "gasLimit": "0x2ad4dc5",
                  "gasUsed": "0x128b6bd",
                  "miner": "0xdadb0d80178819f2319190d340ce9a924f783711",
                  "extraData": "0x4275696c6465724e657420284e65746865726d696e6429",
                  "mixHash": "0x5e183191c78f21a619f0432742e02b0ed906d70acaead89ada8731af71457138",
                  "nonce": "0x0000000000000000",
                  "baseFeePerGas": "0x1",
                  "size": "0x0",
                  "totalDifficulty": "0x0",
                  "uncles": null,
                  "transactions": null
                },
                "state_overrides": {
                  "0x6B175474E89094C44Da98b954EedeAC495271d0F": {
                    "nonce": 1,
                    "balance": "0",
                    "code": "0x608060405234801561001057600080fd5b50600436106101425760003560e01c80637ecebe00116100b8578063a9059cbb1161007c578063a9059cbb146106b4578063b753a98c1461071a578063bb35783b14610768578063bf353dbb146107d6578063dd62ed3e1461082e578063f2d5d56b146108a657610142565b80637ecebe00146104a15780638fcbaf0c146104f957806395d89b411461059f5780639c52a7f1146106225780639dc29fac1461066657610142565b8063313ce5671161010a578063313ce567146102f25780633644e5151461031657806340c10f191461033457806354fd4d501461038257806365fae35e1461040557806370a082311461044957610142565b806306fdde0314610147578063095ea7b3146101ca57806318160ddd1461023057806323b872dd1461024e57806330adf81f146102d4575b600080fd5b61014f6108f4565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561018f578082015181840152602081019050610174565b50505050905090810190601f1680156101bc5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610216600480360360408110156101e057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061092d565b604051808215151515815260200191505060405180910390f35b610238610a1f565b6040518082815260200191505060405180910390f35b6102ba6004803603606081101561026457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a25565b604051808215151515815260200191505060405180910390f35b6102dc610f3a565b6040518082815260200191505060405180910390f35b6102fa610f61565b604051808260ff1660ff16815260200191505060405180910390f35b61031e610f66565b6040518082815260200191505060405180910390f35b6103806004803603604081101561034a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f6c565b005b61038a611128565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156103ca5780820151818401526020810190506103af565b50505050905090810190601f1680156103f75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6104476004803603602081101561041b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611161565b005b61048b6004803603602081101561045f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061128f565b6040518082815260200191505060405180910390f35b6104e3600480360360208110156104b757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112a7565b6040518082815260200191505060405180910390f35b61059d600480360361010081101561051057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190803515159060200190929190803560ff16906020019092919080359060200190929190803590602001909291905050506112bf565b005b6105a76117fa565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105e75780820151818401526020810190506105cc565b50505050905090810190601f1680156106145780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6106646004803603602081101561063857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611833565b005b6106b26004803603604081101561067c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611961565b005b610700600480360360408110156106ca57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611df4565b604051808215151515815260200191505060405180910390f35b6107666004803603604081101561073057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611e09565b005b6107d46004803603606081101561077e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611e19565b005b610818600480360360208110156107ec57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e2a565b6040518082815260200191505060405180910390f35b6108906004803603604081101561084457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e42565b6040518082815260200191505060405180910390f35b6108f2600480360360408110156108bc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611e67565b005b6040518060400160405280600e81526020017f44616920537461626c65636f696e00000000000000000000000000000000000081525081565b600081600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60015481565b600081600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610adc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f4461692f696e73756666696369656e742d62616c616e6365000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015610bb457507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414155b15610db25781600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610cab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f4461692f696e73756666696369656e742d616c6c6f77616e636500000000000081525060200191505060405180910390fd5b610d31600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483611e77565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610dfb600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483611e77565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610e87600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483611e91565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b7fea2aa0a1be11a07ed86d755c93467f4f82362b452371d1ba94d1715123511acb60001b81565b601281565b60055481565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414611020576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4461692f6e6f742d617574686f72697a6564000000000000000000000000000081525060200191505060405180910390fd5b611069600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482611e91565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506110b860015482611e91565b6001819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b6040518060400160405280600181526020017f310000000000000000000000000000000000000000000000000000000000000081525081565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414611215576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4461692f6e6f742d617574686f72697a6564000000000000000000000000000081525060200191505060405180910390fd5b60016000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505961012081016040526020815260e0602082015260e0600060408301376024356004353360003560e01c60e01b61012085a45050565b60026020528060005260406000206000915090505481565b60046020528060005260406000206000915090505481565b60006005547fea2aa0a1be11a07ed86d755c93467f4f82362b452371d1ba94d1715123511acb60001b8a8a8a8a8a604051602001808781526020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018381526020018215151515815260200196505050505050506040516020818303038152906040528051906020012060405160200180807f190100000000000000000000000000000000000000000000000000000000000081525060020183815260200182815260200192505050604051602081830303815290604052805190602001209050600073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff16141561148c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f4461692f696e76616c69642d616464726573732d30000000000000000000000081525060200191505060405180910390fd5b60018185858560405160008152602001604052604051808581526020018460ff1660ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa1580156114e9573d6000803e3d6000fd5b5050506020604051035173ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614611593576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4461692f696e76616c69642d7065726d6974000000000000000000000000000081525060200191505060405180910390fd5b60008614806115a25750854211155b611614576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4461692f7065726d69742d65787069726564000000000000000000000000000081525060200191505060405180910390fd5b600460008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001019190505587146116d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f4461692f696e76616c69642d6e6f6e636500000000000000000000000000000081525060200191505060405180910390fd5b6000856116e4576000611706565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5b905080600360008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a350505050505050505050565b6040518060400160405280600381526020017f444149000000000000000000000000000000000000000000000000000000000081525081565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054146118e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4461692f6e6f742d617574686f72697a6564000000000000000000000000000081525060200191505060405180910390fd5b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505961012081016040526020815260e0602082015260e0600060408301376024356004353360003560e01c60e01b61012085a45050565b80600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015611a16576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f4461692f696e73756666696369656e742d62616c616e6365000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015611aee57507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414155b15611cec5780600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015611be5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f4461692f696e73756666696369656e742d616c6c6f77616e636500000000000081525060200191505060405180910390fd5b611c6b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482611e77565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b611d35600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482611e77565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611d8460015482611e77565b600181905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b6000611e01338484610a25565b905092915050565b611e14338383610a25565b505050565b611e24838383610a25565b50505050565b60006020528060005260406000206000915090505481565b6003602052816000526040600020602052806000526040600020600091509150505481565b611e72823383610a25565b505050565b6000828284039150811115611e8b57600080fd5b92915050565b6000828284019150811015611ea557600080fd5b9291505056fea265627a7a72315820c0ae2c29860c0a59d5586a579abbcddfe4bcef0524a87301425cbc58c3e94e3164736f6c634300050c0032",
                    "storage": {
                      "0x0000000000000000000000000000000000000000000000000000000000000001": "0x00000000000000000000000000000000000000000c07e926c97953dab919195f",
                      "0x34d894a8b9365501ad6fdf2db31d57ae2dae4dd7c48a222376e71e91a3097388": "0x0000000000000000000000000000000000000000000000000d7621dc58210000",
                      "0x9b5472766fd311751f6a33c8e30061e20a26259ca626cf5a2feaadf96903cd9e": "0x0000000000000000000000000000000000000000000000001b56d88fff850000",
                      "0xb735e80be7a6e95eb724b9cb0b2f5d588495ea30037e3d09d9402821bdda82bd": "0x000000000000000000000000000000000000000000000000006a94d74f430000"
                    }
                  },
                  "0x6b175474e89094c44da98b954eedeac495271d0f": {
                    "storage": {
                      "0xedd7d04419e9c48ceb6055956cbb4e2091ae310313a4d1fa7cbcfe7561616e03": "0x0000000000000000000000000000000000000000000000000000000000000001"
                    }
                  },
                  "0xE58b9ee93700A616b50509C8292977FA7a0f8ce1": {
                    "nonce": 5,
                    "balance": "0",
                    "code": "0x"
                  },
                  "0xF7dDedc66B1d482e5C38E4730B3357d32411e5Dd": {
                    "nonce": 1,
                    "balance": "0",
                    "code": "0x"
                  },
                  "0xe2E2E2e2e2e2E2E2E2E2e2E2e2E2E2e2e2e2E2e2": {
                    "nonce": 1,
                    "balance": "0",
                    "code": "0x"
                  }
                },
                "deposit_tx": false,
                "system_tx": false,
                "nonce": 0,
                "addresses": null,
                "contract_ids": null,
                "shared": false,
                "created_at": "2025-07-25T13:08:46.899410111Z"
              },
              "contracts": [],
              "generated_access_list": []
            }
          ]
        }
      },
      "simulation-bundle-response": {
        "description": "Bundle simulation response containing an array of simulation results, one per input simulation.\nOrder matches the input simulations array. Each result reflects the cumulative state from previous simulations.",
        "type": "object",
        "properties": {
          "simulation_results": {
            "title": "simulation_results",
            "description": "Array of simulation results, one per input simulation. Order matches the input\nsimulations array. Each result reflects the cumulative state changes from all\nprevious simulations in the bundle.",
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "transaction": {
                  "title": "transaction",
                  "description": "Contains data related to the simulated transaction, including its hash, block number,\norigin and destination addresses, gas details, input data, nonce, status, timestamp,\nand involved contract addresses. The nested `transaction_info` object holds detailed\nexecution data such as the call trace, emitted logs, state diffs, and asset changes.",
                  "type": "object",
                  "properties": {
                    "hash": {
                      "title": "hash",
                      "description": "Transaction hash.",
                      "type": "string",
                      "example": "0x3f95cbe58730449c3d7e284e607becd52363708c582d0c37e789e54c014d2065"
                    },
                    "block_hash": {
                      "title": "block_hash",
                      "description": "Hash of the block containing this transaction.",
                      "type": "string"
                    },
                    "block_number": {
                      "title": "block_number",
                      "description": "Block number at which the transaction was simulated.",
                      "type": "number",
                      "example": 22996361
                    },
                    "from": {
                      "title": "from",
                      "description": "Address that initiated the transaction.",
                      "type": "string",
                      "example": "0xe2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2"
                    },
                    "gas": {
                      "title": "gas",
                      "description": "Gas limit provided for the simulation.",
                      "type": "number"
                    },
                    "gas_price": {
                      "title": "gas_price",
                      "description": "Gas price used in the simulation.",
                      "type": "number",
                      "example": 0
                    },
                    "gas_fee_cap": {
                      "title": "gas_fee_cap",
                      "description": "EIP-1559 max fee per gas.",
                      "type": "number",
                      "example": 0
                    },
                    "gas_tip_cap": {
                      "title": "gas_tip_cap",
                      "description": "EIP-1559 max priority fee per gas (tip).",
                      "type": "number",
                      "example": 0
                    },
                    "cumulative_gas_used": {
                      "title": "cumulative_gas_used",
                      "description": "Total gas used in the block up to and including this transaction.",
                      "type": "number",
                      "example": 0
                    },
                    "gas_used": {
                      "title": "gas_used",
                      "description": "Actual gas consumed by the simulation.",
                      "type": "number",
                      "example": 53465
                    },
                    "effective_gas_price": {
                      "title": "effective_gas_price",
                      "description": "Effective gas price after EIP-1559 calculations.",
                      "type": "number",
                      "example": 0
                    },
                    "input": {
                      "title": "input",
                      "description": "Hex-encoded calldata sent with the transaction.",
                      "type": "string"
                    },
                    "nonce": {
                      "title": "nonce",
                      "description": "Transaction nonce of the sender.",
                      "type": "number",
                      "example": 0
                    },
                    "to": {
                      "title": "to",
                      "description": "Recipient address of the transaction.",
                      "type": "string",
                      "example": "0x6b175474e89094c44da98b954eedeac495271d0f"
                    },
                    "index": {
                      "title": "index",
                      "description": "Transaction index within the block.",
                      "type": "number",
                      "example": 0
                    },
                    "value": {
                      "title": "value",
                      "description": "Ether value sent with the transaction (in hex).",
                      "type": "string",
                      "example": "0x"
                    },
                    "access_list": {
                      "title": "access_list",
                      "description": "EIP-2930 access list used by the transaction.",
                      "type": [
                        "array",
                        "null"
                      ],
                      "items": {}
                    },
                    "status": {
                      "title": "status",
                      "description": "Whether the transaction succeeded (true) or reverted (false).",
                      "type": "boolean",
                      "example": true
                    },
                    "addresses": {
                      "title": "addresses",
                      "description": "List of addresses involved in the transaction.",
                      "type": [
                        "array",
                        "null"
                      ],
                      "items": {
                        "type": "string"
                      }
                    },
                    "contract_ids": {
                      "title": "contract_ids",
                      "description": "List of contract identifiers in `network:chainId:address` format.",
                      "type": [
                        "array",
                        "null"
                      ],
                      "items": {
                        "type": "string"
                      }
                    },
                    "network_id": {
                      "title": "network_id",
                      "description": "Network ID on which the simulation was run.",
                      "type": "string",
                      "example": "1"
                    },
                    "timestamp": {
                      "title": "timestamp",
                      "description": "Timestamp of the block used for simulation.",
                      "type": "string",
                      "format": "date-time",
                      "example": "2025-07-25T13:08:45Z"
                    },
                    "function_selector": {
                      "title": "function_selector",
                      "description": "4-byte function selector of the called method.",
                      "type": "string"
                    },
                    "l1_block_number": {
                      "title": "l1_block_number",
                      "description": "L1 block number (for L2 transactions).",
                      "type": "number",
                      "example": 0
                    },
                    "l1_timestamp": {
                      "title": "l1_timestamp",
                      "description": "L1 timestamp (for L2 transactions).",
                      "type": "number",
                      "example": 0
                    },
                    "deposit_tx": {
                      "title": "deposit_tx",
                      "description": "Whether this is a deposit transaction (L1 to L2).",
                      "type": "boolean",
                      "example": false
                    },
                    "system_tx": {
                      "title": "system_tx",
                      "description": "Whether this is a system transaction.",
                      "type": "boolean",
                      "example": false
                    },
                    "sig": {
                      "title": "sig",
                      "description": "Transaction signature values.",
                      "type": "object",
                      "properties": {
                        "v": {
                          "type": "string"
                        },
                        "r": {
                          "type": "string"
                        },
                        "s": {
                          "type": "string"
                        }
                      }
                    },
                    "transaction_info": {
                      "title": "transaction_info",
                      "description": "Detailed execution information including the call trace, decoded method parameters,\nemitted logs, state diffs, asset changes, and balance changes.",
                      "type": "object",
                      "properties": {
                        "contract_id": {
                          "title": "contract_id",
                          "description": "Identifier of the primary contract in the transaction.",
                          "type": "string",
                          "example": "eth:1:0x6b175474e89094c44da98b954eedeac495271d0f"
                        },
                        "block_number": {
                          "title": "block_number",
                          "description": "Block number of the simulation.",
                          "type": "number"
                        },
                        "transaction_id": {
                          "title": "transaction_id",
                          "description": "Transaction hash (same as top-level hash).",
                          "type": "string"
                        },
                        "contract_address": {
                          "title": "contract_address",
                          "description": "Address of the primary contract called.",
                          "type": "string"
                        },
                        "method": {
                          "title": "method",
                          "description": "Name of the method that was called (e.g., \"mint\", \"approve\", \"transferFrom\").",
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "parameters": {
                          "title": "parameters",
                          "description": "Decoded input parameters of the called method.",
                          "type": [
                            "array",
                            "null"
                          ],
                          "items": {}
                        },
                        "intrinsic_gas": {
                          "title": "intrinsic_gas",
                          "description": "Intrinsic gas cost of the transaction.",
                          "type": "number"
                        },
                        "refund_gas": {
                          "title": "refund_gas",
                          "description": "Gas refunded after execution.",
                          "type": "number"
                        },
                        "call_trace": {
                          "title": "call_trace",
                          "description": "Root of the call trace tree. Contains the top-level call and all nested\ninternal calls, including decoded inputs/outputs, gas usage, and errors.",
                          "type": "object"
                        },
                        "stack_trace": {
                          "title": "stack_trace",
                          "description": "Stack trace of the error if the transaction reverted.",
                          "type": [
                            "array",
                            "null"
                          ],
                          "items": {}
                        },
                        "logs": {
                          "title": "logs",
                          "description": "Decoded event logs emitted during execution.",
                          "type": "array",
                          "items": {}
                        },
                        "balance_diff": {
                          "title": "balance_diff",
                          "description": "Balance changes for addresses involved in the transaction.\nEach entry shows the original and dirty (modified) balance.",
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "address": {
                                "type": "string"
                              },
                              "original": {
                                "type": "string"
                              },
                              "dirty": {
                                "type": "string"
                              },
                              "is_miner": {
                                "type": "boolean"
                              }
                            }
                          }
                        },
                        "nonce_diff": {
                          "title": "nonce_diff",
                          "description": "Nonce changes for addresses involved in the transaction.\nEach entry shows the original and dirty (incremented) nonce.",
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "address": {
                                "type": "string"
                              },
                              "original": {
                                "type": "string"
                              },
                              "dirty": {
                                "type": "string"
                              }
                            }
                          }
                        },
                        "state_diff": {
                          "title": "state_diff",
                          "description": "State changes caused by the transaction. Each entry shows the address,\nstorage slot key, and the original vs dirty values.",
                          "type": "array",
                          "items": {}
                        },
                        "raw_state_diff": {
                          "title": "raw_state_diff",
                          "description": "Raw (non-decoded) state changes as storage slot key-value pairs.",
                          "type": [
                            "array",
                            "null"
                          ],
                          "items": {}
                        },
                        "console_logs": {
                          "title": "console_logs",
                          "description": "Console log outputs from Hardhat-style console.log calls.",
                          "type": [
                            "array",
                            "null"
                          ],
                          "items": {}
                        },
                        "created_at": {
                          "title": "created_at",
                          "description": "Timestamp when the simulation was created.",
                          "type": "string",
                          "format": "date-time"
                        },
                        "asset_changes": {
                          "title": "asset_changes",
                          "description": "Token transfers that occurred during the transaction, including ERC20,\nERC721, ERC1155, and native currency movements. Each entry includes\ntoken info, transfer type (Transfer, Mint, Burn), amounts, and USD values.",
                          "type": [
                            "array",
                            "null"
                          ],
                          "items": {}
                        },
                        "balance_changes": {
                          "title": "balance_changes",
                          "description": "Net balance changes per address, aggregating all asset transfers\nfor each participant in the transaction.",
                          "type": [
                            "array",
                            "null"
                          ],
                          "items": {}
                        },
                        "exposure_changes": {
                          "title": "exposure_changes",
                          "description": "Token approval changes (Approve, Revoke, Permit, ApproveForAll, RevokeForAll)\nthat occurred during the transaction.",
                          "type": [
                            "array",
                            "null"
                          ],
                          "items": {}
                        }
                      }
                    },
                    "error_message": {
                      "title": "error_message",
                      "description": "Error message if the transaction reverted.",
                      "type": "string"
                    },
                    "method": {
                      "title": "method",
                      "description": "Name of the method called.",
                      "type": "string"
                    },
                    "decoded_input": {
                      "title": "decoded_input",
                      "description": "Decoded input parameters at the top level.",
                      "type": [
                        "array",
                        "null"
                      ],
                      "items": {}
                    },
                    "call_trace": {
                      "title": "call_trace",
                      "description": "Flat call trace entries (simplified view of internal calls).",
                      "type": [
                        "array",
                        "null"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "call_type": {
                            "type": "string"
                          },
                          "from": {
                            "type": "string"
                          },
                          "to": {
                            "type": "string"
                          },
                          "gas": {
                            "type": "number"
                          },
                          "gas_used": {
                            "type": "number"
                          },
                          "input": {
                            "type": "string"
                          },
                          "output": {
                            "type": "string"
                          },
                          "error": {
                            "type": "string"
                          }
                        }
                      }
                    }
                  }
                },
                "simulation": {
                  "title": "simulation",
                  "description": "Contains metadata about this simulation within the bundle, including its unique ID,\nproject and owner IDs, block number, gas used, the method invoked, simulation status,\nblock header used, and timestamps.",
                  "type": "object",
                  "properties": {
                    "id": {
                      "title": "id",
                      "description": "Unique identifier of the simulation.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "project_id": {
                      "title": "project_id",
                      "description": "ID of the project the simulation belongs to.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "owner_id": {
                      "title": "owner_id",
                      "description": "ID of the account that owns the simulation.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "network_id": {
                      "title": "network_id",
                      "description": "Network ID on which the simulation was run.",
                      "type": "string",
                      "example": "1"
                    },
                    "block_number": {
                      "title": "block_number",
                      "description": "Block number used for the simulation.",
                      "type": "number"
                    },
                    "transaction_index": {
                      "title": "transaction_index",
                      "description": "Transaction index within the block.",
                      "type": "number",
                      "example": 0
                    },
                    "from": {
                      "title": "from",
                      "description": "Sender address.",
                      "type": "string"
                    },
                    "to": {
                      "title": "to",
                      "description": "Recipient address.",
                      "type": "string"
                    },
                    "input": {
                      "title": "input",
                      "description": "Hex-encoded calldata.",
                      "type": "string"
                    },
                    "gas": {
                      "title": "gas",
                      "description": "Gas limit.",
                      "type": "number"
                    },
                    "gas_price": {
                      "title": "gas_price",
                      "description": "Gas price used.",
                      "type": "string",
                      "example": "0"
                    },
                    "gas_used": {
                      "title": "gas_used",
                      "description": "Actual gas consumed.",
                      "type": "number"
                    },
                    "value": {
                      "title": "value",
                      "description": "Ether value sent.",
                      "type": "string",
                      "example": "0"
                    },
                    "method": {
                      "title": "method",
                      "description": "Name of the called method.",
                      "type": "string"
                    },
                    "status": {
                      "title": "status",
                      "description": "Whether the simulation succeeded.",
                      "type": "boolean",
                      "example": true
                    },
                    "access_list": {
                      "title": "access_list",
                      "description": "EIP-2930 access list.",
                      "type": [
                        "array",
                        "null"
                      ],
                      "items": {}
                    },
                    "queue_origin": {
                      "title": "queue_origin",
                      "description": "Origin of the transaction in queue (for L2).",
                      "type": "string"
                    },
                    "block_header": {
                      "title": "block_header",
                      "description": "Block header used during the simulation.",
                      "type": "object"
                    },
                    "state_overrides": {
                      "title": "state_overrides",
                      "description": "State overrides that were applied for this simulation.",
                      "type": [
                        "object",
                        "null"
                      ]
                    },
                    "deposit_tx": {
                      "title": "deposit_tx",
                      "description": "Whether this is a deposit transaction.",
                      "type": "boolean",
                      "example": false
                    },
                    "system_tx": {
                      "title": "system_tx",
                      "description": "Whether this is a system transaction.",
                      "type": "boolean",
                      "example": false
                    },
                    "nonce": {
                      "title": "nonce",
                      "description": "Nonce of the sender.",
                      "type": "number"
                    },
                    "addresses": {
                      "title": "addresses",
                      "description": "Addresses involved in the simulation.",
                      "type": [
                        "array",
                        "null"
                      ],
                      "items": {
                        "type": "string"
                      }
                    },
                    "contract_ids": {
                      "title": "contract_ids",
                      "description": "Contract identifiers involved.",
                      "type": [
                        "array",
                        "null"
                      ],
                      "items": {
                        "type": "string"
                      }
                    },
                    "shared": {
                      "title": "shared",
                      "description": "Whether the simulation is shared/public.",
                      "type": "boolean",
                      "example": false
                    },
                    "created_at": {
                      "title": "created_at",
                      "description": "Timestamp when the simulation was created.",
                      "type": "string",
                      "format": "date-time"
                    }
                  }
                },
                "contracts": {
                  "title": "contracts",
                  "description": "List of contract accounts involved in this simulation. Each entry contains\nthe contract's ID, network ID, address, name, verification status, associated\nstandards (ERC20, ERC721, etc.), token data, compiler version, deployed bytecode,\nABI, and source code (if verified). The level of detail depends on the simulation_type:\n`quick` returns minimal contract info, `abi` includes ABI data, and `full` includes\ncomplete source and trace information.",
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "title": "id",
                        "description": "Unique contract identifier in `network:chainId:address` format.",
                        "type": "string",
                        "example": "eth:1:0x6b175474e89094c44da98b954eedeac495271d0f"
                      },
                      "contract_id": {
                        "title": "contract_id",
                        "description": "Contract identifier (same as id).",
                        "type": "string"
                      },
                      "balance": {
                        "title": "balance",
                        "description": "Contract balance.",
                        "type": "string"
                      },
                      "network_id": {
                        "title": "network_id",
                        "description": "Network ID the contract is deployed on.",
                        "type": "string",
                        "example": "1"
                      },
                      "public": {
                        "title": "public",
                        "description": "Whether the contract is publicly verified.",
                        "type": "boolean"
                      },
                      "verified_by": {
                        "title": "verified_by",
                        "description": "Source of verification (e.g., \"etherscan\").",
                        "type": "string"
                      },
                      "verification_date": {
                        "title": "verification_date",
                        "description": "When the contract was verified.",
                        "type": "string",
                        "format": "date-time"
                      },
                      "address": {
                        "title": "address",
                        "description": "Contract address.",
                        "type": "string"
                      },
                      "contract_name": {
                        "title": "contract_name",
                        "description": "Name of the contract (e.g., \"Dai\").",
                        "type": "string",
                        "example": "Dai"
                      },
                      "ens_domain": {
                        "title": "ens_domain",
                        "description": "ENS domains associated with this address.",
                        "type": [
                          "array",
                          "null"
                        ],
                        "items": {
                          "type": "string"
                        }
                      },
                      "type": {
                        "title": "type",
                        "description": "Account type. Possible values:\n- `wallet` - Externally Owned Account (EOA)\n- `contract` - Verified smart contract\n- `unverified_contract` - Unverified smart contract",
                        "type": "string",
                        "enum": [
                          "wallet",
                          "contract",
                          "unverified_contract"
                        ]
                      },
                      "standard": {
                        "title": "standard",
                        "description": "Primary contract standard. Possible values include:\n`erc20`, `erc721`, `erc1155`, `eip1167`, `eip1967`, `beacon_proxy`, `custom_proxy`, `native_currency`",
                        "type": "string"
                      },
                      "standards": {
                        "title": "standards",
                        "description": "List of all standards the contract implements.",
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "token_data": {
                        "title": "token_data",
                        "description": "Token-specific data if the contract is a token.",
                        "type": [
                          "object",
                          "null"
                        ],
                        "properties": {
                          "symbol": {
                            "type": "string"
                          },
                          "name": {
                            "type": "string"
                          },
                          "decimals": {
                            "type": "number"
                          },
                          "main": {
                            "type": "boolean"
                          }
                        }
                      },
                      "evm_version": {
                        "title": "evm_version",
                        "description": "EVM version the contract was compiled for.",
                        "type": "string"
                      },
                      "compiler_version": {
                        "title": "compiler_version",
                        "description": "Compiler version used to compile the contract.",
                        "type": "string"
                      },
                      "optimizations_used": {
                        "title": "optimizations_used",
                        "description": "Whether compiler optimizations were enabled.",
                        "type": "boolean"
                      },
                      "optimization_runs": {
                        "title": "optimization_runs",
                        "description": "Number of optimizer runs.",
                        "type": "number"
                      },
                      "libraries": {
                        "title": "libraries",
                        "description": "Libraries linked to the contract.",
                        "type": [
                          "object",
                          "null"
                        ]
                      },
                      "compiler_settings": {
                        "title": "compiler_settings",
                        "description": "Compiler settings used for compilation.",
                        "type": "object"
                      },
                      "deployed_bytecode": {
                        "title": "deployed_bytecode",
                        "description": "Hex-encoded deployed bytecode of the contract.",
                        "type": "string"
                      },
                      "creation_bytecode": {
                        "title": "creation_bytecode",
                        "description": "Hex-encoded creation bytecode of the contract.",
                        "type": "string"
                      },
                      "data": {
                        "title": "data",
                        "description": "Public contract data including the main contract name, source files, and ABI.",
                        "type": [
                          "object",
                          "null"
                        ],
                        "properties": {
                          "main_contract": {
                            "type": "number"
                          },
                          "contract_info": {
                            "type": [
                              "array",
                              "null"
                            ],
                            "items": {
                              "type": "object",
                              "properties": {
                                "id": {
                                  "type": "number"
                                },
                                "path": {
                                  "type": "string"
                                },
                                "name": {
                                  "type": "string"
                                },
                                "source": {
                                  "type": "string"
                                }
                              }
                            }
                          },
                          "abi": {
                            "type": "array",
                            "items": {}
                          },
                          "raw_abi": {
                            "description": "Raw ABI data."
                          }
                        }
                      },
                      "src_map": {
                        "title": "src_map",
                        "description": "Source map for the contract bytecode.",
                        "type": [
                          "string",
                          "null"
                        ]
                      },
                      "creation_block": {
                        "title": "creation_block",
                        "description": "Block number at which the contract was deployed.",
                        "type": "number"
                      },
                      "creation_tx": {
                        "title": "creation_tx",
                        "description": "Transaction hash of the contract deployment.",
                        "type": "string"
                      },
                      "creator_address": {
                        "title": "creator_address",
                        "description": "Address that deployed the contract.",
                        "type": "string"
                      },
                      "language": {
                        "title": "language",
                        "description": "Programming language (solidity or vyper).",
                        "type": "string",
                        "enum": [
                          "solidity",
                          "vyper"
                        ]
                      },
                      "in_project": {
                        "title": "in_project",
                        "description": "Whether the contract is part of the project.",
                        "type": "boolean"
                      }
                    }
                  }
                },
                "generated_access_list": {
                  "title": "generated_access_list",
                  "description": "EIP-2930 access list generated for this simulation when `generate_access_list`\nis set to `true` in the request. Contains addresses and their accessed storage\nkeys for gas optimization.",
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "address": {
                        "title": "address",
                        "description": "Contract address in the access list.",
                        "type": "string"
                      },
                      "storage_keys": {
                        "title": "storage_keys",
                        "description": "Storage keys accessed in this contract.",
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "required": [
          "simulation_results"
        ]
      },
      "simulations_single_post_response": {
        "type": "object",
        "title": "Get Simulated Transaction By Id Response",
        "description": "An object with details about simulated transaction by ID for given project.",
        "example": {
          "transaction": {
            "hash": "0x489b21c3b9215944c6b5784fbfc57797d236426ba0bcabaef80c98006a26429a",
            "block_hash": "",
            "block_number": 109421606,
            "from": "0x5361b224b3af376fa234dc992c0f3595a325cbf7",
            "gas": 28694,
            "gas_price": 200648150,
            "gas_fee_cap": 0,
            "gas_tip_cap": 0,
            "cumulative_gas_used": 0,
            "gas_used": 28694,
            "effective_gas_price": 0,
            "input": "0xe56461ad00000000000000000000000000000000000000000000000000000000000000380000000000000000000000005361b224b3af376fa234dc992c0f3595a325cbf7",
            "nonce": 2,
            "to": "0x5800249621da520adfdca16da20d8a5fc0f814d8",
            "index": 8,
            "value": "0x01e2083dbb2000",
            "access_list": null,
            "status": true,
            "addresses": [
              "0x5361b224b3af376fa234dc992c0f3595a325cbf7",
              "0x5800249621da520adfdca16da20d8a5fc0f814d8"
            ],
            "contract_ids": [
              "eth:10:0x5361b224b3af376fa234dc992c0f3595a325cbf7",
              "eth:10:0x5800249621da520adfdca16da20d8a5fc0f814d8"
            ],
            "network_id": "10",
            "timestamp": "2023-09-11T14:19:49Z",
            "function_selector": "",
            "l1_message_sender": "0x0000000000000000000000000000000000000000",
            "l1_block_number": 0,
            "l1_timestamp": 0,
            "deposit_tx": false,
            "system_tx": false,
            "mint": 0,
            "sig": {
              "v": "0x0",
              "r": "0x0",
              "s": "0x0"
            },
            "transaction_info": {
              "contract_id": "eth:10:0x5800249621da520adfdca16da20d8a5fc0f814d8",
              "block_number": 109421606,
              "transaction_id": "0x489b21c3b9215944c6b5784fbfc57797d236426ba0bcabaef80c98006a26429a",
              "contract_address": "0x5800249621da520adfdca16da20d8a5fc0f814d8",
              "method": "depositNativeToken",
              "parameters": null,
              "intrinsic_gas": 21572,
              "refund_gas": 0,
              "call_trace": {
                "hash": "0x489b21c3b9215944c6b5784fbfc57797d236426ba0bcabaef80c98006a26429a",
                "contract_name": "GasMovr",
                "function_name": "depositNativeToken",
                "function_pc": 3873,
                "function_op": "JUMPDEST",
                "function_file_index": 3,
                "function_code_start": 1178,
                "function_line_number": 52,
                "function_code_length": 317,
                "absolute_position": 193,
                "caller_pc": 0,
                "caller_op": "CALL",
                "call_type": "CALL",
                "address": "0x5361b224b3af376fa234dc992c0f3595a325cbf7",
                "from": "0x5361b224b3af376fa234dc992c0f3595a325cbf7",
                "from_balance": "3767332357766171",
                "to": "0x5800249621da520adfdca16da20d8a5fc0f814d8",
                "to_balance": "19191783044686927921",
                "value": "530000000000000",
                "caller": {
                  "address": "0x5361b224b3af376fa234dc992c0f3595a325cbf7",
                  "balance": "3231574959750071"
                },
                "block_timestamp": "0001-01-01T00:00:00Z",
                "gas": 7122,
                "gas_used": 7122,
                "intrinsic_gas": 21572,
                "storage_address": "0x5361b224b3af376fa234dc992c0f3595a325cbf7",
                "input": "0xe56461ad00000000000000000000000000000000000000000000000000000000000000380000000000000000000000005361b224b3af376fa234dc992c0f3595a325cbf7",
                "decoded_input": [
                  {
                    "soltype": {
                      "name": "destinationChainId",
                      "type": "uint256",
                      "storage_location": "default",
                      "offset": 0,
                      "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                      "indexed": false,
                      "simple_type": {
                        "type": "uint"
                      }
                    },
                    "value": "56"
                  },
                  {
                    "soltype": {
                      "name": "_to",
                      "type": "address",
                      "storage_location": "default",
                      "offset": 0,
                      "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                      "indexed": false,
                      "simple_type": {
                        "type": "address"
                      }
                    },
                    "value": "0x5361b224b3af376fa234dc992c0f3595a325cbf7"
                  }
                ],
                "balance_diff": [
                  {
                    "address": "0x5361b224B3Af376Fa234dc992c0f3595A325cBf7",
                    "original": "3767332357766171",
                    "dirty": "3231574959750071",
                    "is_miner": false
                  },
                  {
                    "address": "0x5800249621DA520aDFdCa16da20d8A5Fc0f814d8",
                    "original": "19191783044686927921",
                    "dirty": "19192313044686927921",
                    "is_miner": false
                  },
                  {
                    "address": "0x4200000000000000000000000000000000000011",
                    "original": "44259434701916885990",
                    "dirty": "44259434770949054660",
                    "is_miner": true
                  },
                  {
                    "address": "0x4200000000000000000000000000000000000019",
                    "original": "27817144889955776893",
                    "dirty": "27817150578321624323",
                    "is_miner": false
                  },
                  {
                    "address": "0x420000000000000000000000000000000000001A",
                    "original": "414496790679326948273",
                    "dirty": "414496817237149696422",
                    "is_miner": false
                  }
                ],
                "nonce_diff": [
                  {
                    "address": "0x5361b224B3Af376Fa234dc992c0f3595A325cBf7",
                    "original": "2",
                    "dirty": "3"
                  }
                ],
                "logs": [
                  {
                    "name": "Deposit",
                    "anonymous": false,
                    "inputs": [
                      {
                        "soltype": {
                          "name": "destinationReceiver",
                          "type": "address",
                          "storage_location": "default",
                          "offset": 0,
                          "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                          "indexed": true,
                          "simple_type": {
                            "type": "address"
                          }
                        },
                        "value": "0x5361b224b3af376fa234dc992c0f3595a325cbf7"
                      },
                      {
                        "soltype": {
                          "name": "amount",
                          "type": "uint256",
                          "storage_location": "default",
                          "offset": 0,
                          "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                          "indexed": false,
                          "simple_type": {
                            "type": "uint"
                          }
                        },
                        "value": "530000000000000"
                      },
                      {
                        "soltype": {
                          "name": "destinationChainId",
                          "type": "uint256",
                          "storage_location": "default",
                          "offset": 0,
                          "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                          "indexed": true,
                          "simple_type": {
                            "type": "uint"
                          }
                        },
                        "value": "56"
                      }
                    ],
                    "raw": {
                      "address": "0x5800249621da520adfdca16da20d8a5fc0f814d8",
                      "topics": [
                        "0x90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a15",
                        "0x0000000000000000000000005361b224b3af376fa234dc992c0f3595a325cbf7",
                        "0x0000000000000000000000000000000000000000000000000000000000000038"
                      ],
                      "data": "0x0000000000000000000000000000000000000000000000000001e2083dbb2000"
                    },
                    "trace_index": null
                  }
                ],
                "output": "0x",
                "decoded_output": null,
                "network_id": "10",
                "calls": [
                  {
                    "hash": "",
                    "contract_name": "GasMovr",
                    "function_name": "paused",
                    "function_pc": 2439,
                    "function_op": "JUMPDEST",
                    "function_file_index": 1,
                    "function_code_start": 1098,
                    "function_line_number": 40,
                    "function_code_length": 84,
                    "absolute_position": 197,
                    "caller_pc": 3880,
                    "caller_op": "JUMP",
                    "caller_file_index": 1,
                    "caller_line_number": 52,
                    "caller_code_start": 1412,
                    "caller_code_length": 8,
                    "call_type": "JUMPDEST",
                    "address": "0x5800249621da520adfdca16da20d8a5fc0f814d8",
                    "from": "0x5800249621da520adfdca16da20d8a5fc0f814d8",
                    "from_balance": null,
                    "to": "0x5800249621da520adfdca16da20d8a5fc0f814d8",
                    "to_balance": null,
                    "value": null,
                    "caller": {
                      "address": "0x5361b224b3af376fa234dc992c0f3595a325cbf7",
                      "balance": "3231574959750071"
                    },
                    "block_timestamp": "0001-01-01T00:00:00Z",
                    "gas": 6429,
                    "gas_used": 2209,
                    "storage_address": "0x5800249621da520adfdca16da20d8a5fc0f814d8",
                    "input": "0x",
                    "output": "0x",
                    "decoded_output": [
                      {
                        "soltype": {
                          "name": "",
                          "type": "bool",
                          "storage_location": "default",
                          "offset": 0,
                          "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                          "indexed": false,
                          "simple_type": {
                            "type": "bool"
                          }
                        },
                        "value": false
                      }
                    ],
                    "network_id": "",
                    "calls": [
                      {
                        "hash": "",
                        "contract_name": "GasMovr",
                        "function_pc": 0,
                        "function_op": "STOP",
                        "absolute_position": 202,
                        "caller_pc": 2446,
                        "caller_op": "SLOAD",
                        "caller_file_index": 1,
                        "caller_line_number": 41,
                        "caller_code_start": 1168,
                        "caller_code_length": 7,
                        "call_type": "SLOAD",
                        "address": "0x5800249621da520adfdca16da20d8a5fc0f814d8",
                        "from": "0x0000000000000000000000000000000000000000",
                        "from_balance": null,
                        "to": "0x0000000000000000000000000000000000000000",
                        "to_balance": null,
                        "value": null,
                        "block_timestamp": "0001-01-01T00:00:00Z",
                        "gas": 6416,
                        "gas_used": 2100,
                        "storage_address": "0x5800249621da520adfdca16da20d8a5fc0f814d8",
                        "storage_slot": [
                          "0x0000000000000000000000000000000000000000000000000000000000000000"
                        ],
                        "storage_value_original": [
                          "0x000000000000000000000000fb5693de25f8f492a7321ad4fed953f09ac4dbb3"
                        ],
                        "storage_decoded": [
                          {
                            "address": "",
                            "soltype": {
                              "name": "_owner",
                              "type": "address",
                              "storage_location": "storage",
                              "offset": 0,
                              "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                              "indexed": false,
                              "simple_type": {
                                "type": "address"
                              }
                            },
                            "original": "0xfb5693de25f8f492a7321ad4fed953f09ac4dbb3",
                            "dirty": "0xfb5693de25f8f492a7321ad4fed953f09ac4dbb3",
                            "raw": [
                              {
                                "address": "",
                                "key": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                "original": "0x000000000000000000000000fb5693de25f8f492a7321ad4fed953f09ac4dbb3",
                                "dirty": "0x000000000000000000000000fb5693de25f8f492a7321ad4fed953f09ac4dbb3"
                              }
                            ]
                          },
                          {
                            "address": "",
                            "soltype": {
                              "name": "_paused",
                              "type": "bool",
                              "storage_location": "storage",
                              "offset": 160,
                              "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                              "indexed": false,
                              "simple_type": {
                                "type": "bool"
                              }
                            },
                            "original": false,
                            "dirty": false,
                            "raw": [
                              {
                                "address": "",
                                "key": "0x0000000000000000000000000000000000000000000000000000000000000000",
                                "original": "0x000000000000000000000000fb5693de25f8f492a7321ad4fed953f09ac4dbb3",
                                "dirty": "0x000000000000000000000000fb5693de25f8f492a7321ad4fed953f09ac4dbb3"
                              }
                            ]
                          }
                        ],
                        "input": "0x",
                        "output": "0x",
                        "decoded_output": null,
                        "network_id": "",
                        "calls": null
                      }
                    ]
                  },
                  {
                    "hash": "",
                    "contract_name": "GasMovr",
                    "function_pc": 0,
                    "function_op": "STOP",
                    "absolute_position": 237,
                    "caller_pc": 3971,
                    "caller_op": "SLOAD",
                    "caller_file_index": 3,
                    "caller_line_number": 58,
                    "caller_code_start": 1335,
                    "caller_code_length": 41,
                    "call_type": "SLOAD",
                    "address": "0x5800249621da520adfdca16da20d8a5fc0f814d8",
                    "from": "0x0000000000000000000000000000000000000000",
                    "from_balance": null,
                    "to": "0x0000000000000000000000000000000000000000",
                    "to_balance": null,
                    "value": null,
                    "block_timestamp": "0001-01-01T00:00:00Z",
                    "gas": 4109,
                    "gas_used": 2100,
                    "storage_address": "0x5800249621da520adfdca16da20d8a5fc0f814d8",
                    "storage_slot": [
                      "0xb607cc36270bbbb376b98f602ec3a5ec6c4fe7cf0d42af35fd17a642242d24fe"
                    ],
                    "storage_value_original": [
                      "0x0000000000000000000000000000000000000000000000000000000000000001"
                    ],
                    "input": "0x",
                    "output": "0x",
                    "decoded_output": null,
                    "network_id": "",
                    "calls": null
                  },
                  {
                    "hash": "",
                    "contract_name": "GasMovr",
                    "function_name": "Deposit",
                    "function_pc": 0,
                    "function_op": "STOP",
                    "absolute_position": 308,
                    "caller_pc": 4123,
                    "caller_op": "LOG3",
                    "caller_file_index": 3,
                    "caller_line_number": 62,
                    "caller_code_start": 1445,
                    "caller_code_length": 43,
                    "call_type": "LOG3",
                    "address": "0x5800249621da520adfdca16da20d8a5fc0f814d8",
                    "from": "0x0000000000000000000000000000000000000000",
                    "from_balance": null,
                    "to": "0x0000000000000000000000000000000000000000",
                    "to_balance": null,
                    "value": null,
                    "block_timestamp": "0001-01-01T00:00:00Z",
                    "gas": 1769,
                    "gas_used": 1756,
                    "log": {
                      "name": "Deposit",
                      "anonymous": false,
                      "inputs": [
                        {
                          "soltype": {
                            "name": "destinationReceiver",
                            "type": "address",
                            "storage_location": "default",
                            "offset": 0,
                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                            "indexed": true,
                            "simple_type": {
                              "type": "address"
                            }
                          },
                          "value": "0x5361b224b3af376fa234dc992c0f3595a325cbf7"
                        },
                        {
                          "soltype": {
                            "name": "amount",
                            "type": "uint256",
                            "storage_location": "default",
                            "offset": 0,
                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                            "indexed": false,
                            "simple_type": {
                              "type": "uint"
                            }
                          },
                          "value": "530000000000000"
                        },
                        {
                          "soltype": {
                            "name": "destinationChainId",
                            "type": "uint256",
                            "storage_location": "default",
                            "offset": 0,
                            "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                            "indexed": true,
                            "simple_type": {
                              "type": "uint"
                            }
                          },
                          "value": "56"
                        }
                      ],
                      "raw": {
                        "address": "0x5800249621DA520aDFdCa16da20d8A5Fc0f814d8",
                        "topics": [
                          "0x90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a15",
                          "0x0000000000000000000000005361b224b3af376fa234dc992c0f3595a325cbf7",
                          "0x0000000000000000000000000000000000000000000000000000000000000038"
                        ],
                        "data": "0x0000000000000000000000000000000000000000000000000001e2083dbb2000"
                      },
                      "trace_index": null
                    },
                    "storage_address": "0x5800249621da520adfdca16da20d8a5fc0f814d8",
                    "input": "0x",
                    "decoded_input": [
                      {
                        "soltype": {
                          "name": "destinationReceiver",
                          "type": "address",
                          "storage_location": "default",
                          "offset": 0,
                          "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                          "indexed": true,
                          "simple_type": {
                            "type": "address"
                          }
                        },
                        "value": "0x5361b224b3af376fa234dc992c0f3595a325cbf7"
                      },
                      {
                        "soltype": {
                          "name": "amount",
                          "type": "uint256",
                          "storage_location": "default",
                          "offset": 0,
                          "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                          "indexed": false,
                          "simple_type": {
                            "type": "uint"
                          }
                        },
                        "value": "530000000000000"
                      },
                      {
                        "soltype": {
                          "name": "destinationChainId",
                          "type": "uint256",
                          "storage_location": "default",
                          "offset": 0,
                          "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                          "indexed": true,
                          "simple_type": {
                            "type": "uint"
                          }
                        },
                        "value": "56"
                      }
                    ],
                    "output": "0x",
                    "decoded_output": null,
                    "network_id": "",
                    "calls": null
                  }
                ],
                "asset_changes": [
                  {
                    "token_info": {
                      "standard": "NativeCurrency",
                      "type": "Native",
                      "symbol": "eth",
                      "name": "Ethereum",
                      "logo": "https://assets.coingecko.com/coins/images/279/large/ethereum.png?1696501628",
                      "decimals": 18,
                      "dollar_value": "2356.989990234375"
                    },
                    "type": "Transfer",
                    "from": "0x5361b224b3af376fa234dc992c0f3595a325cbf7",
                    "to": "0x5800249621da520adfdca16da20d8a5fc0f814d8",
                    "amount": "0.00053",
                    "raw_amount": "530000000000000",
                    "dollar_value": "1.24920469482421875"
                  }
                ],
                "balance_changes": [
                  {
                    "address": "0x5361b224b3af376fa234dc992c0f3595a325cbf7",
                    "dollar_value": "-1.24920469482421875",
                    "transfers": [
                      0
                    ]
                  },
                  {
                    "address": "0x5800249621da520adfdca16da20d8a5fc0f814d8",
                    "dollar_value": "1.24920469482421875",
                    "transfers": [
                      0
                    ]
                  }
                ]
              },
              "stack_trace": null,
              "logs": [
                {
                  "name": "Deposit",
                  "anonymous": false,
                  "inputs": [
                    {
                      "soltype": {
                        "name": "destinationReceiver",
                        "type": "address",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": true,
                        "simple_type": {
                          "type": "address"
                        }
                      },
                      "value": "0x5361b224b3af376fa234dc992c0f3595a325cbf7"
                    },
                    {
                      "soltype": {
                        "name": "amount",
                        "type": "uint256",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": false,
                        "simple_type": {
                          "type": "uint"
                        }
                      },
                      "value": "530000000000000"
                    },
                    {
                      "soltype": {
                        "name": "destinationChainId",
                        "type": "uint256",
                        "storage_location": "default",
                        "offset": 0,
                        "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                        "indexed": true,
                        "simple_type": {
                          "type": "uint"
                        }
                      },
                      "value": "56"
                    }
                  ],
                  "raw": {
                    "address": "0x5800249621da520adfdca16da20d8a5fc0f814d8",
                    "topics": [
                      "0x90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a15",
                      "0x0000000000000000000000005361b224b3af376fa234dc992c0f3595a325cbf7",
                      "0x0000000000000000000000000000000000000000000000000000000000000038"
                    ],
                    "data": "0x0000000000000000000000000000000000000000000000000001e2083dbb2000"
                  },
                  "trace_index": null
                }
              ],
              "balance_diff": [
                {
                  "address": "0x5361b224B3Af376Fa234dc992c0f3595A325cBf7",
                  "original": "3767332357766171",
                  "dirty": "3231574959750071",
                  "is_miner": false
                },
                {
                  "address": "0x5800249621DA520aDFdCa16da20d8A5Fc0f814d8",
                  "original": "19191783044686927921",
                  "dirty": "19192313044686927921",
                  "is_miner": false
                },
                {
                  "address": "0x4200000000000000000000000000000000000011",
                  "original": "44259434701916885990",
                  "dirty": "44259434770949054660",
                  "is_miner": true
                },
                {
                  "address": "0x4200000000000000000000000000000000000019",
                  "original": "27817144889955776893",
                  "dirty": "27817150578321624323",
                  "is_miner": false
                },
                {
                  "address": "0x420000000000000000000000000000000000001A",
                  "original": "414496790679326948273",
                  "dirty": "414496817237149696422",
                  "is_miner": false
                }
              ],
              "nonce_diff": [
                {
                  "address": "0x5361b224B3Af376Fa234dc992c0f3595A325cBf7",
                  "original": "2",
                  "dirty": "3"
                }
              ],
              "state_diff": null,
              "raw_state_diff": null,
              "console_logs": null,
              "asset_changes": [
                {
                  "token_info": {
                    "standard": "NativeCurrency",
                    "type": "Native",
                    "symbol": "eth",
                    "name": "Ethereum",
                    "logo": "https://assets.coingecko.com/coins/images/279/large/ethereum.png?1696501628",
                    "decimals": 18,
                    "dollar_value": "2356.989990234375"
                  },
                  "type": "Transfer",
                  "from": "0x5361b224b3af376fa234dc992c0f3595a325cbf7",
                  "to": "0x5800249621da520adfdca16da20d8a5fc0f814d8",
                  "amount": "0.00053",
                  "raw_amount": "530000000000000",
                  "dollar_value": "1.24920469482421875"
                }
              ],
              "balance_changes": [
                {
                  "address": "0x5361b224b3af376fa234dc992c0f3595a325cbf7",
                  "dollar_value": "-1.24920469482421875",
                  "transfers": [
                    0
                  ]
                },
                {
                  "address": "0x5800249621da520adfdca16da20d8a5fc0f814d8",
                  "dollar_value": "1.24920469482421875",
                  "transfers": [
                    0
                  ]
                }
              ],
              "created_at": "2023-09-11T14:19:49Z"
            },
            "method": "",
            "decoded_input": null,
            "call_trace": [
              {
                "call_type": "CALL",
                "from": "0x5361b224b3af376fa234dc992c0f3595a325cbf7",
                "to": "0x5800249621da520adfdca16da20d8a5fc0f814d8",
                "gas": 7122,
                "gas_used": 7122,
                "value": "0x01e2083dbb2000",
                "address": "0x5800249621da520adfdca16da20d8a5fc0f814d8",
                "input": "0xe56461ad00000000000000000000000000000000000000000000000000000000000000380000000000000000000000005361b224b3af376fa234dc992c0f3595a325cbf7",
                "fromBalance": "0x0d625e6aef7c1b",
                "toBalance": "0x010a56e8ff28edd831"
              }
            ]
          },
          "simulation": {
            "id": "68031df7-16de-469d-ac9d-6947466a193b",
            "project_id": "1830efff-aa75-481e-b464-cedaf8b90960",
            "owner_id": "7d5e8b1f-8bf8-4eae-a70f-fb7d354b1cc2",
            "network_id": "10",
            "block_number": 109421606,
            "transaction_index": 8,
            "from": "0x5361b224b3af376fa234dc992c0f3595a325cbf7",
            "to": "0x5800249621da520adfdca16da20d8a5fc0f814d8",
            "input": "0xe56461ad00000000000000000000000000000000000000000000000000000000000000380000000000000000000000005361b224b3af376fa234dc992c0f3595a325cbf7",
            "gas": 28694,
            "gas_price": "200648150",
            "gas_used": 28694,
            "value": "530000000000000",
            "method": "depositNativeToken",
            "status": true,
            "access_list": null,
            "l1_message_sender": "0x0000000000000000000000000000000000000000",
            "l1_block_number": 0,
            "l1_timestamp": 1694442010,
            "queue_origin": "",
            "block_header": {
              "number": "0x685a426",
              "hash": "0x0000000000000000000000000000000000000000000000000000000000000000",
              "stateRoot": "0x8dc672b428d167e5221345d83927ebdf87ed5206e8566a3d958ce1b101c2ba6b",
              "parentHash": "0x45c7aeb0285b005138d5c2d7afb3366d8ef31c7c18fbd5be049dd4ad783e0b54",
              "sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
              "transactionsRoot": "0xc77aa5b31077552213076a07c6823c82e7b41a3ac2a77793ba7333780cd842a0",
              "receiptsRoot": "0xe031dd48bfd84b153f8c031d8998bce5bce33ccbcd7d0c503f34a792a2877495",
              "logsBloom": "0x8000002001000005404002800000400000000020040000000004000020000000050400001080024401002410011008100c00004000202008002000c00064024066000000080000092100200801806000108000000244008004001020403040211000400002040000000110000000080800001042200004800000001080aa00002002000002024000000002001001050000101040002101002000a0000802004002754000200000108000000440100282200c60006c00800800c10000000000008001000220000400110008040020100020e000000604020020000042001020040410884920a10200010000000000010010888020419008000380080010011040",
              "timestamp": "0x64ff2205",
              "difficulty": "0x0",
              "gasLimit": "0x1c9c380",
              "gasUsed": "0x252cee",
              "miner": "0x4200000000000000000000000000000000000011",
              "extraData": "0x",
              "mixHash": "0x10160501d9bb7068011c56d6cf114a106df3ed6208ebc17e8d56fe02d8b3b343",
              "nonce": "0x0000000000000000",
              "baseFeePerGas": "0xbd0f029",
              "size": "0x0",
              "totalDifficulty": "0x0",
              "uncles": null,
              "transactions": null
            },
            "mint": 0,
            "amount_to_mint": "0",
            "deposit_tx": false,
            "system_tx": false,
            "nonce": 2,
            "addresses": [
              "0x5361b224b3af376fa234dc992c0f3595a325cbf7",
              "0x5800249621da520adfdca16da20d8a5fc0f814d8"
            ],
            "contract_ids": [
              "eth:10:0x5361b224b3af376fa234dc992c0f3595a325cbf7",
              "eth:10:0x5800249621da520adfdca16da20d8a5fc0f814d8"
            ],
            "shared": true,
            "created_at": "2023-12-08T21:33:14.689492043Z"
          },
          "contracts": [
            {
              "id": "eth:10:0x5800249621da520adfdca16da20d8a5fc0f814d8",
              "contract_id": "eth:10:0x5800249621da520adfdca16da20d8a5fc0f814d8",
              "balance": "",
              "network_id": "10",
              "public": true,
              "verified_by": "etherscan",
              "verification_date": "2022-05-03T12:00:26Z",
              "address": "0x5800249621da520adfdca16da20d8a5fc0f814d8",
              "contract_name": "GasMovr",
              "ens_domain": null,
              "type": "contract",
              "evm_version": "istanbul",
              "compiler_version": "v0.8.4+commit.c7e474f2",
              "optimizations_used": false,
              "optimization_runs": 200,
              "libraries": null,
              "compiler_settings": {
                "optimizer": {
                  "enabled": false,
                  "runs": 200
                },
                "evmVersion": "istanbul"
              },
              "deployed_bytecode": "0x6080604052600436106101185760003560e01c80638da5cb5b116100a0578063c537a1b111610064578063c537a1b1146103f2578063d1c85e8c1461041d578063d431b1ac14610446578063e56461ad14610471578063f2fde38b1461048d57610158565b80638da5cb5b146102fb578063982fb9d8146103265780639a21c64c14610363578063aeb45f011461038c578063b659e774146103c957610158565b80633a8ee97d116100e75780633a8ee97d1461022a5780634c9ef2f8146102535780635c975abb14610290578063715018a6146102bb57806385d9ef5a146102d257610158565b806307d9c5341461015d5780630a70b0561461019a5780630cf20cc9146101d85780630ddedd841461020157610158565b36610158577f5d8bc849764969eb1bcc6d0a2f55999d0167c1ccec240a4f39cf664ca9c4148e333460405161014e929190611e1b565b60405180910390a1005b600080fd5b34801561016957600080fd5b50610184600480360381019061017f9190611b17565b6104b6565b6040516101919190611e44565b60405180910390f35b3480156101a657600080fd5b506101c160048036038101906101bc9190611b40565b6104d6565b6040516101cf929190611f95565b60405180910390f35b3480156101e457600080fd5b506101ff60048036038101906101fa91906119d7565b610507565b005b34801561020d57600080fd5b5061022860048036038101906102239190611a13565b610591565b005b34801561023657600080fd5b50610251600480360381019061024c9190611937565b610827565b005b34801561025f57600080fd5b5061027a60048036038101906102759190611ba5565b6108af565b6040516102879190611e44565b60405180910390f35b34801561029c57600080fd5b506102a5610987565b6040516102b29190611e44565b60405180910390f35b3480156102c757600080fd5b506102d061099d565b005b3480156102de57600080fd5b506102f960048036038101906102f49190611937565b610a25565b005b34801561030757600080fd5b50610310610aad565b60405161031d9190611dc9565b60405180910390f35b34801561033257600080fd5b5061034d60048036038101906103489190611937565b610ad6565b60405161035a9190611e44565b60405180910390f35b34801561036f57600080fd5b5061038a60048036038101906103859190611937565b610af6565b005b34801561039857600080fd5b506103b360048036038101906103ae9190611b40565b610b7f565b6040516103c09190611f5f565b60405180910390f35b3480156103d557600080fd5b506103f060048036038101906103eb9190611ad2565b610bd1565b005b3480156103fe57600080fd5b50610407610d16565b6040516104149190611e44565b60405180910390f35b34801561042957600080fd5b50610444600480360381019061043f9190611960565b610da9565b005b34801561045257600080fd5b5061045b610e8e565b6040516104689190611e44565b60405180910390f35b61048b60048036038101906104869190611b69565b610f21565b005b34801561049957600080fd5b506104b460048036038101906104af9190611937565b61101f565b005b60026020528060005260406000206000915054906101000a900460ff1681565b60016020528060005260406000206000915090508060000154908060010160009054906101000a900460ff16905082565b61050f611117565b73ffffffffffffffffffffffffffffffffffffffff1661052d610aad565b73ffffffffffffffffffffffffffffffffffffffff1614610583576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161057a90611f1f565b60405180910390fd5b61058d828261111f565b5050565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661061d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161061490611e5f565b60405180910390fd5b8351855114801561062f575082518551145b61066e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161066590611f3f565b60405180910390fd5b60003a905060005b865181101561081e576000838783815181106106bb577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151116106d95784836106d491906120d9565b61073c565b84836106e591906120d9565b8488848151811061071f577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101516107319190612133565b61073b9190612083565b5b905061080a88838151811061077a577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101518884815181106107bb577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101518885815181106107fc577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101518461121e565b5080806108169061229c565b915050610676565b50505050505050565b61082f611117565b73ffffffffffffffffffffffffffffffffffffffff1661084d610aad565b73ffffffffffffffffffffffffffffffffffffffff16146108a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089a90611f1f565b60405180910390fd5b6108ac8161137a565b50565b60006108b9611117565b73ffffffffffffffffffffffffffffffffffffffff166108d7610aad565b73ffffffffffffffffffffffffffffffffffffffff161461092d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092490611f1f565b60405180910390fd5b816001600085815260200190815260200160002060010160006101000a81548160ff0219169083151502179055506001600084815260200190815260200160002060010160009054906101000a900460ff16905092915050565b60008060149054906101000a900460ff16905090565b6109a5611117565b73ffffffffffffffffffffffffffffffffffffffff166109c3610aad565b73ffffffffffffffffffffffffffffffffffffffff1614610a19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a1090611f1f565b60405180910390fd5b610a23600061140c565b565b610a2d611117565b73ffffffffffffffffffffffffffffffffffffffff16610a4b610aad565b73ffffffffffffffffffffffffffffffffffffffff1614610aa1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9890611f1f565b60405180910390fd5b610aaa816114d0565b50565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60036020528060005260406000206000915054906101000a900460ff1681565b610afe611117565b73ffffffffffffffffffffffffffffffffffffffff16610b1c610aad565b73ffffffffffffffffffffffffffffffffffffffff1614610b72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b6990611f1f565b60405180910390fd5b610b7c814761111f565b50565b610b876116a6565b60016000838152602001908152602001600020604051806040016040529081600082015481526020016001820160009054906101000a900460ff1615151515815250509050919050565b610bd9611117565b73ffffffffffffffffffffffffffffffffffffffff16610bf7610aad565b73ffffffffffffffffffffffffffffffffffffffff1614610c4d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4490611f1f565b60405180910390fd5b60005b82829050811015610d1157828282818110610c94577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90506040020160016000858585818110610cd7577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9050604002016000013581526020019081526020016000208181610cfb919061259a565b9050508080610d099061229c565b915050610c50565b505050565b6000610d20611117565b73ffffffffffffffffffffffffffffffffffffffff16610d3e610aad565b73ffffffffffffffffffffffffffffffffffffffff1614610d94576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8b90611f1f565b60405180910390fd5b610d9c611562565b610da4610987565b905090565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610e35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2c90611e5f565b60405180910390fd5b60003a90506000828611610e54578382610e4f91906120d9565b610e77565b8382610e6091906120d9565b8387610e6c9190612133565b610e769190612083565b5b9050610e858787878461121e565b50505050505050565b6000610e98611117565b73ffffffffffffffffffffffffffffffffffffffff16610eb6610aad565b73ffffffffffffffffffffffffffffffffffffffff1614610f0c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0390611f1f565b60405180910390fd5b610f14611603565b610f1c610987565b905090565b610f29610987565b15610f69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6090611eff565b60405180910390fd5b6001600083815260200190815260200160002060010160009054906101000a900460ff16610fcc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc390611e9f565b60405180910390fd5b818173ffffffffffffffffffffffffffffffffffffffff167f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a15346040516110139190611f7a565b60405180910390a35050565b611027611117565b73ffffffffffffffffffffffffffffffffffffffff16611045610aad565b73ffffffffffffffffffffffffffffffffffffffff161461109b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161109290611f1f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561110b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110290611ebf565b60405180910390fd5b6111148161140c565b50565b600033905090565b60008273ffffffffffffffffffffffffffffffffffffffff168260405161114590611db4565b60006040518083038185875af1925050503d8060008114611182576040519150601f19603f3d011682016040523d82523d6000602084013e611187565b606091505b50509050806111cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111c290611edf565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff167f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65836040516112119190611f7a565b60405180910390a2505050565b6002600083815260200190815260200160002060009054906101000a900460ff161561124957611374565b60016002600084815260200190815260200160002060006101000a81548160ff021916908315150217905550600081846112839190612133565b90507f2f824f69f211e444df15d741157e83cdf23c50f39399b9523853a84b91379ca68582856040516112b893929190611de4565b60405180910390a160008573ffffffffffffffffffffffffffffffffffffffff1682611388906040516112ea90611db4565b600060405180830381858888f193505050503d8060008114611328576040519150601f19603f3d011682016040523d82523d6000602084013e61132d565b606091505b5050905080611371576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161136890611edf565b60405180910390fd5b50505b50505050565b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f81cdda5c32462d3b8852fb6c30821f5d90c45230475e9b29e517afa5fef7eb9a816040516114019190611dc9565b60405180910390a150565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f6d976a532ca2d9b73b2090e0fb183da92b74bfd91ca6f4562b82a86c0a4b0194816040516115579190611dc9565b60405180910390a150565b61156a610987565b6115a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115a090611e7f565b60405180910390fd5b60008060146101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6115ec611117565b6040516115f99190611dc9565b60405180910390a1565b61160b610987565b1561164b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161164290611eff565b60405180910390fd5b6001600060146101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25861168f611117565b60405161169c9190611dc9565b60405180910390a1565b6040518060400160405280600081526020016000151581525090565b60006116d56116d084611fe3565b611fbe565b905080838252602082019050828560208602820111156116f457600080fd5b60005b85811015611724578161170a888261181b565b8452602084019350602083019250506001810190506116f7565b5050509392505050565b600061174161173c8461200f565b611fbe565b9050808382526020820190508285602086028201111561176057600080fd5b60005b858110156117905781611776888261190d565b845260208401935060208301925050600181019050611763565b5050509392505050565b60006117ad6117a88461203b565b611fbe565b905080838252602082019050828560208602820111156117cc57600080fd5b60005b858110156117fc57816117e28882611922565b8452602084019350602083019250506001810190506117cf565b5050509392505050565b600081359050611815816125cb565b92915050565b60008135905061182a816125e2565b92915050565b600082601f83011261184157600080fd5b81356118518482602086016116c2565b91505092915050565b600082601f83011261186b57600080fd5b813561187b84826020860161172e565b91505092915050565b60008083601f84011261189657600080fd5b8235905067ffffffffffffffff8111156118af57600080fd5b6020830191508360408202830111156118c757600080fd5b9250929050565b600082601f8301126118df57600080fd5b81356118ef84826020860161179a565b91505092915050565b600081359050611907816125f9565b92915050565b60008135905061191c81612610565b92915050565b60008135905061193181612627565b92915050565b60006020828403121561194957600080fd5b600061195784828501611806565b91505092915050565b600080600080600060a0868803121561197857600080fd5b60006119868882890161181b565b955050602061199788828901611922565b94505060406119a88882890161190d565b93505060606119b988828901611922565b92505060806119ca88828901611922565b9150509295509295909350565b600080604083850312156119ea57600080fd5b60006119f885828601611806565b9250506020611a0985828601611922565b9150509250929050565b600080600080600060a08688031215611a2b57600080fd5b600086013567ffffffffffffffff811115611a4557600080fd5b611a5188828901611830565b955050602086013567ffffffffffffffff811115611a6e57600080fd5b611a7a888289016118ce565b945050604086013567ffffffffffffffff811115611a9757600080fd5b611aa38882890161185a565b9350506060611ab488828901611922565b9250506080611ac588828901611922565b9150509295509295909350565b60008060208385031215611ae557600080fd5b600083013567ffffffffffffffff811115611aff57600080fd5b611b0b85828601611884565b92509250509250929050565b600060208284031215611b2957600080fd5b6000611b378482850161190d565b91505092915050565b600060208284031215611b5257600080fd5b6000611b6084828501611922565b91505092915050565b60008060408385031215611b7c57600080fd5b6000611b8a85828601611922565b9250506020611b9b85828601611806565b9150509250929050565b60008060408385031215611bb857600080fd5b6000611bc685828601611922565b9250506020611bd7858286016118f8565b9150509250929050565b611bea816121cb565b82525050565b611bf981612167565b82525050565b611c088161218b565b82525050565b611c178161218b565b82525050565b611c2681612197565b82525050565b6000611c39601483612072565b9150611c44826123a1565b602082019050919050565b6000611c5c601483612072565b9150611c67826123ca565b602082019050919050565b6000611c7f601b83612072565b9150611c8a826123f3565b602082019050919050565b6000611ca2602683612072565b9150611cad8261241c565b604082019050919050565b6000611cc5601483612072565b9150611cd08261246b565b602082019050919050565b6000611ce8601083612072565b9150611cf382612494565b602082019050919050565b6000611d0b602083612072565b9150611d16826124bd565b602082019050919050565b6000611d2e600083612067565b9150611d39826124e6565b600082019050919050565b6000611d51601583612072565b9150611d5c826124e9565b602082019050919050565b604082016000820151611d7d6000850182611d96565b506020820151611d906020850182611bff565b50505050565b611d9f816121c1565b82525050565b611dae816121c1565b82525050565b6000611dbf82611d21565b9150819050919050565b6000602082019050611dde6000830184611bf0565b92915050565b6000606082019050611df96000830186611be1565b611e066020830185611da5565b611e136040830184611c1d565b949350505050565b6000604082019050611e306000830185611bf0565b611e3d6020830184611da5565b9392505050565b6000602082019050611e596000830184611c0e565b92915050565b60006020820190508181036000830152611e7881611c2c565b9050919050565b60006020820190508181036000830152611e9881611c4f565b9050919050565b60006020820190508181036000830152611eb881611c72565b9050919050565b60006020820190508181036000830152611ed881611c95565b9050919050565b60006020820190508181036000830152611ef881611cb8565b9050919050565b60006020820190508181036000830152611f1881611cdb565b9050919050565b60006020820190508181036000830152611f3881611cfe565b9050919050565b60006020820190508181036000830152611f5881611d44565b9050919050565b6000604082019050611f746000830184611d67565b92915050565b6000602082019050611f8f6000830184611da5565b92915050565b6000604082019050611faa6000830185611da5565b611fb76020830184611c0e565b9392505050565b6000611fc8611fd9565b9050611fd4828261226b565b919050565b6000604051905090565b600067ffffffffffffffff821115611ffe57611ffd612314565b5b602082029050602081019050919050565b600067ffffffffffffffff82111561202a57612029612314565b5b602082029050602081019050919050565b600067ffffffffffffffff82111561205657612055612314565b5b602082029050602081019050919050565b600081905092915050565b600082825260208201905092915050565b600061208e826121c1565b9150612099836121c1565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156120ce576120cd6122e5565b5b828201905092915050565b60006120e4826121c1565b91506120ef836121c1565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612128576121276122e5565b5b828202905092915050565b600061213e826121c1565b9150612149836121c1565b92508282101561215c5761215b6122e5565b5b828203905092915050565b6000612172826121a1565b9050919050565b6000612184826121a1565b9050919050565b60008115159050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60006121d6826121ef565b9050919050565b60006121e88261218b565b9050919050565b60006121fa82612201565b9050919050565b600061220c826121a1565b9050919050565b600061221e826121c1565b9050919050565b6000810160008301806122378161236d565b905061224381846125a8565b50505060018101602083018061225881612357565b90506122648184612577565b5050505050565b61227482612383565b810181811067ffffffffffffffff8211171561229357612292612314565b5b80604052505050565b60006122a7826121c1565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156122da576122d96122e5565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000819050919050565b6000819050919050565b60008135612364816125f9565b80915050919050565b6000813561237a81612627565b80915050919050565b6000601f19601f8301169050919050565b60008160001b9050919050565b7f53656e64657220726f6c65207265717569726564000000000000000000000000600082015250565b7f5061757361626c653a206e6f7420706175736564000000000000000000000000600082015250565b7f436861696e2069732063757272656e746c792064697361626c65640000000000600082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f4661696c656420746f2073656e64204574686572000000000000000000000000600082015250565b7f5061757361626c653a2070617573656400000000000000000000000000000000600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b50565b7f496e707574206c656e677468206d69736d617463680000000000000000000000600082015250565b600060ff61251f84612394565b9350801983169250808416831791505092915050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61256184612394565b9350801983169250808416831791505092915050565b612580826121dd565b61259361258c82612343565b8354612512565b8255505050565b6125a48282612225565b5050565b6125b182612213565b6125c46125bd8261234d565b8354612535565b8255505050565b6125d481612167565b81146125df57600080fd5b50565b6125eb81612179565b81146125f657600080fd5b50565b6126028161218b565b811461260d57600080fd5b50565b61261981612197565b811461262457600080fd5b50565b612630816121c1565b811461263b57600080fd5b5056fea2646970667358221220a20584266cfb1330ad52a32361fdcad1a8b049c48d067aac467033d13ddd4a8d64736f6c63430008040033",
              "creation_bytecode": "0x60806040523480156200001157600080fd5b5062000032620000266200006360201b60201c565b6200006b60201b60201c565b60008060146101000a81548160ff0219169083151502179055506200005d336200012f60201b60201c565b62000225565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f81cdda5c32462d3b8852fb6c30821f5d90c45230475e9b29e517afa5fef7eb9a81604051620001b89190620001d4565b60405180910390a150565b620001ce81620001f1565b82525050565b6000602082019050620001eb6000830184620001c3565b92915050565b6000620001fe8262000205565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b61267480620002356000396000f3fe6080604052600436106101185760003560e01c80638da5cb5b116100a0578063c537a1b111610064578063c537a1b1146103f2578063d1c85e8c1461041d578063d431b1ac14610446578063e56461ad14610471578063f2fde38b1461048d57610158565b80638da5cb5b146102fb578063982fb9d8146103265780639a21c64c14610363578063aeb45f011461038c578063b659e774146103c957610158565b80633a8ee97d116100e75780633a8ee97d1461022a5780634c9ef2f8146102535780635c975abb14610290578063715018a6146102bb57806385d9ef5a146102d257610158565b806307d9c5341461015d5780630a70b0561461019a5780630cf20cc9146101d85780630ddedd841461020157610158565b36610158577f5d8bc849764969eb1bcc6d0a2f55999d0167c1ccec240a4f39cf664ca9c4148e333460405161014e929190611e1b565b60405180910390a1005b600080fd5b34801561016957600080fd5b50610184600480360381019061017f9190611b17565b6104b6565b6040516101919190611e44565b60405180910390f35b3480156101a657600080fd5b506101c160048036038101906101bc9190611b40565b6104d6565b6040516101cf929190611f95565b60405180910390f35b3480156101e457600080fd5b506101ff60048036038101906101fa91906119d7565b610507565b005b34801561020d57600080fd5b5061022860048036038101906102239190611a13565b610591565b005b34801561023657600080fd5b50610251600480360381019061024c9190611937565b610827565b005b34801561025f57600080fd5b5061027a60048036038101906102759190611ba5565b6108af565b6040516102879190611e44565b60405180910390f35b34801561029c57600080fd5b506102a5610987565b6040516102b29190611e44565b60405180910390f35b3480156102c757600080fd5b506102d061099d565b005b3480156102de57600080fd5b506102f960048036038101906102f49190611937565b610a25565b005b34801561030757600080fd5b50610310610aad565b60405161031d9190611dc9565b60405180910390f35b34801561033257600080fd5b5061034d60048036038101906103489190611937565b610ad6565b60405161035a9190611e44565b60405180910390f35b34801561036f57600080fd5b5061038a60048036038101906103859190611937565b610af6565b005b34801561039857600080fd5b506103b360048036038101906103ae9190611b40565b610b7f565b6040516103c09190611f5f565b60405180910390f35b3480156103d557600080fd5b506103f060048036038101906103eb9190611ad2565b610bd1565b005b3480156103fe57600080fd5b50610407610d16565b6040516104149190611e44565b60405180910390f35b34801561042957600080fd5b50610444600480360381019061043f9190611960565b610da9565b005b34801561045257600080fd5b5061045b610e8e565b6040516104689190611e44565b60405180910390f35b61048b60048036038101906104869190611b69565b610f21565b005b34801561049957600080fd5b506104b460048036038101906104af9190611937565b61101f565b005b60026020528060005260406000206000915054906101000a900460ff1681565b60016020528060005260406000206000915090508060000154908060010160009054906101000a900460ff16905082565b61050f611117565b73ffffffffffffffffffffffffffffffffffffffff1661052d610aad565b73ffffffffffffffffffffffffffffffffffffffff1614610583576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161057a90611f1f565b60405180910390fd5b61058d828261111f565b5050565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661061d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161061490611e5f565b60405180910390fd5b8351855114801561062f575082518551145b61066e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161066590611f3f565b60405180910390fd5b60003a905060005b865181101561081e576000838783815181106106bb577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151116106d95784836106d491906120d9565b61073c565b84836106e591906120d9565b8488848151811061071f577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101516107319190612133565b61073b9190612083565b5b905061080a88838151811061077a577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101518884815181106107bb577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101518885815181106107fc577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101518461121e565b5080806108169061229c565b915050610676565b50505050505050565b61082f611117565b73ffffffffffffffffffffffffffffffffffffffff1661084d610aad565b73ffffffffffffffffffffffffffffffffffffffff16146108a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089a90611f1f565b60405180910390fd5b6108ac8161137a565b50565b60006108b9611117565b73ffffffffffffffffffffffffffffffffffffffff166108d7610aad565b73ffffffffffffffffffffffffffffffffffffffff161461092d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092490611f1f565b60405180910390fd5b816001600085815260200190815260200160002060010160006101000a81548160ff0219169083151502179055506001600084815260200190815260200160002060010160009054906101000a900460ff16905092915050565b60008060149054906101000a900460ff16905090565b6109a5611117565b73ffffffffffffffffffffffffffffffffffffffff166109c3610aad565b73ffffffffffffffffffffffffffffffffffffffff1614610a19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a1090611f1f565b60405180910390fd5b610a23600061140c565b565b610a2d611117565b73ffffffffffffffffffffffffffffffffffffffff16610a4b610aad565b73ffffffffffffffffffffffffffffffffffffffff1614610aa1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9890611f1f565b60405180910390fd5b610aaa816114d0565b50565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60036020528060005260406000206000915054906101000a900460ff1681565b610afe611117565b73ffffffffffffffffffffffffffffffffffffffff16610b1c610aad565b73ffffffffffffffffffffffffffffffffffffffff1614610b72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b6990611f1f565b60405180910390fd5b610b7c814761111f565b50565b610b876116a6565b60016000838152602001908152602001600020604051806040016040529081600082015481526020016001820160009054906101000a900460ff1615151515815250509050919050565b610bd9611117565b73ffffffffffffffffffffffffffffffffffffffff16610bf7610aad565b73ffffffffffffffffffffffffffffffffffffffff1614610c4d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4490611f1f565b60405180910390fd5b60005b82829050811015610d1157828282818110610c94577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90506040020160016000858585818110610cd7577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9050604002016000013581526020019081526020016000208181610cfb919061259a565b9050508080610d099061229c565b915050610c50565b505050565b6000610d20611117565b73ffffffffffffffffffffffffffffffffffffffff16610d3e610aad565b73ffffffffffffffffffffffffffffffffffffffff1614610d94576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8b90611f1f565b60405180910390fd5b610d9c611562565b610da4610987565b905090565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610e35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2c90611e5f565b60405180910390fd5b60003a90506000828611610e54578382610e4f91906120d9565b610e77565b8382610e6091906120d9565b8387610e6c9190612133565b610e769190612083565b5b9050610e858787878461121e565b50505050505050565b6000610e98611117565b73ffffffffffffffffffffffffffffffffffffffff16610eb6610aad565b73ffffffffffffffffffffffffffffffffffffffff1614610f0c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0390611f1f565b60405180910390fd5b610f14611603565b610f1c610987565b905090565b610f29610987565b15610f69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6090611eff565b60405180910390fd5b6001600083815260200190815260200160002060010160009054906101000a900460ff16610fcc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc390611e9f565b60405180910390fd5b818173ffffffffffffffffffffffffffffffffffffffff167f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a15346040516110139190611f7a565b60405180910390a35050565b611027611117565b73ffffffffffffffffffffffffffffffffffffffff16611045610aad565b73ffffffffffffffffffffffffffffffffffffffff161461109b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161109290611f1f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561110b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110290611ebf565b60405180910390fd5b6111148161140c565b50565b600033905090565b60008273ffffffffffffffffffffffffffffffffffffffff168260405161114590611db4565b60006040518083038185875af1925050503d8060008114611182576040519150601f19603f3d011682016040523d82523d6000602084013e611187565b606091505b50509050806111cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111c290611edf565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff167f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65836040516112119190611f7a565b60405180910390a2505050565b6002600083815260200190815260200160002060009054906101000a900460ff161561124957611374565b60016002600084815260200190815260200160002060006101000a81548160ff021916908315150217905550600081846112839190612133565b90507f2f824f69f211e444df15d741157e83cdf23c50f39399b9523853a84b91379ca68582856040516112b893929190611de4565b60405180910390a160008573ffffffffffffffffffffffffffffffffffffffff1682611388906040516112ea90611db4565b600060405180830381858888f193505050503d8060008114611328576040519150601f19603f3d011682016040523d82523d6000602084013e61132d565b606091505b5050905080611371576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161136890611edf565b60405180910390fd5b50505b50505050565b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f81cdda5c32462d3b8852fb6c30821f5d90c45230475e9b29e517afa5fef7eb9a816040516114019190611dc9565b60405180910390a150565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f6d976a532ca2d9b73b2090e0fb183da92b74bfd91ca6f4562b82a86c0a4b0194816040516115579190611dc9565b60405180910390a150565b61156a610987565b6115a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115a090611e7f565b60405180910390fd5b60008060146101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6115ec611117565b6040516115f99190611dc9565b60405180910390a1565b61160b610987565b1561164b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161164290611eff565b60405180910390fd5b6001600060146101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25861168f611117565b60405161169c9190611dc9565b60405180910390a1565b6040518060400160405280600081526020016000151581525090565b60006116d56116d084611fe3565b611fbe565b905080838252602082019050828560208602820111156116f457600080fd5b60005b85811015611724578161170a888261181b565b8452602084019350602083019250506001810190506116f7565b5050509392505050565b600061174161173c8461200f565b611fbe565b9050808382526020820190508285602086028201111561176057600080fd5b60005b858110156117905781611776888261190d565b845260208401935060208301925050600181019050611763565b5050509392505050565b60006117ad6117a88461203b565b611fbe565b905080838252602082019050828560208602820111156117cc57600080fd5b60005b858110156117fc57816117e28882611922565b8452602084019350602083019250506001810190506117cf565b5050509392505050565b600081359050611815816125cb565b92915050565b60008135905061182a816125e2565b92915050565b600082601f83011261184157600080fd5b81356118518482602086016116c2565b91505092915050565b600082601f83011261186b57600080fd5b813561187b84826020860161172e565b91505092915050565b60008083601f84011261189657600080fd5b8235905067ffffffffffffffff8111156118af57600080fd5b6020830191508360408202830111156118c757600080fd5b9250929050565b600082601f8301126118df57600080fd5b81356118ef84826020860161179a565b91505092915050565b600081359050611907816125f9565b92915050565b60008135905061191c81612610565b92915050565b60008135905061193181612627565b92915050565b60006020828403121561194957600080fd5b600061195784828501611806565b91505092915050565b600080600080600060a0868803121561197857600080fd5b60006119868882890161181b565b955050602061199788828901611922565b94505060406119a88882890161190d565b93505060606119b988828901611922565b92505060806119ca88828901611922565b9150509295509295909350565b600080604083850312156119ea57600080fd5b60006119f885828601611806565b9250506020611a0985828601611922565b9150509250929050565b600080600080600060a08688031215611a2b57600080fd5b600086013567ffffffffffffffff811115611a4557600080fd5b611a5188828901611830565b955050602086013567ffffffffffffffff811115611a6e57600080fd5b611a7a888289016118ce565b945050604086013567ffffffffffffffff811115611a9757600080fd5b611aa38882890161185a565b9350506060611ab488828901611922565b9250506080611ac588828901611922565b9150509295509295909350565b60008060208385031215611ae557600080fd5b600083013567ffffffffffffffff811115611aff57600080fd5b611b0b85828601611884565b92509250509250929050565b600060208284031215611b2957600080fd5b6000611b378482850161190d565b91505092915050565b600060208284031215611b5257600080fd5b6000611b6084828501611922565b91505092915050565b60008060408385031215611b7c57600080fd5b6000611b8a85828601611922565b9250506020611b9b85828601611806565b9150509250929050565b60008060408385031215611bb857600080fd5b6000611bc685828601611922565b9250506020611bd7858286016118f8565b9150509250929050565b611bea816121cb565b82525050565b611bf981612167565b82525050565b611c088161218b565b82525050565b611c178161218b565b82525050565b611c2681612197565b82525050565b6000611c39601483612072565b9150611c44826123a1565b602082019050919050565b6000611c5c601483612072565b9150611c67826123ca565b602082019050919050565b6000611c7f601b83612072565b9150611c8a826123f3565b602082019050919050565b6000611ca2602683612072565b9150611cad8261241c565b604082019050919050565b6000611cc5601483612072565b9150611cd08261246b565b602082019050919050565b6000611ce8601083612072565b9150611cf382612494565b602082019050919050565b6000611d0b602083612072565b9150611d16826124bd565b602082019050919050565b6000611d2e600083612067565b9150611d39826124e6565b600082019050919050565b6000611d51601583612072565b9150611d5c826124e9565b602082019050919050565b604082016000820151611d7d6000850182611d96565b506020820151611d906020850182611bff565b50505050565b611d9f816121c1565b82525050565b611dae816121c1565b82525050565b6000611dbf82611d21565b9150819050919050565b6000602082019050611dde6000830184611bf0565b92915050565b6000606082019050611df96000830186611be1565b611e066020830185611da5565b611e136040830184611c1d565b949350505050565b6000604082019050611e306000830185611bf0565b611e3d6020830184611da5565b9392505050565b6000602082019050611e596000830184611c0e565b92915050565b60006020820190508181036000830152611e7881611c2c565b9050919050565b60006020820190508181036000830152611e9881611c4f565b9050919050565b60006020820190508181036000830152611eb881611c72565b9050919050565b60006020820190508181036000830152611ed881611c95565b9050919050565b60006020820190508181036000830152611ef881611cb8565b9050919050565b60006020820190508181036000830152611f1881611cdb565b9050919050565b60006020820190508181036000830152611f3881611cfe565b9050919050565b60006020820190508181036000830152611f5881611d44565b9050919050565b6000604082019050611f746000830184611d67565b92915050565b6000602082019050611f8f6000830184611da5565b92915050565b6000604082019050611faa6000830185611da5565b611fb76020830184611c0e565b9392505050565b6000611fc8611fd9565b9050611fd4828261226b565b919050565b6000604051905090565b600067ffffffffffffffff821115611ffe57611ffd612314565b5b602082029050602081019050919050565b600067ffffffffffffffff82111561202a57612029612314565b5b602082029050602081019050919050565b600067ffffffffffffffff82111561205657612055612314565b5b602082029050602081019050919050565b600081905092915050565b600082825260208201905092915050565b600061208e826121c1565b9150612099836121c1565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156120ce576120cd6122e5565b5b828201905092915050565b60006120e4826121c1565b91506120ef836121c1565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612128576121276122e5565b5b828202905092915050565b600061213e826121c1565b9150612149836121c1565b92508282101561215c5761215b6122e5565b5b828203905092915050565b6000612172826121a1565b9050919050565b6000612184826121a1565b9050919050565b60008115159050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60006121d6826121ef565b9050919050565b60006121e88261218b565b9050919050565b60006121fa82612201565b9050919050565b600061220c826121a1565b9050919050565b600061221e826121c1565b9050919050565b6000810160008301806122378161236d565b905061224381846125a8565b50505060018101602083018061225881612357565b90506122648184612577565b5050505050565b61227482612383565b810181811067ffffffffffffffff8211171561229357612292612314565b5b80604052505050565b60006122a7826121c1565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156122da576122d96122e5565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000819050919050565b6000819050919050565b60008135612364816125f9565b80915050919050565b6000813561237a81612627565b80915050919050565b6000601f19601f8301169050919050565b60008160001b9050919050565b7f53656e64657220726f6c65207265717569726564000000000000000000000000600082015250565b7f5061757361626c653a206e6f7420706175736564000000000000000000000000600082015250565b7f436861696e2069732063757272656e746c792064697361626c65640000000000600082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f4661696c656420746f2073656e64204574686572000000000000000000000000600082015250565b7f5061757361626c653a2070617573656400000000000000000000000000000000600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b50565b7f496e707574206c656e677468206d69736d617463680000000000000000000000600082015250565b600060ff61251f84612394565b9350801983169250808416831791505092915050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61256184612394565b9350801983169250808416831791505092915050565b612580826121dd565b61259361258c82612343565b8354612512565b8255505050565b6125a48282612225565b5050565b6125b182612213565b6125c46125bd8261234d565b8354612535565b8255505050565b6125d481612167565b81146125df57600080fd5b50565b6125eb81612179565b81146125f657600080fd5b50565b6126028161218b565b811461260d57600080fd5b50565b61261981612197565b811461262457600080fd5b50565b612630816121c1565b811461263b57600080fd5b5056fea2646970667358221220a20584266cfb1330ad52a32361fdcad1a8b049c48d067aac467033d13ddd4a8d64736f6c63430008040033",
              "data": {
                "main_contract": 3,
                "contract_info": [
                  {
                    "id": 3,
                    "path": "contracts/GasMovr.sol",
                    "name": "GasMovr.sol",
                    "source": "// SPDX-License-Identifier: MIT\n\npragma solidity >0.8.0;\n\nimport \"@openzeppelin/contracts/access/Ownable.sol\";\nimport \"@openzeppelin/contracts/security/Pausable.sol\";\n\ncontract GasMovr is Ownable, Pausable {\n    /* \n        Variables\n    */\n    mapping(uint256 => ChainData) public chainConfig;\n    mapping(bytes32 => bool) public processedHashes;\n    mapping(address => bool) public senders;\n\n    struct ChainData {\n        uint256 chainId;\n        bool isEnabled;\n    }\n\n    /* \n        Events\n    */\n    event Deposit(\n        address indexed destinationReceiver,\n        uint256 amount,\n        uint256 indexed destinationChainId\n    );\n\n    event Withdrawal(address indexed receiver, uint256 amount);\n\n    event Donation(address sender, uint256 amount);\n\n    event Send(address receiver, uint256 amount, bytes32 srcChainTxHash);\n\n    event GrantSender(address sender);\n    event RevokeSender(address sender);\n\n    modifier onlySender() {\n        require(senders[msg.sender], \"Sender role required\");\n        _;\n    }\n\n    constructor() {\n        _grantSenderRole(msg.sender);\n    }\n\n    receive() external payable {\n        emit Donation(msg.sender, msg.value);\n    }\n\n    function depositNativeToken(uint256 destinationChainId, address _to)\n        public\n        payable\n        whenNotPaused\n    {\n        require(\n            chainConfig[destinationChainId].isEnabled,\n            \"Chain is currently disabled\"\n        );\n\n        emit Deposit(_to, msg.value, destinationChainId);\n    }\n\n    function withdrawBalance(address _to, uint256 _amount) public onlyOwner {\n        _withdrawBalance(_to, _amount);\n    }\n\n    function withdrawFullBalance(address _to) public onlyOwner {\n        _withdrawBalance(_to, address(this).balance);\n    }\n\n    function _withdrawBalance(address _to, uint256 _amount) private {\n        (bool success, ) = _to.call{value: _amount}(\"\");\n        require(success, \"Failed to send Ether\");\n\n        emit Withdrawal(_to, _amount);\n    }\n\n    function setIsEnabled(uint256 chainId, bool _isEnabled)\n        public\n        onlyOwner\n        returns (bool)\n    {\n        chainConfig[chainId].isEnabled = _isEnabled;\n        return chainConfig[chainId].isEnabled;\n    }\n\n    function setPause() public onlyOwner returns (bool) {\n        _pause();\n        return paused();\n    }\n\n    function setUnPause() public onlyOwner returns (bool) {\n        _unpause();\n        return paused();\n    }\n\n    function addRoutes(ChainData[] calldata _routes) external onlyOwner {\n        for (uint256 i = 0; i < _routes.length; i++) {\n            chainConfig[_routes[i].chainId] = _routes[i];\n        }\n    }\n\n    function getChainData(uint256 chainId)\n        public\n        view\n        returns (ChainData memory)\n    {\n        return (chainConfig[chainId]);\n    }\n\n    function batchSendNativeToken(\n        address payable[] memory receivers,\n        uint256[] memory amounts,\n        bytes32[] memory srcChainTxHashes,\n        uint256 perUserGasAmount,\n        uint256 maxLimit\n    ) public onlySender {\n        require(\n            receivers.length == amounts.length &&\n                receivers.length == srcChainTxHashes.length,\n            \"Input length mismatch\"\n        );\n        uint256 gasPrice;\n        assembly {\n            gasPrice := gasprice()\n        }\n\n        for (uint256 i = 0; i < receivers.length; i++) {\n            uint256 _gasFees = amounts[i] > maxLimit\n                ? (amounts[i] - maxLimit + (gasPrice * perUserGasAmount))\n                : gasPrice * perUserGasAmount;\n            _sendNativeToken(\n                receivers[i],\n                amounts[i],\n                srcChainTxHashes[i],\n                _gasFees\n            );\n        }\n    }\n\n    function sendNativeToken(\n        address payable receiver,\n        uint256 amount,\n        bytes32 srcChainTxHash,\n        uint256 perUserGasAmount,\n        uint256 maxLimit\n    ) public onlySender {\n        uint256 gasPrice;\n        assembly {\n            gasPrice := gasprice()\n        }\n        uint256 _gasFees = amount > maxLimit\n            ? (amount - maxLimit + (gasPrice * perUserGasAmount))\n            : gasPrice * perUserGasAmount;\n\n        _sendNativeToken(receiver, amount, srcChainTxHash, _gasFees);\n    }\n\n    function _sendNativeToken(\n        address payable receiver,\n        uint256 amount,\n        bytes32 srcChainTxHash,\n        uint256 gasFees\n    ) private {\n        if (processedHashes[srcChainTxHash]) return;\n        processedHashes[srcChainTxHash] = true;\n\n        uint256 sendAmount = amount - gasFees;\n\n        emit Send(receiver, sendAmount, srcChainTxHash);\n\n        (bool success, ) = receiver.call{value: sendAmount, gas: 5000}(\"\");\n        require(success, \"Failed to send Ether\");\n    }\n\n    function grantSenderRole(address sender) public onlyOwner {\n        _grantSenderRole(sender);\n    }\n\n    function revokeSenderRole(address sender) public onlyOwner {\n        _revokeSenderRole(sender);\n    }\n\n    function _grantSenderRole(address sender) private {\n        senders[sender] = true;\n        emit GrantSender(sender);\n    }\n\n    function _revokeSenderRole(address sender) private {\n        senders[sender] = false;\n        emit RevokeSender(sender);\n    }\n}\n"
                  },
                  {
                    "id": 0,
                    "path": "@openzeppelin/contracts/access/Ownable.sol",
                    "name": "Ownable.sol",
                    "source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.0 (access/Ownable.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../utils/Context.sol\";\n\n/**\n * @dev Contract module which provides a basic access control mechanism, where\n * there is an account (an owner) that can be granted exclusive access to\n * specific functions.\n *\n * By default, the owner account will be the one that deploys the contract. This\n * can later be changed with {transferOwnership}.\n *\n * This module is used through inheritance. It will make available the modifier\n * `onlyOwner`, which can be applied to your functions to restrict their use to\n * the owner.\n */\nabstract contract Ownable is Context {\n    address private _owner;\n\n    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);\n\n    /**\n     * @dev Initializes the contract setting the deployer as the initial owner.\n     */\n    constructor() {\n        _transferOwnership(_msgSender());\n    }\n\n    /**\n     * @dev Returns the address of the current owner.\n     */\n    function owner() public view virtual returns (address) {\n        return _owner;\n    }\n\n    /**\n     * @dev Throws if called by any account other than the owner.\n     */\n    modifier onlyOwner() {\n        require(owner() == _msgSender(), \"Ownable: caller is not the owner\");\n        _;\n    }\n\n    /**\n     * @dev Leaves the contract without owner. It will not be possible to call\n     * `onlyOwner` functions anymore. Can only be called by the current owner.\n     *\n     * NOTE: Renouncing ownership will leave the contract without an owner,\n     * thereby removing any functionality that is only available to the owner.\n     */\n    function renounceOwnership() public virtual onlyOwner {\n        _transferOwnership(address(0));\n    }\n\n    /**\n     * @dev Transfers ownership of the contract to a new account (`newOwner`).\n     * Can only be called by the current owner.\n     */\n    function transferOwnership(address newOwner) public virtual onlyOwner {\n        require(newOwner != address(0), \"Ownable: new owner is the zero address\");\n        _transferOwnership(newOwner);\n    }\n\n    /**\n     * @dev Transfers ownership of the contract to a new account (`newOwner`).\n     * Internal function without access restriction.\n     */\n    function _transferOwnership(address newOwner) internal virtual {\n        address oldOwner = _owner;\n        _owner = newOwner;\n        emit OwnershipTransferred(oldOwner, newOwner);\n    }\n}\n"
                  },
                  {
                    "id": 1,
                    "path": "@openzeppelin/contracts/security/Pausable.sol",
                    "name": "Pausable.sol",
                    "source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.0 (security/Pausable.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../utils/Context.sol\";\n\n/**\n * @dev Contract module which allows children to implement an emergency stop\n * mechanism that can be triggered by an authorized account.\n *\n * This module is used through inheritance. It will make available the\n * modifiers `whenNotPaused` and `whenPaused`, which can be applied to\n * the functions of your contract. Note that they will not be pausable by\n * simply including this module, only once the modifiers are put in place.\n */\nabstract contract Pausable is Context {\n    /**\n     * @dev Emitted when the pause is triggered by `account`.\n     */\n    event Paused(address account);\n\n    /**\n     * @dev Emitted when the pause is lifted by `account`.\n     */\n    event Unpaused(address account);\n\n    bool private _paused;\n\n    /**\n     * @dev Initializes the contract in unpaused state.\n     */\n    constructor() {\n        _paused = false;\n    }\n\n    /**\n     * @dev Returns true if the contract is paused, and false otherwise.\n     */\n    function paused() public view virtual returns (bool) {\n        return _paused;\n    }\n\n    /**\n     * @dev Modifier to make a function callable only when the contract is not paused.\n     *\n     * Requirements:\n     *\n     * - The contract must not be paused.\n     */\n    modifier whenNotPaused() {\n        require(!paused(), \"Pausable: paused\");\n        _;\n    }\n\n    /**\n     * @dev Modifier to make a function callable only when the contract is paused.\n     *\n     * Requirements:\n     *\n     * - The contract must be paused.\n     */\n    modifier whenPaused() {\n        require(paused(), \"Pausable: not paused\");\n        _;\n    }\n\n    /**\n     * @dev Triggers stopped state.\n     *\n     * Requirements:\n     *\n     * - The contract must not be paused.\n     */\n    function _pause() internal virtual whenNotPaused {\n        _paused = true;\n        emit Paused(_msgSender());\n    }\n\n    /**\n     * @dev Returns to normal state.\n     *\n     * Requirements:\n     *\n     * - The contract must be paused.\n     */\n    function _unpause() internal virtual whenPaused {\n        _paused = false;\n        emit Unpaused(_msgSender());\n    }\n}\n"
                  },
                  {
                    "id": 2,
                    "path": "@openzeppelin/contracts/utils/Context.sol",
                    "name": "Context.sol",
                    "source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.0 (utils/Context.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev Provides information about the current execution context, including the\n * sender of the transaction and its data. While these are generally available\n * via msg.sender and msg.data, they should not be accessed in such a direct\n * manner, since when dealing with meta-transactions the account sending and\n * paying for execution may not be the actual sender (as far as an application\n * is concerned).\n *\n * This contract is only required for intermediate, library-like contracts.\n */\nabstract contract Context {\n    function _msgSender() internal view virtual returns (address) {\n        return msg.sender;\n    }\n\n    function _msgData() internal view virtual returns (bytes calldata) {\n        return msg.data;\n    }\n}\n"
                  }
                ],
                "abi": [
                  "..."
                ],
                "raw_abi": [
                  "..."
                ],
                "states": [
                  {
                    "name": "_paused",
                    "type": "bool",
                    "storage_location": "storage",
                    "offset": 160,
                    "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                    "indexed": false,
                    "simple_type": {
                      "type": "bool"
                    }
                  },
                  {
                    "name": "chainConfig",
                    "type": "mapping (uint256 => tuple)",
                    "storage_location": "memory",
                    "components": [
                      {
                        "name": "chainId",
                        "type": "uint256",
                        "storage_location": "memory",
                        "offset": 0,
                        "index": "0xb607cc36270bbbb376b98f602ec3a5ec6c4fe7cf0d42af35fd17a642242d24fd",
                        "indexed": false,
                        "simple_type": {
                          "type": "uint"
                        }
                      },
                      {
                        "name": "isEnabled",
                        "type": "bool",
                        "storage_location": "memory",
                        "offset": 0,
                        "index": "0xb607cc36270bbbb376b98f602ec3a5ec6c4fe7cf0d42af35fd17a642242d24fe",
                        "indexed": false,
                        "simple_type": {
                          "type": "bool"
                        }
                      }
                    ],
                    "offset": 0,
                    "index": "0x0000000000000000000000000000000000000000000000000000000000000001",
                    "indexed": false
                  },
                  {
                    "name": "processedHashes",
                    "type": "mapping (bytes32 => bool)",
                    "storage_location": "storage",
                    "offset": 0,
                    "index": "0x0000000000000000000000000000000000000000000000000000000000000002",
                    "indexed": false
                  },
                  {
                    "name": "senders",
                    "type": "mapping (address => bool)",
                    "storage_location": "storage",
                    "offset": 0,
                    "index": "0x0000000000000000000000000000000000000000000000000000000000000003",
                    "indexed": false
                  },
                  {
                    "name": "_owner",
                    "type": "address",
                    "storage_location": "storage",
                    "offset": 0,
                    "index": "0x0000000000000000000000000000000000000000000000000000000000000000",
                    "indexed": false,
                    "simple_type": {
                      "type": "address"
                    }
                  }
                ]
              },
              "src_map": {
                "...": "..."
              },
              "creation_block": 0,
              "creation_tx": "",
              "creator_address": "",
              "created_at": "2022-05-03T12:00:26Z",
              "language": "solidity",
              "in_project": false
            }
          ],
          "generated_access_list": [
            {
              "address": "0x420000000000000000000000000000000000001a"
            },
            {
              "address": "0x4200000000000000000000000000000000000019"
            },
            {
              "address": "0x4200000000000000000000000000000000000015",
              "storage_keys": [
                "0x0000000000000000000000000000000000000000000000000000000000000003",
                "0x0000000000000000000000000000000000000000000000000000000000000004",
                "0x0000000000000000000000000000000000000000000000000000000000000005",
                "0x0000000000000000000000000000000000000000000000000000000000000006",
                "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc",
                "0x0000000000000000000000000000000000000000000000000000000000000000",
                "0x0000000000000000000000000000000000000000000000000000000000000001",
                "0x0000000000000000000000000000000000000000000000000000000000000002"
              ]
            }
          ]
        }
      },
      "simulations_get_response": {
        "type": "object",
        "title": "Get Simulated Transactions Response",
        "description": "An object with details about simulated transactions for given project.",
        "example": {
          "simulations": [
            {
              "id": "e07c0269-3e2c-41b0-986a-74dc5a357c7d",
              "project_id": "1830efff-aa75-481e-b464-cedaf8b90960",
              "owner_id": "7d5e8b1f-8bf8-4eae-a70f-fb7d354b1cc2",
              "network_id": "1",
              "block_number": 17884583,
              "transaction_index": 0,
              "from": "0x3f41a1cfd3c8b8d9c162de0f42307a0095a6e5df",
              "to": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
              "input": "0xa94e78ef000000000000000000000000000000000000000000000000000000000000002000000000000000000000000068037790a0229e9ce6eaa8a99ea92964106c470300000000000000000000000000000000000000000000010f0cf064dd592000000000000000000000000000000000000000000000000000000000000145dc1b2e00000000000000000000000000000000000000000000000000000001477f4d7d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000000000064d281e65c9438a5a99c4bccb1035296d5d2d8d200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000320000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a73000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000006000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000064db6806000000000000000000000000000000000000000000000000000000000000002b68037790a0229e9ce6eaa8a99ea92964106c47030001f4a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000000000000000000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a730000000000000000000000000000000000000000000000000000000000002710000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000060000000000000000000000001b81d678ffb9c0263b24a97847620c99d213eb14000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000064db6806000000000000000000000000000000000000000000000000000000000000002ba0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000064dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
              "gas": 648318,
              "gas_price": "18312000018",
              "gas_used": 337375,
              "value": "0",
              "method": "multiSwap",
              "status": true,
              "access_list": [
                {
                  "address": "0x3f41a1cfd3c8b8d9c162de0f42307a0095a6e5df"
                }
              ],
              "queue_origin": "",
              "block_header": {
                "number": "0x110ace7",
                "hash": "0x0000000000000000000000000000000000000000000000000000000000000000",
                "stateRoot": "0xef53217576746e2df5a5acb6993b629e548592008c22e5eb0c543ab0e597102f",
                "parentHash": "0x0cf8a2db87cf124e1c8fceffd12c325e07fb51736c7dce9d0f945913616cb40a",
                "sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
                "transactionsRoot": "0xb29cef267cf8e4b1a629f2aaeff8e3b4faf79195efcb63a08e4823070ee85f21",
                "receiptsRoot": "0x9290b9bda89e8bc6173f17fab6b94ef7ffb1d33770e5d0fc9e21039ef936c777",
                "logsBloom": "0x40330cb14709a3aa3021ae29e85c20249ba3bc0c08bf9c7422cf48124a121120853709b6c20d1261603531d2b8b6810feeb920399c23eb1d8601f14e157921f9ac4b55994f4c3e686a0242ae56ea70ed84fb0b04d6ea1eed11e356cd85609fc3bf310367723a6c1b08453ceecc22d8df13f30504822865610bca1197895e7156a9bfd2756614028c1f5cf5e87bd6a43795c61841abc4d01c6475eae29ad813520b0223401451e9a3fe836ad63e967557cc99030243ad151927d4255e93b7391ed6d29882497108c2044092a24cc68291279b70a7f404ba1139210d5e1c25b40beaf2f48cc341d4c38787169830215105c1f014db5b98ccee22a94d3ba0663c1a",
                "timestamp": "0x64d22deb",
                "difficulty": "0x0",
                "gasLimit": "0x1c9c380",
                "gasUsed": "0x1c9b51a",
                "miner": "0xcda9d71bdfae59b89cee131ed3079f8ac4c77062",
                "extraData": "0xd883010c00846765746888676f312e32302e34856c696e7578",
                "mixHash": "0x9096c8da5df4b9bb771f91a81c3bd954d2a9c39c1bf05502877d057b1f76fb04",
                "nonce": "0x0000000000000000",
                "baseFeePerGas": "0x3d5200956",
                "size": "0x0",
                "totalDifficulty": "0x0",
                "uncles": null,
                "transactions": null
              },
              "state_overrides": {
                "0xdac17f958d2ee523a2206206994597c13d831ec7": {
                  "storage": {
                    "0x0000000000000000000000000000000000000000000000000000000000000000": "0x000000000000000000000000c6cde7c39eb2f0f0095f41570af89efc2c1ea828"
                  }
                }
              },
              "mint": 0,
              "amount_to_mint": "0",
              "deposit_tx": false,
              "system_tx": false,
              "nonce": 1094,
              "addresses": [
                "0x3f41a1cfd3c8b8d9c162de0f42307a0095a6e5df",
                "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
                "0xbd7b550d2e7571383d84acf597a00d341e5c406e",
                "0x216b4b4ba9f3e719726886d34a177484278bfcae",
                "0x68037790a0229e9ce6eaa8a99ea92964106c4703",
                "0x9be264469ef954c139da4a45cf76cbcc5e3a6a73",
                "0xe592427a0aece92de3edee1f18e0157c05861564",
                "0xd7dcb0eb6aab643b85ba74cf9997c840fe32e695",
                "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
                "0xa2327a938febf5fec13bacfb16ae10ecbc4cbdcf",
                "0x1b81d678ffb9c0263b24a97847620c99d213eb14",
                "0x04c8577958ccc170eb3d2cca76f9d51bc6e42d8f",
                "0xd1faf8baca90e86d2b12650173e972526c48a7cc",
                "0xdac17f958d2ee523a2206206994597c13d831ec7"
              ],
              "contract_ids": [
                "eth:1:0x3f41a1cfd3c8b8d9c162de0f42307a0095a6e5df",
                "eth:1:0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
                "eth:1:0xbd7b550d2e7571383d84acf597a00d341e5c406e",
                "eth:1:0x216b4b4ba9f3e719726886d34a177484278bfcae",
                "eth:1:0x68037790a0229e9ce6eaa8a99ea92964106c4703",
                "eth:1:0x9be264469ef954c139da4a45cf76cbcc5e3a6a73",
                "eth:1:0xe592427a0aece92de3edee1f18e0157c05861564",
                "eth:1:0xd7dcb0eb6aab643b85ba74cf9997c840fe32e695",
                "eth:1:0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
                "eth:1:0xa2327a938febf5fec13bacfb16ae10ecbc4cbdcf",
                "eth:1:0x1b81d678ffb9c0263b24a97847620c99d213eb14",
                "eth:1:0x04c8577958ccc170eb3d2cca76f9d51bc6e42d8f",
                "eth:1:0xd1faf8baca90e86d2b12650173e972526c48a7cc",
                "eth:1:0xdac17f958d2ee523a2206206994597c13d831ec7"
              ],
              "shared": false,
              "created_at": "2023-12-08T15:40:51.710046Z"
            },
            {
              "id": "f21aec59-6ee1-41ad-b3ab-db0cafd79891",
              "project_id": "1830efff-aa75-481e-b464-cedaf8b90960",
              "owner_id": "7d5e8b1f-8bf8-4eae-a70f-fb7d354b1cc2",
              "network_id": "1",
              "block_number": 17884583,
              "transaction_index": 0,
              "from": "0x3f41a1cfd3c8b8d9c162de0f42307a0095a6e5df",
              "to": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
              "input": "0xa94e78ef000000000000000000000000000000000000000000000000000000000000002000000000000000000000000068037790a0229e9ce6eaa8a99ea92964106c470300000000000000000000000000000000000000000000010f0cf064dd592000000000000000000000000000000000000000000000000000000000000145dc1b2e00000000000000000000000000000000000000000000000000000001477f4d7d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000000000064d281e65c9438a5a99c4bccb1035296d5d2d8d200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000320000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a73000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000006000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000064db6806000000000000000000000000000000000000000000000000000000000000002b68037790a0229e9ce6eaa8a99ea92964106c47030001f4a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000000000000000000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a730000000000000000000000000000000000000000000000000000000000002710000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000060000000000000000000000001b81d678ffb9c0263b24a97847620c99d213eb14000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000064db6806000000000000000000000000000000000000000000000000000000000000002ba0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000064dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
              "gas": 648318,
              "gas_price": "18312000018",
              "gas_used": 337375,
              "value": "0",
              "method": "multiSwap",
              "status": true,
              "access_list": [
                {
                  "address": "0x3f41a1cfd3c8b8d9c162de0f42307a0095a6e5df"
                }
              ],
              "queue_origin": "",
              "block_header": {
                "number": "0x110ace7",
                "hash": "0x0000000000000000000000000000000000000000000000000000000000000000",
                "stateRoot": "0xef53217576746e2df5a5acb6993b629e548592008c22e5eb0c543ab0e597102f",
                "parentHash": "0x0cf8a2db87cf124e1c8fceffd12c325e07fb51736c7dce9d0f945913616cb40a",
                "sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
                "transactionsRoot": "0xb29cef267cf8e4b1a629f2aaeff8e3b4faf79195efcb63a08e4823070ee85f21",
                "receiptsRoot": "0x9290b9bda89e8bc6173f17fab6b94ef7ffb1d33770e5d0fc9e21039ef936c777",
                "logsBloom": "0x40330cb14709a3aa3021ae29e85c20249ba3bc0c08bf9c7422cf48124a121120853709b6c20d1261603531d2b8b6810feeb920399c23eb1d8601f14e157921f9ac4b55994f4c3e686a0242ae56ea70ed84fb0b04d6ea1eed11e356cd85609fc3bf310367723a6c1b08453ceecc22d8df13f30504822865610bca1197895e7156a9bfd2756614028c1f5cf5e87bd6a43795c61841abc4d01c6475eae29ad813520b0223401451e9a3fe836ad63e967557cc99030243ad151927d4255e93b7391ed6d29882497108c2044092a24cc68291279b70a7f404ba1139210d5e1c25b40beaf2f48cc341d4c38787169830215105c1f014db5b98ccee22a94d3ba0663c1a",
                "timestamp": "0x64d22deb",
                "difficulty": "0x0",
                "gasLimit": "0x1c9c380",
                "gasUsed": "0x1c9b51a",
                "miner": "0xcda9d71bdfae59b89cee131ed3079f8ac4c77062",
                "extraData": "0xd883010c00846765746888676f312e32302e34856c696e7578",
                "mixHash": "0x9096c8da5df4b9bb771f91a81c3bd954d2a9c39c1bf05502877d057b1f76fb04",
                "nonce": "0x0000000000000000",
                "baseFeePerGas": "0x3d5200956",
                "size": "0x0",
                "totalDifficulty": "0x0",
                "uncles": null,
                "transactions": null
              },
              "state_overrides": {
                "0xdac17f958d2ee523a2206206994597c13d831ec7": {
                  "storage": {
                    "0x0000000000000000000000000000000000000000000000000000000000000000": "0x000000000000000000000000c6cde7c39eb2f0f0095f41570af89efc2c1ea828"
                  }
                }
              },
              "deposit_tx": false,
              "system_tx": false,
              "nonce": 1094,
              "addresses": [
                "0x3f41a1cfd3c8b8d9c162de0f42307a0095a6e5df",
                "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
                "0xbd7b550d2e7571383d84acf597a00d341e5c406e",
                "0x216b4b4ba9f3e719726886d34a177484278bfcae",
                "0x68037790a0229e9ce6eaa8a99ea92964106c4703",
                "0x9be264469ef954c139da4a45cf76cbcc5e3a6a73",
                "0xe592427a0aece92de3edee1f18e0157c05861564",
                "0xd7dcb0eb6aab643b85ba74cf9997c840fe32e695",
                "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
                "0xa2327a938febf5fec13bacfb16ae10ecbc4cbdcf",
                "0x1b81d678ffb9c0263b24a97847620c99d213eb14",
                "0x04c8577958ccc170eb3d2cca76f9d51bc6e42d8f",
                "0xd1faf8baca90e86d2b12650173e972526c48a7cc",
                "0xdac17f958d2ee523a2206206994597c13d831ec7"
              ],
              "contract_ids": [
                "eth:1:0x3f41a1cfd3c8b8d9c162de0f42307a0095a6e5df",
                "eth:1:0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
                "eth:1:0xbd7b550d2e7571383d84acf597a00d341e5c406e",
                "eth:1:0x216b4b4ba9f3e719726886d34a177484278bfcae",
                "eth:1:0x68037790a0229e9ce6eaa8a99ea92964106c4703",
                "eth:1:0x9be264469ef954c139da4a45cf76cbcc5e3a6a73",
                "eth:1:0xe592427a0aece92de3edee1f18e0157c05861564",
                "eth:1:0xd7dcb0eb6aab643b85ba74cf9997c840fe32e695",
                "eth:1:0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
                "eth:1:0xa2327a938febf5fec13bacfb16ae10ecbc4cbdcf",
                "eth:1:0x1b81d678ffb9c0263b24a97847620c99d213eb14",
                "eth:1:0x04c8577958ccc170eb3d2cca76f9d51bc6e42d8f",
                "eth:1:0xd1faf8baca90e86d2b12650173e972526c48a7cc",
                "eth:1:0xdac17f958d2ee523a2206206994597c13d831ec7"
              ],
              "shared": false,
              "created_at": "2023-12-08T14:58:44.57633Z"
            }
          ]
        }
      },
      "simulations_single_info_get_response": {
        "type": "object",
        "title": "Get Simulated Transaction Info By Id Response",
        "description": "An object with details about simulated transaction info by ID for given project.",
        "example": {
          "transaction_info": {
            "id": "e07c0269-3e2c-41b0-986a-74dc5a357c7d",
            "network_id": "1",
            "block_hash": "0x0000000000000000000000000000000000000000000000000000000000000000",
            "block_number": "17884583",
            "transaction_index": "0",
            "from": "0x3f41a1cfd3c8b8d9c162de0f42307a0095a6e5df",
            "to": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
            "input": "0xa94e78ef000000000000000000000000000000000000000000000000000000000000002000000000000000000000000068037790a0229e9ce6eaa8a99ea92964106c470300000000000000000000000000000000000000000000010f0cf064dd592000000000000000000000000000000000000000000000000000000000000145dc1b2e00000000000000000000000000000000000000000000000000000001477f4d7d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000000000064d281e65c9438a5a99c4bccb1035296d5d2d8d200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000320000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a73000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000006000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000064db6806000000000000000000000000000000000000000000000000000000000000002b68037790a0229e9ce6eaa8a99ea92964106c47030001f4a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000000000000000000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a730000000000000000000000000000000000000000000000000000000000002710000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000060000000000000000000000001b81d678ffb9c0263b24a97847620c99d213eb14000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000064db6806000000000000000000000000000000000000000000000000000000000000002ba0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000064dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
            "nonce": "1094",
            "value": "0",
            "decoded_info": {
              "method_name": "multiSwap"
            },
            "gas": "648318",
            "gas_price": "18312000018",
            "gas_used": "337375",
            "access_list": [
              {
                "address": "0x3F41a1CFd3C8B8d9c162dE0f42307a0095A6e5DF"
              }
            ],
            "status": true,
            "error_message": "",
            "addresses": [
              "0x3f41a1cfd3c8b8d9c162de0f42307a0095a6e5df",
              "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
              "0xbd7b550d2e7571383d84acf597a00d341e5c406e",
              "0x216b4b4ba9f3e719726886d34a177484278bfcae",
              "0x68037790a0229e9ce6eaa8a99ea92964106c4703",
              "0x9be264469ef954c139da4a45cf76cbcc5e3a6a73",
              "0xe592427a0aece92de3edee1f18e0157c05861564",
              "0xd7dcb0eb6aab643b85ba74cf9997c840fe32e695",
              "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
              "0xa2327a938febf5fec13bacfb16ae10ecbc4cbdcf",
              "0x1b81d678ffb9c0263b24a97847620c99d213eb14",
              "0x04c8577958ccc170eb3d2cca76f9d51bc6e42d8f",
              "0xd1faf8baca90e86d2b12650173e972526c48a7cc",
              "0xdac17f958d2ee523a2206206994597c13d831ec7"
            ],
            "contract_ids": [
              "eth:1:0x3f41a1cfd3c8b8d9c162de0f42307a0095a6e5df",
              "eth:1:0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
              "eth:1:0xbd7b550d2e7571383d84acf597a00d341e5c406e",
              "eth:1:0x216b4b4ba9f3e719726886d34a177484278bfcae",
              "eth:1:0x68037790a0229e9ce6eaa8a99ea92964106c4703",
              "eth:1:0x9be264469ef954c139da4a45cf76cbcc5e3a6a73",
              "eth:1:0xe592427a0aece92de3edee1f18e0157c05861564",
              "eth:1:0xd7dcb0eb6aab643b85ba74cf9997c840fe32e695",
              "eth:1:0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
              "eth:1:0xa2327a938febf5fec13bacfb16ae10ecbc4cbdcf",
              "eth:1:0x1b81d678ffb9c0263b24a97847620c99d213eb14",
              "eth:1:0x04c8577958ccc170eb3d2cca76f9d51bc6e42d8f",
              "eth:1:0xd1faf8baca90e86d2b12650173e972526c48a7cc",
              "eth:1:0xdac17f958d2ee523a2206206994597c13d831ec7"
            ],
            "old_mint": "0",
            "deposit_tx": false,
            "system_tx": false,
            "queue_origin": "",
            "amount_to_mint": "0"
          },
          "block_header": {
            "number": "0x110ace7",
            "hash": "0x0000000000000000000000000000000000000000000000000000000000000000",
            "state_root": "0xef53217576746e2df5a5acb6993b629e548592008c22e5eb0c543ab0e597102f",
            "parent_hash": "0x0cf8a2db87cf124e1c8fceffd12c325e07fb51736c7dce9d0f945913616cb40a",
            "sha3_uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
            "transactions_root": "0xb29cef267cf8e4b1a629f2aaeff8e3b4faf79195efcb63a08e4823070ee85f21",
            "receipts_root": "0x9290b9bda89e8bc6173f17fab6b94ef7ffb1d33770e5d0fc9e21039ef936c777",
            "logs_bloom": "0x40330cb14709a3aa3021ae29e85c20249ba3bc0c08bf9c7422cf48124a121120853709b6c20d1261603531d2b8b6810feeb920399c23eb1d8601f14e157921f9ac4b55994f4c3e686a0242ae56ea70ed84fb0b04d6ea1eed11e356cd85609fc3bf310367723a6c1b08453ceecc22d8df13f30504822865610bca1197895e7156a9bfd2756614028c1f5cf5e87bd6a43795c61841abc4d01c6475eae29ad813520b0223401451e9a3fe836ad63e967557cc99030243ad151927d4255e93b7391ed6d29882497108c2044092a24cc68291279b70a7f404ba1139210d5e1c25b40beaf2f48cc341d4c38787169830215105c1f014db5b98ccee22a94d3ba0663c1a",
            "timestamp": "0x64d22deb",
            "difficulty": "0x0",
            "gas_limit": "0x1c9c380",
            "gas_used": "0x1c9b51a",
            "base_fee_per_gas": "0x3d5200956",
            "miner": "0xcDA9D71bdfAe59b89Cee131eD3079f8AC4c77062",
            "extra_data": "0xd883010c00846765746888676f312e32302e34856c696e7578",
            "mix_hash": "0x9096c8da5df4b9bb771f91a81c3bd954d2a9c39c1bf05502877d057b1f76fb04",
            "nonce": "0x0000000000000000",
            "size": "0x0",
            "total_difficulty": "0x0"
          },
          "state_overrides": {
            "0xdac17f958d2ee523a2206206994597c13d831ec7": {
              "storage": {
                "0x0000000000000000000000000000000000000000000000000000000000000000": "0x000000000000000000000000c6cde7c39eb2f0f0095f41570af89efc2c1ea828"
              }
            }
          },
          "created_at": "1702050051710"
        }
      },
      "simulation-draft-row": {
        "title": "Simulation draft row",
        "type": "object",
        "description": "One call in a simulation draft. Only `contractAddress` is required. Omitted fields keep the Simulator form defaults; unknown fields are ignored.",
        "properties": {
          "contractAddress": {
            "title": "Contract address",
            "description": "The \"to\" address. The contract and its ABI are fetched when the draft opens.",
            "type": "string",
            "example": "0xdac17f958d2ee523a2206206994597c13d831ec7"
          },
          "inputDataType": {
            "title": "Input data type",
            "description": "Function-input mode. Use `raw` with `rawFunctionInput`, or `decoded` with `contractFunction` and `functionInputs`.",
            "type": "string",
            "enum": [
              "decoded",
              "raw"
            ],
            "example": "raw"
          },
          "rawFunctionInput": {
            "title": "Raw function input",
            "description": "Hex calldata for raw mode. No ABI is needed, which makes it the most reliable option for scripts.",
            "type": "string",
            "example": "0xa9059cbb000000000000000000000000ab5801a7d398351b8be11c439e05c5b3259aec9b00000000000000000000000000000000000000000000000000000000000f4240"
          },
          "contractFunction": {
            "title": "Contract function",
            "description": "Decoded-mode function reference. `selector` (4-byte hex) is matched exactly and is safe for overloaded functions; without it, matching falls back to `name` and may pick the wrong overload. `signature` is informational only.",
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "name": {
                "title": "Name",
                "type": "string",
                "example": "transfer"
              },
              "selector": {
                "title": "Selector",
                "description": "4-byte function selector.",
                "type": "string",
                "example": "0xa9059cbb"
              },
              "signature": {
                "title": "Signature",
                "type": "string",
                "example": "transfer(address,uint256)"
              }
            },
            "required": [
              "name"
            ]
          },
          "functionInputs": {
            "title": "Function inputs",
            "description": "Decoded-mode argument values. Preferred: a positional array in ABI order. Array and tuple arguments may be passed natively as nested arrays or objects. The keyed form `{ \"input_0\": ... }` is also accepted (it is what the dashboard emits).",
            "oneOf": [
              {
                "type": "array",
                "items": {}
              },
              {
                "type": "object",
                "additionalProperties": true
              }
            ],
            "example": [
              "0xab5801a7d398351b8be11c439e05c5b3259aec9b",
              "1000000"
            ]
          },
          "contractAbiImport": {
            "title": "Contract ABI import",
            "description": "Prefills the in-app **Edit ABI** field. Not re-applied when the draft opens: function matching uses the fetched ABI (or the compiled edited source).",
            "type": "string"
          },
          "from": {
            "title": "From",
            "description": "Sender address.",
            "type": "string",
            "example": "0xab5801a7d398351b8be11c439e05c5b3259aec9b"
          },
          "gas": {
            "title": "Gas",
            "description": "Gas limit. `0x`-prefixed hex quantities are converted to decimal.",
            "type": [
              "string",
              "number"
            ],
            "example": "8000000"
          },
          "gasPrice": {
            "title": "Gas price",
            "description": "Gas price in wei.",
            "type": [
              "string",
              "number"
            ],
            "example": "0"
          },
          "value": {
            "title": "Value",
            "description": "Native-token value in wei.",
            "type": [
              "string",
              "number"
            ],
            "example": "0"
          },
          "block": {
            "title": "Block",
            "description": "Block number to simulate at. Omit for the chain head.",
            "type": [
              "string",
              "number"
            ],
            "example": "21088736"
          },
          "blockIndex": {
            "title": "Block index",
            "description": "Transaction position inside the block. `null` or omitted means the start of the block.",
            "type": [
              "string",
              "number",
              "null"
            ]
          },
          "endOfBlock": {
            "title": "End of block",
            "description": "`true` runs the simulated transaction after every transaction in the block (overrides `blockIndex`).",
            "type": "boolean"
          },
          "usePendingBlock": {
            "title": "Use pending block",
            "description": "`true` simulates on the pending block instead of a fixed number.",
            "type": "boolean"
          },
          "depositTx": {
            "title": "Deposit transaction",
            "description": "Mark as an L2 deposit transaction (OP-stack and Boba networks only).",
            "type": "boolean"
          },
          "mint": {
            "title": "Mint",
            "description": "Deposit mint amount (OP-stack and Boba networks only).",
            "type": "string"
          },
          "blockHeaderOverrides": {
            "title": "Block header overrides",
            "description": "Overrides for the simulated block header.",
            "type": "object",
            "properties": {
              "number": {
                "title": "Number",
                "type": [
                  "string",
                  "number",
                  "null"
                ]
              },
              "timestamp": {
                "title": "Timestamp",
                "type": [
                  "string",
                  "number",
                  "null"
                ]
              }
            }
          },
          "stateOverrides": {
            "title": "State overrides",
            "description": "Per-contract state overrides applied before the call runs.",
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "title": "ID",
                  "description": "UI row key. Optional; generated when absent.",
                  "type": "string"
                },
                "contractAddress": {
                  "title": "Contract address",
                  "type": "string",
                  "example": "0x6b175474e89094c44da98b954eedeac495271d0f"
                },
                "balance": {
                  "title": "Balance",
                  "description": "Balance override in wei. An empty string means no balance override.",
                  "type": "string",
                  "example": ""
                },
                "storage": {
                  "title": "Storage",
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "key": {
                        "title": "Key",
                        "description": "32-byte hex storage slot.",
                        "type": "string"
                      },
                      "value": {
                        "title": "Value",
                        "description": "32-byte hex value.",
                        "type": "string"
                      }
                    },
                    "required": [
                      "key",
                      "value"
                    ]
                  }
                },
                "code": {
                  "title": "Code",
                  "description": "Bytecode override.",
                  "type": "string"
                }
              },
              "required": [
                "contractAddress",
                "balance"
              ]
            }
          },
          "accessList": {
            "title": "Access list",
            "description": "EIP-2930 access list.",
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "address": {
                  "title": "Address",
                  "type": "string"
                },
                "storageKeys": {
                  "title": "Storage keys",
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "required": [
                "address",
                "storageKeys"
              ]
            }
          },
          "fundAddress": {
            "title": "Fund address",
            "description": "The **Fund address** cheatcode. Use the zero address as `tokenAddress` to fund the native balance. For ERC-20 tokens the balance storage slot is resolved when the draft opens.",
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "targetAddress": {
                "title": "Target address",
                "type": "string",
                "example": "0xab5801a7d398351b8be11c439e05c5b3259aec9b"
              },
              "tokens": {
                "title": "Tokens",
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "tokenAddress": {
                      "title": "Token address",
                      "type": "string",
                      "example": "0x0000000000000000000000000000000000000000"
                    },
                    "amount": {
                      "title": "Amount",
                      "description": "Amount in the token's smallest unit, as a string.",
                      "type": "string",
                      "example": "1000000000000000000"
                    }
                  },
                  "required": [
                    "tokenAddress",
                    "amount"
                  ]
                }
              }
            },
            "required": [
              "targetAddress",
              "tokens"
            ]
          },
          "customSource": {
            "title": "Custom source",
            "description": "An applied source edit. `compilerInfo` is passed to the compiler as-is (compiler version, optimization settings, import remappings); take its shape from a draft created in the dashboard. The source is compiled when the draft opens and its ABI takes over function matching for this call.",
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "compilerInfo": {
                "title": "Compiler info",
                "type": "object",
                "additionalProperties": true
              },
              "customSourceData": {
                "title": "Custom source data",
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "name": {
                      "title": "Name",
                      "type": "string"
                    },
                    "source": {
                      "title": "Source",
                      "type": "string"
                    },
                    "path": {
                      "title": "Path",
                      "type": "string"
                    },
                    "contractName": {
                      "title": "Contract name",
                      "type": "string"
                    },
                    "address": {
                      "title": "Address",
                      "type": "string"
                    }
                  },
                  "required": [
                    "name",
                    "source",
                    "path"
                  ]
                }
              }
            },
            "required": [
              "compilerInfo",
              "customSourceData"
            ]
          },
          "contractSourceEdited": {
            "title": "Contract source edited",
            "description": "Marks the call's source as edited. Defaults to `true` when `customSource` is present.",
            "type": "boolean"
          }
        },
        "required": [
          "contractAddress"
        ]
      },
      "simulation-draft-payload": {
        "title": "Simulation draft payload",
        "type": "object",
        "description": "A Simulator form snapshot. The API stores it as received; the dashboard validates it when the draft opens. A wrong `v`, an empty `rows` array, a non-string `contractAddress`, or a wrong-typed row field rejects the whole draft on open.",
        "properties": {
          "v": {
            "title": "Schema version",
            "description": "Payload schema version. Must be `2`.",
            "type": "integer",
            "enum": [
              2
            ],
            "example": 2
          },
          "network": {
            "title": "Network",
            "description": "Network the draft targets, identified by chain ID as a string. Must be a network enabled on the project where the draft opens, otherwise the dashboard reports the network as unavailable and shows an empty form. `null` is accepted but skips the contract lookup and leaves the form mostly unusable.",
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "id": {
                "title": "Chain ID",
                "description": "Chain ID as a string, for example `\"1\"` for Mainnet.",
                "type": "string",
                "example": "1"
              }
            },
            "required": [
              "id"
            ]
          },
          "rows": {
            "title": "Rows",
            "description": "One entry per call, in execution order. At least one row is required. Session-level settings (block selection, `from`, L2 parameters) are taken from the first row.",
            "type": "array",
            "minItems": 1,
            "items": {
              "$ref": "#/components/schemas/simulation-draft-row"
            }
          }
        },
        "required": [
          "v",
          "network",
          "rows"
        ]
      },
      "simulation-draft-create-request": {
        "title": "Simulation draft create request",
        "type": "object",
        "description": "Request body for creating a simulation draft.",
        "properties": {
          "payload": {
            "$ref": "#/components/schemas/simulation-draft-payload"
          },
          "shared": {
            "title": "Shared",
            "description": "`false` (default) scopes the draft to the project in the URL: only its members can open it. `true` makes the draft openable by any signed-in Tenderly user in a project of their choice.",
            "type": "boolean",
            "default": false,
            "example": false
          }
        },
        "required": [
          "payload"
        ]
      },
      "simulation-draft-create-response": {
        "title": "Simulation draft create response",
        "type": "object",
        "properties": {
          "resource_id": {
            "title": "Resource ID",
            "description": "ID of the stored draft. Use it as the `draftId` query parameter of the dashboard link: `https://dashboard.tenderly.co/simulator/new?draftId={resource_id}`.",
            "type": "string",
            "format": "uuid",
            "example": "3f2a6c1e-8f1b-4c8e-9a2d-6b1e0f7c4d21"
          }
        },
        "required": [
          "resource_id"
        ]
      },
      "simulation-draft-response": {
        "title": "Simulation draft",
        "type": "object",
        "properties": {
          "payload": {
            "$ref": "#/components/schemas/simulation-draft-payload"
          },
          "account_id": {
            "title": "Account ID",
            "description": "ID of the account that owns the project the draft was created in. Present only for project-scoped drafts, when the caller can view that project. Absent for shared drafts.",
            "type": "string",
            "format": "uuid",
            "example": "fa4a29af-ad72-44ac-9261-4bf3a8af3a06"
          },
          "project_id": {
            "title": "Project ID",
            "description": "ID of the project the draft was created in. Present only for project-scoped drafts, when the caller can view that project. Absent for shared drafts.",
            "type": "string",
            "format": "uuid",
            "example": "aaf3c9e1-9632-4e6e-a900-b704db935f74"
          }
        },
        "required": [
          "payload"
        ]
      },
      "MethodCallExpression": {
        "type": "object",
        "description": "Monitors specific function calls in smart contracts",
        "required": [
          "line_number",
          "call_position"
        ],
        "properties": {
          "line_number": {
            "type": "integer",
            "description": "Line number in the source code where the monitored function is defined",
            "example": 123
          },
          "call_position": {
            "type": "string",
            "description": "Position of the method call in the transaction execution:\n* first - Must be the first call in the transaction\n* last - Must be the last call in the transaction\n* any - Can occur anywhere in the transaction\n",
            "enum": [
              "first",
              "last",
              "any"
            ]
          }
        }
      },
      "WhitelistedCallerExpression": {
        "type": "object",
        "description": "Monitors transactions from specific allowed addresses",
        "required": [
          "addresses"
        ],
        "properties": {
          "addresses": {
            "type": "array",
            "description": "List of Ethereum addresses that are allowed to trigger the alert",
            "items": {
              "type": "string",
              "pattern": "^0x[a-fA-F0-9]{40}$"
            },
            "example": [
              "0x6b9ef02657339310e28a7a9d4b5f25f7c1f68d61"
            ]
          }
        }
      },
      "BlacklistedCallerExpression": {
        "type": "object",
        "description": "Monitors transactions from specific blocked addresses",
        "required": [
          "addresses"
        ],
        "properties": {
          "addresses": {
            "type": "array",
            "description": "List of Ethereum addresses that will trigger the alert when they interact",
            "items": {
              "type": "string",
              "pattern": "^0x[a-fA-F0-9]{40}$"
            },
            "example": [
              "0x6b9ef02657339310e28a7a9d4b5f25f7c1f68d61"
            ]
          }
        }
      },
      "ContractAddressExpression": {
        "type": "object",
        "description": "Monitors interactions with specific contract addresses",
        "required": [
          "address"
        ],
        "properties": {
          "address": {
            "type": "string",
            "pattern": "^0x[a-fA-F0-9]{40}$",
            "description": "Ethereum address of the contract to monitor"
          },
          "transaction_type": {
            "type": "string",
            "enum": [
              "direct",
              "source",
              "internal"
            ],
            "description": "Type of transaction interaction to monitor:\n* direct - Direct calls to the contract\n* source - Transactions originating from the contract\n* internal - Internal transactions involving the contract\n"
          }
        }
      },
      "NetworkExpression": {
        "type": "object",
        "description": "Monitors events on specific blockchain networks",
        "required": [
          "network_id"
        ],
        "properties": {
          "network_id": {
            "type": "string",
            "description": "Chain ID of the network to monitor",
            "example": "1"
          }
        }
      },
      "TagExpression": {
        "type": "object",
        "description": "Monitors contracts or transactions with specific tags",
        "required": [
          "tag"
        ],
        "properties": {
          "tag": {
            "type": "string",
            "description": "Tag identifier to monitor"
          },
          "transaction_type": {
            "type": "string",
            "enum": [
              "direct",
              "source",
              "internal"
            ],
            "description": "Type of transaction to monitor:\n* direct - Direct interactions\n* source - Source transactions\n* internal - Internal transactions\n"
          }
        }
      },
      "TxStatusExpression": {
        "type": "object",
        "description": "Monitors transaction status (success/failure)",
        "properties": {
          "transaction_success": {
            "type": "boolean",
            "description": "When true, monitors successful transactions; when false, monitors failed transactions"
          }
        }
      },
      "ParameterCondition": {
        "type": "object",
        "description": "Defines conditions for monitoring function parameters or event values",
        "required": [
          "parameter_name",
          "operator",
          "parameter_type",
          "comparison_value"
        ],
        "properties": {
          "parameter_name": {
            "type": "string",
            "description": "Name of the parameter to monitor"
          },
          "operator": {
            "type": "string",
            "enum": [
              ">",
              ">=",
              "<",
              "<=",
              "==",
              "!=",
              "contains",
              "notContains"
            ],
            "description": "Comparison operator:\n* `>` - Greater than\n* `>=` - Greater than or equal\n* `<` - Less than\n* `<=` - Less than or equal\n* `==` - Equal to\n* `!=` - Not equal to\n* `contains` - Array contains value\n* `notContains` - Array does not contain value\n"
          },
          "parameter_type": {
            "type": "string",
            "enum": [
              "uint",
              "int",
              "bool",
              "address",
              "string",
              "byte"
            ],
            "description": "Solidity type of the parameter"
          },
          "nested_parameter_type": {
            "type": "string",
            "description": "For array types, the type of elements in the array"
          },
          "comparison_value": {
            "type": "string",
            "description": "Value to compare against. Format depends on parameter_type:\n* uint/int - String representation of number\n* bool - \"true\" or \"false\"\n* address - Ethereum address\n* string/byte - String value\n"
          }
        }
      },
      "FunctionParamsExpression": {
        "type": "object",
        "description": "Monitors specific parameters of function calls",
        "required": [
          "address",
          "function_line_number",
          "parameter_conditions"
        ],
        "properties": {
          "address": {
            "type": "string",
            "pattern": "^0x[a-fA-F0-9]{40}$",
            "description": "Contract address containing the function"
          },
          "function_line_number": {
            "type": "integer",
            "description": "Line number where the function is defined in the source code"
          },
          "parameter_conditions": {
            "type": "array",
            "description": "List of conditions to monitor on function parameters",
            "items": {
              "$ref": "#/components/schemas/ParameterCondition"
            }
          }
        }
      },
      "TxValueExpression": {
        "type": "object",
        "description": "Monitors transaction value amounts",
        "required": [
          "transaction_value",
          "operator"
        ],
        "properties": {
          "transaction_value": {
            "type": "string",
            "description": "Amount of native currency (in wei) to compare against"
          },
          "operator": {
            "type": "string",
            "enum": [
              ">",
              ">=",
              "<",
              "<=",
              "==",
              "!="
            ],
            "description": "Comparison operator for the transaction value"
          }
        }
      },
      "EmittedLogExpression": {
        "type": "object",
        "description": "Monitors event logs emitted by contracts",
        "required": [
          "address",
          "event_name",
          "event_id"
        ],
        "properties": {
          "address": {
            "type": "string",
            "pattern": "^0x[a-fA-F0-9]{40}$",
            "description": "Contract address emitting the event"
          },
          "event_name": {
            "type": "string",
            "description": "Name of the event to monitor"
          },
          "event_id": {
            "type": "string",
            "description": "Keccak-256 hash of the event signature"
          },
          "match_any": {
            "type": "boolean",
            "description": "If true, matches events from any contract in the project"
          },
          "decode_events": {
            "type": "boolean",
            "description": "If true, decodes bytes fields as UTF-8 strings"
          },
          "match_non_project_contracts": {
            "type": "boolean",
            "description": "If true, matches events from contracts outside the project"
          },
          "parameter_conditions": {
            "type": "array",
            "description": "Conditions to check on event parameters",
            "items": {
              "$ref": "#/components/schemas/ParameterCondition"
            }
          }
        }
      },
      "StateChangeExpression": {
        "type": "object",
        "description": "Monitors changes in contract state variables",
        "required": [
          "address",
          "parameter_conditions"
        ],
        "properties": {
          "address": {
            "type": "string",
            "pattern": "^0x[a-fA-F0-9]{40}$",
            "description": "Contract address to monitor for state changes"
          },
          "parameter_conditions": {
            "type": "array",
            "description": "List of conditions to monitor on state variables",
            "items": {
              "type": "object",
              "required": [
                "parameter_name",
                "parameter_type"
              ],
              "properties": {
                "parameter_name": {
                  "type": "string",
                  "description": "Name of the state variable to monitor"
                },
                "parameter_type": {
                  "type": "string",
                  "description": "Solidity type of the state variable"
                },
                "compare_change": {
                  "type": "boolean",
                  "description": "If true, alerts when the value changes"
                },
                "compare_threshold": {
                  "type": "boolean",
                  "description": "If true, compares value against a threshold"
                },
                "compare_percentage": {
                  "type": "boolean",
                  "description": "If true, monitors percentage changes in value"
                },
                "comparison_value": {
                  "type": "string",
                  "description": "Value to compare against (required for threshold and percentage comparisons)"
                },
                "operator": {
                  "type": "string",
                  "enum": [
                    ">",
                    "<",
                    "==",
                    ">=",
                    "<="
                  ],
                  "description": "Comparison operator:\n* > - Alerts when value goes over threshold\n* < - Alerts when value goes under threshold\n* == - Alerts when value equals threshold\n* >= - Alerts when value increases by percentage\n* <= - Alerts when value decreases by percentage\n"
                }
              }
            }
          }
        }
      },
      "ViewFunctionExpression": {
        "type": "object",
        "description": "Monitors return values of view functions",
        "required": [
          "address",
          "input",
          "network_id"
        ],
        "properties": {
          "address": {
            "type": "string",
            "pattern": "^0x[a-fA-F0-9]{40}$",
            "description": "Contract address containing the view function"
          },
          "input": {
            "type": "string",
            "description": "ABI-encoded function call data"
          },
          "network_id": {
            "type": "string",
            "description": "Chain ID where the contract is deployed"
          },
          "parameter_condition": {
            "type": "object",
            "description": "Condition to check on the function return value",
            "properties": {
              "compare_threshold": {
                "type": "boolean",
                "description": "If true, compares return value against a threshold"
              },
              "comparison_value": {
                "type": "string",
                "description": "Value to compare against"
              },
              "operator": {
                "type": "string",
                "enum": [
                  ">",
                  "<",
                  "==",
                  ">=",
                  "<="
                ],
                "description": "Comparison operator for the return value"
              },
              "parameter_type": {
                "type": "string",
                "description": "Solidity type of the return value"
              }
            }
          }
        }
      },
      "EthBalanceExpression": {
        "type": "object",
        "description": "Monitors ETH balance of addresses",
        "required": [
          "address",
          "threshold"
        ],
        "properties": {
          "address": {
            "type": "string",
            "pattern": "^0x[a-fA-F0-9]{40}$",
            "description": "Address to monitor balance for"
          },
          "threshold": {
            "type": "string",
            "description": "Balance threshold in wei below which to trigger alert"
          }
        }
      },
      "ERC20TransferMatcherExpression": {
        "type": "object",
        "description": "Monitors ERC20 token transfer consistency",
        "required": [
          "address",
          "log_name",
          "balances"
        ],
        "properties": {
          "address": {
            "type": "string",
            "pattern": "^0x[a-fA-F0-9]{40}$",
            "description": "Token contract address"
          },
          "log_name": {
            "type": "string",
            "description": "Name of the transfer event (usually \"Transfer\")"
          },
          "balances": {
            "type": "string",
            "description": "Name of the balances mapping in the contract"
          }
        }
      },
      "TxErrorExpression": {
        "type": "object",
        "description": "Monitors transaction failures (excluding require/assert failures)",
        "properties": {
          "addresses_to_ignore": {
            "type": "array",
            "description": "List of contract addresses to ignore errors from",
            "items": {
              "type": "string",
              "pattern": "^0x[a-fA-F0-9]{40}$"
            }
          }
        }
      },
      "TxInternalErrorExpression": {
        "type": "object",
        "description": "Monitors internal transaction failures in successful transactions",
        "properties": {
          "addresses_to_match": {
            "type": "array",
            "description": "List of contract addresses to monitor for internal failures",
            "items": {
              "type": "string",
              "pattern": "^0x[a-fA-F0-9]{40}$"
            }
          }
        }
      },
      "NoActionExpression": {
        "type": "object",
        "description": "Monitors for absence of specific blockchain activities",
        "required": [
          "check_after_seconds"
        ],
        "properties": {
          "no_log": {
            "type": "object",
            "description": "Configuration for monitoring missing logs",
            "properties": {
              "address": {
                "type": "string",
                "pattern": "^0x[a-fA-F0-9]{40}$",
                "description": "Contract address to monitor"
              },
              "network_id": {
                "type": "string",
                "description": "Chain ID to monitor"
              },
              "event_id": {
                "type": "string",
                "description": "Event signature hash"
              },
              "event_name": {
                "type": "string",
                "description": "Name of the event for display purposes"
              }
            }
          },
          "no_transaction": {
            "type": "object",
            "description": "Configuration for monitoring missing transactions",
            "properties": {
              "address": {
                "type": "string",
                "pattern": "^0x[a-fA-F0-9]{40}$",
                "description": "Address to monitor"
              },
              "is_from_address": {
                "type": "boolean",
                "description": "If true, monitors outgoing transactions; if false, monitors incoming"
              },
              "network_id": {
                "type": "string",
                "description": "Chain ID to monitor"
              },
              "transaction_success": {
                "type": "boolean",
                "description": "If set, only monitors successful/failed transactions"
              }
            }
          },
          "check_after_seconds": {
            "type": "integer",
            "description": "Number of seconds after which to trigger alert if no activity is detected"
          }
        }
      },
      "SandwichTransactionExpression": {
        "type": "object",
        "description": "Monitors for sandwich attack patterns",
        "required": [
          "address"
        ],
        "properties": {
          "address": {
            "type": "string",
            "pattern": "^0x[a-fA-F0-9]{40}$",
            "description": "Contract address to monitor"
          },
          "transaction_type": {
            "type": "string",
            "enum": [
              "direct",
              "source",
              "internal"
            ],
            "description": "Type of transaction to monitor:\n* direct - Direct interactions with contract\n* source - Transactions from contract\n* internal - Internal transactions\n"
          }
        }
      },
      "AlertExpression": {
        "type": "object",
        "description": "Defines a specific condition to monitor on the blockchain",
        "required": [
          "type",
          "expression"
        ],
        "properties": {
          "type": {
            "type": "string",
            "description": "Type of blockchain event or condition to monitor.\nDifferent types require different expression structures.\n",
            "enum": [
              "method_call",
              "whitelisted_caller_addresses",
              "blacklisted_caller_addresses",
              "contract_address",
              "network",
              "tag",
              "tx_status",
              "function_params",
              "tx_value",
              "emitted_log",
              "state_change",
              "view_function",
              "eth_balance",
              "erc20_transfer_matcher",
              "tx_error",
              "tx_internal_error",
              "no_action",
              "sandwich_transaction"
            ]
          },
          "expression": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/MethodCallExpression"
              },
              {
                "$ref": "#/components/schemas/WhitelistedCallerExpression"
              },
              {
                "$ref": "#/components/schemas/BlacklistedCallerExpression"
              },
              {
                "$ref": "#/components/schemas/ContractAddressExpression"
              },
              {
                "$ref": "#/components/schemas/NetworkExpression"
              },
              {
                "$ref": "#/components/schemas/TagExpression"
              },
              {
                "$ref": "#/components/schemas/TxStatusExpression"
              },
              {
                "$ref": "#/components/schemas/FunctionParamsExpression"
              },
              {
                "$ref": "#/components/schemas/TxValueExpression"
              },
              {
                "$ref": "#/components/schemas/EmittedLogExpression"
              },
              {
                "$ref": "#/components/schemas/StateChangeExpression"
              },
              {
                "$ref": "#/components/schemas/ViewFunctionExpression"
              },
              {
                "$ref": "#/components/schemas/EthBalanceExpression"
              },
              {
                "$ref": "#/components/schemas/ERC20TransferMatcherExpression"
              },
              {
                "$ref": "#/components/schemas/TxErrorExpression"
              },
              {
                "$ref": "#/components/schemas/TxInternalErrorExpression"
              },
              {
                "$ref": "#/components/schemas/NoActionExpression"
              },
              {
                "$ref": "#/components/schemas/SandwichTransactionExpression"
              }
            ]
          }
        },
        "discriminator": {
          "propertyName": "type",
          "mapping": {
            "method_call": "#/components/schemas/MethodCallExpression",
            "whitelisted_caller_addresses": "#/components/schemas/WhitelistedCallerExpression",
            "blacklisted_caller_addresses": "#/components/schemas/BlacklistedCallerExpression"
          }
        }
      },
      "create-alert-payload": {
        "type": "object",
        "properties": {
          "name": {
            "title": "name",
            "description": "A name of the alert.",
            "type": "string",
            "example": "Failed transaction in Contract XYZ"
          },
          "description": {
            "title": "description",
            "description": "Alert description.",
            "type": "string",
            "example": "This alert tracks failed transactions on Mainnet"
          },
          "color": {
            "title": "color",
            "description": "Hex color indicating the severity of the alert. It can be one of the following severity types:\n\n- Default: #eeeeee\n- Info: #34ace0\n- Warning: #ffda79\n- Danger: #ff5252\n- Success: #33d9b2",
            "type": "string",
            "enum": [
              "#eeeeee",
              "#34ace0",
              "#ffda79",
              "#ff5252",
              "#33d9b2"
            ],
            "example": "#eeeeee"
          },
          "simple_type": {
            "title": "simple_type",
            "description": "Alert type.",
            "type": "string",
            "enum": [
              "successful_tx",
              "failed_tx",
              "allowlisted_callers",
              "blocklisted_callers",
              "log_emitted",
              "erc20_transfer_log_emitted",
              "emitted_log_parameter",
              "function_called",
              "called_function_parameter",
              "state_change",
              "eth_balance",
              "tx_value",
              "view_function"
            ],
            "example": "failed_tx"
          },
          "enabled": {
            "title": "enabled",
            "description": "Whether the alert is currently active and monitoring",
            "type": "boolean",
            "example": true
          },
          "expressions": {
            "title": "expressions",
            "description": "List of conditions that trigger the alert when met",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AlertExpression"
            },
            "example": [
              {
                "type": "contract_address",
                "expression": {
                  "address": "0x94c87a7b26980ae7aaa361c5c7e03e632ab36e6c"
                }
              },
              {
                "type": "network",
                "expression": {
                  "network_id": "1"
                }
              },
              {
                "type": "tx_status",
                "expression": {
                  "transaction_success": false
                }
              }
            ]
          },
          "delivery_channels": {
            "title": "delivery_channels",
            "description": "List of notification channels where alerts will be sent",
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "enabled": {
                  "title": "enabled",
                  "description": "Set delivery channel to be enabled or disabled for the alert.",
                  "type": "boolean",
                  "example": true
                },
                "id": {
                  "title": "id",
                  "description": "The delivery channel unique identifier.",
                  "type": "string",
                  "example": "b16b4b75-e034-44c9-a053-f10d769a1d64"
                }
              }
            },
            "example": [
              {
                "enabled": true,
                "id": "b16b4b75-e034-44c9-a053-f10d769a1d64"
              },
              {
                "enabled": true,
                "id": "f48f1f9f-1f74-4849-81cf-fce8bd3746b7"
              }
            ]
          }
        },
        "required": [
          "name",
          "simple_type",
          "expressions",
          "delivery_channels"
        ]
      },
      "successful_transaction_create_alert_post_response": {
        "type": "object",
        "title": "Create Alert Successful Transaction Response",
        "description": "An object with details about created alert of Successful Transaction type.",
        "example": {
          "alert": {
            "id": "d5d5c416-99df-4655-b45c-1e8652f619fa",
            "project_id": "dfdc391a-a15d-4590-9aef-8691259c7df4",
            "name": "Successful transaction in My new contract name",
            "description": "",
            "enabled": true,
            "color": "#eeeeee",
            "severity": "default",
            "created_at": "2023-12-13T00:42:34.259670388Z",
            "delivery_channels": [
              {
                "delivery_channel_id": "b16b4b75-e034-44c9-a053-f10d769a1d64",
                "enabled": true,
                "created_at": "2023-12-13T00:42:34.324117958Z"
              },
              {
                "delivery_channel_id": "f48f1f9f-1f74-4849-81cf-fce8bd3746b7",
                "enabled": true,
                "created_at": "2023-12-13T00:42:34.324119986Z"
              }
            ],
            "is_editable": true,
            "updated_at": "2023-12-13T00:42:34.259670468Z",
            "expressions": [
              {
                "type": "contract_address",
                "expression": {
                  "address": "0x94c87a7b26980ae7aaa361c5c7e03e632ab36e6c",
                  "transaction_type": null
                }
              },
              {
                "type": "network",
                "expression": {
                  "network_id": "1"
                }
              },
              {
                "type": "tx_status",
                "expression": {
                  "transaction_success": true
                }
              }
            ]
          }
        }
      },
      "failed_transaction_create_alert_post_response": {
        "type": "object",
        "title": "Create Alert Failed Transaction Response",
        "description": "An object with details about created alert of Failed Transaction type.",
        "example": {
          "alert": {
            "id": "dc76b2ac-7f15-4190-834a-8136398e0ae6",
            "project_id": "dfdc391a-a15d-4590-9aef-8691259c7df4",
            "name": "Failed transaction in My new contract name",
            "description": "",
            "enabled": true,
            "color": "#ff5252",
            "severity": "danger",
            "created_at": "2023-12-13T01:05:51.365913029Z",
            "delivery_channels": [
              {
                "delivery_channel_id": "b16b4b75-e034-44c9-a053-f10d769a1d64",
                "enabled": true,
                "created_at": "2023-12-13T01:05:51.421791707Z"
              },
              {
                "delivery_channel_id": "f48f1f9f-1f74-4849-81cf-fce8bd3746b7",
                "enabled": true,
                "created_at": "2023-12-13T01:05:51.421793429Z"
              }
            ],
            "is_editable": true,
            "updated_at": "2023-12-13T01:05:51.36591321Z",
            "expressions": [
              {
                "type": "contract_address",
                "expression": {
                  "address": "0x94c87a7b26980ae7aaa361c5c7e03e632ab36e6c",
                  "transaction_type": null
                }
              },
              {
                "type": "network",
                "expression": {
                  "network_id": "1"
                }
              },
              {
                "type": "tx_status",
                "expression": {
                  "transaction_success": false
                }
              }
            ]
          }
        }
      },
      "function_called_create_alert_post_response": {
        "type": "object",
        "title": "Create Alert Function Call Response",
        "description": "An object with details about created alert of Function Call type.",
        "example": {
          "alert": {
            "id": "62a8c561-d391-447c-ad8b-3db4de5de442",
            "project_id": "dfdc391a-a15d-4590-9aef-8691259c7df4",
            "name": "Function approve called in My new contract name",
            "description": "",
            "enabled": true,
            "color": "#eeeeee",
            "severity": "default",
            "created_at": "2023-12-13T01:52:19.098213399Z",
            "delivery_channels": [
              {
                "delivery_channel_id": "b16b4b75-e034-44c9-a053-f10d769a1d64",
                "enabled": true,
                "created_at": "2023-12-13T01:52:19.165323228Z"
              }
            ],
            "is_editable": true,
            "updated_at": "2023-12-13T01:52:19.098213491Z",
            "expressions": [
              {
                "type": "contract_address",
                "expression": {
                  "address": "0x94c87a7b26980ae7aaa361c5c7e03e632ab36e6c",
                  "transaction_type": null
                }
              },
              {
                "type": "network",
                "expression": {
                  "network_id": "1"
                }
              },
              {
                "type": "method_call",
                "expression": {
                  "address": "0x94c87a7b26980ae7aaa361c5c7e03e632ab36e6c",
                  "function_name": "approve",
                  "line_number": 3775,
                  "call_position": "any",
                  "signature": {
                    "function_name": "approve",
                    "input_types": [
                      "address",
                      "uint256"
                    ]
                  }
                }
              }
            ]
          }
        }
      },
      "log_emitted_create_alert_post_response": {
        "type": "object",
        "title": "Create Alert Event Emitted Response",
        "description": "An object with details about created alert of Event Emitted type.",
        "example": {
          "alert": {
            "id": "09938cf0-618d-4ff8-aa66-9ca16c8bc031",
            "project_id": "dfdc391a-a15d-4590-9aef-8691259c7df4",
            "name": "Event MetadropTaxBasisPointsChanged emitted in My new contract name",
            "description": "",
            "enabled": true,
            "color": "#eeeeee",
            "severity": "default",
            "created_at": "2023-12-13T02:07:01.213798705Z",
            "delivery_channels": [
              {
                "delivery_channel_id": "b16b4b75-e034-44c9-a053-f10d769a1d64",
                "enabled": true,
                "created_at": "2023-12-13T02:07:01.324869657Z"
              }
            ],
            "is_editable": true,
            "updated_at": "2023-12-13T02:07:01.213798789Z",
            "expressions": [
              {
                "type": "contract_address",
                "expression": {
                  "address": "0x94c87a7b26980ae7aaa361c5c7e03e632ab36e6c",
                  "transaction_type": null
                }
              },
              {
                "type": "network",
                "expression": {
                  "network_id": "1"
                }
              },
              {
                "type": "emitted_log",
                "expression": {
                  "address": "0x94c87a7b26980ae7aaa361c5c7e03e632ab36e6c",
                  "match_any": false,
                  "match_non_project_contracts": false,
                  "event_name": "MetadropTaxBasisPointsChanged",
                  "event_id": "0xc62aec06e6c0bd9801f57464e310b42dd2d884cbfaf006c84a761b622aea4f08",
                  "decode_events": false
                }
              }
            ]
          }
        }
      },
      "emitted_log_parameter_create_alert_post_response": {
        "type": "object",
        "title": "Create Alert Event Parameter Response",
        "description": "An object with details about created alert of Event Parameter type.",
        "example": {
          "alert": {
            "id": "a87b91c7-d85a-4cfc-b1f0-b2f47b5c925b",
            "project_id": "dfdc391a-a15d-4590-9aef-8691259c7df4",
            "name": "Event argument in LiquidityBurned matched in My new contract name",
            "description": "",
            "enabled": true,
            "color": "#eeeeee",
            "severity": "default",
            "created_at": "2023-12-13T02:22:16.043923372Z",
            "delivery_channels": [
              {
                "delivery_channel_id": "b16b4b75-e034-44c9-a053-f10d769a1d64",
                "enabled": true,
                "created_at": "2023-12-13T02:22:16.143578942Z"
              }
            ],
            "is_editable": true,
            "updated_at": "2023-12-13T02:22:16.043923456Z",
            "expressions": [
              {
                "type": "contract_address",
                "expression": {
                  "address": "0x94c87a7b26980ae7aaa361c5c7e03e632ab36e6c",
                  "transaction_type": null
                }
              },
              {
                "type": "network",
                "expression": {
                  "network_id": "1"
                }
              },
              {
                "type": "emitted_log",
                "expression": {
                  "address": "0x94c87a7b26980ae7aaa361c5c7e03e632ab36e6c",
                  "match_any": false,
                  "match_non_project_contracts": false,
                  "event_name": "LiquidityBurned",
                  "event_id": "0x781a9d251db551fc7922f7facbbe49bc3fd61d3e236a8dafa34afd0539ebfa72",
                  "decode_events": false,
                  "parameter_conditions": [
                    {
                      "parameter_name": "lpTokens",
                      "operator": ">=",
                      "parameter_type": "uint",
                      "nested_parameter_type": "",
                      "comparison_value": "100"
                    }
                  ]
                }
              }
            ]
          }
        }
      },
      "erc20_transfer_log_emitted_create_alert_post_response": {
        "type": "object",
        "title": "Create Alert ERC20 Token Transfer Response",
        "description": "An object with details about created alert of ERC20 Token Transfer type.",
        "example": {
          "alert": {
            "id": "d2c973b4-3437-4d25-8cb1-822b4ffd5c3a",
            "project_id": "dfdc391a-a15d-4590-9aef-8691259c7df4",
            "name": "ERC20 Token Transfer in TetherToken",
            "description": "",
            "enabled": true,
            "color": "#eeeeee",
            "severity": "default",
            "created_at": "2023-12-13T02:28:19.160061865Z",
            "delivery_channels": [
              {
                "delivery_channel_id": "b16b4b75-e034-44c9-a053-f10d769a1d64",
                "enabled": true,
                "created_at": "2023-12-13T02:28:19.321575508Z"
              }
            ],
            "is_editable": true,
            "updated_at": "2023-12-13T02:28:19.160061966Z",
            "expressions": [
              {
                "type": "contract_address",
                "expression": {
                  "address": "0xdac17f958d2ee523a2206206994597c13d831ec7",
                  "transaction_type": null
                }
              },
              {
                "type": "network",
                "expression": {
                  "network_id": "1"
                }
              },
              {
                "type": "emitted_log",
                "expression": {
                  "address": "0xdac17f958d2ee523a2206206994597c13d831ec7",
                  "match_any": false,
                  "match_non_project_contracts": false,
                  "event_name": "ERC20 Transfer",
                  "event_id": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
                  "decode_events": false,
                  "parameter_conditions": [
                    {
                      "parameter_name": "dst",
                      "parameter_index": 1,
                      "operator": "==",
                      "parameter_type": "address",
                      "nested_parameter_type": "",
                      "comparison_value": "0x1f9090aae28b8a3dceadf281b0f12828e676c326"
                    }
                  ]
                }
              }
            ]
          }
        }
      },
      "allowlisted_callers_create_alert_post_response": {
        "type": "object",
        "title": "Create Alert Allowlisted Callers Response",
        "description": "An object with details about created alert of Allowlisted Callers type.",
        "example": {
          "alert": {
            "id": "5c3e3b02-b608-42c2-a7b1-92bc0aee6cd3",
            "project_id": "dfdc391a-a15d-4590-9aef-8691259c7df4",
            "name": "Transaction from non-allowlisted address in TetherToken",
            "description": "",
            "enabled": true,
            "color": "#ffda79",
            "severity": "warning",
            "created_at": "2023-12-13T02:37:28.792395709Z",
            "delivery_channels": [
              {
                "delivery_channel_id": "b16b4b75-e034-44c9-a053-f10d769a1d64",
                "enabled": true,
                "created_at": "2023-12-13T02:37:28.903775049Z"
              }
            ],
            "is_editable": true,
            "updated_at": "2023-12-13T02:37:28.792395797Z",
            "expressions": [
              {
                "type": "contract_address",
                "expression": {
                  "address": "0xdac17f958d2ee523a2206206994597c13d831ec7",
                  "transaction_type": null
                }
              },
              {
                "type": "network",
                "expression": {
                  "network_id": "1"
                }
              },
              {
                "type": "whitelisted_caller_addresses",
                "expression": {
                  "addresses": [
                    "0x1f9090aae28b8a3dceadf281b0f12828e676c326"
                  ]
                }
              }
            ]
          }
        }
      },
      "blocklisted_callers_create_alert_post_response": {
        "type": "object",
        "title": "Create Alert Blocklisted Callers Response",
        "description": "An object with details about created alert of Blocklisted Callers type.",
        "example": {
          "alert": {
            "id": "507a360b-9679-4243-a7ea-9a59d8ec2cb3",
            "project_id": "dfdc391a-a15d-4590-9aef-8691259c7df4",
            "name": "Transaction from blocklisted address in TetherToken",
            "description": "",
            "enabled": true,
            "color": "#ff5252",
            "severity": "danger",
            "created_at": "2023-12-13T11:43:30.230640754Z",
            "delivery_channels": [
              {
                "delivery_channel_id": "b16b4b75-e034-44c9-a053-f10d769a1d64",
                "enabled": true,
                "created_at": "2023-12-13T11:43:30.804232116Z"
              }
            ],
            "is_editable": true,
            "updated_at": "2023-12-13T11:43:30.230640833Z",
            "expressions": [
              {
                "type": "contract_address",
                "expression": {
                  "address": "0xdac17f958d2ee523a2206206994597c13d831ec7",
                  "transaction_type": null
                }
              },
              {
                "type": "network",
                "expression": {
                  "network_id": "1"
                }
              },
              {
                "type": "blacklisted_caller_addresses",
                "expression": {
                  "addresses": [
                    "0x1f9090aae28b8a3dceadf281b0f12828e676c326"
                  ]
                }
              }
            ]
          }
        }
      },
      "eth_balance_create_alert_post_response": {
        "type": "object",
        "title": "Create Alert Balance Change Response",
        "description": "An object with details about created alert of Balance Change type.",
        "example": {
          "alert": {
            "id": "19ba4904-168c-4a5d-9c01-4a61118d1af8",
            "project_id": "dfdc391a-a15d-4590-9aef-8691259c7df4",
            "name": "Balance value condition matched in TetherToken",
            "description": "",
            "enabled": true,
            "color": "#eeeeee",
            "severity": "default",
            "created_at": "2023-12-13T11:48:19.55941224Z",
            "delivery_channels": [
              {
                "delivery_channel_id": "b16b4b75-e034-44c9-a053-f10d769a1d64",
                "enabled": true,
                "created_at": "2023-12-13T11:48:19.598134532Z"
              }
            ],
            "is_editable": true,
            "updated_at": "2023-12-13T11:48:19.559412322Z",
            "expressions": [
              {
                "type": "contract_address",
                "expression": {
                  "address": "0xdac17f958d2ee523a2206206994597c13d831ec7",
                  "transaction_type": null
                }
              },
              {
                "type": "network",
                "expression": {
                  "network_id": "1"
                }
              },
              {
                "type": "eth_balance",
                "expression": {
                  "address": "0xdac17f958d2ee523a2206206994597c13d831ec7",
                  "threshold": "1500000000000000000",
                  "operator": "<="
                }
              }
            ]
          }
        }
      },
      "tx_value_create_alert_post_response": {
        "type": "object",
        "title": "Create Alert Transaction Value Response",
        "description": "An object with details about created alert of Transaction Value type.",
        "example": {
          "alert": {
            "id": "9329db73-f634-45b7-b2f1-3a73f3482ccc",
            "project_id": "dfdc391a-a15d-4590-9aef-8691259c7df4",
            "name": "Transaction value condition matched in TetherToken",
            "description": "",
            "enabled": true,
            "color": "#eeeeee",
            "severity": "default",
            "created_at": "2023-12-13T11:52:14.02368376Z",
            "delivery_channels": [
              {
                "delivery_channel_id": "b16b4b75-e034-44c9-a053-f10d769a1d64",
                "enabled": true,
                "created_at": "2023-12-13T11:52:14.102589088Z"
              }
            ],
            "is_editable": true,
            "updated_at": "2023-12-13T11:52:14.023683841Z",
            "expressions": [
              {
                "type": "contract_address",
                "expression": {
                  "address": "0xdac17f958d2ee523a2206206994597c13d831ec7",
                  "transaction_type": null
                }
              },
              {
                "type": "network",
                "expression": {
                  "network_id": "1"
                }
              },
              {
                "type": "tx_value",
                "expression": {
                  "transaction_value": "1345000000000000000",
                  "operator": "!="
                }
              }
            ]
          }
        }
      },
      "state_change_create_alert_post_response": {
        "type": "object",
        "title": "Create Alert State Change Response",
        "description": "An object with details about created alert of State Change type.",
        "example": {
          "alert": {
            "id": "e5c51bc6-7e16-409b-81b0-376b59b3280a",
            "project_id": "dfdc391a-a15d-4590-9aef-8691259c7df4",
            "name": "State variable transactionCount matched in TetherToken",
            "description": "",
            "enabled": true,
            "color": "#eeeeee",
            "severity": "default",
            "created_at": "2023-12-13T11:59:06.521699855Z",
            "delivery_channels": [
              {
                "delivery_channel_id": "b16b4b75-e034-44c9-a053-f10d769a1d64",
                "enabled": true,
                "created_at": "2023-12-13T11:59:06.592274865Z"
              }
            ],
            "is_editable": true,
            "updated_at": "2023-12-13T11:59:06.521699969Z",
            "expressions": [
              {
                "type": "contract_address",
                "expression": {
                  "address": "0xdac17f958d2ee523a2206206994597c13d831ec7",
                  "transaction_type": null
                }
              },
              {
                "type": "network",
                "expression": {
                  "network_id": "1"
                }
              },
              {
                "type": "state_change",
                "expression": {
                  "address": "0xdac17f958d2ee523a2206206994597c13d831ec7",
                  "match_any": false,
                  "match_non_project_contracts": false,
                  "parameter_conditions": [
                    {
                      "parameter_name": "transactionCount",
                      "operator": ">",
                      "parameter_type": "uint",
                      "nested_parameter_type": "",
                      "comparison_value": "25000",
                      "compare_threshold": true
                    }
                  ]
                }
              }
            ]
          }
        }
      },
      "view_function_create_alert_post_response": {
        "type": "object",
        "title": "Create Alert View Function Response",
        "description": "An object with details about created alert of View Function type.",
        "example": {
          "alert": {
            "id": "d0ba81e1-8ba7-4f05-bcd5-7d23394744a0",
            "project_id": "dfdc391a-a15d-4590-9aef-8691259c7df4",
            "name": "Return value of confirmations matched in TetherToken",
            "description": "",
            "enabled": true,
            "color": "#eeeeee",
            "severity": "default",
            "created_at": "2023-12-13T12:11:51.894569709Z",
            "delivery_channels": [
              {
                "delivery_channel_id": "b16b4b75-e034-44c9-a053-f10d769a1d64",
                "enabled": true,
                "created_at": "2023-12-13T12:11:52.063980384Z"
              }
            ],
            "is_editable": true,
            "updated_at": "2023-12-13T12:11:51.894569829Z",
            "expressions": [
              {
                "type": "contract_address",
                "expression": {
                  "address": "0xdac17f958d2ee523a2206206994597c13d831ec7",
                  "transaction_type": null
                }
              },
              {
                "type": "network",
                "expression": {
                  "network_id": "1"
                }
              },
              {
                "type": "view_function",
                "expression": {
                  "address": "0xdac17f958d2ee523a2206206994597c13d831ec7",
                  "input": "0x3411c81c00000000000000000000000000000000000000000000000000000000000000050000000000000000000000001f9090aae28b8a3dceadf281b0f12828e676c326",
                  "parameter_condition": {
                    "parameter_name": "confirmations",
                    "operator": "==",
                    "parameter_type": "bool",
                    "nested_parameter_type": "",
                    "comparison_value": true
                  },
                  "network_id": "1"
                }
              }
            ]
          }
        }
      },
      "create-alert-response": {
        "description": "Extended alert information returned by the API",
        "type": "object",
        "properties": {
          "alert": {
            "title": "alert",
            "description": "Alert object containing all details of the created alert",
            "type": "object",
            "properties": {
              "id": {
                "title": "id",
                "description": "Unique identifier of the alert",
                "type": "string",
                "format": "uuid",
                "example": "d5d5c416-99df-4655-b45c-1e8652f619fa"
              },
              "project_id": {
                "title": "project_id",
                "description": "ID of the project the alert belongs to",
                "type": "string",
                "format": "uuid",
                "example": "dfdc391a-a15d-4590-9aef-8691259c7df4"
              },
              "name": {
                "title": "name",
                "description": "Human-readable name of the alert",
                "type": "string",
                "example": "Successful transaction in My new contract name"
              },
              "description": {
                "title": "description",
                "description": "Optional description of the alert",
                "type": "string",
                "example": "This alert tracks successful transactions on Mainnet"
              },
              "enabled": {
                "title": "enabled",
                "description": "Whether the alert is currently active",
                "type": "boolean",
                "example": true
              },
              "color": {
                "title": "color",
                "description": "Hex color indicating the severity of the alert. It can be one of the following severity types:\n\n- Default: #eeeeee\n- Info: #34ace0\n- Warning: #ffda79\n- Danger: #ff5252\n- Success: #33d9b2",
                "type": "string",
                "enum": [
                  "#eeeeee",
                  "#34ace0",
                  "#ffda79",
                  "#ff5252",
                  "#33d9b2"
                ],
                "example": "#eeeeee"
              },
              "severity": {
                "title": "severity",
                "description": "Severity level of the alert",
                "type": "string",
                "enum": [
                  "default",
                  "info",
                  "warning",
                  "danger",
                  "success"
                ],
                "example": "default"
              },
              "created_at": {
                "title": "created_at",
                "description": "Timestamp when the alert was created",
                "type": "string",
                "format": "date-time",
                "example": "2023-12-13T00:42:34.259670388Z"
              },
              "updated_at": {
                "title": "updated_at",
                "description": "Timestamp when the alert was last updated",
                "type": "string",
                "format": "date-time",
                "example": "2023-12-13T00:42:34.259670468Z"
              },
              "is_editable": {
                "title": "is_editable",
                "description": "Whether the alert can be modified",
                "type": "boolean",
                "example": true
              },
              "delivery_channels": {
                "title": "delivery_channels",
                "description": "List of delivery channels that receive this alert",
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "delivery_channel_id": {
                      "title": "delivery_channel_id",
                      "description": "ID of the delivery channel",
                      "type": "string",
                      "format": "uuid",
                      "example": "b16b4b75-e034-44c9-a053-f10d769a1d64"
                    },
                    "enabled": {
                      "title": "enabled",
                      "description": "Whether this channel is enabled for the alert",
                      "type": "boolean",
                      "example": true
                    },
                    "created_at": {
                      "title": "created_at",
                      "description": "When this channel was added to the alert",
                      "type": "string",
                      "format": "date-time",
                      "example": "2023-12-13T00:42:34.324117958Z"
                    }
                  }
                }
              },
              "expressions": {
                "title": "expressions",
                "description": "Conditions that trigger the alert when met",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/AlertExpression"
                }
              }
            },
            "required": [
              "id",
              "project_id",
              "name",
              "enabled",
              "color",
              "severity",
              "created_at",
              "updated_at",
              "is_editable",
              "expressions"
            ]
          }
        },
        "required": [
          "alert"
        ]
      },
      "test-alert-payload": {
        "type": "object",
        "properties": {
          "network_id": {
            "title": "network_id",
            "description": "ID of the network.",
            "type": "string",
            "example": "1"
          },
          "alert_id": {
            "title": "alert_id",
            "description": "ID of the alert.",
            "type": "string",
            "example": "daa13590-eda0-4996-a80b-1a43c8006084"
          },
          "tx_hash": {
            "title": "tx_hash",
            "description": "Transaction hash.",
            "type": "string",
            "example": "0xeb22a8b76c48c912d662bffef2272e9a6413ddbe6da541c84a51c249f04ffaf9"
          }
        },
        "required": [
          "network_id",
          "alert_id",
          "tx_hash"
        ]
      },
      "test_alert_post_response": {
        "type": "object",
        "title": "Test Alert Response",
        "description": "An object with details about alert test.",
        "example": {
          "matched": true
        }
      },
      "alert": {
        "title": "alert",
        "description": "Alert object containing all details of the created alert",
        "type": "object",
        "properties": {
          "id": {
            "title": "id",
            "description": "Unique identifier of the alert",
            "type": "string",
            "format": "uuid",
            "example": "d5d5c416-99df-4655-b45c-1e8652f619fa"
          },
          "project_id": {
            "title": "project_id",
            "description": "ID of the project the alert belongs to",
            "type": "string",
            "format": "uuid",
            "example": "dfdc391a-a15d-4590-9aef-8691259c7df4"
          },
          "name": {
            "title": "name",
            "description": "Human-readable name of the alert",
            "type": "string",
            "example": "Successful transaction in My new contract name"
          },
          "description": {
            "title": "description",
            "description": "Optional description of the alert",
            "type": "string",
            "example": "This alert tracks successful transactions on Mainnet"
          },
          "enabled": {
            "title": "enabled",
            "description": "Whether the alert is currently active",
            "type": "boolean",
            "example": true
          },
          "color": {
            "title": "color",
            "description": "Hex color indicating the severity of the alert. It can be one of the following severity types:\n\n- Default: #eeeeee\n- Info: #34ace0\n- Warning: #ffda79\n- Danger: #ff5252\n- Success: #33d9b2",
            "type": "string",
            "enum": [
              "#eeeeee",
              "#34ace0",
              "#ffda79",
              "#ff5252",
              "#33d9b2"
            ],
            "example": "#eeeeee"
          },
          "severity": {
            "title": "severity",
            "description": "Severity level of the alert",
            "type": "string",
            "enum": [
              "default",
              "info",
              "warning",
              "danger",
              "success"
            ],
            "example": "default"
          },
          "created_at": {
            "title": "created_at",
            "description": "Timestamp when the alert was created",
            "type": "string",
            "format": "date-time",
            "example": "2023-12-13T00:42:34.259670388Z"
          },
          "updated_at": {
            "title": "updated_at",
            "description": "Timestamp when the alert was last updated",
            "type": "string",
            "format": "date-time",
            "example": "2023-12-13T00:42:34.259670468Z"
          },
          "is_editable": {
            "title": "is_editable",
            "description": "Whether the alert can be modified",
            "type": "boolean",
            "example": true
          },
          "delivery_channels": {
            "title": "delivery_channels",
            "description": "List of delivery channels that receive this alert",
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "delivery_channel_id": {
                  "title": "delivery_channel_id",
                  "description": "ID of the delivery channel",
                  "type": "string",
                  "format": "uuid",
                  "example": "b16b4b75-e034-44c9-a053-f10d769a1d64"
                },
                "enabled": {
                  "title": "enabled",
                  "description": "Whether this channel is enabled for the alert",
                  "type": "boolean",
                  "example": true
                },
                "created_at": {
                  "title": "created_at",
                  "description": "When this channel was added to the alert",
                  "type": "string",
                  "format": "date-time",
                  "example": "2023-12-13T00:42:34.324117958Z"
                }
              }
            }
          },
          "expressions": {
            "title": "expressions",
            "description": "Conditions that trigger the alert when met",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AlertExpression"
            }
          }
        },
        "required": [
          "id",
          "project_id",
          "name",
          "enabled",
          "color",
          "severity",
          "created_at",
          "updated_at",
          "is_editable",
          "expressions"
        ]
      },
      "alerts_get_response": {
        "type": "object",
        "title": "Get Alerts Response",
        "description": "List of alerts in the project",
        "properties": {
          "alerts": {
            "title": "alerts",
            "description": "List of alerts in the project",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/alert"
            }
          }
        },
        "example": {
          "alerts": [
            {
              "id": "7d8af07c-3cf9-40f2-8c4a-51725d758948",
              "project_id": "dfdc391a-a15d-4590-9aef-8691259c7df4",
              "name": "Failed transaction in My new contract name",
              "description": "",
              "enabled": false,
              "color": "#ff5252",
              "severity": "danger",
              "created_at": "2023-12-12T23:39:37.704Z",
              "delivery_channels": [
                {
                  "delivery_channel_id": "b16b4b75-e034-44c9-a053-f10d769a1d64",
                  "delivery_channel": {
                    "id": "b16b4b75-e034-44c9-a053-f10d769a1d64",
                    "type": "email",
                    "owner_id": "7d5e8b1f-8bf8-4eae-a70f-fb7d354b1cc2",
                    "project_id": null,
                    "label": "Email: vanja@tenderly.co",
                    "reference_id": "vanja@tenderly.co",
                    "enabled": true,
                    "created_at": "2022-04-13T14:30:10.920586Z",
                    "information": {
                      "email": "vanja@tenderly.co",
                      "emails": [
                        "vanja@tenderly.co"
                      ]
                    }
                  },
                  "enabled": true,
                  "created_at": "2023-12-12T23:39:39.094115Z"
                }
              ],
              "is_editable": true,
              "updated_at": "2023-12-12T23:39:39.102325Z",
              "expressions": [
                {
                  "type": "contract_address",
                  "expression": {
                    "address": "0x94c87a7b26980ae7aaa361c5c7e03e632ab36e6c",
                    "transaction_type": null
                  }
                },
                {
                  "type": "network",
                  "expression": {
                    "network_id": "1"
                  }
                },
                {
                  "type": "tx_status",
                  "expression": {
                    "transaction_success": false
                  }
                }
              ]
            }
          ]
        }
      },
      "alert_history_get_response": {
        "type": "object",
        "title": "Get Alert History Response",
        "description": "An object with details about alert execution history.",
        "properties": {
          "alert_logs": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "alert_id": {
                  "title": "alert_id",
                  "description": "ID of the alert that was triggered",
                  "type": "string",
                  "format": "uuid",
                  "example": "daa13590-eda0-4996-a80b-1a43c8006084"
                },
                "tx_hash": {
                  "title": "tx_hash",
                  "description": "Transaction hash.",
                  "type": "string",
                  "example": 1.0538227068187337e+77
                },
                "network_id": {
                  "title": "network_id",
                  "description": "ID of the network.",
                  "type": "string",
                  "example": "1"
                },
                "delivery_channel_id": {
                  "title": "delivery_channel_id",
                  "description": "ID of the delivery channel that was triggered",
                  "type": "string",
                  "format": "uuid",
                  "example": "b16b4b75-e034-44c9-a053-f10d769a1d64"
                },
                "checked_at": {
                  "title": "checked_at",
                  "description": "Timestamp when the alert was triggered",
                  "format": "date-time",
                  "type": "string",
                  "example": "2023-12-13T00:02:17.967345Z"
                },
                "is_test": {
                  "title": "is_test",
                  "description": "Flag value if the alert was a test alert",
                  "type": "boolean",
                  "example": false
                }
              }
            }
          }
        },
        "example": {
          "alert_logs": [
            {
              "alert_id": "daa13590-eda0-4996-a80b-1a43c8006084",
              "tx_hash": "0xe8fc4061ddb9aa3b0f9a648967c2affbfaafd77537aee2333745d71dc3f7bbfe",
              "network_id": "1",
              "delivery_channel_id": "b16b4b75-e034-44c9-a053-f10d769a1d64",
              "checked_at": "2023-12-13T00:02:17.967345Z",
              "is_test": false
            },
            {
              "alert_id": "daa13590-eda0-4996-a80b-1a43c8006084",
              "tx_hash": "0xde33cf01f3cac8a4cb5a6ade07cb0af3279383cf601daae3622cacba5919f4a3",
              "network_id": "1",
              "delivery_channel_id": "f48f1f9f-1f74-4849-81cf-fce8bd3746b7",
              "checked_at": "2023-12-13T00:01:17.513806Z",
              "is_test": false
            },
            {
              "alert_id": "daa13590-eda0-4996-a80b-1a43c8006084",
              "tx_hash": "0xeb22a8b76c48c912d662bffef2272e9a6413ddbe6da541c84a51c249f04ffaf9",
              "network_id": "1",
              "delivery_channel_id": "f48f1f9f-1f74-4849-81cf-fce8bd3746b7",
              "checked_at": "2023-12-12T23:50:55.341358Z",
              "is_test": true
            }
          ]
        }
      },
      "update_alert_patch_response": {
        "type": "object",
        "title": "Update Alert Response",
        "description": "An object with details about updated alert.",
        "example": {
          "alert": {
            "id": "510b9e97-5d94-430b-9904-1c6db2a473b2",
            "project_id": "dfdc391a-a15d-4590-9aef-8691259c7df4",
            "name": "Failed transaction in TetherToken",
            "description": "",
            "enabled": true,
            "color": "#ff5252",
            "severity": "danger",
            "created_at": "2023-12-13T12:30:57.416129Z",
            "delivery_channels": [
              {
                "delivery_channel_id": "b16b4b75-e034-44c9-a053-f10d769a1d64",
                "delivery_channel": {
                  "id": "b16b4b75-e034-44c9-a053-f10d769a1d64",
                  "type": "email",
                  "owner_id": "7d5e8b1f-8bf8-4eae-a70f-fb7d354b1cc2",
                  "project_id": null,
                  "label": "Email: vanja@tenderly.co",
                  "reference_id": "vanja@tenderly.co",
                  "enabled": true,
                  "created_at": "2022-04-13T14:30:10.920586Z",
                  "information": {
                    "email": "vanja@tenderly.co",
                    "emails": [
                      "vanja@tenderly.co"
                    ]
                  }
                },
                "enabled": true,
                "created_at": "2023-12-13T12:31:04.794397Z"
              }
            ],
            "is_editable": true,
            "updated_at": "2023-12-13T12:31:04.799929504Z",
            "expressions": [
              {
                "type": "contract_address",
                "expression": {
                  "address": "0xdac17f958d2ee523a2206206994597c13d831ec7",
                  "transaction_type": null
                }
              },
              {
                "type": "network",
                "expression": {
                  "network_id": "1"
                }
              },
              {
                "type": "tx_status",
                "expression": {
                  "transaction_success": false
                }
              }
            ]
          }
        }
      },
      "check_supported_networks_response": {
        "type": "array",
        "items": {},
        "title": "Check Supported Networks Response",
        "description": "An object with details about supported networks by Tenderly.",
        "example": [
          {
            "network_name": "Conflux eSpace",
            "chain_id": "1030",
            "network_slugs": {
              "explorer_slug": "cfx-espace",
              "node_rpc_slug": "cfx-espace",
              "vnet_rpc_slug": "cfx-espace"
            },
            "supported_features": {
              "virtual_testnet": true,
              "node": true,
              "explorer": true,
              "simulator": true,
              "monitoring": true
            }
          },
          {
            "network_name": "Metis Andromeda",
            "chain_id": "1088",
            "network_slugs": {
              "explorer_slug": "metis-andromeda",
              "node_rpc_slug": "metis-andromeda",
              "vnet_rpc_slug": ""
            },
            "supported_features": {
              "virtual_testnet": false,
              "node": true,
              "explorer": true,
              "simulator": true,
              "monitoring": true
            }
          },
          {
            "network_name": "Shape Sepolia",
            "chain_id": "11011",
            "network_slugs": {
              "explorer_slug": "shape-sepolia",
              "node_rpc_slug": "",
              "vnet_rpc_slug": ""
            },
            "supported_features": {
              "virtual_testnet": false,
              "node": false,
              "explorer": true,
              "simulator": true,
              "monitoring": true
            }
          }
        ]
      },
      "email-information": {
        "title": "Email notification",
        "type": "object",
        "properties": {
          "email": {
            "type": "string",
            "format": "email"
          },
          "emails": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "email"
            }
          }
        },
        "example": {
          "email": "vanja@tenderly.co",
          "emails": [
            "vanja@tenderly.co"
          ]
        }
      },
      "slack-information": {
        "title": "Slack notification",
        "type": "object",
        "properties": {
          "team_name": {
            "type": "string"
          },
          "channel_name": {
            "type": "string"
          }
        },
        "example": {
          "team_name": "DeFi Team",
          "channel_name": "#alerting-test"
        }
      },
      "discord-information": {
        "title": "Discord notification",
        "type": "object",
        "properties": {
          "webhook": {
            "type": "string"
          }
        },
        "example": {
          "webhook": "https://discord.com/api/webhooks/993819233324631111/ajsdfkasdhfkjabsdkjfhba"
        }
      },
      "telegram-information": {
        "title": "Telegram notification",
        "type": "object",
        "properties": {
          "chat_id": {
            "type": "integer"
          }
        },
        "example": {
          "chat_id": 123922245
        }
      },
      "delivery-channel-payload": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "Unique identifier of the delivery channel"
          },
          "label": {
            "type": "string",
            "description": "Human-readable name of the delivery channel"
          },
          "type": {
            "type": "string",
            "enum": [
              "email",
              "slack",
              "discord",
              "webhook"
            ],
            "description": "Type of delivery channel:\n* email - Email notifications\n* slack - Slack workspace notifications\n* discord - Discord channel notifications\n* webhook - Custom webhook notifications\n"
          },
          "owner_id": {
            "type": "string",
            "format": "uuid",
            "description": "ID of the channel owner"
          },
          "project_id": {
            "type": "string",
            "format": "uuid",
            "description": "ID of the project if associated with one"
          },
          "reference_id": {
            "type": "string",
            "description": "External reference identifier"
          },
          "enabled": {
            "type": "boolean",
            "description": "Whether the channel is currently active"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp when the channel was created"
          },
          "information": {
            "type": "object",
            "description": "Channel-specific configuration details that vary by type",
            "oneOf": [
              {
                "$ref": "#/components/schemas/email-information"
              },
              {
                "$ref": "#/components/schemas/slack-information"
              },
              {
                "$ref": "#/components/schemas/discord-information"
              },
              {
                "$ref": "#/components/schemas/telegram-information"
              }
            ]
          }
        },
        "required": [
          "id",
          "type",
          "owner_id",
          "label",
          "reference_id",
          "enabled",
          "created_at",
          "information"
        ],
        "example": {
          "id": "b16b4b75-e034-44c9-a053-f10d769a1d64",
          "type": "email",
          "owner_id": "7d5e8b1f-8bf8-4eae-a70f-fb7d354b1cc2",
          "project_id": null,
          "label": "Email: vanja@tenderly.co",
          "reference_id": "vanja@tenderly.co",
          "enabled": true,
          "created_at": "2022-04-13T14:30:10.920586Z",
          "information": {
            "email": "vanja@tenderly.co",
            "emails": [
              "vanja@tenderly.co"
            ]
          }
        }
      },
      "account_delivery_channels_get_response": {
        "type": "object",
        "title": "Get Account Delivery Channels Response",
        "description": "Detailed delivery channel information returned by the API",
        "properties": {
          "delivery_channels": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/delivery-channel-payload"
            }
          }
        },
        "example": {
          "delivery_channels": [
            {
              "id": "b16b4b75-e034-44c9-a053-f10d769a1d64",
              "type": "email",
              "owner_id": "7d5e8b1f-8bf8-4eae-a70f-fb7d354b1cc2",
              "project_id": null,
              "label": "Email: vanja@tenderly.co",
              "reference_id": "vanja@tenderly.co",
              "enabled": true,
              "created_at": "2022-04-13T14:30:10.920586Z",
              "information": {
                "email": "vanja@tenderly.co",
                "emails": [
                  "vanja@tenderly.co"
                ]
              }
            },
            {
              "id": "f48f1f9f-1f74-4849-81cf-fce8bd3746b7",
              "type": "slack",
              "owner_id": "7d5e8b1f-8bf8-4eae-a70f-fb7d354b1cc2",
              "project_id": null,
              "label": "#dzimiks-dashboard-alerts in Tenderly",
              "reference_id": "C026DRJ78GL",
              "enabled": true,
              "created_at": "2023-01-11T17:05:54.689698Z",
              "information": {
                "team_name": "",
                "channel_name": "#dzimiks-dashboard-alerts"
              }
            }
          ]
        }
      },
      "project_delivery_channels_get_response": {
        "type": "object",
        "title": "Get Project Delivery Channels Response",
        "description": "An object with details about delivery channels for project.",
        "properties": {
          "delivery_channels": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/delivery-channel-payload"
            }
          }
        },
        "example": {
          "delivery_channels": [
            {
              "id": "b16b4b75-e034-44c9-a053-f10d769a1d64",
              "type": "email",
              "owner_id": "7d5e8b1f-8bf8-4eae-a70f-fb7d354b1cc2",
              "project_id": null,
              "label": "Email: vanja@tenderly.co",
              "reference_id": "vanja@tenderly.co",
              "enabled": true,
              "created_at": "2022-04-13T14:30:10.920586Z",
              "information": {
                "email": "vanja@tenderly.co",
                "emails": [
                  "vanja@tenderly.co"
                ]
              }
            },
            {
              "id": "f48f1f9f-1f74-4849-81cf-fce8bd3746b7",
              "type": "slack",
              "owner_id": "7d5e8b1f-8bf8-4eae-a70f-fb7d354b1cc2",
              "project_id": null,
              "label": "#dzimiks-dashboard-alerts in Tenderly",
              "reference_id": "C026DRJ78GL",
              "enabled": true,
              "created_at": "2023-01-11T17:05:54.689698Z",
              "information": {
                "team_name": "",
                "channel_name": "#dzimiks-dashboard-alerts"
              }
            }
          ]
        }
      },
      "web3-action-payload": {
        "title": "action",
        "description": "A Web3 Action creation payload.",
        "type": "object",
        "properties": {
          "name": {
            "title": "name",
            "description": "Web3 Action name. Must start with a letter and contain only letters, digits, dashes, and underscores; spaces are not allowed. Names that don't match the pattern are rejected with `found_validation_errors`. Use the `description` field for a human-readable label.",
            "type": "string",
            "pattern": "^[a-zA-Z][a-zA-Z0-9_-]*$",
            "example": "block-action"
          },
          "description": {
            "title": "description",
            "description": "Web3 Action description.",
            "type": "string",
            "example": "Triggers on every 10th block on ETH Mainnet and Polygon."
          },
          "source": {
            "title": "source",
            "description": "Web3 Action version source code.",
            "type": "string",
            "example": "// Do not change function name.\nconst actionFn = async (context, blockEvent) => {\n    console.log(blockEvent)\n\n    // To access project's secret\n    // let secret = await context.secrets.get('MY-SECRET')\n\n    // To access project's storage\n    // let value = await context.storage.getStr('MY-KEY')\n    // await context.storage.putStr('MY-KEY', 'MY-VALUE')\n\n    // Your logic goes here :)\n}\n// Do not change this.\nmodule.exports = { actionFn }"
          },
          "triggerType": {
            "title": "triggerType",
            "description": "Web3 Action version trigger type.",
            "type": "string",
            "enum": [
              "ALERT",
              "BLOCK",
              "PERIODIC",
              "TRANSACTION",
              "WEBHOOK",
              "TRANSACTIONSIMPLE"
            ],
            "example": "BLOCK"
          },
          "runtime": {
            "title": "runtime",
            "description": "Web3 Action version runtime.",
            "type": "string",
            "example": "V2"
          },
          "function": {
            "title": "function",
            "description": "Web3 Action function which will be called on every execution.",
            "type": "string",
            "example": "actionFn"
          },
          "invocationType": {
            "title": "invocationType",
            "description": "Shows Web3 Action version invocation type.",
            "type": "string",
            "enum": [
              "SYNC",
              "ASYNC"
            ],
            "example": "SYNC"
          },
          "trigger": {
            "title": "trigger",
            "description": "Web3 Action version trigger object. The shape depends on `triggerType`. For `PERIODIC` triggers, `periodic.cron` is a standard five-field cron expression (minute, hour, day of month, month, day of week; no seconds field and no `@hourly`-style shortcuts) and is what schedules execution; `periodic.interval` is optional display-only metadata shown in the dashboard and is not used in execution.",
            "type": "object",
            "example": {
              "type": "block",
              "block": {
                "network": [
                  "1",
                  "137"
                ],
                "blocks": 10
              }
            }
          }
        },
        "required": [
          "name",
          "source",
          "triggerType",
          "runtime",
          "function",
          "invocationType",
          "trigger"
        ],
        "example": {
          "name": "block-action",
          "description": "Triggers on every 10th block on ETH Mainnet and Polygon.",
          "source": "// Do not change function name.\nconst actionFn = async (context, blockEvent) => {\n    console.log(blockEvent)\n\n    // To access project's secret\n    // let secret = await context.secrets.get('MY-SECRET')\n\n    // To access project's storage\n    // let value = await context.storage.getStr('MY-KEY')\n    // await context.storage.putStr('MY-KEY', 'MY-VALUE')\n\n    // Your logic goes here :)\n}\n// Do not change this.\nmodule.exports = { actionFn }",
          "triggerType": "BLOCK",
          "runtime": "V2",
          "function": "actionFn",
          "invocationType": "ASYNC",
          "trigger": {
            "type": "block",
            "block": {
              "network": [
                "1",
                "137"
              ],
              "blocks": 10
            }
          }
        }
      },
      "create-web3-action-payload": {
        "type": "object",
        "properties": {
          "action": {
            "$ref": "#/components/schemas/web3-action-payload"
          },
          "deploy": {
            "title": "deploy",
            "description": "Should Web3 Action be immediately deployed.",
            "type": "boolean",
            "example": true
          }
        },
        "required": [
          "action",
          "deploy"
        ],
        "example": {
          "action": {
            "name": "block-action",
            "description": "Triggers on every 10th block on ETH Mainnet and Polygon.",
            "source": "// Do not change function name.\nconst actionFn = async (context, blockEvent) => {\n    console.log(blockEvent)\n\n    // To access project's secret\n    // let secret = await context.secrets.get('MY-SECRET')\n\n    // To access project's storage\n    // let value = await context.storage.getStr('MY-KEY')\n    // await context.storage.putStr('MY-KEY', 'MY-VALUE')\n\n    // Your logic goes here :)\n}\n// Do not change this.\nmodule.exports = { actionFn }",
            "triggerType": "BLOCK",
            "runtime": "V2",
            "function": "actionFn",
            "invocationType": "ASYNC",
            "trigger": {
              "type": "block",
              "block": {
                "network": [
                  "1",
                  "137"
                ],
                "blocks": 10
              }
            }
          },
          "deploy": true
        }
      },
      "block_create_web3_action_post_response": {
        "type": "object",
        "title": "Create Web3 Action Block Response",
        "description": "An object with details about created Web3 Action of Block type.",
        "example": {
          "actions": {
            "block-action": {
              "id": "349cbb00-64ad-47ec-bbcb-40bffa28559f",
              "index": 1,
              "actionId": "53712e55-eb77-4ce3-9140-685fd230396a",
              "parentActionId": "",
              "runtime": "V2",
              "function": "implementation:actionFn",
              "triggerType": "BLOCK",
              "trigger": {
                "type": "block",
                "block": {
                  "network": [
                    "1",
                    "137"
                  ],
                  "blocks": 10
                }
              },
              "commitish": null,
              "source": "// Do not change function name.\nconst actionFn = async (context, blockEvent) => {\n    console.log(blockEvent)\n\n    // To access project's secret\n    // let secret = await context.secrets.get('MY-SECRET')\n\n    // To access project's storage\n    // let value = await context.storage.getStr('MY-KEY')\n    // await context.storage.putStr('MY-KEY', 'MY-VALUE')\n\n    // Your logic goes here :)\n}\n// Do not change this.\nmodule.exports = { actionFn }",
              "createdAt": "2023-12-14T18:47:19.26565Z",
              "deployRequested": true,
              "deployError": null,
              "invocationType": "ASYNC"
            }
          }
        }
      },
      "periodic_create_web3_action_post_response": {
        "type": "object",
        "title": "Create Web3 Action Periodic Response",
        "description": "An object with details about created Web3 Action of Periodic type.",
        "example": {
          "actions": {
            "periodic-1hour": {
              "id": "d6f38b4e-3f6a-476d-a788-4b04b75faa4e",
              "index": 1,
              "actionId": "0330dbf2-b2e1-48e9-9637-0ae015c770e3",
              "parentActionId": "",
              "runtime": "V2",
              "function": "implementation:actionFn",
              "triggerType": "PERIODIC",
              "trigger": {
                "type": "periodic",
                "periodic": {
                  "cron": "0 * * * *",
                  "interval": "1h"
                }
              },
              "commitish": null,
              "source": "// Do not change function name.\nconst actionFn = async (context, periodicEvent) => {\n    console.log(periodicEvent)\n\n    // To access project's secret\n    // let secret = await context.secrets.get('MY-SECRET')\n\n    // To access project's storage\n    // let value = await context.storage.getStr('MY-KEY')\n    // await context.storage.putStr('MY-KEY', 'MY-VALUE')\n\n    // Your logic goes here :)\n}\n// Do not change this.\nmodule.exports = { actionFn }",
              "createdAt": "2023-12-14T19:09:20.710956Z",
              "deployRequested": true,
              "deployError": null,
              "invocationType": "SYNC"
            }
          }
        }
      },
      "webhook_create_web3_action_post_response": {
        "type": "object",
        "title": "Create Web3 Action Webhook Response",
        "description": "An object with details about created Web3 Action of Webhook type.",
        "example": {
          "actions": {
            "webhook-action": {
              "id": "c9920ea7-44da-4eb2-861a-701f03bcc135",
              "index": 1,
              "actionId": "53be9ff0-756e-401d-877c-a1216a8b9696",
              "parentActionId": "",
              "runtime": "V2",
              "function": "implementation:actionFn",
              "triggerType": "WEBHOOK",
              "trigger": {
                "type": "webhook",
                "webhook": {
                  "authenticated": false
                }
              },
              "commitish": null,
              "source": "// Do not change function name.\nconst actionFn = async (context, webhookEvent) => {\n    console.log(webhookEvent)\n\n    // To access project's secret\n    // let secret = await context.secrets.get('MY-SECRET')\n\n    // To access project's storage\n    // let value = await context.storage.getStr('MY-KEY')\n    // await context.storage.putStr('MY-KEY', 'MY-VALUE')\n\n    // Your logic goes here :)\n}\n// Do not change this.\nmodule.exports = { actionFn }",
              "createdAt": "2023-12-14T19:14:47.855921Z",
              "deployRequested": true,
              "deployError": null,
              "invocationType": "ASYNC"
            }
          }
        }
      },
      "web3-action-version": {
        "type": "object",
        "properties": {
          "id": {
            "title": "id",
            "description": "ID of the Web3 Action version.",
            "type": "string",
            "example": "65f4e0e8-4b67-4f0c-815f-1a08cd418f1a"
          },
          "index": {
            "title": "index",
            "description": "Web3 Action version index.",
            "type": "number",
            "example": 1
          },
          "actionId": {
            "title": "actionId",
            "description": "ID of the Web3 Action connected to this version.",
            "type": "string",
            "example": "4cc3ee95-6bc5-4c85-83d0-26d4b89d5c25"
          },
          "parentActionId": {
            "title": "parentActionId",
            "description": "ID of the parent Web3 Action connected to this version.",
            "type": "string",
            "example": "4cc3ee95-6bc5-4c85-83d0-26d4b89d5c25"
          },
          "runtime": {
            "title": "runtime",
            "description": "Web3 Action version runtime.",
            "type": "string",
            "example": "V2"
          },
          "function": {
            "title": "function",
            "description": "Web3 Action version function which will be called on every execution. It consist of `${actionName}:${functionName}`.",
            "type": "string",
            "example": "implementation:actionFn"
          },
          "triggerType": {
            "title": "triggerType",
            "description": "Web3 Action version trigger type.",
            "type": "string",
            "enum": [
              "ALERT",
              "BLOCK",
              "PERIODIC",
              "TRANSACTION",
              "WEBHOOK",
              "TRANSACTIONSIMPLE"
            ],
            "example": "PERIODIC"
          },
          "trigger": {
            "title": "trigger",
            "description": "Web3 Action version trigger object.",
            "type": "object",
            "example": {
              "type": "periodic",
              "periodic": {
                "cron": "0 * * * *",
                "interval": "1h"
              }
            }
          },
          "commitish": {
            "title": "commitish",
            "description": "Web3 Action version commitish hash.",
            "type": "string",
            "example": "commit:v12345"
          },
          "source": {
            "title": "source",
            "description": "Web3 Action version source code.",
            "type": "string",
            "example": "const actionFn = async (context, periodicEvent) => { //... }"
          },
          "createdAt": {
            "title": "createdAt",
            "description": "When Web3 Action version is created.",
            "type": "string",
            "example": "2023-12-14T16:20:36.078679Z"
          },
          "deployRequested": {
            "title": "deployRequested",
            "description": "Flag showing if Web3 Action version deploy is requested.",
            "type": "boolean",
            "example": false
          },
          "deployError": {
            "title": "deployError",
            "description": "Shows Web3 Action version deployment error if any.",
            "type": "string",
            "example": "Error with deployment"
          },
          "invocationType": {
            "title": "invocationType",
            "description": "Shows Web3 Action version invocation type.",
            "type": "string",
            "enum": [
              "SYNC",
              "ASYNC"
            ],
            "example": "SYNC"
          }
        },
        "required": [
          "id",
          "index",
          "actionId",
          "runtime",
          "function",
          "triggerType",
          "trigger",
          "source",
          "createdAt",
          "deployRequested",
          "invocationType"
        ],
        "example": {
          "id": "65f4e0e8-4b67-4f0c-815f-1a08cd418f1a",
          "index": 1,
          "actionId": "4cc3ee95-6bc5-4c85-83d0-26d4b89d5c25",
          "parentActionId": "",
          "runtime": "V2",
          "function": "implementation:actionFn",
          "triggerType": "PERIODIC",
          "trigger": {
            "type": "periodic",
            "periodic": {
              "cron": "0 * * * *",
              "interval": "1h"
            }
          },
          "commitish": null,
          "source": "// Do not change function name.\nconst actionFn = async (context, periodicEvent) => {\n    console.log(periodicEvent)\n\n    // To access project's secret\n    // let secret = await context.secrets.get('MY-SECRET')\n\n    // To access project's storage\n    // let value = await context.storage.getStr('MY-KEY')\n    // await context.storage.putStr('MY-KEY', 'MY-VALUE')\n\n    // Your logic goes here :)\n}\n// Do not change this.\nmodule.exports = { actionFn }",
          "createdAt": "2023-12-14T16:20:36.078679Z",
          "deployRequested": false,
          "deployError": null,
          "invocationType": "SYNC"
        }
      },
      "web3-action-response": {
        "type": "object",
        "properties": {
          "id": {
            "title": "id",
            "description": "ID of the Web3 Action.",
            "type": "string",
            "example": "4cc3ee95-6bc5-4c85-83d0-26d4b89d5c25"
          },
          "projectId": {
            "title": "projectId",
            "description": "ID of the project where Web3 Action is created.",
            "type": "string",
            "example": "dfdc391a-a15d-4590-9aef-8691259c7df4"
          },
          "name": {
            "title": "name",
            "description": "Web3 Action name.",
            "type": "string",
            "example": "periodic-cron"
          },
          "description": {
            "title": "description",
            "description": "Web3 Action description.",
            "type": "string",
            "example": "Triggers every 1 hour"
          },
          "status": {
            "title": "status",
            "description": "Status of the Web3 Action.",
            "type": "string",
            "enum": [
              "DEPLOYED",
              "PUBLISHED"
            ],
            "example": "DEPLOYED"
          },
          "stopped": {
            "title": "stopped",
            "description": "Flag showing if Web3 Action is stopped or not.",
            "type": "boolean",
            "example": false
          },
          "editable": {
            "title": "editable",
            "description": "Flag showing if Web3 Action is editable or not.",
            "type": "boolean",
            "example": true
          },
          "createdAt": {
            "title": "createdAt",
            "description": "When Web3 Action is created.",
            "type": "string",
            "example": "2023-12-14T16:20:36.078679Z"
          },
          "version": {
            "$ref": "#/components/schemas/web3-action-version"
          },
          "deliveryChannels": {
            "title": "deliveryChannels",
            "description": "Shows delivery channels for given Web3 Action.",
            "type": "array",
            "items": {},
            "example": []
          }
        },
        "required": [
          "id",
          "projectId",
          "name",
          "description",
          "status",
          "stopped",
          "editable",
          "createdAt",
          "version"
        ],
        "example": {
          "id": "be048c73-41c3-4fcd-b0c6-d286af7155fe",
          "projectId": "cbb49e29-24ad-4cf9-8b2d-1f34a3019582",
          "name": "instadapp-implementation",
          "description": "Track these 3 proposal events: add, remove & setDefault.",
          "status": "DEPLOYED",
          "stopped": false,
          "version": {
            "id": "34655755-771f-4da7-989e-ec2b27e8f13b",
            "index": 3,
            "actionId": "be048c73-41c3-4fcd-b0c6-d286af7155fe",
            "parentActionId": "",
            "runtime": "V1",
            "function": "instadappImplementation:implementationFn",
            "triggerType": "TRANSACTION",
            "trigger": {
              "type": "transaction",
              "transaction": {
                "status": [
                  "MINED"
                ],
                "filter": {
                  "any": [
                    {
                      "network": [
                        "1"
                      ],
                      "status": [],
                      "value": [],
                      "gasLimit": [],
                      "gasUsed": [],
                      "fee": [],
                      "from": [],
                      "to": [],
                      "function": [],
                      "eventEmitted": [
                        {
                          "contract": {
                            "address": "0xcba828153d3a85b30b5b912e1f2dacac5816ae9d",
                            "invocationType": "ANY"
                          },
                          "id": null,
                          "name": "LogSetDefaultImplementation"
                        },
                        {
                          "contract": {
                            "address": "0xcba828153d3a85b30b5b912e1f2dacac5816ae9d",
                            "invocationType": "ANY"
                          },
                          "id": null,
                          "name": "LogAddImplementation"
                        },
                        {
                          "contract": {
                            "address": "0xcba828153d3a85b30b5b912e1f2dacac5816ae9d",
                            "invocationType": "ANY"
                          },
                          "id": null,
                          "name": "LogRemoveImplementation"
                        }
                      ],
                      "logEmmitted": []
                    }
                  ],
                  "and": null
                }
              }
            },
            "commitish": null,
            "source": "import {\n  ActionFn,\n  Context,\n  Event,\n  TransactionEvent,\n} from '@tenderly/actions';\n\n// TEST: Try manual trigger with this tx hash on Mainnet: 0x3bdf5a48174f7f8f7bfb2f43dbe399c47405bba1cea3480aa0c199270f262f7e\nexport const implementationFn: ActionFn = async (context: Context, event: Event) => {\n  let txEvent = event as TransactionEvent;\n  console.log('InstaDapp Implementation Event is detected');\n  // Shorten logs because it's too large to print\n  console.log({ ...txEvent, logs: txEvent.logs.splice(0, 5) });\n};\n",
            "createdAt": "2022-10-18T12:37:10.392964Z",
            "deployRequested": false,
            "deployError": null,
            "invocationType": "SYNC"
          },
          "editable": false,
          "createdAt": "2022-10-18T12:24:51.187849Z",
          "deliveryChannels": null
        }
      },
      "web3_actions_get_response": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/web3-action-response"
        },
        "title": "Get Web3 Actions Response",
        "description": "An object with details about web3 actions for project.",
        "example": [
          {
            "id": "4cc3ee95-6bc5-4c85-83d0-26d4b89d5c25",
            "projectId": "dfdc391a-a15d-4590-9aef-8691259c7df4",
            "name": "periodic-cron",
            "description": "every 1 hour",
            "status": "DEPLOYED",
            "stopped": false,
            "version": {
              "id": "65f4e0e8-4b67-4f0c-815f-1a08cd418f1a",
              "index": 1,
              "actionId": "4cc3ee95-6bc5-4c85-83d0-26d4b89d5c25",
              "parentActionId": "",
              "runtime": "V2",
              "function": "implementation:actionFn",
              "triggerType": "PERIODIC",
              "trigger": {
                "type": "periodic",
                "periodic": {
                  "cron": "0 * * * *",
                  "interval": "1h"
                }
              },
              "commitish": null,
              "source": "// Do not change function name.\nconst actionFn = async (context, periodicEvent) => {\n    console.log(periodicEvent)\n\n    // To access project's secret\n    // let secret = await context.secrets.get('MY-SECRET')\n\n    // To access project's storage\n    // let value = await context.storage.getStr('MY-KEY')\n    // await context.storage.putStr('MY-KEY', 'MY-VALUE')\n\n    // Your logic goes here :)\n}\n// Do not change this.\nmodule.exports = { actionFn }",
              "createdAt": "2023-12-14T16:20:36.078679Z",
              "deployRequested": false,
              "deployError": null,
              "invocationType": "SYNC"
            },
            "editable": true,
            "createdAt": "2023-12-14T16:20:36.078679Z",
            "deliveryChannels": null
          },
          {
            "id": "74e9f7d8-4a53-425c-912b-8d5cef87cef1",
            "projectId": "dfdc391a-a15d-4590-9aef-8691259c7df4",
            "name": "mainnet-block",
            "description": "Trigger on every 1000th block",
            "status": "DEPLOYED",
            "stopped": true,
            "version": {
              "id": "ac015512-fcca-4a94-b782-e1fb584d8aef",
              "index": 1,
              "actionId": "74e9f7d8-4a53-425c-912b-8d5cef87cef1",
              "parentActionId": "",
              "runtime": "V2",
              "function": "implementation:actionFn",
              "triggerType": "BLOCK",
              "trigger": {
                "type": "block",
                "block": {
                  "network": [
                    "1"
                  ],
                  "blocks": 1000
                }
              },
              "commitish": null,
              "source": "// Do not change function name.\nconst actionFn = async (context, blockEvent) => {\n    console.log(blockEvent)\n\n    // To access project's secret\n    // let secret = await context.secrets.get('MY-SECRET')\n\n    // To access project's storage\n    // let value = await context.storage.getStr('MY-KEY')\n    // await context.storage.putStr('MY-KEY', 'MY-VALUE')\n\n    // Your logic goes here :)\n}\n// Do not change this.\nmodule.exports = { actionFn }",
              "createdAt": "2023-12-13T00:37:13.821647Z",
              "deployRequested": false,
              "deployError": null,
              "invocationType": "ASYNC"
            },
            "editable": true,
            "createdAt": "2023-12-13T00:37:13.821647Z",
            "deliveryChannels": null
          },
          {
            "id": "be048c73-41c3-4fcd-b0c6-d286af7155fe",
            "projectId": "cbb49e29-24ad-4cf9-8b2d-1f34a3019582",
            "name": "instadapp-implementation",
            "description": "Track these 3 proposal events: add, remove & setDefault.",
            "status": "DEPLOYED",
            "stopped": false,
            "version": {
              "id": "34655755-771f-4da7-989e-ec2b27e8f13b",
              "index": 3,
              "actionId": "be048c73-41c3-4fcd-b0c6-d286af7155fe",
              "parentActionId": "",
              "runtime": "V1",
              "function": "instadappImplementation:implementationFn",
              "triggerType": "TRANSACTION",
              "trigger": {
                "type": "transaction",
                "transaction": {
                  "status": [
                    "MINED"
                  ],
                  "filter": {
                    "any": [
                      {
                        "network": [
                          "1"
                        ],
                        "status": [],
                        "value": [],
                        "gasLimit": [],
                        "gasUsed": [],
                        "fee": [],
                        "from": [],
                        "to": [],
                        "function": [],
                        "eventEmitted": [
                          {
                            "contract": {
                              "address": "0xcba828153d3a85b30b5b912e1f2dacac5816ae9d",
                              "invocationType": "ANY"
                            },
                            "id": null,
                            "name": "LogSetDefaultImplementation"
                          },
                          {
                            "contract": {
                              "address": "0xcba828153d3a85b30b5b912e1f2dacac5816ae9d",
                              "invocationType": "ANY"
                            },
                            "id": null,
                            "name": "LogAddImplementation"
                          },
                          {
                            "contract": {
                              "address": "0xcba828153d3a85b30b5b912e1f2dacac5816ae9d",
                              "invocationType": "ANY"
                            },
                            "id": null,
                            "name": "LogRemoveImplementation"
                          }
                        ],
                        "logEmmitted": []
                      }
                    ],
                    "and": null
                  }
                }
              },
              "commitish": null,
              "source": "import {\n  ActionFn,\n  Context,\n  Event,\n  TransactionEvent,\n} from '@tenderly/actions';\n\n// TEST: Try manual trigger with this tx hash on Mainnet: 0x3bdf5a48174f7f8f7bfb2f43dbe399c47405bba1cea3480aa0c199270f262f7e\nexport const implementationFn: ActionFn = async (context: Context, event: Event) => {\n  let txEvent = event as TransactionEvent;\n  console.log('InstaDapp Implementation Event is detected');\n  // Shorten logs because it's too large to print\n  console.log({ ...txEvent, logs: txEvent.logs.splice(0, 5) });\n};\n",
              "createdAt": "2022-10-18T12:37:10.392964Z",
              "deployRequested": false,
              "deployError": null,
              "invocationType": "SYNC"
            },
            "editable": false,
            "createdAt": "2022-10-18T12:24:51.187849Z",
            "deliveryChannels": null
          },
          {
            "id": "785e140d-3a15-45c0-90a7-8c54bb41e562",
            "projectId": "cbb49e29-24ad-4cf9-8b2d-1f34a3019582",
            "name": "instadapp-governance-event",
            "description": "Track these 3 events: executed, queued & cancelled.",
            "status": "DEPLOYED",
            "stopped": false,
            "version": {
              "id": "9d8eaac3-85cc-4c48-a557-47c36b80dd52",
              "index": 3,
              "actionId": "785e140d-3a15-45c0-90a7-8c54bb41e562",
              "parentActionId": "",
              "runtime": "V1",
              "function": "instadappGovernance:governanceFn",
              "triggerType": "TRANSACTION",
              "trigger": {
                "type": "transaction",
                "transaction": {
                  "status": [
                    "MINED"
                  ],
                  "filter": {
                    "any": [
                      {
                        "network": [
                          "1"
                        ],
                        "status": [],
                        "value": [],
                        "gasLimit": [],
                        "gasUsed": [],
                        "fee": [],
                        "from": [],
                        "to": [],
                        "function": [],
                        "eventEmitted": [
                          {
                            "contract": {
                              "address": "0x0204cd037b2ec03605cfdfe482d8e257c765fa1b",
                              "invocationType": "ANY"
                            },
                            "id": null,
                            "name": "ProposalCanceled"
                          },
                          {
                            "contract": {
                              "address": "0x0204cd037b2ec03605cfdfe482d8e257c765fa1b",
                              "invocationType": "ANY"
                            },
                            "id": null,
                            "name": "ProposalQueued"
                          },
                          {
                            "contract": {
                              "address": "0x0204cd037b2ec03605cfdfe482d8e257c765fa1b",
                              "invocationType": "ANY"
                            },
                            "id": null,
                            "name": "ProposalExecuted"
                          }
                        ],
                        "logEmmitted": []
                      }
                    ],
                    "and": null
                  }
                }
              },
              "commitish": null,
              "source": "import {\n  ActionFn,\n  Context,\n  Event,\n  TransactionEvent,\n} from '@tenderly/actions';\n\n// TEST: Try manual trigger with this tx hash on Mainnet: 0x338fda662797c4750d6c81bc261380ca4782cf8112227f53962f4fb60d13bbcb\nexport const governanceFn: ActionFn = async (context: Context, event: Event) => {\n  let txEvent = event as TransactionEvent;\n  console.log('InstaDapp Governance Event is detected');\n  // Shorten logs because it's too large to print\n  console.log({ ...txEvent, logs: txEvent.logs.splice(0, 2) });\n};\n",
              "createdAt": "2022-10-18T12:37:10.370654Z",
              "deployRequested": false,
              "deployError": null,
              "invocationType": "SYNC"
            },
            "editable": false,
            "createdAt": "2022-10-18T12:24:51.154171Z",
            "deliveryChannels": null
          },
          {
            "id": "02a83586-aabb-45c6-9ea5-23e089879b22",
            "projectId": "cbb49e29-24ad-4cf9-8b2d-1f34a3019582",
            "name": "blacklisted-addresses",
            "description": "This Web3 Action detects transactions that involve blacklisted addresses.",
            "status": "DEPLOYED",
            "stopped": false,
            "version": {
              "id": "900f7a5f-cb71-4f46-9e82-51fded6d8691",
              "index": 3,
              "actionId": "02a83586-aabb-45c6-9ea5-23e089879b22",
              "parentActionId": "",
              "runtime": "V1",
              "function": "blacklistedAddresses:blacklistedAddressFn",
              "triggerType": "TRANSACTION",
              "trigger": {
                "type": "transaction",
                "transaction": {
                  "status": [
                    "MINED"
                  ],
                  "filter": {
                    "any": [
                      {
                        "network": [
                          "1"
                        ],
                        "status": [],
                        "value": [],
                        "gasLimit": [],
                        "gasUsed": [],
                        "fee": [],
                        "from": [
                          {
                            "exact": "0xf38b4de019aca232711d7b7abae59adc93efc3e9"
                          },
                          {
                            "exact": "0x6B175474E89094C44Da98b954EedeAC495271d0F"
                          },
                          {
                            "exact": "0xa40dfee99e1c85dc97fdc594b16a460717838703"
                          }
                        ],
                        "to": [],
                        "function": [],
                        "eventEmitted": [],
                        "logEmmitted": []
                      }
                    ],
                    "and": null
                  }
                }
              },
              "commitish": null,
              "source": "import {\n  ActionFn,\n  Context,\n  Event,\n  TransactionEvent,\n} from '@tenderly/actions';\n\n// TEST: Try manual trigger with this tx hash on Mainnet with write storage type: 0x7295b1bdfc6b277c10a4b8b6002183c005f4512a4d1537a0a81b0ff3eb6fe6c9\nexport const blacklistedAddressFn: ActionFn = async (context: Context, event: Event) => {\n  const blacklistedAddresses = [\n    '0xf38b4de019aca232711d7b7abae59adc93efc3e9',\n    '0x6B175474E89094C44Da98b954EedeAC495271d0F',\n    '0xa40dfee99e1c85dc97fdc594b16a460717838703',\n  ];\n  let txEvent = event as TransactionEvent;\n  console.log('Blacklisted Addresses:', blacklistedAddresses);\n  console.log(`Blacklisted Address: ${txEvent.from}`);\n  console.log(`Tx Hash: ${txEvent.hash}`);\n  console.log('Contains:', blacklistedAddresses.includes(txEvent.from));\n  await context.storage.putStr(`Blacklisted Address: ${txEvent.from}`, txEvent.hash);\n};\n",
              "createdAt": "2022-10-18T12:37:10.333383Z",
              "deployRequested": false,
              "deployError": null,
              "invocationType": "SYNC"
            },
            "editable": false,
            "createdAt": "2022-10-18T12:24:51.082156Z",
            "deliveryChannels": null
          }
        ]
      },
      "stop-web3-actions-payload": {
        "type": "object",
        "properties": {
          "actions": {
            "title": "actions",
            "description": "List of web3 action IDs.",
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "10fe403e-5e9a-4798-9e1f-0737dbf308d4"
            ]
          }
        },
        "required": [
          "actions"
        ],
        "example": {
          "actions": [
            "10fe403e-5e9a-4798-9e1f-0737dbf308d4"
          ]
        }
      },
      "resume-web3-actions-payload": {
        "type": "object",
        "properties": {
          "actions": {
            "title": "actions",
            "description": "List of web3 action IDs.",
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "10fe403e-5e9a-4798-9e1f-0737dbf308d4"
            ]
          }
        },
        "required": [
          "actions"
        ],
        "example": {
          "actions": [
            "10fe403e-5e9a-4798-9e1f-0737dbf308d4"
          ]
        }
      },
      "web3_action_executions_get_response": {
        "type": "array",
        "items": {},
        "title": "Get Web3 Action Executions Response",
        "description": "An object with details about web3 action executions for project.",
        "example": [
          {
            "id": "6d0b80e5-c8e6-4e1d-9625-db3031fbbffb",
            "actionId": "0f55690d-0894-4173-9714-10cc0404e09a",
            "versionId": "7052c8f8-ddc5-4c05-82c0-d69e223e0d65",
            "createdAt": "2022-12-02T10:05:03.543929Z",
            "type": "AUTOMATIC",
            "status": "SUCCEEDED",
            "statusUpdatedAt": "2022-12-02T10:05:04.334623Z",
            "payload": {
              "type": "block",
              "block": {
                "network": "1",
                "blockNumber": 16096410,
                "blockHash": "0xab703b8f4b1012e619afc61a1d98aa5e7c049aa68da32069287c1ecaaaead0b2"
              }
            },
            "storageType": "WRITE",
            "storageId": "1830efff-aa75-481e-b464-cedaf8b90960",
            "memory": 67,
            "time": 16
          },
          {
            "id": "e61c5217-c2c0-4619-abb9-5f3cac8567be",
            "actionId": "0f55690d-0894-4173-9714-10cc0404e09a",
            "versionId": "6976ab62-8654-4107-a20f-190261b42380",
            "createdAt": "2022-11-16T12:08:34.125357Z",
            "type": "AUTOMATIC",
            "status": "SKIPPED",
            "statusUpdatedAt": "2022-11-16T12:08:34.148148Z",
            "payload": {
              "type": "block",
              "block": {
                "network": "1",
                "blockNumber": 15982487,
                "blockHash": "0x1325502f0683846e459632b6e094e0bb358b66da4460820f71e90e681c43964c"
              }
            },
            "storageType": "WRITE",
            "storageId": "1830efff-aa75-481e-b464-cedaf8b90960",
            "memory": null,
            "time": null
          },
          {
            "id": "05ac3e22-0b25-4197-aea4-40d44c6695d0",
            "actionId": "0f55690d-0894-4173-9714-10cc0404e09a",
            "versionId": "6976ab62-8654-4107-a20f-190261b42380",
            "createdAt": "2022-11-16T12:08:14.172165Z",
            "type": "RERUN",
            "status": "SUCCEEDED",
            "statusUpdatedAt": "2022-11-16T12:10:54.602341Z",
            "payload": {
              "type": "block",
              "block": {
                "network": "1",
                "blockNumber": 15982486,
                "blockHash": "0xcb57d33c1d8a9dc367c065c2615dee24c9a360644391c9babfb12c2ac403a778"
              }
            },
            "storageType": "WRITE",
            "storageId": "1830efff-aa75-481e-b464-cedaf8b90960",
            "memory": 64,
            "time": 23
          },
          {
            "id": "33f55d14-e397-4885-979c-0c2287892b40",
            "actionId": "0f55690d-0894-4173-9714-10cc0404e09a",
            "versionId": "429c0af4-89f6-478d-a92b-0e41e942c76d",
            "createdAt": "2022-04-11T12:37:38.28221Z",
            "type": "AUTOMATIC",
            "status": "FAILED",
            "statusUpdatedAt": "2022-04-11T12:37:38.334044Z",
            "payload": {
              "type": "block",
              "block": {
                "network": "56",
                "blockNumber": 16852722,
                "blockHash": "0x4fbc4f07094a5b189e5b7c4f0de5e8a1d98d8b7f544c4c3ce55fea277e608990"
              }
            },
            "storageType": "WRITE",
            "storageId": "1830efff-aa75-481e-b464-cedaf8b90960",
            "memory": 61,
            "time": 2
          }
        ]
      },
      "web3-action-execution-response": {
        "type": "object",
        "properties": {
          "id": {
            "title": "id",
            "description": "ID of the Web3 Action execution.",
            "type": "string",
            "example": "4010f442-c4d9-407d-aba1-7276e3312998"
          },
          "actionId": {
            "title": "actionId",
            "description": "ID of the Web3 Action connected to this execution.",
            "type": "string",
            "example": "0f55690d-0894-4173-9714-10cc0404e09a"
          },
          "versionId": {
            "title": "versionId",
            "description": "ID of the Web3 Action version connected to this execution.",
            "type": "string",
            "example": "7052c8f8-ddc5-4c05-82c0-d69e223e0d65"
          },
          "createdAt": {
            "title": "createdAt",
            "description": "When Web3 Action execution is created.",
            "type": "string",
            "example": "2022-12-02T10:06:02.649431Z"
          },
          "type": {
            "title": "type",
            "description": "Web3 Action execution type.",
            "type": "string",
            "enum": [
              "AUTOMATIC",
              "MANUAL",
              "RERUN"
            ],
            "example": "AUTOMATIC"
          },
          "status": {
            "title": "status",
            "description": "Web3 Action execution status.",
            "type": "string",
            "enum": [
              "ENABLED",
              "DISABLED",
              "SUCCEEDED",
              "SUBMITTED",
              "SKIPPED",
              "FAILED",
              "PENDING",
              "RETRY",
              "TIMED_OUT",
              "RATE_LIMITED"
            ],
            "example": "SUCCEEDED"
          },
          "statusUpdatedAt": {
            "title": "statusUpdatedAt",
            "description": "When Web3 Action execution status is updated.",
            "type": "string",
            "example": "2022-12-02T10:06:02.815476Z"
          },
          "payload": {
            "title": "payload",
            "description": "Web3 Action execution payload.",
            "type": "object",
            "example": {
              "type": "block",
              "block": {
                "network": "1",
                "blockNumber": 16096415,
                "blockHash": "0xdf6b1f2eb10513cd8f0d9716c07daa4a67de0ecd8a23de28d8b146ceb78eb7f7",
                "blockDifficulty": "0",
                "totalDifficulty": "58750003716598352816469"
              }
            }
          },
          "storageType": {
            "title": "storageType",
            "description": "A storage type used to store Web3 Action execution.",
            "type": "string",
            "enum": [
              "COPY_ON_WRITE",
              "WRITE",
              "EMPTY"
            ],
            "example": "WRITE"
          },
          "storageId": {
            "title": "storageId",
            "description": "A storage Id used to store Web3 Action execution.",
            "type": "string",
            "example": "1830efff-aa75-481e-b464-cedaf8b90960"
          },
          "memory": {
            "title": "memory",
            "description": "Web3 Action execution memory in bytes.",
            "type": "number",
            "example": 67
          },
          "time": {
            "title": "time",
            "description": "Web3 Action execution time in milliseconds.",
            "type": "number",
            "example": 76
          },
          "parsedLogs": {
            "title": "parsedLogs",
            "description": "Parsed logs for Web3 Action execution",
            "type": "object",
            "example": {
              "lines": [
                {
                  "time": "2022-12-02T10:06:02.747Z",
                  "severity": "INFO",
                  "message": "DefaultBlockEvent {\n  network: '1',\n  blockHash: '0xdf6b1f2eb10513cd8f0d9716c07daa4a67de0ecd8a23de28d8b146ceb78eb7f7',\n  blockNumber: 16096415,\n  blockDifficulty: '0',\n  totalDifficulty: '58750003716598352816469'\n}"
                },
                {
                  "time": "2022-12-02T10:06:02.747Z",
                  "severity": "INFO",
                  "message": "blockEvent"
                }
              ]
            }
          },
          "parsedError": {
            "title": "parsedError",
            "description": "Parsed errors for Web3 Action execution",
            "type": "object",
            "example": {
              "name": "Error",
              "message": "Error in action execution",
              "stacktrace": "Error: Error in action execution\n    at actionFn (/opt/src/implementation.js:4:11)\n    at DefaultActionExecutor.execute (/opt/nodejs/executor.js:11:15)\n    at Runtime.exports.handler (/var/task/index.js:5:47)\n    at Runtime.handleOnce (/var/runtime/Runtime.js:66:25)"
            }
          }
        },
        "required": [
          "id",
          "actionId",
          "versionId",
          "createdAt",
          "type",
          "status",
          "statusUpdatedAt",
          "payload",
          "storageType",
          "storageId",
          "memory",
          "time"
        ],
        "example": {
          "id": "4010f442-c4d9-407d-aba1-7276e3312998",
          "actionId": "0f55690d-0894-4173-9714-10cc0404e09a",
          "versionId": "7052c8f8-ddc5-4c05-82c0-d69e223e0d65",
          "createdAt": "2022-12-02T10:06:02.649431Z",
          "type": "AUTOMATIC",
          "status": "SUCCEEDED",
          "statusUpdatedAt": "2022-12-02T10:06:02.815476Z",
          "payload": {
            "type": "block",
            "block": {
              "network": "1",
              "blockNumber": 16096415,
              "blockHash": "0xdf6b1f2eb10513cd8f0d9716c07daa4a67de0ecd8a23de28d8b146ceb78eb7f7",
              "blockDifficulty": "0",
              "totalDifficulty": "58750003716598352816469"
            }
          },
          "storageType": "WRITE",
          "storageId": "1830efff-aa75-481e-b464-cedaf8b90960",
          "memory": 67,
          "time": 76,
          "parsedLogs": {
            "lines": [
              {
                "time": "2022-12-02T10:06:02.747Z",
                "severity": "INFO",
                "message": "DefaultBlockEvent {\n  network: '1',\n  blockHash: '0xdf6b1f2eb10513cd8f0d9716c07daa4a67de0ecd8a23de28d8b146ceb78eb7f7',\n  blockNumber: 16096415,\n  blockDifficulty: '0',\n  totalDifficulty: '58750003716598352816469'\n}"
              },
              {
                "time": "2022-12-02T10:06:02.747Z",
                "severity": "INFO",
                "message": "blockEvent"
              }
            ]
          },
          "parsedError": null
        }
      },
      "env-environment": {
        "type": "object",
        "title": "environment",
        "description": "Multi-chain environment grouping multiple Virtual Environments across chains",
        "properties": {
          "id": {
            "title": "id",
            "description": "Unique identifier of the environment",
            "type": "string",
            "format": "uuid",
            "example": "d4e5f6a7-b8c9-0123-def1-234567890123"
          },
          "display_name": {
            "title": "display_name",
            "description": "Display name of the environment",
            "type": "string",
            "example": "My Multi-Chain Environment"
          },
          "slug": {
            "title": "slug",
            "description": "URL-safe slug for the environment",
            "type": "string",
            "example": "my-multi-chain-env"
          },
          "description": {
            "title": "description",
            "description": "Description of the environment",
            "type": "string",
            "example": "A multi-chain test environment spanning Mainnet and Optimism"
          },
          "created_at": {
            "title": "created_at",
            "description": "Timestamp when the environment was created",
            "type": "string",
            "format": "date-time",
            "example": "2024-01-15T10:30:00Z"
          },
          "updated_at": {
            "title": "updated_at",
            "description": "Timestamp when the environment was last updated",
            "type": "string",
            "format": "date-time",
            "example": "2024-01-15T12:00:00Z"
          },
          "networks": {
            "title": "networks",
            "description": "Network configurations in this environment",
            "type": "array",
            "items": {
              "type": "object",
              "title": "envNetworkConfig",
              "description": "Configuration for a single network within the environment",
              "properties": {
                "id": {
                  "title": "id",
                  "description": "Unique identifier of this network config",
                  "type": "string",
                  "format": "uuid",
                  "example": "c3d4e5f6-a7b8-9012-cdef-123456789012"
                },
                "network_id": {
                  "title": "network_id",
                  "description": "Parent chain network ID",
                  "type": "string",
                  "example": "1"
                },
                "network_name": {
                  "title": "network_name",
                  "description": "Human-readable network name",
                  "type": "string",
                  "example": "Mainnet"
                },
                "network_type": {
                  "title": "network_type",
                  "description": "Type of network (Virtual Environment fork or mirror of live network)",
                  "type": "string",
                  "enum": [
                    "vnet",
                    "network_mirror"
                  ],
                  "example": "vnet"
                },
                "block_number": {
                  "title": "block_number",
                  "description": "Fork block number (hex-encoded)",
                  "type": "string",
                  "example": "0x12c50f0"
                },
                "region": {
                  "title": "region",
                  "description": "Deployment region",
                  "type": "string",
                  "example": "eu"
                },
                "chain_config_overrides": {
                  "title": "chain_config_overrides",
                  "description": "Chain configuration overrides",
                  "type": "object",
                  "properties": {
                    "chain_id": {
                      "title": "chain_id",
                      "type": "string",
                      "example": "1"
                    }
                  }
                },
                "explorer_config": {
                  "title": "explorer_config",
                  "description": "Block explorer configuration",
                  "type": "object",
                  "properties": {
                    "enabled": {
                      "title": "enabled",
                      "type": "boolean",
                      "example": true
                    },
                    "verification_visibility": {
                      "title": "verification_visibility",
                      "type": "string",
                      "enum": [
                        "src",
                        "abi",
                        "bytecode"
                      ],
                      "example": "abi"
                    }
                  }
                },
                "accounts": {
                  "title": "accounts",
                  "description": "Pre-funded accounts on this network",
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "address": {
                        "title": "address",
                        "type": "string",
                        "example": "0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266"
                      }
                    }
                  }
                }
              }
            }
          },
          "bridge_config": {
            "title": "bridge_config",
            "description": "Cross-chain bridge configuration",
            "type": "object",
            "properties": {
              "enabled": {
                "title": "enabled",
                "type": "boolean",
                "example": true
              },
              "relay_mode": {
                "title": "relay_mode",
                "type": "string",
                "enum": [
                  "autoRelay",
                  "delayedRelay"
                ],
                "example": "autoRelay"
              },
              "delay_seconds": {
                "title": "delay_seconds",
                "type": "integer",
                "example": 0
              }
            }
          },
          "active_instance": {
            "title": "active_instance",
            "description": "The currently active instance of this environment",
            "type": "object",
            "properties": {
              "id": {
                "title": "id",
                "description": "Unique identifier of the instance",
                "type": "string",
                "format": "uuid",
                "example": "b2c3d4e5-f6a7-8901-bcde-f12345678901"
              },
              "created_at": {
                "title": "created_at",
                "type": "string",
                "format": "date-time",
                "example": "2024-01-15T10:30:00Z"
              },
              "updated_at": {
                "title": "updated_at",
                "type": "string",
                "format": "date-time",
                "example": "2024-01-15T12:00:00Z"
              },
              "bridge_config": {
                "title": "bridge_config",
                "description": "Bridge configuration for this instance",
                "type": "object",
                "properties": {
                  "enabled": {
                    "type": "boolean",
                    "example": true
                  },
                  "relay_mode": {
                    "type": "string",
                    "enum": [
                      "autoRelay",
                      "delayedRelay"
                    ],
                    "example": "autoRelay"
                  },
                  "delay_seconds": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "vnets": {
                "title": "vnets",
                "description": "Virtual Environments in this instance, one per network config",
                "type": "array",
                "items": {
                  "type": "object",
                  "title": "envVnet",
                  "description": "Virtual Environment within an environment instance",
                  "properties": {
                    "id": {
                      "title": "id",
                      "type": "string",
                      "format": "uuid",
                      "example": "4010f442-c4d9-407d-aba1-7276e3312998"
                    },
                    "display_name": {
                      "title": "display_name",
                      "type": "string",
                      "example": "My Vnet 123"
                    },
                    "slug": {
                      "title": "slug",
                      "type": "string",
                      "example": "my-vnet-123"
                    },
                    "description": {
                      "title": "description",
                      "type": "string",
                      "example": "This is a description of my Vnet"
                    },
                    "status": {
                      "title": "status",
                      "type": "string",
                      "enum": [
                        "running",
                        "stopped",
                        "cloning",
                        "provision_failed"
                      ],
                      "example": "running"
                    },
                    "created_at": {
                      "title": "created_at",
                      "type": "string",
                      "format": "date-time",
                      "example": "2024-01-15T10:30:00Z"
                    },
                    "rpcs": {
                      "title": "rpcs",
                      "description": "RPC endpoints for this Virtual Environment",
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "name": {
                            "title": "name",
                            "type": "string",
                            "example": "Admin RPC"
                          },
                          "url": {
                            "title": "url",
                            "type": "string",
                            "example": "https://virtual.mainnet.rpc.tenderly.co/tenderly/my-project/my-multi-chain-env-9e7edf81"
                          }
                        }
                      }
                    },
                    "fork_config": {
                      "title": "fork_config",
                      "description": "Fork configuration for this Virtual Environment",
                      "type": "object",
                      "properties": {
                        "network_id": {
                          "title": "network_id",
                          "type": "integer",
                          "example": 1
                        },
                        "block_number": {
                          "title": "block_number",
                          "type": "string",
                          "example": "0x12c50f0"
                        }
                      }
                    },
                    "virtual_network_config": {
                      "title": "virtual_network_config",
                      "description": "Virtual network configuration",
                      "type": "object",
                      "properties": {
                        "chain_config": {
                          "title": "chain_config",
                          "type": "object",
                          "properties": {
                            "chain_id": {
                              "title": "chain_id",
                              "type": "integer",
                              "example": 1
                            }
                          }
                        },
                        "base_fee_per_gas": {
                          "title": "base_fee_per_gas",
                          "type": "integer",
                          "example": 1
                        },
                        "accounts": {
                          "title": "accounts",
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "address": {
                                "type": "string",
                                "example": "0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266"
                              }
                            }
                          }
                        }
                      }
                    },
                    "rpc_config": {
                      "title": "rpc_config",
                      "description": "RPC endpoint configuration",
                      "type": "object",
                      "properties": {
                        "rpc_name": {
                          "title": "rpc_name",
                          "type": "object",
                          "properties": {
                            "name": {
                              "title": "name",
                              "type": "string",
                              "example": "e2e-tests-example"
                            },
                            "suffix": {
                              "title": "suffix",
                              "type": "string",
                              "example": "9e7edf81-f6c2-49c2-855f-242ff9a6b09a"
                            }
                          }
                        },
                        "rpc_persistence_config": {
                          "title": "rpc_persistence_config",
                          "description": "RPC method persistence configuration",
                          "type": "object",
                          "properties": {
                            "methods": {
                              "title": "methods",
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "method": {
                                    "title": "method",
                                    "description": "RPC method to persist state for",
                                    "type": "string",
                                    "example": "tenderly_simulateTransaction"
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    },
                    "runtime_config": {
                      "title": "runtime_config",
                      "description": "Runtime lifecycle configuration",
                      "type": "object",
                      "properties": {
                        "running_duration": {
                          "title": "running_duration",
                          "description": "Duration in seconds the Virtual Environment will stay running before shutting down",
                          "type": "integer",
                          "example": 3600
                        }
                      }
                    },
                    "sync_state_config": {
                      "title": "sync_state_config",
                      "description": "Live chain state synchronization configuration",
                      "type": "object",
                      "properties": {
                        "enabled": {
                          "title": "enabled",
                          "type": "boolean",
                          "example": true
                        }
                      }
                    },
                    "explorer_page_config": {
                      "title": "explorer_page_config",
                      "description": "Block explorer page configuration",
                      "type": "object",
                      "properties": {
                        "enabled": {
                          "title": "enabled",
                          "type": "boolean",
                          "example": true
                        },
                        "verification_visibility": {
                          "title": "verification_visibility",
                          "type": "string",
                          "enum": [
                            "src",
                            "abi",
                            "bytecode"
                          ],
                          "example": "abi"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "env-environments-list": {
        "type": "array",
        "title": "environmentsList",
        "description": "List of environments",
        "items": {
          "$ref": "#/components/schemas/env-environment"
        }
      },
      "env-create-environment-request": {
        "type": "object",
        "title": "createEnvironmentRequest",
        "description": "Request body for creating a new multi-chain environment",
        "required": [
          "display_name",
          "network_configs"
        ],
        "properties": {
          "display_name": {
            "title": "display_name",
            "description": "Display name of the environment",
            "type": "string",
            "example": "My Multi-Chain Environment"
          },
          "slug": {
            "title": "slug",
            "description": "URL-safe slug for the environment. Auto-generated from display_name if omitted.",
            "type": "string",
            "example": "my-multi-chain-env"
          },
          "network_configs": {
            "title": "network_configs",
            "description": "List of network configurations for this environment",
            "type": "array",
            "items": {
              "type": "object",
              "title": "envNetworkConfig",
              "description": "Configuration for a single network within the environment",
              "required": [
                "network_id"
              ],
              "properties": {
                "network_id": {
                  "title": "network_id",
                  "description": "The parent network ID to fork",
                  "type": "string",
                  "example": "1"
                },
                "block_number": {
                  "title": "block_number",
                  "description": "Block number to fork at (hex-encoded). Latest block is used if omitted.",
                  "type": "string",
                  "example": "0x12c50f0"
                },
                "chain_config_overrides": {
                  "title": "chain_config_overrides",
                  "description": "Override chain configuration parameters",
                  "type": "object",
                  "properties": {
                    "chain_id": {
                      "title": "chain_id",
                      "description": "Override the chain ID",
                      "type": "string",
                      "example": "1"
                    }
                  }
                },
                "explorer_config": {
                  "title": "explorer_config",
                  "description": "Configuration for the block explorer integration",
                  "type": "object",
                  "properties": {
                    "enabled": {
                      "title": "enabled",
                      "description": "Whether the explorer is enabled",
                      "type": "boolean",
                      "example": true
                    },
                    "verification_visibility": {
                      "title": "verification_visibility",
                      "description": "Visibility level of contract source verification",
                      "type": "string",
                      "enum": [
                        "src",
                        "abi",
                        "bytecode"
                      ],
                      "example": "abi"
                    }
                  }
                },
                "accounts": {
                  "title": "accounts",
                  "description": "Pre-funded accounts for this network",
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "address": {
                        "title": "address",
                        "description": "Account address (hex-encoded)",
                        "type": "string",
                        "example": "0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266"
                      },
                      "balance": {
                        "title": "balance",
                        "description": "Initial balance in Wei (hex-encoded)",
                        "type": "string",
                        "example": "0xde0b6b3a7640000"
                      }
                    }
                  }
                }
              }
            }
          },
          "bridge_config": {
            "title": "bridge_config",
            "description": "Cross-chain bridge configuration for the environment",
            "type": "object",
            "properties": {
              "enabled": {
                "title": "enabled",
                "description": "Whether cross-chain bridging is enabled",
                "type": "boolean",
                "example": true
              },
              "relay_mode": {
                "title": "relay_mode",
                "description": "Bridge relay mode. autoRelay processes bridge messages automatically; delayedRelay holds them until manually triggered.",
                "type": "string",
                "enum": [
                  "autoRelay",
                  "delayedRelay"
                ],
                "example": "autoRelay"
              },
              "delay_seconds": {
                "title": "delay_seconds",
                "description": "Delay in seconds before bridged messages are relayed (used with delayedRelay)",
                "type": "integer",
                "example": 0
              }
            }
          }
        }
      },
      "env-batch-delete-environments-request": {
        "type": "object",
        "title": "batchDeleteEnvironmentsRequest",
        "description": "Request body for batch-deleting environments",
        "required": [
          "environment_ids"
        ],
        "properties": {
          "environment_ids": {
            "title": "environment_ids",
            "description": "List of environment IDs to delete",
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "example": [
              "d4e5f6a7-b8c9-0123-def1-234567890123",
              "e5f6a7b8-c9d0-1234-ef12-345678901234"
            ]
          }
        }
      },
      "block-overrides": {
        "type": "object",
        "title": "blockOverrides",
        "description": "Overrides for block data",
        "properties": {
          "number": {
            "title": "number",
            "description": "Overrides the block number",
            "type": "string",
            "example": "0x124214"
          },
          "time": {
            "title": "time",
            "description": "Overrides the block timestamp. Time is applied only when it is non-zero.",
            "type": "string",
            "example": "0x124124"
          },
          "baseFee": {
            "title": "baseFee",
            "description": "Overrides the block base fee",
            "type": "string",
            "example": "0x0"
          },
          "gasLimit": {
            "title": "gasLimit",
            "description": "Overrides the block gas limit",
            "type": "string",
            "example": "0x1241"
          },
          "difficulty": {
            "title": "difficulty",
            "description": "Overrides the block difficulty",
            "type": "string",
            "example": "0x1"
          },
          "random": {
            "title": "random",
            "description": "Overrides the block extra data which feeds into the RANDOM opcode",
            "type": "string",
            "example": "0x0000000000000000000000000000000000000000000000000000000000000000"
          },
          "coinbase": {
            "title": "coinbase",
            "description": "Overrides the block coinbase",
            "type": "string",
            "example": "0x0000000000000000000000000000000000000000"
          },
          "blobGasUsed": {
            "title": "blobGasUsed",
            "description": "Overrides the block used blob gas (EIP-4844)",
            "type": "string",
            "example": "0x1"
          },
          "excessBlobGas": {
            "title": "excessBlobGas",
            "description": "Overrides the block base blob gas fee (EIP-4844)",
            "type": "string",
            "example": "0x1"
          }
        },
        "example": {
          "number": "0x124214",
          "time": "0x124124"
        }
      },
      "vnet-transaction-response": {
        "type": "object",
        "properties": {
          "id": {
            "title": "id",
            "description": "Unique identifier of the transaction.",
            "type": "string",
            "example": "4010f442-c4d9-407d-aba1-7276e3312998"
          },
          "vnet_id": {
            "title": "vnet_id",
            "description": "Identifier of the Virtual Environment.",
            "type": "string",
            "example": "4010f442-c4d9-407d-aba1-7276e3312998"
          },
          "origin": {
            "title": "origin",
            "description": "Origin of the transaction.",
            "type": "string",
            "enum": [
              "rpc",
              "copy",
              "api",
              "system",
              "dashboard",
              "cli",
              "sdk"
            ],
            "example": "rpc"
          },
          "category": {
            "title": "category",
            "description": "Category of the transaction.",
            "type": "string",
            "enum": [
              "write",
              "read",
              "compute",
              "subscribe",
              "config",
              "chain_sync"
            ],
            "example": "write"
          },
          "kind": {
            "title": "kind",
            "description": "Kind of transaction.",
            "type": "string",
            "enum": [
              "simulation",
              "blockchain",
              "fixture",
              "cheatcode",
              "cheatcode_faucet",
              "internal",
              "sync",
              "chain_sync"
            ],
            "example": "blockchain"
          },
          "status": {
            "title": "status",
            "description": "Status of the transaction.",
            "type": "string",
            "enum": [
              "success",
              "failed",
              "pending",
              "unknown"
            ],
            "example": "success"
          },
          "error_reason": {
            "title": "error_reason",
            "description": "Reason for the error. Null if no error.",
            "type": [
              "string",
              "null"
            ],
            "example": "execution reverted"
          },
          "reverted": {
            "title": "reverted",
            "description": "True if the transaction was reverted using evm_revert rpc method.",
            "type": "boolean",
            "example": false
          },
          "rpc_method": {
            "title": "rpc_method",
            "description": "RPC method used to create the transaction.",
            "type": "string",
            "example": "eth_sendTransaction"
          },
          "created_at": {
            "title": "created_at",
            "description": "Timestamp when the transaction was created.",
            "type": "string",
            "format": "date-time",
            "example": "2024-04-21T12:00:00Z"
          },
          "dashboard_url": {
            "title": "dashboard_url",
            "description": "URL to the transaction in the Tenderly dashboard.",
            "type": "string",
            "example": "https://dashboard.tenderly.co/transactions/4010f442-c4d9-407d-aba1-7276e3312998"
          },
          "public_explorer_url": {
            "title": "public_explorer_url",
            "description": "URL to the transaction in the public explorer. Only present if public explorer page is enabled.",
            "type": "string",
            "example": "https://explorer.tenderly.co/transactions/4010f442-c4d9-407d-aba1-7276e3312998"
          },
          "block_number": {
            "title": "block_number",
            "description": "Block number of the transaction.",
            "type": "string",
            "example": "0x12c50f0"
          },
          "block_hash": {
            "title": "block_hash",
            "description": "Hash of the block containing the transaction.",
            "type": "string",
            "example": "0xe28d8b295d236f85db34dc12982f5235e361101a26cf35f4be798fb000997194"
          },
          "tx_hash": {
            "title": "tx_hash",
            "description": "Hash of the transaction.",
            "type": "string",
            "example": "0x0288ab91522c19cd1589eb73b86f4b874c52ed39cdce1ba7cef790f314c4523f"
          },
          "tx_index": {
            "title": "tx_index",
            "description": "Index of the transaction within the block.",
            "type": "string",
            "example": "0x0"
          },
          "from": {
            "title": "from",
            "description": "Sender address of the transaction.",
            "type": "string",
            "example": "0xfa78a211f7df670338daed1f96177c9fe154fcb1"
          },
          "to": {
            "title": "to",
            "description": "Receiver address of the transaction.",
            "type": "string",
            "example": "0x6c8b8870c415f3b2d5fe0cd61e9c6960bad8e0c9"
          },
          "input": {
            "title": "input",
            "description": "Input data of the transaction.",
            "type": "string",
            "example": "0x805e1f53"
          },
          "nonce": {
            "title": "nonce",
            "description": "Nonce of the transaction.",
            "type": "string",
            "example": "0x15"
          },
          "value": {
            "title": "value",
            "description": "Value of the transaction.",
            "type": "string",
            "example": "0x0"
          },
          "gas": {
            "title": "gas",
            "description": "Gas of the transaction.",
            "type": "string",
            "example": "0x5208"
          },
          "gas_price": {
            "title": "gas_price",
            "description": "Gas price of the transaction.",
            "type": "string",
            "example": "0x3b9aca00"
          },
          "max_priority_fee_per_gas": {
            "title": "max_priority_fee_per_gas",
            "description": "Maximum priority fee per gas of the transaction.",
            "type": "string",
            "example": "0x0"
          },
          "max_fee_per_gas": {
            "title": "max_fee_per_gas",
            "description": "Maximum fee per gas of the transaction.",
            "type": "string",
            "example": "0x0"
          },
          "type": {
            "title": "type",
            "description": "Type of the transaction.",
            "type": "string",
            "example": "1"
          },
          "block_overrides": {
            "title": "block_overrides",
            "description": "Overrides for block data",
            "$ref": "#/components/schemas/block-overrides"
          },
          "function_name": {
            "title": "function_name",
            "description": "Name of the function invoked by the transaction.",
            "type": "string",
            "example": "mint"
          }
        },
        "example": {
          "id": "a3235752-0f5a-4d32-8e43-e7629a9f7462",
          "vnet_id": "d6cf4c06-24c3-4841-9a85-e77ed341d8e2",
          "origin": "rpc",
          "category": "write",
          "kind": "cheatcode",
          "status": "success",
          "error_reason": null,
          "reverted": false,
          "rpc_method": "hardhat_mine",
          "created_at": "2024-04-19T12:21:48.373698Z",
          "dashboard_url": "https://dashboard.tenderly.co/transactions/a3235752-0f5a-4d32-8e43-e7629a9f7462",
          "block_number": "0x12c5113",
          "block_hash": "0xe28d8b295d236f85db34dc12982f5235e361101a26cf35f4be798fb000997194",
          "tx_hash": "0x0288ab91522c19cd1589eb73b86f4b874c52ed39cdce1ba7cef790f314c4523f",
          "tx_index": "0x0",
          "from": "0xfa78a211f7df670338daed1f96177c9fe154fcb1",
          "to": "0x6c8b8870c415f3b2d5fe0cd61e9c6960bad8e0c9",
          "input": "0x071e9503000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000a",
          "nonce": "0x15",
          "value": "0x0",
          "gas": "0xc0dec0de",
          "gas_price": "0x0",
          "max_priority_fee_per_gas": "0x0",
          "max_fee_per_gas": "0x0",
          "type": "0x0",
          "function_name": "mint"
        }
      },
      "vnet-transactions-response": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/vnet-transaction-response"
        }
      },
      "call-args": {
        "type": "object",
        "title": "callArgs",
        "description": "Transaction call arguments",
        "properties": {
          "from": {
            "title": "from",
            "description": "Address the transaction is sent from",
            "type": "string",
            "example": "0xe2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2"
          },
          "to": {
            "title": "to",
            "description": "Address the transaction is directed to",
            "type": "string",
            "example": "0x6b175474e89094c44da98b954eedeac495271d0f"
          },
          "gas": {
            "title": "gas",
            "description": "Gas limit for the transaction execution (hex-encoded)",
            "type": "string",
            "example": "0x7a1200"
          },
          "gasPrice": {
            "title": "gasPrice",
            "description": "Gas price in Wei (hex-encoded)",
            "type": "string",
            "example": "0x10"
          },
          "maxFeePerGas": {
            "title": "maxFeePerGas",
            "description": "Maximum fee per gas in Wei (hex-encoded, EIP-1559)",
            "type": "string",
            "example": "0x10"
          },
          "maxPriorityFeePerGas": {
            "title": "maxPriorityFeePerGas",
            "description": "Maximum priority fee per gas in Wei (hex-encoded, EIP-1559)",
            "type": "string",
            "example": "0x10"
          },
          "maxFeePerBlobGas": {
            "title": "maxFeePerBlobGas",
            "description": "Maximum fee per blob gas in Wei (hex-encoded, EIP-4844)",
            "type": "string",
            "example": "0x10"
          },
          "value": {
            "title": "value",
            "description": "Value transferred in Wei (hex-encoded)",
            "type": "string",
            "example": "0x3215fa"
          },
          "data": {
            "title": "data",
            "description": "Hex-encoded calldata",
            "type": "string",
            "example": "0x095ea7b3000000000000000000000000f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1000000000000000000000000000000000000000000000000000000000000012b"
          },
          "input": {
            "title": "input",
            "description": "Hex-encoded calldata (alias for `data`)",
            "type": "string",
            "example": "0x095ea7b3000000000000000000000000f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1000000000000000000000000000000000000000000000000000000000000012b"
          },
          "type": {
            "title": "type",
            "description": "Transaction type (hex-encoded)",
            "type": "string",
            "example": "0x1"
          },
          "accessList": {
            "title": "accessList",
            "description": "EIP-2930 access list",
            "type": "array",
            "items": {
              "type": "object",
              "title": "accessTuple",
              "description": "Access list entry",
              "properties": {
                "address": {
                  "title": "address",
                  "description": "Address accessed by the transaction",
                  "type": "string",
                  "example": "0x3F41a1CFd3C8B8d9c162dE0f42307a0095A6e5DF"
                },
                "storageKeys": {
                  "title": "storageKeys",
                  "description": "Storage keys accessed by the transaction",
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "example": [
                    "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef",
                    "0xabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcd"
                  ]
                }
              }
            }
          },
          "blobVersionedHashes": {
            "title": "blobVersionedHashes",
            "description": "Versioned hashes of blobs attached to the transaction (EIP-4844)",
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef",
              "0xabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcd"
            ]
          },
          "nonce": {
            "title": "nonce",
            "description": "Transaction nonce. Required for AA transactions (type 0x76/0x77) because the signature hash includes nonce.",
            "type": "integer",
            "example": 21
          },
          "nonceKey": {
            "title": "nonceKey",
            "description": "2D nonce key for parallelizable transactions",
            "type": "string",
            "example": "0x0"
          },
          "authorizationList": {
            "title": "authorizationList",
            "description": "EIP-7702 authorization list",
            "type": "array",
            "items": {
              "type": "object",
              "title": "setCodeAuthorization",
              "properties": {
                "address": {
                  "title": "address",
                  "description": "Address of the contract to authorize",
                  "type": "string",
                  "example": "0x6b175474e89094c44da98b954eedeac495271d0f"
                },
                "authority": {
                  "title": "authority",
                  "description": "Authority address",
                  "type": "string",
                  "example": "0xe2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2"
                },
                "chainId": {
                  "title": "chainId",
                  "type": "string",
                  "example": "0x1"
                },
                "nonce": {
                  "title": "nonce",
                  "type": "string",
                  "example": "0x0"
                },
                "r": {
                  "title": "r",
                  "type": "string",
                  "example": "0x1234"
                },
                "s": {
                  "title": "s",
                  "type": "string",
                  "example": "0x5678"
                },
                "yParity": {
                  "title": "yParity",
                  "type": "string",
                  "example": "0x0"
                }
              }
            }
          },
          "validAfter": {
            "title": "validAfter",
            "description": "Unix timestamp after which the transaction becomes valid (for scheduled transactions)",
            "type": "integer",
            "example": 0
          },
          "validBefore": {
            "title": "validBefore",
            "description": "Unix timestamp before which the transaction is valid (for scheduled transactions)",
            "type": "integer",
            "example": 0
          },
          "calls": {
            "title": "calls",
            "description": "Batched calls for Account Abstraction transactions (type 0x76). Each entry represents a single call within the batch.",
            "type": "array",
            "items": {
              "type": "object",
              "title": "aaCall",
              "properties": {
                "to": {
                  "title": "to",
                  "description": "Target contract address (hex-encoded)",
                  "type": "string",
                  "example": "0x6b175474e89094c44da98b954eedeac495271d0f"
                },
                "input": {
                  "title": "input",
                  "description": "ABI-encoded calldata",
                  "type": "string",
                  "example": "0xa9059cbb000000000000000000000000f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f10000000000000000000000000000000000000000000000000de0b6b3a7640000"
                },
                "value": {
                  "title": "value",
                  "description": "Value in Wei (hex-encoded)",
                  "type": "string",
                  "example": "0x0"
                }
              }
            }
          },
          "feePayer": {
            "title": "feePayer",
            "description": "Sponsor address for gas sponsorship (hex-encoded)",
            "type": "string",
            "example": "0xe2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2"
          },
          "feeToken": {
            "title": "feeToken",
            "description": "ERC-20 token address used for gas payment; null for native token (hex-encoded)",
            "type": "string",
            "example": "0x6b175474e89094c44da98b954eedeac495271d0f"
          },
          "feePayerSignature": {
            "title": "feePayerSignature",
            "description": "Fee payer's signature for sponsored transactions",
            "type": "object",
            "properties": {
              "raw": {
                "title": "raw",
                "description": "Signature bytes as hex string",
                "type": "string",
                "example": "0xabcdef..."
              },
              "structured": {
                "title": "structured",
                "description": "Secp256k1 signature components",
                "type": "object",
                "properties": {
                  "r": {
                    "type": "string",
                    "example": "0x1234"
                  },
                  "s": {
                    "type": "string",
                    "example": "0x5678"
                  },
                  "yParity": {
                    "type": "string",
                    "example": "0x0"
                  }
                }
              }
            }
          },
          "eip712Meta": {
            "title": "eip712Meta",
            "description": "zkSync L2 transaction meta fields (EIP-712)",
            "type": "object",
            "properties": {
              "gasPerPubdata": {
                "title": "gasPerPubdata",
                "description": "Gas cost per byte of pubdata",
                "type": "string",
                "example": "0x320"
              },
              "customSignature": {
                "title": "customSignature",
                "description": "Custom signature bytes (base64-encoded)",
                "type": "string"
              },
              "factoryDeps": {
                "title": "factoryDeps",
                "description": "Array of bytecodes for contract factory dependencies (base64-encoded)",
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "paymasterParams": {
                "title": "paymasterParams",
                "description": "Paymaster parameters for zkSync",
                "type": "object",
                "properties": {
                  "paymaster": {
                    "description": "Paymaster address (base64-encoded bytes)",
                    "type": "string"
                  },
                  "paymasterInput": {
                    "description": "Paymaster input data (base64-encoded bytes)",
                    "type": "string"
                  }
                }
              }
            }
          },
          "signature": {
            "title": "signature",
            "description": "Main AA transaction signature (for type 0x76/0x77)",
            "type": "object",
            "properties": {
              "type": {
                "title": "type",
                "description": "Signature type (0 = secp256k1, 1 = P256, 2 = WebAuthn)",
                "type": "integer",
                "enum": [
                  0,
                  1,
                  2
                ],
                "example": 0
              },
              "r": {
                "title": "r",
                "description": "Signature r component (32 bytes, hex-encoded)",
                "type": "string",
                "example": "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"
              },
              "s": {
                "title": "s",
                "description": "Signature s component (32 bytes, hex-encoded)",
                "type": "string",
                "example": "0xabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcd"
              },
              "v": {
                "title": "v",
                "description": "Recovery byte for secp256k1 signatures",
                "type": "integer",
                "example": 27
              }
            }
          }
        }
      },
      "state-override-vnet": {
        "type": "object",
        "description": "Overrides of account state. In this mapping, the **key** is the address of the account, and the **value** contains the override.",
        "additionalProperties": {
          "type": "object",
          "title": "accountOverride",
          "description": "Override of a single account's state",
          "properties": {
            "nonce": {
              "title": "nonce",
              "description": "Nonce override (hex-encoded)",
              "type": "string",
              "example": "0x1"
            },
            "code": {
              "title": "code",
              "description": "Bytecode that will override the **code** associated to the given account",
              "type": "string",
              "example": "0x0000000000000000000000000000000"
            },
            "balance": {
              "title": "balance",
              "description": "Balance in hex format (e.g. \"0x113b9aca01\")",
              "type": "string",
              "example": "0x113b9aca01"
            },
            "stateDiff": {
              "title": "stateDiff",
              "description": "Overrides of storage slots. In this mapping, the **key** is the variable storage slot, and the **value** contains the override.",
              "type": "object",
              "additionalProperties": {
                "type": "string"
              }
            }
          }
        }
      },
      "vnet-transaction-payload": {
        "type": "object",
        "properties": {
          "callArgs": {
            "title": "callArgs",
            "description": "Transaction call arguments",
            "$ref": "#/components/schemas/call-args"
          },
          "blockOverrides": {
            "title": "blockOverrides",
            "description": "Overrides for block data",
            "$ref": "#/components/schemas/block-overrides"
          },
          "stateOverrides": {
            "type": "object",
            "title": "stateOverrides",
            "$ref": "#/components/schemas/state-override-vnet"
          }
        },
        "required": [
          "callArgs"
        ],
        "example": {
          "callArgs": {
            "from": "0xb5f45E52649123117C175B2016Ed3fCd26f9bE06",
            "to": "0xe5f48e692e0e12c04d5c15bbb54e8a8e5fc87589",
            "gas": "0x7a1200",
            "gasPrice": "0x0",
            "value": "0x0",
            "data": "0x6a761202000000000000000000000000b4f1737af37711e9a5890d9510c9bb60e170cb0d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000000000000000000000000000000000000000044a9059cbb000000000000000000000000d385a69be7506be3920e2d66611db370218839980000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041000000000000000000000000b5f45e52649123117c175b2016ed3fcd26f9be0600000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000"
          },
          "stateOverrides": {
            "0xe5f48e692e0e12c04d5c15bbb54e8a8e5fc87589": {
              "balance": "0x124125",
              "stateDiff": {
                "0x0000000000000000000000000000000000000000000000000000000000000004": "0x0000000000000000000000000000000000000000000000000000000000000001",
                "0x0000000000000000000000000000000000000000000000000000000000000005": "0x0000000000000000000000000000000000000000000000000000000000000002"
              }
            }
          },
          "blockOverrides": {
            "number": "0x143722873",
            "time": "0x124124"
          }
        }
      },
      "vnet-simulation-payload": {
        "type": "object",
        "properties": {
          "callArgs": {
            "title": "callArgs",
            "description": "Transaction call arguments",
            "$ref": "#/components/schemas/call-args"
          },
          "blockNumber": {
            "type": "string",
            "title": "blockNumber",
            "description": "Block number on which the transaction is simulated (hex-encoded)",
            "example": "0x151924A"
          },
          "blockOverrides": {
            "title": "blockOverrides",
            "description": "Overrides for block data",
            "$ref": "#/components/schemas/block-overrides"
          },
          "stateOverrides": {
            "type": "object",
            "title": "stateOverrides",
            "$ref": "#/components/schemas/state-override-vnet"
          }
        },
        "required": [
          "callArgs",
          "blockNumber"
        ],
        "example": {
          "callArgs": {
            "from": "0xe2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2",
            "to": "0x6b175474e89094c44da98b954eedeac495271d0f",
            "gas": "0x7a1200",
            "gasPrice": "0x0",
            "value": "0x0",
            "data": "0x095ea7b3000000000000000000000000f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1000000000000000000000000000000000000000000000000000000000000012b"
          },
          "blockNumber": "0x124214",
          "blockOverrides": {
            "number": "0x124214",
            "time": "0x124124"
          },
          "stateOverrides": {
            "0x3F41a1CFd3C8B8d9c162dE0f42307a0095A6e5DF": {
              "balance": "0x124125"
            }
          }
        }
      },
      "env-simulate-execution-response": {
        "type": "object",
        "title": "simulateExecutionResponse",
        "description": "Result of simulating a transaction on an environment Virtual Environment",
        "properties": {
          "blockNumber": {
            "title": "blockNumber",
            "description": "Block number on which the simulation was executed (hex-encoded)",
            "type": "string",
            "example": "0xfc497b"
          },
          "cumulativeGasUsed": {
            "title": "cumulativeGasUsed",
            "description": "Cumulative gas used up to and including this transaction in the block (hex-encoded)",
            "type": "string",
            "example": "0x10"
          },
          "gasUsed": {
            "title": "gasUsed",
            "description": "Gas consumed by this transaction (hex-encoded)",
            "type": "string",
            "example": "0xb412"
          },
          "status": {
            "title": "status",
            "description": "Whether the simulated transaction succeeded",
            "type": "boolean",
            "example": true
          },
          "type": {
            "title": "type",
            "description": "Transaction type (hex-encoded)",
            "type": "string",
            "example": "0x0"
          },
          "logsBloom": {
            "title": "logsBloom",
            "description": "Bloom filter of all logs emitted during simulation (hex-encoded)",
            "type": "string",
            "example": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
          },
          "metadata": {
            "title": "metadata",
            "description": "Simulation metadata",
            "type": "object",
            "properties": {
              "id": {
                "title": "id",
                "description": "Simulation metadata ID",
                "type": "string",
                "example": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
              }
            }
          },
          "logs": {
            "title": "logs",
            "description": "ABI-decoded logs emitted during simulation",
            "type": "array",
            "items": {
              "type": "object",
              "title": "decodedLog",
              "properties": {
                "name": {
                  "title": "name",
                  "description": "Event name",
                  "type": "string",
                  "example": "Transfer"
                },
                "anonymous": {
                  "title": "anonymous",
                  "description": "Whether the event is anonymous (no signature topic)",
                  "type": "boolean",
                  "example": false
                },
                "raw": {
                  "title": "raw",
                  "description": "Raw log data",
                  "type": "object",
                  "properties": {
                    "address": {
                      "title": "address",
                      "description": "Contract address that emitted the log",
                      "type": "string",
                      "example": "0x6b175474e89094c44da98b954eedeac495271d0f"
                    },
                    "data": {
                      "title": "data",
                      "description": "Non-indexed log data (hex-encoded)",
                      "type": "string",
                      "example": "0x0000000000000000000000000000000000000000000000000de0b6b3a7640000"
                    },
                    "topics": {
                      "title": "topics",
                      "description": "Indexed log topics",
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "example": [
                        "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
                        "0x000000000000000000000000fa78a211f7df670338daed1f96177c9fe154fcb1",
                        "0x0000000000000000000000006c8b8870c415f3b2d5fe0cd61e9c6960bad8e0c9"
                      ]
                    }
                  }
                },
                "inputs": {
                  "title": "inputs",
                  "description": "Decoded event parameters",
                  "type": "array",
                  "items": {
                    "type": "object",
                    "title": "decodedArgument",
                    "properties": {
                      "name": {
                        "title": "name",
                        "type": "string",
                        "example": "from"
                      },
                      "type": {
                        "title": "type",
                        "type": "string",
                        "example": "address"
                      },
                      "value": {
                        "title": "value",
                        "description": "Decoded parameter value"
                      },
                      "indexed": {
                        "title": "indexed",
                        "description": "Whether this parameter is indexed (appears in topics)",
                        "type": "boolean",
                        "example": true
                      }
                    }
                  }
                }
              }
            }
          },
          "trace": {
            "title": "trace",
            "description": "Execution trace call tree",
            "type": "array",
            "items": {
              "type": "object",
              "title": "traceResponse",
              "properties": {
                "from": {
                  "title": "from",
                  "description": "Caller address",
                  "type": "string",
                  "example": "0xfa78a211f7df670338daed1f96177c9fe154fcb1"
                },
                "to": {
                  "title": "to",
                  "description": "Callee address",
                  "type": "string",
                  "example": "0x6b175474e89094c44da98b954eedeac495271d0f"
                },
                "address": {
                  "title": "address",
                  "description": "Contract address (for CREATE calls)",
                  "type": "string",
                  "example": "0x6b175474e89094c44da98b954eedeac495271d0f"
                },
                "balance": {
                  "title": "balance",
                  "description": "Balance transferred (for SELFDESTRUCT)",
                  "type": "string",
                  "example": "0x0"
                },
                "gas": {
                  "title": "gas",
                  "description": "Gas provided to this call (hex-encoded)",
                  "type": "string",
                  "example": "0x6f18c5"
                },
                "gasUsed": {
                  "title": "gasUsed",
                  "description": "Gas consumed by this call (hex-encoded)",
                  "type": "string",
                  "example": "0x6da1"
                },
                "input": {
                  "title": "input",
                  "description": "Input data for this call (hex-encoded)",
                  "type": "string",
                  "example": "0xa9059cbb000000000000000000000000f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f10000000000000000000000000000000000000000000000000de0b6b3a7640000"
                },
                "output": {
                  "title": "output",
                  "description": "Return data from this call (hex-encoded)",
                  "type": "string",
                  "example": "0x0000000000000000000000000000000000000000000000000000000000000001"
                },
                "method": {
                  "title": "method",
                  "description": "Decoded function name",
                  "type": "string",
                  "example": "transfer"
                },
                "error": {
                  "title": "error",
                  "description": "Error type if the call reverted",
                  "type": "string",
                  "example": "Revert"
                },
                "errorReason": {
                  "title": "errorReason",
                  "description": "Human-readable revert reason",
                  "type": "string",
                  "example": "ERC20: transfer amount exceeds balance"
                },
                "refundAddress": {
                  "title": "refundAddress",
                  "description": "Address receiving the gas refund (for SELFDESTRUCT)",
                  "type": "string",
                  "example": "0xfa78a211f7df670338daed1f96177c9fe154fcb1"
                },
                "subtraces": {
                  "title": "subtraces",
                  "description": "Number of child calls made by this call",
                  "type": "integer",
                  "example": 1
                },
                "type": {
                  "title": "type",
                  "description": "Call type (CALL, STATICCALL, DELEGATECALL, CREATE, CREATE2, SELFDESTRUCT)",
                  "type": "string",
                  "example": "CALL"
                },
                "value": {
                  "title": "value",
                  "description": "ETH value transferred with this call (hex-encoded)",
                  "type": "string",
                  "example": "0x0"
                },
                "traceAddress": {
                  "title": "traceAddress",
                  "description": "Position of this call in the trace tree",
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "example": [
                    0
                  ]
                },
                "decodedInput": {
                  "title": "decodedInput",
                  "description": "ABI-decoded input parameters",
                  "type": "array",
                  "items": {
                    "type": "object",
                    "title": "decodedArgument",
                    "properties": {
                      "name": {
                        "title": "name",
                        "type": "string",
                        "example": "recipient"
                      },
                      "type": {
                        "title": "type",
                        "type": "string",
                        "example": "address"
                      },
                      "value": {
                        "title": "value",
                        "description": "Decoded value"
                      },
                      "indexed": {
                        "title": "indexed",
                        "type": "boolean",
                        "example": false
                      }
                    }
                  }
                },
                "decodedOutput": {
                  "title": "decodedOutput",
                  "description": "ABI-decoded output values",
                  "type": "array",
                  "items": {
                    "type": "object",
                    "title": "decodedArgument",
                    "properties": {
                      "name": {
                        "title": "name",
                        "type": "string"
                      },
                      "type": {
                        "title": "type",
                        "type": "string",
                        "example": "bool"
                      },
                      "value": {
                        "title": "value",
                        "description": "Decoded value"
                      },
                      "indexed": {
                        "title": "indexed",
                        "type": "boolean",
                        "example": false
                      }
                    }
                  }
                }
              }
            }
          },
          "assetChanges": {
            "title": "assetChanges",
            "description": "Token transfers that occurred during simulation",
            "type": "array",
            "items": {
              "type": "object",
              "title": "assetChange",
              "properties": {
                "id": {
                  "title": "id",
                  "description": "Unique identifier of this asset change",
                  "type": "string",
                  "example": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
                },
                "type": {
                  "title": "type",
                  "description": "Type of token movement",
                  "type": "string",
                  "enum": [
                    "Transfer",
                    "Mint",
                    "Burn"
                  ],
                  "example": "Transfer"
                },
                "from": {
                  "title": "from",
                  "description": "Sender address",
                  "type": "string",
                  "example": "0xfa78a211f7df670338daed1f96177c9fe154fcb1"
                },
                "to": {
                  "title": "to",
                  "description": "Recipient address",
                  "type": "string",
                  "example": "0x6c8b8870c415f3b2d5fe0cd61e9c6960bad8e0c9"
                },
                "amount": {
                  "title": "amount",
                  "description": "Human-readable amount in token decimals",
                  "type": "string",
                  "example": "1.0"
                },
                "rawAmount": {
                  "title": "rawAmount",
                  "description": "Raw token amount (smallest unit)",
                  "type": "string",
                  "example": "1000000000000000000"
                },
                "dollarValue": {
                  "title": "dollarValue",
                  "description": "USD value at time of simulation",
                  "type": "string",
                  "example": "2500.00"
                },
                "assetInfo": {
                  "title": "assetInfo",
                  "description": "Token metadata",
                  "type": "object",
                  "properties": {
                    "contractAddress": {
                      "title": "contractAddress",
                      "type": "string",
                      "example": "0x6b175474e89094c44da98b954eedeac495271d0f"
                    },
                    "name": {
                      "title": "name",
                      "type": "string",
                      "example": "Dai Stablecoin"
                    },
                    "symbol": {
                      "title": "symbol",
                      "type": "string",
                      "example": "DAI"
                    },
                    "decimals": {
                      "title": "decimals",
                      "type": "integer",
                      "example": 18
                    },
                    "logo": {
                      "title": "logo",
                      "type": "string",
                      "example": "https://assets.tenderly.co/tokens/dai.png"
                    },
                    "dollarValue": {
                      "title": "dollarValue",
                      "type": "string",
                      "example": "1.00"
                    },
                    "standard": {
                      "title": "standard",
                      "type": "string",
                      "enum": [
                        "ERC20",
                        "ERC721",
                        "ERC1155",
                        "NativeCurrency"
                      ],
                      "example": "ERC20"
                    },
                    "type": {
                      "title": "type",
                      "type": "string",
                      "enum": [
                        "Fungible",
                        "NonFungible",
                        "SemiFungible",
                        "Native"
                      ],
                      "example": "Fungible"
                    }
                  }
                }
              }
            }
          },
          "balanceChanges": {
            "title": "balanceChanges",
            "description": "Native ETH balance changes during simulation",
            "type": "array",
            "items": {
              "type": "object",
              "title": "balanceChange",
              "properties": {
                "address": {
                  "title": "address",
                  "description": "Address whose balance changed",
                  "type": "string",
                  "example": "0xfa78a211f7df670338daed1f96177c9fe154fcb1"
                },
                "dollarValue": {
                  "title": "dollarValue",
                  "description": "USD value of the balance change",
                  "type": "string",
                  "example": "-0.05"
                }
              }
            }
          },
          "exposureChanges": {
            "title": "exposureChanges",
            "description": "Token approval and allowance changes during simulation",
            "type": "array",
            "items": {
              "type": "object",
              "title": "exposureChange",
              "properties": {
                "id": {
                  "title": "id",
                  "description": "Unique identifier of this exposure change",
                  "type": "string",
                  "example": "b2c3d4e5-f6a7-8901-bcde-f12345678901"
                },
                "type": {
                  "title": "type",
                  "description": "Type of approval change",
                  "type": "string",
                  "enum": [
                    "Approve",
                    "Revoke",
                    "Permit",
                    "ApproveForAll",
                    "RevokeForAll"
                  ],
                  "example": "Approve"
                },
                "owner": {
                  "title": "owner",
                  "description": "Token owner address",
                  "type": "string",
                  "example": "0xfa78a211f7df670338daed1f96177c9fe154fcb1"
                },
                "spender": {
                  "title": "spender",
                  "description": "Approved spender address",
                  "type": "string",
                  "example": "0x7a250d5630b4cf539739df2c5dacb4c659f2488d"
                },
                "amount": {
                  "title": "amount",
                  "description": "Approved amount (human-readable)",
                  "type": "string",
                  "example": "unlimited"
                },
                "rawAmount": {
                  "title": "rawAmount",
                  "description": "Raw approved amount",
                  "type": "string",
                  "example": "115792089237316195423570985008687907853269984665640564039457584007913129639935"
                },
                "dollarValue": {
                  "title": "dollarValue",
                  "description": "USD value of the approved amount",
                  "type": "string",
                  "example": "unlimited"
                },
                "assetInfo": {
                  "title": "assetInfo",
                  "description": "Token metadata",
                  "type": "object",
                  "properties": {
                    "contractAddress": {
                      "title": "contractAddress",
                      "type": "string",
                      "example": "0x6b175474e89094c44da98b954eedeac495271d0f"
                    },
                    "name": {
                      "title": "name",
                      "type": "string",
                      "example": "Dai Stablecoin"
                    },
                    "symbol": {
                      "title": "symbol",
                      "type": "string",
                      "example": "DAI"
                    },
                    "decimals": {
                      "title": "decimals",
                      "type": "integer",
                      "example": 18
                    },
                    "logo": {
                      "title": "logo",
                      "type": "string",
                      "example": "https://assets.tenderly.co/tokens/dai.png"
                    },
                    "dollarValue": {
                      "title": "dollarValue",
                      "type": "string",
                      "example": "1.00"
                    },
                    "standard": {
                      "title": "standard",
                      "type": "string",
                      "enum": [
                        "ERC20",
                        "ERC721",
                        "ERC1155",
                        "NativeCurrency"
                      ],
                      "example": "ERC20"
                    },
                    "type": {
                      "title": "type",
                      "type": "string",
                      "enum": [
                        "Fungible",
                        "NonFungible",
                        "SemiFungible",
                        "Native"
                      ],
                      "example": "Fungible"
                    }
                  }
                }
              }
            }
          },
          "stateChanges": {
            "title": "stateChanges",
            "description": "Account and storage state changes during simulation",
            "type": "array",
            "items": {
              "type": "object",
              "title": "stateChange",
              "properties": {
                "address": {
                  "title": "address",
                  "description": "Address of the affected account or contract",
                  "type": "string",
                  "example": "0x6b175474e89094c44da98b954eedeac495271d0f"
                },
                "balance": {
                  "title": "balance",
                  "description": "ETH balance change",
                  "type": "object",
                  "properties": {
                    "previousValue": {
                      "title": "previousValue",
                      "type": "string",
                      "example": "0x16345785d8a0000"
                    },
                    "newValue": {
                      "title": "newValue",
                      "type": "string",
                      "example": "0x1bc16d674ec80000"
                    }
                  }
                },
                "nonce": {
                  "title": "nonce",
                  "description": "Account nonce change",
                  "type": "object",
                  "properties": {
                    "previousValue": {
                      "title": "previousValue",
                      "type": "string",
                      "example": "0x5"
                    },
                    "newValue": {
                      "title": "newValue",
                      "type": "string",
                      "example": "0x6"
                    }
                  }
                },
                "storage": {
                  "title": "storage",
                  "description": "Storage slot changes",
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "slot": {
                        "title": "slot",
                        "description": "Storage slot key (hex-encoded)",
                        "type": "string",
                        "example": "0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3"
                      },
                      "previousValue": {
                        "title": "previousValue",
                        "type": "string",
                        "example": "0x0000000000000000000000000000000000000000000000000de0b6b3a7640000"
                      },
                      "newValue": {
                        "title": "newValue",
                        "type": "string",
                        "example": "0x0000000000000000000000000000000000000000000000001bc16d674ec80000"
                      }
                    }
                  }
                }
              }
            }
          },
          "interopInfo": {
            "title": "interopInfo",
            "description": "Cross-chain interoperability information (only present for cross-chain simulations)",
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "chainId": {
                "title": "chainId",
                "description": "Destination chain ID for the cross-chain message",
                "type": "string",
                "example": "10"
              },
              "relayError": {
                "title": "relayError",
                "description": "Error message if the cross-chain relay failed",
                "type": "string",
                "example": "relay failed: insufficient gas"
              },
              "transactionAddress": {
                "title": "transactionAddress",
                "description": "Transaction hash of the relay transaction on the destination chain",
                "type": "string",
                "example": "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"
              }
            }
          }
        }
      }
    },
    "securitySchemes": {
      "ApiKeyAuth": {
        "type": "apiKey",
        "name": "X-Access-Key",
        "in": "header",
        "description": "An API key is a token that a client provides when making API calls. Send it as the `X-Access-Key` request header on any endpoint:\n\n```bash\ncurl '<API_ENDPOINT>' \\\n  -H 'X-Access-Key: ${TENDERLY_ACCESS_KEY}' \\\n  ...\n```\n\nLearn how to generate API access tokens at [Tenderly Docs](https://docs.tenderly.co/account/projects/how-to-generate-api-access-token)."
      },
      "BearerAuth": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "description": "Bearer authentication (also called token authentication) is an HTTP authentication scheme that involves security tokens called bearer tokens.\nThe bearer token is a cryptic string, usually generated by the server in response to a login request. The client must send this token in\nthe Authorization header when making requests to protected resources:\n\n```bash\ncurl '<API_ENDPOINT>' \\\n  -H 'Authorization: Bearer <TENDERLY_TOKEN>' \\\n  ...\n```\n\n**Note**: Bearer tokens cannot be revoked and expire after 30 days."
      }
    },
    "examples": {
      "add_contract_post_request": {
        "summary": "Add a Verified Contract",
        "description": "Adds the DAI stablecoin contract on Ethereum Mainnet to the project with a\ncustom display name.",
        "value": {
          "network_id": "1",
          "address": "0x6b175474e89094c44da98b954eedeac495271d0f",
          "display_name": "DAI Stablecoin"
        }
      },
      "encode_states_post_request": {
        "summary": "Encode a Mapping State Override",
        "description": "Encodes a named state override — here a value inside the USDC contract's\n`balanceAndBlacklistStates` mapping — into the raw storage-slot overrides\nneeded by the simulation API. Use `-1` as the block number for the latest\nblock.",
        "value": {
          "networkID": "1",
          "stateOverrides": {
            "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48": {
              "value": {
                "balanceAndBlacklistStates[0xAd4A638e2476C5645c1adF659EA8105FE3C1031e]": "1000"
              }
            }
          },
          "blockNumber": "-1"
        }
      },
      "tag_contracts_post_request": {
        "summary": "Tag Contracts with a Release Version",
        "description": "Applies the `v1.0.0` tag to a project contract. Contract IDs use the\n`eth:{networkId}:{address}` format.",
        "value": {
          "tag": "v1.0.0",
          "contract_ids": [
            "eth:1:0x6b175474e89094c44da98b954eedeac495271d0f"
          ]
        }
      },
      "rename_contract_post_request": {
        "summary": "Rename a Contract",
        "description": "Changes the display name shown for the contract across the Tenderly\ndashboard.",
        "value": {
          "display_name": "DAI Stablecoin"
        }
      },
      "add_wallet_post_request": {
        "summary": "Add a Wallet on Multiple Networks",
        "description": "Adds a wallet address to the project on Ethereum Mainnet and Avalanche\nC-Chain with a custom display name.",
        "value": {
          "network_ids": [
            "1",
            "43114"
          ],
          "address": "0x94C87A7b26980AE7AAA361c5C7e03E632ab36e6C",
          "display_name": "My new wallet name"
        }
      },
      "full_mode_simulate_post_request": {
        "summary": "Full Mode Simulation",
        "description": "An example payload object with details about transaction simulation using a full mode.",
        "value": {
          "network_id": "1",
          "from": "0x3f41a1cfd3c8b8d9c162de0f42307a0095a6e5df",
          "to": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
          "input": "0xa94e78ef000000000000000000000000000000000000000000000000000000000000002000000000000000000000000068037790a0229e9ce6eaa8a99ea92964106c470300000000000000000000000000000000000000000000010f0cf064dd592000000000000000000000000000000000000000000000000000000000000145dc1b2e00000000000000000000000000000000000000000000000000000001477f4d7d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000000000064d281e65c9438a5a99c4bccb1035296d5d2d8d200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000320000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a73000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000006000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000064db6806000000000000000000000000000000000000000000000000000000000000002b68037790a0229e9ce6eaa8a99ea92964106c47030001f4a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000000000000000000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a730000000000000000000000000000000000000000000000000000000000002710000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000060000000000000000000000001b81d678ffb9c0263b24a97847620c99d213eb14000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000064db6806000000000000000000000000000000000000000000000000000000000000002ba0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000064dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
          "gas": 648318,
          "block_number": 17884583,
          "value": "0",
          "save": true,
          "save_if_fails": true,
          "simulation_type": "full"
        }
      },
      "quick_mode_simulate_post_request": {
        "summary": "Quick Mode Simulation",
        "description": "An example payload object with details about transaction simulation using a quick mode.",
        "value": {
          "network_id": "1",
          "from": "0x3f41a1cfd3c8b8d9c162de0f42307a0095a6e5df",
          "to": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
          "input": "0xa94e78ef000000000000000000000000000000000000000000000000000000000000002000000000000000000000000068037790a0229e9ce6eaa8a99ea92964106c470300000000000000000000000000000000000000000000010f0cf064dd592000000000000000000000000000000000000000000000000000000000000145dc1b2e00000000000000000000000000000000000000000000000000000001477f4d7d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000000000064d281e65c9438a5a99c4bccb1035296d5d2d8d200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000320000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a73000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000006000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000064db6806000000000000000000000000000000000000000000000000000000000000002b68037790a0229e9ce6eaa8a99ea92964106c47030001f4a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000000000000000000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a730000000000000000000000000000000000000000000000000000000000002710000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000060000000000000000000000001b81d678ffb9c0263b24a97847620c99d213eb14000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000064db6806000000000000000000000000000000000000000000000000000000000000002ba0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000064dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
          "gas": 648318,
          "block_number": 17884583,
          "value": "0",
          "save": true,
          "save_if_fails": true,
          "simulation_type": "quick"
        }
      },
      "abi_mode_simulate_post_request": {
        "summary": "ABI Mode Simulation",
        "description": "An example payload object with details about transaction simulation using an ABI mode.",
        "value": {
          "network_id": "1",
          "from": "0x3f41a1cfd3c8b8d9c162de0f42307a0095a6e5df",
          "to": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
          "input": "0xa94e78ef000000000000000000000000000000000000000000000000000000000000002000000000000000000000000068037790a0229e9ce6eaa8a99ea92964106c470300000000000000000000000000000000000000000000010f0cf064dd592000000000000000000000000000000000000000000000000000000000000145dc1b2e00000000000000000000000000000000000000000000000000000001477f4d7d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000000000064d281e65c9438a5a99c4bccb1035296d5d2d8d200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000320000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a73000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000006000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000064db6806000000000000000000000000000000000000000000000000000000000000002b68037790a0229e9ce6eaa8a99ea92964106c47030001f4a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000000000000000000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a730000000000000000000000000000000000000000000000000000000000002710000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000060000000000000000000000001b81d678ffb9c0263b24a97847620c99d213eb14000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000064db6806000000000000000000000000000000000000000000000000000000000000002ba0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000064dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
          "gas": 648318,
          "block_number": 17884583,
          "value": "0",
          "save": true,
          "save_if_fails": true,
          "simulation_type": "abi"
        }
      },
      "estimate_gas_simulate_post_request": {
        "summary": "Estimate Gas Simulation",
        "description": "An example payload object with details about transaction simulation with gas estimation enabled.",
        "value": {
          "network_id": "1",
          "from": "0x3f41a1cfd3c8b8d9c162de0f42307a0095a6e5df",
          "to": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
          "input": "0xa94e78ef000000000000000000000000000000000000000000000000000000000000002000000000000000000000000068037790a0229e9ce6eaa8a99ea92964106c470300000000000000000000000000000000000000000000010f0cf064dd592000000000000000000000000000000000000000000000000000000000000145dc1b2e00000000000000000000000000000000000000000000000000000001477f4d7d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000000000064d281e65c9438a5a99c4bccb1035296d5d2d8d200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000320000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a73000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000006000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000064db6806000000000000000000000000000000000000000000000000000000000000002b68037790a0229e9ce6eaa8a99ea92964106c47030001f4a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000000000000000000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a730000000000000000000000000000000000000000000000000000000000002710000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000060000000000000000000000001b81d678ffb9c0263b24a97847620c99d213eb14000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000064db6806000000000000000000000000000000000000000000000000000000000000002ba0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000064dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
          "gas": 648318,
          "block_number": 17884583,
          "value": "0",
          "save": true,
          "save_if_fails": true,
          "estimate_gas": true,
          "simulation_type": "quick"
        }
      },
      "failed_tx_simulate_post_request": {
        "summary": "Failed Transaction Simulation",
        "description": "An example payload object with details about transaction simulation with failed status.",
        "value": {
          "network_id": "1",
          "block_number": 18827905,
          "transaction_index": 222,
          "from": "0xd8da6bf26964af9d7eed9e03e53415d37aa96045",
          "input": "0xa94e78ef0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000eaa63125dd63f10874f99cdbbb18410e7fc79dd300000000000000000000000000000000000000000004f68ca6d8cd91c6000000000000000000000000000000000000000000000000000000000000036e22623300000000000000000000000000000000000000000000000000000003728c0b380000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000076000000000000000000000000000000000000000000000000000000000658357363e8a57981b0747b79f70262f8257408600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000300000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a73000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000004000000000000000000000000f9234cb08edb93c0d4a4d4c70cc3ffd070e78e07000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000001000000000000000000004de5672fefac7f6e3017d9a2f1c14fe048191a24ce14000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a73000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000006000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000658c3d55000000000000000000000000000000000000000000000000000000000000002bc02aaa39b223fe8d0a0e5c4f27ead9083c756cc20001f4a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
          "to": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
          "gas": 617885,
          "gas_price": "87235100681",
          "value": "0",
          "access_list": [],
          "generate_access_list": true,
          "save": true,
          "simulation_type": "quick"
        }
      },
      "state_block_overrides_simulate_post_request": {
        "summary": "State and Block Header Overrides Simulation",
        "description": "An example payload that applies both state overrides and block header overrides to the simulation.",
        "value": {
          "network_id": "1",
          "from": "0x3f41a1cfd3c8b8d9c162de0f42307a0095a6e5df",
          "to": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
          "input": "0xa94e78ef000000000000000000000000000000000000000000000000000000000000002000000000000000000000000068037790a0229e9ce6eaa8a99ea92964106c470300000000000000000000000000000000000000000000010f0cf064dd592000000000000000000000000000000000000000000000000000000000000145dc1b2e00000000000000000000000000000000000000000000000000000001477f4d7d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000000000064d281e65c9438a5a99c4bccb1035296d5d2d8d200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000320000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a73000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000006000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000064db6806000000000000000000000000000000000000000000000000000000000000002b68037790a0229e9ce6eaa8a99ea92964106c47030001f4a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000000000000000000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a730000000000000000000000000000000000000000000000000000000000002710000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000060000000000000000000000001b81d678ffb9c0263b24a97847620c99d213eb14000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000064db6806000000000000000000000000000000000000000000000000000000000000002ba0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000064dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
          "gas": 648318,
          "gas_price": "18312000018",
          "block_number": 17884583,
          "transaction_index": 0,
          "value": "0",
          "save": true,
          "save_if_fails": true,
          "simulation_type": "full",
          "generate_access_list": true,
          "state_objects": {
            "0x3f41a1cfd3c8b8d9c162de0f42307a0095a6e5df": {
              "balance": "100000000000000000000"
            },
            "0xdac17f958d2ee523a2206206994597c13d831ec7": {
              "storage": {
                "0x0000000000000000000000000000000000000000000000000000000000000000": "0x000000000000000000000000c6cde7c39eb2f0f0095f41570af89efc2c1ea828"
              }
            }
          },
          "block_header": {
            "number": "0x110ace7",
            "timestamp": "0x64d22deb",
            "difficulty": "0x0",
            "gasLimit": "0x1c9c380",
            "baseFeePerGas": "0x3d5200956"
          }
        }
      },
      "bundle_dai_mint_approve_transfer_request": {
        "summary": "DAI Mint, Approve & TransferFrom with State Override",
        "description": "A three-transaction bundle that simulates a DAI Mint → Approve → TransferFrom sequence.\nThe first transaction uses a state override to make the sender a ward (authorized minter)\non the DAI contract. Each subsequent transaction sees the state changes from the previous ones.",
        "value": {
          "simulations": [
            {
              "network_id": "1",
              "save": true,
              "save_if_fails": true,
              "simulation_type": "full",
              "from": "0xe2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2",
              "to": "0x6b175474e89094c44da98b954eedeac495271d0f",
              "input": "0x40c10f19000000000000000000000000e58b9ee93700a616b50509c8292977fa7a0f8ce10000000000000000000000000000000000000000000000001bc16d674ec80000",
              "state_objects": {
                "0x6b175474e89094c44da98b954eedeac495271d0f": {
                  "storage": {
                    "0xedd7d04419e9c48ceb6055956cbb4e2091ae310313a4d1fa7cbcfe7561616e03": "0x0000000000000000000000000000000000000000000000000000000000000001"
                  }
                }
              }
            },
            {
              "network_id": "1",
              "save": true,
              "save_if_fails": true,
              "simulation_type": "full",
              "from": "0xe58b9ee93700a616b50509c8292977fa7a0f8ce1",
              "to": "0x6b175474e89094c44da98b954eedeac495271d0f",
              "input": "0x095ea7b3000000000000000000000000f7ddedc66b1d482e5c38e4730b3357d32411e5dd0000000000000000000000000000000000000000000000000de0b6b3a7640000"
            },
            {
              "network_id": "1",
              "save": true,
              "save_if_fails": true,
              "simulation_type": "full",
              "from": "0xf7ddedc66b1d482e5c38e4730b3357d32411e5dd",
              "to": "0x6b175474e89094c44da98b954eedeac495271d0f",
              "input": "0x23b872dd000000000000000000000000e58b9ee93700a616b50509c8292977fa7a0f8ce1000000000000000000000000bd8daa414fda8a8a129f7035e7496759c5af8570000000000000000000000000000000000000000000000000006a94d74f430000"
            }
          ]
        }
      },
      "bundle_approve_permit2_swap_request": {
        "summary": "Approve, Permit2 & Swap",
        "description": "A three-transaction bundle that simulates a token Approve → Permit2 Allowance → Swap sequence.\nThe first transaction approves the Permit2 contract to spend tokens. The second transaction\ngrants a Permit2 allowance to the swap router. The third transaction executes a token swap\nthrough a Universal Router. Uses `estimate_gas` and `quick` simulation mode.",
        "value": {
          "simulations": [
            {
              "network_id": "1",
              "estimate_gas": true,
              "simulation_type": "quick",
              "save_if_fails": false,
              "from": "0xCdB122820fBd2e0EB4e8a553247630AC27471d31",
              "to": "0x74b7F16337b8972027F6196A17a631aC6dE26d22",
              "input": "0x095ea7b3000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
              "value": "0"
            },
            {
              "network_id": "1",
              "estimate_gas": true,
              "simulation_type": "quick",
              "save_if_fails": false,
              "from": "0xCdB122820fBd2e0EB4e8a553247630AC27471d31",
              "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3",
              "input": "0x87517c4500000000000000000000000074b7f16337b8972027f6196a17a631ac6de26d220000000000000000000000005507749f2c558bb3e162c6e90c314c092e7372ff000000000000000000000000ffffffffffffffffffffffffffffffffffffffff000000000000000000000000000000000000000000000000000000006a3e6fc1",
              "value": "0"
            },
            {
              "network_id": "1",
              "estimate_gas": true,
              "simulation_type": "quick",
              "save_if_fails": false,
              "from": "0xCdB122820fBd2e0EB4e8a553247630AC27471d31",
              "to": "0x5507749f2c558bb3e162c6e90c314c092e7372ff",
              "input": "0x24856bc300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000308000c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000002a00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000b71b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000074b7f16337b8972027f6196a17a631ac6de26d22000000000000000000000000e538905cf8410324e03a5a23c1c177a474d59b2b00000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000040d990000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002b74b7f16337b8972027f6196a17a631ac6de26d220001f4e538905cf8410324e03a5a23c1c177a474d59b2b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000cdb122820fbd2e0eb4e8a553247630ac27471d3100000000000000000000000000000000000000000000000000dfbcf8b5747196",
              "value": "0"
            }
          ]
        }
      },
      "simulation_draft_raw_calldata_request": {
        "summary": "Single call with raw calldata",
        "description": "A project-scoped draft for one call. Raw calldata needs no ABI, which makes it the most reliable shape for CI and tooling.",
        "value": {
          "payload": {
            "v": 2,
            "network": {
              "id": "1"
            },
            "rows": [
              {
                "contractAddress": "0xdac17f958d2ee523a2206206994597c13d831ec7",
                "from": "0xab5801a7d398351b8be11c439e05c5b3259aec9b",
                "inputDataType": "raw",
                "rawFunctionInput": "0xa9059cbb000000000000000000000000ab5801a7d398351b8be11c439e05c5b3259aec9b00000000000000000000000000000000000000000000000000000000000f4240"
              }
            ]
          }
        }
      },
      "simulation_draft_shared_bundle_request": {
        "summary": "Shared two-call bundle with a state override",
        "description": "A `shared` draft that any signed-in Tenderly user can open in a project of their choice. The first call is decoded (function reference plus positional inputs) and carries a DAI storage override; the second call uses raw calldata.",
        "value": {
          "payload": {
            "v": 2,
            "network": {
              "id": "1"
            },
            "rows": [
              {
                "contractAddress": "0x6b175474e89094c44da98b954eedeac495271d0f",
                "from": "0xab5801a7d398351b8be11c439e05c5b3259aec9b",
                "inputDataType": "decoded",
                "contractFunction": {
                  "name": "mint",
                  "selector": "0x40c10f19",
                  "signature": "mint(address,uint256)"
                },
                "functionInputs": [
                  "0xab5801a7d398351b8be11c439e05c5b3259aec9b",
                  "1000000000000000000000"
                ],
                "stateOverrides": [
                  {
                    "contractAddress": "0x6b175474e89094c44da98b954eedeac495271d0f",
                    "balance": "",
                    "storage": [
                      {
                        "key": "0xedd7d04419e9c48ceb6055956cbb4e2091ae310313a4d1fa7cbcfe7561616e03",
                        "value": "0x0000000000000000000000000000000000000000000000000000000000000001"
                      }
                    ]
                  }
                ]
              },
              {
                "contractAddress": "0x6b175474e89094c44da98b954eedeac495271d0f",
                "from": "0xab5801a7d398351b8be11c439e05c5b3259aec9b",
                "inputDataType": "raw",
                "rawFunctionInput": "0xa9059cbb000000000000000000000000e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e200000000000000000000000000000000000000000000003635c9adc5dea00000"
              }
            ]
          },
          "shared": true
        }
      },
      "simulation_drafts_post_response": {
        "summary": "Draft created",
        "description": "The ID to place in the dashboard link `https://dashboard.tenderly.co/simulator/new?draftId={resource_id}`.",
        "value": {
          "resource_id": "3f2a6c1e-8f1b-4c8e-9a2d-6b1e0f7c4d21"
        }
      },
      "simulation_draft_get_project_response": {
        "summary": "Project-scoped draft",
        "description": "Returned when the caller can view the draft's origin project. The origin account and project IDs let the dashboard open the draft in the right project without a picker.",
        "value": {
          "payload": {
            "v": 2,
            "network": {
              "id": "1"
            },
            "rows": [
              {
                "contractAddress": "0xdac17f958d2ee523a2206206994597c13d831ec7",
                "from": "0xab5801a7d398351b8be11c439e05c5b3259aec9b",
                "inputDataType": "raw",
                "rawFunctionInput": "0xa9059cbb000000000000000000000000ab5801a7d398351b8be11c439e05c5b3259aec9b00000000000000000000000000000000000000000000000000000000000f4240"
              }
            ]
          },
          "account_id": "fa4a29af-ad72-44ac-9261-4bf3a8af3a06",
          "project_id": "aaf3c9e1-9632-4e6e-a900-b704db935f74"
        }
      },
      "simulation_draft_get_shared_response": {
        "summary": "Shared draft",
        "description": "Returned for a draft created with `shared: true`. No origin information is included.",
        "value": {
          "payload": {
            "v": 2,
            "network": {
              "id": "1"
            },
            "rows": [
              {
                "contractAddress": "0xdac17f958d2ee523a2206206994597c13d831ec7",
                "inputDataType": "raw",
                "rawFunctionInput": "0xa9059cbb000000000000000000000000ab5801a7d398351b8be11c439e05c5b3259aec9b00000000000000000000000000000000000000000000000000000000000f4240"
              }
            ]
          }
        }
      },
      "successful_transaction_create_alert_post_request": {
        "summary": "Successful Transaction Alert",
        "description": "An example payload object with details about alert of Successful Transaction type.",
        "value": {
          "name": "Successful transaction in My new contract name",
          "color": "#33d9b2",
          "description": "",
          "simple_type": "successful_tx",
          "enabled": true,
          "expressions": [
            {
              "type": "contract_address",
              "expression": {
                "address": "0x94c87a7b26980ae7aaa361c5c7e03e632ab36e6c"
              }
            },
            {
              "type": "network",
              "expression": {
                "network_id": "1"
              }
            },
            {
              "type": "tx_status",
              "expression": {
                "transaction_success": true
              }
            }
          ],
          "delivery_channels": [
            {
              "enabled": true,
              "id": "b16b4b75-e034-44c9-a053-f10d769a1d64"
            },
            {
              "enabled": true,
              "id": "f48f1f9f-1f74-4849-81cf-fce8bd3746b7"
            }
          ]
        }
      },
      "failed_transaction_create_alert_post_request": {
        "summary": "Failed Transaction Alert",
        "description": "An example payload object with details about alert of Failed Transaction type.",
        "value": {
          "name": "Failed transaction in My new contract name",
          "color": "#ff5252",
          "description": "",
          "simple_type": "failed_tx",
          "enabled": true,
          "expressions": [
            {
              "type": "contract_address",
              "expression": {
                "address": "0x94c87a7b26980ae7aaa361c5c7e03e632ab36e6c"
              }
            },
            {
              "type": "network",
              "expression": {
                "network_id": "1"
              }
            },
            {
              "type": "tx_status",
              "expression": {
                "transaction_success": false
              }
            }
          ],
          "delivery_channels": [
            {
              "enabled": true,
              "id": "b16b4b75-e034-44c9-a053-f10d769a1d64"
            },
            {
              "enabled": true,
              "id": "f48f1f9f-1f74-4849-81cf-fce8bd3746b7"
            }
          ]
        }
      },
      "function_called_create_alert_post_request": {
        "summary": "Function Call Alert",
        "description": "An example payload object with details about alert of Function Call type.",
        "value": {
          "name": "Function approve called in My new contract name",
          "color": "#34ace0",
          "description": "",
          "simple_type": "function_called",
          "enabled": true,
          "expressions": [
            {
              "type": "contract_address",
              "expression": {
                "address": "0x94c87a7b26980ae7aaa361c5c7e03e632ab36e6c"
              }
            },
            {
              "type": "network",
              "expression": {
                "network_id": "1"
              }
            },
            {
              "type": "method_call",
              "expression": {
                "address": "0x94c87a7b26980ae7aaa361c5c7e03e632ab36e6c",
                "line_number": 3775,
                "function_name": "approve",
                "call_position": "any",
                "signature": {
                  "function_name": "approve",
                  "input_types": [
                    "address",
                    "uint256"
                  ]
                }
              }
            }
          ],
          "delivery_channels": [
            {
              "enabled": true,
              "id": "b16b4b75-e034-44c9-a053-f10d769a1d64"
            }
          ]
        }
      },
      "log_emitted_create_alert_post_request": {
        "summary": "Event Emitted Alert",
        "description": "An example payload object with details about alert of Event Emitted type.",
        "value": {
          "name": "Event MetadropTaxBasisPointsChanged emitted in My new contract name",
          "color": "#34ace0",
          "description": "",
          "simple_type": "log_emitted",
          "enabled": true,
          "expressions": [
            {
              "type": "contract_address",
              "expression": {
                "address": "0x94c87a7b26980ae7aaa361c5c7e03e632ab36e6c"
              }
            },
            {
              "type": "network",
              "expression": {
                "network_id": "1"
              }
            },
            {
              "type": "emitted_log",
              "expression": {
                "address": "0x94c87a7b26980ae7aaa361c5c7e03e632ab36e6c",
                "event_name": "MetadropTaxBasisPointsChanged",
                "event_id": "0xc62aec06e6c0bd9801f57464e310b42dd2d884cbfaf006c84a761b622aea4f08",
                "match_any": false
              }
            }
          ],
          "delivery_channels": [
            {
              "enabled": true,
              "id": "b16b4b75-e034-44c9-a053-f10d769a1d64"
            }
          ]
        }
      },
      "emitted_log_parameter_create_alert_post_request": {
        "summary": "Event Parameter Alert",
        "description": "An example payload object with details about alert of Event Parameter type.",
        "value": {
          "name": "Event argument in LiquidityBurned matched in My new contract name",
          "color": "#34ace0",
          "description": "",
          "simple_type": "emitted_log_parameter",
          "enabled": true,
          "expressions": [
            {
              "type": "contract_address",
              "expression": {
                "address": "0x94c87a7b26980ae7aaa361c5c7e03e632ab36e6c"
              }
            },
            {
              "type": "network",
              "expression": {
                "network_id": "1"
              }
            },
            {
              "type": "emitted_log",
              "expression": {
                "address": "0x94c87a7b26980ae7aaa361c5c7e03e632ab36e6c",
                "event_name": "LiquidityBurned",
                "event_id": "0x781a9d251db551fc7922f7facbbe49bc3fd61d3e236a8dafa34afd0539ebfa72",
                "match_any": false,
                "parameter_conditions": [
                  {
                    "parameter_name": "lpTokens",
                    "parameter_type": "uint",
                    "operator": ">=",
                    "comparison_value": "100"
                  }
                ]
              }
            }
          ],
          "delivery_channels": [
            {
              "enabled": true,
              "id": "b16b4b75-e034-44c9-a053-f10d769a1d64"
            }
          ]
        }
      },
      "erc20_transfer_log_emitted_create_alert_post_request": {
        "summary": "ERC20 Token Transfer Alert",
        "description": "An example payload object with details about alert of ERC20 Token Transfer type.",
        "value": {
          "name": "ERC20 Token Transfer in TetherToken",
          "color": "#34ace0",
          "description": "",
          "simple_type": "erc20_transfer_log_emitted",
          "enabled": true,
          "expressions": [
            {
              "type": "contract_address",
              "expression": {
                "address": "0xdac17f958d2ee523a2206206994597c13d831ec7"
              }
            },
            {
              "type": "network",
              "expression": {
                "network_id": "1"
              }
            },
            {
              "type": "emitted_log",
              "expression": {
                "address": "0xdac17f958d2ee523a2206206994597c13d831ec7",
                "event_name": "ERC20 Transfer",
                "event_id": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
                "match_any": false,
                "parameter_conditions": [
                  {
                    "parameter_name": "dst",
                    "parameter_index": 1,
                    "parameter_type": "address",
                    "operator": "==",
                    "comparison_value": "0x1f9090aaE28b8a3dCeaDf281B0F12828e676c326"
                  }
                ]
              }
            }
          ],
          "delivery_channels": [
            {
              "enabled": true,
              "id": "b16b4b75-e034-44c9-a053-f10d769a1d64"
            }
          ]
        }
      },
      "allowlisted_callers_create_alert_post_request": {
        "summary": "Allowlisted Callers Alert",
        "description": "An example payload object with details about alert of Allowlisted Callers type.",
        "value": {
          "name": "Transaction from non-allowlisted address in TetherToken",
          "color": "#ffda79",
          "description": "",
          "simple_type": "allowlisted_callers",
          "enabled": true,
          "expressions": [
            {
              "type": "contract_address",
              "expression": {
                "address": "0xdac17f958d2ee523a2206206994597c13d831ec7"
              }
            },
            {
              "type": "network",
              "expression": {
                "network_id": "1"
              }
            },
            {
              "type": "whitelisted_caller_addresses",
              "expression": {
                "addresses": [
                  "0x1f9090aae28b8a3dceadf281b0f12828e676c326"
                ]
              }
            }
          ],
          "delivery_channels": [
            {
              "enabled": true,
              "id": "b16b4b75-e034-44c9-a053-f10d769a1d64"
            }
          ]
        }
      },
      "blocklisted_callers_create_alert_post_request": {
        "summary": "Blocklisted Callers Alert",
        "description": "An example payload object with details about alert of Blocklisted Callers type.",
        "value": {
          "name": "Transaction from blocklisted address in TetherToken",
          "color": "#ff5252",
          "description": "",
          "simple_type": "blocklisted_callers",
          "enabled": true,
          "expressions": [
            {
              "type": "contract_address",
              "expression": {
                "address": "0xdac17f958d2ee523a2206206994597c13d831ec7"
              }
            },
            {
              "type": "network",
              "expression": {
                "network_id": "1"
              }
            },
            {
              "type": "blacklisted_caller_addresses",
              "expression": {
                "addresses": [
                  "0x1f9090aae28b8a3dceadf281b0f12828e676c326"
                ]
              }
            }
          ],
          "delivery_channels": [
            {
              "enabled": true,
              "id": "b16b4b75-e034-44c9-a053-f10d769a1d64"
            }
          ]
        }
      },
      "eth_balance_create_alert_post_request": {
        "summary": "Balance Change Alert",
        "description": "An example payload object with details about alert of Balance Change type.",
        "value": {
          "name": "Balance value condition matched in TetherToken",
          "color": "#eeeeee",
          "description": "",
          "simple_type": "eth_balance",
          "enabled": true,
          "expressions": [
            {
              "type": "contract_address",
              "expression": {
                "address": "0xdac17f958d2ee523a2206206994597c13d831ec7"
              }
            },
            {
              "type": "network",
              "expression": {
                "network_id": "1"
              }
            },
            {
              "type": "eth_balance",
              "expression": {
                "address": "0xdac17f958d2ee523a2206206994597c13d831ec7",
                "threshold": "1500000000000000000",
                "operator": "<="
              }
            }
          ],
          "delivery_channels": [
            {
              "enabled": true,
              "id": "b16b4b75-e034-44c9-a053-f10d769a1d64"
            }
          ]
        }
      },
      "tx_value_create_alert_post_request": {
        "summary": "Transaction Value Alert",
        "description": "An example payload object with details about alert of Transaction Value type.",
        "value": {
          "name": "Transaction value condition matched in TetherToken",
          "color": "#eeeeee",
          "description": "",
          "simple_type": "tx_value",
          "enabled": true,
          "expressions": [
            {
              "type": "contract_address",
              "expression": {
                "address": "0xdac17f958d2ee523a2206206994597c13d831ec7"
              }
            },
            {
              "type": "network",
              "expression": {
                "network_id": "1"
              }
            },
            {
              "type": "tx_value",
              "expression": {
                "operator": "!=",
                "transaction_value": "1345000000000000000"
              }
            }
          ],
          "delivery_channels": [
            {
              "enabled": true,
              "id": "b16b4b75-e034-44c9-a053-f10d769a1d64"
            }
          ]
        }
      },
      "state_change_create_alert_post_request": {
        "summary": "State Change Alert",
        "description": "An example payload object with details about alert of State Change type.",
        "value": {
          "name": "State variable transactionCount matched in TetherToken",
          "color": "#eeeeee",
          "description": "",
          "simple_type": "state_change",
          "enabled": true,
          "expressions": [
            {
              "type": "contract_address",
              "expression": {
                "address": "0xdac17f958d2ee523a2206206994597c13d831ec7"
              }
            },
            {
              "type": "network",
              "expression": {
                "network_id": "1"
              }
            },
            {
              "type": "state_change",
              "expression": {
                "address": "0xdac17f958d2ee523a2206206994597c13d831ec7",
                "match_any": false,
                "parameter_conditions": [
                  {
                    "parameter_name": "transactionCount",
                    "parameter_type": "uint",
                    "compare_threshold": true,
                    "comparison_value": "25000",
                    "operator": ">"
                  }
                ]
              }
            }
          ],
          "delivery_channels": [
            {
              "enabled": true,
              "id": "b16b4b75-e034-44c9-a053-f10d769a1d64"
            }
          ]
        }
      },
      "view_function_create_alert_post_request": {
        "summary": "View Function Alert",
        "description": "An example payload object with details about alert of View Function type.",
        "value": {
          "name": "Return value of confirmations matched in TetherToken",
          "color": "#eeeeee",
          "description": "",
          "simple_type": "view_function",
          "enabled": true,
          "expressions": [
            {
              "type": "contract_address",
              "expression": {
                "address": "0xdac17f958d2ee523a2206206994597c13d831ec7"
              }
            },
            {
              "type": "network",
              "expression": {
                "network_id": "1"
              }
            },
            {
              "type": "view_function",
              "expression": {
                "address": "0xdac17f958d2ee523a2206206994597c13d831ec7",
                "input": "0x3411c81c00000000000000000000000000000000000000000000000000000000000000050000000000000000000000001f9090aae28b8a3dceadf281b0f12828e676c326",
                "network_id": "1",
                "match_any": false,
                "parameter_condition": {
                  "parameter_name": "confirmations",
                  "parameter_type": "bool",
                  "comparison_value": true,
                  "operator": "=="
                }
              }
            }
          ],
          "delivery_channels": [
            {
              "enabled": true,
              "id": "b16b4b75-e034-44c9-a053-f10d769a1d64"
            }
          ]
        }
      },
      "highValueTransferWithWhitelist_create_alert_post_request": {
        "summary": "High Value Transfer from Whitelisted Addresses",
        "description": "Monitors large transfers (>1000 ETH) but only from trusted addresses",
        "value": {
          "name": "High Value Whitelisted Transfer Monitor",
          "description": "Monitors large transfers (>1000 ETH) but only from trusted addresses",
          "simple_type": "allowlisted_callers",
          "enabled": true,
          "expressions": [
            {
              "type": "tx_value",
              "expression": {
                "transaction_value": "1000000000000000000000",
                "operator": ">"
              }
            },
            {
              "type": "whitelisted_caller_addresses",
              "expression": {
                "addresses": [
                  "0x6b9ef02657339310e28a7a9d4b5f25f7c1f68d61",
                  "0x904ef6ff8e82478c5604d99884eb9bcd7f73cc36"
                ]
              }
            }
          ],
          "delivery_channels": [
            {
              "id": "10159dbf-278e-4f4a-954d-d299c3ddc220",
              "enabled": true
            }
          ]
        }
      },
      "contractStateAndEvent_create_alert_post_request": {
        "summary": "Contract State Change with Event Verification",
        "description": "Monitors state changes and verifies corresponding events",
        "value": {
          "name": "Treasury Balance Change Monitor",
          "description": "Alerts on significant treasury balance changes with Transfer event verification",
          "enabled": true,
          "simple_type": "emitted_log_parameter",
          "expressions": [
            {
              "type": "state_change",
              "expression": {
                "address": "0xdac17f958d2ee523a2206206994597c13d831ec7",
                "parameter_conditions": [
                  {
                    "parameter_name": "treasuryBalance",
                    "parameter_type": "uint",
                    "compare_percentage": true,
                    "comparison_value": "5",
                    "operator": ">="
                  }
                ]
              }
            },
            {
              "type": "emitted_log",
              "expression": {
                "address": "0xdac17f958d2ee523a2206206994597c13d831ec7",
                "event_name": "Transfer",
                "event_id": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
                "parameter_conditions": [
                  {
                    "parameter_name": "value",
                    "parameter_type": "uint",
                    "operator": ">",
                    "comparison_value": "1000000000000"
                  }
                ]
              }
            }
          ],
          "delivery_channels": [
            {
              "id": "4d09b816-e817-4b14-aa00-2aa8022ef5a8",
              "enabled": true
            }
          ]
        }
      },
      "methodCallWithError_create_alert_post_request": {
        "summary": "Critical Method Call with Error Monitoring",
        "description": "Monitors specific method calls and any transaction errors",
        "value": {
          "name": "Critical Operation Monitor",
          "description": "Monitors critical function calls and alerts on any transaction errors",
          "enabled": true,
          "simple_type": "function_called",
          "expressions": [
            {
              "type": "method_call",
              "expression": {
                "line_number": 222,
                "call_position": "any"
              }
            },
            {
              "type": "tx_error",
              "expression": {
                "addresses_to_ignore": [
                  "0xdac17f958d2ee523a2206206994597c13d831ec7"
                ]
              }
            },
            {
              "type": "network",
              "expression": {
                "network_id": "1"
              }
            }
          ],
          "delivery_channels": [
            {
              "id": "10159dbf-278e-4f4a-954d-d299c3ddc220",
              "enabled": true
            },
            {
              "id": "4d09b816-e817-4b14-aa00-2aa8022ef5a8",
              "enabled": true
            }
          ]
        }
      },
      "complexDeFiMonitor_create_alert_post_request": {
        "summary": "Complex DeFi Transaction Monitor",
        "description": "Comprehensive monitoring of DeFi operations with multiple conditions",
        "value": {
          "name": "DeFi Safety Monitor",
          "description": "Monitors large swaps, flash loans, and potential sandwich attacks",
          "enabled": true,
          "simple_type": "blocklisted_callers",
          "expressions": [
            {
              "type": "function_params",
              "expression": {
                "address": "0xdac17f958d2ee523a2206206994597c13d831ec7",
                "function_line_number": 118,
                "parameter_conditions": [
                  {
                    "parameter_name": "amount",
                    "operator": ">",
                    "parameter_type": "uint",
                    "comparison_value": "1000000000000000000000"
                  }
                ]
              }
            },
            {
              "type": "sandwich_transaction",
              "expression": {
                "address": "0xdac17f958d2ee523a2206206994597c13d831ec7",
                "transaction_type": "direct"
              }
            },
            {
              "type": "no_action",
              "expression": {
                "no_log": {
                  "address": "0xdac17f958d2ee523a2206206994597c13d831ec7",
                  "network_id": "1",
                  "event_name": "FlashLoan",
                  "event_id": "0x631a333434ae2abd5590106b02c84c22d0899eef53070f2dc5a6a512f2b622b8"
                },
                "check_after_seconds": 3600
              }
            },
            {
              "type": "blacklisted_caller_addresses",
              "expression": {
                "addresses": [
                  "0x6b9ef02657339310e28a7a9d4b5f25f7c1f68d61"
                ]
              }
            }
          ],
          "delivery_channels": [
            {
              "id": "10159dbf-278e-4f4a-954d-d299c3ddc220",
              "enabled": true
            }
          ]
        }
      },
      "test_alert_post_request": {
        "summary": "Test an Alert Against a Transaction",
        "description": "Checks whether an existing on-chain transaction would trigger the given\nalert. The response reports whether the transaction matched the alert's\ntrigger conditions.",
        "value": {
          "network_id": "1",
          "alert_id": "daa13590-eda0-4996-a80b-1a43c8006084",
          "tx_hash": "0xeb22a8b76c48c912d662bffef2272e9a6413ddbe6da541c84a51c249f04ffaf9"
        }
      },
      "update_alert_patch_request": {
        "summary": "Update Alert Name and Disable It",
        "description": "Updates the alert's name and disables it. The update is a full replace, not\na sparse patch — send the complete alert definition, since omitted boolean\nfields such as `enabled` default to `false`.",
        "value": {
          "name": "Successful transaction in My new contract name",
          "color": "#33d9b2",
          "description": "Temporarily disabled while contract is migrated",
          "simple_type": "successful_tx",
          "enabled": false,
          "expressions": [
            {
              "type": "contract_address",
              "expression": {
                "address": "0x94c87a7b26980ae7aaa361c5c7e03e632ab36e6c"
              }
            },
            {
              "type": "network",
              "expression": {
                "network_id": "1"
              }
            },
            {
              "type": "tx_status",
              "expression": {
                "transaction_success": true
              }
            }
          ],
          "delivery_channels": [
            {
              "enabled": true,
              "id": "b16b4b75-e034-44c9-a053-f10d769a1d64"
            }
          ]
        }
      },
      "block_create_web3_action_post_request": {
        "summary": "Block Web3 Action",
        "description": "An example payload object with details about web3 action of Block type.",
        "value": {
          "action": {
            "name": "block-action",
            "description": "Triggers on every 10th block on ETH Mainnet and Polygon.",
            "source": "// Do not change function name.\nconst actionFn = async (context, blockEvent) => {\n    console.log(blockEvent)\n\n    // To access project's secret\n    // let secret = await context.secrets.get('MY-SECRET')\n\n    // To access project's storage\n    // let value = await context.storage.getStr('MY-KEY')\n    // await context.storage.putStr('MY-KEY', 'MY-VALUE')\n\n    // Your logic goes here :)\n}\n// Do not change this.\nmodule.exports = { actionFn }",
            "triggerType": "BLOCK",
            "runtime": "V2",
            "function": "actionFn",
            "invocationType": "ASYNC",
            "trigger": {
              "type": "block",
              "block": {
                "network": [
                  "1",
                  "137"
                ],
                "blocks": 10
              }
            }
          },
          "deploy": true
        }
      },
      "periodic_create_web3_action_post_request": {
        "summary": "Periodic Web3 Action",
        "description": "An example payload object with details about web3 action of Periodic type.",
        "value": {
          "action": {
            "name": "periodic-1hour",
            "description": "CRON job triggered every 1 hour",
            "source": "// Do not change function name.\nconst actionFn = async (context, periodicEvent) => {\n    console.log(periodicEvent)\n\n    // To access project's secret\n    // let secret = await context.secrets.get('MY-SECRET')\n\n    // To access project's storage\n    // let value = await context.storage.getStr('MY-KEY')\n    // await context.storage.putStr('MY-KEY', 'MY-VALUE')\n\n    // Your logic goes here :)\n}\n// Do not change this.\nmodule.exports = { actionFn }",
            "triggerType": "PERIODIC",
            "runtime": "V2",
            "function": "actionFn",
            "invocationType": "ASYNC",
            "trigger": {
              "type": "periodic",
              "periodic": {
                "cron": "0 * * * *",
                "interval": "1h"
              }
            }
          },
          "deploy": true
        }
      },
      "webhook_create_web3_action_post_request": {
        "summary": "Webhook Web3 Action",
        "description": "An example payload object with details about web3 action of Webhook type.",
        "value": {
          "action": {
            "name": "webhook-action",
            "description": "Non-authenticated webhook action. You will be able to make a request without using a valid Tenderly token.",
            "source": "// Do not change function name.\nconst actionFn = async (context, webhookEvent) => {\n    console.log(webhookEvent)\n\n    // To access project's secret\n    // let secret = await context.secrets.get('MY-SECRET')\n\n    // To access project's storage\n    // let value = await context.storage.getStr('MY-KEY')\n    // await context.storage.putStr('MY-KEY', 'MY-VALUE')\n\n    // Your logic goes here :)\n}\n// Do not change this.\nmodule.exports = { actionFn }",
            "triggerType": "WEBHOOK",
            "runtime": "V2",
            "function": "actionFn",
            "invocationType": "ASYNC",
            "trigger": {
              "type": "webhook",
              "webhook": {
                "authenticated": false
              }
            }
          },
          "deploy": true
        }
      },
      "stop_all_web3_actions_post_request": {
        "summary": "Stop All Web3 Actions",
        "description": "An example payload object for stopping all web3 actions for given project. Array should be empty.",
        "value": {
          "actions": []
        }
      },
      "stop_multiple_web3_actions_post_request": {
        "summary": "Stop Multiple Web3 Actions",
        "description": "An example payload object for stopping multiple web3 actions for given project.",
        "value": {
          "actions": [
            "10fe403e-5e9a-4798-9e1f-0737dbf308d4"
          ]
        }
      },
      "resume_all_web3_actions_post_request": {
        "summary": "Resume All Web3 Actions",
        "description": "An example payload object for starting all web3 actions for given project. Array should be empty.",
        "value": {
          "actions": []
        }
      },
      "resume_multiple_web3_actions_post_request": {
        "summary": "Resume Multiple Web3 Actions",
        "description": "An example payload object for starting multiple web3 actions for given project.",
        "value": {
          "actions": [
            "10fe403e-5e9a-4798-9e1f-0737dbf308d4"
          ]
        }
      },
      "env_create_environment_post_request": {
        "summary": "Multi-Chain Environment with Bridging",
        "description": "Creates an environment spanning Ethereum Mainnet and Base with automatic\ncross-chain bridge relaying, for end-to-end testing of bridging and\nmessaging protocols. Omit `block_number` to fork a network at its latest\nblock.",
        "value": {
          "display_name": "My Multi-Chain Environment",
          "slug": "my-multi-chain-env",
          "network_configs": [
            {
              "network_id": "1",
              "block_number": "0x12c50f0",
              "explorer_config": {
                "enabled": true,
                "verification_visibility": "abi"
              }
            },
            {
              "network_id": "8453",
              "accounts": [
                {
                  "address": "0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266",
                  "balance": "0xde0b6b3a7640000"
                }
              ]
            }
          ],
          "bridge_config": {
            "enabled": true,
            "relay_mode": "autoRelay",
            "delay_seconds": 0
          }
        }
      },
      "env_send_vnet_transaction_post_request": {
        "summary": "ERC-20 Approve on an Environment Network",
        "description": "Sends a DAI `approve` transaction on one Virtual TestNet within the\nenvironment instance. The state override funds the sender with ETH for gas\nbefore the transaction executes.",
        "value": {
          "callArgs": {
            "from": "0xe2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2",
            "to": "0x6b175474e89094c44da98b954eedeac495271d0f",
            "gas": "0x7a1200",
            "gasPrice": "0x0",
            "value": "0x0",
            "data": "0x095ea7b3000000000000000000000000f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1000000000000000000000000000000000000000000000000000000000000012b"
          },
          "stateOverrides": {
            "0xe2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2": {
              "balance": "0xde0b6b3a7640000"
            }
          }
        }
      },
      "env_simulate_vnet_transaction_post_request": {
        "summary": "Simulate an ERC-20 Approve on an Environment Network",
        "description": "Simulates a DAI `approve` call on one Virtual TestNet within the environment\ninstance without persisting state changes. `blockNumber` is required and\nselects the block whose state the simulation runs against.",
        "value": {
          "callArgs": {
            "from": "0xe2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2",
            "to": "0x6b175474e89094c44da98b954eedeac495271d0f",
            "gas": "0x7a1200",
            "gasPrice": "0x0",
            "value": "0x0",
            "data": "0x095ea7b3000000000000000000000000f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1000000000000000000000000000000000000000000000000000000000000012b"
          },
          "blockNumber": "0x151924A"
        }
      }
    },
    "headers": {
      "ratelimit-limit": {
        "schema": {
          "type": "integer"
        },
        "example": 100,
        "description": "The default limit on number of requests that can be made per minute. Current rate limits are:\n* **Non-authenticated users:** 100 requests per minute\n* **Authenticated users:** 400 requests per minute"
      },
      "ratelimit-remaining": {
        "schema": {
          "type": "integer"
        },
        "example": 16,
        "description": "The number of requests in your quota that remain before you hit your request limit."
      },
      "ratelimit-reset": {
        "schema": {
          "type": "integer"
        },
        "example": 1444931833,
        "description": "The time when the oldest request will expire. The value is given in Unix epoch time."
      }
    },
    "responses": {
      "add_contract_post": {
        "description": "A successful response.",
        "headers": {
          "X-Tdly-Limit": {
            "$ref": "#/components/headers/ratelimit-limit"
          },
          "X-Tdly-Remaining": {
            "$ref": "#/components/headers/ratelimit-remaining"
          },
          "X-Tdly-Reset-Timestamp": {
            "$ref": "#/components/headers/ratelimit-reset"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/add_contract_post_response"
                }
              ]
            }
          }
        }
      },
      "bad_request": {
        "description": "Bad Request",
        "headers": {
          "X-Tdly-Limit": {
            "$ref": "#/components/headers/ratelimit-limit"
          },
          "X-Tdly-Remaining": {
            "$ref": "#/components/headers/ratelimit-remaining"
          },
          "X-Tdly-Reset-Timestamp": {
            "$ref": "#/components/headers/ratelimit-reset"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/error"
            },
            "example": {
              "error": {
                "id": "596b1dc7-af60-477b-aab3-6c93eb92ddfa",
                "slug": "bad_request",
                "message": "Bad request input parameters"
              }
            }
          }
        }
      },
      "unauthorized": {
        "description": "Unauthorized",
        "headers": {
          "X-Tdly-Limit": {
            "$ref": "#/components/headers/ratelimit-limit"
          },
          "X-Tdly-Remaining": {
            "$ref": "#/components/headers/ratelimit-remaining"
          },
          "X-Tdly-Reset-Timestamp": {
            "$ref": "#/components/headers/ratelimit-reset"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/error"
            },
            "example": {
              "error": {
                "id": "596b1dc7-af60-477b-aab3-6c93eb92ddfa",
                "slug": "unauthorized",
                "message": "Unauthorized"
              }
            }
          }
        }
      },
      "forbidden": {
        "description": "Forbidden",
        "headers": {
          "X-Tdly-Limit": {
            "$ref": "#/components/headers/ratelimit-limit"
          },
          "X-Tdly-Remaining": {
            "$ref": "#/components/headers/ratelimit-remaining"
          },
          "X-Tdly-Reset-Timestamp": {
            "$ref": "#/components/headers/ratelimit-reset"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/error"
            },
            "example": {
              "error": {
                "id": "596b1dc7-af60-477b-aab3-6c93eb92ddfa",
                "slug": "insufficient_permissions",
                "message": "Insufficient permissions"
              }
            }
          }
        }
      },
      "not_found": {
        "description": "The resource was not found.",
        "headers": {
          "X-Tdly-Limit": {
            "$ref": "#/components/headers/ratelimit-limit"
          },
          "X-Tdly-Remaining": {
            "$ref": "#/components/headers/ratelimit-remaining"
          },
          "X-Tdly-Reset-Timestamp": {
            "$ref": "#/components/headers/ratelimit-reset"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/error"
            },
            "example": {
              "error": {
                "id": "596b1dc7-af60-477b-aab3-6c93eb92ddfa",
                "slug": "resource_not_found",
                "message": "The resource you requested could not be found."
              }
            }
          }
        }
      },
      "too_many_requests": {
        "description": "The request was rate limited. See the [rate limits](#section/Introduction/Rate-limits) section for the current limits and how request counts expire.",
        "headers": {
          "X-Tdly-Limit": {
            "$ref": "#/components/headers/ratelimit-limit"
          },
          "X-Tdly-Remaining": {
            "$ref": "#/components/headers/ratelimit-remaining"
          },
          "X-Tdly-Reset-Timestamp": {
            "$ref": "#/components/headers/ratelimit-reset"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/error"
            },
            "example": {
              "error": {
                "id": "9a7bbe06-7f6f-4a45-8c78-8d64b9a9d0e1",
                "slug": "too_many_requests",
                "message": "API Rate limit exceeded."
              }
            }
          }
        }
      },
      "server_error": {
        "description": "Server error.",
        "headers": {
          "X-Tdly-Limit": {
            "$ref": "#/components/headers/ratelimit-limit"
          },
          "X-Tdly-Remaining": {
            "$ref": "#/components/headers/ratelimit-remaining"
          },
          "X-Tdly-Reset-Timestamp": {
            "$ref": "#/components/headers/ratelimit-reset"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/error"
            },
            "example": {
              "error": {
                "id": "596b1dc7-af60-477b-aab3-6c93eb92ddfa",
                "slug": "internal_server_error",
                "message": "Internal server error"
              }
            }
          }
        }
      },
      "contracts_get": {
        "description": "A successful response.",
        "headers": {
          "X-Tdly-Limit": {
            "$ref": "#/components/headers/ratelimit-limit"
          },
          "X-Tdly-Remaining": {
            "$ref": "#/components/headers/ratelimit-remaining"
          },
          "X-Tdly-Reset-Timestamp": {
            "$ref": "#/components/headers/ratelimit-reset"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/contracts_get_response"
                }
              ]
            }
          }
        }
      },
      "encode_contract_state_post": {
        "description": "A successful response.",
        "headers": {
          "X-Tdly-Limit": {
            "$ref": "#/components/headers/ratelimit-limit"
          },
          "X-Tdly-Remaining": {
            "$ref": "#/components/headers/ratelimit-remaining"
          },
          "X-Tdly-Reset-Timestamp": {
            "$ref": "#/components/headers/ratelimit-reset"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/encode_states_post_response"
                }
              ]
            }
          }
        }
      },
      "tag_contracts_post": {
        "description": "A successful response.",
        "headers": {
          "X-Tdly-Limit": {
            "$ref": "#/components/headers/ratelimit-limit"
          },
          "X-Tdly-Remaining": {
            "$ref": "#/components/headers/ratelimit-remaining"
          },
          "X-Tdly-Reset-Timestamp": {
            "$ref": "#/components/headers/ratelimit-reset"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/tag_contracts_post_response"
                }
              ]
            }
          }
        }
      },
      "rename_contract_post": {
        "description": "The smart contract was renamed successfully.",
        "headers": {
          "X-Tdly-Limit": {
            "$ref": "#/components/headers/ratelimit-limit"
          },
          "X-Tdly-Remaining": {
            "$ref": "#/components/headers/ratelimit-remaining"
          },
          "X-Tdly-Reset-Timestamp": {
            "$ref": "#/components/headers/ratelimit-reset"
          }
        }
      },
      "add_wallet_post": {
        "description": "A successful response.",
        "headers": {
          "X-Tdly-Limit": {
            "$ref": "#/components/headers/ratelimit-limit"
          },
          "X-Tdly-Remaining": {
            "$ref": "#/components/headers/ratelimit-remaining"
          },
          "X-Tdly-Reset-Timestamp": {
            "$ref": "#/components/headers/ratelimit-reset"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/add_wallet_post_response"
            }
          }
        }
      },
      "wallet_get": {
        "description": "A successful response.",
        "headers": {
          "X-Tdly-Limit": {
            "$ref": "#/components/headers/ratelimit-limit"
          },
          "X-Tdly-Remaining": {
            "$ref": "#/components/headers/ratelimit-remaining"
          },
          "X-Tdly-Reset-Timestamp": {
            "$ref": "#/components/headers/ratelimit-reset"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/wallet_get_response"
            }
          }
        }
      },
      "simulate_post": {
        "description": "A successful response.",
        "headers": {
          "X-Tdly-Limit": {
            "$ref": "#/components/headers/ratelimit-limit"
          },
          "X-Tdly-Remaining": {
            "$ref": "#/components/headers/ratelimit-remaining"
          },
          "X-Tdly-Reset-Timestamp": {
            "$ref": "#/components/headers/ratelimit-reset"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/simulation-response",
              "oneOf": [
                {
                  "$ref": "#/components/schemas/full_mode_simulate_post_response"
                },
                {
                  "$ref": "#/components/schemas/quick_mode_simulate_post_response"
                },
                {
                  "$ref": "#/components/schemas/abi_mode_simulate_post_response"
                },
                {
                  "$ref": "#/components/schemas/failed_tx_simulate_post_response"
                },
                {
                  "$ref": "#/components/schemas/simulation-asset-changes"
                },
                {
                  "$ref": "#/components/schemas/simulate_nft_asset_changes_post_response"
                }
              ]
            }
          }
        }
      },
      "simulate_bundle_post": {
        "description": "A successful response.",
        "headers": {
          "X-Tdly-Limit": {
            "$ref": "#/components/headers/ratelimit-limit"
          },
          "X-Tdly-Remaining": {
            "$ref": "#/components/headers/ratelimit-remaining"
          },
          "X-Tdly-Reset-Timestamp": {
            "$ref": "#/components/headers/ratelimit-reset"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/simulation-bundle-response",
              "oneOf": [
                {
                  "$ref": "#/components/schemas/simulate_bundle_post_response"
                }
              ]
            }
          }
        }
      },
      "simulations_single_post": {
        "description": "A successful response.",
        "headers": {
          "X-Tdly-Limit": {
            "$ref": "#/components/headers/ratelimit-limit"
          },
          "X-Tdly-Remaining": {
            "$ref": "#/components/headers/ratelimit-remaining"
          },
          "X-Tdly-Reset-Timestamp": {
            "$ref": "#/components/headers/ratelimit-reset"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/simulations_single_post_response"
                }
              ]
            }
          }
        }
      },
      "simulations_get": {
        "description": "A successful response.",
        "headers": {
          "X-Tdly-Limit": {
            "$ref": "#/components/headers/ratelimit-limit"
          },
          "X-Tdly-Remaining": {
            "$ref": "#/components/headers/ratelimit-remaining"
          },
          "X-Tdly-Reset-Timestamp": {
            "$ref": "#/components/headers/ratelimit-reset"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/simulations_get_response"
                }
              ]
            }
          }
        }
      },
      "simulations_single_info_get": {
        "description": "A successful response.",
        "headers": {
          "X-Tdly-Limit": {
            "$ref": "#/components/headers/ratelimit-limit"
          },
          "X-Tdly-Remaining": {
            "$ref": "#/components/headers/ratelimit-remaining"
          },
          "X-Tdly-Reset-Timestamp": {
            "$ref": "#/components/headers/ratelimit-reset"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/simulations_single_info_get_response"
                }
              ]
            }
          }
        }
      },
      "simulation_drafts_post": {
        "description": "The draft was stored.",
        "headers": {
          "X-Tdly-Limit": {
            "$ref": "#/components/headers/ratelimit-limit"
          },
          "X-Tdly-Remaining": {
            "$ref": "#/components/headers/ratelimit-remaining"
          },
          "X-Tdly-Reset-Timestamp": {
            "$ref": "#/components/headers/ratelimit-reset"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/simulation-draft-create-response"
            },
            "examples": {
              "created": {
                "$ref": "#/components/examples/simulation_drafts_post_response"
              }
            }
          }
        }
      },
      "simulation_draft_get": {
        "description": "The stored draft.",
        "headers": {
          "X-Tdly-Limit": {
            "$ref": "#/components/headers/ratelimit-limit"
          },
          "X-Tdly-Remaining": {
            "$ref": "#/components/headers/ratelimit-remaining"
          },
          "X-Tdly-Reset-Timestamp": {
            "$ref": "#/components/headers/ratelimit-reset"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/simulation-draft-response"
            },
            "examples": {
              "project_scoped_draft": {
                "$ref": "#/components/examples/simulation_draft_get_project_response"
              },
              "shared_draft": {
                "$ref": "#/components/examples/simulation_draft_get_shared_response"
              }
            }
          }
        }
      },
      "create_alert_post": {
        "description": "A successful response.",
        "headers": {
          "X-Tdly-Limit": {
            "$ref": "#/components/headers/ratelimit-limit"
          },
          "X-Tdly-Remaining": {
            "$ref": "#/components/headers/ratelimit-remaining"
          },
          "X-Tdly-Reset-Timestamp": {
            "$ref": "#/components/headers/ratelimit-reset"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/create-alert-response",
              "oneOf": [
                {
                  "$ref": "#/components/schemas/successful_transaction_create_alert_post_response"
                },
                {
                  "$ref": "#/components/schemas/failed_transaction_create_alert_post_response"
                },
                {
                  "$ref": "#/components/schemas/function_called_create_alert_post_response"
                },
                {
                  "$ref": "#/components/schemas/log_emitted_create_alert_post_response"
                },
                {
                  "$ref": "#/components/schemas/emitted_log_parameter_create_alert_post_response"
                },
                {
                  "$ref": "#/components/schemas/erc20_transfer_log_emitted_create_alert_post_response"
                },
                {
                  "$ref": "#/components/schemas/allowlisted_callers_create_alert_post_response"
                },
                {
                  "$ref": "#/components/schemas/blocklisted_callers_create_alert_post_response"
                },
                {
                  "$ref": "#/components/schemas/eth_balance_create_alert_post_response"
                },
                {
                  "$ref": "#/components/schemas/tx_value_create_alert_post_response"
                },
                {
                  "$ref": "#/components/schemas/state_change_create_alert_post_response"
                },
                {
                  "$ref": "#/components/schemas/view_function_create_alert_post_response"
                }
              ]
            }
          }
        }
      },
      "test_alert_post": {
        "description": "A successful response.",
        "headers": {
          "X-Tdly-Limit": {
            "$ref": "#/components/headers/ratelimit-limit"
          },
          "X-Tdly-Remaining": {
            "$ref": "#/components/headers/ratelimit-remaining"
          },
          "X-Tdly-Reset-Timestamp": {
            "$ref": "#/components/headers/ratelimit-reset"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/test_alert_post_response"
            }
          }
        }
      },
      "alerts_get": {
        "description": "A successful response.",
        "headers": {
          "X-Tdly-Limit": {
            "$ref": "#/components/headers/ratelimit-limit"
          },
          "X-Tdly-Remaining": {
            "$ref": "#/components/headers/ratelimit-remaining"
          },
          "X-Tdly-Reset-Timestamp": {
            "$ref": "#/components/headers/ratelimit-reset"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/alerts_get_response"
            }
          }
        }
      },
      "alert_history_get": {
        "description": "A successful response.",
        "headers": {
          "X-Tdly-Limit": {
            "$ref": "#/components/headers/ratelimit-limit"
          },
          "X-Tdly-Remaining": {
            "$ref": "#/components/headers/ratelimit-remaining"
          },
          "X-Tdly-Reset-Timestamp": {
            "$ref": "#/components/headers/ratelimit-reset"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/alert_history_get_response"
            }
          }
        }
      },
      "update_alert_patch": {
        "description": "A successful response.",
        "headers": {
          "X-Tdly-Limit": {
            "$ref": "#/components/headers/ratelimit-limit"
          },
          "X-Tdly-Remaining": {
            "$ref": "#/components/headers/ratelimit-remaining"
          },
          "X-Tdly-Reset-Timestamp": {
            "$ref": "#/components/headers/ratelimit-reset"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/update_alert_patch_response"
            }
          }
        }
      },
      "check_supported_networks_get": {
        "description": "A successful response.",
        "headers": {
          "X-Tdly-Limit": {
            "$ref": "#/components/headers/ratelimit-limit"
          },
          "X-Tdly-Remaining": {
            "$ref": "#/components/headers/ratelimit-remaining"
          },
          "X-Tdly-Reset-Timestamp": {
            "$ref": "#/components/headers/ratelimit-reset"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/check_supported_networks_response"
            }
          }
        }
      },
      "account_delivery_channels_get": {
        "description": "A successful response.",
        "headers": {
          "X-Tdly-Limit": {
            "$ref": "#/components/headers/ratelimit-limit"
          },
          "X-Tdly-Remaining": {
            "$ref": "#/components/headers/ratelimit-remaining"
          },
          "X-Tdly-Reset-Timestamp": {
            "$ref": "#/components/headers/ratelimit-reset"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/account_delivery_channels_get_response"
            }
          }
        }
      },
      "project_delivery_channels_get": {
        "description": "A successful response.",
        "headers": {
          "X-Tdly-Limit": {
            "$ref": "#/components/headers/ratelimit-limit"
          },
          "X-Tdly-Remaining": {
            "$ref": "#/components/headers/ratelimit-remaining"
          },
          "X-Tdly-Reset-Timestamp": {
            "$ref": "#/components/headers/ratelimit-reset"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/project_delivery_channels_get_response"
            }
          }
        }
      },
      "create_web3_action_post": {
        "description": "A successful response.",
        "headers": {
          "X-Tdly-Limit": {
            "$ref": "#/components/headers/ratelimit-limit"
          },
          "X-Tdly-Remaining": {
            "$ref": "#/components/headers/ratelimit-remaining"
          },
          "X-Tdly-Reset-Timestamp": {
            "$ref": "#/components/headers/ratelimit-reset"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/block_create_web3_action_post_response"
                },
                {
                  "$ref": "#/components/schemas/periodic_create_web3_action_post_response"
                },
                {
                  "$ref": "#/components/schemas/webhook_create_web3_action_post_response"
                }
              ]
            }
          }
        }
      },
      "web3_actions_get": {
        "description": "A successful response.",
        "headers": {
          "X-Tdly-Limit": {
            "$ref": "#/components/headers/ratelimit-limit"
          },
          "X-Tdly-Remaining": {
            "$ref": "#/components/headers/ratelimit-remaining"
          },
          "X-Tdly-Reset-Timestamp": {
            "$ref": "#/components/headers/ratelimit-reset"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/web3_actions_get_response"
            }
          }
        }
      },
      "web3_action_get": {
        "description": "A successful response.",
        "headers": {
          "X-Tdly-Limit": {
            "$ref": "#/components/headers/ratelimit-limit"
          },
          "X-Tdly-Remaining": {
            "$ref": "#/components/headers/ratelimit-remaining"
          },
          "X-Tdly-Reset-Timestamp": {
            "$ref": "#/components/headers/ratelimit-reset"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/web3-action-response"
            }
          }
        }
      },
      "web3_action_executions_get": {
        "description": "A successful response.",
        "headers": {
          "X-Tdly-Limit": {
            "$ref": "#/components/headers/ratelimit-limit"
          },
          "X-Tdly-Remaining": {
            "$ref": "#/components/headers/ratelimit-remaining"
          },
          "X-Tdly-Reset-Timestamp": {
            "$ref": "#/components/headers/ratelimit-reset"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/web3_action_executions_get_response"
            }
          }
        }
      },
      "web3_action_execution_get": {
        "description": "A successful response.",
        "headers": {
          "X-Tdly-Limit": {
            "$ref": "#/components/headers/ratelimit-limit"
          },
          "X-Tdly-Remaining": {
            "$ref": "#/components/headers/ratelimit-remaining"
          },
          "X-Tdly-Reset-Timestamp": {
            "$ref": "#/components/headers/ratelimit-reset"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/web3-action-execution-response"
            }
          }
        }
      },
      "env-environments-list-response": {
        "description": "A successful response.",
        "headers": {
          "X-Tdly-Limit": {
            "$ref": "#/components/headers/ratelimit-limit"
          },
          "X-Tdly-Remaining": {
            "$ref": "#/components/headers/ratelimit-remaining"
          },
          "X-Tdly-Reset-Timestamp": {
            "$ref": "#/components/headers/ratelimit-reset"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/env-environments-list"
            }
          }
        }
      },
      "env-environment-response": {
        "description": "A successful response.",
        "headers": {
          "X-Tdly-Limit": {
            "$ref": "#/components/headers/ratelimit-limit"
          },
          "X-Tdly-Remaining": {
            "$ref": "#/components/headers/ratelimit-remaining"
          },
          "X-Tdly-Reset-Timestamp": {
            "$ref": "#/components/headers/ratelimit-reset"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/env-environment"
            }
          }
        }
      },
      "vnet-transactions-response": {
        "description": "A successful response.",
        "headers": {
          "X-Tdly-Limit": {
            "$ref": "#/components/headers/ratelimit-limit"
          },
          "X-Tdly-Remaining": {
            "$ref": "#/components/headers/ratelimit-remaining"
          },
          "X-Tdly-Reset-Timestamp": {
            "$ref": "#/components/headers/ratelimit-reset"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/vnet-transactions-response"
            }
          }
        }
      },
      "vnet-transaction-response": {
        "description": "A successful response.",
        "headers": {
          "X-Tdly-Limit": {
            "$ref": "#/components/headers/ratelimit-limit"
          },
          "X-Tdly-Remaining": {
            "$ref": "#/components/headers/ratelimit-remaining"
          },
          "X-Tdly-Reset-Timestamp": {
            "$ref": "#/components/headers/ratelimit-reset"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/vnet-transaction-response"
            }
          }
        }
      },
      "env-simulate-execution-response": {
        "description": "A successful response.",
        "headers": {
          "X-Tdly-Limit": {
            "$ref": "#/components/headers/ratelimit-limit"
          },
          "X-Tdly-Remaining": {
            "$ref": "#/components/headers/ratelimit-remaining"
          },
          "X-Tdly-Reset-Timestamp": {
            "$ref": "#/components/headers/ratelimit-reset"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/env-simulate-execution-response"
            }
          }
        }
      }
    }
  },
  "x-tagGroups": [
    {
      "name": "Infrastructure 3.0",
      "tags": [
        "Simulator",
        "Virtual Environments",
        "Actions"
      ]
    },
    {
      "name": "Development",
      "tags": [
        "Contracts",
        "Wallets"
      ]
    },
    {
      "name": "Observability",
      "tags": [
        "Alerts",
        "Delivery Channels"
      ]
    },
    {
      "name": "Other",
      "tags": [
        "Other"
      ]
    }
  ]
}