Viewing File: /home/ubuntu/route-and-root-frontend-base/src/abis/Token.json
{
"contractName": "Token",
"abi": [
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "Approval",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "previousOwner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "OwnershipTransferred",
"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": "from",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "to",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "Transfer",
"type": "event"
},
{
"inputs": [],
"name": "DEFAULT_ADMIN_ROLE",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "MINTER_BURNER_ROLE",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"internalType": "address",
"name": "spender",
"type": "address"
}
],
"name": "allowance",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "approve",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "balanceOf",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "decimals",
"outputs": [
{
"internalType": "uint8",
"name": "",
"type": "uint8"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "subtractedValue",
"type": "uint256"
}
],
"name": "decreaseAllowance",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
}
],
"name": "getRoleAdmin",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
},
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "grantRole",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
},
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "hasRole",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "addedValue",
"type": "uint256"
}
],
"name": "increaseAllowance",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "name",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "renounceOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "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": "bytes4",
"name": "interfaceId",
"type": "bytes4"
}
],
"name": "supportsInterface",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "symbol",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "totalBurnedToken",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "totalMintedToken",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "totalSupply",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "transfer",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "from",
"type": "address"
},
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "transferFrom",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "transferOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "minterBurnerAddress",
"type": "address"
}
],
"name": "grandAccessRole",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "string",
"name": "role",
"type": "string"
},
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "revokeAccess",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "mint",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "from",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "burn",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"metadata": "{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"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\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MINTER_BURNER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"minterBurnerAddress\",\"type\":\"address\"}],\"name\":\"grandAccessRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"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\":\"string\",\"name\":\"role\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeAccess\",\"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\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalBurnedToken\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalMintedToken\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless this function is overridden; NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"/Users/aravinth/Repo/codegama/blockchain/ido_projects/ido-frontend-jason/src/contracts/Token.sol\":\"Token\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/aravinth/Repo/codegama/blockchain/ido_projects/ido-frontend-jason/src/contracts/Token.sol\":{\"keccak256\":\"0xfd5b5e66c4d2161b03d24f6bc4f9207e5dca54730c095f358daf2ebb985a6cc6\",\"urls\":[\"bzz-raw://c4de612d036dd578fc207ca6ec3618775e53e4f46268511b2dff4e6295c2f639\",\"dweb:/ipfs/QmZiwbyb6uQMLS66RqmESNZteeq5kqioo4z52HE8JBe8FR\"]},\"@openzeppelin/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x4a1a0ba12bf1a33f10d9fe226278cf59675c0b929d29e4da99658a079b27fb84\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bda1319db846d6d6f92d8a57a9bdee8bde1dc39aa7546165791692c24dd6f30a\",\"dweb:/ipfs/Qma5oZ7DmbdAjd8mpiW7mx896PDtwsQtCQ2hj9Upf7b7JK\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0x24e0364e503a9bbde94c715d26573a76f14cd2a202d45f96f52134ab806b67b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e12cbaa7378fd9b62280e4e1d164bedcb4399ce238f5f98fc0eefb7e50577981\",\"dweb:/ipfs/QmXRoFGUgfsaRkoPT5bxNMtSayKTQ8GZATLPXf69HcRA51\"]},\"@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xdadd41acb749920eccf40aeaa8d291adf9751399a7343561bad13e7a8d99be0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://12af4ac016f9fdf3be5d15824f4292272aa11f6b2e0192a0f7320f5ad49bbbf0\",\"dweb:/ipfs/QmRXMpdqCgA3TYuYxBodqs5p9jGbnMW6xa2gvjppvq4TWk\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xbbc8ac883ac3c0078ce5ad3e288fbb3ffcc8a30c3a98c0fda0114d64fc44fca2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87a7a5d2f6f63f84598af02b8c50ca2df2631cb8ba2453e8d95fcb17e4be9824\",\"dweb:/ipfs/QmR76hqtAcRqoFj33tmNjcWTLrgNsAaakYwnKZ8zoJtKei\"]},\"@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x32c202bd28995dd20c4347b7c6467a6d3241c74c8ad3edcbb610cd9205916c45\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8179c356adb19e70d6b31a1eedc8c5c7f0c00e669e2540f4099e3844c6074d30\",\"dweb:/ipfs/QmWFbivarEobbqhS1go64ootVuHfVohBseerYy9FTEd1W2\"]},\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}",
"bytecode": "0x60806040523480156200001157600080fd5b506040518060400160405280601481526020017f4c61756e6368506164205465737420546f6b656e0000000000000000000000008152506040518060400160405280600381526020017f4c54540000000000000000000000000000000000000000000000000000000000815250816003908051906020019062000096929190620004fc565b508060049080519060200190620000af929190620004fc565b505050620000d2620000c66200012f60201b60201c565b6200013760201b60201c565b6200011433620000e7620001fd60201b60201c565b60ff16600a620000f8919062000739565b620f42406200010891906200078a565b6200020660201b60201c565b620001296000801b336200037f60201b60201c565b6200095e565b600033905090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60006012905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562000279576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000270906200084c565b60405180910390fd5b6200028d600083836200039560201b60201c565b8060026000828254620002a191906200086e565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254620002f891906200086e565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200035f9190620008dc565b60405180910390a36200037b600083836200039a60201b60201c565b5050565b6200039182826200039f60201b60201c565b5050565b505050565b505050565b620003b182826200049160201b60201c565b6200048d5760016006600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620004326200012f60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b60006006600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b8280546200050a9062000928565b90600052602060002090601f0160209004810192826200052e57600085556200057a565b82601f106200054957805160ff19168380011785556200057a565b828001600101855582156200057a579182015b82811115620005795782518255916020019190600101906200055c565b5b5090506200058991906200058d565b5090565b5b80821115620005a85760008160009055506001016200058e565b5090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200063a57808604811115620006125762000611620005ac565b5b6001851615620006225780820291505b80810290506200063285620005db565b9450620005f2565b94509492505050565b60008262000655576001905062000728565b8162000665576000905062000728565b81600181146200067e57600281146200068957620006bf565b600191505062000728565b60ff8411156200069e576200069d620005ac565b5b8360020a915084821115620006b857620006b7620005ac565b5b5062000728565b5060208310610133831016604e8410600b8410161715620006f95782820a905083811115620006f357620006f2620005ac565b5b62000728565b620007088484846001620005e8565b92509050818404811115620007225762000721620005ac565b5b81810290505b9392505050565b6000819050919050565b600062000746826200072f565b915062000753836200072f565b9250620007827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000643565b905092915050565b600062000797826200072f565b9150620007a4836200072f565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615620007e057620007df620005ac565b5b828202905092915050565b600082825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600062000834601f83620007eb565b91506200084182620007fc565b602082019050919050565b60006020820190508181036000830152620008678162000825565b9050919050565b60006200087b826200072f565b915062000888836200072f565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115620008c057620008bf620005ac565b5b828201905092915050565b620008d6816200072f565b82525050565b6000602082019050620008f36000830184620008cb565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200094157607f821691505b60208210811415620009585762000957620008f9565b5b50919050565b6130f9806200096e6000396000f3fe608060405234801561001057600080fd5b50600436106101c45760003560e01c8063715018a6116100f9578063a217fddf11610097578063d547741f11610071578063d547741f1461051d578063dd62ed3e14610539578063dfe0b5fe14610569578063f2fde38b14610585576101c4565b8063a217fddf1461049f578063a457c2d7146104bd578063a9059cbb146104ed576101c4565b806391d14854116100d357806391d1485414610419578063925dc4e01461044957806395d89b41146104655780639dc29fac14610483576101c4565b8063715018a6146103d357806372c32860146103dd5780638da5cb5b146103fb576101c4565b80632898410b1161016657806336568abe1161014057806336568abe1461033b578063395093511461035757806340c10f191461038757806370a08231146103a3576101c4565b80632898410b146102e35780632f2ff15d14610301578063313ce5671461031d576101c4565b80630de97c41116101a25780630de97c411461024757806318160ddd1461026557806323b872dd14610283578063248a9ca3146102b3576101c4565b806301ffc9a7146101c957806306fdde03146101f9578063095ea7b314610217575b600080fd5b6101e360048036038101906101de9190611ed6565b6105a1565b6040516101f09190611f1e565b60405180910390f35b61020161061b565b60405161020e9190611fd2565b60405180910390f35b610231600480360381019061022c9190612088565b6106ad565b60405161023e9190611f1e565b60405180910390f35b61024f6106d0565b60405161025c91906120d7565b60405180910390f35b61026d6106d6565b60405161027a91906120d7565b60405180910390f35b61029d600480360381019061029891906120f2565b6106e0565b6040516102aa9190611f1e565b60405180910390f35b6102cd60048036038101906102c8919061217b565b61070f565b6040516102da91906121b7565b60405180910390f35b6102eb61072f565b6040516102f891906120d7565b60405180910390f35b61031b600480360381019061031691906121d2565b610735565b005b61032561075e565b604051610332919061222e565b60405180910390f35b610355600480360381019061035091906121d2565b610767565b005b610371600480360381019061036c9190612088565b6107ea565b60405161037e9190611f1e565b60405180910390f35b6103a1600480360381019061039c9190612088565b610894565b005b6103bd60048036038101906103b89190612249565b61091f565b6040516103ca91906120d7565b60405180910390f35b6103db610967565b005b6103e56109ef565b6040516103f291906121b7565b60405180910390f35b610403610a13565b6040516104109190612285565b60405180910390f35b610433600480360381019061042e91906121d2565b610a3d565b6040516104409190611f1e565b60405180910390f35b610463600480360381019061045e9190612249565b610aa8565b005b61046d610b51565b60405161047a9190611fd2565b60405180910390f35b61049d60048036038101906104989190612088565b610be3565b005b6104a7610c6e565b6040516104b491906121b7565b60405180910390f35b6104d760048036038101906104d29190612088565b610c75565b6040516104e49190611f1e565b60405180910390f35b61050760048036038101906105029190612088565b610d5f565b6040516105149190611f1e565b60405180910390f35b610537600480360381019061053291906121d2565b610d82565b005b610553600480360381019061054e91906122a0565b610dab565b60405161056091906120d7565b60405180910390f35b610583600480360381019061057e9190612415565b610e32565b005b61059f600480360381019061059a9190612249565b610f77565b005b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061061457506106138261106f565b5b9050919050565b60606003805461062a906124a0565b80601f0160208091040260200160405190810160405280929190818152602001828054610656906124a0565b80156106a35780601f10610678576101008083540402835291602001916106a3565b820191906000526020600020905b81548152906001019060200180831161068657829003601f168201915b5050505050905090565b6000806106b86110d9565b90506106c58185856110e1565b600191505092915050565b60075481565b6000600254905090565b6000806106eb6110d9565b90506106f88582856112ac565b610703858585611338565b60019150509392505050565b600060066000838152602001908152602001600020600101549050919050565b60085481565b61073e8261070f565b61074f8161074a6110d9565b6115b9565b6107598383611656565b505050565b60006012905090565b61076f6110d9565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146107dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107d390612544565b60405180910390fd5b6107e68282611737565b5050565b6000806107f56110d9565b9050610889818585600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546108849190612593565b6110e1565b600191505092915050565b6108be7fcfd53186d792f1ec9d0679afc2dc3ffc86fc31fe1e0f342b838eb6c3eade62b333610a3d565b6108fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f490612635565b60405180910390fd5b6109078282611819565b806008546109159190612593565b6008819055505050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61096f6110d9565b73ffffffffffffffffffffffffffffffffffffffff1661098d610a13565b73ffffffffffffffffffffffffffffffffffffffff16146109e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109da906126a1565b60405180910390fd5b6109ed6000611979565b565b7fcfd53186d792f1ec9d0679afc2dc3ffc86fc31fe1e0f342b838eb6c3eade62b381565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60006006600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b610ab06110d9565b73ffffffffffffffffffffffffffffffffffffffff16610ace610a13565b73ffffffffffffffffffffffffffffffffffffffff1614610b24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1b906126a1565b60405180910390fd5b610b4e7fcfd53186d792f1ec9d0679afc2dc3ffc86fc31fe1e0f342b838eb6c3eade62b382611a3f565b50565b606060048054610b60906124a0565b80601f0160208091040260200160405190810160405280929190818152602001828054610b8c906124a0565b8015610bd95780601f10610bae57610100808354040283529160200191610bd9565b820191906000526020600020905b815481529060010190602001808311610bbc57829003601f168201915b5050505050905090565b610c0d7fcfd53186d792f1ec9d0679afc2dc3ffc86fc31fe1e0f342b838eb6c3eade62b333610a3d565b610c4c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c439061270d565b60405180910390fd5b610c568282611a4d565b80600754610c649190612593565b6007819055505050565b6000801b81565b600080610c806110d9565b90506000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905083811015610d46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3d9061279f565b60405180910390fd5b610d5382868684036110e1565b60019250505092915050565b600080610d6a6110d9565b9050610d77818585611338565b600191505092915050565b610d8b8261070f565b610d9c81610d976110d9565b6115b9565b610da68383611737565b505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610e3a6110d9565b73ffffffffffffffffffffffffffffffffffffffff16610e58610a13565b73ffffffffffffffffffffffffffffffffffffffff1614610eae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ea5906126a1565b60405180910390fd5b600082604051602001610ec191906127fb565b6040516020818303038152906040528051906020012090506000801b811415610f1f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1690612884565b60405180910390fd5b610f298183610a3d565b610f68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5f90612916565b60405180910390fd5b610f728183610d82565b505050565b610f7f6110d9565b73ffffffffffffffffffffffffffffffffffffffff16610f9d610a13565b73ffffffffffffffffffffffffffffffffffffffff1614610ff3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fea906126a1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611063576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105a906129a8565b60405180910390fd5b61106c81611979565b50565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611151576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114890612a3a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156111c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111b890612acc565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161129f91906120d7565b60405180910390a3505050565b60006112b88484610dab565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146113325781811015611324576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131b90612b38565b60405180910390fd5b61133184848484036110e1565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156113a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139f90612bca565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611418576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140f90612c5c565b60405180910390fd5b611423838383611c24565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156114a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114a090612cee565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461153c9190612593565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516115a091906120d7565b60405180910390a36115b3848484611c29565b50505050565b6115c38282610a3d565b611652576115e88173ffffffffffffffffffffffffffffffffffffffff166014611c2e565b6115f68360001c6020611c2e565b604051602001611607929190612da6565b6040516020818303038152906040526040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116499190611fd2565b60405180910390fd5b5050565b6116608282610a3d565b6117335760016006600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506116d86110d9565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b6117418282610a3d565b156118155760006006600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506117ba6110d9565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611889576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161188090612e2c565b60405180910390fd5b61189560008383611c24565b80600260008282546118a79190612593565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546118fc9190612593565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161196191906120d7565b60405180910390a361197560008383611c29565b5050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b611a498282611656565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611abd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ab490612ebe565b60405180910390fd5b611ac982600083611c24565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611b4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b4690612f50565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508160026000828254611ba69190612f70565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611c0b91906120d7565b60405180910390a3611c1f83600084611c29565b505050565b505050565b505050565b606060006002836002611c419190612fa4565b611c4b9190612593565b67ffffffffffffffff811115611c6457611c636122ea565b5b6040519080825280601f01601f191660200182016040528015611c965781602001600182028036833780820191505090505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110611cce57611ccd612ffe565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110611d3257611d31612ffe565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060006001846002611d729190612fa4565b611d7c9190612593565b90505b6001811115611e1c577f3031323334353637383961626364656600000000000000000000000000000000600f861660108110611dbe57611dbd612ffe565b5b1a60f81b828281518110611dd557611dd4612ffe565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c945080611e159061302d565b9050611d7f565b5060008414611e60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e57906130a3565b60405180910390fd5b8091505092915050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611eb381611e7e565b8114611ebe57600080fd5b50565b600081359050611ed081611eaa565b92915050565b600060208284031215611eec57611eeb611e74565b5b6000611efa84828501611ec1565b91505092915050565b60008115159050919050565b611f1881611f03565b82525050565b6000602082019050611f336000830184611f0f565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611f73578082015181840152602081019050611f58565b83811115611f82576000848401525b50505050565b6000601f19601f8301169050919050565b6000611fa482611f39565b611fae8185611f44565b9350611fbe818560208601611f55565b611fc781611f88565b840191505092915050565b60006020820190508181036000830152611fec8184611f99565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061201f82611ff4565b9050919050565b61202f81612014565b811461203a57600080fd5b50565b60008135905061204c81612026565b92915050565b6000819050919050565b61206581612052565b811461207057600080fd5b50565b6000813590506120828161205c565b92915050565b6000806040838503121561209f5761209e611e74565b5b60006120ad8582860161203d565b92505060206120be85828601612073565b9150509250929050565b6120d181612052565b82525050565b60006020820190506120ec60008301846120c8565b92915050565b60008060006060848603121561210b5761210a611e74565b5b60006121198682870161203d565b935050602061212a8682870161203d565b925050604061213b86828701612073565b9150509250925092565b6000819050919050565b61215881612145565b811461216357600080fd5b50565b6000813590506121758161214f565b92915050565b60006020828403121561219157612190611e74565b5b600061219f84828501612166565b91505092915050565b6121b181612145565b82525050565b60006020820190506121cc60008301846121a8565b92915050565b600080604083850312156121e9576121e8611e74565b5b60006121f785828601612166565b92505060206122088582860161203d565b9150509250929050565b600060ff82169050919050565b61222881612212565b82525050565b6000602082019050612243600083018461221f565b92915050565b60006020828403121561225f5761225e611e74565b5b600061226d8482850161203d565b91505092915050565b61227f81612014565b82525050565b600060208201905061229a6000830184612276565b92915050565b600080604083850312156122b7576122b6611e74565b5b60006122c58582860161203d565b92505060206122d68582860161203d565b9150509250929050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61232282611f88565b810181811067ffffffffffffffff82111715612341576123406122ea565b5b80604052505050565b6000612354611e6a565b90506123608282612319565b919050565b600067ffffffffffffffff8211156123805761237f6122ea565b5b61238982611f88565b9050602081019050919050565b82818337600083830152505050565b60006123b86123b384612365565b61234a565b9050828152602081018484840111156123d4576123d36122e5565b5b6123df848285612396565b509392505050565b600082601f8301126123fc576123fb6122e0565b5b813561240c8482602086016123a5565b91505092915050565b6000806040838503121561242c5761242b611e74565b5b600083013567ffffffffffffffff81111561244a57612449611e79565b5b612456858286016123e7565b92505060206124678582860161203d565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806124b857607f821691505b602082108114156124cc576124cb612471565b5b50919050565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b600061252e602f83611f44565b9150612539826124d2565b604082019050919050565b6000602082019050818103600083015261255d81612521565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061259e82612052565b91506125a983612052565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156125de576125dd612564565b5b828201905092915050565b7f43616c6c6572206973206e6f742061206d696e74657200000000000000000000600082015250565b600061261f601683611f44565b915061262a826125e9565b602082019050919050565b6000602082019050818103600083015261264e81612612565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061268b602083611f44565b915061269682612655565b602082019050919050565b600060208201905081810360008301526126ba8161267e565b9050919050565b7f43616c6c6572206973206e6f742061204275726e657200000000000000000000600082015250565b60006126f7601683611f44565b9150612702826126c1565b602082019050919050565b60006020820190508181036000830152612726816126ea565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000612789602583611f44565b91506127948261272d565b604082019050919050565b600060208201905081810360008301526127b88161277c565b9050919050565b600081905092915050565b60006127d582611f39565b6127df81856127bf565b93506127ef818560208601611f55565b80840191505092915050565b600061280782846127ca565b915081905092915050565b7f4d6f646966696564416363657373436f6e74726f6c3a2063616e6e6f7420726560008201527f766f6b652064656661756c742061646d696e20726f6c65000000000000000000602082015250565b600061286e603783611f44565b915061287982612812565b604082019050919050565b6000602082019050818103600083015261289d81612861565b9050919050565b7f436f756c646e27742066696e642074686973206164647265737320696e20746860008201527f6520726f6c65732e200000000000000000000000000000000000000000000000602082015250565b6000612900602983611f44565b915061290b826128a4565b604082019050919050565b6000602082019050818103600083015261292f816128f3565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612992602683611f44565b915061299d82612936565b604082019050919050565b600060208201905081810360008301526129c181612985565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612a24602483611f44565b9150612a2f826129c8565b604082019050919050565b60006020820190508181036000830152612a5381612a17565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612ab6602283611f44565b9150612ac182612a5a565b604082019050919050565b60006020820190508181036000830152612ae581612aa9565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000612b22601d83611f44565b9150612b2d82612aec565b602082019050919050565b60006020820190508181036000830152612b5181612b15565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612bb4602583611f44565b9150612bbf82612b58565b604082019050919050565b60006020820190508181036000830152612be381612ba7565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612c46602383611f44565b9150612c5182612bea565b604082019050919050565b60006020820190508181036000830152612c7581612c39565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000612cd8602683611f44565b9150612ce382612c7c565b604082019050919050565b60006020820190508181036000830152612d0781612ccb565b9050919050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b6000612d446017836127bf565b9150612d4f82612d0e565b601782019050919050565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b6000612d906011836127bf565b9150612d9b82612d5a565b601182019050919050565b6000612db182612d37565b9150612dbd82856127ca565b9150612dc882612d83565b9150612dd482846127ca565b91508190509392505050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000612e16601f83611f44565b9150612e2182612de0565b602082019050919050565b60006020820190508181036000830152612e4581612e09565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000612ea8602183611f44565b9150612eb382612e4c565b604082019050919050565b60006020820190508181036000830152612ed781612e9b565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b6000612f3a602283611f44565b9150612f4582612ede565b604082019050919050565b60006020820190508181036000830152612f6981612f2d565b9050919050565b6000612f7b82612052565b9150612f8683612052565b925082821015612f9957612f98612564565b5b828203905092915050565b6000612faf82612052565b9150612fba83612052565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612ff357612ff2612564565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600061303882612052565b9150600082141561304c5761304b612564565b5b600182039050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b600061308d602083611f44565b915061309882613057565b602082019050919050565b600060208201905081810360008301526130bc81613080565b905091905056fea2646970667358221220540a67159d0f0a98edf858f50b8218199e0d1420371479b7ef830261d1ea971b64736f6c634300080c0033",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101c45760003560e01c8063715018a6116100f9578063a217fddf11610097578063d547741f11610071578063d547741f1461051d578063dd62ed3e14610539578063dfe0b5fe14610569578063f2fde38b14610585576101c4565b8063a217fddf1461049f578063a457c2d7146104bd578063a9059cbb146104ed576101c4565b806391d14854116100d357806391d1485414610419578063925dc4e01461044957806395d89b41146104655780639dc29fac14610483576101c4565b8063715018a6146103d357806372c32860146103dd5780638da5cb5b146103fb576101c4565b80632898410b1161016657806336568abe1161014057806336568abe1461033b578063395093511461035757806340c10f191461038757806370a08231146103a3576101c4565b80632898410b146102e35780632f2ff15d14610301578063313ce5671461031d576101c4565b80630de97c41116101a25780630de97c411461024757806318160ddd1461026557806323b872dd14610283578063248a9ca3146102b3576101c4565b806301ffc9a7146101c957806306fdde03146101f9578063095ea7b314610217575b600080fd5b6101e360048036038101906101de9190611ed6565b6105a1565b6040516101f09190611f1e565b60405180910390f35b61020161061b565b60405161020e9190611fd2565b60405180910390f35b610231600480360381019061022c9190612088565b6106ad565b60405161023e9190611f1e565b60405180910390f35b61024f6106d0565b60405161025c91906120d7565b60405180910390f35b61026d6106d6565b60405161027a91906120d7565b60405180910390f35b61029d600480360381019061029891906120f2565b6106e0565b6040516102aa9190611f1e565b60405180910390f35b6102cd60048036038101906102c8919061217b565b61070f565b6040516102da91906121b7565b60405180910390f35b6102eb61072f565b6040516102f891906120d7565b60405180910390f35b61031b600480360381019061031691906121d2565b610735565b005b61032561075e565b604051610332919061222e565b60405180910390f35b610355600480360381019061035091906121d2565b610767565b005b610371600480360381019061036c9190612088565b6107ea565b60405161037e9190611f1e565b60405180910390f35b6103a1600480360381019061039c9190612088565b610894565b005b6103bd60048036038101906103b89190612249565b61091f565b6040516103ca91906120d7565b60405180910390f35b6103db610967565b005b6103e56109ef565b6040516103f291906121b7565b60405180910390f35b610403610a13565b6040516104109190612285565b60405180910390f35b610433600480360381019061042e91906121d2565b610a3d565b6040516104409190611f1e565b60405180910390f35b610463600480360381019061045e9190612249565b610aa8565b005b61046d610b51565b60405161047a9190611fd2565b60405180910390f35b61049d60048036038101906104989190612088565b610be3565b005b6104a7610c6e565b6040516104b491906121b7565b60405180910390f35b6104d760048036038101906104d29190612088565b610c75565b6040516104e49190611f1e565b60405180910390f35b61050760048036038101906105029190612088565b610d5f565b6040516105149190611f1e565b60405180910390f35b610537600480360381019061053291906121d2565b610d82565b005b610553600480360381019061054e91906122a0565b610dab565b60405161056091906120d7565b60405180910390f35b610583600480360381019061057e9190612415565b610e32565b005b61059f600480360381019061059a9190612249565b610f77565b005b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061061457506106138261106f565b5b9050919050565b60606003805461062a906124a0565b80601f0160208091040260200160405190810160405280929190818152602001828054610656906124a0565b80156106a35780601f10610678576101008083540402835291602001916106a3565b820191906000526020600020905b81548152906001019060200180831161068657829003601f168201915b5050505050905090565b6000806106b86110d9565b90506106c58185856110e1565b600191505092915050565b60075481565b6000600254905090565b6000806106eb6110d9565b90506106f88582856112ac565b610703858585611338565b60019150509392505050565b600060066000838152602001908152602001600020600101549050919050565b60085481565b61073e8261070f565b61074f8161074a6110d9565b6115b9565b6107598383611656565b505050565b60006012905090565b61076f6110d9565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146107dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107d390612544565b60405180910390fd5b6107e68282611737565b5050565b6000806107f56110d9565b9050610889818585600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546108849190612593565b6110e1565b600191505092915050565b6108be7fcfd53186d792f1ec9d0679afc2dc3ffc86fc31fe1e0f342b838eb6c3eade62b333610a3d565b6108fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f490612635565b60405180910390fd5b6109078282611819565b806008546109159190612593565b6008819055505050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61096f6110d9565b73ffffffffffffffffffffffffffffffffffffffff1661098d610a13565b73ffffffffffffffffffffffffffffffffffffffff16146109e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109da906126a1565b60405180910390fd5b6109ed6000611979565b565b7fcfd53186d792f1ec9d0679afc2dc3ffc86fc31fe1e0f342b838eb6c3eade62b381565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60006006600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b610ab06110d9565b73ffffffffffffffffffffffffffffffffffffffff16610ace610a13565b73ffffffffffffffffffffffffffffffffffffffff1614610b24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1b906126a1565b60405180910390fd5b610b4e7fcfd53186d792f1ec9d0679afc2dc3ffc86fc31fe1e0f342b838eb6c3eade62b382611a3f565b50565b606060048054610b60906124a0565b80601f0160208091040260200160405190810160405280929190818152602001828054610b8c906124a0565b8015610bd95780601f10610bae57610100808354040283529160200191610bd9565b820191906000526020600020905b815481529060010190602001808311610bbc57829003601f168201915b5050505050905090565b610c0d7fcfd53186d792f1ec9d0679afc2dc3ffc86fc31fe1e0f342b838eb6c3eade62b333610a3d565b610c4c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c439061270d565b60405180910390fd5b610c568282611a4d565b80600754610c649190612593565b6007819055505050565b6000801b81565b600080610c806110d9565b90506000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905083811015610d46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3d9061279f565b60405180910390fd5b610d5382868684036110e1565b60019250505092915050565b600080610d6a6110d9565b9050610d77818585611338565b600191505092915050565b610d8b8261070f565b610d9c81610d976110d9565b6115b9565b610da68383611737565b505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610e3a6110d9565b73ffffffffffffffffffffffffffffffffffffffff16610e58610a13565b73ffffffffffffffffffffffffffffffffffffffff1614610eae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ea5906126a1565b60405180910390fd5b600082604051602001610ec191906127fb565b6040516020818303038152906040528051906020012090506000801b811415610f1f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1690612884565b60405180910390fd5b610f298183610a3d565b610f68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5f90612916565b60405180910390fd5b610f728183610d82565b505050565b610f7f6110d9565b73ffffffffffffffffffffffffffffffffffffffff16610f9d610a13565b73ffffffffffffffffffffffffffffffffffffffff1614610ff3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fea906126a1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611063576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105a906129a8565b60405180910390fd5b61106c81611979565b50565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611151576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114890612a3a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156111c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111b890612acc565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161129f91906120d7565b60405180910390a3505050565b60006112b88484610dab565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146113325781811015611324576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131b90612b38565b60405180910390fd5b61133184848484036110e1565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156113a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139f90612bca565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611418576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140f90612c5c565b60405180910390fd5b611423838383611c24565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156114a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114a090612cee565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461153c9190612593565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516115a091906120d7565b60405180910390a36115b3848484611c29565b50505050565b6115c38282610a3d565b611652576115e88173ffffffffffffffffffffffffffffffffffffffff166014611c2e565b6115f68360001c6020611c2e565b604051602001611607929190612da6565b6040516020818303038152906040526040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116499190611fd2565b60405180910390fd5b5050565b6116608282610a3d565b6117335760016006600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506116d86110d9565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b6117418282610a3d565b156118155760006006600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506117ba6110d9565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611889576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161188090612e2c565b60405180910390fd5b61189560008383611c24565b80600260008282546118a79190612593565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546118fc9190612593565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161196191906120d7565b60405180910390a361197560008383611c29565b5050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b611a498282611656565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611abd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ab490612ebe565b60405180910390fd5b611ac982600083611c24565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611b4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b4690612f50565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508160026000828254611ba69190612f70565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611c0b91906120d7565b60405180910390a3611c1f83600084611c29565b505050565b505050565b505050565b606060006002836002611c419190612fa4565b611c4b9190612593565b67ffffffffffffffff811115611c6457611c636122ea565b5b6040519080825280601f01601f191660200182016040528015611c965781602001600182028036833780820191505090505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110611cce57611ccd612ffe565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110611d3257611d31612ffe565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060006001846002611d729190612fa4565b611d7c9190612593565b90505b6001811115611e1c577f3031323334353637383961626364656600000000000000000000000000000000600f861660108110611dbe57611dbd612ffe565b5b1a60f81b828281518110611dd557611dd4612ffe565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c945080611e159061302d565b9050611d7f565b5060008414611e60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e57906130a3565b60405180910390fd5b8091505092915050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611eb381611e7e565b8114611ebe57600080fd5b50565b600081359050611ed081611eaa565b92915050565b600060208284031215611eec57611eeb611e74565b5b6000611efa84828501611ec1565b91505092915050565b60008115159050919050565b611f1881611f03565b82525050565b6000602082019050611f336000830184611f0f565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611f73578082015181840152602081019050611f58565b83811115611f82576000848401525b50505050565b6000601f19601f8301169050919050565b6000611fa482611f39565b611fae8185611f44565b9350611fbe818560208601611f55565b611fc781611f88565b840191505092915050565b60006020820190508181036000830152611fec8184611f99565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061201f82611ff4565b9050919050565b61202f81612014565b811461203a57600080fd5b50565b60008135905061204c81612026565b92915050565b6000819050919050565b61206581612052565b811461207057600080fd5b50565b6000813590506120828161205c565b92915050565b6000806040838503121561209f5761209e611e74565b5b60006120ad8582860161203d565b92505060206120be85828601612073565b9150509250929050565b6120d181612052565b82525050565b60006020820190506120ec60008301846120c8565b92915050565b60008060006060848603121561210b5761210a611e74565b5b60006121198682870161203d565b935050602061212a8682870161203d565b925050604061213b86828701612073565b9150509250925092565b6000819050919050565b61215881612145565b811461216357600080fd5b50565b6000813590506121758161214f565b92915050565b60006020828403121561219157612190611e74565b5b600061219f84828501612166565b91505092915050565b6121b181612145565b82525050565b60006020820190506121cc60008301846121a8565b92915050565b600080604083850312156121e9576121e8611e74565b5b60006121f785828601612166565b92505060206122088582860161203d565b9150509250929050565b600060ff82169050919050565b61222881612212565b82525050565b6000602082019050612243600083018461221f565b92915050565b60006020828403121561225f5761225e611e74565b5b600061226d8482850161203d565b91505092915050565b61227f81612014565b82525050565b600060208201905061229a6000830184612276565b92915050565b600080604083850312156122b7576122b6611e74565b5b60006122c58582860161203d565b92505060206122d68582860161203d565b9150509250929050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61232282611f88565b810181811067ffffffffffffffff82111715612341576123406122ea565b5b80604052505050565b6000612354611e6a565b90506123608282612319565b919050565b600067ffffffffffffffff8211156123805761237f6122ea565b5b61238982611f88565b9050602081019050919050565b82818337600083830152505050565b60006123b86123b384612365565b61234a565b9050828152602081018484840111156123d4576123d36122e5565b5b6123df848285612396565b509392505050565b600082601f8301126123fc576123fb6122e0565b5b813561240c8482602086016123a5565b91505092915050565b6000806040838503121561242c5761242b611e74565b5b600083013567ffffffffffffffff81111561244a57612449611e79565b5b612456858286016123e7565b92505060206124678582860161203d565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806124b857607f821691505b602082108114156124cc576124cb612471565b5b50919050565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b600061252e602f83611f44565b9150612539826124d2565b604082019050919050565b6000602082019050818103600083015261255d81612521565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061259e82612052565b91506125a983612052565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156125de576125dd612564565b5b828201905092915050565b7f43616c6c6572206973206e6f742061206d696e74657200000000000000000000600082015250565b600061261f601683611f44565b915061262a826125e9565b602082019050919050565b6000602082019050818103600083015261264e81612612565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061268b602083611f44565b915061269682612655565b602082019050919050565b600060208201905081810360008301526126ba8161267e565b9050919050565b7f43616c6c6572206973206e6f742061204275726e657200000000000000000000600082015250565b60006126f7601683611f44565b9150612702826126c1565b602082019050919050565b60006020820190508181036000830152612726816126ea565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000612789602583611f44565b91506127948261272d565b604082019050919050565b600060208201905081810360008301526127b88161277c565b9050919050565b600081905092915050565b60006127d582611f39565b6127df81856127bf565b93506127ef818560208601611f55565b80840191505092915050565b600061280782846127ca565b915081905092915050565b7f4d6f646966696564416363657373436f6e74726f6c3a2063616e6e6f7420726560008201527f766f6b652064656661756c742061646d696e20726f6c65000000000000000000602082015250565b600061286e603783611f44565b915061287982612812565b604082019050919050565b6000602082019050818103600083015261289d81612861565b9050919050565b7f436f756c646e27742066696e642074686973206164647265737320696e20746860008201527f6520726f6c65732e200000000000000000000000000000000000000000000000602082015250565b6000612900602983611f44565b915061290b826128a4565b604082019050919050565b6000602082019050818103600083015261292f816128f3565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612992602683611f44565b915061299d82612936565b604082019050919050565b600060208201905081810360008301526129c181612985565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612a24602483611f44565b9150612a2f826129c8565b604082019050919050565b60006020820190508181036000830152612a5381612a17565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612ab6602283611f44565b9150612ac182612a5a565b604082019050919050565b60006020820190508181036000830152612ae581612aa9565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000612b22601d83611f44565b9150612b2d82612aec565b602082019050919050565b60006020820190508181036000830152612b5181612b15565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612bb4602583611f44565b9150612bbf82612b58565b604082019050919050565b60006020820190508181036000830152612be381612ba7565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612c46602383611f44565b9150612c5182612bea565b604082019050919050565b60006020820190508181036000830152612c7581612c39565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000612cd8602683611f44565b9150612ce382612c7c565b604082019050919050565b60006020820190508181036000830152612d0781612ccb565b9050919050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b6000612d446017836127bf565b9150612d4f82612d0e565b601782019050919050565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b6000612d906011836127bf565b9150612d9b82612d5a565b601182019050919050565b6000612db182612d37565b9150612dbd82856127ca565b9150612dc882612d83565b9150612dd482846127ca565b91508190509392505050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000612e16601f83611f44565b9150612e2182612de0565b602082019050919050565b60006020820190508181036000830152612e4581612e09565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000612ea8602183611f44565b9150612eb382612e4c565b604082019050919050565b60006020820190508181036000830152612ed781612e9b565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b6000612f3a602283611f44565b9150612f4582612ede565b604082019050919050565b60006020820190508181036000830152612f6981612f2d565b9050919050565b6000612f7b82612052565b9150612f8683612052565b925082821015612f9957612f98612564565b5b828203905092915050565b6000612faf82612052565b9150612fba83612052565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612ff357612ff2612564565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600061303882612052565b9150600082141561304c5761304b612564565b5b600182039050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b600061308d602083611f44565b915061309882613057565b602082019050919050565b600060208201905081810360008301526130bc81613080565b905091905056fea2646970667358221220540a67159d0f0a98edf858f50b8218199e0d1420371479b7ef830261d1ea971b64736f6c634300080c0033",
"immutableReferences": {},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:5293:18",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "35:152:18",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "52:1:18",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "55:77:18",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "45:6:18"
},
"nodeType": "YulFunctionCall",
"src": "45:88:18"
},
"nodeType": "YulExpressionStatement",
"src": "45:88:18"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "149:1:18",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "152:4:18",
"type": "",
"value": "0x11"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "142:6:18"
},
"nodeType": "YulFunctionCall",
"src": "142:15:18"
},
"nodeType": "YulExpressionStatement",
"src": "142:15:18"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "173:1:18",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "176:4:18",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "166:6:18"
},
"nodeType": "YulFunctionCall",
"src": "166:15:18"
},
"nodeType": "YulExpressionStatement",
"src": "166:15:18"
}
]
},
"name": "panic_error_0x11",
"nodeType": "YulFunctionDefinition",
"src": "7:180:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "244:51:18",
"statements": [
{
"nodeType": "YulAssignment",
"src": "254:34:18",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "279:1:18",
"type": "",
"value": "1"
},
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "282:5:18"
}
],
"functionName": {
"name": "shr",
"nodeType": "YulIdentifier",
"src": "275:3:18"
},
"nodeType": "YulFunctionCall",
"src": "275:13:18"
},
"variableNames": [
{
"name": "newValue",
"nodeType": "YulIdentifier",
"src": "254:8:18"
}
]
}
]
},
"name": "shift_right_1_unsigned",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "225:5:18",
"type": ""
}
],
"returnVariables": [
{
"name": "newValue",
"nodeType": "YulTypedName",
"src": "235:8:18",
"type": ""
}
],
"src": "193:102:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "374:775:18",
"statements": [
{
"nodeType": "YulAssignment",
"src": "384:15:18",
"value": {
"name": "_power",
"nodeType": "YulIdentifier",
"src": "393:6:18"
},
"variableNames": [
{
"name": "power",
"nodeType": "YulIdentifier",
"src": "384:5:18"
}
]
},
{
"nodeType": "YulAssignment",
"src": "408:14:18",
"value": {
"name": "_base",
"nodeType": "YulIdentifier",
"src": "417:5:18"
},
"variableNames": [
{
"name": "base",
"nodeType": "YulIdentifier",
"src": "408:4:18"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "466:677:18",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "554:22:18",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "556:16:18"
},
"nodeType": "YulFunctionCall",
"src": "556:18:18"
},
"nodeType": "YulExpressionStatement",
"src": "556:18:18"
}
]
},
"condition": {
"arguments": [
{
"name": "base",
"nodeType": "YulIdentifier",
"src": "532:4:18"
},
{
"arguments": [
{
"name": "max",
"nodeType": "YulIdentifier",
"src": "542:3:18"
},
{
"name": "base",
"nodeType": "YulIdentifier",
"src": "547:4:18"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "538:3:18"
},
"nodeType": "YulFunctionCall",
"src": "538:14:18"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "529:2:18"
},
"nodeType": "YulFunctionCall",
"src": "529:24:18"
},
"nodeType": "YulIf",
"src": "526:50:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "621:419:18",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1001:25:18",
"value": {
"arguments": [
{
"name": "power",
"nodeType": "YulIdentifier",
"src": "1014:5:18"
},
{
"name": "base",
"nodeType": "YulIdentifier",
"src": "1021:4:18"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "1010:3:18"
},
"nodeType": "YulFunctionCall",
"src": "1010:16:18"
},
"variableNames": [
{
"name": "power",
"nodeType": "YulIdentifier",
"src": "1001:5:18"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "exponent",
"nodeType": "YulIdentifier",
"src": "596:8:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "606:1:18",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "592:3:18"
},
"nodeType": "YulFunctionCall",
"src": "592:16:18"
},
"nodeType": "YulIf",
"src": "589:451:18"
},
{
"nodeType": "YulAssignment",
"src": "1053:23:18",
"value": {
"arguments": [
{
"name": "base",
"nodeType": "YulIdentifier",
"src": "1065:4:18"
},
{
"name": "base",
"nodeType": "YulIdentifier",
"src": "1071:4:18"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "1061:3:18"
},
"nodeType": "YulFunctionCall",
"src": "1061:15:18"
},
"variableNames": [
{
"name": "base",
"nodeType": "YulIdentifier",
"src": "1053:4:18"
}
]
},
{
"nodeType": "YulAssignment",
"src": "1089:44:18",
"value": {
"arguments": [
{
"name": "exponent",
"nodeType": "YulIdentifier",
"src": "1124:8:18"
}
],
"functionName": {
"name": "shift_right_1_unsigned",
"nodeType": "YulIdentifier",
"src": "1101:22:18"
},
"nodeType": "YulFunctionCall",
"src": "1101:32:18"
},
"variableNames": [
{
"name": "exponent",
"nodeType": "YulIdentifier",
"src": "1089:8:18"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "exponent",
"nodeType": "YulIdentifier",
"src": "442:8:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "452:1:18",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "439:2:18"
},
"nodeType": "YulFunctionCall",
"src": "439:15:18"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "455:2:18",
"statements": []
},
"pre": {
"nodeType": "YulBlock",
"src": "435:3:18",
"statements": []
},
"src": "431:712:18"
}
]
},
"name": "checked_exp_helper",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "_power",
"nodeType": "YulTypedName",
"src": "329:6:18",
"type": ""
},
{
"name": "_base",
"nodeType": "YulTypedName",
"src": "337:5:18",
"type": ""
},
{
"name": "exponent",
"nodeType": "YulTypedName",
"src": "344:8:18",
"type": ""
},
{
"name": "max",
"nodeType": "YulTypedName",
"src": "354:3:18",
"type": ""
}
],
"returnVariables": [
{
"name": "power",
"nodeType": "YulTypedName",
"src": "362:5:18",
"type": ""
},
{
"name": "base",
"nodeType": "YulTypedName",
"src": "369:4:18",
"type": ""
}
],
"src": "301:848:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1215:1013:18",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1410:20:18",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1412:10:18",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1421:1:18",
"type": "",
"value": "1"
},
"variableNames": [
{
"name": "power",
"nodeType": "YulIdentifier",
"src": "1412:5:18"
}
]
},
{
"nodeType": "YulLeave",
"src": "1423:5:18"
}
]
},
"condition": {
"arguments": [
{
"name": "exponent",
"nodeType": "YulIdentifier",
"src": "1400:8:18"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "1393:6:18"
},
"nodeType": "YulFunctionCall",
"src": "1393:16:18"
},
"nodeType": "YulIf",
"src": "1390:40:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1455:20:18",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1457:10:18",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1466:1:18",
"type": "",
"value": "0"
},
"variableNames": [
{
"name": "power",
"nodeType": "YulIdentifier",
"src": "1457:5:18"
}
]
},
{
"nodeType": "YulLeave",
"src": "1468:5:18"
}
]
},
"condition": {
"arguments": [
{
"name": "base",
"nodeType": "YulIdentifier",
"src": "1449:4:18"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "1442:6:18"
},
"nodeType": "YulFunctionCall",
"src": "1442:12:18"
},
"nodeType": "YulIf",
"src": "1439:36:18"
},
{
"cases": [
{
"body": {
"nodeType": "YulBlock",
"src": "1585:20:18",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1587:10:18",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1596:1:18",
"type": "",
"value": "1"
},
"variableNames": [
{
"name": "power",
"nodeType": "YulIdentifier",
"src": "1587:5:18"
}
]
},
{
"nodeType": "YulLeave",
"src": "1598:5:18"
}
]
},
"nodeType": "YulCase",
"src": "1578:27:18",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1583:1:18",
"type": "",
"value": "1"
}
},
{
"body": {
"nodeType": "YulBlock",
"src": "1629:176:18",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1664:22:18",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "1666:16:18"
},
"nodeType": "YulFunctionCall",
"src": "1666:18:18"
},
"nodeType": "YulExpressionStatement",
"src": "1666:18:18"
}
]
},
"condition": {
"arguments": [
{
"name": "exponent",
"nodeType": "YulIdentifier",
"src": "1649:8:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1659:3:18",
"type": "",
"value": "255"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "1646:2:18"
},
"nodeType": "YulFunctionCall",
"src": "1646:17:18"
},
"nodeType": "YulIf",
"src": "1643:43:18"
},
{
"nodeType": "YulAssignment",
"src": "1699:25:18",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1712:1:18",
"type": "",
"value": "2"
},
{
"name": "exponent",
"nodeType": "YulIdentifier",
"src": "1715:8:18"
}
],
"functionName": {
"name": "exp",
"nodeType": "YulIdentifier",
"src": "1708:3:18"
},
"nodeType": "YulFunctionCall",
"src": "1708:16:18"
},
"variableNames": [
{
"name": "power",
"nodeType": "YulIdentifier",
"src": "1699:5:18"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "1755:22:18",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "1757:16:18"
},
"nodeType": "YulFunctionCall",
"src": "1757:18:18"
},
"nodeType": "YulExpressionStatement",
"src": "1757:18:18"
}
]
},
"condition": {
"arguments": [
{
"name": "power",
"nodeType": "YulIdentifier",
"src": "1743:5:18"
},
{
"name": "max",
"nodeType": "YulIdentifier",
"src": "1750:3:18"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "1740:2:18"
},
"nodeType": "YulFunctionCall",
"src": "1740:14:18"
},
"nodeType": "YulIf",
"src": "1737:40:18"
},
{
"nodeType": "YulLeave",
"src": "1790:5:18"
}
]
},
"nodeType": "YulCase",
"src": "1614:191:18",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1619:1:18",
"type": "",
"value": "2"
}
}
],
"expression": {
"name": "base",
"nodeType": "YulIdentifier",
"src": "1535:4:18"
},
"nodeType": "YulSwitch",
"src": "1528:277:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1937:123:18",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1951:28:18",
"value": {
"arguments": [
{
"name": "base",
"nodeType": "YulIdentifier",
"src": "1964:4:18"
},
{
"name": "exponent",
"nodeType": "YulIdentifier",
"src": "1970:8:18"
}
],
"functionName": {
"name": "exp",
"nodeType": "YulIdentifier",
"src": "1960:3:18"
},
"nodeType": "YulFunctionCall",
"src": "1960:19:18"
},
"variableNames": [
{
"name": "power",
"nodeType": "YulIdentifier",
"src": "1951:5:18"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "2010:22:18",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "2012:16:18"
},
"nodeType": "YulFunctionCall",
"src": "2012:18:18"
},
"nodeType": "YulExpressionStatement",
"src": "2012:18:18"
}
]
},
"condition": {
"arguments": [
{
"name": "power",
"nodeType": "YulIdentifier",
"src": "1998:5:18"
},
{
"name": "max",
"nodeType": "YulIdentifier",
"src": "2005:3:18"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "1995:2:18"
},
"nodeType": "YulFunctionCall",
"src": "1995:14:18"
},
"nodeType": "YulIf",
"src": "1992:40:18"
},
{
"nodeType": "YulLeave",
"src": "2045:5:18"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "base",
"nodeType": "YulIdentifier",
"src": "1840:4:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1846:2:18",
"type": "",
"value": "11"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "1837:2:18"
},
"nodeType": "YulFunctionCall",
"src": "1837:12:18"
},
{
"arguments": [
{
"name": "exponent",
"nodeType": "YulIdentifier",
"src": "1854:8:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1864:2:18",
"type": "",
"value": "78"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "1851:2:18"
},
"nodeType": "YulFunctionCall",
"src": "1851:16:18"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "1833:3:18"
},
"nodeType": "YulFunctionCall",
"src": "1833:35:18"
},
{
"arguments": [
{
"arguments": [
{
"name": "base",
"nodeType": "YulIdentifier",
"src": "1889:4:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1895:3:18",
"type": "",
"value": "307"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "1886:2:18"
},
"nodeType": "YulFunctionCall",
"src": "1886:13:18"
},
{
"arguments": [
{
"name": "exponent",
"nodeType": "YulIdentifier",
"src": "1904:8:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1914:2:18",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "1901:2:18"
},
"nodeType": "YulFunctionCall",
"src": "1901:16:18"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "1882:3:18"
},
"nodeType": "YulFunctionCall",
"src": "1882:36:18"
}
],
"functionName": {
"name": "or",
"nodeType": "YulIdentifier",
"src": "1817:2:18"
},
"nodeType": "YulFunctionCall",
"src": "1817:111:18"
},
"nodeType": "YulIf",
"src": "1814:246:18"
},
{
"nodeType": "YulAssignment",
"src": "2070:57:18",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2104:1:18",
"type": "",
"value": "1"
},
{
"name": "base",
"nodeType": "YulIdentifier",
"src": "2107:4:18"
},
{
"name": "exponent",
"nodeType": "YulIdentifier",
"src": "2113:8:18"
},
{
"name": "max",
"nodeType": "YulIdentifier",
"src": "2123:3:18"
}
],
"functionName": {
"name": "checked_exp_helper",
"nodeType": "YulIdentifier",
"src": "2085:18:18"
},
"nodeType": "YulFunctionCall",
"src": "2085:42:18"
},
"variableNames": [
{
"name": "power",
"nodeType": "YulIdentifier",
"src": "2070:5:18"
},
{
"name": "base",
"nodeType": "YulIdentifier",
"src": "2077:4:18"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "2166:22:18",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "2168:16:18"
},
"nodeType": "YulFunctionCall",
"src": "2168:18:18"
},
"nodeType": "YulExpressionStatement",
"src": "2168:18:18"
}
]
},
"condition": {
"arguments": [
{
"name": "power",
"nodeType": "YulIdentifier",
"src": "2143:5:18"
},
{
"arguments": [
{
"name": "max",
"nodeType": "YulIdentifier",
"src": "2154:3:18"
},
{
"name": "base",
"nodeType": "YulIdentifier",
"src": "2159:4:18"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "2150:3:18"
},
"nodeType": "YulFunctionCall",
"src": "2150:14:18"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "2140:2:18"
},
"nodeType": "YulFunctionCall",
"src": "2140:25:18"
},
"nodeType": "YulIf",
"src": "2137:51:18"
},
{
"nodeType": "YulAssignment",
"src": "2197:25:18",
"value": {
"arguments": [
{
"name": "power",
"nodeType": "YulIdentifier",
"src": "2210:5:18"
},
{
"name": "base",
"nodeType": "YulIdentifier",
"src": "2217:4:18"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "2206:3:18"
},
"nodeType": "YulFunctionCall",
"src": "2206:16:18"
},
"variableNames": [
{
"name": "power",
"nodeType": "YulIdentifier",
"src": "2197:5:18"
}
]
}
]
},
"name": "checked_exp_unsigned",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "base",
"nodeType": "YulTypedName",
"src": "1185:4:18",
"type": ""
},
{
"name": "exponent",
"nodeType": "YulTypedName",
"src": "1191:8:18",
"type": ""
},
{
"name": "max",
"nodeType": "YulTypedName",
"src": "1201:3:18",
"type": ""
}
],
"returnVariables": [
{
"name": "power",
"nodeType": "YulTypedName",
"src": "1209:5:18",
"type": ""
}
],
"src": "1155:1073:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2279:32:18",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2289:16:18",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "2300:5:18"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "2289:7:18"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2261:5:18",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "2271:7:18",
"type": ""
}
],
"src": "2234:77:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2383:219:18",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2393:31:18",
"value": {
"arguments": [
{
"name": "base",
"nodeType": "YulIdentifier",
"src": "2419:4:18"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "2401:17:18"
},
"nodeType": "YulFunctionCall",
"src": "2401:23:18"
},
"variableNames": [
{
"name": "base",
"nodeType": "YulIdentifier",
"src": "2393:4:18"
}
]
},
{
"nodeType": "YulAssignment",
"src": "2433:39:18",
"value": {
"arguments": [
{
"name": "exponent",
"nodeType": "YulIdentifier",
"src": "2463:8:18"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "2445:17:18"
},
"nodeType": "YulFunctionCall",
"src": "2445:27:18"
},
"variableNames": [
{
"name": "exponent",
"nodeType": "YulIdentifier",
"src": "2433:8:18"
}
]
},
{
"nodeType": "YulAssignment",
"src": "2482:113:18",
"value": {
"arguments": [
{
"name": "base",
"nodeType": "YulIdentifier",
"src": "2512:4:18"
},
{
"name": "exponent",
"nodeType": "YulIdentifier",
"src": "2518:8:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2528:66:18",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "checked_exp_unsigned",
"nodeType": "YulIdentifier",
"src": "2491:20:18"
},
"nodeType": "YulFunctionCall",
"src": "2491:104:18"
},
"variableNames": [
{
"name": "power",
"nodeType": "YulIdentifier",
"src": "2482:5:18"
}
]
}
]
},
"name": "checked_exp_t_uint256_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "base",
"nodeType": "YulTypedName",
"src": "2358:4:18",
"type": ""
},
{
"name": "exponent",
"nodeType": "YulTypedName",
"src": "2364:8:18",
"type": ""
}
],
"returnVariables": [
{
"name": "power",
"nodeType": "YulTypedName",
"src": "2377:5:18",
"type": ""
}
],
"src": "2317:285:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2656:300:18",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2666:25:18",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "2689:1:18"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "2671:17:18"
},
"nodeType": "YulFunctionCall",
"src": "2671:20:18"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "2666:1:18"
}
]
},
{
"nodeType": "YulAssignment",
"src": "2700:25:18",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "2723:1:18"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "2705:17:18"
},
"nodeType": "YulFunctionCall",
"src": "2705:20:18"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "2700:1:18"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "2898:22:18",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "2900:16:18"
},
"nodeType": "YulFunctionCall",
"src": "2900:18:18"
},
"nodeType": "YulExpressionStatement",
"src": "2900:18:18"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "2810:1:18"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "2803:6:18"
},
"nodeType": "YulFunctionCall",
"src": "2803:9:18"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "2796:6:18"
},
"nodeType": "YulFunctionCall",
"src": "2796:17:18"
},
{
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "2818:1:18"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2825:66:18",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
},
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "2893:1:18"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "2821:3:18"
},
"nodeType": "YulFunctionCall",
"src": "2821:74:18"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "2815:2:18"
},
"nodeType": "YulFunctionCall",
"src": "2815:81:18"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "2792:3:18"
},
"nodeType": "YulFunctionCall",
"src": "2792:105:18"
},
"nodeType": "YulIf",
"src": "2789:131:18"
},
{
"nodeType": "YulAssignment",
"src": "2930:20:18",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "2945:1:18"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "2948:1:18"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "2941:3:18"
},
"nodeType": "YulFunctionCall",
"src": "2941:9:18"
},
"variableNames": [
{
"name": "product",
"nodeType": "YulIdentifier",
"src": "2930:7:18"
}
]
}
]
},
"name": "checked_mul_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "2639:1:18",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "2642:1:18",
"type": ""
}
],
"returnVariables": [
{
"name": "product",
"nodeType": "YulTypedName",
"src": "2648:7:18",
"type": ""
}
],
"src": "2608:348:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3058:73:18",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3075:3:18"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3080:6:18"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3068:6:18"
},
"nodeType": "YulFunctionCall",
"src": "3068:19:18"
},
"nodeType": "YulExpressionStatement",
"src": "3068:19:18"
},
{
"nodeType": "YulAssignment",
"src": "3096:29:18",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3115:3:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3120:4:18",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3111:3:18"
},
"nodeType": "YulFunctionCall",
"src": "3111:14:18"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "3096:11:18"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "3030:3:18",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "3035:6:18",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "3046:11:18",
"type": ""
}
],
"src": "2962:169:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3243:75:18",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "3265:6:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3273:1:18",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3261:3:18"
},
"nodeType": "YulFunctionCall",
"src": "3261:14:18"
},
{
"hexValue": "45524332303a206d696e7420746f20746865207a65726f2061646472657373",
"kind": "string",
"nodeType": "YulLiteral",
"src": "3277:33:18",
"type": "",
"value": "ERC20: mint to the zero address"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3254:6:18"
},
"nodeType": "YulFunctionCall",
"src": "3254:57:18"
},
"nodeType": "YulExpressionStatement",
"src": "3254:57:18"
}
]
},
"name": "store_literal_in_memory_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "3235:6:18",
"type": ""
}
],
"src": "3137:181:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3470:220:18",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3480:74:18",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3546:3:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3551:2:18",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "3487:58:18"
},
"nodeType": "YulFunctionCall",
"src": "3487:67:18"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3480:3:18"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3652:3:18"
}
],
"functionName": {
"name": "store_literal_in_memory_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e",
"nodeType": "YulIdentifier",
"src": "3563:88:18"
},
"nodeType": "YulFunctionCall",
"src": "3563:93:18"
},
"nodeType": "YulExpressionStatement",
"src": "3563:93:18"
},
{
"nodeType": "YulAssignment",
"src": "3665:19:18",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3676:3:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3681:2:18",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3672:3:18"
},
"nodeType": "YulFunctionCall",
"src": "3672:12:18"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "3665:3:18"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "3458:3:18",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "3466:3:18",
"type": ""
}
],
"src": "3324:366:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3867:248:18",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3877:26:18",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3889:9:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3900:2:18",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3885:3:18"
},
"nodeType": "YulFunctionCall",
"src": "3885:18:18"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3877:4:18"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3924:9:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3935:1:18",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3920:3:18"
},
"nodeType": "YulFunctionCall",
"src": "3920:17:18"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3943:4:18"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3949:9:18"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "3939:3:18"
},
"nodeType": "YulFunctionCall",
"src": "3939:20:18"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3913:6:18"
},
"nodeType": "YulFunctionCall",
"src": "3913:47:18"
},
"nodeType": "YulExpressionStatement",
"src": "3913:47:18"
},
{
"nodeType": "YulAssignment",
"src": "3969:139:18",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4103:4:18"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "3977:124:18"
},
"nodeType": "YulFunctionCall",
"src": "3977:131:18"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3969:4:18"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "3847:9:18",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "3862:4:18",
"type": ""
}
],
"src": "3696:419:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4165:261:18",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4175:25:18",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "4198:1:18"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "4180:17:18"
},
"nodeType": "YulFunctionCall",
"src": "4180:20:18"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "4175:1:18"
}
]
},
{
"nodeType": "YulAssignment",
"src": "4209:25:18",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "4232:1:18"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "4214:17:18"
},
"nodeType": "YulFunctionCall",
"src": "4214:20:18"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "4209:1:18"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "4372:22:18",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "4374:16:18"
},
"nodeType": "YulFunctionCall",
"src": "4374:18:18"
},
"nodeType": "YulExpressionStatement",
"src": "4374:18:18"
}
]
},
"condition": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "4293:1:18"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4300:66:18",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "4368:1:18"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "4296:3:18"
},
"nodeType": "YulFunctionCall",
"src": "4296:74:18"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "4290:2:18"
},
"nodeType": "YulFunctionCall",
"src": "4290:81:18"
},
"nodeType": "YulIf",
"src": "4287:107:18"
},
{
"nodeType": "YulAssignment",
"src": "4404:16:18",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "4415:1:18"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "4418:1:18"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4411:3:18"
},
"nodeType": "YulFunctionCall",
"src": "4411:9:18"
},
"variableNames": [
{
"name": "sum",
"nodeType": "YulIdentifier",
"src": "4404:3:18"
}
]
}
]
},
"name": "checked_add_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "4152:1:18",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "4155:1:18",
"type": ""
}
],
"returnVariables": [
{
"name": "sum",
"nodeType": "YulTypedName",
"src": "4161:3:18",
"type": ""
}
],
"src": "4121:305:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4497:53:18",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4514:3:18"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4537:5:18"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "4519:17:18"
},
"nodeType": "YulFunctionCall",
"src": "4519:24:18"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4507:6:18"
},
"nodeType": "YulFunctionCall",
"src": "4507:37:18"
},
"nodeType": "YulExpressionStatement",
"src": "4507:37:18"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "4485:5:18",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "4492:3:18",
"type": ""
}
],
"src": "4432:118:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4654:124:18",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4664:26:18",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4676:9:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4687:2:18",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4672:3:18"
},
"nodeType": "YulFunctionCall",
"src": "4672:18:18"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4664:4:18"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "4744:6:18"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4757:9:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4768:1:18",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4753:3:18"
},
"nodeType": "YulFunctionCall",
"src": "4753:17:18"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "4700:43:18"
},
"nodeType": "YulFunctionCall",
"src": "4700:71:18"
},
"nodeType": "YulExpressionStatement",
"src": "4700:71:18"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "4626:9:18",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "4638:6:18",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "4649:4:18",
"type": ""
}
],
"src": "4556:222:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4812:152:18",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4829:1:18",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4832:77:18",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4822:6:18"
},
"nodeType": "YulFunctionCall",
"src": "4822:88:18"
},
"nodeType": "YulExpressionStatement",
"src": "4822:88:18"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4926:1:18",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4929:4:18",
"type": "",
"value": "0x22"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4919:6:18"
},
"nodeType": "YulFunctionCall",
"src": "4919:15:18"
},
"nodeType": "YulExpressionStatement",
"src": "4919:15:18"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4950:1:18",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4953:4:18",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "4943:6:18"
},
"nodeType": "YulFunctionCall",
"src": "4943:15:18"
},
"nodeType": "YulExpressionStatement",
"src": "4943:15:18"
}
]
},
"name": "panic_error_0x22",
"nodeType": "YulFunctionDefinition",
"src": "4784:180:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5021:269:18",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5031:22:18",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "5045:4:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5051:1:18",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "5041:3:18"
},
"nodeType": "YulFunctionCall",
"src": "5041:12:18"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5031:6:18"
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "5062:38:18",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "5092:4:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5098:1:18",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "5088:3:18"
},
"nodeType": "YulFunctionCall",
"src": "5088:12:18"
},
"variables": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulTypedName",
"src": "5066:18:18",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "5139:51:18",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5153:27:18",
"value": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5167:6:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5175:4:18",
"type": "",
"value": "0x7f"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "5163:3:18"
},
"nodeType": "YulFunctionCall",
"src": "5163:17:18"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5153:6:18"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "5119:18:18"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "5112:6:18"
},
"nodeType": "YulFunctionCall",
"src": "5112:26:18"
},
"nodeType": "YulIf",
"src": "5109:81:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5242:42:18",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x22",
"nodeType": "YulIdentifier",
"src": "5256:16:18"
},
"nodeType": "YulFunctionCall",
"src": "5256:18:18"
},
"nodeType": "YulExpressionStatement",
"src": "5256:18:18"
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "5206:18:18"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5229:6:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5237:2:18",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "5226:2:18"
},
"nodeType": "YulFunctionCall",
"src": "5226:14:18"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "5203:2:18"
},
"nodeType": "YulFunctionCall",
"src": "5203:38:18"
},
"nodeType": "YulIf",
"src": "5200:84:18"
}
]
},
"name": "extract_byte_array_length",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "5005:4:18",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "5014:6:18",
"type": ""
}
],
"src": "4970:320:18"
}
]
},
"contents": "{\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function shift_right_1_unsigned(value) -> newValue {\n newValue :=\n\n shr(1, value)\n\n }\n\n function checked_exp_helper(_power, _base, exponent, max) -> power, base {\n power := _power\n base := _base\n for { } gt(exponent, 1) {}\n {\n // overflow check for base * base\n if gt(base, div(max, base)) { panic_error_0x11() }\n if and(exponent, 1)\n {\n // No checks for power := mul(power, base) needed, because the check\n // for base * base above is sufficient, since:\n // |power| <= base (proof by induction) and thus:\n // |power * base| <= base * base <= max <= |min| (for signed)\n // (this is equally true for signed and unsigned exp)\n power := mul(power, base)\n }\n base := mul(base, base)\n exponent := shift_right_1_unsigned(exponent)\n }\n }\n\n function checked_exp_unsigned(base, exponent, max) -> power {\n // This function currently cannot be inlined because of the\n // \"leave\" statements. We have to improve the optimizer.\n\n // Note that 0**0 == 1\n if iszero(exponent) { power := 1 leave }\n if iszero(base) { power := 0 leave }\n\n // Specializations for small bases\n switch base\n // 0 is handled above\n case 1 { power := 1 leave }\n case 2\n {\n if gt(exponent, 255) { panic_error_0x11() }\n power := exp(2, exponent)\n if gt(power, max) { panic_error_0x11() }\n leave\n }\n if or(\n and(lt(base, 11), lt(exponent, 78)),\n and(lt(base, 307), lt(exponent, 32))\n )\n {\n power := exp(base, exponent)\n if gt(power, max) { panic_error_0x11() }\n leave\n }\n\n power, base := checked_exp_helper(1, base, exponent, max)\n\n if gt(power, div(max, base)) { panic_error_0x11() }\n power := mul(power, base)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function checked_exp_t_uint256_t_uint256(base, exponent) -> power {\n base := cleanup_t_uint256(base)\n exponent := cleanup_t_uint256(exponent)\n\n power := checked_exp_unsigned(base, exponent, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)\n\n }\n\n function checked_mul_t_uint256(x, y) -> product {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n // overflow, if x != 0 and y > (maxValue / x)\n if and(iszero(iszero(x)), gt(y, div(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, x))) { panic_error_0x11() }\n\n product := mul(x, y)\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function store_literal_in_memory_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC20: mint to the zero address\")\n\n }\n\n function abi_encode_t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 31)\n store_literal_in_memory_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function checked_add_t_uint256(x, y) -> sum {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n // overflow, if x > (maxValue - y)\n if gt(x, sub(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, y)) { panic_error_0x11() }\n\n sum := add(x, y)\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n}\n",
"id": 18,
"language": "Yul",
"name": "#utility.yul"
}
],
"deployedGeneratedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:34224:18",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "47:35:18",
"statements": [
{
"nodeType": "YulAssignment",
"src": "57:19:18",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "73:2:18",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "67:5:18"
},
"nodeType": "YulFunctionCall",
"src": "67:9:18"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "57:6:18"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "40:6:18",
"type": ""
}
],
"src": "7:75:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "177:28:18",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "194:1:18",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "197:1:18",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "187:6:18"
},
"nodeType": "YulFunctionCall",
"src": "187:12:18"
},
"nodeType": "YulExpressionStatement",
"src": "187:12:18"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "88:117:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "300:28:18",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "317:1:18",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "320:1:18",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "310:6:18"
},
"nodeType": "YulFunctionCall",
"src": "310:12:18"
},
"nodeType": "YulExpressionStatement",
"src": "310:12:18"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "211:117:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "378:105:18",
"statements": [
{
"nodeType": "YulAssignment",
"src": "388:89:18",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "403:5:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "410:66:18",
"type": "",
"value": "0xffffffff00000000000000000000000000000000000000000000000000000000"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "399:3:18"
},
"nodeType": "YulFunctionCall",
"src": "399:78:18"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "388:7:18"
}
]
}
]
},
"name": "cleanup_t_bytes4",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "360:5:18",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "370:7:18",
"type": ""
}
],
"src": "334:149:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "531:78:18",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "587:16:18",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "596:1:18",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "599:1:18",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "589:6:18"
},
"nodeType": "YulFunctionCall",
"src": "589:12:18"
},
"nodeType": "YulExpressionStatement",
"src": "589:12:18"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "554:5:18"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "578:5:18"
}
],
"functionName": {
"name": "cleanup_t_bytes4",
"nodeType": "YulIdentifier",
"src": "561:16:18"
},
"nodeType": "YulFunctionCall",
"src": "561:23:18"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "551:2:18"
},
"nodeType": "YulFunctionCall",
"src": "551:34:18"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "544:6:18"
},
"nodeType": "YulFunctionCall",
"src": "544:42:18"
},
"nodeType": "YulIf",
"src": "541:62:18"
}
]
},
"name": "validator_revert_t_bytes4",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "524:5:18",
"type": ""
}
],
"src": "489:120:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "666:86:18",
"statements": [
{
"nodeType": "YulAssignment",
"src": "676:29:18",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "698:6:18"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "685:12:18"
},
"nodeType": "YulFunctionCall",
"src": "685:20:18"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "676:5:18"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "740:5:18"
}
],
"functionName": {
"name": "validator_revert_t_bytes4",
"nodeType": "YulIdentifier",
"src": "714:25:18"
},
"nodeType": "YulFunctionCall",
"src": "714:32:18"
},
"nodeType": "YulExpressionStatement",
"src": "714:32:18"
}
]
},
"name": "abi_decode_t_bytes4",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "644:6:18",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "652:3:18",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "660:5:18",
"type": ""
}
],
"src": "615:137:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "823:262:18",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "869:83:18",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "871:77:18"
},
"nodeType": "YulFunctionCall",
"src": "871:79:18"
},
"nodeType": "YulExpressionStatement",
"src": "871:79:18"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "844:7:18"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "853:9:18"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "840:3:18"
},
"nodeType": "YulFunctionCall",
"src": "840:23:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "865:2:18",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "836:3:18"
},
"nodeType": "YulFunctionCall",
"src": "836:32:18"
},
"nodeType": "YulIf",
"src": "833:119:18"
},
{
"nodeType": "YulBlock",
"src": "962:116:18",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "977:15:18",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "991:1:18",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "981:6:18",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1006:62:18",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1040:9:18"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1051:6:18"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1036:3:18"
},
"nodeType": "YulFunctionCall",
"src": "1036:22:18"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1060:7:18"
}
],
"functionName": {
"name": "abi_decode_t_bytes4",
"nodeType": "YulIdentifier",
"src": "1016:19:18"
},
"nodeType": "YulFunctionCall",
"src": "1016:52:18"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1006:6:18"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_bytes4",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "793:9:18",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "804:7:18",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "816:6:18",
"type": ""
}
],
"src": "758:327:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1133:48:18",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1143:32:18",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1168:5:18"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "1161:6:18"
},
"nodeType": "YulFunctionCall",
"src": "1161:13:18"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "1154:6:18"
},
"nodeType": "YulFunctionCall",
"src": "1154:21:18"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1143:7:18"
}
]
}
]
},
"name": "cleanup_t_bool",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1115:5:18",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1125:7:18",
"type": ""
}
],
"src": "1091:90:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1246:50:18",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1263:3:18"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1283:5:18"
}
],
"functionName": {
"name": "cleanup_t_bool",
"nodeType": "YulIdentifier",
"src": "1268:14:18"
},
"nodeType": "YulFunctionCall",
"src": "1268:21:18"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1256:6:18"
},
"nodeType": "YulFunctionCall",
"src": "1256:34:18"
},
"nodeType": "YulExpressionStatement",
"src": "1256:34:18"
}
]
},
"name": "abi_encode_t_bool_to_t_bool_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1234:5:18",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1241:3:18",
"type": ""
}
],
"src": "1187:109:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1394:118:18",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1404:26:18",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1416:9:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1427:2:18",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1412:3:18"
},
"nodeType": "YulFunctionCall",
"src": "1412:18:18"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1404:4:18"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1478:6:18"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1491:9:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1502:1:18",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1487:3:18"
},
"nodeType": "YulFunctionCall",
"src": "1487:17:18"
}
],
"functionName": {
"name": "abi_encode_t_bool_to_t_bool_fromStack",
"nodeType": "YulIdentifier",
"src": "1440:37:18"
},
"nodeType": "YulFunctionCall",
"src": "1440:65:18"
},
"nodeType": "YulExpressionStatement",
"src": "1440:65:18"
}
]
},
"name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1366:9:18",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1378:6:18",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "1389:4:18",
"type": ""
}
],
"src": "1302:210:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1577:40:18",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1588:22:18",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1604:5:18"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "1598:5:18"
},
"nodeType": "YulFunctionCall",
"src": "1598:12:18"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1588:6:18"
}
]
}
]
},
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1560:5:18",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "1570:6:18",
"type": ""
}
],
"src": "1518:99:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1719:73:18",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1736:3:18"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1741:6:18"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1729:6:18"
},
"nodeType": "YulFunctionCall",
"src": "1729:19:18"
},
"nodeType": "YulExpressionStatement",
"src": "1729:19:18"
},
{
"nodeType": "YulAssignment",
"src": "1757:29:18",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1776:3:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1781:4:18",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1772:3:18"
},
"nodeType": "YulFunctionCall",
"src": "1772:14:18"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "1757:11:18"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1691:3:18",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "1696:6:18",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "1707:11:18",
"type": ""
}
],
"src": "1623:169:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1847:258:18",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1857:10:18",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1866:1:18",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nodeType": "YulTypedName",
"src": "1861:1:18",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "1926:63:18",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "1951:3:18"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1956:1:18"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1947:3:18"
},
"nodeType": "YulFunctionCall",
"src": "1947:11:18"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "1970:3:18"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1975:1:18"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1966:3:18"
},
"nodeType": "YulFunctionCall",
"src": "1966:11:18"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "1960:5:18"
},
"nodeType": "YulFunctionCall",
"src": "1960:18:18"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1940:6:18"
},
"nodeType": "YulFunctionCall",
"src": "1940:39:18"
},
"nodeType": "YulExpressionStatement",
"src": "1940:39:18"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1887:1:18"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1890:6:18"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "1884:2:18"
},
"nodeType": "YulFunctionCall",
"src": "1884:13:18"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "1898:19:18",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1900:15:18",
"value": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1909:1:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1912:2:18",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1905:3:18"
},
"nodeType": "YulFunctionCall",
"src": "1905:10:18"
},
"variableNames": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1900:1:18"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "1880:3:18",
"statements": []
},
"src": "1876:113:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2023:76:18",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "2073:3:18"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2078:6:18"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2069:3:18"
},
"nodeType": "YulFunctionCall",
"src": "2069:16:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2087:1:18",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2062:6:18"
},
"nodeType": "YulFunctionCall",
"src": "2062:27:18"
},
"nodeType": "YulExpressionStatement",
"src": "2062:27:18"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "2004:1:18"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2007:6:18"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "2001:2:18"
},
"nodeType": "YulFunctionCall",
"src": "2001:13:18"
},
"nodeType": "YulIf",
"src": "1998:101:18"
}
]
},
"name": "copy_memory_to_memory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "1829:3:18",
"type": ""
},
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "1834:3:18",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "1839:6:18",
"type": ""
}
],
"src": "1798:307:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2159:54:18",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2169:38:18",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2187:5:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2194:2:18",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2183:3:18"
},
"nodeType": "YulFunctionCall",
"src": "2183:14:18"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2203:2:18",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "2199:3:18"
},
"nodeType": "YulFunctionCall",
"src": "2199:7:18"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "2179:3:18"
},
"nodeType": "YulFunctionCall",
"src": "2179:28:18"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "2169:6:18"
}
]
}
]
},
"name": "round_up_to_mul_of_32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2142:5:18",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "2152:6:18",
"type": ""
}
],
"src": "2111:102:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2311:272:18",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2321:53:18",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2368:5:18"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "2335:32:18"
},
"nodeType": "YulFunctionCall",
"src": "2335:39:18"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "2325:6:18",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "2383:78:18",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2449:3:18"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2454:6:18"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "2390:58:18"
},
"nodeType": "YulFunctionCall",
"src": "2390:71:18"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2383:3:18"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2496:5:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2503:4:18",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2492:3:18"
},
"nodeType": "YulFunctionCall",
"src": "2492:16:18"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2510:3:18"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2515:6:18"
}
],
"functionName": {
"name": "copy_memory_to_memory",
"nodeType": "YulIdentifier",
"src": "2470:21:18"
},
"nodeType": "YulFunctionCall",
"src": "2470:52:18"
},
"nodeType": "YulExpressionStatement",
"src": "2470:52:18"
},
{
"nodeType": "YulAssignment",
"src": "2531:46:18",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2542:3:18"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2569:6:18"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "2547:21:18"
},
"nodeType": "YulFunctionCall",
"src": "2547:29:18"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2538:3:18"
},
"nodeType": "YulFunctionCall",
"src": "2538:39:18"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "2531:3:18"
}
]
}
]
},
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2292:5:18",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2299:3:18",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "2307:3:18",
"type": ""
}
],
"src": "2219:364:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2707:195:18",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2717:26:18",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2729:9:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2740:2:18",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2725:3:18"
},
"nodeType": "YulFunctionCall",
"src": "2725:18:18"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2717:4:18"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2764:9:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2775:1:18",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2760:3:18"
},
"nodeType": "YulFunctionCall",
"src": "2760:17:18"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2783:4:18"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2789:9:18"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "2779:3:18"
},
"nodeType": "YulFunctionCall",
"src": "2779:20:18"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2753:6:18"
},
"nodeType": "YulFunctionCall",
"src": "2753:47:18"
},
"nodeType": "YulExpressionStatement",
"src": "2753:47:18"
},
{
"nodeType": "YulAssignment",
"src": "2809:86:18",
"value": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "2881:6:18"
},
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2890:4:18"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "2817:63:18"
},
"nodeType": "YulFunctionCall",
"src": "2817:78:18"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2809:4:18"
}
]
}
]
},
"name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "2679:9:18",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "2691:6:18",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "2702:4:18",
"type": ""
}
],
"src": "2589:313:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2953:81:18",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2963:65:18",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2978:5:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2985:42:18",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "2974:3:18"
},
"nodeType": "YulFunctionCall",
"src": "2974:54:18"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "2963:7:18"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2935:5:18",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "2945:7:18",
"type": ""
}
],
"src": "2908:126:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3085:51:18",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3095:35:18",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3124:5:18"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "3106:17:18"
},
"nodeType": "YulFunctionCall",
"src": "3106:24:18"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "3095:7:18"
}
]
}
]
},
"name": "cleanup_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3067:5:18",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "3077:7:18",
"type": ""
}
],
"src": "3040:96:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3185:79:18",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "3242:16:18",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3251:1:18",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3254:1:18",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "3244:6:18"
},
"nodeType": "YulFunctionCall",
"src": "3244:12:18"
},
"nodeType": "YulExpressionStatement",
"src": "3244:12:18"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3208:5:18"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3233:5:18"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "3215:17:18"
},
"nodeType": "YulFunctionCall",
"src": "3215:24:18"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "3205:2:18"
},
"nodeType": "YulFunctionCall",
"src": "3205:35:18"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "3198:6:18"
},
"nodeType": "YulFunctionCall",
"src": "3198:43:18"
},
"nodeType": "YulIf",
"src": "3195:63:18"
}
]
},
"name": "validator_revert_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3178:5:18",
"type": ""
}
],
"src": "3142:122:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3322:87:18",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3332:29:18",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "3354:6:18"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "3341:12:18"
},
"nodeType": "YulFunctionCall",
"src": "3341:20:18"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3332:5:18"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3397:5:18"
}
],
"functionName": {
"name": "validator_revert_t_address",
"nodeType": "YulIdentifier",
"src": "3370:26:18"
},
"nodeType": "YulFunctionCall",
"src": "3370:33:18"
},
"nodeType": "YulExpressionStatement",
"src": "3370:33:18"
}
]
},
"name": "abi_decode_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "3300:6:18",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "3308:3:18",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3316:5:18",
"type": ""
}
],
"src": "3270:139:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3460:32:18",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3470:16:18",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "3481:5:18"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "3470:7:18"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3442:5:18",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "3452:7:18",
"type": ""
}
],
"src": "3415:77:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3541:79:18",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "3598:16:18",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3607:1:18",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3610:1:18",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "3600:6:18"
},
"nodeType": "YulFunctionCall",
"src": "3600:12:18"
},
"nodeType": "YulExpressionStatement",
"src": "3600:12:18"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3564:5:18"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3589:5:18"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "3571:17:18"
},
"nodeType": "YulFunctionCall",
"src": "3571:24:18"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "3561:2:18"
},
"nodeType": "YulFunctionCall",
"src": "3561:35:18"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "3554:6:18"
},
"nodeType": "YulFunctionCall",
"src": "3554:43:18"
},
"nodeType": "YulIf",
"src": "3551:63:18"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3534:5:18",
"type": ""
}
],
"src": "3498:122:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3678:87:18",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3688:29:18",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "3710:6:18"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "3697:12:18"
},
"nodeType": "YulFunctionCall",
"src": "3697:20:18"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3688:5:18"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3753:5:18"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "3726:26:18"
},
"nodeType": "YulFunctionCall",
"src": "3726:33:18"
},
"nodeType": "YulExpressionStatement",
"src": "3726:33:18"
}
]
},
"name": "abi_decode_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "3656:6:18",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "3664:3:18",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3672:5:18",
"type": ""
}
],
"src": "3626:139:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3854:391:18",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "3900:83:18",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "3902:77:18"
},
"nodeType": "YulFunctionCall",
"src": "3902:79:18"
},
"nodeType": "YulExpressionStatement",
"src": "3902:79:18"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "3875:7:18"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3884:9:18"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "3871:3:18"
},
"nodeType": "YulFunctionCall",
"src": "3871:23:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3896:2:18",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "3867:3:18"
},
"nodeType": "YulFunctionCall",
"src": "3867:32:18"
},
"nodeType": "YulIf",
"src": "3864:119:18"
},
{
"nodeType": "YulBlock",
"src": "3993:117:18",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "4008:15:18",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "4022:1:18",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "4012:6:18",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "4037:63:18",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4072:9:18"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "4083:6:18"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4068:3:18"
},
"nodeType": "YulFunctionCall",
"src": "4068:22:18"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "4092:7:18"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "4047:20:18"
},
"nodeType": "YulFunctionCall",
"src": "4047:53:18"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "4037:6:18"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "4120:118:18",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "4135:16:18",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "4149:2:18",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "4139:6:18",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "4165:63:18",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4200:9:18"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "4211:6:18"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4196:3:18"
},
"nodeType": "YulFunctionCall",
"src": "4196:22:18"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "4220:7:18"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "4175:20:18"
},
"nodeType": "YulFunctionCall",
"src": "4175:53:18"
},
"variableNames": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "4165:6:18"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_addresst_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "3816:9:18",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "3827:7:18",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "3839:6:18",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "3847:6:18",
"type": ""
}
],
"src": "3771:474:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4316:53:18",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4333:3:18"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4356:5:18"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "4338:17:18"
},
"nodeType": "YulFunctionCall",
"src": "4338:24:18"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4326:6:18"
},
"nodeType": "YulFunctionCall",
"src": "4326:37:18"
},
"nodeType": "YulExpressionStatement",
"src": "4326:37:18"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "4304:5:18",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "4311:3:18",
"type": ""
}
],
"src": "4251:118:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4473:124:18",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4483:26:18",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4495:9:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4506:2:18",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4491:3:18"
},
"nodeType": "YulFunctionCall",
"src": "4491:18:18"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4483:4:18"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "4563:6:18"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4576:9:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4587:1:18",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4572:3:18"
},
"nodeType": "YulFunctionCall",
"src": "4572:17:18"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "4519:43:18"
},
"nodeType": "YulFunctionCall",
"src": "4519:71:18"
},
"nodeType": "YulExpressionStatement",
"src": "4519:71:18"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "4445:9:18",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "4457:6:18",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "4468:4:18",
"type": ""
}
],
"src": "4375:222:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4703:519:18",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "4749:83:18",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "4751:77:18"
},
"nodeType": "YulFunctionCall",
"src": "4751:79:18"
},
"nodeType": "YulExpressionStatement",
"src": "4751:79:18"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "4724:7:18"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4733:9:18"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "4720:3:18"
},
"nodeType": "YulFunctionCall",
"src": "4720:23:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4745:2:18",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "4716:3:18"
},
"nodeType": "YulFunctionCall",
"src": "4716:32:18"
},
"nodeType": "YulIf",
"src": "4713:119:18"
},
{
"nodeType": "YulBlock",
"src": "4842:117:18",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "4857:15:18",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "4871:1:18",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "4861:6:18",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "4886:63:18",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4921:9:18"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "4932:6:18"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4917:3:18"
},
"nodeType": "YulFunctionCall",
"src": "4917:22:18"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "4941:7:18"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "4896:20:18"
},
"nodeType": "YulFunctionCall",
"src": "4896:53:18"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "4886:6:18"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "4969:118:18",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "4984:16:18",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "4998:2:18",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "4988:6:18",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "5014:63:18",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5049:9:18"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "5060:6:18"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5045:3:18"
},
"nodeType": "YulFunctionCall",
"src": "5045:22:18"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "5069:7:18"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "5024:20:18"
},
"nodeType": "YulFunctionCall",
"src": "5024:53:18"
},
"variableNames": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "5014:6:18"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "5097:118:18",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "5112:16:18",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "5126:2:18",
"type": "",
"value": "64"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "5116:6:18",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "5142:63:18",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5177:9:18"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "5188:6:18"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5173:3:18"
},
"nodeType": "YulFunctionCall",
"src": "5173:22:18"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "5197:7:18"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "5152:20:18"
},
"nodeType": "YulFunctionCall",
"src": "5152:53:18"
},
"variableNames": [
{
"name": "value2",
"nodeType": "YulIdentifier",
"src": "5142:6:18"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_addresst_addresst_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "4657:9:18",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "4668:7:18",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "4680:6:18",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "4688:6:18",
"type": ""
},
{
"name": "value2",
"nodeType": "YulTypedName",
"src": "4696:6:18",
"type": ""
}
],
"src": "4603:619:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5273:32:18",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5283:16:18",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "5294:5:18"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "5283:7:18"
}
]
}
]
},
"name": "cleanup_t_bytes32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "5255:5:18",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "5265:7:18",
"type": ""
}
],
"src": "5228:77:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5354:79:18",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "5411:16:18",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5420:1:18",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5423:1:18",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "5413:6:18"
},
"nodeType": "YulFunctionCall",
"src": "5413:12:18"
},
"nodeType": "YulExpressionStatement",
"src": "5413:12:18"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5377:5:18"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5402:5:18"
}
],
"functionName": {
"name": "cleanup_t_bytes32",
"nodeType": "YulIdentifier",
"src": "5384:17:18"
},
"nodeType": "YulFunctionCall",
"src": "5384:24:18"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "5374:2:18"
},
"nodeType": "YulFunctionCall",
"src": "5374:35:18"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "5367:6:18"
},
"nodeType": "YulFunctionCall",
"src": "5367:43:18"
},
"nodeType": "YulIf",
"src": "5364:63:18"
}
]
},
"name": "validator_revert_t_bytes32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "5347:5:18",
"type": ""
}
],
"src": "5311:122:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5491:87:18",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5501:29:18",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "5523:6:18"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "5510:12:18"
},
"nodeType": "YulFunctionCall",
"src": "5510:20:18"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5501:5:18"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5566:5:18"
}
],
"functionName": {
"name": "validator_revert_t_bytes32",
"nodeType": "YulIdentifier",
"src": "5539:26:18"
},
"nodeType": "YulFunctionCall",
"src": "5539:33:18"
},
"nodeType": "YulExpressionStatement",
"src": "5539:33:18"
}
]
},
"name": "abi_decode_t_bytes32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "5469:6:18",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "5477:3:18",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "5485:5:18",
"type": ""
}
],
"src": "5439:139:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5650:263:18",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "5696:83:18",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "5698:77:18"
},
"nodeType": "YulFunctionCall",
"src": "5698:79:18"
},
"nodeType": "YulExpressionStatement",
"src": "5698:79:18"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "5671:7:18"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5680:9:18"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "5667:3:18"
},
"nodeType": "YulFunctionCall",
"src": "5667:23:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5692:2:18",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "5663:3:18"
},
"nodeType": "YulFunctionCall",
"src": "5663:32:18"
},
"nodeType": "YulIf",
"src": "5660:119:18"
},
{
"nodeType": "YulBlock",
"src": "5789:117:18",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "5804:15:18",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "5818:1:18",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "5808:6:18",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "5833:63:18",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5868:9:18"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "5879:6:18"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5864:3:18"
},
"nodeType": "YulFunctionCall",
"src": "5864:22:18"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "5888:7:18"
}
],
"functionName": {
"name": "abi_decode_t_bytes32",
"nodeType": "YulIdentifier",
"src": "5843:20:18"
},
"nodeType": "YulFunctionCall",
"src": "5843:53:18"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "5833:6:18"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_bytes32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "5620:9:18",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "5631:7:18",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "5643:6:18",
"type": ""
}
],
"src": "5584:329:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5984:53:18",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "6001:3:18"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6024:5:18"
}
],
"functionName": {
"name": "cleanup_t_bytes32",
"nodeType": "YulIdentifier",
"src": "6006:17:18"
},
"nodeType": "YulFunctionCall",
"src": "6006:24:18"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5994:6:18"
},
"nodeType": "YulFunctionCall",
"src": "5994:37:18"
},
"nodeType": "YulExpressionStatement",
"src": "5994:37:18"
}
]
},
"name": "abi_encode_t_bytes32_to_t_bytes32_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "5972:5:18",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "5979:3:18",
"type": ""
}
],
"src": "5919:118:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6141:124:18",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6151:26:18",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "6163:9:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6174:2:18",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6159:3:18"
},
"nodeType": "YulFunctionCall",
"src": "6159:18:18"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "6151:4:18"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "6231:6:18"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "6244:9:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6255:1:18",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6240:3:18"
},
"nodeType": "YulFunctionCall",
"src": "6240:17:18"
}
],
"functionName": {
"name": "abi_encode_t_bytes32_to_t_bytes32_fromStack",
"nodeType": "YulIdentifier",
"src": "6187:43:18"
},
"nodeType": "YulFunctionCall",
"src": "6187:71:18"
},
"nodeType": "YulExpressionStatement",
"src": "6187:71:18"
}
]
},
"name": "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "6113:9:18",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "6125:6:18",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "6136:4:18",
"type": ""
}
],
"src": "6043:222:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6354:391:18",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "6400:83:18",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "6402:77:18"
},
"nodeType": "YulFunctionCall",
"src": "6402:79:18"
},
"nodeType": "YulExpressionStatement",
"src": "6402:79:18"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "6375:7:18"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "6384:9:18"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "6371:3:18"
},
"nodeType": "YulFunctionCall",
"src": "6371:23:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6396:2:18",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "6367:3:18"
},
"nodeType": "YulFunctionCall",
"src": "6367:32:18"
},
"nodeType": "YulIf",
"src": "6364:119:18"
},
{
"nodeType": "YulBlock",
"src": "6493:117:18",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "6508:15:18",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "6522:1:18",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "6512:6:18",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "6537:63:18",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "6572:9:18"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "6583:6:18"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6568:3:18"
},
"nodeType": "YulFunctionCall",
"src": "6568:22:18"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "6592:7:18"
}
],
"functionName": {
"name": "abi_decode_t_bytes32",
"nodeType": "YulIdentifier",
"src": "6547:20:18"
},
"nodeType": "YulFunctionCall",
"src": "6547:53:18"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "6537:6:18"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "6620:118:18",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "6635:16:18",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "6649:2:18",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "6639:6:18",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "6665:63:18",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "6700:9:18"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "6711:6:18"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6696:3:18"
},
"nodeType": "YulFunctionCall",
"src": "6696:22:18"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "6720:7:18"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "6675:20:18"
},
"nodeType": "YulFunctionCall",
"src": "6675:53:18"
},
"variableNames": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "6665:6:18"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_bytes32t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "6316:9:18",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "6327:7:18",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "6339:6:18",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "6347:6:18",
"type": ""
}
],
"src": "6271:474:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6794:43:18",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6804:27:18",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6819:5:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6826:4:18",
"type": "",
"value": "0xff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "6815:3:18"
},
"nodeType": "YulFunctionCall",
"src": "6815:16:18"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "6804:7:18"
}
]
}
]
},
"name": "cleanup_t_uint8",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "6776:5:18",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "6786:7:18",
"type": ""
}
],
"src": "6751:86:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6904:51:18",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "6921:3:18"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6942:5:18"
}
],
"functionName": {
"name": "cleanup_t_uint8",
"nodeType": "YulIdentifier",
"src": "6926:15:18"
},
"nodeType": "YulFunctionCall",
"src": "6926:22:18"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6914:6:18"
},
"nodeType": "YulFunctionCall",
"src": "6914:35:18"
},
"nodeType": "YulExpressionStatement",
"src": "6914:35:18"
}
]
},
"name": "abi_encode_t_uint8_to_t_uint8_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "6892:5:18",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "6899:3:18",
"type": ""
}
],
"src": "6843:112:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7055:120:18",
"statements": [
{
"nodeType": "YulAssignment",
"src": "7065:26:18",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "7077:9:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7088:2:18",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7073:3:18"
},
"nodeType": "YulFunctionCall",
"src": "7073:18:18"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "7065:4:18"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "7141:6:18"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "7154:9:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7165:1:18",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7150:3:18"
},
"nodeType": "YulFunctionCall",
"src": "7150:17:18"
}
],
"functionName": {
"name": "abi_encode_t_uint8_to_t_uint8_fromStack",
"nodeType": "YulIdentifier",
"src": "7101:39:18"
},
"nodeType": "YulFunctionCall",
"src": "7101:67:18"
},
"nodeType": "YulExpressionStatement",
"src": "7101:67:18"
}
]
},
"name": "abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "7027:9:18",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "7039:6:18",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "7050:4:18",
"type": ""
}
],
"src": "6961:214:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7247:263:18",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "7293:83:18",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "7295:77:18"
},
"nodeType": "YulFunctionCall",
"src": "7295:79:18"
},
"nodeType": "YulExpressionStatement",
"src": "7295:79:18"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "7268:7:18"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "7277:9:18"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "7264:3:18"
},
"nodeType": "YulFunctionCall",
"src": "7264:23:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7289:2:18",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "7260:3:18"
},
"nodeType": "YulFunctionCall",
"src": "7260:32:18"
},
"nodeType": "YulIf",
"src": "7257:119:18"
},
{
"nodeType": "YulBlock",
"src": "7386:117:18",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "7401:15:18",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "7415:1:18",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "7405:6:18",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "7430:63:18",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "7465:9:18"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "7476:6:18"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7461:3:18"
},
"nodeType": "YulFunctionCall",
"src": "7461:22:18"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "7485:7:18"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "7440:20:18"
},
"nodeType": "YulFunctionCall",
"src": "7440:53:18"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "7430:6:18"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "7217:9:18",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "7228:7:18",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "7240:6:18",
"type": ""
}
],
"src": "7181:329:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7581:53:18",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "7598:3:18"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "7621:5:18"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "7603:17:18"
},
"nodeType": "YulFunctionCall",
"src": "7603:24:18"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "7591:6:18"
},
"nodeType": "YulFunctionCall",
"src": "7591:37:18"
},
"nodeType": "YulExpressionStatement",
"src": "7591:37:18"
}
]
},
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "7569:5:18",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "7576:3:18",
"type": ""
}
],
"src": "7516:118:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7738:124:18",
"statements": [
{
"nodeType": "YulAssignment",
"src": "7748:26:18",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "7760:9:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7771:2:18",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7756:3:18"
},
"nodeType": "YulFunctionCall",
"src": "7756:18:18"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "7748:4:18"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "7828:6:18"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "7841:9:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7852:1:18",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7837:3:18"
},
"nodeType": "YulFunctionCall",
"src": "7837:17:18"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "7784:43:18"
},
"nodeType": "YulFunctionCall",
"src": "7784:71:18"
},
"nodeType": "YulExpressionStatement",
"src": "7784:71:18"
}
]
},
"name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "7710:9:18",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "7722:6:18",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "7733:4:18",
"type": ""
}
],
"src": "7640:222:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7951:391:18",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "7997:83:18",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "7999:77:18"
},
"nodeType": "YulFunctionCall",
"src": "7999:79:18"
},
"nodeType": "YulExpressionStatement",
"src": "7999:79:18"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "7972:7:18"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "7981:9:18"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "7968:3:18"
},
"nodeType": "YulFunctionCall",
"src": "7968:23:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7993:2:18",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "7964:3:18"
},
"nodeType": "YulFunctionCall",
"src": "7964:32:18"
},
"nodeType": "YulIf",
"src": "7961:119:18"
},
{
"nodeType": "YulBlock",
"src": "8090:117:18",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "8105:15:18",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "8119:1:18",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "8109:6:18",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "8134:63:18",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "8169:9:18"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "8180:6:18"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "8165:3:18"
},
"nodeType": "YulFunctionCall",
"src": "8165:22:18"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "8189:7:18"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "8144:20:18"
},
"nodeType": "YulFunctionCall",
"src": "8144:53:18"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "8134:6:18"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "8217:118:18",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "8232:16:18",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "8246:2:18",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "8236:6:18",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "8262:63:18",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "8297:9:18"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "8308:6:18"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "8293:3:18"
},
"nodeType": "YulFunctionCall",
"src": "8293:22:18"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "8317:7:18"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "8272:20:18"
},
"nodeType": "YulFunctionCall",
"src": "8272:53:18"
},
"variableNames": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "8262:6:18"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_addresst_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "7913:9:18",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "7924:7:18",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "7936:6:18",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "7944:6:18",
"type": ""
}
],
"src": "7868:474:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8437:28:18",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8454:1:18",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8457:1:18",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "8447:6:18"
},
"nodeType": "YulFunctionCall",
"src": "8447:12:18"
},
"nodeType": "YulExpressionStatement",
"src": "8447:12:18"
}
]
},
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
"nodeType": "YulFunctionDefinition",
"src": "8348:117:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8560:28:18",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8577:1:18",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8580:1:18",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "8570:6:18"
},
"nodeType": "YulFunctionCall",
"src": "8570:12:18"
},
"nodeType": "YulExpressionStatement",
"src": "8570:12:18"
}
]
},
"name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae",
"nodeType": "YulFunctionDefinition",
"src": "8471:117:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8622:152:18",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8639:1:18",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8642:77:18",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "8632:6:18"
},
"nodeType": "YulFunctionCall",
"src": "8632:88:18"
},
"nodeType": "YulExpressionStatement",
"src": "8632:88:18"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8736:1:18",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8739:4:18",
"type": "",
"value": "0x41"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "8729:6:18"
},
"nodeType": "YulFunctionCall",
"src": "8729:15:18"
},
"nodeType": "YulExpressionStatement",
"src": "8729:15:18"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8760:1:18",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8763:4:18",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "8753:6:18"
},
"nodeType": "YulFunctionCall",
"src": "8753:15:18"
},
"nodeType": "YulExpressionStatement",
"src": "8753:15:18"
}
]
},
"name": "panic_error_0x41",
"nodeType": "YulFunctionDefinition",
"src": "8594:180:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8823:238:18",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "8833:58:18",
"value": {
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "8855:6:18"
},
{
"arguments": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "8885:4:18"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "8863:21:18"
},
"nodeType": "YulFunctionCall",
"src": "8863:27:18"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "8851:3:18"
},
"nodeType": "YulFunctionCall",
"src": "8851:40:18"
},
"variables": [
{
"name": "newFreePtr",
"nodeType": "YulTypedName",
"src": "8837:10:18",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "9002:22:18",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nodeType": "YulIdentifier",
"src": "9004:16:18"
},
"nodeType": "YulFunctionCall",
"src": "9004:18:18"
},
"nodeType": "YulExpressionStatement",
"src": "9004:18:18"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "8945:10:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8957:18:18",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "8942:2:18"
},
"nodeType": "YulFunctionCall",
"src": "8942:34:18"
},
{
"arguments": [
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "8981:10:18"
},
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "8993:6:18"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "8978:2:18"
},
"nodeType": "YulFunctionCall",
"src": "8978:22:18"
}
],
"functionName": {
"name": "or",
"nodeType": "YulIdentifier",
"src": "8939:2:18"
},
"nodeType": "YulFunctionCall",
"src": "8939:62:18"
},
"nodeType": "YulIf",
"src": "8936:88:18"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9040:2:18",
"type": "",
"value": "64"
},
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "9044:10:18"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "9033:6:18"
},
"nodeType": "YulFunctionCall",
"src": "9033:22:18"
},
"nodeType": "YulExpressionStatement",
"src": "9033:22:18"
}
]
},
"name": "finalize_allocation",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "8809:6:18",
"type": ""
},
{
"name": "size",
"nodeType": "YulTypedName",
"src": "8817:4:18",
"type": ""
}
],
"src": "8780:281:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "9108:88:18",
"statements": [
{
"nodeType": "YulAssignment",
"src": "9118:30:18",
"value": {
"arguments": [],
"functionName": {
"name": "allocate_unbounded",
"nodeType": "YulIdentifier",
"src": "9128:18:18"
},
"nodeType": "YulFunctionCall",
"src": "9128:20:18"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "9118:6:18"
}
]
},
{
"expression": {
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "9177:6:18"
},
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "9185:4:18"
}
],
"functionName": {
"name": "finalize_allocation",
"nodeType": "YulIdentifier",
"src": "9157:19:18"
},
"nodeType": "YulFunctionCall",
"src": "9157:33:18"
},
"nodeType": "YulExpressionStatement",
"src": "9157:33:18"
}
]
},
"name": "allocate_memory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "size",
"nodeType": "YulTypedName",
"src": "9092:4:18",
"type": ""
}
],
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "9101:6:18",
"type": ""
}
],
"src": "9067:129:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "9269:241:18",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "9374:22:18",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nodeType": "YulIdentifier",
"src": "9376:16:18"
},
"nodeType": "YulFunctionCall",
"src": "9376:18:18"
},
"nodeType": "YulExpressionStatement",
"src": "9376:18:18"
}
]
},
"condition": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "9346:6:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9354:18:18",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "9343:2:18"
},
"nodeType": "YulFunctionCall",
"src": "9343:30:18"
},
"nodeType": "YulIf",
"src": "9340:56:18"
},
{
"nodeType": "YulAssignment",
"src": "9406:37:18",
"value": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "9436:6:18"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "9414:21:18"
},
"nodeType": "YulFunctionCall",
"src": "9414:29:18"
},
"variableNames": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "9406:4:18"
}
]
},
{
"nodeType": "YulAssignment",
"src": "9480:23:18",
"value": {
"arguments": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "9492:4:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9498:4:18",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "9488:3:18"
},
"nodeType": "YulFunctionCall",
"src": "9488:15:18"
},
"variableNames": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "9480:4:18"
}
]
}
]
},
"name": "array_allocation_size_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "9253:6:18",
"type": ""
}
],
"returnVariables": [
{
"name": "size",
"nodeType": "YulTypedName",
"src": "9264:4:18",
"type": ""
}
],
"src": "9202:308:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "9567:103:18",
"statements": [
{
"expression": {
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "9590:3:18"
},
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "9595:3:18"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "9600:6:18"
}
],
"functionName": {
"name": "calldatacopy",
"nodeType": "YulIdentifier",
"src": "9577:12:18"
},
"nodeType": "YulFunctionCall",
"src": "9577:30:18"
},
"nodeType": "YulExpressionStatement",
"src": "9577:30:18"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "9648:3:18"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "9653:6:18"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "9644:3:18"
},
"nodeType": "YulFunctionCall",
"src": "9644:16:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9662:1:18",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "9637:6:18"
},
"nodeType": "YulFunctionCall",
"src": "9637:27:18"
},
"nodeType": "YulExpressionStatement",
"src": "9637:27:18"
}
]
},
"name": "copy_calldata_to_memory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "9549:3:18",
"type": ""
},
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "9554:3:18",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "9559:6:18",
"type": ""
}
],
"src": "9516:154:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "9760:328:18",
"statements": [
{
"nodeType": "YulAssignment",
"src": "9770:75:18",
"value": {
"arguments": [
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "9837:6:18"
}
],
"functionName": {
"name": "array_allocation_size_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "9795:41:18"
},
"nodeType": "YulFunctionCall",
"src": "9795:49:18"
}
],
"functionName": {
"name": "allocate_memory",
"nodeType": "YulIdentifier",
"src": "9779:15:18"
},
"nodeType": "YulFunctionCall",
"src": "9779:66:18"
},
"variableNames": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "9770:5:18"
}
]
},
{
"expression": {
"arguments": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "9861:5:18"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "9868:6:18"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "9854:6:18"
},
"nodeType": "YulFunctionCall",
"src": "9854:21:18"
},
"nodeType": "YulExpressionStatement",
"src": "9854:21:18"
},
{
"nodeType": "YulVariableDeclaration",
"src": "9884:27:18",
"value": {
"arguments": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "9899:5:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9906:4:18",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "9895:3:18"
},
"nodeType": "YulFunctionCall",
"src": "9895:16:18"
},
"variables": [
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "9888:3:18",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "9949:83:18",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae",
"nodeType": "YulIdentifier",
"src": "9951:77:18"
},
"nodeType": "YulFunctionCall",
"src": "9951:79:18"
},
"nodeType": "YulExpressionStatement",
"src": "9951:79:18"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "9930:3:18"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "9935:6:18"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "9926:3:18"
},
"nodeType": "YulFunctionCall",
"src": "9926:16:18"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "9944:3:18"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "9923:2:18"
},
"nodeType": "YulFunctionCall",
"src": "9923:25:18"
},
"nodeType": "YulIf",
"src": "9920:112:18"
},
{
"expression": {
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "10065:3:18"
},
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "10070:3:18"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "10075:6:18"
}
],
"functionName": {
"name": "copy_calldata_to_memory",
"nodeType": "YulIdentifier",
"src": "10041:23:18"
},
"nodeType": "YulFunctionCall",
"src": "10041:41:18"
},
"nodeType": "YulExpressionStatement",
"src": "10041:41:18"
}
]
},
"name": "abi_decode_available_length_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "9733:3:18",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "9738:6:18",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "9746:3:18",
"type": ""
}
],
"returnVariables": [
{
"name": "array",
"nodeType": "YulTypedName",
"src": "9754:5:18",
"type": ""
}
],
"src": "9676:412:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "10170:278:18",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "10219:83:18",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
"nodeType": "YulIdentifier",
"src": "10221:77:18"
},
"nodeType": "YulFunctionCall",
"src": "10221:79:18"
},
"nodeType": "YulExpressionStatement",
"src": "10221:79:18"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "10198:6:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "10206:4:18",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "10194:3:18"
},
"nodeType": "YulFunctionCall",
"src": "10194:17:18"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "10213:3:18"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "10190:3:18"
},
"nodeType": "YulFunctionCall",
"src": "10190:27:18"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "10183:6:18"
},
"nodeType": "YulFunctionCall",
"src": "10183:35:18"
},
"nodeType": "YulIf",
"src": "10180:122:18"
},
{
"nodeType": "YulVariableDeclaration",
"src": "10311:34:18",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "10338:6:18"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "10325:12:18"
},
"nodeType": "YulFunctionCall",
"src": "10325:20:18"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "10315:6:18",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "10354:88:18",
"value": {
"arguments": [
{
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "10415:6:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "10423:4:18",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "10411:3:18"
},
"nodeType": "YulFunctionCall",
"src": "10411:17:18"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "10430:6:18"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "10438:3:18"
}
],
"functionName": {
"name": "abi_decode_available_length_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "10363:47:18"
},
"nodeType": "YulFunctionCall",
"src": "10363:79:18"
},
"variableNames": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "10354:5:18"
}
]
}
]
},
"name": "abi_decode_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "10148:6:18",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "10156:3:18",
"type": ""
}
],
"returnVariables": [
{
"name": "array",
"nodeType": "YulTypedName",
"src": "10164:5:18",
"type": ""
}
],
"src": "10108:340:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "10547:561:18",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "10593:83:18",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "10595:77:18"
},
"nodeType": "YulFunctionCall",
"src": "10595:79:18"
},
"nodeType": "YulExpressionStatement",
"src": "10595:79:18"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "10568:7:18"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "10577:9:18"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "10564:3:18"
},
"nodeType": "YulFunctionCall",
"src": "10564:23:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "10589:2:18",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "10560:3:18"
},
"nodeType": "YulFunctionCall",
"src": "10560:32:18"
},
"nodeType": "YulIf",
"src": "10557:119:18"
},
{
"nodeType": "YulBlock",
"src": "10686:287:18",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "10701:45:18",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "10732:9:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "10743:1:18",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "10728:3:18"
},
"nodeType": "YulFunctionCall",
"src": "10728:17:18"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "10715:12:18"
},
"nodeType": "YulFunctionCall",
"src": "10715:31:18"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "10705:6:18",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "10793:83:18",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulIdentifier",
"src": "10795:77:18"
},
"nodeType": "YulFunctionCall",
"src": "10795:79:18"
},
"nodeType": "YulExpressionStatement",
"src": "10795:79:18"
}
]
},
"condition": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "10765:6:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "10773:18:18",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "10762:2:18"
},
"nodeType": "YulFunctionCall",
"src": "10762:30:18"
},
"nodeType": "YulIf",
"src": "10759:117:18"
},
{
"nodeType": "YulAssignment",
"src": "10890:73:18",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "10935:9:18"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "10946:6:18"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "10931:3:18"
},
"nodeType": "YulFunctionCall",
"src": "10931:22:18"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "10955:7:18"
}
],
"functionName": {
"name": "abi_decode_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "10900:30:18"
},
"nodeType": "YulFunctionCall",
"src": "10900:63:18"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "10890:6:18"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "10983:118:18",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "10998:16:18",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "11012:2:18",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "11002:6:18",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "11028:63:18",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "11063:9:18"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "11074:6:18"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "11059:3:18"
},
"nodeType": "YulFunctionCall",
"src": "11059:22:18"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "11083:7:18"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "11038:20:18"
},
"nodeType": "YulFunctionCall",
"src": "11038:53:18"
},
"variableNames": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "11028:6:18"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_string_memory_ptrt_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "10509:9:18",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "10520:7:18",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "10532:6:18",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "10540:6:18",
"type": ""
}
],
"src": "10454:654:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "11142:152:18",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "11159:1:18",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "11162:77:18",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "11152:6:18"
},
"nodeType": "YulFunctionCall",
"src": "11152:88:18"
},
"nodeType": "YulExpressionStatement",
"src": "11152:88:18"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "11256:1:18",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "11259:4:18",
"type": "",
"value": "0x22"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "11249:6:18"
},
"nodeType": "YulFunctionCall",
"src": "11249:15:18"
},
"nodeType": "YulExpressionStatement",
"src": "11249:15:18"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "11280:1:18",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "11283:4:18",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "11273:6:18"
},
"nodeType": "YulFunctionCall",
"src": "11273:15:18"
},
"nodeType": "YulExpressionStatement",
"src": "11273:15:18"
}
]
},
"name": "panic_error_0x22",
"nodeType": "YulFunctionDefinition",
"src": "11114:180:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "11351:269:18",
"statements": [
{
"nodeType": "YulAssignment",
"src": "11361:22:18",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "11375:4:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "11381:1:18",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "11371:3:18"
},
"nodeType": "YulFunctionCall",
"src": "11371:12:18"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "11361:6:18"
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "11392:38:18",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "11422:4:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "11428:1:18",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "11418:3:18"
},
"nodeType": "YulFunctionCall",
"src": "11418:12:18"
},
"variables": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulTypedName",
"src": "11396:18:18",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "11469:51:18",
"statements": [
{
"nodeType": "YulAssignment",
"src": "11483:27:18",
"value": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "11497:6:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "11505:4:18",
"type": "",
"value": "0x7f"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "11493:3:18"
},
"nodeType": "YulFunctionCall",
"src": "11493:17:18"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "11483:6:18"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "11449:18:18"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "11442:6:18"
},
"nodeType": "YulFunctionCall",
"src": "11442:26:18"
},
"nodeType": "YulIf",
"src": "11439:81:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "11572:42:18",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x22",
"nodeType": "YulIdentifier",
"src": "11586:16:18"
},
"nodeType": "YulFunctionCall",
"src": "11586:18:18"
},
"nodeType": "YulExpressionStatement",
"src": "11586:18:18"
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "11536:18:18"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "11559:6:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "11567:2:18",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "11556:2:18"
},
"nodeType": "YulFunctionCall",
"src": "11556:14:18"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "11533:2:18"
},
"nodeType": "YulFunctionCall",
"src": "11533:38:18"
},
"nodeType": "YulIf",
"src": "11530:84:18"
}
]
},
"name": "extract_byte_array_length",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "11335:4:18",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "11344:6:18",
"type": ""
}
],
"src": "11300:320:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "11732:128:18",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "11754:6:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "11762:1:18",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "11750:3:18"
},
"nodeType": "YulFunctionCall",
"src": "11750:14:18"
},
{
"hexValue": "416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e6365",
"kind": "string",
"nodeType": "YulLiteral",
"src": "11766:34:18",
"type": "",
"value": "AccessControl: can only renounce"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "11743:6:18"
},
"nodeType": "YulFunctionCall",
"src": "11743:58:18"
},
"nodeType": "YulExpressionStatement",
"src": "11743:58:18"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "11822:6:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "11830:2:18",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "11818:3:18"
},
"nodeType": "YulFunctionCall",
"src": "11818:15:18"
},
{
"hexValue": "20726f6c657320666f722073656c66",
"kind": "string",
"nodeType": "YulLiteral",
"src": "11835:17:18",
"type": "",
"value": " roles for self"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "11811:6:18"
},
"nodeType": "YulFunctionCall",
"src": "11811:42:18"
},
"nodeType": "YulExpressionStatement",
"src": "11811:42:18"
}
]
},
"name": "store_literal_in_memory_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "11724:6:18",
"type": ""
}
],
"src": "11626:234:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "12012:220:18",
"statements": [
{
"nodeType": "YulAssignment",
"src": "12022:74:18",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "12088:3:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "12093:2:18",
"type": "",
"value": "47"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "12029:58:18"
},
"nodeType": "YulFunctionCall",
"src": "12029:67:18"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "12022:3:18"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "12194:3:18"
}
],
"functionName": {
"name": "store_literal_in_memory_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b",
"nodeType": "YulIdentifier",
"src": "12105:88:18"
},
"nodeType": "YulFunctionCall",
"src": "12105:93:18"
},
"nodeType": "YulExpressionStatement",
"src": "12105:93:18"
},
{
"nodeType": "YulAssignment",
"src": "12207:19:18",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "12218:3:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "12223:2:18",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "12214:3:18"
},
"nodeType": "YulFunctionCall",
"src": "12214:12:18"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "12207:3:18"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "12000:3:18",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "12008:3:18",
"type": ""
}
],
"src": "11866:366:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "12409:248:18",
"statements": [
{
"nodeType": "YulAssignment",
"src": "12419:26:18",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "12431:9:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "12442:2:18",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "12427:3:18"
},
"nodeType": "YulFunctionCall",
"src": "12427:18:18"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "12419:4:18"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "12466:9:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "12477:1:18",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "12462:3:18"
},
"nodeType": "YulFunctionCall",
"src": "12462:17:18"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "12485:4:18"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "12491:9:18"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "12481:3:18"
},
"nodeType": "YulFunctionCall",
"src": "12481:20:18"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "12455:6:18"
},
"nodeType": "YulFunctionCall",
"src": "12455:47:18"
},
"nodeType": "YulExpressionStatement",
"src": "12455:47:18"
},
{
"nodeType": "YulAssignment",
"src": "12511:139:18",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "12645:4:18"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "12519:124:18"
},
"nodeType": "YulFunctionCall",
"src": "12519:131:18"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "12511:4:18"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "12389:9:18",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "12404:4:18",
"type": ""
}
],
"src": "12238:419:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "12691:152:18",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "12708:1:18",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "12711:77:18",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "12701:6:18"
},
"nodeType": "YulFunctionCall",
"src": "12701:88:18"
},
"nodeType": "YulExpressionStatement",
"src": "12701:88:18"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "12805:1:18",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "12808:4:18",
"type": "",
"value": "0x11"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "12798:6:18"
},
"nodeType": "YulFunctionCall",
"src": "12798:15:18"
},
"nodeType": "YulExpressionStatement",
"src": "12798:15:18"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "12829:1:18",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "12832:4:18",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "12822:6:18"
},
"nodeType": "YulFunctionCall",
"src": "12822:15:18"
},
"nodeType": "YulExpressionStatement",
"src": "12822:15:18"
}
]
},
"name": "panic_error_0x11",
"nodeType": "YulFunctionDefinition",
"src": "12663:180:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "12893:261:18",
"statements": [
{
"nodeType": "YulAssignment",
"src": "12903:25:18",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "12926:1:18"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "12908:17:18"
},
"nodeType": "YulFunctionCall",
"src": "12908:20:18"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "12903:1:18"
}
]
},
{
"nodeType": "YulAssignment",
"src": "12937:25:18",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "12960:1:18"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "12942:17:18"
},
"nodeType": "YulFunctionCall",
"src": "12942:20:18"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "12937:1:18"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "13100:22:18",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "13102:16:18"
},
"nodeType": "YulFunctionCall",
"src": "13102:18:18"
},
"nodeType": "YulExpressionStatement",
"src": "13102:18:18"
}
]
},
"condition": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "13021:1:18"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "13028:66:18",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "13096:1:18"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "13024:3:18"
},
"nodeType": "YulFunctionCall",
"src": "13024:74:18"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "13018:2:18"
},
"nodeType": "YulFunctionCall",
"src": "13018:81:18"
},
"nodeType": "YulIf",
"src": "13015:107:18"
},
{
"nodeType": "YulAssignment",
"src": "13132:16:18",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "13143:1:18"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "13146:1:18"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "13139:3:18"
},
"nodeType": "YulFunctionCall",
"src": "13139:9:18"
},
"variableNames": [
{
"name": "sum",
"nodeType": "YulIdentifier",
"src": "13132:3:18"
}
]
}
]
},
"name": "checked_add_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "12880:1:18",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "12883:1:18",
"type": ""
}
],
"returnVariables": [
{
"name": "sum",
"nodeType": "YulTypedName",
"src": "12889:3:18",
"type": ""
}
],
"src": "12849:305:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "13266:66:18",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "13288:6:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "13296:1:18",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "13284:3:18"
},
"nodeType": "YulFunctionCall",
"src": "13284:14:18"
},
{
"hexValue": "43616c6c6572206973206e6f742061206d696e746572",
"kind": "string",
"nodeType": "YulLiteral",
"src": "13300:24:18",
"type": "",
"value": "Caller is not a minter"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "13277:6:18"
},
"nodeType": "YulFunctionCall",
"src": "13277:48:18"
},
"nodeType": "YulExpressionStatement",
"src": "13277:48:18"
}
]
},
"name": "store_literal_in_memory_71abfcf6e817aaed3ce6663958bac2a3a82999ed0036c98a95b29f350f04cedf",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "13258:6:18",
"type": ""
}
],
"src": "13160:172:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "13484:220:18",
"statements": [
{
"nodeType": "YulAssignment",
"src": "13494:74:18",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "13560:3:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "13565:2:18",
"type": "",
"value": "22"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "13501:58:18"
},
"nodeType": "YulFunctionCall",
"src": "13501:67:18"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "13494:3:18"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "13666:3:18"
}
],
"functionName": {
"name": "store_literal_in_memory_71abfcf6e817aaed3ce6663958bac2a3a82999ed0036c98a95b29f350f04cedf",
"nodeType": "YulIdentifier",
"src": "13577:88:18"
},
"nodeType": "YulFunctionCall",
"src": "13577:93:18"
},
"nodeType": "YulExpressionStatement",
"src": "13577:93:18"
},
{
"nodeType": "YulAssignment",
"src": "13679:19:18",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "13690:3:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "13695:2:18",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "13686:3:18"
},
"nodeType": "YulFunctionCall",
"src": "13686:12:18"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "13679:3:18"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_71abfcf6e817aaed3ce6663958bac2a3a82999ed0036c98a95b29f350f04cedf_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "13472:3:18",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "13480:3:18",
"type": ""
}
],
"src": "13338:366:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "13881:248:18",
"statements": [
{
"nodeType": "YulAssignment",
"src": "13891:26:18",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "13903:9:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "13914:2:18",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "13899:3:18"
},
"nodeType": "YulFunctionCall",
"src": "13899:18:18"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "13891:4:18"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "13938:9:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "13949:1:18",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "13934:3:18"
},
"nodeType": "YulFunctionCall",
"src": "13934:17:18"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "13957:4:18"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "13963:9:18"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "13953:3:18"
},
"nodeType": "YulFunctionCall",
"src": "13953:20:18"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "13927:6:18"
},
"nodeType": "YulFunctionCall",
"src": "13927:47:18"
},
"nodeType": "YulExpressionStatement",
"src": "13927:47:18"
},
{
"nodeType": "YulAssignment",
"src": "13983:139:18",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "14117:4:18"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_71abfcf6e817aaed3ce6663958bac2a3a82999ed0036c98a95b29f350f04cedf_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "13991:124:18"
},
"nodeType": "YulFunctionCall",
"src": "13991:131:18"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "13983:4:18"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_71abfcf6e817aaed3ce6663958bac2a3a82999ed0036c98a95b29f350f04cedf__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "13861:9:18",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "13876:4:18",
"type": ""
}
],
"src": "13710:419:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "14241:76:18",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "14263:6:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "14271:1:18",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "14259:3:18"
},
"nodeType": "YulFunctionCall",
"src": "14259:14:18"
},
{
"hexValue": "4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572",
"kind": "string",
"nodeType": "YulLiteral",
"src": "14275:34:18",
"type": "",
"value": "Ownable: caller is not the owner"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "14252:6:18"
},
"nodeType": "YulFunctionCall",
"src": "14252:58:18"
},
"nodeType": "YulExpressionStatement",
"src": "14252:58:18"
}
]
},
"name": "store_literal_in_memory_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "14233:6:18",
"type": ""
}
],
"src": "14135:182:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "14469:220:18",
"statements": [
{
"nodeType": "YulAssignment",
"src": "14479:74:18",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "14545:3:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "14550:2:18",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "14486:58:18"
},
"nodeType": "YulFunctionCall",
"src": "14486:67:18"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "14479:3:18"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "14651:3:18"
}
],
"functionName": {
"name": "store_literal_in_memory_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe",
"nodeType": "YulIdentifier",
"src": "14562:88:18"
},
"nodeType": "YulFunctionCall",
"src": "14562:93:18"
},
"nodeType": "YulExpressionStatement",
"src": "14562:93:18"
},
{
"nodeType": "YulAssignment",
"src": "14664:19:18",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "14675:3:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "14680:2:18",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "14671:3:18"
},
"nodeType": "YulFunctionCall",
"src": "14671:12:18"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "14664:3:18"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "14457:3:18",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "14465:3:18",
"type": ""
}
],
"src": "14323:366:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "14866:248:18",
"statements": [
{
"nodeType": "YulAssignment",
"src": "14876:26:18",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "14888:9:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "14899:2:18",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "14884:3:18"
},
"nodeType": "YulFunctionCall",
"src": "14884:18:18"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "14876:4:18"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "14923:9:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "14934:1:18",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "14919:3:18"
},
"nodeType": "YulFunctionCall",
"src": "14919:17:18"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "14942:4:18"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "14948:9:18"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "14938:3:18"
},
"nodeType": "YulFunctionCall",
"src": "14938:20:18"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "14912:6:18"
},
"nodeType": "YulFunctionCall",
"src": "14912:47:18"
},
"nodeType": "YulExpressionStatement",
"src": "14912:47:18"
},
{
"nodeType": "YulAssignment",
"src": "14968:139:18",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "15102:4:18"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "14976:124:18"
},
"nodeType": "YulFunctionCall",
"src": "14976:131:18"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "14968:4:18"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "14846:9:18",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "14861:4:18",
"type": ""
}
],
"src": "14695:419:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "15226:66:18",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "15248:6:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "15256:1:18",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "15244:3:18"
},
"nodeType": "YulFunctionCall",
"src": "15244:14:18"
},
{
"hexValue": "43616c6c6572206973206e6f742061204275726e6572",
"kind": "string",
"nodeType": "YulLiteral",
"src": "15260:24:18",
"type": "",
"value": "Caller is not a Burner"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "15237:6:18"
},
"nodeType": "YulFunctionCall",
"src": "15237:48:18"
},
"nodeType": "YulExpressionStatement",
"src": "15237:48:18"
}
]
},
"name": "store_literal_in_memory_05bd143622d9cbc2737a735ac8d6fd7f3fb6a605c97e0f384e56341e945c7092",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "15218:6:18",
"type": ""
}
],
"src": "15120:172:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "15444:220:18",
"statements": [
{
"nodeType": "YulAssignment",
"src": "15454:74:18",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "15520:3:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "15525:2:18",
"type": "",
"value": "22"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "15461:58:18"
},
"nodeType": "YulFunctionCall",
"src": "15461:67:18"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "15454:3:18"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "15626:3:18"
}
],
"functionName": {
"name": "store_literal_in_memory_05bd143622d9cbc2737a735ac8d6fd7f3fb6a605c97e0f384e56341e945c7092",
"nodeType": "YulIdentifier",
"src": "15537:88:18"
},
"nodeType": "YulFunctionCall",
"src": "15537:93:18"
},
"nodeType": "YulExpressionStatement",
"src": "15537:93:18"
},
{
"nodeType": "YulAssignment",
"src": "15639:19:18",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "15650:3:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "15655:2:18",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "15646:3:18"
},
"nodeType": "YulFunctionCall",
"src": "15646:12:18"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "15639:3:18"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_05bd143622d9cbc2737a735ac8d6fd7f3fb6a605c97e0f384e56341e945c7092_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "15432:3:18",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "15440:3:18",
"type": ""
}
],
"src": "15298:366:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "15841:248:18",
"statements": [
{
"nodeType": "YulAssignment",
"src": "15851:26:18",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "15863:9:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "15874:2:18",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "15859:3:18"
},
"nodeType": "YulFunctionCall",
"src": "15859:18:18"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "15851:4:18"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "15898:9:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "15909:1:18",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "15894:3:18"
},
"nodeType": "YulFunctionCall",
"src": "15894:17:18"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "15917:4:18"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "15923:9:18"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "15913:3:18"
},
"nodeType": "YulFunctionCall",
"src": "15913:20:18"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "15887:6:18"
},
"nodeType": "YulFunctionCall",
"src": "15887:47:18"
},
"nodeType": "YulExpressionStatement",
"src": "15887:47:18"
},
{
"nodeType": "YulAssignment",
"src": "15943:139:18",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "16077:4:18"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_05bd143622d9cbc2737a735ac8d6fd7f3fb6a605c97e0f384e56341e945c7092_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "15951:124:18"
},
"nodeType": "YulFunctionCall",
"src": "15951:131:18"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "15943:4:18"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_05bd143622d9cbc2737a735ac8d6fd7f3fb6a605c97e0f384e56341e945c7092__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "15821:9:18",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "15836:4:18",
"type": ""
}
],
"src": "15670:419:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "16201:118:18",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "16223:6:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "16231:1:18",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "16219:3:18"
},
"nodeType": "YulFunctionCall",
"src": "16219:14:18"
},
{
"hexValue": "45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77",
"kind": "string",
"nodeType": "YulLiteral",
"src": "16235:34:18",
"type": "",
"value": "ERC20: decreased allowance below"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "16212:6:18"
},
"nodeType": "YulFunctionCall",
"src": "16212:58:18"
},
"nodeType": "YulExpressionStatement",
"src": "16212:58:18"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "16291:6:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "16299:2:18",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "16287:3:18"
},
"nodeType": "YulFunctionCall",
"src": "16287:15:18"
},
{
"hexValue": "207a65726f",
"kind": "string",
"nodeType": "YulLiteral",
"src": "16304:7:18",
"type": "",
"value": " zero"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "16280:6:18"
},
"nodeType": "YulFunctionCall",
"src": "16280:32:18"
},
"nodeType": "YulExpressionStatement",
"src": "16280:32:18"
}
]
},
"name": "store_literal_in_memory_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "16193:6:18",
"type": ""
}
],
"src": "16095:224:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "16471:220:18",
"statements": [
{
"nodeType": "YulAssignment",
"src": "16481:74:18",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "16547:3:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "16552:2:18",
"type": "",
"value": "37"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "16488:58:18"
},
"nodeType": "YulFunctionCall",
"src": "16488:67:18"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "16481:3:18"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "16653:3:18"
}
],
"functionName": {
"name": "store_literal_in_memory_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8",
"nodeType": "YulIdentifier",
"src": "16564:88:18"
},
"nodeType": "YulFunctionCall",
"src": "16564:93:18"
},
"nodeType": "YulExpressionStatement",
"src": "16564:93:18"
},
{
"nodeType": "YulAssignment",
"src": "16666:19:18",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "16677:3:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "16682:2:18",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "16673:3:18"
},
"nodeType": "YulFunctionCall",
"src": "16673:12:18"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "16666:3:18"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "16459:3:18",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "16467:3:18",
"type": ""
}
],
"src": "16325:366:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "16868:248:18",
"statements": [
{
"nodeType": "YulAssignment",
"src": "16878:26:18",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "16890:9:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "16901:2:18",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "16886:3:18"
},
"nodeType": "YulFunctionCall",
"src": "16886:18:18"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "16878:4:18"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "16925:9:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "16936:1:18",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "16921:3:18"
},
"nodeType": "YulFunctionCall",
"src": "16921:17:18"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "16944:4:18"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "16950:9:18"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "16940:3:18"
},
"nodeType": "YulFunctionCall",
"src": "16940:20:18"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "16914:6:18"
},
"nodeType": "YulFunctionCall",
"src": "16914:47:18"
},
"nodeType": "YulExpressionStatement",
"src": "16914:47:18"
},
{
"nodeType": "YulAssignment",
"src": "16970:139:18",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "17104:4:18"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "16978:124:18"
},
"nodeType": "YulFunctionCall",
"src": "16978:131:18"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "16970:4:18"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "16848:9:18",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "16863:4:18",
"type": ""
}
],
"src": "16697:419:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "17236:34:18",
"statements": [
{
"nodeType": "YulAssignment",
"src": "17246:18:18",
"value": {
"name": "pos",
"nodeType": "YulIdentifier",
"src": "17261:3:18"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "17246:11:18"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "17208:3:18",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "17213:6:18",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "17224:11:18",
"type": ""
}
],
"src": "17122:148:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "17386:267:18",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "17396:53:18",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "17443:5:18"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "17410:32:18"
},
"nodeType": "YulFunctionCall",
"src": "17410:39:18"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "17400:6:18",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "17458:96:18",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "17542:3:18"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "17547:6:18"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack",
"nodeType": "YulIdentifier",
"src": "17465:76:18"
},
"nodeType": "YulFunctionCall",
"src": "17465:89:18"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "17458:3:18"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "17589:5:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "17596:4:18",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "17585:3:18"
},
"nodeType": "YulFunctionCall",
"src": "17585:16:18"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "17603:3:18"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "17608:6:18"
}
],
"functionName": {
"name": "copy_memory_to_memory",
"nodeType": "YulIdentifier",
"src": "17563:21:18"
},
"nodeType": "YulFunctionCall",
"src": "17563:52:18"
},
"nodeType": "YulExpressionStatement",
"src": "17563:52:18"
},
{
"nodeType": "YulAssignment",
"src": "17624:23:18",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "17635:3:18"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "17640:6:18"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "17631:3:18"
},
"nodeType": "YulFunctionCall",
"src": "17631:16:18"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "17624:3:18"
}
]
}
]
},
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "17367:5:18",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "17374:3:18",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "17382:3:18",
"type": ""
}
],
"src": "17276:377:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "17795:139:18",
"statements": [
{
"nodeType": "YulAssignment",
"src": "17806:102:18",
"value": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "17895:6:18"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "17904:3:18"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack",
"nodeType": "YulIdentifier",
"src": "17813:81:18"
},
"nodeType": "YulFunctionCall",
"src": "17813:95:18"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "17806:3:18"
}
]
},
{
"nodeType": "YulAssignment",
"src": "17918:10:18",
"value": {
"name": "pos",
"nodeType": "YulIdentifier",
"src": "17925:3:18"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "17918:3:18"
}
]
}
]
},
"name": "abi_encode_tuple_packed_t_string_memory_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "17774:3:18",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "17780:6:18",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "17791:3:18",
"type": ""
}
],
"src": "17659:275:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "18046:136:18",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "18068:6:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "18076:1:18",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "18064:3:18"
},
"nodeType": "YulFunctionCall",
"src": "18064:14:18"
},
{
"hexValue": "4d6f646966696564416363657373436f6e74726f6c3a2063616e6e6f74207265",
"kind": "string",
"nodeType": "YulLiteral",
"src": "18080:34:18",
"type": "",
"value": "ModifiedAccessControl: cannot re"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "18057:6:18"
},
"nodeType": "YulFunctionCall",
"src": "18057:58:18"
},
"nodeType": "YulExpressionStatement",
"src": "18057:58:18"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "18136:6:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "18144:2:18",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "18132:3:18"
},
"nodeType": "YulFunctionCall",
"src": "18132:15:18"
},
{
"hexValue": "766f6b652064656661756c742061646d696e20726f6c65",
"kind": "string",
"nodeType": "YulLiteral",
"src": "18149:25:18",
"type": "",
"value": "voke default admin role"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "18125:6:18"
},
"nodeType": "YulFunctionCall",
"src": "18125:50:18"
},
"nodeType": "YulExpressionStatement",
"src": "18125:50:18"
}
]
},
"name": "store_literal_in_memory_c838d3416aebb19f108311ea2534f659467f5f471e6c30a013843b4884b77b01",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "18038:6:18",
"type": ""
}
],
"src": "17940:242:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "18334:220:18",
"statements": [
{
"nodeType": "YulAssignment",
"src": "18344:74:18",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "18410:3:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "18415:2:18",
"type": "",
"value": "55"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "18351:58:18"
},
"nodeType": "YulFunctionCall",
"src": "18351:67:18"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "18344:3:18"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "18516:3:18"
}
],
"functionName": {
"name": "store_literal_in_memory_c838d3416aebb19f108311ea2534f659467f5f471e6c30a013843b4884b77b01",
"nodeType": "YulIdentifier",
"src": "18427:88:18"
},
"nodeType": "YulFunctionCall",
"src": "18427:93:18"
},
"nodeType": "YulExpressionStatement",
"src": "18427:93:18"
},
{
"nodeType": "YulAssignment",
"src": "18529:19:18",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "18540:3:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "18545:2:18",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "18536:3:18"
},
"nodeType": "YulFunctionCall",
"src": "18536:12:18"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "18529:3:18"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_c838d3416aebb19f108311ea2534f659467f5f471e6c30a013843b4884b77b01_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "18322:3:18",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "18330:3:18",
"type": ""
}
],
"src": "18188:366:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "18731:248:18",
"statements": [
{
"nodeType": "YulAssignment",
"src": "18741:26:18",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "18753:9:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "18764:2:18",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "18749:3:18"
},
"nodeType": "YulFunctionCall",
"src": "18749:18:18"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "18741:4:18"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "18788:9:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "18799:1:18",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "18784:3:18"
},
"nodeType": "YulFunctionCall",
"src": "18784:17:18"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "18807:4:18"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "18813:9:18"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "18803:3:18"
},
"nodeType": "YulFunctionCall",
"src": "18803:20:18"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "18777:6:18"
},
"nodeType": "YulFunctionCall",
"src": "18777:47:18"
},
"nodeType": "YulExpressionStatement",
"src": "18777:47:18"
},
{
"nodeType": "YulAssignment",
"src": "18833:139:18",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "18967:4:18"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_c838d3416aebb19f108311ea2534f659467f5f471e6c30a013843b4884b77b01_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "18841:124:18"
},
"nodeType": "YulFunctionCall",
"src": "18841:131:18"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "18833:4:18"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_c838d3416aebb19f108311ea2534f659467f5f471e6c30a013843b4884b77b01__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "18711:9:18",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "18726:4:18",
"type": ""
}
],
"src": "18560:419:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "19091:122:18",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "19113:6:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "19121:1:18",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "19109:3:18"
},
"nodeType": "YulFunctionCall",
"src": "19109:14:18"
},
{
"hexValue": "436f756c646e27742066696e642074686973206164647265737320696e207468",
"kind": "string",
"nodeType": "YulLiteral",
"src": "19125:34:18",
"type": "",
"value": "Couldn't find this address in th"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "19102:6:18"
},
"nodeType": "YulFunctionCall",
"src": "19102:58:18"
},
"nodeType": "YulExpressionStatement",
"src": "19102:58:18"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "19181:6:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "19189:2:18",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "19177:3:18"
},
"nodeType": "YulFunctionCall",
"src": "19177:15:18"
},
{
"hexValue": "6520726f6c65732e20",
"kind": "string",
"nodeType": "YulLiteral",
"src": "19194:11:18",
"type": "",
"value": "e roles. "
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "19170:6:18"
},
"nodeType": "YulFunctionCall",
"src": "19170:36:18"
},
"nodeType": "YulExpressionStatement",
"src": "19170:36:18"
}
]
},
"name": "store_literal_in_memory_c3de17076b778f8e8b3081777daf30267c7cd1cb344888fabcd2de4a66a78503",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "19083:6:18",
"type": ""
}
],
"src": "18985:228:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "19365:220:18",
"statements": [
{
"nodeType": "YulAssignment",
"src": "19375:74:18",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "19441:3:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "19446:2:18",
"type": "",
"value": "41"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "19382:58:18"
},
"nodeType": "YulFunctionCall",
"src": "19382:67:18"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "19375:3:18"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "19547:3:18"
}
],
"functionName": {
"name": "store_literal_in_memory_c3de17076b778f8e8b3081777daf30267c7cd1cb344888fabcd2de4a66a78503",
"nodeType": "YulIdentifier",
"src": "19458:88:18"
},
"nodeType": "YulFunctionCall",
"src": "19458:93:18"
},
"nodeType": "YulExpressionStatement",
"src": "19458:93:18"
},
{
"nodeType": "YulAssignment",
"src": "19560:19:18",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "19571:3:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "19576:2:18",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "19567:3:18"
},
"nodeType": "YulFunctionCall",
"src": "19567:12:18"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "19560:3:18"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_c3de17076b778f8e8b3081777daf30267c7cd1cb344888fabcd2de4a66a78503_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "19353:3:18",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "19361:3:18",
"type": ""
}
],
"src": "19219:366:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "19762:248:18",
"statements": [
{
"nodeType": "YulAssignment",
"src": "19772:26:18",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "19784:9:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "19795:2:18",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "19780:3:18"
},
"nodeType": "YulFunctionCall",
"src": "19780:18:18"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "19772:4:18"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "19819:9:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "19830:1:18",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "19815:3:18"
},
"nodeType": "YulFunctionCall",
"src": "19815:17:18"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "19838:4:18"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "19844:9:18"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "19834:3:18"
},
"nodeType": "YulFunctionCall",
"src": "19834:20:18"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "19808:6:18"
},
"nodeType": "YulFunctionCall",
"src": "19808:47:18"
},
"nodeType": "YulExpressionStatement",
"src": "19808:47:18"
},
{
"nodeType": "YulAssignment",
"src": "19864:139:18",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "19998:4:18"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_c3de17076b778f8e8b3081777daf30267c7cd1cb344888fabcd2de4a66a78503_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "19872:124:18"
},
"nodeType": "YulFunctionCall",
"src": "19872:131:18"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "19864:4:18"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_c3de17076b778f8e8b3081777daf30267c7cd1cb344888fabcd2de4a66a78503__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "19742:9:18",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "19757:4:18",
"type": ""
}
],
"src": "19591:419:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "20122:119:18",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "20144:6:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "20152:1:18",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "20140:3:18"
},
"nodeType": "YulFunctionCall",
"src": "20140:14:18"
},
{
"hexValue": "4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061",
"kind": "string",
"nodeType": "YulLiteral",
"src": "20156:34:18",
"type": "",
"value": "Ownable: new owner is the zero a"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "20133:6:18"
},
"nodeType": "YulFunctionCall",
"src": "20133:58:18"
},
"nodeType": "YulExpressionStatement",
"src": "20133:58:18"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "20212:6:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "20220:2:18",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "20208:3:18"
},
"nodeType": "YulFunctionCall",
"src": "20208:15:18"
},
{
"hexValue": "646472657373",
"kind": "string",
"nodeType": "YulLiteral",
"src": "20225:8:18",
"type": "",
"value": "ddress"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "20201:6:18"
},
"nodeType": "YulFunctionCall",
"src": "20201:33:18"
},
"nodeType": "YulExpressionStatement",
"src": "20201:33:18"
}
]
},
"name": "store_literal_in_memory_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "20114:6:18",
"type": ""
}
],
"src": "20016:225:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "20393:220:18",
"statements": [
{
"nodeType": "YulAssignment",
"src": "20403:74:18",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "20469:3:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "20474:2:18",
"type": "",
"value": "38"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "20410:58:18"
},
"nodeType": "YulFunctionCall",
"src": "20410:67:18"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "20403:3:18"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "20575:3:18"
}
],
"functionName": {
"name": "store_literal_in_memory_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe",
"nodeType": "YulIdentifier",
"src": "20486:88:18"
},
"nodeType": "YulFunctionCall",
"src": "20486:93:18"
},
"nodeType": "YulExpressionStatement",
"src": "20486:93:18"
},
{
"nodeType": "YulAssignment",
"src": "20588:19:18",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "20599:3:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "20604:2:18",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "20595:3:18"
},
"nodeType": "YulFunctionCall",
"src": "20595:12:18"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "20588:3:18"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "20381:3:18",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "20389:3:18",
"type": ""
}
],
"src": "20247:366:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "20790:248:18",
"statements": [
{
"nodeType": "YulAssignment",
"src": "20800:26:18",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "20812:9:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "20823:2:18",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "20808:3:18"
},
"nodeType": "YulFunctionCall",
"src": "20808:18:18"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "20800:4:18"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "20847:9:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "20858:1:18",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "20843:3:18"
},
"nodeType": "YulFunctionCall",
"src": "20843:17:18"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "20866:4:18"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "20872:9:18"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "20862:3:18"
},
"nodeType": "YulFunctionCall",
"src": "20862:20:18"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "20836:6:18"
},
"nodeType": "YulFunctionCall",
"src": "20836:47:18"
},
"nodeType": "YulExpressionStatement",
"src": "20836:47:18"
},
{
"nodeType": "YulAssignment",
"src": "20892:139:18",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "21026:4:18"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "20900:124:18"
},
"nodeType": "YulFunctionCall",
"src": "20900:131:18"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "20892:4:18"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "20770:9:18",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "20785:4:18",
"type": ""
}
],
"src": "20619:419:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "21150:117:18",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "21172:6:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "21180:1:18",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "21168:3:18"
},
"nodeType": "YulFunctionCall",
"src": "21168:14:18"
},
{
"hexValue": "45524332303a20617070726f76652066726f6d20746865207a65726f20616464",
"kind": "string",
"nodeType": "YulLiteral",
"src": "21184:34:18",
"type": "",
"value": "ERC20: approve from the zero add"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "21161:6:18"
},
"nodeType": "YulFunctionCall",
"src": "21161:58:18"
},
"nodeType": "YulExpressionStatement",
"src": "21161:58:18"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "21240:6:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "21248:2:18",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "21236:3:18"
},
"nodeType": "YulFunctionCall",
"src": "21236:15:18"
},
{
"hexValue": "72657373",
"kind": "string",
"nodeType": "YulLiteral",
"src": "21253:6:18",
"type": "",
"value": "ress"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "21229:6:18"
},
"nodeType": "YulFunctionCall",
"src": "21229:31:18"
},
"nodeType": "YulExpressionStatement",
"src": "21229:31:18"
}
]
},
"name": "store_literal_in_memory_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "21142:6:18",
"type": ""
}
],
"src": "21044:223:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "21419:220:18",
"statements": [
{
"nodeType": "YulAssignment",
"src": "21429:74:18",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "21495:3:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "21500:2:18",
"type": "",
"value": "36"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "21436:58:18"
},
"nodeType": "YulFunctionCall",
"src": "21436:67:18"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "21429:3:18"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "21601:3:18"
}
],
"functionName": {
"name": "store_literal_in_memory_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208",
"nodeType": "YulIdentifier",
"src": "21512:88:18"
},
"nodeType": "YulFunctionCall",
"src": "21512:93:18"
},
"nodeType": "YulExpressionStatement",
"src": "21512:93:18"
},
{
"nodeType": "YulAssignment",
"src": "21614:19:18",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "21625:3:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "21630:2:18",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "21621:3:18"
},
"nodeType": "YulFunctionCall",
"src": "21621:12:18"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "21614:3:18"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "21407:3:18",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "21415:3:18",
"type": ""
}
],
"src": "21273:366:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "21816:248:18",
"statements": [
{
"nodeType": "YulAssignment",
"src": "21826:26:18",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "21838:9:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "21849:2:18",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "21834:3:18"
},
"nodeType": "YulFunctionCall",
"src": "21834:18:18"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "21826:4:18"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "21873:9:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "21884:1:18",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "21869:3:18"
},
"nodeType": "YulFunctionCall",
"src": "21869:17:18"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "21892:4:18"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "21898:9:18"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "21888:3:18"
},
"nodeType": "YulFunctionCall",
"src": "21888:20:18"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "21862:6:18"
},
"nodeType": "YulFunctionCall",
"src": "21862:47:18"
},
"nodeType": "YulExpressionStatement",
"src": "21862:47:18"
},
{
"nodeType": "YulAssignment",
"src": "21918:139:18",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "22052:4:18"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "21926:124:18"
},
"nodeType": "YulFunctionCall",
"src": "21926:131:18"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "21918:4:18"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "21796:9:18",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "21811:4:18",
"type": ""
}
],
"src": "21645:419:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "22176:115:18",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "22198:6:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "22206:1:18",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "22194:3:18"
},
"nodeType": "YulFunctionCall",
"src": "22194:14:18"
},
{
"hexValue": "45524332303a20617070726f766520746f20746865207a65726f206164647265",
"kind": "string",
"nodeType": "YulLiteral",
"src": "22210:34:18",
"type": "",
"value": "ERC20: approve to the zero addre"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "22187:6:18"
},
"nodeType": "YulFunctionCall",
"src": "22187:58:18"
},
"nodeType": "YulExpressionStatement",
"src": "22187:58:18"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "22266:6:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "22274:2:18",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "22262:3:18"
},
"nodeType": "YulFunctionCall",
"src": "22262:15:18"
},
{
"hexValue": "7373",
"kind": "string",
"nodeType": "YulLiteral",
"src": "22279:4:18",
"type": "",
"value": "ss"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "22255:6:18"
},
"nodeType": "YulFunctionCall",
"src": "22255:29:18"
},
"nodeType": "YulExpressionStatement",
"src": "22255:29:18"
}
]
},
"name": "store_literal_in_memory_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "22168:6:18",
"type": ""
}
],
"src": "22070:221:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "22443:220:18",
"statements": [
{
"nodeType": "YulAssignment",
"src": "22453:74:18",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "22519:3:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "22524:2:18",
"type": "",
"value": "34"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "22460:58:18"
},
"nodeType": "YulFunctionCall",
"src": "22460:67:18"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "22453:3:18"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "22625:3:18"
}
],
"functionName": {
"name": "store_literal_in_memory_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029",
"nodeType": "YulIdentifier",
"src": "22536:88:18"
},
"nodeType": "YulFunctionCall",
"src": "22536:93:18"
},
"nodeType": "YulExpressionStatement",
"src": "22536:93:18"
},
{
"nodeType": "YulAssignment",
"src": "22638:19:18",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "22649:3:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "22654:2:18",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "22645:3:18"
},
"nodeType": "YulFunctionCall",
"src": "22645:12:18"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "22638:3:18"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "22431:3:18",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "22439:3:18",
"type": ""
}
],
"src": "22297:366:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "22840:248:18",
"statements": [
{
"nodeType": "YulAssignment",
"src": "22850:26:18",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "22862:9:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "22873:2:18",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "22858:3:18"
},
"nodeType": "YulFunctionCall",
"src": "22858:18:18"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "22850:4:18"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "22897:9:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "22908:1:18",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "22893:3:18"
},
"nodeType": "YulFunctionCall",
"src": "22893:17:18"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "22916:4:18"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "22922:9:18"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "22912:3:18"
},
"nodeType": "YulFunctionCall",
"src": "22912:20:18"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "22886:6:18"
},
"nodeType": "YulFunctionCall",
"src": "22886:47:18"
},
"nodeType": "YulExpressionStatement",
"src": "22886:47:18"
},
{
"nodeType": "YulAssignment",
"src": "22942:139:18",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "23076:4:18"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "22950:124:18"
},
"nodeType": "YulFunctionCall",
"src": "22950:131:18"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "22942:4:18"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "22820:9:18",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "22835:4:18",
"type": ""
}
],
"src": "22669:419:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "23200:73:18",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "23222:6:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "23230:1:18",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "23218:3:18"
},
"nodeType": "YulFunctionCall",
"src": "23218:14:18"
},
{
"hexValue": "45524332303a20696e73756666696369656e7420616c6c6f77616e6365",
"kind": "string",
"nodeType": "YulLiteral",
"src": "23234:31:18",
"type": "",
"value": "ERC20: insufficient allowance"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "23211:6:18"
},
"nodeType": "YulFunctionCall",
"src": "23211:55:18"
},
"nodeType": "YulExpressionStatement",
"src": "23211:55:18"
}
]
},
"name": "store_literal_in_memory_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "23192:6:18",
"type": ""
}
],
"src": "23094:179:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "23425:220:18",
"statements": [
{
"nodeType": "YulAssignment",
"src": "23435:74:18",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "23501:3:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "23506:2:18",
"type": "",
"value": "29"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "23442:58:18"
},
"nodeType": "YulFunctionCall",
"src": "23442:67:18"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "23435:3:18"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "23607:3:18"
}
],
"functionName": {
"name": "store_literal_in_memory_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe",
"nodeType": "YulIdentifier",
"src": "23518:88:18"
},
"nodeType": "YulFunctionCall",
"src": "23518:93:18"
},
"nodeType": "YulExpressionStatement",
"src": "23518:93:18"
},
{
"nodeType": "YulAssignment",
"src": "23620:19:18",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "23631:3:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "23636:2:18",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "23627:3:18"
},
"nodeType": "YulFunctionCall",
"src": "23627:12:18"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "23620:3:18"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "23413:3:18",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "23421:3:18",
"type": ""
}
],
"src": "23279:366:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "23822:248:18",
"statements": [
{
"nodeType": "YulAssignment",
"src": "23832:26:18",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "23844:9:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "23855:2:18",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "23840:3:18"
},
"nodeType": "YulFunctionCall",
"src": "23840:18:18"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "23832:4:18"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "23879:9:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "23890:1:18",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "23875:3:18"
},
"nodeType": "YulFunctionCall",
"src": "23875:17:18"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "23898:4:18"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "23904:9:18"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "23894:3:18"
},
"nodeType": "YulFunctionCall",
"src": "23894:20:18"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "23868:6:18"
},
"nodeType": "YulFunctionCall",
"src": "23868:47:18"
},
"nodeType": "YulExpressionStatement",
"src": "23868:47:18"
},
{
"nodeType": "YulAssignment",
"src": "23924:139:18",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "24058:4:18"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "23932:124:18"
},
"nodeType": "YulFunctionCall",
"src": "23932:131:18"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "23924:4:18"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "23802:9:18",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "23817:4:18",
"type": ""
}
],
"src": "23651:419:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "24182:118:18",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "24204:6:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "24212:1:18",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "24200:3:18"
},
"nodeType": "YulFunctionCall",
"src": "24200:14:18"
},
{
"hexValue": "45524332303a207472616e736665722066726f6d20746865207a65726f206164",
"kind": "string",
"nodeType": "YulLiteral",
"src": "24216:34:18",
"type": "",
"value": "ERC20: transfer from the zero ad"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "24193:6:18"
},
"nodeType": "YulFunctionCall",
"src": "24193:58:18"
},
"nodeType": "YulExpressionStatement",
"src": "24193:58:18"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "24272:6:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "24280:2:18",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "24268:3:18"
},
"nodeType": "YulFunctionCall",
"src": "24268:15:18"
},
{
"hexValue": "6472657373",
"kind": "string",
"nodeType": "YulLiteral",
"src": "24285:7:18",
"type": "",
"value": "dress"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "24261:6:18"
},
"nodeType": "YulFunctionCall",
"src": "24261:32:18"
},
"nodeType": "YulExpressionStatement",
"src": "24261:32:18"
}
]
},
"name": "store_literal_in_memory_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "24174:6:18",
"type": ""
}
],
"src": "24076:224:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "24452:220:18",
"statements": [
{
"nodeType": "YulAssignment",
"src": "24462:74:18",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "24528:3:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "24533:2:18",
"type": "",
"value": "37"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "24469:58:18"
},
"nodeType": "YulFunctionCall",
"src": "24469:67:18"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "24462:3:18"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "24634:3:18"
}
],
"functionName": {
"name": "store_literal_in_memory_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea",
"nodeType": "YulIdentifier",
"src": "24545:88:18"
},
"nodeType": "YulFunctionCall",
"src": "24545:93:18"
},
"nodeType": "YulExpressionStatement",
"src": "24545:93:18"
},
{
"nodeType": "YulAssignment",
"src": "24647:19:18",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "24658:3:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "24663:2:18",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "24654:3:18"
},
"nodeType": "YulFunctionCall",
"src": "24654:12:18"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "24647:3:18"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "24440:3:18",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "24448:3:18",
"type": ""
}
],
"src": "24306:366:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "24849:248:18",
"statements": [
{
"nodeType": "YulAssignment",
"src": "24859:26:18",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "24871:9:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "24882:2:18",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "24867:3:18"
},
"nodeType": "YulFunctionCall",
"src": "24867:18:18"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "24859:4:18"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "24906:9:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "24917:1:18",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "24902:3:18"
},
"nodeType": "YulFunctionCall",
"src": "24902:17:18"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "24925:4:18"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "24931:9:18"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "24921:3:18"
},
"nodeType": "YulFunctionCall",
"src": "24921:20:18"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "24895:6:18"
},
"nodeType": "YulFunctionCall",
"src": "24895:47:18"
},
"nodeType": "YulExpressionStatement",
"src": "24895:47:18"
},
{
"nodeType": "YulAssignment",
"src": "24951:139:18",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "25085:4:18"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "24959:124:18"
},
"nodeType": "YulFunctionCall",
"src": "24959:131:18"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "24951:4:18"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "24829:9:18",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "24844:4:18",
"type": ""
}
],
"src": "24678:419:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "25209:116:18",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "25231:6:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "25239:1:18",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "25227:3:18"
},
"nodeType": "YulFunctionCall",
"src": "25227:14:18"
},
{
"hexValue": "45524332303a207472616e7366657220746f20746865207a65726f2061646472",
"kind": "string",
"nodeType": "YulLiteral",
"src": "25243:34:18",
"type": "",
"value": "ERC20: transfer to the zero addr"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "25220:6:18"
},
"nodeType": "YulFunctionCall",
"src": "25220:58:18"
},
"nodeType": "YulExpressionStatement",
"src": "25220:58:18"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "25299:6:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "25307:2:18",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "25295:3:18"
},
"nodeType": "YulFunctionCall",
"src": "25295:15:18"
},
{
"hexValue": "657373",
"kind": "string",
"nodeType": "YulLiteral",
"src": "25312:5:18",
"type": "",
"value": "ess"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "25288:6:18"
},
"nodeType": "YulFunctionCall",
"src": "25288:30:18"
},
"nodeType": "YulExpressionStatement",
"src": "25288:30:18"
}
]
},
"name": "store_literal_in_memory_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "25201:6:18",
"type": ""
}
],
"src": "25103:222:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "25477:220:18",
"statements": [
{
"nodeType": "YulAssignment",
"src": "25487:74:18",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "25553:3:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "25558:2:18",
"type": "",
"value": "35"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "25494:58:18"
},
"nodeType": "YulFunctionCall",
"src": "25494:67:18"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "25487:3:18"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "25659:3:18"
}
],
"functionName": {
"name": "store_literal_in_memory_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f",
"nodeType": "YulIdentifier",
"src": "25570:88:18"
},
"nodeType": "YulFunctionCall",
"src": "25570:93:18"
},
"nodeType": "YulExpressionStatement",
"src": "25570:93:18"
},
{
"nodeType": "YulAssignment",
"src": "25672:19:18",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "25683:3:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "25688:2:18",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "25679:3:18"
},
"nodeType": "YulFunctionCall",
"src": "25679:12:18"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "25672:3:18"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "25465:3:18",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "25473:3:18",
"type": ""
}
],
"src": "25331:366:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "25874:248:18",
"statements": [
{
"nodeType": "YulAssignment",
"src": "25884:26:18",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "25896:9:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "25907:2:18",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "25892:3:18"
},
"nodeType": "YulFunctionCall",
"src": "25892:18:18"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "25884:4:18"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "25931:9:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "25942:1:18",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "25927:3:18"
},
"nodeType": "YulFunctionCall",
"src": "25927:17:18"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "25950:4:18"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "25956:9:18"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "25946:3:18"
},
"nodeType": "YulFunctionCall",
"src": "25946:20:18"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "25920:6:18"
},
"nodeType": "YulFunctionCall",
"src": "25920:47:18"
},
"nodeType": "YulExpressionStatement",
"src": "25920:47:18"
},
{
"nodeType": "YulAssignment",
"src": "25976:139:18",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "26110:4:18"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "25984:124:18"
},
"nodeType": "YulFunctionCall",
"src": "25984:131:18"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "25976:4:18"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "25854:9:18",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "25869:4:18",
"type": ""
}
],
"src": "25703:419:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "26234:119:18",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "26256:6:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "26264:1:18",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "26252:3:18"
},
"nodeType": "YulFunctionCall",
"src": "26252:14:18"
},
{
"hexValue": "45524332303a207472616e7366657220616d6f756e7420657863656564732062",
"kind": "string",
"nodeType": "YulLiteral",
"src": "26268:34:18",
"type": "",
"value": "ERC20: transfer amount exceeds b"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "26245:6:18"
},
"nodeType": "YulFunctionCall",
"src": "26245:58:18"
},
"nodeType": "YulExpressionStatement",
"src": "26245:58:18"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "26324:6:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "26332:2:18",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "26320:3:18"
},
"nodeType": "YulFunctionCall",
"src": "26320:15:18"
},
{
"hexValue": "616c616e6365",
"kind": "string",
"nodeType": "YulLiteral",
"src": "26337:8:18",
"type": "",
"value": "alance"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "26313:6:18"
},
"nodeType": "YulFunctionCall",
"src": "26313:33:18"
},
"nodeType": "YulExpressionStatement",
"src": "26313:33:18"
}
]
},
"name": "store_literal_in_memory_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "26226:6:18",
"type": ""
}
],
"src": "26128:225:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "26505:220:18",
"statements": [
{
"nodeType": "YulAssignment",
"src": "26515:74:18",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "26581:3:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "26586:2:18",
"type": "",
"value": "38"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "26522:58:18"
},
"nodeType": "YulFunctionCall",
"src": "26522:67:18"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "26515:3:18"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "26687:3:18"
}
],
"functionName": {
"name": "store_literal_in_memory_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6",
"nodeType": "YulIdentifier",
"src": "26598:88:18"
},
"nodeType": "YulFunctionCall",
"src": "26598:93:18"
},
"nodeType": "YulExpressionStatement",
"src": "26598:93:18"
},
{
"nodeType": "YulAssignment",
"src": "26700:19:18",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "26711:3:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "26716:2:18",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "26707:3:18"
},
"nodeType": "YulFunctionCall",
"src": "26707:12:18"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "26700:3:18"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "26493:3:18",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "26501:3:18",
"type": ""
}
],
"src": "26359:366:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "26902:248:18",
"statements": [
{
"nodeType": "YulAssignment",
"src": "26912:26:18",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "26924:9:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "26935:2:18",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "26920:3:18"
},
"nodeType": "YulFunctionCall",
"src": "26920:18:18"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "26912:4:18"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "26959:9:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "26970:1:18",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "26955:3:18"
},
"nodeType": "YulFunctionCall",
"src": "26955:17:18"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "26978:4:18"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "26984:9:18"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "26974:3:18"
},
"nodeType": "YulFunctionCall",
"src": "26974:20:18"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "26948:6:18"
},
"nodeType": "YulFunctionCall",
"src": "26948:47:18"
},
"nodeType": "YulExpressionStatement",
"src": "26948:47:18"
},
{
"nodeType": "YulAssignment",
"src": "27004:139:18",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "27138:4:18"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "27012:124:18"
},
"nodeType": "YulFunctionCall",
"src": "27012:131:18"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "27004:4:18"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "26882:9:18",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "26897:4:18",
"type": ""
}
],
"src": "26731:419:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "27262:67:18",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "27284:6:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "27292:1:18",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "27280:3:18"
},
"nodeType": "YulFunctionCall",
"src": "27280:14:18"
},
{
"hexValue": "416363657373436f6e74726f6c3a206163636f756e7420",
"kind": "string",
"nodeType": "YulLiteral",
"src": "27296:25:18",
"type": "",
"value": "AccessControl: account "
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "27273:6:18"
},
"nodeType": "YulFunctionCall",
"src": "27273:49:18"
},
"nodeType": "YulExpressionStatement",
"src": "27273:49:18"
}
]
},
"name": "store_literal_in_memory_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "27254:6:18",
"type": ""
}
],
"src": "27156:173:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "27499:238:18",
"statements": [
{
"nodeType": "YulAssignment",
"src": "27509:92:18",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "27593:3:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "27598:2:18",
"type": "",
"value": "23"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack",
"nodeType": "YulIdentifier",
"src": "27516:76:18"
},
"nodeType": "YulFunctionCall",
"src": "27516:85:18"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "27509:3:18"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "27699:3:18"
}
],
"functionName": {
"name": "store_literal_in_memory_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874",
"nodeType": "YulIdentifier",
"src": "27610:88:18"
},
"nodeType": "YulFunctionCall",
"src": "27610:93:18"
},
"nodeType": "YulExpressionStatement",
"src": "27610:93:18"
},
{
"nodeType": "YulAssignment",
"src": "27712:19:18",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "27723:3:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "27728:2:18",
"type": "",
"value": "23"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "27719:3:18"
},
"nodeType": "YulFunctionCall",
"src": "27719:12:18"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "27712:3:18"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874_to_t_string_memory_ptr_nonPadded_inplace_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "27487:3:18",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "27495:3:18",
"type": ""
}
],
"src": "27335:402:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "27849:61:18",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "27871:6:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "27879:1:18",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "27867:3:18"
},
"nodeType": "YulFunctionCall",
"src": "27867:14:18"
},
{
"hexValue": "206973206d697373696e6720726f6c6520",
"kind": "string",
"nodeType": "YulLiteral",
"src": "27883:19:18",
"type": "",
"value": " is missing role "
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "27860:6:18"
},
"nodeType": "YulFunctionCall",
"src": "27860:43:18"
},
"nodeType": "YulExpressionStatement",
"src": "27860:43:18"
}
]
},
"name": "store_literal_in_memory_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "27841:6:18",
"type": ""
}
],
"src": "27743:167:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "28080:238:18",
"statements": [
{
"nodeType": "YulAssignment",
"src": "28090:92:18",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "28174:3:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "28179:2:18",
"type": "",
"value": "17"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack",
"nodeType": "YulIdentifier",
"src": "28097:76:18"
},
"nodeType": "YulFunctionCall",
"src": "28097:85:18"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "28090:3:18"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "28280:3:18"
}
],
"functionName": {
"name": "store_literal_in_memory_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69",
"nodeType": "YulIdentifier",
"src": "28191:88:18"
},
"nodeType": "YulFunctionCall",
"src": "28191:93:18"
},
"nodeType": "YulExpressionStatement",
"src": "28191:93:18"
},
{
"nodeType": "YulAssignment",
"src": "28293:19:18",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "28304:3:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "28309:2:18",
"type": "",
"value": "17"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "28300:3:18"
},
"nodeType": "YulFunctionCall",
"src": "28300:12:18"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "28293:3:18"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_to_t_string_memory_ptr_nonPadded_inplace_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "28068:3:18",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "28076:3:18",
"type": ""
}
],
"src": "27916:402:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "28710:581:18",
"statements": [
{
"nodeType": "YulAssignment",
"src": "28721:155:18",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "28872:3:18"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874_to_t_string_memory_ptr_nonPadded_inplace_fromStack",
"nodeType": "YulIdentifier",
"src": "28728:142:18"
},
"nodeType": "YulFunctionCall",
"src": "28728:148:18"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "28721:3:18"
}
]
},
{
"nodeType": "YulAssignment",
"src": "28886:102:18",
"value": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "28975:6:18"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "28984:3:18"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack",
"nodeType": "YulIdentifier",
"src": "28893:81:18"
},
"nodeType": "YulFunctionCall",
"src": "28893:95:18"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "28886:3:18"
}
]
},
{
"nodeType": "YulAssignment",
"src": "28998:155:18",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "29149:3:18"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_to_t_string_memory_ptr_nonPadded_inplace_fromStack",
"nodeType": "YulIdentifier",
"src": "29005:142:18"
},
"nodeType": "YulFunctionCall",
"src": "29005:148:18"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "28998:3:18"
}
]
},
{
"nodeType": "YulAssignment",
"src": "29163:102:18",
"value": {
"arguments": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "29252:6:18"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "29261:3:18"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack",
"nodeType": "YulIdentifier",
"src": "29170:81:18"
},
"nodeType": "YulFunctionCall",
"src": "29170:95:18"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "29163:3:18"
}
]
},
{
"nodeType": "YulAssignment",
"src": "29275:10:18",
"value": {
"name": "pos",
"nodeType": "YulIdentifier",
"src": "29282:3:18"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "29275:3:18"
}
]
}
]
},
"name": "abi_encode_tuple_packed_t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874_t_string_memory_ptr_t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "28681:3:18",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "28687:6:18",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "28695:6:18",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "28706:3:18",
"type": ""
}
],
"src": "28324:967:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "29403:75:18",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "29425:6:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "29433:1:18",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "29421:3:18"
},
"nodeType": "YulFunctionCall",
"src": "29421:14:18"
},
{
"hexValue": "45524332303a206d696e7420746f20746865207a65726f2061646472657373",
"kind": "string",
"nodeType": "YulLiteral",
"src": "29437:33:18",
"type": "",
"value": "ERC20: mint to the zero address"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "29414:6:18"
},
"nodeType": "YulFunctionCall",
"src": "29414:57:18"
},
"nodeType": "YulExpressionStatement",
"src": "29414:57:18"
}
]
},
"name": "store_literal_in_memory_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "29395:6:18",
"type": ""
}
],
"src": "29297:181:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "29630:220:18",
"statements": [
{
"nodeType": "YulAssignment",
"src": "29640:74:18",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "29706:3:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "29711:2:18",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "29647:58:18"
},
"nodeType": "YulFunctionCall",
"src": "29647:67:18"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "29640:3:18"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "29812:3:18"
}
],
"functionName": {
"name": "store_literal_in_memory_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e",
"nodeType": "YulIdentifier",
"src": "29723:88:18"
},
"nodeType": "YulFunctionCall",
"src": "29723:93:18"
},
"nodeType": "YulExpressionStatement",
"src": "29723:93:18"
},
{
"nodeType": "YulAssignment",
"src": "29825:19:18",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "29836:3:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "29841:2:18",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "29832:3:18"
},
"nodeType": "YulFunctionCall",
"src": "29832:12:18"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "29825:3:18"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "29618:3:18",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "29626:3:18",
"type": ""
}
],
"src": "29484:366:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "30027:248:18",
"statements": [
{
"nodeType": "YulAssignment",
"src": "30037:26:18",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "30049:9:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "30060:2:18",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "30045:3:18"
},
"nodeType": "YulFunctionCall",
"src": "30045:18:18"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "30037:4:18"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "30084:9:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "30095:1:18",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "30080:3:18"
},
"nodeType": "YulFunctionCall",
"src": "30080:17:18"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "30103:4:18"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "30109:9:18"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "30099:3:18"
},
"nodeType": "YulFunctionCall",
"src": "30099:20:18"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "30073:6:18"
},
"nodeType": "YulFunctionCall",
"src": "30073:47:18"
},
"nodeType": "YulExpressionStatement",
"src": "30073:47:18"
},
{
"nodeType": "YulAssignment",
"src": "30129:139:18",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "30263:4:18"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "30137:124:18"
},
"nodeType": "YulFunctionCall",
"src": "30137:131:18"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "30129:4:18"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "30007:9:18",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "30022:4:18",
"type": ""
}
],
"src": "29856:419:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "30387:114:18",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "30409:6:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "30417:1:18",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "30405:3:18"
},
"nodeType": "YulFunctionCall",
"src": "30405:14:18"
},
{
"hexValue": "45524332303a206275726e2066726f6d20746865207a65726f20616464726573",
"kind": "string",
"nodeType": "YulLiteral",
"src": "30421:34:18",
"type": "",
"value": "ERC20: burn from the zero addres"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "30398:6:18"
},
"nodeType": "YulFunctionCall",
"src": "30398:58:18"
},
"nodeType": "YulExpressionStatement",
"src": "30398:58:18"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "30477:6:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "30485:2:18",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "30473:3:18"
},
"nodeType": "YulFunctionCall",
"src": "30473:15:18"
},
{
"hexValue": "73",
"kind": "string",
"nodeType": "YulLiteral",
"src": "30490:3:18",
"type": "",
"value": "s"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "30466:6:18"
},
"nodeType": "YulFunctionCall",
"src": "30466:28:18"
},
"nodeType": "YulExpressionStatement",
"src": "30466:28:18"
}
]
},
"name": "store_literal_in_memory_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "30379:6:18",
"type": ""
}
],
"src": "30281:220:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "30653:220:18",
"statements": [
{
"nodeType": "YulAssignment",
"src": "30663:74:18",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "30729:3:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "30734:2:18",
"type": "",
"value": "33"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "30670:58:18"
},
"nodeType": "YulFunctionCall",
"src": "30670:67:18"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "30663:3:18"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "30835:3:18"
}
],
"functionName": {
"name": "store_literal_in_memory_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f",
"nodeType": "YulIdentifier",
"src": "30746:88:18"
},
"nodeType": "YulFunctionCall",
"src": "30746:93:18"
},
"nodeType": "YulExpressionStatement",
"src": "30746:93:18"
},
{
"nodeType": "YulAssignment",
"src": "30848:19:18",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "30859:3:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "30864:2:18",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "30855:3:18"
},
"nodeType": "YulFunctionCall",
"src": "30855:12:18"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "30848:3:18"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "30641:3:18",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "30649:3:18",
"type": ""
}
],
"src": "30507:366:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "31050:248:18",
"statements": [
{
"nodeType": "YulAssignment",
"src": "31060:26:18",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "31072:9:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "31083:2:18",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "31068:3:18"
},
"nodeType": "YulFunctionCall",
"src": "31068:18:18"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "31060:4:18"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "31107:9:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "31118:1:18",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "31103:3:18"
},
"nodeType": "YulFunctionCall",
"src": "31103:17:18"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "31126:4:18"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "31132:9:18"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "31122:3:18"
},
"nodeType": "YulFunctionCall",
"src": "31122:20:18"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "31096:6:18"
},
"nodeType": "YulFunctionCall",
"src": "31096:47:18"
},
"nodeType": "YulExpressionStatement",
"src": "31096:47:18"
},
{
"nodeType": "YulAssignment",
"src": "31152:139:18",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "31286:4:18"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "31160:124:18"
},
"nodeType": "YulFunctionCall",
"src": "31160:131:18"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "31152:4:18"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "31030:9:18",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "31045:4:18",
"type": ""
}
],
"src": "30879:419:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "31410:115:18",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "31432:6:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "31440:1:18",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "31428:3:18"
},
"nodeType": "YulFunctionCall",
"src": "31428:14:18"
},
{
"hexValue": "45524332303a206275726e20616d6f756e7420657863656564732062616c616e",
"kind": "string",
"nodeType": "YulLiteral",
"src": "31444:34:18",
"type": "",
"value": "ERC20: burn amount exceeds balan"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "31421:6:18"
},
"nodeType": "YulFunctionCall",
"src": "31421:58:18"
},
"nodeType": "YulExpressionStatement",
"src": "31421:58:18"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "31500:6:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "31508:2:18",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "31496:3:18"
},
"nodeType": "YulFunctionCall",
"src": "31496:15:18"
},
{
"hexValue": "6365",
"kind": "string",
"nodeType": "YulLiteral",
"src": "31513:4:18",
"type": "",
"value": "ce"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "31489:6:18"
},
"nodeType": "YulFunctionCall",
"src": "31489:29:18"
},
"nodeType": "YulExpressionStatement",
"src": "31489:29:18"
}
]
},
"name": "store_literal_in_memory_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "31402:6:18",
"type": ""
}
],
"src": "31304:221:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "31677:220:18",
"statements": [
{
"nodeType": "YulAssignment",
"src": "31687:74:18",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "31753:3:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "31758:2:18",
"type": "",
"value": "34"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "31694:58:18"
},
"nodeType": "YulFunctionCall",
"src": "31694:67:18"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "31687:3:18"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "31859:3:18"
}
],
"functionName": {
"name": "store_literal_in_memory_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd",
"nodeType": "YulIdentifier",
"src": "31770:88:18"
},
"nodeType": "YulFunctionCall",
"src": "31770:93:18"
},
"nodeType": "YulExpressionStatement",
"src": "31770:93:18"
},
{
"nodeType": "YulAssignment",
"src": "31872:19:18",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "31883:3:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "31888:2:18",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "31879:3:18"
},
"nodeType": "YulFunctionCall",
"src": "31879:12:18"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "31872:3:18"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "31665:3:18",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "31673:3:18",
"type": ""
}
],
"src": "31531:366:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "32074:248:18",
"statements": [
{
"nodeType": "YulAssignment",
"src": "32084:26:18",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "32096:9:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "32107:2:18",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "32092:3:18"
},
"nodeType": "YulFunctionCall",
"src": "32092:18:18"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "32084:4:18"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "32131:9:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "32142:1:18",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "32127:3:18"
},
"nodeType": "YulFunctionCall",
"src": "32127:17:18"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "32150:4:18"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "32156:9:18"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "32146:3:18"
},
"nodeType": "YulFunctionCall",
"src": "32146:20:18"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "32120:6:18"
},
"nodeType": "YulFunctionCall",
"src": "32120:47:18"
},
"nodeType": "YulExpressionStatement",
"src": "32120:47:18"
},
{
"nodeType": "YulAssignment",
"src": "32176:139:18",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "32310:4:18"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "32184:124:18"
},
"nodeType": "YulFunctionCall",
"src": "32184:131:18"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "32176:4:18"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "32054:9:18",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "32069:4:18",
"type": ""
}
],
"src": "31903:419:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "32373:146:18",
"statements": [
{
"nodeType": "YulAssignment",
"src": "32383:25:18",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "32406:1:18"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "32388:17:18"
},
"nodeType": "YulFunctionCall",
"src": "32388:20:18"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "32383:1:18"
}
]
},
{
"nodeType": "YulAssignment",
"src": "32417:25:18",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "32440:1:18"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "32422:17:18"
},
"nodeType": "YulFunctionCall",
"src": "32422:20:18"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "32417:1:18"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "32464:22:18",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "32466:16:18"
},
"nodeType": "YulFunctionCall",
"src": "32466:18:18"
},
"nodeType": "YulExpressionStatement",
"src": "32466:18:18"
}
]
},
"condition": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "32458:1:18"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "32461:1:18"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "32455:2:18"
},
"nodeType": "YulFunctionCall",
"src": "32455:8:18"
},
"nodeType": "YulIf",
"src": "32452:34:18"
},
{
"nodeType": "YulAssignment",
"src": "32496:17:18",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "32508:1:18"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "32511:1:18"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "32504:3:18"
},
"nodeType": "YulFunctionCall",
"src": "32504:9:18"
},
"variableNames": [
{
"name": "diff",
"nodeType": "YulIdentifier",
"src": "32496:4:18"
}
]
}
]
},
"name": "checked_sub_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "32359:1:18",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "32362:1:18",
"type": ""
}
],
"returnVariables": [
{
"name": "diff",
"nodeType": "YulTypedName",
"src": "32368:4:18",
"type": ""
}
],
"src": "32328:191:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "32573:300:18",
"statements": [
{
"nodeType": "YulAssignment",
"src": "32583:25:18",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "32606:1:18"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "32588:17:18"
},
"nodeType": "YulFunctionCall",
"src": "32588:20:18"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "32583:1:18"
}
]
},
{
"nodeType": "YulAssignment",
"src": "32617:25:18",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "32640:1:18"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "32622:17:18"
},
"nodeType": "YulFunctionCall",
"src": "32622:20:18"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "32617:1:18"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "32815:22:18",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "32817:16:18"
},
"nodeType": "YulFunctionCall",
"src": "32817:18:18"
},
"nodeType": "YulExpressionStatement",
"src": "32817:18:18"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "32727:1:18"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "32720:6:18"
},
"nodeType": "YulFunctionCall",
"src": "32720:9:18"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "32713:6:18"
},
"nodeType": "YulFunctionCall",
"src": "32713:17:18"
},
{
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "32735:1:18"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "32742:66:18",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
},
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "32810:1:18"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "32738:3:18"
},
"nodeType": "YulFunctionCall",
"src": "32738:74:18"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "32732:2:18"
},
"nodeType": "YulFunctionCall",
"src": "32732:81:18"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "32709:3:18"
},
"nodeType": "YulFunctionCall",
"src": "32709:105:18"
},
"nodeType": "YulIf",
"src": "32706:131:18"
},
{
"nodeType": "YulAssignment",
"src": "32847:20:18",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "32862:1:18"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "32865:1:18"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "32858:3:18"
},
"nodeType": "YulFunctionCall",
"src": "32858:9:18"
},
"variableNames": [
{
"name": "product",
"nodeType": "YulIdentifier",
"src": "32847:7:18"
}
]
}
]
},
"name": "checked_mul_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "32556:1:18",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "32559:1:18",
"type": ""
}
],
"returnVariables": [
{
"name": "product",
"nodeType": "YulTypedName",
"src": "32565:7:18",
"type": ""
}
],
"src": "32525:348:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "32907:152:18",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "32924:1:18",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "32927:77:18",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "32917:6:18"
},
"nodeType": "YulFunctionCall",
"src": "32917:88:18"
},
"nodeType": "YulExpressionStatement",
"src": "32917:88:18"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "33021:1:18",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "33024:4:18",
"type": "",
"value": "0x32"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "33014:6:18"
},
"nodeType": "YulFunctionCall",
"src": "33014:15:18"
},
"nodeType": "YulExpressionStatement",
"src": "33014:15:18"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "33045:1:18",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "33048:4:18",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "33038:6:18"
},
"nodeType": "YulFunctionCall",
"src": "33038:15:18"
},
"nodeType": "YulExpressionStatement",
"src": "33038:15:18"
}
]
},
"name": "panic_error_0x32",
"nodeType": "YulFunctionDefinition",
"src": "32879:180:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "33108:128:18",
"statements": [
{
"nodeType": "YulAssignment",
"src": "33118:33:18",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "33145:5:18"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "33127:17:18"
},
"nodeType": "YulFunctionCall",
"src": "33127:24:18"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "33118:5:18"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "33179:22:18",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "33181:16:18"
},
"nodeType": "YulFunctionCall",
"src": "33181:18:18"
},
"nodeType": "YulExpressionStatement",
"src": "33181:18:18"
}
]
},
"condition": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "33166:5:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "33173:4:18",
"type": "",
"value": "0x00"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "33163:2:18"
},
"nodeType": "YulFunctionCall",
"src": "33163:15:18"
},
"nodeType": "YulIf",
"src": "33160:41:18"
},
{
"nodeType": "YulAssignment",
"src": "33210:20:18",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "33221:5:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "33228:1:18",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "33217:3:18"
},
"nodeType": "YulFunctionCall",
"src": "33217:13:18"
},
"variableNames": [
{
"name": "ret",
"nodeType": "YulIdentifier",
"src": "33210:3:18"
}
]
}
]
},
"name": "decrement_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "33094:5:18",
"type": ""
}
],
"returnVariables": [
{
"name": "ret",
"nodeType": "YulTypedName",
"src": "33104:3:18",
"type": ""
}
],
"src": "33065:171:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "33348:76:18",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "33370:6:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "33378:1:18",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "33366:3:18"
},
"nodeType": "YulFunctionCall",
"src": "33366:14:18"
},
{
"hexValue": "537472696e67733a20686578206c656e67746820696e73756666696369656e74",
"kind": "string",
"nodeType": "YulLiteral",
"src": "33382:34:18",
"type": "",
"value": "Strings: hex length insufficient"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "33359:6:18"
},
"nodeType": "YulFunctionCall",
"src": "33359:58:18"
},
"nodeType": "YulExpressionStatement",
"src": "33359:58:18"
}
]
},
"name": "store_literal_in_memory_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "33340:6:18",
"type": ""
}
],
"src": "33242:182:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "33576:220:18",
"statements": [
{
"nodeType": "YulAssignment",
"src": "33586:74:18",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "33652:3:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "33657:2:18",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "33593:58:18"
},
"nodeType": "YulFunctionCall",
"src": "33593:67:18"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "33586:3:18"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "33758:3:18"
}
],
"functionName": {
"name": "store_literal_in_memory_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2",
"nodeType": "YulIdentifier",
"src": "33669:88:18"
},
"nodeType": "YulFunctionCall",
"src": "33669:93:18"
},
"nodeType": "YulExpressionStatement",
"src": "33669:93:18"
},
{
"nodeType": "YulAssignment",
"src": "33771:19:18",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "33782:3:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "33787:2:18",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "33778:3:18"
},
"nodeType": "YulFunctionCall",
"src": "33778:12:18"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "33771:3:18"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "33564:3:18",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "33572:3:18",
"type": ""
}
],
"src": "33430:366:18"
},
{
"body": {
"nodeType": "YulBlock",
"src": "33973:248:18",
"statements": [
{
"nodeType": "YulAssignment",
"src": "33983:26:18",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "33995:9:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "34006:2:18",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "33991:3:18"
},
"nodeType": "YulFunctionCall",
"src": "33991:18:18"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "33983:4:18"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "34030:9:18"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "34041:1:18",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "34026:3:18"
},
"nodeType": "YulFunctionCall",
"src": "34026:17:18"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "34049:4:18"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "34055:9:18"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "34045:3:18"
},
"nodeType": "YulFunctionCall",
"src": "34045:20:18"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "34019:6:18"
},
"nodeType": "YulFunctionCall",
"src": "34019:47:18"
},
"nodeType": "YulExpressionStatement",
"src": "34019:47:18"
},
{
"nodeType": "YulAssignment",
"src": "34075:139:18",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "34209:4:18"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "34083:124:18"
},
"nodeType": "YulFunctionCall",
"src": "34083:131:18"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "34075:4:18"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "33953:9:18",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "33968:4:18",
"type": ""
}
],
"src": "33802:419:18"
}
]
},
"contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_bytes4(value) -> cleaned {\n cleaned := and(value, 0xffffffff00000000000000000000000000000000000000000000000000000000)\n }\n\n function validator_revert_t_bytes4(value) {\n if iszero(eq(value, cleanup_t_bytes4(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bytes4(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_bytes4(value)\n }\n\n function abi_decode_tuple_t_bytes4(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bytes4(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bool_to_t_bool_fromStack(value0, add(headStart, 0))\n\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function copy_memory_to_memory(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n if gt(i, length)\n {\n // clear end\n mstore(add(dst, length), 0)\n }\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0, tail)\n\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_decode_tuple_t_addresst_addresst_uint256(headStart, dataEnd) -> value0, value1, value2 {\n if slt(sub(dataEnd, headStart), 96) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_bytes32(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_bytes32(value) {\n if iszero(eq(value, cleanup_t_bytes32(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bytes32(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_bytes32(value)\n }\n\n function abi_decode_tuple_t_bytes32(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bytes32(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_bytes32_to_t_bytes32_fromStack(value, pos) {\n mstore(pos, cleanup_t_bytes32(value))\n }\n\n function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_decode_tuple_t_bytes32t_address(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bytes32(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_uint8(value) -> cleaned {\n cleaned := and(value, 0xff)\n }\n\n function abi_encode_t_uint8_to_t_uint8_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint8(value))\n }\n\n function abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint8_to_t_uint8_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_decode_tuple_t_addresst_address(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function array_allocation_size_t_string_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function copy_calldata_to_memory(src, dst, length) {\n calldatacopy(dst, src, length)\n // clear end\n mstore(add(dst, length), 0)\n }\n\n function abi_decode_available_length_t_string_memory_ptr(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_string_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_calldata_to_memory(src, dst, length)\n }\n\n // string\n function abi_decode_t_string_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_string_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_string_memory_ptrt_address(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_string_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function store_literal_in_memory_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b(memPtr) {\n\n mstore(add(memPtr, 0), \"AccessControl: can only renounce\")\n\n mstore(add(memPtr, 32), \" roles for self\")\n\n }\n\n function abi_encode_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 47)\n store_literal_in_memory_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function checked_add_t_uint256(x, y) -> sum {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n // overflow, if x > (maxValue - y)\n if gt(x, sub(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, y)) { panic_error_0x11() }\n\n sum := add(x, y)\n }\n\n function store_literal_in_memory_71abfcf6e817aaed3ce6663958bac2a3a82999ed0036c98a95b29f350f04cedf(memPtr) {\n\n mstore(add(memPtr, 0), \"Caller is not a minter\")\n\n }\n\n function abi_encode_t_stringliteral_71abfcf6e817aaed3ce6663958bac2a3a82999ed0036c98a95b29f350f04cedf_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 22)\n store_literal_in_memory_71abfcf6e817aaed3ce6663958bac2a3a82999ed0036c98a95b29f350f04cedf(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_71abfcf6e817aaed3ce6663958bac2a3a82999ed0036c98a95b29f350f04cedf__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_71abfcf6e817aaed3ce6663958bac2a3a82999ed0036c98a95b29f350f04cedf_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe(memPtr) {\n\n mstore(add(memPtr, 0), \"Ownable: caller is not the owner\")\n\n }\n\n function abi_encode_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 32)\n store_literal_in_memory_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_05bd143622d9cbc2737a735ac8d6fd7f3fb6a605c97e0f384e56341e945c7092(memPtr) {\n\n mstore(add(memPtr, 0), \"Caller is not a Burner\")\n\n }\n\n function abi_encode_t_stringliteral_05bd143622d9cbc2737a735ac8d6fd7f3fb6a605c97e0f384e56341e945c7092_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 22)\n store_literal_in_memory_05bd143622d9cbc2737a735ac8d6fd7f3fb6a605c97e0f384e56341e945c7092(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_05bd143622d9cbc2737a735ac8d6fd7f3fb6a605c97e0f384e56341e945c7092__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_05bd143622d9cbc2737a735ac8d6fd7f3fb6a605c97e0f384e56341e945c7092_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC20: decreased allowance below\")\n\n mstore(add(memPtr, 32), \" zero\")\n\n }\n\n function abi_encode_t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 37)\n store_literal_in_memory_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length) -> updated_pos {\n updated_pos := pos\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, length)\n }\n\n function abi_encode_tuple_packed_t_string_memory_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value0) -> end {\n\n pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value0, pos)\n\n end := pos\n }\n\n function store_literal_in_memory_c838d3416aebb19f108311ea2534f659467f5f471e6c30a013843b4884b77b01(memPtr) {\n\n mstore(add(memPtr, 0), \"ModifiedAccessControl: cannot re\")\n\n mstore(add(memPtr, 32), \"voke default admin role\")\n\n }\n\n function abi_encode_t_stringliteral_c838d3416aebb19f108311ea2534f659467f5f471e6c30a013843b4884b77b01_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 55)\n store_literal_in_memory_c838d3416aebb19f108311ea2534f659467f5f471e6c30a013843b4884b77b01(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_c838d3416aebb19f108311ea2534f659467f5f471e6c30a013843b4884b77b01__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_c838d3416aebb19f108311ea2534f659467f5f471e6c30a013843b4884b77b01_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_c3de17076b778f8e8b3081777daf30267c7cd1cb344888fabcd2de4a66a78503(memPtr) {\n\n mstore(add(memPtr, 0), \"Couldn't find this address in th\")\n\n mstore(add(memPtr, 32), \"e roles. \")\n\n }\n\n function abi_encode_t_stringliteral_c3de17076b778f8e8b3081777daf30267c7cd1cb344888fabcd2de4a66a78503_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 41)\n store_literal_in_memory_c3de17076b778f8e8b3081777daf30267c7cd1cb344888fabcd2de4a66a78503(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_c3de17076b778f8e8b3081777daf30267c7cd1cb344888fabcd2de4a66a78503__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_c3de17076b778f8e8b3081777daf30267c7cd1cb344888fabcd2de4a66a78503_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe(memPtr) {\n\n mstore(add(memPtr, 0), \"Ownable: new owner is the zero a\")\n\n mstore(add(memPtr, 32), \"ddress\")\n\n }\n\n function abi_encode_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 38)\n store_literal_in_memory_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC20: approve from the zero add\")\n\n mstore(add(memPtr, 32), \"ress\")\n\n }\n\n function abi_encode_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 36)\n store_literal_in_memory_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC20: approve to the zero addre\")\n\n mstore(add(memPtr, 32), \"ss\")\n\n }\n\n function abi_encode_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 34)\n store_literal_in_memory_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC20: insufficient allowance\")\n\n }\n\n function abi_encode_t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 29)\n store_literal_in_memory_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC20: transfer from the zero ad\")\n\n mstore(add(memPtr, 32), \"dress\")\n\n }\n\n function abi_encode_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 37)\n store_literal_in_memory_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC20: transfer to the zero addr\")\n\n mstore(add(memPtr, 32), \"ess\")\n\n }\n\n function abi_encode_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 35)\n store_literal_in_memory_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC20: transfer amount exceeds b\")\n\n mstore(add(memPtr, 32), \"alance\")\n\n }\n\n function abi_encode_t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 38)\n store_literal_in_memory_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874(memPtr) {\n\n mstore(add(memPtr, 0), \"AccessControl: account \")\n\n }\n\n function abi_encode_t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874_to_t_string_memory_ptr_nonPadded_inplace_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, 23)\n store_literal_in_memory_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874(pos)\n end := add(pos, 23)\n }\n\n function store_literal_in_memory_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69(memPtr) {\n\n mstore(add(memPtr, 0), \" is missing role \")\n\n }\n\n function abi_encode_t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_to_t_string_memory_ptr_nonPadded_inplace_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, 17)\n store_literal_in_memory_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69(pos)\n end := add(pos, 17)\n }\n\n function abi_encode_tuple_packed_t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874_t_string_memory_ptr_t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value1, value0) -> end {\n\n pos := abi_encode_t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value0, pos)\n\n pos := abi_encode_t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value1, pos)\n\n end := pos\n }\n\n function store_literal_in_memory_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC20: mint to the zero address\")\n\n }\n\n function abi_encode_t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 31)\n store_literal_in_memory_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC20: burn from the zero addres\")\n\n mstore(add(memPtr, 32), \"s\")\n\n }\n\n function abi_encode_t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 33)\n store_literal_in_memory_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC20: burn amount exceeds balan\")\n\n mstore(add(memPtr, 32), \"ce\")\n\n }\n\n function abi_encode_t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 34)\n store_literal_in_memory_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function checked_sub_t_uint256(x, y) -> diff {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n if lt(x, y) { panic_error_0x11() }\n\n diff := sub(x, y)\n }\n\n function checked_mul_t_uint256(x, y) -> product {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n // overflow, if x != 0 and y > (maxValue / x)\n if and(iszero(iszero(x)), gt(y, div(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, x))) { panic_error_0x11() }\n\n product := mul(x, y)\n }\n\n function panic_error_0x32() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n\n function decrement_t_uint256(value) -> ret {\n value := cleanup_t_uint256(value)\n if eq(value, 0x00) { panic_error_0x11() }\n ret := sub(value, 1)\n }\n\n function store_literal_in_memory_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2(memPtr) {\n\n mstore(add(memPtr, 0), \"Strings: hex length insufficient\")\n\n }\n\n function abi_encode_t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 32)\n store_literal_in_memory_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n}\n",
"id": 18,
"language": "Yul",
"name": "#utility.yul"
}
],
"sourceMap": "196:1667:4:-:0;;;416:174;;;;;;;;;;1978:113:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2052:5;2044;:13;;;;;;;;;;;;:::i;:::-;;2077:7;2067;:17;;;;;;;;;;;;:::i;:::-;;1978:113;;921:32:7;940:12;:10;;;:12;;:::i;:::-;921:18;;;:32;;:::i;:::-;477:54:4::1;483:10;518;:8;;;:10;;:::i;:::-;510:19;;506:2;:23;;;;:::i;:::-;495:7;:35;;;;:::i;:::-;477:5;;;:54;;:::i;:::-;541:42;2072:4:5;552:18:4::0;::::1;572:10;541;;;:42;;:::i;:::-;196:1667:::0;;640:96:13;693:7;719:10;712:17;;640:96;:::o;2270:187:7:-;2343:16;2362:6;;;;;;;;;;;2343:25;;2387:8;2378:6;;:17;;;;;;;;;;;;;;;;;;2441:8;2410:40;;2431:8;2410:40;;;;;;;;;;;;2333:124;2270:187;:::o;3093:91:10:-;3151:5;3175:2;3168:9;;3093:91;:::o;8415:389::-;8517:1;8498:21;;:7;:21;;;;8490:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;8566:49;8595:1;8599:7;8608:6;8566:20;;;:49;;:::i;:::-;8642:6;8626:12;;:22;;;;;;;:::i;:::-;;;;;;;;8680:6;8658:9;:18;8668:7;8658:18;;;;;;;;;;;;;;;;:28;;;;;;;:::i;:::-;;;;;;;;8722:7;8701:37;;8718:1;8701:37;;;8731:6;8701:37;;;;;;:::i;:::-;;;;;;;;8749:48;8777:1;8781:7;8790:6;8749:19;;;:48;;:::i;:::-;8415:389;;:::o;6257:110:5:-;6335:25;6346:4;6352:7;6335:10;;;:25;;:::i;:::-;6257:110;;:::o;11795:121:10:-;;;;:::o;12504:120::-;;;;:::o;6861:233:5:-;6944:22;6952:4;6958:7;6944;;;:22;;:::i;:::-;6939:149;;7014:4;6982:6;:12;6989:4;6982:12;;;;;;;;;;;:20;;:29;7003:7;6982:29;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;7064:12;:10;;;:12;;:::i;:::-;7037:40;;7055:7;7037:40;;7049:4;7037:40;;;;;;;;;;6939:149;6861:233;;:::o;2909:145::-;2995:4;3018:6;:12;3025:4;3018:12;;;;;;;;;;;:20;;:29;3039:7;3018:29;;;;;;;;;;;;;;;;;;;;;;;;;3011:36;;2909:145;;;;:::o;196:1667:4:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:180:18:-;55:77;52:1;45:88;152:4;149:1;142:15;176:4;173:1;166:15;193:102;235:8;282:5;279:1;275:13;254:34;;193:102;;;:::o;301:848::-;362:5;369:4;393:6;384:15;;417:5;408:14;;431:712;452:1;442:8;439:15;431:712;;;547:4;542:3;538:14;532:4;529:24;526:50;;;556:18;;:::i;:::-;526:50;606:1;596:8;592:16;589:451;;;1021:4;1014:5;1010:16;1001:25;;589:451;1071:4;1065;1061:15;1053:23;;1101:32;1124:8;1101:32;:::i;:::-;1089:44;;431:712;;;301:848;;;;;;;:::o;1155:1073::-;1209:5;1400:8;1390:40;;1421:1;1412:10;;1423:5;;1390:40;1449:4;1439:36;;1466:1;1457:10;;1468:5;;1439:36;1535:4;1583:1;1578:27;;;;1619:1;1614:191;;;;1528:277;;1578:27;1596:1;1587:10;;1598:5;;;1614:191;1659:3;1649:8;1646:17;1643:43;;;1666:18;;:::i;:::-;1643:43;1715:8;1712:1;1708:16;1699:25;;1750:3;1743:5;1740:14;1737:40;;;1757:18;;:::i;:::-;1737:40;1790:5;;;1528:277;;1914:2;1904:8;1901:16;1895:3;1889:4;1886:13;1882:36;1864:2;1854:8;1851:16;1846:2;1840:4;1837:12;1833:35;1817:111;1814:246;;;1970:8;1964:4;1960:19;1951:28;;2005:3;1998:5;1995:14;1992:40;;;2012:18;;:::i;:::-;1992:40;2045:5;;1814:246;2085:42;2123:3;2113:8;2107:4;2104:1;2085:42;:::i;:::-;2070:57;;;;2159:4;2154:3;2150:14;2143:5;2140:25;2137:51;;;2168:18;;:::i;:::-;2137:51;2217:4;2210:5;2206:16;2197:25;;1155:1073;;;;;;:::o;2234:77::-;2271:7;2300:5;2289:16;;2234:77;;;:::o;2317:285::-;2377:5;2401:23;2419:4;2401:23;:::i;:::-;2393:31;;2445:27;2463:8;2445:27;:::i;:::-;2433:39;;2491:104;2528:66;2518:8;2512:4;2491:104;:::i;:::-;2482:113;;2317:285;;;;:::o;2608:348::-;2648:7;2671:20;2689:1;2671:20;:::i;:::-;2666:25;;2705:20;2723:1;2705:20;:::i;:::-;2700:25;;2893:1;2825:66;2821:74;2818:1;2815:81;2810:1;2803:9;2796:17;2792:105;2789:131;;;2900:18;;:::i;:::-;2789:131;2948:1;2945;2941:9;2930:20;;2608:348;;;;:::o;2962:169::-;3046:11;3080:6;3075:3;3068:19;3120:4;3115:3;3111:14;3096:29;;2962:169;;;;:::o;3137:181::-;3277:33;3273:1;3265:6;3261:14;3254:57;3137:181;:::o;3324:366::-;3466:3;3487:67;3551:2;3546:3;3487:67;:::i;:::-;3480:74;;3563:93;3652:3;3563:93;:::i;:::-;3681:2;3676:3;3672:12;3665:19;;3324:366;;;:::o;3696:419::-;3862:4;3900:2;3889:9;3885:18;3877:26;;3949:9;3943:4;3939:20;3935:1;3924:9;3920:17;3913:47;3977:131;4103:4;3977:131;:::i;:::-;3969:139;;3696:419;;;:::o;4121:305::-;4161:3;4180:20;4198:1;4180:20;:::i;:::-;4175:25;;4214:20;4232:1;4214:20;:::i;:::-;4209:25;;4368:1;4300:66;4296:74;4293:1;4290:81;4287:107;;;4374:18;;:::i;:::-;4287:107;4418:1;4415;4411:9;4404:16;;4121:305;;;;:::o;4432:118::-;4519:24;4537:5;4519:24;:::i;:::-;4514:3;4507:37;4432:118;;:::o;4556:222::-;4649:4;4687:2;4676:9;4672:18;4664:26;;4700:71;4768:1;4757:9;4753:17;4744:6;4700:71;:::i;:::-;4556:222;;;;:::o;4784:180::-;4832:77;4829:1;4822:88;4929:4;4926:1;4919:15;4953:4;4950:1;4943:15;4970:320;5014:6;5051:1;5045:4;5041:12;5031:22;;5098:1;5092:4;5088:12;5119:18;5109:81;;5175:4;5167:6;5163:17;5153:27;;5109:81;5237:2;5229:6;5226:14;5206:18;5203:38;5200:84;;;5256:18;;:::i;:::-;5200:84;5021:269;4970:320;;;:::o;196:1667:4:-;;;;;;;",
"deployedSourceMap": "196:1667:4:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2620:202:5;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2156:98:10;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4433:197;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;341:31:4;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3244:106:10;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5192:286;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4008:129:5;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;378:31:4;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4387:145:5;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3093:91:10;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5404:214:5;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5873:236:10;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1217:317:4;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3408:125:10;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1668:101:7;;;:::i;:::-;;250:84:4;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1036:85:7;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2909:145:5;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;596:139:4;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2367:102:10;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1540:321:4;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2027:49:5;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6596:429:10;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3729:189;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4766:147:5;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3976:149:10;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;741:470:4;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1918:198:7;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2620:202:5;2705:4;2743:32;2728:47;;;:11;:47;;;;:87;;;;2779:36;2803:11;2779:23;:36::i;:::-;2728:87;2721:94;;2620:202;;;:::o;2156:98:10:-;2210:13;2242:5;2235:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2156:98;:::o;4433:197::-;4516:4;4532:13;4548:12;:10;:12::i;:::-;4532:28;;4570:32;4579:5;4586:7;4595:6;4570:8;:32::i;:::-;4619:4;4612:11;;;4433:197;;;;:::o;341:31:4:-;;;;:::o;3244:106:10:-;3305:7;3331:12;;3324:19;;3244:106;:::o;5192:286::-;5319:4;5335:15;5353:12;:10;:12::i;:::-;5335:30;;5375:38;5391:4;5397:7;5406:6;5375:15;:38::i;:::-;5423:27;5433:4;5439:2;5443:6;5423:9;:27::i;:::-;5467:4;5460:11;;;5192:286;;;;;:::o;4008:129:5:-;4082:7;4108:6;:12;4115:4;4108:12;;;;;;;;;;;:22;;;4101:29;;4008:129;;;:::o;378:31:4:-;;;;:::o;4387:145:5:-;4470:18;4483:4;4470:12;:18::i;:::-;2505:30;2516:4;2522:12;:10;:12::i;:::-;2505:10;:30::i;:::-;4500:25:::1;4511:4;4517:7;4500:10;:25::i;:::-;4387:145:::0;;;:::o;3093:91:10:-;3151:5;3175:2;3168:9;;3093:91;:::o;5404:214:5:-;5510:12;:10;:12::i;:::-;5499:23;;:7;:23;;;5491:83;;;;;;;;;;;;:::i;:::-;;;;;;;;;5585:26;5597:4;5603:7;5585:11;:26::i;:::-;5404:214;;:::o;5873:236:10:-;5961:4;5977:13;5993:12;:10;:12::i;:::-;5977:28;;6015:66;6024:5;6031:7;6070:10;6040:11;:18;6052:5;6040:18;;;;;;;;;;;;;;;:27;6059:7;6040:27;;;;;;;;;;;;;;;;:40;;;;:::i;:::-;6015:8;:66::i;:::-;6098:4;6091:11;;;5873:236;;;;:::o;1217:317:4:-;1359:39;303:31;1387:10;1359:7;:39::i;:::-;1338:108;;;;;;;;;;;;:::i;:::-;;;;;;;;;1456:17;1462:2;1466:6;1456:5;:17::i;:::-;1521:6;1502:16;;:25;;;;:::i;:::-;1483:16;:44;;;;1217:317;;:::o;3408:125:10:-;3482:7;3508:9;:18;3518:7;3508:18;;;;;;;;;;;;;;;;3501:25;;3408:125;;;:::o;1668:101:7:-;1259:12;:10;:12::i;:::-;1248:23;;:7;:5;:7::i;:::-;:23;;;1240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1732:30:::1;1759:1;1732:18;:30::i;:::-;1668:101::o:0;250:84:4:-;303:31;250:84;:::o;1036:85:7:-;1082:7;1108:6;;;;;;;;;;;1101:13;;1036:85;:::o;2909:145:5:-;2995:4;3018:6;:12;3025:4;3018:12;;;;;;;;;;;:20;;:29;3039:7;3018:29;;;;;;;;;;;;;;;;;;;;;;;;;3011:36;;2909:145;;;;:::o;596:139:4:-;1259:12:7;:10;:12::i;:::-;1248:23;;:7;:5;:7::i;:::-;:23;;;1240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;677:51:4::1;303:31;708:19;677:10;:51::i;:::-;596:139:::0;:::o;2367:102:10:-;2423:13;2455:7;2448:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2367:102;:::o;1540:321:4:-;1684:39;303:31;1712:10;1684:7;:39::i;:::-;1663:108;;;;;;;;;;;;:::i;:::-;;;;;;;;;1781:19;1787:4;1793:6;1781:5;:19::i;:::-;1848:6;1829:16;;:25;;;;:::i;:::-;1810:16;:44;;;;1540:321;;:::o;2027:49:5:-;2072:4;2027:49;;;:::o;6596:429:10:-;6689:4;6705:13;6721:12;:10;:12::i;:::-;6705:28;;6743:24;6770:11;:18;6782:5;6770:18;;;;;;;;;;;;;;;:27;6789:7;6770:27;;;;;;;;;;;;;;;;6743:54;;6835:15;6815:16;:35;;6807:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;6926:60;6935:5;6942:7;6970:15;6951:16;:34;6926:8;:60::i;:::-;7014:4;7007:11;;;;6596:429;;;;:::o;3729:189::-;3808:4;3824:13;3840:12;:10;:12::i;:::-;3824:28;;3862;3872:5;3879:2;3883:6;3862:9;:28::i;:::-;3907:4;3900:11;;;3729:189;;;;:::o;4766:147:5:-;4850:18;4863:4;4850:12;:18::i;:::-;2505:30;2516:4;2522:12;:10;:12::i;:::-;2505:10;:30::i;:::-;4880:26:::1;4892:4;4898:7;4880:11;:26::i;:::-;4766:147:::0;;;:::o;3976:149:10:-;4065:7;4091:11;:18;4103:5;4091:18;;;;;;;;;;;;;;;:27;4110:7;4091:27;;;;;;;;;;;;;;;;4084:34;;3976:149;;;;:::o;741:470:4:-;1259:12:7;:10;:12::i;:::-;1248:23;;:7;:5;:7::i;:::-;:23;;;1240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;847:16:4::1;893:4;876:22;;;;;;;;:::i;:::-;;;;;;;;;;;;;866:33;;;;;;847:52;;2072:4:5;942:18:4::0;::::1;930:8;:30;;909:132;;;;;;;;;;;;:::i;:::-;;;;;;;;;1072:26;1080:8;1090:7;1072;:26::i;:::-;1051:114;;;;;;;;;;;;:::i;:::-;;;;;;;;;1175:29;1186:8;1196:7;1175:10;:29::i;:::-;837:374;741:470:::0;;:::o;1918:198:7:-;1259:12;:10;:12::i;:::-;1248:23;;:7;:5;:7::i;:::-;:23;;;1240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2026:1:::1;2006:22;;:8;:22;;;;1998:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;2081:28;2100:8;2081:18;:28::i;:::-;1918:198:::0;:::o;829:155:15:-;914:4;952:25;937:40;;;:11;:40;;;;930:47;;829:155;;;:::o;640:96:13:-;693:7;719:10;712:17;;640:96;:::o;10123:370:10:-;10271:1;10254:19;;:5;:19;;;;10246:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10351:1;10332:21;;:7;:21;;;;10324:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10433:6;10403:11;:18;10415:5;10403:18;;;;;;;;;;;;;;;:27;10422:7;10403:27;;;;;;;;;;;;;;;:36;;;;10470:7;10454:32;;10463:5;10454:32;;;10479:6;10454:32;;;;;;:::i;:::-;;;;;;;;10123:370;;;:::o;10770:441::-;10900:24;10927:25;10937:5;10944:7;10927:9;:25::i;:::-;10900:52;;10986:17;10966:16;:37;10962:243;;11047:6;11027:16;:26;;11019:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11129:51;11138:5;11145:7;11173:6;11154:16;:25;11129:8;:51::i;:::-;10962:243;10890:321;10770:441;;;:::o;7488:651::-;7630:1;7614:18;;:4;:18;;;;7606:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7706:1;7692:16;;:2;:16;;;;7684:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7759:38;7780:4;7786:2;7790:6;7759:20;:38::i;:::-;7808:19;7830:9;:15;7840:4;7830:15;;;;;;;;;;;;;;;;7808:37;;7878:6;7863:11;:21;;7855:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;7993:6;7979:11;:20;7961:9;:15;7971:4;7961:15;;;;;;;;;;;;;;;:38;;;;8036:6;8019:9;:13;8029:2;8019:13;;;;;;;;;;;;;;;;:23;;;;;;;:::i;:::-;;;;;;;;8073:2;8058:26;;8067:4;8058:26;;;8077:6;8058:26;;;;;;:::i;:::-;;;;;;;;8095:37;8115:4;8121:2;8125:6;8095:19;:37::i;:::-;7596:543;7488:651;;;:::o;3335:492:5:-;3423:22;3431:4;3437:7;3423;:22::i;:::-;3418:403;;3606:41;3634:7;3606:41;;3644:2;3606:19;:41::i;:::-;3718:38;3746:4;3738:13;;3753:2;3718:19;:38::i;:::-;3513:265;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3461:349;;;;;;;;;;;:::i;:::-;;;;;;;;3418:403;3335:492;;:::o;6861:233::-;6944:22;6952:4;6958:7;6944;:22::i;:::-;6939:149;;7014:4;6982:6;:12;6989:4;6982:12;;;;;;;;;;;:20;;:29;7003:7;6982:29;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;7064:12;:10;:12::i;:::-;7037:40;;7055:7;7037:40;;7049:4;7037:40;;;;;;;;;;6939:149;6861:233;;:::o;7219:234::-;7302:22;7310:4;7316:7;7302;:22::i;:::-;7298:149;;;7372:5;7340:6;:12;7347:4;7340:12;;;;;;;;;;;:20;;:29;7361:7;7340:29;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;7423:12;:10;:12::i;:::-;7396:40;;7414:7;7396:40;;7408:4;7396:40;;;;;;;;;;7298:149;7219:234;;:::o;8415:389:10:-;8517:1;8498:21;;:7;:21;;;;8490:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;8566:49;8595:1;8599:7;8608:6;8566:20;:49::i;:::-;8642:6;8626:12;;:22;;;;;;;:::i;:::-;;;;;;;;8680:6;8658:9;:18;8668:7;8658:18;;;;;;;;;;;;;;;;:28;;;;;;;:::i;:::-;;;;;;;;8722:7;8701:37;;8718:1;8701:37;;;8731:6;8701:37;;;;;;:::i;:::-;;;;;;;;8749:48;8777:1;8781:7;8790:6;8749:19;:48::i;:::-;8415:389;;:::o;2270:187:7:-;2343:16;2362:6;;;;;;;;;;;2343:25;;2387:8;2378:6;;:17;;;;;;;;;;;;;;;;;;2441:8;2410:40;;2431:8;2410:40;;;;;;;;;;;;2333:124;2270:187;:::o;6257:110:5:-;6335:25;6346:4;6352:7;6335:10;:25::i;:::-;6257:110;;:::o;9124:576:10:-;9226:1;9207:21;;:7;:21;;;;9199:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9277:49;9298:7;9315:1;9319:6;9277:20;:49::i;:::-;9337:22;9362:9;:18;9372:7;9362:18;;;;;;;;;;;;;;;;9337:43;;9416:6;9398:14;:24;;9390:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;9533:6;9516:14;:23;9495:9;:18;9505:7;9495:18;;;;;;;;;;;;;;;:44;;;;9575:6;9559:12;;:22;;;;;;;:::i;:::-;;;;;;;;9623:1;9597:37;;9606:7;9597:37;;;9627:6;9597:37;;;;;;:::i;:::-;;;;;;;;9645:48;9665:7;9682:1;9686:6;9645:19;:48::i;:::-;9189:511;9124:576;;:::o;11795:121::-;;;;:::o;12504:120::-;;;;:::o;1588:441:14:-;1663:13;1688:19;1733:1;1724:6;1720:1;:10;;;;:::i;:::-;:14;;;;:::i;:::-;1710:25;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1688:47;;1745:15;:6;1752:1;1745:9;;;;;;;;:::i;:::-;;;;;:15;;;;;;;;;;;1770;:6;1777:1;1770:9;;;;;;;;:::i;:::-;;;;;:15;;;;;;;;;;;1800:9;1825:1;1816:6;1812:1;:10;;;;:::i;:::-;:14;;;;:::i;:::-;1800:26;;1795:132;1832:1;1828;:5;1795:132;;;1866:12;1887:3;1879:5;:11;1866:25;;;;;;;:::i;:::-;;;;;1854:6;1861:1;1854:9;;;;;;;;:::i;:::-;;;;;:37;;;;;;;;;;;1915:1;1905:11;;;;;1835:3;;;;:::i;:::-;;;1795:132;;;;1953:1;1944:5;:10;1936:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;2015:6;2001:21;;;1588:441;;;;:::o;7:75:18:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:149;370:7;410:66;403:5;399:78;388:89;;334:149;;;:::o;489:120::-;561:23;578:5;561:23;:::i;:::-;554:5;551:34;541:62;;599:1;596;589:12;541:62;489:120;:::o;615:137::-;660:5;698:6;685:20;676:29;;714:32;740:5;714:32;:::i;:::-;615:137;;;;:::o;758:327::-;816:6;865:2;853:9;844:7;840:23;836:32;833:119;;;871:79;;:::i;:::-;833:119;991:1;1016:52;1060:7;1051:6;1040:9;1036:22;1016:52;:::i;:::-;1006:62;;962:116;758:327;;;;:::o;1091:90::-;1125:7;1168:5;1161:13;1154:21;1143:32;;1091:90;;;:::o;1187:109::-;1268:21;1283:5;1268:21;:::i;:::-;1263:3;1256:34;1187:109;;:::o;1302:210::-;1389:4;1427:2;1416:9;1412:18;1404:26;;1440:65;1502:1;1491:9;1487:17;1478:6;1440:65;:::i;:::-;1302:210;;;;:::o;1518:99::-;1570:6;1604:5;1598:12;1588:22;;1518:99;;;:::o;1623:169::-;1707:11;1741:6;1736:3;1729:19;1781:4;1776:3;1772:14;1757:29;;1623:169;;;;:::o;1798:307::-;1866:1;1876:113;1890:6;1887:1;1884:13;1876:113;;;1975:1;1970:3;1966:11;1960:18;1956:1;1951:3;1947:11;1940:39;1912:2;1909:1;1905:10;1900:15;;1876:113;;;2007:6;2004:1;2001:13;1998:101;;;2087:1;2078:6;2073:3;2069:16;2062:27;1998:101;1847:258;1798:307;;;:::o;2111:102::-;2152:6;2203:2;2199:7;2194:2;2187:5;2183:14;2179:28;2169:38;;2111:102;;;:::o;2219:364::-;2307:3;2335:39;2368:5;2335:39;:::i;:::-;2390:71;2454:6;2449:3;2390:71;:::i;:::-;2383:78;;2470:52;2515:6;2510:3;2503:4;2496:5;2492:16;2470:52;:::i;:::-;2547:29;2569:6;2547:29;:::i;:::-;2542:3;2538:39;2531:46;;2311:272;2219:364;;;;:::o;2589:313::-;2702:4;2740:2;2729:9;2725:18;2717:26;;2789:9;2783:4;2779:20;2775:1;2764:9;2760:17;2753:47;2817:78;2890:4;2881:6;2817:78;:::i;:::-;2809:86;;2589:313;;;;:::o;2908:126::-;2945:7;2985:42;2978:5;2974:54;2963:65;;2908:126;;;:::o;3040:96::-;3077:7;3106:24;3124:5;3106:24;:::i;:::-;3095:35;;3040:96;;;:::o;3142:122::-;3215:24;3233:5;3215:24;:::i;:::-;3208:5;3205:35;3195:63;;3254:1;3251;3244:12;3195:63;3142:122;:::o;3270:139::-;3316:5;3354:6;3341:20;3332:29;;3370:33;3397:5;3370:33;:::i;:::-;3270:139;;;;:::o;3415:77::-;3452:7;3481:5;3470:16;;3415:77;;;:::o;3498:122::-;3571:24;3589:5;3571:24;:::i;:::-;3564:5;3561:35;3551:63;;3610:1;3607;3600:12;3551:63;3498:122;:::o;3626:139::-;3672:5;3710:6;3697:20;3688:29;;3726:33;3753:5;3726:33;:::i;:::-;3626:139;;;;:::o;3771:474::-;3839:6;3847;3896:2;3884:9;3875:7;3871:23;3867:32;3864:119;;;3902:79;;:::i;:::-;3864:119;4022:1;4047:53;4092:7;4083:6;4072:9;4068:22;4047:53;:::i;:::-;4037:63;;3993:117;4149:2;4175:53;4220:7;4211:6;4200:9;4196:22;4175:53;:::i;:::-;4165:63;;4120:118;3771:474;;;;;:::o;4251:118::-;4338:24;4356:5;4338:24;:::i;:::-;4333:3;4326:37;4251:118;;:::o;4375:222::-;4468:4;4506:2;4495:9;4491:18;4483:26;;4519:71;4587:1;4576:9;4572:17;4563:6;4519:71;:::i;:::-;4375:222;;;;:::o;4603:619::-;4680:6;4688;4696;4745:2;4733:9;4724:7;4720:23;4716:32;4713:119;;;4751:79;;:::i;:::-;4713:119;4871:1;4896:53;4941:7;4932:6;4921:9;4917:22;4896:53;:::i;:::-;4886:63;;4842:117;4998:2;5024:53;5069:7;5060:6;5049:9;5045:22;5024:53;:::i;:::-;5014:63;;4969:118;5126:2;5152:53;5197:7;5188:6;5177:9;5173:22;5152:53;:::i;:::-;5142:63;;5097:118;4603:619;;;;;:::o;5228:77::-;5265:7;5294:5;5283:16;;5228:77;;;:::o;5311:122::-;5384:24;5402:5;5384:24;:::i;:::-;5377:5;5374:35;5364:63;;5423:1;5420;5413:12;5364:63;5311:122;:::o;5439:139::-;5485:5;5523:6;5510:20;5501:29;;5539:33;5566:5;5539:33;:::i;:::-;5439:139;;;;:::o;5584:329::-;5643:6;5692:2;5680:9;5671:7;5667:23;5663:32;5660:119;;;5698:79;;:::i;:::-;5660:119;5818:1;5843:53;5888:7;5879:6;5868:9;5864:22;5843:53;:::i;:::-;5833:63;;5789:117;5584:329;;;;:::o;5919:118::-;6006:24;6024:5;6006:24;:::i;:::-;6001:3;5994:37;5919:118;;:::o;6043:222::-;6136:4;6174:2;6163:9;6159:18;6151:26;;6187:71;6255:1;6244:9;6240:17;6231:6;6187:71;:::i;:::-;6043:222;;;;:::o;6271:474::-;6339:6;6347;6396:2;6384:9;6375:7;6371:23;6367:32;6364:119;;;6402:79;;:::i;:::-;6364:119;6522:1;6547:53;6592:7;6583:6;6572:9;6568:22;6547:53;:::i;:::-;6537:63;;6493:117;6649:2;6675:53;6720:7;6711:6;6700:9;6696:22;6675:53;:::i;:::-;6665:63;;6620:118;6271:474;;;;;:::o;6751:86::-;6786:7;6826:4;6819:5;6815:16;6804:27;;6751:86;;;:::o;6843:112::-;6926:22;6942:5;6926:22;:::i;:::-;6921:3;6914:35;6843:112;;:::o;6961:214::-;7050:4;7088:2;7077:9;7073:18;7065:26;;7101:67;7165:1;7154:9;7150:17;7141:6;7101:67;:::i;:::-;6961:214;;;;:::o;7181:329::-;7240:6;7289:2;7277:9;7268:7;7264:23;7260:32;7257:119;;;7295:79;;:::i;:::-;7257:119;7415:1;7440:53;7485:7;7476:6;7465:9;7461:22;7440:53;:::i;:::-;7430:63;;7386:117;7181:329;;;;:::o;7516:118::-;7603:24;7621:5;7603:24;:::i;:::-;7598:3;7591:37;7516:118;;:::o;7640:222::-;7733:4;7771:2;7760:9;7756:18;7748:26;;7784:71;7852:1;7841:9;7837:17;7828:6;7784:71;:::i;:::-;7640:222;;;;:::o;7868:474::-;7936:6;7944;7993:2;7981:9;7972:7;7968:23;7964:32;7961:119;;;7999:79;;:::i;:::-;7961:119;8119:1;8144:53;8189:7;8180:6;8169:9;8165:22;8144:53;:::i;:::-;8134:63;;8090:117;8246:2;8272:53;8317:7;8308:6;8297:9;8293:22;8272:53;:::i;:::-;8262:63;;8217:118;7868:474;;;;;:::o;8348:117::-;8457:1;8454;8447:12;8471:117;8580:1;8577;8570:12;8594:180;8642:77;8639:1;8632:88;8739:4;8736:1;8729:15;8763:4;8760:1;8753:15;8780:281;8863:27;8885:4;8863:27;:::i;:::-;8855:6;8851:40;8993:6;8981:10;8978:22;8957:18;8945:10;8942:34;8939:62;8936:88;;;9004:18;;:::i;:::-;8936:88;9044:10;9040:2;9033:22;8823:238;8780:281;;:::o;9067:129::-;9101:6;9128:20;;:::i;:::-;9118:30;;9157:33;9185:4;9177:6;9157:33;:::i;:::-;9067:129;;;:::o;9202:308::-;9264:4;9354:18;9346:6;9343:30;9340:56;;;9376:18;;:::i;:::-;9340:56;9414:29;9436:6;9414:29;:::i;:::-;9406:37;;9498:4;9492;9488:15;9480:23;;9202:308;;;:::o;9516:154::-;9600:6;9595:3;9590;9577:30;9662:1;9653:6;9648:3;9644:16;9637:27;9516:154;;;:::o;9676:412::-;9754:5;9779:66;9795:49;9837:6;9795:49;:::i;:::-;9779:66;:::i;:::-;9770:75;;9868:6;9861:5;9854:21;9906:4;9899:5;9895:16;9944:3;9935:6;9930:3;9926:16;9923:25;9920:112;;;9951:79;;:::i;:::-;9920:112;10041:41;10075:6;10070:3;10065;10041:41;:::i;:::-;9760:328;9676:412;;;;;:::o;10108:340::-;10164:5;10213:3;10206:4;10198:6;10194:17;10190:27;10180:122;;10221:79;;:::i;:::-;10180:122;10338:6;10325:20;10363:79;10438:3;10430:6;10423:4;10415:6;10411:17;10363:79;:::i;:::-;10354:88;;10170:278;10108:340;;;;:::o;10454:654::-;10532:6;10540;10589:2;10577:9;10568:7;10564:23;10560:32;10557:119;;;10595:79;;:::i;:::-;10557:119;10743:1;10732:9;10728:17;10715:31;10773:18;10765:6;10762:30;10759:117;;;10795:79;;:::i;:::-;10759:117;10900:63;10955:7;10946:6;10935:9;10931:22;10900:63;:::i;:::-;10890:73;;10686:287;11012:2;11038:53;11083:7;11074:6;11063:9;11059:22;11038:53;:::i;:::-;11028:63;;10983:118;10454:654;;;;;:::o;11114:180::-;11162:77;11159:1;11152:88;11259:4;11256:1;11249:15;11283:4;11280:1;11273:15;11300:320;11344:6;11381:1;11375:4;11371:12;11361:22;;11428:1;11422:4;11418:12;11449:18;11439:81;;11505:4;11497:6;11493:17;11483:27;;11439:81;11567:2;11559:6;11556:14;11536:18;11533:38;11530:84;;;11586:18;;:::i;:::-;11530:84;11351:269;11300:320;;;:::o;11626:234::-;11766:34;11762:1;11754:6;11750:14;11743:58;11835:17;11830:2;11822:6;11818:15;11811:42;11626:234;:::o;11866:366::-;12008:3;12029:67;12093:2;12088:3;12029:67;:::i;:::-;12022:74;;12105:93;12194:3;12105:93;:::i;:::-;12223:2;12218:3;12214:12;12207:19;;11866:366;;;:::o;12238:419::-;12404:4;12442:2;12431:9;12427:18;12419:26;;12491:9;12485:4;12481:20;12477:1;12466:9;12462:17;12455:47;12519:131;12645:4;12519:131;:::i;:::-;12511:139;;12238:419;;;:::o;12663:180::-;12711:77;12708:1;12701:88;12808:4;12805:1;12798:15;12832:4;12829:1;12822:15;12849:305;12889:3;12908:20;12926:1;12908:20;:::i;:::-;12903:25;;12942:20;12960:1;12942:20;:::i;:::-;12937:25;;13096:1;13028:66;13024:74;13021:1;13018:81;13015:107;;;13102:18;;:::i;:::-;13015:107;13146:1;13143;13139:9;13132:16;;12849:305;;;;:::o;13160:172::-;13300:24;13296:1;13288:6;13284:14;13277:48;13160:172;:::o;13338:366::-;13480:3;13501:67;13565:2;13560:3;13501:67;:::i;:::-;13494:74;;13577:93;13666:3;13577:93;:::i;:::-;13695:2;13690:3;13686:12;13679:19;;13338:366;;;:::o;13710:419::-;13876:4;13914:2;13903:9;13899:18;13891:26;;13963:9;13957:4;13953:20;13949:1;13938:9;13934:17;13927:47;13991:131;14117:4;13991:131;:::i;:::-;13983:139;;13710:419;;;:::o;14135:182::-;14275:34;14271:1;14263:6;14259:14;14252:58;14135:182;:::o;14323:366::-;14465:3;14486:67;14550:2;14545:3;14486:67;:::i;:::-;14479:74;;14562:93;14651:3;14562:93;:::i;:::-;14680:2;14675:3;14671:12;14664:19;;14323:366;;;:::o;14695:419::-;14861:4;14899:2;14888:9;14884:18;14876:26;;14948:9;14942:4;14938:20;14934:1;14923:9;14919:17;14912:47;14976:131;15102:4;14976:131;:::i;:::-;14968:139;;14695:419;;;:::o;15120:172::-;15260:24;15256:1;15248:6;15244:14;15237:48;15120:172;:::o;15298:366::-;15440:3;15461:67;15525:2;15520:3;15461:67;:::i;:::-;15454:74;;15537:93;15626:3;15537:93;:::i;:::-;15655:2;15650:3;15646:12;15639:19;;15298:366;;;:::o;15670:419::-;15836:4;15874:2;15863:9;15859:18;15851:26;;15923:9;15917:4;15913:20;15909:1;15898:9;15894:17;15887:47;15951:131;16077:4;15951:131;:::i;:::-;15943:139;;15670:419;;;:::o;16095:224::-;16235:34;16231:1;16223:6;16219:14;16212:58;16304:7;16299:2;16291:6;16287:15;16280:32;16095:224;:::o;16325:366::-;16467:3;16488:67;16552:2;16547:3;16488:67;:::i;:::-;16481:74;;16564:93;16653:3;16564:93;:::i;:::-;16682:2;16677:3;16673:12;16666:19;;16325:366;;;:::o;16697:419::-;16863:4;16901:2;16890:9;16886:18;16878:26;;16950:9;16944:4;16940:20;16936:1;16925:9;16921:17;16914:47;16978:131;17104:4;16978:131;:::i;:::-;16970:139;;16697:419;;;:::o;17122:148::-;17224:11;17261:3;17246:18;;17122:148;;;;:::o;17276:377::-;17382:3;17410:39;17443:5;17410:39;:::i;:::-;17465:89;17547:6;17542:3;17465:89;:::i;:::-;17458:96;;17563:52;17608:6;17603:3;17596:4;17589:5;17585:16;17563:52;:::i;:::-;17640:6;17635:3;17631:16;17624:23;;17386:267;17276:377;;;;:::o;17659:275::-;17791:3;17813:95;17904:3;17895:6;17813:95;:::i;:::-;17806:102;;17925:3;17918:10;;17659:275;;;;:::o;17940:242::-;18080:34;18076:1;18068:6;18064:14;18057:58;18149:25;18144:2;18136:6;18132:15;18125:50;17940:242;:::o;18188:366::-;18330:3;18351:67;18415:2;18410:3;18351:67;:::i;:::-;18344:74;;18427:93;18516:3;18427:93;:::i;:::-;18545:2;18540:3;18536:12;18529:19;;18188:366;;;:::o;18560:419::-;18726:4;18764:2;18753:9;18749:18;18741:26;;18813:9;18807:4;18803:20;18799:1;18788:9;18784:17;18777:47;18841:131;18967:4;18841:131;:::i;:::-;18833:139;;18560:419;;;:::o;18985:228::-;19125:34;19121:1;19113:6;19109:14;19102:58;19194:11;19189:2;19181:6;19177:15;19170:36;18985:228;:::o;19219:366::-;19361:3;19382:67;19446:2;19441:3;19382:67;:::i;:::-;19375:74;;19458:93;19547:3;19458:93;:::i;:::-;19576:2;19571:3;19567:12;19560:19;;19219:366;;;:::o;19591:419::-;19757:4;19795:2;19784:9;19780:18;19772:26;;19844:9;19838:4;19834:20;19830:1;19819:9;19815:17;19808:47;19872:131;19998:4;19872:131;:::i;:::-;19864:139;;19591:419;;;:::o;20016:225::-;20156:34;20152:1;20144:6;20140:14;20133:58;20225:8;20220:2;20212:6;20208:15;20201:33;20016:225;:::o;20247:366::-;20389:3;20410:67;20474:2;20469:3;20410:67;:::i;:::-;20403:74;;20486:93;20575:3;20486:93;:::i;:::-;20604:2;20599:3;20595:12;20588:19;;20247:366;;;:::o;20619:419::-;20785:4;20823:2;20812:9;20808:18;20800:26;;20872:9;20866:4;20862:20;20858:1;20847:9;20843:17;20836:47;20900:131;21026:4;20900:131;:::i;:::-;20892:139;;20619:419;;;:::o;21044:223::-;21184:34;21180:1;21172:6;21168:14;21161:58;21253:6;21248:2;21240:6;21236:15;21229:31;21044:223;:::o;21273:366::-;21415:3;21436:67;21500:2;21495:3;21436:67;:::i;:::-;21429:74;;21512:93;21601:3;21512:93;:::i;:::-;21630:2;21625:3;21621:12;21614:19;;21273:366;;;:::o;21645:419::-;21811:4;21849:2;21838:9;21834:18;21826:26;;21898:9;21892:4;21888:20;21884:1;21873:9;21869:17;21862:47;21926:131;22052:4;21926:131;:::i;:::-;21918:139;;21645:419;;;:::o;22070:221::-;22210:34;22206:1;22198:6;22194:14;22187:58;22279:4;22274:2;22266:6;22262:15;22255:29;22070:221;:::o;22297:366::-;22439:3;22460:67;22524:2;22519:3;22460:67;:::i;:::-;22453:74;;22536:93;22625:3;22536:93;:::i;:::-;22654:2;22649:3;22645:12;22638:19;;22297:366;;;:::o;22669:419::-;22835:4;22873:2;22862:9;22858:18;22850:26;;22922:9;22916:4;22912:20;22908:1;22897:9;22893:17;22886:47;22950:131;23076:4;22950:131;:::i;:::-;22942:139;;22669:419;;;:::o;23094:179::-;23234:31;23230:1;23222:6;23218:14;23211:55;23094:179;:::o;23279:366::-;23421:3;23442:67;23506:2;23501:3;23442:67;:::i;:::-;23435:74;;23518:93;23607:3;23518:93;:::i;:::-;23636:2;23631:3;23627:12;23620:19;;23279:366;;;:::o;23651:419::-;23817:4;23855:2;23844:9;23840:18;23832:26;;23904:9;23898:4;23894:20;23890:1;23879:9;23875:17;23868:47;23932:131;24058:4;23932:131;:::i;:::-;23924:139;;23651:419;;;:::o;24076:224::-;24216:34;24212:1;24204:6;24200:14;24193:58;24285:7;24280:2;24272:6;24268:15;24261:32;24076:224;:::o;24306:366::-;24448:3;24469:67;24533:2;24528:3;24469:67;:::i;:::-;24462:74;;24545:93;24634:3;24545:93;:::i;:::-;24663:2;24658:3;24654:12;24647:19;;24306:366;;;:::o;24678:419::-;24844:4;24882:2;24871:9;24867:18;24859:26;;24931:9;24925:4;24921:20;24917:1;24906:9;24902:17;24895:47;24959:131;25085:4;24959:131;:::i;:::-;24951:139;;24678:419;;;:::o;25103:222::-;25243:34;25239:1;25231:6;25227:14;25220:58;25312:5;25307:2;25299:6;25295:15;25288:30;25103:222;:::o;25331:366::-;25473:3;25494:67;25558:2;25553:3;25494:67;:::i;:::-;25487:74;;25570:93;25659:3;25570:93;:::i;:::-;25688:2;25683:3;25679:12;25672:19;;25331:366;;;:::o;25703:419::-;25869:4;25907:2;25896:9;25892:18;25884:26;;25956:9;25950:4;25946:20;25942:1;25931:9;25927:17;25920:47;25984:131;26110:4;25984:131;:::i;:::-;25976:139;;25703:419;;;:::o;26128:225::-;26268:34;26264:1;26256:6;26252:14;26245:58;26337:8;26332:2;26324:6;26320:15;26313:33;26128:225;:::o;26359:366::-;26501:3;26522:67;26586:2;26581:3;26522:67;:::i;:::-;26515:74;;26598:93;26687:3;26598:93;:::i;:::-;26716:2;26711:3;26707:12;26700:19;;26359:366;;;:::o;26731:419::-;26897:4;26935:2;26924:9;26920:18;26912:26;;26984:9;26978:4;26974:20;26970:1;26959:9;26955:17;26948:47;27012:131;27138:4;27012:131;:::i;:::-;27004:139;;26731:419;;;:::o;27156:173::-;27296:25;27292:1;27284:6;27280:14;27273:49;27156:173;:::o;27335:402::-;27495:3;27516:85;27598:2;27593:3;27516:85;:::i;:::-;27509:92;;27610:93;27699:3;27610:93;:::i;:::-;27728:2;27723:3;27719:12;27712:19;;27335:402;;;:::o;27743:167::-;27883:19;27879:1;27871:6;27867:14;27860:43;27743:167;:::o;27916:402::-;28076:3;28097:85;28179:2;28174:3;28097:85;:::i;:::-;28090:92;;28191:93;28280:3;28191:93;:::i;:::-;28309:2;28304:3;28300:12;28293:19;;27916:402;;;:::o;28324:967::-;28706:3;28728:148;28872:3;28728:148;:::i;:::-;28721:155;;28893:95;28984:3;28975:6;28893:95;:::i;:::-;28886:102;;29005:148;29149:3;29005:148;:::i;:::-;28998:155;;29170:95;29261:3;29252:6;29170:95;:::i;:::-;29163:102;;29282:3;29275:10;;28324:967;;;;;:::o;29297:181::-;29437:33;29433:1;29425:6;29421:14;29414:57;29297:181;:::o;29484:366::-;29626:3;29647:67;29711:2;29706:3;29647:67;:::i;:::-;29640:74;;29723:93;29812:3;29723:93;:::i;:::-;29841:2;29836:3;29832:12;29825:19;;29484:366;;;:::o;29856:419::-;30022:4;30060:2;30049:9;30045:18;30037:26;;30109:9;30103:4;30099:20;30095:1;30084:9;30080:17;30073:47;30137:131;30263:4;30137:131;:::i;:::-;30129:139;;29856:419;;;:::o;30281:220::-;30421:34;30417:1;30409:6;30405:14;30398:58;30490:3;30485:2;30477:6;30473:15;30466:28;30281:220;:::o;30507:366::-;30649:3;30670:67;30734:2;30729:3;30670:67;:::i;:::-;30663:74;;30746:93;30835:3;30746:93;:::i;:::-;30864:2;30859:3;30855:12;30848:19;;30507:366;;;:::o;30879:419::-;31045:4;31083:2;31072:9;31068:18;31060:26;;31132:9;31126:4;31122:20;31118:1;31107:9;31103:17;31096:47;31160:131;31286:4;31160:131;:::i;:::-;31152:139;;30879:419;;;:::o;31304:221::-;31444:34;31440:1;31432:6;31428:14;31421:58;31513:4;31508:2;31500:6;31496:15;31489:29;31304:221;:::o;31531:366::-;31673:3;31694:67;31758:2;31753:3;31694:67;:::i;:::-;31687:74;;31770:93;31859:3;31770:93;:::i;:::-;31888:2;31883:3;31879:12;31872:19;;31531:366;;;:::o;31903:419::-;32069:4;32107:2;32096:9;32092:18;32084:26;;32156:9;32150:4;32146:20;32142:1;32131:9;32127:17;32120:47;32184:131;32310:4;32184:131;:::i;:::-;32176:139;;31903:419;;;:::o;32328:191::-;32368:4;32388:20;32406:1;32388:20;:::i;:::-;32383:25;;32422:20;32440:1;32422:20;:::i;:::-;32417:25;;32461:1;32458;32455:8;32452:34;;;32466:18;;:::i;:::-;32452:34;32511:1;32508;32504:9;32496:17;;32328:191;;;;:::o;32525:348::-;32565:7;32588:20;32606:1;32588:20;:::i;:::-;32583:25;;32622:20;32640:1;32622:20;:::i;:::-;32617:25;;32810:1;32742:66;32738:74;32735:1;32732:81;32727:1;32720:9;32713:17;32709:105;32706:131;;;32817:18;;:::i;:::-;32706:131;32865:1;32862;32858:9;32847:20;;32525:348;;;;:::o;32879:180::-;32927:77;32924:1;32917:88;33024:4;33021:1;33014:15;33048:4;33045:1;33038:15;33065:171;33104:3;33127:24;33145:5;33127:24;:::i;:::-;33118:33;;33173:4;33166:5;33163:15;33160:41;;;33181:18;;:::i;:::-;33160:41;33228:1;33221:5;33217:13;33210:20;;33065:171;;;:::o;33242:182::-;33382:34;33378:1;33370:6;33366:14;33359:58;33242:182;:::o;33430:366::-;33572:3;33593:67;33657:2;33652:3;33593:67;:::i;:::-;33586:74;;33669:93;33758:3;33669:93;:::i;:::-;33787:2;33782:3;33778:12;33771:19;;33430:366;;;:::o;33802:419::-;33968:4;34006:2;33995:9;33991:18;33983:26;;34055:9;34049:4;34045:20;34041:1;34030:9;34026:17;34019:47;34083:131;34209:4;34083:131;:::i;:::-;34075:139;;33802:419;;;:::o",
"source": "pragma solidity ^0.8.0;\n\nimport \"@openzeppelin/contracts/token/ERC20/ERC20.sol\";\n\nimport \"@openzeppelin/contracts/access/Ownable.sol\";\n\nimport \"@openzeppelin/contracts/access/AccessControl.sol\";\n\ncontract Token is ERC20, Ownable, AccessControl {\n bytes32 public constant MINTER_BURNER_ROLE =\n keccak256(\"MINTER_BURNER_ROLE\");\n\n uint256 public totalBurnedToken;\n uint256 public totalMintedToken;\n\n constructor() ERC20(\"LaunchPad Test Token\", \"LTT\") {\n _mint(msg.sender, 1000000 * (10**uint256(decimals())));\n _setupRole(DEFAULT_ADMIN_ROLE, msg.sender);\n }\n\n function grandAccessRole(address minterBurnerAddress) public onlyOwner {\n _setupRole(MINTER_BURNER_ROLE, minterBurnerAddress);\n }\n\n function revokeAccess(string memory role, address account)\n public\n onlyOwner\n {\n bytes32 roleName = keccak256(abi.encodePacked(role));\n require(\n roleName != DEFAULT_ADMIN_ROLE,\n \"ModifiedAccessControl: cannot revoke default admin role\"\n );\n require(\n hasRole(roleName, account),\n \"Couldn't find this address in the roles. \"\n );\n revokeRole(roleName, account);\n }\n\n function mint(address to, uint256 amount) public {\n // Check that the calling account has the minter role\n require(\n hasRole(MINTER_BURNER_ROLE, msg.sender),\n \"Caller is not a minter\"\n );\n _mint(to, amount);\n totalMintedToken = totalMintedToken + amount;\n }\n\n function burn(address from, uint256 amount) public {\n // Check that the calling account has the Burner role\n require(\n hasRole(MINTER_BURNER_ROLE, msg.sender),\n \"Caller is not a Burner\"\n );\n _burn(from, amount);\n totalBurnedToken = totalBurnedToken + amount;\n }\n}\n",
"sourcePath": "/Users/aravinth/Repo/codegama/blockchain/ido_projects/ido-frontend-jason/src/contracts/Token.sol",
"ast": {
"absolutePath": "/Users/aravinth/Repo/codegama/blockchain/ido_projects/ido-frontend-jason/src/contracts/Token.sol",
"exportedSymbols": {
"AccessControl": [
2583
],
"Context": [
3606
],
"ERC165": [
3833
],
"ERC20": [
3481
],
"IAccessControl": [
2656
],
"IERC165": [
3845
],
"IERC20": [
3559
],
"IERC20Metadata": [
3584
],
"Ownable": [
2761
],
"Strings": [
3809
],
"Token": [
2274
]
},
"id": 2275,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 2118,
"literals": [
"solidity",
"^",
"0.8",
".0"
],
"nodeType": "PragmaDirective",
"src": "0:23:4"
},
{
"absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol",
"file": "@openzeppelin/contracts/token/ERC20/ERC20.sol",
"id": 2119,
"nameLocation": "-1:-1:-1",
"nodeType": "ImportDirective",
"scope": 2275,
"sourceUnit": 3482,
"src": "25:55:4",
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "@openzeppelin/contracts/access/Ownable.sol",
"file": "@openzeppelin/contracts/access/Ownable.sol",
"id": 2120,
"nameLocation": "-1:-1:-1",
"nodeType": "ImportDirective",
"scope": 2275,
"sourceUnit": 2762,
"src": "82:52:4",
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "@openzeppelin/contracts/access/AccessControl.sol",
"file": "@openzeppelin/contracts/access/AccessControl.sol",
"id": 2121,
"nameLocation": "-1:-1:-1",
"nodeType": "ImportDirective",
"scope": 2275,
"sourceUnit": 2584,
"src": "136:58:4",
"symbolAliases": [],
"unitAlias": ""
},
{
"abstract": false,
"baseContracts": [
{
"baseName": {
"id": 2122,
"name": "ERC20",
"nodeType": "IdentifierPath",
"referencedDeclaration": 3481,
"src": "214:5:4"
},
"id": 2123,
"nodeType": "InheritanceSpecifier",
"src": "214:5:4"
},
{
"baseName": {
"id": 2124,
"name": "Ownable",
"nodeType": "IdentifierPath",
"referencedDeclaration": 2761,
"src": "221:7:4"
},
"id": 2125,
"nodeType": "InheritanceSpecifier",
"src": "221:7:4"
},
{
"baseName": {
"id": 2126,
"name": "AccessControl",
"nodeType": "IdentifierPath",
"referencedDeclaration": 2583,
"src": "230:13:4"
},
"id": 2127,
"nodeType": "InheritanceSpecifier",
"src": "230:13:4"
}
],
"canonicalName": "Token",
"contractDependencies": [],
"contractKind": "contract",
"fullyImplemented": true,
"id": 2274,
"linearizedBaseContracts": [
2274,
2583,
3833,
3845,
2656,
2761,
3481,
3584,
3559,
3606
],
"name": "Token",
"nameLocation": "205:5:4",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": true,
"functionSelector": "72c32860",
"id": 2132,
"mutability": "constant",
"name": "MINTER_BURNER_ROLE",
"nameLocation": "274:18:4",
"nodeType": "VariableDeclaration",
"scope": 2274,
"src": "250:84:4",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 2128,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "250:7:4",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"value": {
"arguments": [
{
"hexValue": "4d494e5445525f4255524e45525f524f4c45",
"id": 2130,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "313:20:4",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_cfd53186d792f1ec9d0679afc2dc3ffc86fc31fe1e0f342b838eb6c3eade62b3",
"typeString": "literal_string \"MINTER_BURNER_ROLE\""
},
"value": "MINTER_BURNER_ROLE"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_stringliteral_cfd53186d792f1ec9d0679afc2dc3ffc86fc31fe1e0f342b838eb6c3eade62b3",
"typeString": "literal_string \"MINTER_BURNER_ROLE\""
}
],
"id": 2129,
"name": "keccak256",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4294967288,
"src": "303:9:4",
"typeDescriptions": {
"typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
"typeString": "function (bytes memory) pure returns (bytes32)"
}
},
"id": 2131,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "303:31:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"visibility": "public"
},
{
"constant": false,
"functionSelector": "0de97c41",
"id": 2134,
"mutability": "mutable",
"name": "totalBurnedToken",
"nameLocation": "356:16:4",
"nodeType": "VariableDeclaration",
"scope": 2274,
"src": "341:31:4",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2133,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "341:7:4",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "public"
},
{
"constant": false,
"functionSelector": "2898410b",
"id": 2136,
"mutability": "mutable",
"name": "totalMintedToken",
"nameLocation": "393:16:4",
"nodeType": "VariableDeclaration",
"scope": 2274,
"src": "378:31:4",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2135,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "378:7:4",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "public"
},
{
"body": {
"id": 2164,
"nodeType": "Block",
"src": "467:123:4",
"statements": [
{
"expression": {
"arguments": [
{
"expression": {
"id": 2144,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4294967281,
"src": "483:3:4",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 2145,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"src": "483:10:4",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 2155,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"hexValue": "31303030303030",
"id": 2146,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "495:7:4",
"typeDescriptions": {
"typeIdentifier": "t_rational_1000000_by_1",
"typeString": "int_const 1000000"
},
"value": "1000000"
},
"nodeType": "BinaryOperation",
"operator": "*",
"rightExpression": {
"components": [
{
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 2153,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"hexValue": "3130",
"id": 2147,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "506:2:4",
"typeDescriptions": {
"typeIdentifier": "t_rational_10_by_1",
"typeString": "int_const 10"
},
"value": "10"
},
"nodeType": "BinaryOperation",
"operator": "**",
"rightExpression": {
"arguments": [
{
"arguments": [],
"expression": {
"argumentTypes": [],
"id": 2150,
"name": "decimals",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2968,
"src": "518:8:4",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_view$__$returns$_t_uint8_$",
"typeString": "function () view returns (uint8)"
}
},
"id": 2151,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "518:10:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
],
"id": 2149,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "510:7:4",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_uint256_$",
"typeString": "type(uint256)"
},
"typeName": {
"id": 2148,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "510:7:4",
"typeDescriptions": {}
}
},
"id": 2152,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "510:19:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "506:23:4",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"id": 2154,
"isConstant": false,
"isInlineArray": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"nodeType": "TupleExpression",
"src": "505:25:4",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "495:35:4",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"id": 2143,
"name": "_mint",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3298,
"src": "477:5:4",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$",
"typeString": "function (address,uint256)"
}
},
"id": 2156,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "477:54:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 2157,
"nodeType": "ExpressionStatement",
"src": "477:54:4"
},
{
"expression": {
"arguments": [
{
"id": 2159,
"name": "DEFAULT_ADMIN_ROLE",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2302,
"src": "552:18:4",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
{
"expression": {
"id": 2160,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4294967281,
"src": "572:3:4",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 2161,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"src": "572:10:4",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"id": 2158,
"name": "_setupRole",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2491,
"src": "541:10:4",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$",
"typeString": "function (bytes32,address)"
}
},
"id": 2162,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "541:42:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 2163,
"nodeType": "ExpressionStatement",
"src": "541:42:4"
}
]
},
"id": 2165,
"implemented": true,
"kind": "constructor",
"modifiers": [
{
"arguments": [
{
"hexValue": "4c61756e6368506164205465737420546f6b656e",
"id": 2139,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "436:22:4",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_fa6e1d8eef5ffe1fa8d867913606c084dc4a05b9452bcaa6e56886511fdb0159",
"typeString": "literal_string \"LaunchPad Test Token\""
},
"value": "LaunchPad Test Token"
},
{
"hexValue": "4c5454",
"id": 2140,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "460:5:4",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_db60304e11a7f370afeb55367f93237aaa8c87eef2447b899d873a4cdbfc17a4",
"typeString": "literal_string \"LTT\""
},
"value": "LTT"
}
],
"id": 2141,
"kind": "baseConstructorSpecifier",
"modifierName": {
"id": 2138,
"name": "ERC20",
"nodeType": "IdentifierPath",
"referencedDeclaration": 3481,
"src": "430:5:4"
},
"nodeType": "ModifierInvocation",
"src": "430:36:4"
}
],
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2137,
"nodeType": "ParameterList",
"parameters": [],
"src": "427:2:4"
},
"returnParameters": {
"id": 2142,
"nodeType": "ParameterList",
"parameters": [],
"src": "467:0:4"
},
"scope": 2274,
"src": "416:174:4",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "public"
},
{
"body": {
"id": 2177,
"nodeType": "Block",
"src": "667:68:4",
"statements": [
{
"expression": {
"arguments": [
{
"id": 2173,
"name": "MINTER_BURNER_ROLE",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2132,
"src": "688:18:4",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
{
"id": 2174,
"name": "minterBurnerAddress",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2167,
"src": "708:19:4",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"id": 2172,
"name": "_setupRole",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2491,
"src": "677:10:4",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$",
"typeString": "function (bytes32,address)"
}
},
"id": 2175,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "677:51:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 2176,
"nodeType": "ExpressionStatement",
"src": "677:51:4"
}
]
},
"functionSelector": "925dc4e0",
"id": 2178,
"implemented": true,
"kind": "function",
"modifiers": [
{
"id": 2170,
"kind": "modifierInvocation",
"modifierName": {
"id": 2169,
"name": "onlyOwner",
"nodeType": "IdentifierPath",
"referencedDeclaration": 2703,
"src": "657:9:4"
},
"nodeType": "ModifierInvocation",
"src": "657:9:4"
}
],
"name": "grandAccessRole",
"nameLocation": "605:15:4",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2168,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2167,
"mutability": "mutable",
"name": "minterBurnerAddress",
"nameLocation": "629:19:4",
"nodeType": "VariableDeclaration",
"scope": 2178,
"src": "621:27:4",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 2166,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "621:7:4",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
}
],
"src": "620:29:4"
},
"returnParameters": {
"id": 2171,
"nodeType": "ParameterList",
"parameters": [],
"src": "667:0:4"
},
"scope": 2274,
"src": "596:139:4",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "public"
},
{
"body": {
"id": 2216,
"nodeType": "Block",
"src": "837:374:4",
"statements": [
{
"assignments": [
2188
],
"declarations": [
{
"constant": false,
"id": 2188,
"mutability": "mutable",
"name": "roleName",
"nameLocation": "855:8:4",
"nodeType": "VariableDeclaration",
"scope": 2216,
"src": "847:16:4",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 2187,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "847:7:4",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"visibility": "internal"
}
],
"id": 2195,
"initialValue": {
"arguments": [
{
"arguments": [
{
"id": 2192,
"name": "role",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2180,
"src": "893:4:4",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
],
"expression": {
"id": 2190,
"name": "abi",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4294967295,
"src": "876:3:4",
"typeDescriptions": {
"typeIdentifier": "t_magic_abi",
"typeString": "abi"
}
},
"id": 2191,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"memberName": "encodePacked",
"nodeType": "MemberAccess",
"src": "876:16:4",
"typeDescriptions": {
"typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
"typeString": "function () pure returns (bytes memory)"
}
},
"id": 2193,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "876:22:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
],
"id": 2189,
"name": "keccak256",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4294967288,
"src": "866:9:4",
"typeDescriptions": {
"typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
"typeString": "function (bytes memory) pure returns (bytes32)"
}
},
"id": 2194,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "866:33:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"nodeType": "VariableDeclarationStatement",
"src": "847:52:4"
},
{
"expression": {
"arguments": [
{
"commonType": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"id": 2199,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"id": 2197,
"name": "roleName",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2188,
"src": "930:8:4",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"nodeType": "BinaryOperation",
"operator": "!=",
"rightExpression": {
"id": 2198,
"name": "DEFAULT_ADMIN_ROLE",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2302,
"src": "942:18:4",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"src": "930:30:4",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"hexValue": "4d6f646966696564416363657373436f6e74726f6c3a2063616e6e6f74207265766f6b652064656661756c742061646d696e20726f6c65",
"id": 2200,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "974:57:4",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_c838d3416aebb19f108311ea2534f659467f5f471e6c30a013843b4884b77b01",
"typeString": "literal_string \"ModifiedAccessControl: cannot revoke default admin role\""
},
"value": "ModifiedAccessControl: cannot revoke default admin role"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_c838d3416aebb19f108311ea2534f659467f5f471e6c30a013843b4884b77b01",
"typeString": "literal_string \"ModifiedAccessControl: cannot revoke default admin role\""
}
],
"id": 2196,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
4294967278,
4294967278
],
"referencedDeclaration": 4294967278,
"src": "909:7:4",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 2201,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "909:132:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 2202,
"nodeType": "ExpressionStatement",
"src": "909:132:4"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"id": 2205,
"name": "roleName",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2188,
"src": "1080:8:4",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
{
"id": 2206,
"name": "account",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2182,
"src": "1090:7:4",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"id": 2204,
"name": "hasRole",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2356,
"src": "1072:7:4",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$",
"typeString": "function (bytes32,address) view returns (bool)"
}
},
"id": 2207,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1072:26:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"hexValue": "436f756c646e27742066696e642074686973206164647265737320696e2074686520726f6c65732e20",
"id": 2208,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1112:43:4",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_c3de17076b778f8e8b3081777daf30267c7cd1cb344888fabcd2de4a66a78503",
"typeString": "literal_string \"Couldn't find this address in the roles. \""
},
"value": "Couldn't find this address in the roles. "
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_c3de17076b778f8e8b3081777daf30267c7cd1cb344888fabcd2de4a66a78503",
"typeString": "literal_string \"Couldn't find this address in the roles. \""
}
],
"id": 2203,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
4294967278,
4294967278
],
"referencedDeclaration": 4294967278,
"src": "1051:7:4",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 2209,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1051:114:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 2210,
"nodeType": "ExpressionStatement",
"src": "1051:114:4"
},
{
"expression": {
"arguments": [
{
"id": 2212,
"name": "roleName",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2188,
"src": "1186:8:4",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
{
"id": 2213,
"name": "account",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2182,
"src": "1196:7:4",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"id": 2211,
"name": "revokeRole",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2454,
"src": "1175:10:4",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$",
"typeString": "function (bytes32,address)"
}
},
"id": 2214,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1175:29:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 2215,
"nodeType": "ExpressionStatement",
"src": "1175:29:4"
}
]
},
"functionSelector": "dfe0b5fe",
"id": 2217,
"implemented": true,
"kind": "function",
"modifiers": [
{
"id": 2185,
"kind": "modifierInvocation",
"modifierName": {
"id": 2184,
"name": "onlyOwner",
"nodeType": "IdentifierPath",
"referencedDeclaration": 2703,
"src": "823:9:4"
},
"nodeType": "ModifierInvocation",
"src": "823:9:4"
}
],
"name": "revokeAccess",
"nameLocation": "750:12:4",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2183,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2180,
"mutability": "mutable",
"name": "role",
"nameLocation": "777:4:4",
"nodeType": "VariableDeclaration",
"scope": 2217,
"src": "763:18:4",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 2179,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "763:6:4",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 2182,
"mutability": "mutable",
"name": "account",
"nameLocation": "791:7:4",
"nodeType": "VariableDeclaration",
"scope": 2217,
"src": "783:15:4",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 2181,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "783:7:4",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
}
],
"src": "762:37:4"
},
"returnParameters": {
"id": 2186,
"nodeType": "ParameterList",
"parameters": [],
"src": "837:0:4"
},
"scope": 2274,
"src": "741:470:4",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "public"
},
{
"body": {
"id": 2244,
"nodeType": "Block",
"src": "1266:268:4",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"id": 2226,
"name": "MINTER_BURNER_ROLE",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2132,
"src": "1367:18:4",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
{
"expression": {
"id": 2227,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4294967281,
"src": "1387:3:4",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 2228,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"src": "1387:10:4",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"id": 2225,
"name": "hasRole",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2356,
"src": "1359:7:4",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$",
"typeString": "function (bytes32,address) view returns (bool)"
}
},
"id": 2229,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1359:39:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"hexValue": "43616c6c6572206973206e6f742061206d696e746572",
"id": 2230,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1412:24:4",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_71abfcf6e817aaed3ce6663958bac2a3a82999ed0036c98a95b29f350f04cedf",
"typeString": "literal_string \"Caller is not a minter\""
},
"value": "Caller is not a minter"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_71abfcf6e817aaed3ce6663958bac2a3a82999ed0036c98a95b29f350f04cedf",
"typeString": "literal_string \"Caller is not a minter\""
}
],
"id": 2224,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
4294967278,
4294967278
],
"referencedDeclaration": 4294967278,
"src": "1338:7:4",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 2231,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1338:108:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 2232,
"nodeType": "ExpressionStatement",
"src": "1338:108:4"
},
{
"expression": {
"arguments": [
{
"id": 2234,
"name": "to",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2219,
"src": "1462:2:4",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"id": 2235,
"name": "amount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2221,
"src": "1466:6:4",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"id": 2233,
"name": "_mint",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3298,
"src": "1456:5:4",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$",
"typeString": "function (address,uint256)"
}
},
"id": 2236,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1456:17:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 2237,
"nodeType": "ExpressionStatement",
"src": "1456:17:4"
},
{
"expression": {
"id": 2242,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"id": 2238,
"name": "totalMintedToken",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2136,
"src": "1483:16:4",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 2241,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"id": 2239,
"name": "totalMintedToken",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2136,
"src": "1502:16:4",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "+",
"rightExpression": {
"id": 2240,
"name": "amount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2221,
"src": "1521:6:4",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "1502:25:4",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "1483:44:4",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 2243,
"nodeType": "ExpressionStatement",
"src": "1483:44:4"
}
]
},
"functionSelector": "40c10f19",
"id": 2245,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "mint",
"nameLocation": "1226:4:4",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2222,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2219,
"mutability": "mutable",
"name": "to",
"nameLocation": "1239:2:4",
"nodeType": "VariableDeclaration",
"scope": 2245,
"src": "1231:10:4",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 2218,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1231:7:4",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 2221,
"mutability": "mutable",
"name": "amount",
"nameLocation": "1251:6:4",
"nodeType": "VariableDeclaration",
"scope": 2245,
"src": "1243:14:4",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2220,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1243:7:4",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "1230:28:4"
},
"returnParameters": {
"id": 2223,
"nodeType": "ParameterList",
"parameters": [],
"src": "1266:0:4"
},
"scope": 2274,
"src": "1217:317:4",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "public"
},
{
"body": {
"id": 2272,
"nodeType": "Block",
"src": "1591:270:4",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"id": 2254,
"name": "MINTER_BURNER_ROLE",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2132,
"src": "1692:18:4",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
{
"expression": {
"id": 2255,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4294967281,
"src": "1712:3:4",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 2256,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"src": "1712:10:4",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"id": 2253,
"name": "hasRole",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2356,
"src": "1684:7:4",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$",
"typeString": "function (bytes32,address) view returns (bool)"
}
},
"id": 2257,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1684:39:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"hexValue": "43616c6c6572206973206e6f742061204275726e6572",
"id": 2258,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1737:24:4",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_05bd143622d9cbc2737a735ac8d6fd7f3fb6a605c97e0f384e56341e945c7092",
"typeString": "literal_string \"Caller is not a Burner\""
},
"value": "Caller is not a Burner"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_05bd143622d9cbc2737a735ac8d6fd7f3fb6a605c97e0f384e56341e945c7092",
"typeString": "literal_string \"Caller is not a Burner\""
}
],
"id": 2252,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
4294967278,
4294967278
],
"referencedDeclaration": 4294967278,
"src": "1663:7:4",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 2259,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1663:108:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 2260,
"nodeType": "ExpressionStatement",
"src": "1663:108:4"
},
{
"expression": {
"arguments": [
{
"id": 2262,
"name": "from",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2247,
"src": "1787:4:4",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"id": 2263,
"name": "amount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2249,
"src": "1793:6:4",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"id": 2261,
"name": "_burn",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3370,
"src": "1781:5:4",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$",
"typeString": "function (address,uint256)"
}
},
"id": 2264,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1781:19:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 2265,
"nodeType": "ExpressionStatement",
"src": "1781:19:4"
},
{
"expression": {
"id": 2270,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"id": 2266,
"name": "totalBurnedToken",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2134,
"src": "1810:16:4",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 2269,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"id": 2267,
"name": "totalBurnedToken",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2134,
"src": "1829:16:4",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "+",
"rightExpression": {
"id": 2268,
"name": "amount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2249,
"src": "1848:6:4",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "1829:25:4",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "1810:44:4",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 2271,
"nodeType": "ExpressionStatement",
"src": "1810:44:4"
}
]
},
"functionSelector": "9dc29fac",
"id": 2273,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "burn",
"nameLocation": "1549:4:4",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2250,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2247,
"mutability": "mutable",
"name": "from",
"nameLocation": "1562:4:4",
"nodeType": "VariableDeclaration",
"scope": 2273,
"src": "1554:12:4",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 2246,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1554:7:4",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 2249,
"mutability": "mutable",
"name": "amount",
"nameLocation": "1576:6:4",
"nodeType": "VariableDeclaration",
"scope": 2273,
"src": "1568:14:4",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2248,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1568:7:4",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "1553:30:4"
},
"returnParameters": {
"id": 2251,
"nodeType": "ParameterList",
"parameters": [],
"src": "1591:0:4"
},
"scope": 2274,
"src": "1540:321:4",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "public"
}
],
"scope": 2275,
"src": "196:1667:4",
"usedErrors": []
}
],
"src": "0:1864:4"
},
"legacyAST": {
"absolutePath": "/Users/aravinth/Repo/codegama/blockchain/ido_projects/ido-frontend-jason/src/contracts/Token.sol",
"exportedSymbols": {
"AccessControl": [
2583
],
"Context": [
3606
],
"ERC165": [
3833
],
"ERC20": [
3481
],
"IAccessControl": [
2656
],
"IERC165": [
3845
],
"IERC20": [
3559
],
"IERC20Metadata": [
3584
],
"Ownable": [
2761
],
"Strings": [
3809
],
"Token": [
2274
]
},
"id": 2275,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 2118,
"literals": [
"solidity",
"^",
"0.8",
".0"
],
"nodeType": "PragmaDirective",
"src": "0:23:4"
},
{
"absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol",
"file": "@openzeppelin/contracts/token/ERC20/ERC20.sol",
"id": 2119,
"nameLocation": "-1:-1:-1",
"nodeType": "ImportDirective",
"scope": 2275,
"sourceUnit": 3482,
"src": "25:55:4",
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "@openzeppelin/contracts/access/Ownable.sol",
"file": "@openzeppelin/contracts/access/Ownable.sol",
"id": 2120,
"nameLocation": "-1:-1:-1",
"nodeType": "ImportDirective",
"scope": 2275,
"sourceUnit": 2762,
"src": "82:52:4",
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "@openzeppelin/contracts/access/AccessControl.sol",
"file": "@openzeppelin/contracts/access/AccessControl.sol",
"id": 2121,
"nameLocation": "-1:-1:-1",
"nodeType": "ImportDirective",
"scope": 2275,
"sourceUnit": 2584,
"src": "136:58:4",
"symbolAliases": [],
"unitAlias": ""
},
{
"abstract": false,
"baseContracts": [
{
"baseName": {
"id": 2122,
"name": "ERC20",
"nodeType": "IdentifierPath",
"referencedDeclaration": 3481,
"src": "214:5:4"
},
"id": 2123,
"nodeType": "InheritanceSpecifier",
"src": "214:5:4"
},
{
"baseName": {
"id": 2124,
"name": "Ownable",
"nodeType": "IdentifierPath",
"referencedDeclaration": 2761,
"src": "221:7:4"
},
"id": 2125,
"nodeType": "InheritanceSpecifier",
"src": "221:7:4"
},
{
"baseName": {
"id": 2126,
"name": "AccessControl",
"nodeType": "IdentifierPath",
"referencedDeclaration": 2583,
"src": "230:13:4"
},
"id": 2127,
"nodeType": "InheritanceSpecifier",
"src": "230:13:4"
}
],
"canonicalName": "Token",
"contractDependencies": [],
"contractKind": "contract",
"fullyImplemented": true,
"id": 2274,
"linearizedBaseContracts": [
2274,
2583,
3833,
3845,
2656,
2761,
3481,
3584,
3559,
3606
],
"name": "Token",
"nameLocation": "205:5:4",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": true,
"functionSelector": "72c32860",
"id": 2132,
"mutability": "constant",
"name": "MINTER_BURNER_ROLE",
"nameLocation": "274:18:4",
"nodeType": "VariableDeclaration",
"scope": 2274,
"src": "250:84:4",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 2128,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "250:7:4",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"value": {
"arguments": [
{
"hexValue": "4d494e5445525f4255524e45525f524f4c45",
"id": 2130,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "313:20:4",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_cfd53186d792f1ec9d0679afc2dc3ffc86fc31fe1e0f342b838eb6c3eade62b3",
"typeString": "literal_string \"MINTER_BURNER_ROLE\""
},
"value": "MINTER_BURNER_ROLE"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_stringliteral_cfd53186d792f1ec9d0679afc2dc3ffc86fc31fe1e0f342b838eb6c3eade62b3",
"typeString": "literal_string \"MINTER_BURNER_ROLE\""
}
],
"id": 2129,
"name": "keccak256",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4294967288,
"src": "303:9:4",
"typeDescriptions": {
"typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
"typeString": "function (bytes memory) pure returns (bytes32)"
}
},
"id": 2131,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "303:31:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"visibility": "public"
},
{
"constant": false,
"functionSelector": "0de97c41",
"id": 2134,
"mutability": "mutable",
"name": "totalBurnedToken",
"nameLocation": "356:16:4",
"nodeType": "VariableDeclaration",
"scope": 2274,
"src": "341:31:4",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2133,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "341:7:4",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "public"
},
{
"constant": false,
"functionSelector": "2898410b",
"id": 2136,
"mutability": "mutable",
"name": "totalMintedToken",
"nameLocation": "393:16:4",
"nodeType": "VariableDeclaration",
"scope": 2274,
"src": "378:31:4",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2135,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "378:7:4",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "public"
},
{
"body": {
"id": 2164,
"nodeType": "Block",
"src": "467:123:4",
"statements": [
{
"expression": {
"arguments": [
{
"expression": {
"id": 2144,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4294967281,
"src": "483:3:4",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 2145,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"src": "483:10:4",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 2155,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"hexValue": "31303030303030",
"id": 2146,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "495:7:4",
"typeDescriptions": {
"typeIdentifier": "t_rational_1000000_by_1",
"typeString": "int_const 1000000"
},
"value": "1000000"
},
"nodeType": "BinaryOperation",
"operator": "*",
"rightExpression": {
"components": [
{
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 2153,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"hexValue": "3130",
"id": 2147,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "506:2:4",
"typeDescriptions": {
"typeIdentifier": "t_rational_10_by_1",
"typeString": "int_const 10"
},
"value": "10"
},
"nodeType": "BinaryOperation",
"operator": "**",
"rightExpression": {
"arguments": [
{
"arguments": [],
"expression": {
"argumentTypes": [],
"id": 2150,
"name": "decimals",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2968,
"src": "518:8:4",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_view$__$returns$_t_uint8_$",
"typeString": "function () view returns (uint8)"
}
},
"id": 2151,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "518:10:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
],
"id": 2149,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "510:7:4",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_uint256_$",
"typeString": "type(uint256)"
},
"typeName": {
"id": 2148,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "510:7:4",
"typeDescriptions": {}
}
},
"id": 2152,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "510:19:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "506:23:4",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"id": 2154,
"isConstant": false,
"isInlineArray": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"nodeType": "TupleExpression",
"src": "505:25:4",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "495:35:4",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"id": 2143,
"name": "_mint",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3298,
"src": "477:5:4",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$",
"typeString": "function (address,uint256)"
}
},
"id": 2156,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "477:54:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 2157,
"nodeType": "ExpressionStatement",
"src": "477:54:4"
},
{
"expression": {
"arguments": [
{
"id": 2159,
"name": "DEFAULT_ADMIN_ROLE",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2302,
"src": "552:18:4",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
{
"expression": {
"id": 2160,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4294967281,
"src": "572:3:4",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 2161,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"src": "572:10:4",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"id": 2158,
"name": "_setupRole",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2491,
"src": "541:10:4",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$",
"typeString": "function (bytes32,address)"
}
},
"id": 2162,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "541:42:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 2163,
"nodeType": "ExpressionStatement",
"src": "541:42:4"
}
]
},
"id": 2165,
"implemented": true,
"kind": "constructor",
"modifiers": [
{
"arguments": [
{
"hexValue": "4c61756e6368506164205465737420546f6b656e",
"id": 2139,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "436:22:4",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_fa6e1d8eef5ffe1fa8d867913606c084dc4a05b9452bcaa6e56886511fdb0159",
"typeString": "literal_string \"LaunchPad Test Token\""
},
"value": "LaunchPad Test Token"
},
{
"hexValue": "4c5454",
"id": 2140,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "460:5:4",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_db60304e11a7f370afeb55367f93237aaa8c87eef2447b899d873a4cdbfc17a4",
"typeString": "literal_string \"LTT\""
},
"value": "LTT"
}
],
"id": 2141,
"kind": "baseConstructorSpecifier",
"modifierName": {
"id": 2138,
"name": "ERC20",
"nodeType": "IdentifierPath",
"referencedDeclaration": 3481,
"src": "430:5:4"
},
"nodeType": "ModifierInvocation",
"src": "430:36:4"
}
],
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2137,
"nodeType": "ParameterList",
"parameters": [],
"src": "427:2:4"
},
"returnParameters": {
"id": 2142,
"nodeType": "ParameterList",
"parameters": [],
"src": "467:0:4"
},
"scope": 2274,
"src": "416:174:4",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "public"
},
{
"body": {
"id": 2177,
"nodeType": "Block",
"src": "667:68:4",
"statements": [
{
"expression": {
"arguments": [
{
"id": 2173,
"name": "MINTER_BURNER_ROLE",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2132,
"src": "688:18:4",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
{
"id": 2174,
"name": "minterBurnerAddress",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2167,
"src": "708:19:4",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"id": 2172,
"name": "_setupRole",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2491,
"src": "677:10:4",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$",
"typeString": "function (bytes32,address)"
}
},
"id": 2175,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "677:51:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 2176,
"nodeType": "ExpressionStatement",
"src": "677:51:4"
}
]
},
"functionSelector": "925dc4e0",
"id": 2178,
"implemented": true,
"kind": "function",
"modifiers": [
{
"id": 2170,
"kind": "modifierInvocation",
"modifierName": {
"id": 2169,
"name": "onlyOwner",
"nodeType": "IdentifierPath",
"referencedDeclaration": 2703,
"src": "657:9:4"
},
"nodeType": "ModifierInvocation",
"src": "657:9:4"
}
],
"name": "grandAccessRole",
"nameLocation": "605:15:4",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2168,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2167,
"mutability": "mutable",
"name": "minterBurnerAddress",
"nameLocation": "629:19:4",
"nodeType": "VariableDeclaration",
"scope": 2178,
"src": "621:27:4",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 2166,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "621:7:4",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
}
],
"src": "620:29:4"
},
"returnParameters": {
"id": 2171,
"nodeType": "ParameterList",
"parameters": [],
"src": "667:0:4"
},
"scope": 2274,
"src": "596:139:4",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "public"
},
{
"body": {
"id": 2216,
"nodeType": "Block",
"src": "837:374:4",
"statements": [
{
"assignments": [
2188
],
"declarations": [
{
"constant": false,
"id": 2188,
"mutability": "mutable",
"name": "roleName",
"nameLocation": "855:8:4",
"nodeType": "VariableDeclaration",
"scope": 2216,
"src": "847:16:4",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 2187,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "847:7:4",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"visibility": "internal"
}
],
"id": 2195,
"initialValue": {
"arguments": [
{
"arguments": [
{
"id": 2192,
"name": "role",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2180,
"src": "893:4:4",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
],
"expression": {
"id": 2190,
"name": "abi",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4294967295,
"src": "876:3:4",
"typeDescriptions": {
"typeIdentifier": "t_magic_abi",
"typeString": "abi"
}
},
"id": 2191,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"memberName": "encodePacked",
"nodeType": "MemberAccess",
"src": "876:16:4",
"typeDescriptions": {
"typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
"typeString": "function () pure returns (bytes memory)"
}
},
"id": 2193,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "876:22:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
],
"id": 2189,
"name": "keccak256",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4294967288,
"src": "866:9:4",
"typeDescriptions": {
"typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
"typeString": "function (bytes memory) pure returns (bytes32)"
}
},
"id": 2194,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "866:33:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"nodeType": "VariableDeclarationStatement",
"src": "847:52:4"
},
{
"expression": {
"arguments": [
{
"commonType": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"id": 2199,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"id": 2197,
"name": "roleName",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2188,
"src": "930:8:4",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"nodeType": "BinaryOperation",
"operator": "!=",
"rightExpression": {
"id": 2198,
"name": "DEFAULT_ADMIN_ROLE",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2302,
"src": "942:18:4",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"src": "930:30:4",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"hexValue": "4d6f646966696564416363657373436f6e74726f6c3a2063616e6e6f74207265766f6b652064656661756c742061646d696e20726f6c65",
"id": 2200,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "974:57:4",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_c838d3416aebb19f108311ea2534f659467f5f471e6c30a013843b4884b77b01",
"typeString": "literal_string \"ModifiedAccessControl: cannot revoke default admin role\""
},
"value": "ModifiedAccessControl: cannot revoke default admin role"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_c838d3416aebb19f108311ea2534f659467f5f471e6c30a013843b4884b77b01",
"typeString": "literal_string \"ModifiedAccessControl: cannot revoke default admin role\""
}
],
"id": 2196,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
4294967278,
4294967278
],
"referencedDeclaration": 4294967278,
"src": "909:7:4",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 2201,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "909:132:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 2202,
"nodeType": "ExpressionStatement",
"src": "909:132:4"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"id": 2205,
"name": "roleName",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2188,
"src": "1080:8:4",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
{
"id": 2206,
"name": "account",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2182,
"src": "1090:7:4",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"id": 2204,
"name": "hasRole",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2356,
"src": "1072:7:4",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$",
"typeString": "function (bytes32,address) view returns (bool)"
}
},
"id": 2207,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1072:26:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"hexValue": "436f756c646e27742066696e642074686973206164647265737320696e2074686520726f6c65732e20",
"id": 2208,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1112:43:4",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_c3de17076b778f8e8b3081777daf30267c7cd1cb344888fabcd2de4a66a78503",
"typeString": "literal_string \"Couldn't find this address in the roles. \""
},
"value": "Couldn't find this address in the roles. "
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_c3de17076b778f8e8b3081777daf30267c7cd1cb344888fabcd2de4a66a78503",
"typeString": "literal_string \"Couldn't find this address in the roles. \""
}
],
"id": 2203,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
4294967278,
4294967278
],
"referencedDeclaration": 4294967278,
"src": "1051:7:4",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 2209,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1051:114:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 2210,
"nodeType": "ExpressionStatement",
"src": "1051:114:4"
},
{
"expression": {
"arguments": [
{
"id": 2212,
"name": "roleName",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2188,
"src": "1186:8:4",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
{
"id": 2213,
"name": "account",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2182,
"src": "1196:7:4",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"id": 2211,
"name": "revokeRole",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2454,
"src": "1175:10:4",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$",
"typeString": "function (bytes32,address)"
}
},
"id": 2214,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1175:29:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 2215,
"nodeType": "ExpressionStatement",
"src": "1175:29:4"
}
]
},
"functionSelector": "dfe0b5fe",
"id": 2217,
"implemented": true,
"kind": "function",
"modifiers": [
{
"id": 2185,
"kind": "modifierInvocation",
"modifierName": {
"id": 2184,
"name": "onlyOwner",
"nodeType": "IdentifierPath",
"referencedDeclaration": 2703,
"src": "823:9:4"
},
"nodeType": "ModifierInvocation",
"src": "823:9:4"
}
],
"name": "revokeAccess",
"nameLocation": "750:12:4",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2183,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2180,
"mutability": "mutable",
"name": "role",
"nameLocation": "777:4:4",
"nodeType": "VariableDeclaration",
"scope": 2217,
"src": "763:18:4",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 2179,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "763:6:4",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 2182,
"mutability": "mutable",
"name": "account",
"nameLocation": "791:7:4",
"nodeType": "VariableDeclaration",
"scope": 2217,
"src": "783:15:4",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 2181,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "783:7:4",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
}
],
"src": "762:37:4"
},
"returnParameters": {
"id": 2186,
"nodeType": "ParameterList",
"parameters": [],
"src": "837:0:4"
},
"scope": 2274,
"src": "741:470:4",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "public"
},
{
"body": {
"id": 2244,
"nodeType": "Block",
"src": "1266:268:4",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"id": 2226,
"name": "MINTER_BURNER_ROLE",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2132,
"src": "1367:18:4",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
{
"expression": {
"id": 2227,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4294967281,
"src": "1387:3:4",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 2228,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"src": "1387:10:4",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"id": 2225,
"name": "hasRole",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2356,
"src": "1359:7:4",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$",
"typeString": "function (bytes32,address) view returns (bool)"
}
},
"id": 2229,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1359:39:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"hexValue": "43616c6c6572206973206e6f742061206d696e746572",
"id": 2230,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1412:24:4",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_71abfcf6e817aaed3ce6663958bac2a3a82999ed0036c98a95b29f350f04cedf",
"typeString": "literal_string \"Caller is not a minter\""
},
"value": "Caller is not a minter"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_71abfcf6e817aaed3ce6663958bac2a3a82999ed0036c98a95b29f350f04cedf",
"typeString": "literal_string \"Caller is not a minter\""
}
],
"id": 2224,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
4294967278,
4294967278
],
"referencedDeclaration": 4294967278,
"src": "1338:7:4",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 2231,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1338:108:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 2232,
"nodeType": "ExpressionStatement",
"src": "1338:108:4"
},
{
"expression": {
"arguments": [
{
"id": 2234,
"name": "to",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2219,
"src": "1462:2:4",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"id": 2235,
"name": "amount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2221,
"src": "1466:6:4",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"id": 2233,
"name": "_mint",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3298,
"src": "1456:5:4",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$",
"typeString": "function (address,uint256)"
}
},
"id": 2236,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1456:17:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 2237,
"nodeType": "ExpressionStatement",
"src": "1456:17:4"
},
{
"expression": {
"id": 2242,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"id": 2238,
"name": "totalMintedToken",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2136,
"src": "1483:16:4",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 2241,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"id": 2239,
"name": "totalMintedToken",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2136,
"src": "1502:16:4",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "+",
"rightExpression": {
"id": 2240,
"name": "amount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2221,
"src": "1521:6:4",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "1502:25:4",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "1483:44:4",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 2243,
"nodeType": "ExpressionStatement",
"src": "1483:44:4"
}
]
},
"functionSelector": "40c10f19",
"id": 2245,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "mint",
"nameLocation": "1226:4:4",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2222,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2219,
"mutability": "mutable",
"name": "to",
"nameLocation": "1239:2:4",
"nodeType": "VariableDeclaration",
"scope": 2245,
"src": "1231:10:4",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 2218,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1231:7:4",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 2221,
"mutability": "mutable",
"name": "amount",
"nameLocation": "1251:6:4",
"nodeType": "VariableDeclaration",
"scope": 2245,
"src": "1243:14:4",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2220,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1243:7:4",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "1230:28:4"
},
"returnParameters": {
"id": 2223,
"nodeType": "ParameterList",
"parameters": [],
"src": "1266:0:4"
},
"scope": 2274,
"src": "1217:317:4",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "public"
},
{
"body": {
"id": 2272,
"nodeType": "Block",
"src": "1591:270:4",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"id": 2254,
"name": "MINTER_BURNER_ROLE",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2132,
"src": "1692:18:4",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
{
"expression": {
"id": 2255,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4294967281,
"src": "1712:3:4",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 2256,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"src": "1712:10:4",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"id": 2253,
"name": "hasRole",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2356,
"src": "1684:7:4",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$",
"typeString": "function (bytes32,address) view returns (bool)"
}
},
"id": 2257,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1684:39:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"hexValue": "43616c6c6572206973206e6f742061204275726e6572",
"id": 2258,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1737:24:4",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_05bd143622d9cbc2737a735ac8d6fd7f3fb6a605c97e0f384e56341e945c7092",
"typeString": "literal_string \"Caller is not a Burner\""
},
"value": "Caller is not a Burner"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_05bd143622d9cbc2737a735ac8d6fd7f3fb6a605c97e0f384e56341e945c7092",
"typeString": "literal_string \"Caller is not a Burner\""
}
],
"id": 2252,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
4294967278,
4294967278
],
"referencedDeclaration": 4294967278,
"src": "1663:7:4",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 2259,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1663:108:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 2260,
"nodeType": "ExpressionStatement",
"src": "1663:108:4"
},
{
"expression": {
"arguments": [
{
"id": 2262,
"name": "from",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2247,
"src": "1787:4:4",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"id": 2263,
"name": "amount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2249,
"src": "1793:6:4",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"id": 2261,
"name": "_burn",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3370,
"src": "1781:5:4",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$",
"typeString": "function (address,uint256)"
}
},
"id": 2264,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1781:19:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 2265,
"nodeType": "ExpressionStatement",
"src": "1781:19:4"
},
{
"expression": {
"id": 2270,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"id": 2266,
"name": "totalBurnedToken",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2134,
"src": "1810:16:4",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 2269,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"id": 2267,
"name": "totalBurnedToken",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2134,
"src": "1829:16:4",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "+",
"rightExpression": {
"id": 2268,
"name": "amount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2249,
"src": "1848:6:4",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "1829:25:4",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "1810:44:4",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 2271,
"nodeType": "ExpressionStatement",
"src": "1810:44:4"
}
]
},
"functionSelector": "9dc29fac",
"id": 2273,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "burn",
"nameLocation": "1549:4:4",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2250,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2247,
"mutability": "mutable",
"name": "from",
"nameLocation": "1562:4:4",
"nodeType": "VariableDeclaration",
"scope": 2273,
"src": "1554:12:4",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 2246,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1554:7:4",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 2249,
"mutability": "mutable",
"name": "amount",
"nameLocation": "1576:6:4",
"nodeType": "VariableDeclaration",
"scope": 2273,
"src": "1568:14:4",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2248,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1568:7:4",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "1553:30:4"
},
"returnParameters": {
"id": 2251,
"nodeType": "ParameterList",
"parameters": [],
"src": "1591:0:4"
},
"scope": 2274,
"src": "1540:321:4",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "public"
}
],
"scope": 2275,
"src": "196:1667:4",
"usedErrors": []
}
],
"src": "0:1864:4"
},
"compiler": {
"name": "solc",
"version": "0.8.12+commit.f00d7308.Emscripten.clang"
},
"networks": {
"56": {
"events": {},
"links": {},
"address": "0xA11B6c879A4280d31FC0E5aa138Ef79C8CBd2763",
"transactionHash": "0xf2f57e9d18ca8a39944c4a35d28231145e7b849bd9a3c0f9db9532f7a66af1ed"
},
"97": {
"events": {
"0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925": {
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "Approval",
"type": "event"
},
"0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": {
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "previousOwner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "OwnershipTransferred",
"type": "event"
},
"0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff": {
"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"
},
"0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d": {
"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"
},
"0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b": {
"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"
},
"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef": {
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "from",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "to",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "Transfer",
"type": "event"
}
},
"links": {},
"address": "0x0c032dA3D6f22082B1e09B02b53fa83008Fb39d3",
"transactionHash": "0x487efabcecce57f1d660a7bb97222c3d361de86a79829840949c95d95aee99e2"
},
"5777": {
"events": {
"0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925": {
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "Approval",
"type": "event"
},
"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef": {
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "from",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "to",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "Transfer",
"type": "event"
},
"0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": {
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "previousOwner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "OwnershipTransferred",
"type": "event"
},
"0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff": {
"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"
},
"0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d": {
"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"
},
"0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b": {
"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"
}
},
"links": {},
"address": "0x8EFADe78da523eFCCf4DD3ff42350ec48ffCD335",
"transactionHash": "0xa0099307d9e218897ca2ef9166d7d92b2299d8a24d531f8d1f17f8d3d04e4b33"
},
"80001": {
"events": {
"0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925": {
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "Approval",
"type": "event"
},
"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef": {
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "from",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "to",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "Transfer",
"type": "event"
},
"0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": {
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "previousOwner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "OwnershipTransferred",
"type": "event"
},
"0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff": {
"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"
},
"0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d": {
"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"
},
"0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b": {
"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"
}
},
"links": {},
"address": "0x4FB2256B32816F4bE0BaEC4f2641270230CA01D9",
"transactionHash": "0x2789212bf64589457d0443646b9e1b79f836b3b8e027496d9426a84d0122487f"
}
},
"schemaVersion": "3.3.4",
"updatedAt": "2022-03-07T06:57:09.349Z",
"devdoc": {
"kind": "dev",
"methods": {
"allowance(address,address)": {
"details": "See {IERC20-allowance}."
},
"approve(address,uint256)": {
"details": "See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address."
},
"balanceOf(address)": {
"details": "See {IERC20-balanceOf}."
},
"decimals()": {
"details": "Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless this function is overridden; NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}."
},
"decreaseAllowance(address,uint256)": {
"details": "Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`."
},
"getRoleAdmin(bytes32)": {
"details": "Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}."
},
"grantRole(bytes32,address)": {
"details": "Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role."
},
"hasRole(bytes32,address)": {
"details": "Returns `true` if `account` has been granted `role`."
},
"increaseAllowance(address,uint256)": {
"details": "Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address."
},
"name()": {
"details": "Returns the name of the token."
},
"owner()": {
"details": "Returns the address of the current owner."
},
"renounceOwnership()": {
"details": "Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner."
},
"renounceRole(bytes32,address)": {
"details": "Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`."
},
"revokeRole(bytes32,address)": {
"details": "Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role."
},
"supportsInterface(bytes4)": {
"details": "See {IERC165-supportsInterface}."
},
"symbol()": {
"details": "Returns the symbol of the token, usually a shorter version of the name."
},
"totalSupply()": {
"details": "See {IERC20-totalSupply}."
},
"transfer(address,uint256)": {
"details": "See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`."
},
"transferFrom(address,address,uint256)": {
"details": "See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`."
},
"transferOwnership(address)": {
"details": "Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."
}
},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
}
Back to Directory
File Manager