{
"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": "Simulations",
"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": "Web3 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 TestNets",
"description": "Virtual TestNets 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\nLearn more about [Virtual TestNets](https://docs.tenderly.co/virtual-testnets)."
},
{
"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",
"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"
},
"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"
}
}
}
}
}
},
"/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",
"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"
}
],
"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"
},
"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",
"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"
},
"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"
}
}
}
}
}
},
"/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",
"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"
},
"500": {
"$ref": "#/components/responses/server_error"
}
},
"requestBody": {
"required": true,
"description": "Tag contracts payload",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/tag-contracts-payload"
}
}
}
}
}
},
"/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",
"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"
},
"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",
"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"
},
"500": {
"$ref": "#/components/responses/server_error"
}
},
"requestBody": {
"required": true,
"description": "Rename contract payload",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/rename-contract-payload"
}
}
}
}
}
},
"/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",
"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"
},
"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"
},
"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"
}
}
}
},
"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"
},
"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": ["Simulations"],
"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"
},
"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"
},
"blocker_override": {
"$ref": "#/components/examples/block_header_override_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": ["Simulations"],
"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).",
"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"
},
"500": {
"$ref": "#/components/responses/server_error"
}
},
"requestBody": {
"required": true,
"description": "Simulate transaction bundle payload",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/simulation-bundle-payload"
}
}
}
},
"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": ["Simulations"],
"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"
},
"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": ["Simulations"],
"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"
},
"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": ["Simulations"],
"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"
},
"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": ["Simulations"],
"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"
},
"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": ["Simulations"],
"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"
},
"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});"
}
]
}
},
"/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",
"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"
},
"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",
"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"
},
"500": {
"$ref": "#/components/responses/server_error"
}
},
"requestBody": {
"required": true,
"description": "Send test alert payload",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/test-alert-payload"
}
}
}
}
}
},
"/v1/account/{accountSlug}/project/{projectSlug}/alerts": {
"get": {
"tags": ["Alerts"],
"summary": "List Alerts",
"description": "This endpoint allows you retrieve alerts for given project.",
"operationId": "listAlerts",
"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"
},
"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"
},
"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",
"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"
},
"500": {
"$ref": "#/components/responses/server_error"
}
},
"requestBody": {
"required": true,
"description": "Update alert payload",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/create-alert-payload"
}
}
}
}
},
"delete": {
"tags": ["Alerts"],
"summary": "Delete Alert",
"description": "Delete an existing Alert. You need to provide the Alert ID.",
"operationId": "deleteAlert",
"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"
},
"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",
"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"
},
"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",
"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"
},
"500": {
"$ref": "#/components/responses/server_error"
}
}
}
},
"/v1/account/{accountSlug}/project/{projectSlug}/actions/publishFile": {
"post": {
"tags": ["Web3 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.",
"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"
},
"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": ["Web3 Actions"],
"summary": "Get details for all Web3 Actions",
"description": "Retrieve the configuration details for all Web3 Actions created in a specific project.",
"operationId": "getWeb3ActionsForProject",
"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"
},
"500": {
"$ref": "#/components/responses/server_error"
}
}
}
},
"/v1/account/{accountSlug}/project/{projectSlug}/actions/action/{actionId}": {
"get": {
"tags": ["Web3 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",
"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"
},
"500": {
"$ref": "#/components/responses/server_error"
}
}
},
"delete": {
"tags": ["Web3 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"
},
"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": ["Web3 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"
},
"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": ["Web3 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"
},
"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": ["Web3 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"
},
"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": ["Web3 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"
},
"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": ["Web3 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",
"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"
},
"500": {
"$ref": "#/components/responses/server_error"
}
}
}
},
"/v1/account/{accountSlug}/project/{projectSlug}/actions/action/{actionId}/calls/call/{executionId}": {
"get": {
"tags": ["Web3 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",
"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"
},
"500": {
"$ref": "#/components/responses/server_error"
}
}
}
},
"/v1/account/{accountSlug}/project/{projectSlug}/vnets": {
"get": {
"tags": ["Virtual TestNets"],
"summary": "Get Virtual TestNets",
"description": "Get Virtual TestNets for the given user and project",
"operationId": "getVnets",
"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"
},
{
"description": "Keywords to be searched",
"in": "query",
"name": "keywords",
"schema": {
"type": "string"
}
},
{
"name": "match_field",
"description": "VNet field to match with keywords",
"in": "query",
"schema": {
"type": "string",
"default": "name",
"enum": ["name", "slug"]
}
},
{
"name": "match_type",
"description": "VNet field matching type",
"schema": {
"type": "string",
"default": "contains",
"enum": ["exact", "prefix", "suffix", "contains"]
},
"in": "query"
},
{
"name": "statuses",
"description": "VNet statuses",
"in": "query",
"schema": {
"type": "array",
"items": {
"type": "string",
"enum": ["running", "stopped", "cloning"]
}
}
},
{
"name": "networkIDs",
"description": "List of network IDs",
"in": "query",
"schema": {
"type": "array",
"items": {
"type": "string"
}
},
"example": ["1", "10"]
},
{
"name": "page",
"description": "Page number for pagination",
"in": "query",
"example": 1,
"schema": {
"type": "integer",
"minimum": 1,
"default": 1
}
},
{
"name": "per_page",
"description": "Number of VNets returned",
"in": "query",
"example": 1,
"schema": {
"type": "integer",
"minimum": 1,
"default": 10
}
}
],
"responses": {
"200": {
"$ref": "#/components/responses/vnets-response"
},
"400": {
"$ref": "#/components/responses/bad_request"
},
"401": {
"$ref": "#/components/responses/unauthorized"
},
"403": {
"$ref": "#/components/responses/forbidden"
},
"404": {
"$ref": "#/components/responses/not_found"
},
"500": {
"$ref": "#/components/responses/server_error"
}
}
},
"post": {
"tags": ["Virtual TestNets"],
"summary": "Create Virtual TestNet",
"description": "Create Virtual TestNet",
"operationId": "createVnet",
"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/vnet-response"
},
"400": {
"$ref": "#/components/responses/bad_request"
},
"401": {
"$ref": "#/components/responses/unauthorized"
},
"403": {
"$ref": "#/components/responses/forbidden"
},
"404": {
"$ref": "#/components/responses/not_found"
},
"500": {
"$ref": "#/components/responses/server_error"
}
},
"requestBody": {
"required": true,
"description": "Create new Virtual TestNet",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/vnet-request"
}
}
}
}
},
"delete": {
"tags": ["Virtual TestNets"],
"summary": "Delete Virtual TestNets",
"description": "Permanently removes Virtual TestNets from the project",
"operationId": "deleteVnets",
"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": "Returns an empty response"
},
"400": {
"$ref": "#/components/responses/bad_request"
},
"401": {
"$ref": "#/components/responses/unauthorized"
},
"403": {
"$ref": "#/components/responses/forbidden"
},
"404": {
"$ref": "#/components/responses/not_found"
},
"500": {
"$ref": "#/components/responses/server_error"
}
},
"requestBody": {
"required": true,
"description": "Delete Virtual TestNets",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"vnet_ids": {
"title": "vnet_ids",
"description": "Virtual TestNet IDs",
"type": "array",
"items": {
"type": "string"
},
"example": [
"f4b3b3b3-4b3b-4b3b-4b3b-4b3b3b3b3b3b",
"4b3b3b3b-4b3b-4b3b-4b3b-4b3b3b3b3b3b"
]
}
},
"required": ["vnet_ids"],
"example": {
"vnet_ids": [
"f4b3b3b3-4b3b-4b3b-4b3b-4b3b3b3b3b3b",
"4b3b3b3b-4b3b-4b3b-4b3b-4b3b3b3b3b3b"
]
}
}
}
}
}
}
},
"/v1/account/{accountSlug}/project/{projectSlug}/vnets/{vnetId}": {
"get": {
"tags": ["Virtual TestNets"],
"summary": "Get Virtual TestNet by ID",
"description": "Get Virtual TestNet by ID",
"operationId": "getVnet",
"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": "vnetId",
"in": "path",
"schema": {
"type": "string"
},
"required": true,
"description": "Virtual TestNet ID obtained in creation (not the RPC link key)",
"example": "50115ccc-c9ee-452d-986b-56af1b417b3f"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/vnet-response"
},
"400": {
"$ref": "#/components/responses/bad_request"
},
"401": {
"$ref": "#/components/responses/unauthorized"
},
"403": {
"$ref": "#/components/responses/forbidden"
},
"404": {
"$ref": "#/components/responses/not_found"
},
"500": {
"$ref": "#/components/responses/server_error"
}
}
},
"patch": {
"tags": ["Virtual TestNets"],
"summary": "Update Virtual TestNet by ID",
"description": "Update Virtual TestNet by ID",
"operationId": "updateVnet",
"parameters": [
{
"name": "accountSlug",
"in": "path",
"schema": {
"type": "string"
},
"required": true,
"description": "Account slug of the user/organization Virtual TestNet belongs to",
"example": "me"
},
{
"name": "projectSlug",
"in": "path",
"schema": {
"type": "string"
},
"required": true,
"description": "Project slug of the account",
"example": "project"
},
{
"name": "vnetId",
"in": "path",
"schema": {
"type": "string"
},
"required": true,
"description": "Virtual TestNet ID obtained in creation (not the RPC link key)",
"example": "50115ccc-c9ee-452d-986b-56af1b417b3f"
}
],
"responses": {
"200": {
"description": "Returns the updated container",
"$ref": "#/components/responses/vnet-response"
},
"400": {
"$ref": "#/components/responses/bad_request"
},
"401": {
"$ref": "#/components/responses/unauthorized"
},
"403": {
"$ref": "#/components/responses/forbidden"
},
"404": {
"$ref": "#/components/responses/not_found"
},
"500": {
"$ref": "#/components/responses/server_error"
}
},
"requestBody": {
"required": true,
"description": "Update Virtual TestNet",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/update-vnet-request"
}
}
}
}
},
"delete": {
"tags": ["Virtual TestNets"],
"summary": "Delete Virtual TestNet by ID",
"description": "Delete Virtual TestNet by ID",
"operationId": "deleteVnet",
"parameters": [
{
"name": "accountSlug",
"in": "path",
"schema": {
"type": "string"
},
"required": true,
"description": "Account slug of the user/organization Virtual TestNet belongs to",
"example": "me"
},
{
"name": "projectSlug",
"in": "path",
"schema": {
"type": "string"
},
"required": true,
"description": "Project slug of the account",
"example": "project"
},
{
"name": "vnetId",
"in": "path",
"schema": {
"type": "string"
},
"required": true,
"description": "Virtual TestNet ID obtained in creation (not the RPC link key)",
"example": "50115ccc-c9ee-452d-986b-56af1b417b3f"
}
],
"responses": {
"204": {
"description": "Returns an empty response"
},
"400": {
"$ref": "#/components/responses/bad_request"
},
"401": {
"$ref": "#/components/responses/unauthorized"
},
"403": {
"$ref": "#/components/responses/forbidden"
},
"404": {
"$ref": "#/components/responses/not_found"
},
"500": {
"$ref": "#/components/responses/server_error"
}
}
}
},
"/v1/account/{accountSlug}/project/{projectSlug}/vnets/fork": {
"post": {
"tags": ["Virtual TestNets"],
"summary": "Fork Virtual TestNet",
"description": "Fork a Virtual TestNet",
"operationId": "forkVnet",
"parameters": [
{
"name": "accountSlug",
"in": "path",
"schema": {
"type": "string"
},
"required": true,
"description": "Account slug of the user/organization Virtual TestNet belongs to",
"example": "me"
},
{
"name": "projectSlug",
"in": "path",
"schema": {
"type": "string"
},
"required": true,
"description": "Project slug of the account",
"example": "project"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/vnet-response"
},
"400": {
"$ref": "#/components/responses/bad_request"
},
"401": {
"$ref": "#/components/responses/unauthorized"
},
"403": {
"$ref": "#/components/responses/forbidden"
},
"404": {
"$ref": "#/components/responses/not_found"
},
"500": {
"$ref": "#/components/responses/server_error"
}
},
"requestBody": {
"required": true,
"description": "Fork a Virtual TestNet request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/fork-vnet-request"
}
}
}
}
}
},
"/v1/account/{accountSlug}/project/{projectSlug}/vnets/{vnetId}/transactions/{txHash}": {
"get": {
"tags": ["Virtual TestNets"],
"summary": "Get Virtual TestNet transaction by hash",
"description": "Get transaction on Virtual TestNet by hash",
"operationId": "getVnetTransaction",
"parameters": [
{
"name": "accountSlug",
"in": "path",
"schema": {
"type": "string"
},
"required": true,
"description": "Account slug of the user/organization Virtual TestNet belongs to",
"example": "me"
},
{
"name": "projectSlug",
"in": "path",
"schema": {
"type": "string"
},
"required": true,
"description": "Project slug of the account",
"example": "project"
},
{
"name": "vnetId",
"in": "path",
"schema": {
"type": "string"
},
"required": true,
"description": "Virtual TestNet ID",
"example": "50115ccc-c9ee-452d-986b-56af1b417b3f"
},
{
"name": "txHash",
"in": "path",
"schema": {
"type": "string"
},
"required": true,
"description": "Hash of transaction",
"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"
},
"500": {
"$ref": "#/components/responses/server_error"
}
}
}
},
"/v1/account/{accountSlug}/project/{projectSlug}/vnets/{vnetId}/transactions": {
"get": {
"tags": ["Virtual TestNets"],
"summary": "Get transactions on Virtual TestNets",
"description": "Get transactions on Virtual TestNet with pagination and with queries: status, kind and category",
"operationId": "getVnetTransactions",
"parameters": [
{
"name": "accountSlug",
"in": "path",
"schema": {
"type": "string"
},
"required": true,
"description": "Account slug of the user/organization Virtual TestNet belongs to",
"example": "me"
},
{
"name": "projectSlug",
"in": "path",
"schema": {
"type": "string"
},
"required": true,
"description": "Project slug of the account",
"example": "project"
},
{
"name": "vnetId",
"in": "path",
"schema": {
"type": "string"
},
"required": true,
"description": "Virtual TestNet ID",
"example": "50115ccc-c9ee-452d-986b-56af1b417b3f"
},
{
"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
},
{
"name": "status",
"in": "query",
"schema": {
"type": "string"
},
"required": false,
"description": "Search by status. Values are: success, failed, pending",
"example": "success,failed,pending"
},
{
"name": "category",
"in": "query",
"schema": {
"type": "string"
},
"required": false,
"description": "Search by category. Values are: write, read, compute",
"example": "write,read,compute"
},
{
"name": "kind",
"in": "query",
"schema": {
"type": "string"
},
"required": false,
"description": "Search by kind. Values are: blockchain, simulation, cheatcode, cheatcode_faucet",
"example": "blockchain,simulation,cheatcode,cheatcode_faucet"
}
],
"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"
},
"500": {
"$ref": "#/components/responses/server_error"
}
}
},
"post": {
"tags": ["Virtual TestNets"],
"summary": "Send transaction on Virtual TestNet",
"description": "Send transaction to be executed on Virtual TestNet",
"operationId": "sendVnetTransaction",
"parameters": [
{
"name": "accountSlug",
"in": "path",
"schema": {
"type": "string"
},
"required": true,
"description": "Account slug of the user/organization Virtual TestNet belongs to",
"example": "me"
},
{
"name": "projectSlug",
"in": "path",
"schema": {
"type": "string"
},
"required": true,
"description": "Project slug of the account",
"example": "project"
},
{
"name": "vnetId",
"in": "path",
"schema": {
"type": "string"
},
"required": true,
"description": "Virtual TestNet id",
"example": "50115ccc-c9ee-452d-986b-56af1b417b3f"
}
],
"requestBody": {
"required": true,
"description": "Execute transaction on Virtual TestNet",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/vnet-transaction-payload"
}
}
}
},
"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"
},
"500": {
"$ref": "#/components/responses/server_error"
}
}
}
},
"/v1/account/{accountSlug}/project/{projectSlug}/vnets/{vnetId}/transactions/simulate": {
"post": {
"tags": ["Virtual TestNets"],
"summary": "Simulate transaction on Virtual TestNet",
"description": "Send transaction to simulation. State will not be preserved. You will be able to override simulation with block overrides and state overrides. Also you will be able to simulate transaction on custom blockNumber.",
"operationId": "simulateVnetTx",
"parameters": [
{
"name": "accountSlug",
"in": "path",
"schema": {
"type": "string"
},
"required": true,
"description": "Account slug of the user/organization Virtual TestNet belongs to",
"example": "me"
},
{
"name": "projectSlug",
"in": "path",
"schema": {
"type": "string"
},
"required": true,
"description": "Project slug of the account",
"example": "project"
},
{
"name": "vnetId",
"in": "path",
"schema": {
"type": "string"
},
"required": true,
"description": "Virtual TestNet ID",
"example": "50115ccc-c9ee-452d-986b-56af1b417b3f"
}
],
"requestBody": {
"required": true,
"description": "Simulation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/vnet-simulation-payload"
}
}
}
},
"responses": {
"200": {
"$ref": "#/components/responses/vnet-simulations-response"
},
"400": {
"$ref": "#/components/responses/bad_request"
},
"401": {
"$ref": "#/components/responses/unauthorized"
},
"403": {
"$ref": "#/components/responses/forbidden"
},
"404": {
"$ref": "#/components/responses/not_found"
},
"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: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.0000001e25
}
]
},
"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"
},
"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-bundle-payload": {
"type": "array",
"items": {
"$ref": "#/components/schemas/simulation-payload"
},
"example": {
"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"
}
]
}
},
"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": []
}
]
}
},
"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"
}
},
"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
}
},
"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": {
"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"
]
}
}
},
"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.0538227068187337e77
},
"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.",
"type": "string",
"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.",
"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
}
},
"vnets-response": {
"type": "array",
"title": "Virtual TestNet Response",
"description": "An object with details about Virtual TestNets",
"items": {
"type": "object",
"properties": {
"id": {
"title": "id",
"description": "ID of the Virtual Testnet.",
"type": "string",
"example": "4010f442-c4d9-407d-aba1-7276e3312998"
},
"slug": {
"title": "slug",
"description": "Slug of the Virtual Testnet (string of dash-separated alphanumerics).",
"type": "string",
"example": "my-staging-vnet-2"
},
"display_name": {
"title": "display_name",
"description": "Display name of Virtual Testnet",
"type": "string",
"example": "Virtual TestNet mainnet"
},
"description": {
"title": "description",
"description": "Description for Virtual Testnet.",
"type": "string",
"example": "Virtual TestNet for mainnet"
},
"fork_config": {
"title": "fork_config",
"description": "Configuration of Virtual Testnet fork",
"type": "object",
"properties": {
"network_id": {
"title": "network_id",
"type": "string",
"description": "ID of the network from which testnet is forked"
},
"block_number": {
"title": "block_number",
"type": "string",
"description": "Block number on which forked happened"
}
},
"example": {
"network_id": 1,
"block_number": "0x12c50f0"
}
},
"virtual_network_config": {
"title": "virtual_network_config",
"description": "Configuration",
"type": "object",
"properties": {
"chain_config": {
"title": "chain_config",
"type": "object",
"description": "configuration for chain",
"properties": {
"chain_id": {
"title": "chain_id",
"type": "string",
"description": "Custom chain id for Virtual TestNet",
"example": 1
}
}
}
},
"example": {
"chain_config": {
"chain_id": 1
}
}
},
"sync_state_config": {
"title": "sync_state_config",
"description": "Configuration for sync state",
"type": "object",
"properties": {
"enabled": {
"title": "enabled",
"description": "Enable sync state for Virtual TestNet",
"type": "boolean",
"example": true
}
},
"example": {
"enabled": false
}
},
"explorer_page_config": {
"title": "explorer_page_config",
"description": "Configuration for explorer page",
"type": "object",
"properties": {
"enabled": {
"title": "enabled",
"description": "Set this to true to enable public explorer page",
"type": "boolean",
"example": true
}
},
"example": {
"enabled": false,
"verification_visibility": "bytecode"
}
},
"rpcs": {
"title": "rpcs",
"description": "Rpc endpoints for Virtual TestNet",
"type": "array",
"items": {
"type": "object",
"properties": {
"url": {
"title": "url",
"description": "rpc url",
"type": "string"
},
"name": {
"title": "name",
"description": "Description of rpc url",
"type": "string"
}
}
},
"example": [
{
"url": "https://virtual.mainnet.rpc.tenderly.co/7b7b53ee-611b-4d06-87ad-8f5606dfdc21",
"name": "Admin RPC"
}
]
}
}
},
"example": [
{
"id": "7113fe5d-bc69-475c-bfd5-a2a720c14d56",
"created_at": "2025-03-05T13:16:57.053068Z",
"slug": "mainnet-vnet-895ca73c-5463-4d9e-99b0-91d329d180b8",
"display_name": "Mainnet VNet",
"status": "running",
"fork_config": {
"network_id": 1,
"block_number": "0x14f66fe"
},
"virtual_network_config": {
"base_fee_per_gas": 1,
"chain_config": {
"chain_id": 12345
},
"accounts": [
{
"address": "0x8eC0845396287DF4393087DB3980960a20205E34"
},
{
"address": "0xb1331Ac8E5bA5118d4a706721a621b668995c3F2"
},
{
"address": "0xc1C3f49FF7a9959834c32f524cBD306727a1A118"
},
{
"address": "0x54f28c96A6CaE1988972F4C679702D359F6E5006"
},
{
"address": "0x61305B76f71Fd1ef1e640A442AF78aa8936ABFf1"
},
{
"address": "0xC56d684024f86841f041e1307eafF246c2B1F2ab"
},
{
"address": "0x1FB8Daa9d250D53272A25eCba531b1b0597ad736"
},
{
"address": "0xAc8d39371D54DC79a8eb5aa39c9D34142Ee7e4CC"
},
{
"address": "0x0fCf0d2804FafF47BC6b9680B022d10AdF4f3B8a"
},
{
"address": "0x5E793A6C6dF1fE46dFfE5d915c2D37B817ab2745"
}
]
},
"sync_state_config": {
"enabled": true,
"commitment_level": "latest"
},
"explorer_page_config": {
"enabled": true,
"verification_visibility": "src"
},
"rpcs": [
{
"url": "https://virtual.mainnet.rpc.tenderly.co/d4ebd179-0b69-4183-a7e5-0ccff97ae825",
"name": "Admin RPC"
},
{
"url": "wss://virtual.mainnet.rpc.tenderly.co/81ae872b-3f29-4b8b-8367-cfd89bd34433",
"name": "Admin websocket RPC"
},
{
"url": "https://virtual.mainnet.rpc.tenderly.co/d1ce85d2-e271-450e-abf9-61335263f248",
"name": "Public RPC"
},
{
"url": "wss://virtual.mainnet.rpc.tenderly.co/0195b85c-0dd6-4772-8d54-0c18e5dc6e78",
"name": "Public websocket RPC"
}
]
}
]
},
"vnet-request": {
"type": "object",
"properties": {
"slug": {
"title": "slug",
"description": "Slug of the Virtual Testnet (string of dash-separated alphanumerics).",
"type": "string",
"example": "my-staging-testnet"
},
"display_name": {
"title": "display_name",
"description": "Display name of Virtual Testnet",
"type": "string",
"example": "My Staging TestNet"
},
"description": {
"title": "description",
"description": "Description for Virtual Testnet.",
"type": "string",
"example": "Virtual TestNet for mainnet"
},
"fork_config": {
"title": "fork_config",
"description": "Fork Configuration",
"type": "object",
"properties": {
"network_id": {
"type": "integer",
"description": "ID of the network from which testnet is forked",
"title": "network_id",
"example": 1
},
"block_number": {
"type": "string",
"description": "Block number on which forked happened",
"title": "block_number",
"example": "latest"
}
},
"required": ["network_id"]
},
"virtual_network_config": {
"title": "virtual_network_config",
"description": "Virtual TestNet configuration",
"type": "object",
"properties": {
"chain_config": {
"title": "chain_config",
"type": "object",
"description": "configuration for chain",
"properties": {
"chain_id": {
"title": "chain_id",
"type": "string",
"description": "Custom chain id for Virtual Testnet",
"example": 1
}
},
"required": ["chain_id"]
}
},
"required": ["chain_config"]
},
"rpc_config": {
"title": "rpc_config",
"description": "RPC Configuration for Virtual Testnet",
"type": "object",
"properties": {
"rpc_name": {
"title": "rpc_name",
"type": "string",
"description": "Name of the RPC endpoint",
"example": "e2e-tests-example"
},
"persistence_config": {
"title": "persistence_config",
"type": "object",
"description": "Configuration for RPC persistence",
"properties": {
"methods": {
"type": "array",
"description": "List of persistence methods",
"items": {
"type": "object",
"properties": {
"method": {
"type": "string",
"description": "Persistence method",
"enum": ["tenderly_simulateTransaction"],
"example": "tenderly_simulateTransaction"
}
}
}
}
}
}
}
},
"sync_state_config": {
"title": "sync_state_config",
"description": "Configuration for sync state",
"type": "object",
"properties": {
"enabled": {
"title": "enabled",
"description": "Enable sync state for Virtual TestNet",
"type": "boolean",
"example": true
}
},
"example": {
"enabled": false
}
},
"explorer_page_config": {
"title": "explorer_page_config",
"description": "Configuration for explorer page",
"type": "object",
"properties": {
"enabled": {
"title": "enabled",
"description": "Set this to true to enable public explorer page",
"type": "boolean",
"example": true
},
"verification_visibility": {
"title": "enabled",
"description": "Control verification visibility on public explorer. Use `src` to show full source, `abi` to show abi without implementation, and `bytecode` to fully hide code.",
"type": "string",
"enum": ["abi", "src", "bytecode"],
"example": "abi"
}
},
"example": {
"enabled": false,
"verification_visibility": "bytecode"
}
}
},
"required": [
"sync_state_config",
"fork_config",
"fork_config.network_id",
"rpc_config",
"virtual_network_config",
"slug"
],
"example": {
"slug": "my-staging-testnet",
"display_name": "My Staging TestNet",
"fork_config": {
"network_id": 1,
"block_number": "0x12c50f0"
},
"virtual_network_config": {
"chain_config": {
"chain_id": 1
}
},
"rpc_config": {
"rpc_name": "e2e-tests-example",
"persistence_config": {
"methods": [
{
"method": "tenderly_simulateTransaction"
}
]
}
},
"sync_state_config": {
"enabled": false
},
"explorer_page_config": {
"enabled": false,
"verification_visibility": "bytecode"
}
}
},
"vnet-response": {
"type": "object",
"title": "Virtual TestNet Response",
"description": "An object with details about Virtual TestNet",
"properties": {
"id": {
"title": "id",
"description": "ID of the Virtual Testnet.",
"type": "string",
"example": "4010f442-c4d9-407d-aba1-7276e3312998"
},
"slug": {
"title": "slug",
"description": "Slug of the Virtual Testnet (string of dash-separated alphanumerics).",
"type": "string",
"example": "my-staging-vnet-2"
},
"display_name": {
"title": "display_name",
"description": "Display name of Virtual Testnet",
"type": "string",
"example": "Virtual TestNet mainnet"
},
"description": {
"title": "description",
"description": "Description for Virtual Testnet.",
"type": "string",
"example": "Virtual TestNet for mainnet"
},
"fork_config": {
"title": "fork_config",
"description": "Configuration of Virtual Testnet fork",
"type": "object",
"properties": {
"network_id": {
"title": "network_id",
"type": "string",
"description": "ID of the network from which testnet is forked"
},
"block_number": {
"title": "block_number",
"type": "string",
"description": "Block number on which forked happened"
}
},
"example": {
"network_id": 1,
"block_number": "0x12c50f0"
}
},
"virtual_network_config": {
"title": "virtual_network_config",
"description": "Configuration",
"type": "object",
"properties": {
"chain_config": {
"title": "chain_config",
"type": "object",
"description": "configuration for chain",
"properties": {
"chain_id": {
"title": "chain_id",
"type": "string",
"description": "Custom chain id for Virtual TestNet",
"example": 1
}
}
}
},
"example": {
"chain_config": {
"chain_id": 1
}
}
},
"sync_state_config": {
"title": "sync_state_config",
"description": "Configuration for sync state",
"type": "object",
"properties": {
"enabled": {
"title": "enabled",
"description": "Enable sync state for Virtual TestNet",
"type": "boolean",
"example": true
}
},
"example": {
"enabled": false
}
},
"explorer_page_config": {
"title": "explorer_page_config",
"description": "Configuration for explorer page",
"type": "object",
"properties": {
"enabled": {
"title": "enabled",
"description": "Set this to true to enable public explorer page",
"type": "boolean",
"example": true
}
},
"example": {
"enabled": false,
"verification_visibility": "bytecode"
}
},
"rpcs": {
"title": "rpcs",
"description": "Rpc endpoints for Virtual TestNet",
"type": "array",
"items": {
"properties": {
"url": {
"title": "url",
"description": "rpc url",
"type": "string"
},
"name": {
"title": "name",
"description": "Description of rpc url",
"type": "string"
}
}
},
"example": [
{
"url": "https://virtual.mainnet.rpc.tenderly.co/7b7b53ee-611b-4d06-87ad-8f5606dfdc21",
"name": "Admin RPC"
}
]
}
},
"example": {
"id": "e7869600-d99e-4cee-886e-ef33f51f312c",
"slug": "my-staging-testnet",
"display_name": "My Staging Testnet",
"fork_config": {
"network_id": 1,
"block_number": "0x12c50f0"
},
"virtual_network_config": {
"chain_config": {
"chain_id": 1
},
"accounts": [
{
"address": "0x834fb2846B1D2c9b7805832778b9ea6b7CEB73D0"
},
{
"address": "0x3FF6390B36A38cd6923fb01a2D16e6e8792A4670"
},
{
"address": "0x865B15Ecb752D0d704B82bDa44914A475c597635"
}
]
},
"sync_state_config": {
"enabled": false
},
"explorer_page_config": {
"enabled": false,
"verification_visibility": "bytecode"
},
"rpcs": [
{
"url": "https://virtual.mainnet.eu.rpc.tenderly.co/953caca0-613d-4e68-b933-6d743545ef84",
"name": "Admin RPC"
},
{
"url": "wss://virtual.mainnet.eu.rpc.tenderly.co/1f35f256-5419-44ab-baf5-6a151a4fa83b",
"name": "Admin websocket RPC"
},
{
"url": "https://virtual.mainnet.eu.rpc.tenderly.co/1d55e445-2gf8-48dc-b525-d4f35d4bad8c",
"name": "Public RPC"
},
{
"url": "wss://virtual.mainnet.eu.rpc.tenderly.co/a3a00999-08d0-4ad4-a14f-59cff7699c29",
"name": "Public websocket RPC"
},
{
"url": "https://virtual.rpc.tenderly.co/tenderly/tenderly_proj/private/e2e-tests-example/a35dfdbb-181d-47f1-8862-f1a63a9b6619",
"name": "Admin RPC"
},
{
"url": "wss://virtual.rpc.tenderly.co/tenderly/tenderly_proj/private/e2e-tests-example/a35dfdbb-181d-47f1-8862-f1a63a9b6619",
"name": "Admin websocket RPC"
},
{
"url": "https://virtual.rpc.tenderly.co/tenderly/tenderly_proj/public/e2e-tests-example",
"name": "Public RPC"
},
{
"url": "wss://virtual.rpc.tenderly.co/tenderly/tenderly_proj/public/e2e-tests-example",
"name": "Public websocket RPC"
}
],
"rpc_config": {
"rpc_name": "e2e-tests-example",
"suffix": "a35dfdbb-181d-47f1-8862-f1a63a9b6619",
"persistence_config": {
"methods": [
{
"method": "tenderly_simulateTransaction"
}
]
}
}
}
},
"update-vnet-request": {
"type": "object",
"properties": {
"display_name": {
"title": "display_name",
"description": "Display name of Virtual Testnet",
"type": "string",
"example": "My Staging TestNet"
},
"description": {
"title": "description",
"description": "Description for Virtual Testnet.",
"type": "string",
"example": "Virtual TestNet for mainnet"
},
"sync_state_config": {
"title": "sync_state_config",
"description": "Configuration for sync state",
"type": "object",
"properties": {
"enabled": {
"title": "enabled",
"description": "Enable sync state for Virtual TestNet",
"type": "boolean",
"example": true
}
},
"example": {
"enabled": false
}
}
},
"required": ["display_name"],
"example": {
"display_name": "new name 123"
}
},
"fork-vnet-request": {
"type": "object",
"properties": {
"slug": {
"title": "slug",
"description": "Slug of the Virtual Testnet (string of dash-separated alphanumerics).",
"type": "string",
"example": "my-forked-testnet"
},
"display_name": {
"title": "display_name",
"description": "Display name of Virtual Testnet. Defaults to forked-{original vnet name}.",
"type": "string",
"example": "Forked TestNet"
},
"description": {
"title": "description",
"description": "Description for Virtual Testnet.",
"type": "string",
"example": "Virtual TestNet for mainnet"
},
"vnet_id": {
"title": "vnet_id",
"description": "VNet ID is the id of the VNet that will be forked.",
"type": "string",
"example": "f4b3b3b3-4b3b-4b3b-4b3b-4b3b3b3b3b3b"
},
"sync_state": {
"title": "sync_state",
"description": "Sets a sync state of the forked VNet",
"type": "boolean",
"example": true
},
"wait": {
"title": "wait",
"description": "Wait is a flag that indicates if the request should wait for the forking process to finish or letting it complete asynchronously.",
"type": "boolean",
"example": true
}
},
"required": ["vnet_id"],
"example": {
"vnet_id": "a24a61b0-bd82-4d77-a907-2352582c7c76",
"state_sync": false
}
},
"vnet-transaction-response": {
"type": "object",
"properties": {
"id": {
"title": "id",
"description": "Unique identifier of the transaction.",
"type": "string",
"example": "12345"
},
"vnet_id": {
"title": "vnet_id",
"description": "Identifier of the Virtual Testnet.",
"type": "string",
"example": "67890"
},
"origin": {
"title": "origin",
"description": "Origin of the transaction.",
"type": "string",
"example": "user"
},
"category": {
"title": "category",
"description": "Category of the transaction.",
"type": "string",
"example": "payment"
},
"kind": {
"title": "kind",
"description": "Kind of transaction.",
"type": "string",
"example": "transfer"
},
"status": {
"title": "status",
"description": "Status of the transaction.",
"type": "string",
"example": "success"
},
"error_reason": {
"title": "error_reason",
"description": "Reason for transaction error.",
"type": "string",
"example": "Insufficient funds"
},
"rpc_method": {
"title": "rpc_method",
"description": "RPC method used for 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"
},
"block_number": {
"title": "block_number",
"description": "Block number of the transaction.",
"type": "string",
"example": "123456"
},
"block_hash": {
"title": "block_hash",
"description": "Hash of the block containing the transaction.",
"type": "string",
"example": "0xabcdef123456..."
},
"tx_hash": {
"title": "tx_hash",
"description": "Hash of the transaction.",
"type": "string",
"example": "0xabcdef123456..."
},
"tx_index": {
"title": "tx_index",
"description": "Index of the transaction within the block.",
"type": "string",
"example": "1"
},
"from": {
"title": "from",
"description": "Sender address of the transaction.",
"type": "string",
"example": "0x123456789..."
},
"to": {
"title": "to",
"description": "Receiver address of the transaction.",
"type": "string",
"example": "0x987654321..."
},
"input": {
"title": "input",
"description": "Input data of the transaction.",
"type": "string",
"example": "0xabcdef123456..."
},
"nonce": {
"title": "nonce",
"description": "Nonce of the transaction.",
"type": "string",
"example": "123"
},
"value": {
"title": "value",
"description": "Value of the transaction.",
"type": "string",
"example": "1000000000000000000"
},
"gas": {
"title": "gas",
"description": "Gas of the transaction.",
"type": "string",
"example": "21000"
},
"gas_price": {
"title": "gas_price",
"description": "Gas price of the transaction.",
"type": "string",
"example": "1000000000"
},
"max_priority_fee_per_gas": {
"title": "max_priority_fee_per_gas",
"description": "Maximum priority fee per gas of the transaction.",
"type": "string",
"example": "1000000000"
},
"max_fee_per_gas": {
"title": "max_fee_per_gas",
"description": "Maximum fee per gas of the transaction.",
"type": "string",
"example": "2000000000"
},
"signature": {
"title": "signature",
"description": "Signature of the transaction.",
"type": "string",
"example": "0xabcdef123456..."
},
"type": {
"title": "type",
"description": "Type of the transaction.",
"type": "string",
"example": "1"
},
"stateOverrides": {
"type": "object",
"description": "Overrides for specific state objects.",
"title": "stateOverrides",
"$ref": "#/components/schemas/state-override"
},
"blockOverrides": {
"type": "object",
"title": "blockOverrides",
"description": "Overrides for block data",
"properties": {
"number": {
"type": "string",
"title": "number",
"description": "block number",
"example": "0x124214"
},
"timestamp": {
"type": "string",
"title": "timestamp",
"description": "timestamp",
"example": "0x124124"
}
},
"example": {
"number": "0x124214",
"timestamp": "0x124124"
}
},
"function_name": {
"title": "function_name",
"description": "Name of the function invoked by the transaction.",
"type": "string",
"example": "transferFunds"
}
},
"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,
"rpc_method": "hardhat_mine",
"created_at": "2024-04-19T12:21:48.373698Z",
"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",
"signature": null,
"type": null,
"state_overrides": {
"0x6c8b8870c415f3b2d5fe0cd61e9c6960bad8e0c9": {
"nonce": null,
"code": "0x6eb82b4e15d4981111fcbcedf181b33a60c8bd18b9dd40a1498bf864736f6c63430008140033",
"balance": null,
"state": null,
"stateDiff": null
}
},
"block_overrides": null,
"function_name": "mint"
}
},
"vnet-transactions-response": {
"type": "array",
"items": {
"$ref": "#/components/schemas/vnet-transaction-response"
}
},
"state-override-vnet": {
"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": {
"type": "string",
"description": "Balance in hex format (e.g. \"0x113b9aca01\").",
"example": "0x113b9aca01"
},
"stateDiff": {
"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"
}
}
}
}
},
"vnet-transaction-payload": {
"type": "object",
"properties": {
"callArgs": {
"type": "object",
"title": "callArgs",
"description": "Call args",
"properties": {
"from": {
"type": "string",
"title": "from",
"description": "from address",
"example": "0xb5f45E52649123117C175B2016Ed3fCd26f9bE06"
},
"to": {
"type": "string",
"title": "to",
"description": "to address",
"example": "0xe5f48e692e0e12c04d5c15bbb54e8a8e5fc87589"
},
"gas": {
"type": "string",
"title": "gas",
"description": "gas",
"example": "0x7a1200"
},
"gasPrice": {
"type": "string",
"title": "gasPrice",
"description": "price of gas",
"example": "0x10"
},
"value": {
"type": "string",
"title": "value",
"description": "value",
"example": "0x3215fa"
},
"data": {
"type": "string",
"title": "data",
"description": "data",
"example": "0x6a761202000000000000000000000000b4f1737af37711e9a5890d9510c9bb60e170cb0d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000000000000000000000000000000000000000044a9059cbb000000000000000000000000d385a69be7506be3920e2d66611db370218839980000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041000000000000000000000000b5f45e52649123117c175b2016ed3fcd26f9be0600000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000"
}
},
"example": {
"from": "0xb5f45E52649123117C175B2016Ed3fCd26f9bE06",
"to": "0xe5f48e692e0e12c04d5c15bbb54e8a8e5fc87589",
"gas": "0x7a1200",
"gasPrice": "0x0",
"value": "0x0",
"data": "0x6a761202000000000000000000000000b4f1737af37711e9a5890d9510c9bb60e170cb0d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000000000000000000000000000000000000000044a9059cbb000000000000000000000000d385a69be7506be3920e2d66611db370218839980000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041000000000000000000000000b5f45e52649123117c175b2016ed3fcd26f9be0600000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000"
}
},
"blockOverrides": {
"type": "object",
"title": "blockOverrides",
"description": "block overrides",
"properties": {
"number": {
"type": "string",
"title": "number",
"description": "block number",
"example": "0x143722873"
},
"timestamp": {
"type": "string",
"title": "timestamp",
"description": "timestamp",
"example": "0x124124"
}
},
"example": {
"number": "0x143722873",
"timestamp": "0x124124"
}
},
"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",
"timestamp": "0x124124"
}
}
},
"vnet-simulation-payload": {
"type": "object",
"properties": {
"callArgs": {
"type": "object",
"title": "callArgs",
"description": "Call args",
"properties": {
"from": {
"type": "string",
"title": "from",
"description": "from address",
"example": "0xe2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2"
},
"to": {
"type": "string",
"title": "to",
"description": "to address",
"example": "0x6b175474e89094c44da98b954eedeac495271d0f"
},
"gas": {
"type": "string",
"title": "gas",
"description": "gas",
"example": "0x7a1200"
},
"gasPrice": {
"type": "string",
"title": "gasPrice",
"description": "price of gas",
"example": "0x10"
},
"value": {
"type": "string",
"title": "value",
"description": "value",
"example": "0x3215fa"
},
"data": {
"type": "string",
"title": "data",
"description": "data",
"example": "0x095ea7b3000000000000000000000000f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1000000000000000000000000000000000000000000000000000000000000012b"
}
},
"example": {
"from": "0xe2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2",
"to": "0x6b175474e89094c44da98b954eedeac495271d0f",
"gas": "0x7a1200",
"gasPrice": "0x0",
"value": "0x0",
"data": "0x095ea7b3000000000000000000000000f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1000000000000000000000000000000000000000000000000000000000000012b"
}
},
"blockNumber": {
"type": "string",
"title": "blockNumber",
"description": "block number",
"example": "0x124214"
},
"blockOverrides": {
"type": "object",
"title": "blockOverrides",
"description": "block overrides",
"properties": {
"number": {
"type": "string",
"title": "number",
"description": "block number",
"example": "0x124214"
},
"timestamp": {
"type": "string",
"title": "timestamp",
"description": "timestamp",
"example": "0x124124"
}
},
"example": {
"number": "0x124214",
"timestamp": "0x124124"
}
},
"stateOverrides": {
"type": "object",
"title": "stateOverrides",
"$ref": "#/components/schemas/state-override-vnet"
}
},
"example": {
"callArgs": {
"from": "0xe2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2",
"to": "0x6b175474e89094c44da98b954eedeac495271d0f",
"gas": "0x7a1200",
"gasPrice": "0x0",
"value": "0x0",
"data": "0x095ea7b3000000000000000000000000f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1000000000000000000000000000000000000000000000000000000000000012b"
},
"blockNumber": "0x124214",
"blockOverrides": {
"number": "0x124214",
"timestamp": "0x124124"
},
"stateOverrides": {
"0x3F41a1CFd3C8B8d9c162dE0f42307a0095A6e5DF": {
"balance": "0x124125"
}
}
}
},
"vnet-simulations-response": {
"type": "object",
"properties": {
"blockNumber": {
"type": "string",
"title": "blockNumber",
"description": "Block number on which simulation happened",
"example": "0xfc497b"
},
"cumulativeGasUsed": {
"type": "string",
"title": "cumulativeGasUsed",
"description": "Cumulative gas used",
"example": "0x10"
},
"gasUsed": {
"type": "string",
"title": "gasUsed",
"description": "Gas Used",
"example": "0xb412"
},
"logs": {
"type": "array",
"title": "logs",
"description": "Logs of simulation",
"items": {
"properties": {
"anonymous": {
"title": "anonymous",
"type": "boolean"
},
"inputs": {
"title": "anonymous",
"type": "array",
"items": {
"properties": {
"name": {
"title": "name",
"type": "string"
},
"type": {
"title": "type",
"type": "string"
},
"value": {
"title": "name",
"type": "string"
}
}
}
},
"name": {
"title": "name",
"type": "string"
},
"raw": {
"title": "raw",
"type": "object",
"properties": {
"address": {
"type": "string",
"title": "address"
},
"data": {
"type": "string",
"title": "data"
},
"topics": {
"title": "topics",
"type": "array",
"items": {
"type": "string"
}
}
}
}
}
},
"example": [
{
"anonymous": false,
"inputs": [
{
"name": "src",
"type": "address",
"value": "0xe2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2"
},
{
"name": "guy",
"type": "address",
"value": "0xf1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1"
},
{
"name": "wad",
"type": "uint256",
"value": "299"
}
],
"name": "Approval",
"raw": {
"address": "0x6b175474e89094c44da98b954eedeac495271d0f",
"data": "0x000000000000000000000000000000000000000000000000000000000000012b",
"topics": [
"0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925",
"0x000000000000000000000000e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2",
"0x000000000000000000000000f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1"
]
}
}
]
},
"logsBloom": {
"type": "string",
"title": "logsBloom",
"description": "Logs bloom filter",
"example": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000028000000000000000002000000000000000000000010000000000000000004000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000010000000000000000000000000040000000000000000000000000000800000"
},
"status": {
"type": "boolean",
"title": "status",
"description": "status of simulated transaction",
"example": true
},
"trace": {
"type": "array",
"title": "trace",
"description": "Trace of simulated transaction",
"items": {
"properties": {
"decodedInput": {
"type": "array",
"title": "decodedInput",
"items": {
"properties": {
"name": {
"type": "string",
"title": "name"
},
"value": {
"type": "string",
"title": "value"
},
"type": {
"type": "string",
"title": "type"
}
}
}
},
"decodedOutput": {
"type": "array",
"title": "decodedInput",
"items": {
"properties": {
"name": {
"type": "string",
"title": "name"
},
"value": {
"type": "boolean",
"title": "value"
},
"type": {
"type": "string",
"title": "type"
}
}
}
},
"from": {
"type": "string",
"title": "from"
},
"to": {
"type": "string",
"title": "to"
},
"gas": {
"type": "string",
"title": "gas"
},
"gasUsed": {
"type": "string",
"title": "gasUsed"
},
"input": {
"type": "string",
"title": "input"
},
"method": {
"type": "string",
"title": "method"
},
"output": {
"type": "string",
"title": "output"
},
"subtraces": {
"type": "integer",
"title": "subtraces"
},
"type": {
"type": "string",
"title": "type"
},
"value": {
"type": "string",
"title": "value"
},
"traceAddress": {
"type": "array",
"title": "traceAddress",
"items": {
"type": "integer"
}
}
}
},
"example": [
{
"decodedInput": [
{
"name": "usr",
"type": "address",
"value": "0xf1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1"
},
{
"name": "wad",
"type": "uint256",
"value": "299"
}
],
"decodedOutput": [
{
"name": "",
"type": "boolean",
"value": true
}
],
"from": "0xe2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2",
"gas": "0x79bdb0",
"gasUsed": "0x5fc2",
"input": "0x095ea7b3000000000000000000000000f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1000000000000000000000000000000000000000000000000000000000000012b",
"method": "approve",
"output": "0x0000000000000000000000000000000000000000000000000000000000000001",
"subtraces": 0,
"to": "0x6b175474e89094c44da98b954eedeac495271d0f",
"traceAddress": [0],
"type": "CALL",
"value": "0x0"
}
]
},
"type": {
"type": "string",
"title": "type",
"description": "type",
"example": "0x0"
}
},
"example": {
"blockNumber": "0xfc497b",
"cumulativeGasUsed": "0x0",
"gasUsed": "0xb412",
"logs": [
{
"anonymous": false,
"inputs": [
{
"name": "src",
"type": "address",
"value": "0xe2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2"
},
{
"name": "guy",
"type": "address",
"value": "0xf1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1"
},
{
"name": "wad",
"type": "uint256",
"value": "299"
}
],
"name": "Approval",
"raw": {
"address": "0x6b175474e89094c44da98b954eedeac495271d0f",
"data": "0x000000000000000000000000000000000000000000000000000000000000012b",
"topics": [
"0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925",
"0x000000000000000000000000e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2",
"0x000000000000000000000000f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1"
]
}
}
],
"logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000028000000000000000002000000000000000000000010000000000000000004000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000010000000000000000000000000040000000000000000000000000000800000",
"status": true,
"trace": [
{
"decodedInput": [
{
"name": "usr",
"type": "address",
"value": "0xf1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1"
},
{
"name": "wad",
"type": "uint256",
"value": "299"
}
],
"decodedOutput": [
{
"name": "",
"type": "boolean",
"value": true
}
],
"from": "0xe2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2",
"gas": "0x79bdb0",
"gasUsed": "0x5fc2",
"input": "0x095ea7b3000000000000000000000000f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1000000000000000000000000000000000000000000000000000000000000012b",
"method": "approve",
"output": "0x0000000000000000000000000000000000000000000000000000000000000001",
"subtraces": 0,
"to": "0x6b175474e89094c44da98b954eedeac495271d0f",
"traceAddress": [0],
"type": "CALL",
"value": "0x0"
}
],
"type": "0x0"
}
}
},
"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. The key can be sent as a request header:\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\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 'https://api.tenderly.co/api/v1/account/${TENDERLY_ACCOUNT_SLUG}/project/${TENDERLY_PROJECT_SLUG}/simulate' \\\n -H 'Authorization: Bearer <TENDERLY_TOKEN>' \\\n ...\n```\n\n**Note**: Bearer tokens cannot be revoked and expire after 30 days."
}
},
"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."
}
}
}
}
},
"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": {
"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": {
"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"
}
]
}
}
}
},
"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"
}
}
}
},
"vnets-response": {
"description": "A successful response that returns the container.",
"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/vnets-response"
}
}
}
},
"vnet-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-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"
}
}
}
},
"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-simulations-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-simulations-response"
}
}
}
}
},
"examples": {
"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"
}
},
"block_header_override_simulate_post_request": {
"summary": "Block Header Overrides Simulation",
"description": "An example payload with block header overrides.",
"value": {
"network_id": "1",
"from": "0x3f41a1cfd3c8b8d9c162de0f42307a0095a6e5df",
"to": "0xdef171fe48cf0115b1d80b88dc8eab59176fee57",
"input": "0xa94e78ef000000000000000000000000000000000000000000000000000000000000002000000000000000000000000068037790a0229e9ce6eaa8a99ea92964106c470300000000000000000000000000000000000000000000010f0cf064dd592000000000000000000000000000000000000000000000000000000000000145dc1b2e00000000000000000000000000000000000000000000000000000001477f4d7d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000000000064d281e65c9438a5a99c4bccb1035296d5d2d8d200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000320000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a73000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000006000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000064db6806000000000000000000000000000000000000000000000000000000000000002b68037790a0229e9ce6eaa8a99ea92964106c47030001f4a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000000000000000000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a730000000000000000000000000000000000000000000000000000000000002710000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000060000000000000000000000001b81d678ffb9c0263b24a97847620c99d213eb14000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000064db6806000000000000000000000000000000000000000000000000000000000000002ba0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000064dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"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",
"baseFeePerGas": "0x3d5200956",
"miner": "0xcda9d71bdfae59b89cee131ed3079f8ac4c77062",
"extraData": "0xd883010c00846765746888676f312e32302e34856c696e7578",
"mixHash": "0x9096c8da5df4b9bb771f91a81c3bd954d2a9c39c1bf05502877d057b1f76fb04",
"nonce": "0x0000000000000000",
"size": "0x0",
"totalDifficulty": "0x0",
"transactions": null,
"uncles": null
},
"gas": 648318,
"block_number": 17884583,
"value": "0",
"save": true,
"save_if_fails": true,
"simulation_type": "full"
}
},
"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
}
]
}
},
"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"]
}
}
}
},
"x-tagGroups": [
{
"name": "Infrastructure 3.0",
"tags": ["Simulations", "Virtual TestNets", "Web3 Actions"]
},
{
"name": "Development",
"tags": ["Contracts", "Wallets"]
},
{
"name": "Observability",
"tags": ["Alerts", "Delivery Channels"]
},
{
"name": "Other",
"tags": ["Other"]
}
]
}