diff --git a/src/abis/ERC20.json b/src/abis/ERC20.json index 8cfde37..d91ef1b 100644 --- a/src/abis/ERC20.json +++ b/src/abis/ERC20.json @@ -2,7 +2,18 @@ "contractName": "BEUSDT", "abi": [ { - "inputs": [], + "inputs": [ + { + "internalType": "string", + "name": "name_", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol_", + "type": "string" + } + ], "stateMutability": "nonpayable", "type": "constructor" }, @@ -31,25 +42,6 @@ "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": [ @@ -63,6 +55,81 @@ "name": "Paused", "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": [ @@ -101,6 +168,48 @@ "name": "Unpaused", "type": "event" }, + { + "inputs": [], + "name": "DEFAULT_ADMIN_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [], + "name": "MINTER_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [], + "name": "PAUSER_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, { "inputs": [ { @@ -239,6 +348,69 @@ "stateMutability": "nonpayable", "type": "function" }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + } + ], + "name": "getRoleAdmin", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "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", + "constant": true + }, { "inputs": [ { @@ -277,20 +449,6 @@ "type": "function", "constant": true }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "constant": true - }, { "inputs": [], "name": "paused", @@ -306,12 +464,61 @@ "constant": true }, { - "inputs": [], - "name": "renounceOwnership", + "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", + "constant": true + }, { "inputs": [], "name": "symbol", @@ -393,19 +600,6 @@ "stateMutability": "nonpayable", "type": "function" }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, { "inputs": [], "name": "pause", @@ -437,1209 +631,84 @@ "outputs": [], "stateMutability": "nonpayable", "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + } + ], + "name": "setPauserRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + } + ], + "name": "removePauserRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + } + ], + "name": "setMintRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + } + ], + "name": "removeMintRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" } ], - "metadata": "{\"compiler\":{\"version\":\"0.8.10+commit.fc410830\"},\"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\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Paused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Unpaused\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burnFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"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\":\"pause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"paused\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unpause\",\"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}.\"},\"burn(uint256)\":{\"details\":\"Destroys `amount` tokens from the caller. See {ERC20-_burn}.\"},\"burnFrom(address,uint256)\":{\"details\":\"Destroys `amount` tokens from `account`, deducting from the caller's allowance. See {ERC20-_burn} and {ERC20-allowance}. Requirements: - the caller must have allowance for ``accounts``'s tokens of at least `amount`.\"},\"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`.\"},\"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.\"},\"paused()\":{\"details\":\"Returns true if the contract is paused, and false otherwise.\"},\"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.\"},\"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\":{},\"notice\":\"this contract will transfer ownership to BETimelockController after deployed all onlyowner method would add timelock\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/tokens/erc20/BEUSTD.sol\":\"BEUSDT\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0x24e0364e503a9bbde94c715d26573a76f14cd2a202d45f96f52134ab806b67b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e12cbaa7378fd9b62280e4e1d164bedcb4399ce238f5f98fc0eefb7e50577981\",\"dweb:/ipfs/QmXRoFGUgfsaRkoPT5bxNMtSayKTQ8GZATLPXf69HcRA51\"]},\"@openzeppelin/contracts/security/Pausable.sol\":{\"keccak256\":\"0xe68ed7fb8766ed1e888291f881e36b616037f852b37d96877045319ad298ba87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1d491a2ca79dbf44bc02e876e21a5847a2cbcc011188532ad8662cdc1c134a4e\",\"dweb:/ipfs/QmUQXhSV8ZvHLzfdG89ZNSh1nLrAYyjnNBLznJGwGcwVk8\"]},\"@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/ERC20Burnable.sol\":{\"keccak256\":\"0x0d19410453cda55960a818e02bd7c18952a5c8fe7a3036e81f0d599f34487a7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4c0f62d3d5bef22b5ca00cc3903e7de6152cb68d2d22401a463f373cda54c00f\",\"dweb:/ipfs/QmSfzjZux7LC7NW2f7rjCXTHeFMUCWERqDkhpCTBy7kxTe\"]},\"@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\"]},\"project:/contracts/tokens/erc20/BEUSTD.sol\":{\"keccak256\":\"0xe4cee4312e8e49cd4559681f616635a9f22806b9d831eb2e16caec8aae7e5562\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://efc17d52ea5e117c222fdd4763ad0d85e68011fc2a3bfd85d59b7f2f4ca20f4c\",\"dweb:/ipfs/QmVNfTVY9tPTjRCuPJmsSChZ3R4aiESYHdwyDoAwRzCrFR\"]}},\"version\":1}", - "bytecode": "0x60806040523480156200001157600080fd5b506040518060400160405280600c81526020017f42452074657374205553445400000000000000000000000000000000000000008152506040518060400160405280600481526020017f5553445400000000000000000000000000000000000000000000000000000000815250816003908051906020019062000096929190620001c1565b508060049080519060200190620000af929190620001c1565b5050506000600560006101000a81548160ff021916908315150217905550620000ed620000e1620000f360201b60201c565b620000fb60201b60201c565b620002d6565b600033905090565b6000600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b828054620001cf90620002a0565b90600052602060002090601f016020900481019282620001f357600085556200023f565b82601f106200020e57805160ff19168380011785556200023f565b828001600101855582156200023f579182015b828111156200023e57825182559160200191906001019062000221565b5b5090506200024e919062000252565b5090565b5b808211156200026d57600081600090555060010162000253565b5090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620002b957607f821691505b60208210811415620002d057620002cf62000271565b5b50919050565b6121b180620002e66000396000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c806370a08231116100ad57806395d89b411161007157806395d89b41146102f9578063a457c2d714610317578063a9059cbb14610347578063dd62ed3e14610377578063f2fde38b146103a75761012c565b806370a082311461027b578063715018a6146102ab57806379cc6790146102b55780638456cb59146102d15780638da5cb5b146102db5761012c565b806339509351116100f457806339509351146101eb5780633f4ba83a1461021b57806340c10f191461022557806342966c68146102415780635c975abb1461025d5761012c565b806306fdde0314610131578063095ea7b31461014f57806318160ddd1461017f57806323b872dd1461019d578063313ce567146101cd575b600080fd5b6101396103c3565b604051610146919061167a565b60405180910390f35b61016960048036038101906101649190611735565b610455565b6040516101769190611790565b60405180910390f35b610187610478565b60405161019491906117ba565b60405180910390f35b6101b760048036038101906101b291906117d5565b610482565b6040516101c49190611790565b60405180910390f35b6101d56104b1565b6040516101e29190611844565b60405180910390f35b61020560048036038101906102009190611735565b6104ba565b6040516102129190611790565b60405180910390f35b610223610564565b005b61023f600480360381019061023a9190611735565b6105ea565b005b61025b6004803603810190610256919061185f565b610674565b005b610265610688565b6040516102729190611790565b60405180910390f35b6102956004803603810190610290919061188c565b61069f565b6040516102a291906117ba565b60405180910390f35b6102b36106e7565b005b6102cf60048036038101906102ca9190611735565b61076f565b005b6102d961078f565b005b6102e3610815565b6040516102f091906118c8565b60405180910390f35b61030161083f565b60405161030e919061167a565b60405180910390f35b610331600480360381019061032c9190611735565b6108d1565b60405161033e9190611790565b60405180910390f35b610361600480360381019061035c9190611735565b6109bb565b60405161036e9190611790565b60405180910390f35b610391600480360381019061038c91906118e3565b6109de565b60405161039e91906117ba565b60405180910390f35b6103c160048036038101906103bc919061188c565b610a65565b005b6060600380546103d290611952565b80601f01602080910402602001604051908101604052809291908181526020018280546103fe90611952565b801561044b5780601f106104205761010080835404028352916020019161044b565b820191906000526020600020905b81548152906001019060200180831161042e57829003601f168201915b5050505050905090565b600080610460610b5d565b905061046d818585610b65565b600191505092915050565b6000600254905090565b60008061048d610b5d565b905061049a858285610d30565b6104a5858585610dbc565b60019150509392505050565b60006012905090565b6000806104c5610b5d565b9050610559818585600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461055491906119b3565b610b65565b600191505092915050565b61056c610b5d565b73ffffffffffffffffffffffffffffffffffffffff1661058a610815565b73ffffffffffffffffffffffffffffffffffffffff16146105e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d790611a55565b60405180910390fd5b6105e861103d565b565b6105f2610b5d565b73ffffffffffffffffffffffffffffffffffffffff16610610610815565b73ffffffffffffffffffffffffffffffffffffffff1614610666576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065d90611a55565b60405180910390fd5b61067082826110df565b5050565b61068561067f610b5d565b8261123f565b50565b6000600560009054906101000a900460ff16905090565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6106ef610b5d565b73ffffffffffffffffffffffffffffffffffffffff1661070d610815565b73ffffffffffffffffffffffffffffffffffffffff1614610763576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161075a90611a55565b60405180910390fd5b61076d6000611416565b565b6107818261077b610b5d565b83610d30565b61078b828261123f565b5050565b610797610b5d565b73ffffffffffffffffffffffffffffffffffffffff166107b5610815565b73ffffffffffffffffffffffffffffffffffffffff161461080b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080290611a55565b60405180910390fd5b6108136114dc565b565b6000600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606004805461084e90611952565b80601f016020809104026020016040519081016040528092919081815260200182805461087a90611952565b80156108c75780601f1061089c576101008083540402835291602001916108c7565b820191906000526020600020905b8154815290600101906020018083116108aa57829003601f168201915b5050505050905090565b6000806108dc610b5d565b90506000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050838110156109a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099990611ae7565b60405180910390fd5b6109af8286868403610b65565b60019250505092915050565b6000806109c6610b5d565b90506109d3818585610dbc565b600191505092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610a6d610b5d565b73ffffffffffffffffffffffffffffffffffffffff16610a8b610815565b73ffffffffffffffffffffffffffffffffffffffff1614610ae1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ad890611a55565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610b51576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b4890611b79565b60405180910390fd5b610b5a81611416565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bcc90611c0b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610c45576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3c90611c9d565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610d2391906117ba565b60405180910390a3505050565b6000610d3c84846109de565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610db65781811015610da8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9f90611d09565b60405180910390fd5b610db58484848403610b65565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610e2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2390611d9b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610e9c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e9390611e2d565b60405180910390fd5b610ea783838361157f565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610f2d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2490611ebf565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610fc091906119b3565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161102491906117ba565b60405180910390a36110378484846115d7565b50505050565b611045610688565b611084576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107b90611f2b565b60405180910390fd5b6000600560006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6110c8610b5d565b6040516110d591906118c8565b60405180910390a1565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561114f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114690611f97565b60405180910390fd5b61115b6000838361157f565b806002600082825461116d91906119b3565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546111c291906119b3565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161122791906117ba565b60405180910390a361123b600083836115d7565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156112af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112a690612029565b60405180910390fd5b6112bb8260008361157f565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611341576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611338906120bb565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816002600082825461139891906120db565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516113fd91906117ba565b60405180910390a3611411836000846115d7565b505050565b6000600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6114e4610688565b15611524576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151b9061215b565b60405180910390fd5b6001600560006101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611568610b5d565b60405161157591906118c8565b60405180910390a1565b611587610688565b156115c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115be9061215b565b60405180910390fd5b6115d28383836115dc565b505050565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561161b578082015181840152602081019050611600565b8381111561162a576000848401525b50505050565b6000601f19601f8301169050919050565b600061164c826115e1565b61165681856115ec565b93506116668185602086016115fd565b61166f81611630565b840191505092915050565b600060208201905081810360008301526116948184611641565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006116cc826116a1565b9050919050565b6116dc816116c1565b81146116e757600080fd5b50565b6000813590506116f9816116d3565b92915050565b6000819050919050565b611712816116ff565b811461171d57600080fd5b50565b60008135905061172f81611709565b92915050565b6000806040838503121561174c5761174b61169c565b5b600061175a858286016116ea565b925050602061176b85828601611720565b9150509250929050565b60008115159050919050565b61178a81611775565b82525050565b60006020820190506117a56000830184611781565b92915050565b6117b4816116ff565b82525050565b60006020820190506117cf60008301846117ab565b92915050565b6000806000606084860312156117ee576117ed61169c565b5b60006117fc868287016116ea565b935050602061180d868287016116ea565b925050604061181e86828701611720565b9150509250925092565b600060ff82169050919050565b61183e81611828565b82525050565b60006020820190506118596000830184611835565b92915050565b6000602082840312156118755761187461169c565b5b600061188384828501611720565b91505092915050565b6000602082840312156118a2576118a161169c565b5b60006118b0848285016116ea565b91505092915050565b6118c2816116c1565b82525050565b60006020820190506118dd60008301846118b9565b92915050565b600080604083850312156118fa576118f961169c565b5b6000611908858286016116ea565b9250506020611919858286016116ea565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061196a57607f821691505b6020821081141561197e5761197d611923565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006119be826116ff565b91506119c9836116ff565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156119fe576119fd611984565b5b828201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611a3f6020836115ec565b9150611a4a82611a09565b602082019050919050565b60006020820190508181036000830152611a6e81611a32565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000611ad16025836115ec565b9150611adc82611a75565b604082019050919050565b60006020820190508181036000830152611b0081611ac4565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000611b636026836115ec565b9150611b6e82611b07565b604082019050919050565b60006020820190508181036000830152611b9281611b56565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000611bf56024836115ec565b9150611c0082611b99565b604082019050919050565b60006020820190508181036000830152611c2481611be8565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000611c876022836115ec565b9150611c9282611c2b565b604082019050919050565b60006020820190508181036000830152611cb681611c7a565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000611cf3601d836115ec565b9150611cfe82611cbd565b602082019050919050565b60006020820190508181036000830152611d2281611ce6565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000611d856025836115ec565b9150611d9082611d29565b604082019050919050565b60006020820190508181036000830152611db481611d78565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000611e176023836115ec565b9150611e2282611dbb565b604082019050919050565b60006020820190508181036000830152611e4681611e0a565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000611ea96026836115ec565b9150611eb482611e4d565b604082019050919050565b60006020820190508181036000830152611ed881611e9c565b9050919050565b7f5061757361626c653a206e6f7420706175736564000000000000000000000000600082015250565b6000611f156014836115ec565b9150611f2082611edf565b602082019050919050565b60006020820190508181036000830152611f4481611f08565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000611f81601f836115ec565b9150611f8c82611f4b565b602082019050919050565b60006020820190508181036000830152611fb081611f74565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b60006120136021836115ec565b915061201e82611fb7565b604082019050919050565b6000602082019050818103600083015261204281612006565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b60006120a56022836115ec565b91506120b082612049565b604082019050919050565b600060208201905081810360008301526120d481612098565b9050919050565b60006120e6826116ff565b91506120f1836116ff565b92508282101561210457612103611984565b5b828203905092915050565b7f5061757361626c653a2070617573656400000000000000000000000000000000600082015250565b60006121456010836115ec565b91506121508261210f565b602082019050919050565b6000602082019050818103600083015261217481612138565b905091905056fea2646970667358221220f8dd58a8a68871a8f2d318d4a1fff3389473f2ad112572c7f70faffc43b27d2164736f6c634300080a0033", - "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061012c5760003560e01c806370a08231116100ad57806395d89b411161007157806395d89b41146102f9578063a457c2d714610317578063a9059cbb14610347578063dd62ed3e14610377578063f2fde38b146103a75761012c565b806370a082311461027b578063715018a6146102ab57806379cc6790146102b55780638456cb59146102d15780638da5cb5b146102db5761012c565b806339509351116100f457806339509351146101eb5780633f4ba83a1461021b57806340c10f191461022557806342966c68146102415780635c975abb1461025d5761012c565b806306fdde0314610131578063095ea7b31461014f57806318160ddd1461017f57806323b872dd1461019d578063313ce567146101cd575b600080fd5b6101396103c3565b604051610146919061167a565b60405180910390f35b61016960048036038101906101649190611735565b610455565b6040516101769190611790565b60405180910390f35b610187610478565b60405161019491906117ba565b60405180910390f35b6101b760048036038101906101b291906117d5565b610482565b6040516101c49190611790565b60405180910390f35b6101d56104b1565b6040516101e29190611844565b60405180910390f35b61020560048036038101906102009190611735565b6104ba565b6040516102129190611790565b60405180910390f35b610223610564565b005b61023f600480360381019061023a9190611735565b6105ea565b005b61025b6004803603810190610256919061185f565b610674565b005b610265610688565b6040516102729190611790565b60405180910390f35b6102956004803603810190610290919061188c565b61069f565b6040516102a291906117ba565b60405180910390f35b6102b36106e7565b005b6102cf60048036038101906102ca9190611735565b61076f565b005b6102d961078f565b005b6102e3610815565b6040516102f091906118c8565b60405180910390f35b61030161083f565b60405161030e919061167a565b60405180910390f35b610331600480360381019061032c9190611735565b6108d1565b60405161033e9190611790565b60405180910390f35b610361600480360381019061035c9190611735565b6109bb565b60405161036e9190611790565b60405180910390f35b610391600480360381019061038c91906118e3565b6109de565b60405161039e91906117ba565b60405180910390f35b6103c160048036038101906103bc919061188c565b610a65565b005b6060600380546103d290611952565b80601f01602080910402602001604051908101604052809291908181526020018280546103fe90611952565b801561044b5780601f106104205761010080835404028352916020019161044b565b820191906000526020600020905b81548152906001019060200180831161042e57829003601f168201915b5050505050905090565b600080610460610b5d565b905061046d818585610b65565b600191505092915050565b6000600254905090565b60008061048d610b5d565b905061049a858285610d30565b6104a5858585610dbc565b60019150509392505050565b60006012905090565b6000806104c5610b5d565b9050610559818585600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461055491906119b3565b610b65565b600191505092915050565b61056c610b5d565b73ffffffffffffffffffffffffffffffffffffffff1661058a610815565b73ffffffffffffffffffffffffffffffffffffffff16146105e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d790611a55565b60405180910390fd5b6105e861103d565b565b6105f2610b5d565b73ffffffffffffffffffffffffffffffffffffffff16610610610815565b73ffffffffffffffffffffffffffffffffffffffff1614610666576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065d90611a55565b60405180910390fd5b61067082826110df565b5050565b61068561067f610b5d565b8261123f565b50565b6000600560009054906101000a900460ff16905090565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6106ef610b5d565b73ffffffffffffffffffffffffffffffffffffffff1661070d610815565b73ffffffffffffffffffffffffffffffffffffffff1614610763576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161075a90611a55565b60405180910390fd5b61076d6000611416565b565b6107818261077b610b5d565b83610d30565b61078b828261123f565b5050565b610797610b5d565b73ffffffffffffffffffffffffffffffffffffffff166107b5610815565b73ffffffffffffffffffffffffffffffffffffffff161461080b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080290611a55565b60405180910390fd5b6108136114dc565b565b6000600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606004805461084e90611952565b80601f016020809104026020016040519081016040528092919081815260200182805461087a90611952565b80156108c75780601f1061089c576101008083540402835291602001916108c7565b820191906000526020600020905b8154815290600101906020018083116108aa57829003601f168201915b5050505050905090565b6000806108dc610b5d565b90506000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050838110156109a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099990611ae7565b60405180910390fd5b6109af8286868403610b65565b60019250505092915050565b6000806109c6610b5d565b90506109d3818585610dbc565b600191505092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610a6d610b5d565b73ffffffffffffffffffffffffffffffffffffffff16610a8b610815565b73ffffffffffffffffffffffffffffffffffffffff1614610ae1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ad890611a55565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610b51576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b4890611b79565b60405180910390fd5b610b5a81611416565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bcc90611c0b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610c45576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3c90611c9d565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610d2391906117ba565b60405180910390a3505050565b6000610d3c84846109de565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610db65781811015610da8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9f90611d09565b60405180910390fd5b610db58484848403610b65565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610e2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2390611d9b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610e9c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e9390611e2d565b60405180910390fd5b610ea783838361157f565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610f2d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2490611ebf565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610fc091906119b3565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161102491906117ba565b60405180910390a36110378484846115d7565b50505050565b611045610688565b611084576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107b90611f2b565b60405180910390fd5b6000600560006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6110c8610b5d565b6040516110d591906118c8565b60405180910390a1565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561114f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114690611f97565b60405180910390fd5b61115b6000838361157f565b806002600082825461116d91906119b3565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546111c291906119b3565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161122791906117ba565b60405180910390a361123b600083836115d7565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156112af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112a690612029565b60405180910390fd5b6112bb8260008361157f565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611341576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611338906120bb565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816002600082825461139891906120db565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516113fd91906117ba565b60405180910390a3611411836000846115d7565b505050565b6000600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6114e4610688565b15611524576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151b9061215b565b60405180910390fd5b6001600560006101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611568610b5d565b60405161157591906118c8565b60405180910390a1565b611587610688565b156115c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115be9061215b565b60405180910390fd5b6115d28383836115dc565b505050565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561161b578082015181840152602081019050611600565b8381111561162a576000848401525b50505050565b6000601f19601f8301169050919050565b600061164c826115e1565b61165681856115ec565b93506116668185602086016115fd565b61166f81611630565b840191505092915050565b600060208201905081810360008301526116948184611641565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006116cc826116a1565b9050919050565b6116dc816116c1565b81146116e757600080fd5b50565b6000813590506116f9816116d3565b92915050565b6000819050919050565b611712816116ff565b811461171d57600080fd5b50565b60008135905061172f81611709565b92915050565b6000806040838503121561174c5761174b61169c565b5b600061175a858286016116ea565b925050602061176b85828601611720565b9150509250929050565b60008115159050919050565b61178a81611775565b82525050565b60006020820190506117a56000830184611781565b92915050565b6117b4816116ff565b82525050565b60006020820190506117cf60008301846117ab565b92915050565b6000806000606084860312156117ee576117ed61169c565b5b60006117fc868287016116ea565b935050602061180d868287016116ea565b925050604061181e86828701611720565b9150509250925092565b600060ff82169050919050565b61183e81611828565b82525050565b60006020820190506118596000830184611835565b92915050565b6000602082840312156118755761187461169c565b5b600061188384828501611720565b91505092915050565b6000602082840312156118a2576118a161169c565b5b60006118b0848285016116ea565b91505092915050565b6118c2816116c1565b82525050565b60006020820190506118dd60008301846118b9565b92915050565b600080604083850312156118fa576118f961169c565b5b6000611908858286016116ea565b9250506020611919858286016116ea565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061196a57607f821691505b6020821081141561197e5761197d611923565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006119be826116ff565b91506119c9836116ff565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156119fe576119fd611984565b5b828201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611a3f6020836115ec565b9150611a4a82611a09565b602082019050919050565b60006020820190508181036000830152611a6e81611a32565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000611ad16025836115ec565b9150611adc82611a75565b604082019050919050565b60006020820190508181036000830152611b0081611ac4565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000611b636026836115ec565b9150611b6e82611b07565b604082019050919050565b60006020820190508181036000830152611b9281611b56565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000611bf56024836115ec565b9150611c0082611b99565b604082019050919050565b60006020820190508181036000830152611c2481611be8565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000611c876022836115ec565b9150611c9282611c2b565b604082019050919050565b60006020820190508181036000830152611cb681611c7a565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000611cf3601d836115ec565b9150611cfe82611cbd565b602082019050919050565b60006020820190508181036000830152611d2281611ce6565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000611d856025836115ec565b9150611d9082611d29565b604082019050919050565b60006020820190508181036000830152611db481611d78565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000611e176023836115ec565b9150611e2282611dbb565b604082019050919050565b60006020820190508181036000830152611e4681611e0a565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000611ea96026836115ec565b9150611eb482611e4d565b604082019050919050565b60006020820190508181036000830152611ed881611e9c565b9050919050565b7f5061757361626c653a206e6f7420706175736564000000000000000000000000600082015250565b6000611f156014836115ec565b9150611f2082611edf565b602082019050919050565b60006020820190508181036000830152611f4481611f08565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000611f81601f836115ec565b9150611f8c82611f4b565b602082019050919050565b60006020820190508181036000830152611fb081611f74565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b60006120136021836115ec565b915061201e82611fb7565b604082019050919050565b6000602082019050818103600083015261204281612006565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b60006120a56022836115ec565b91506120b082612049565b604082019050919050565b600060208201905081810360008301526120d481612098565b9050919050565b60006120e6826116ff565b91506120f1836116ff565b92508282101561210457612103611984565b5b828203905092915050565b7f5061757361626c653a2070617573656400000000000000000000000000000000600082015250565b60006121456010836115ec565b91506121508261210f565b602082019050919050565b6000602082019050818103600083015261217481612138565b905091905056fea2646970667358221220f8dd58a8a68871a8f2d318d4a1fff3389473f2ad112572c7f70faffc43b27d2164736f6c634300080a0033", + "metadata": "{\"compiler\":{\"version\":\"0.8.10+commit.fc410830\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"}],\"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\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Paused\",\"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\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Unpaused\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MINTER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PAUSER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burnFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"paused\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"removeMintRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"removePauserRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"setMintRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"setPauserRole\",\"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\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unpause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"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}.\"},\"burn(uint256)\":{\"details\":\"Destroys `amount` tokens from the caller. See {ERC20-_burn}.\"},\"burnFrom(address,uint256)\":{\"details\":\"Destroys `amount` tokens from `account`, deducting from the caller's allowance. See {ERC20-_burn} and {ERC20-allowance}. Requirements: - the caller must have allowance for ``accounts``'s tokens of at least `amount`.\"},\"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.\"},\"paused()\":{\"details\":\"Returns true if the contract is paused, and false otherwise.\"},\"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`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"only for test\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/tokens/erc20/BEUSTD.sol\":\"BEUSDT\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@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/security/Pausable.sol\":{\"keccak256\":\"0xe68ed7fb8766ed1e888291f881e36b616037f852b37d96877045319ad298ba87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1d491a2ca79dbf44bc02e876e21a5847a2cbcc011188532ad8662cdc1c134a4e\",\"dweb:/ipfs/QmUQXhSV8ZvHLzfdG89ZNSh1nLrAYyjnNBLznJGwGcwVk8\"]},\"@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/ERC20Burnable.sol\":{\"keccak256\":\"0x0d19410453cda55960a818e02bd7c18952a5c8fe7a3036e81f0d599f34487a7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4c0f62d3d5bef22b5ca00cc3903e7de6152cb68d2d22401a463f373cda54c00f\",\"dweb:/ipfs/QmSfzjZux7LC7NW2f7rjCXTHeFMUCWERqDkhpCTBy7kxTe\"]},\"@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\"]},\"project:/contracts/tokens/erc20/BEUSTD.sol\":{\"keccak256\":\"0xc412f984db3ea8e4291ed4f02b284751550f52a0afb09e6b9453fb2d078f8e35\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d573ded208536f08679941253c3f939ca5340a8c62358c6d0f395e32b7a913b8\",\"dweb:/ipfs/QmZG93zQbSp6iYvLDVckB6YvUDNZhknmnLJbGqZX8AVTFL\"]}},\"version\":1}", + "bytecode": "0x60806040523480156200001157600080fd5b506040516200316e3803806200316e8339818101604052810190620000379190620004d1565b818181600390805190602001906200005192919062000284565b5080600490805190602001906200006a92919062000284565b5050506000600560006101000a81548160ff0219169083151502179055506200009d6000801b336200010960201b60201c565b620000cf7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a336200010960201b60201c565b620001017f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6336200010960201b60201c565b5050620005bb565b6200011b82826200011f60201b60201c565b5050565b6200013182826200021160201b60201c565b6200020d5760016006600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620001b26200027c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b60006006600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600033905090565b828054620002929062000585565b90600052602060002090601f016020900481019282620002b6576000855562000302565b82601f10620002d157805160ff191683800117855562000302565b8280016001018555821562000302579182015b8281111562000301578251825591602001919060010190620002e4565b5b50905062000311919062000315565b5090565b5b808211156200033057600081600090555060010162000316565b5090565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6200039d8262000352565b810181811067ffffffffffffffff82111715620003bf57620003be62000363565b5b80604052505050565b6000620003d462000334565b9050620003e2828262000392565b919050565b600067ffffffffffffffff82111562000405576200040462000363565b5b620004108262000352565b9050602081019050919050565b60005b838110156200043d57808201518184015260208101905062000420565b838111156200044d576000848401525b50505050565b60006200046a6200046484620003e7565b620003c8565b9050828152602081018484840111156200048957620004886200034d565b5b620004968482856200041d565b509392505050565b600082601f830112620004b657620004b562000348565b5b8151620004c884826020860162000453565b91505092915050565b60008060408385031215620004eb57620004ea6200033e565b5b600083015167ffffffffffffffff8111156200050c576200050b62000343565b5b6200051a858286016200049e565b925050602083015167ffffffffffffffff8111156200053e576200053d62000343565b5b6200054c858286016200049e565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200059e57607f821691505b60208210811415620005b557620005b462000556565b5b50919050565b612ba380620005cb6000396000f3fe608060405234801561001057600080fd5b50600436106101da5760003560e01c806342966c681161010457806395d89b41116100a2578063d539139311610071578063d539139314610553578063d547741f14610571578063dd62ed3e1461058d578063e63ab1e9146105bd576101da565b806395d89b41146104b7578063a217fddf146104d5578063a457c2d7146104f3578063a9059cbb14610523576101da565b806370a08231116100de57806370a082311461043157806379cc6790146104615780638456cb591461047d57806391d1485414610487576101da565b806342966c68146103db578063530dd079146103f75780635c975abb14610413576101da565b806323b872dd1161017c57806336568abe1161014b57806336568abe1461036957806339509351146103855780633f4ba83a146103b557806340c10f19146103bf576101da565b806323b872dd146102cf578063248a9ca3146102ff5780632f2ff15d1461032f578063313ce5671461034b576101da565b806315bd2794116101b857806315bd27941461025d57806318160ddd146102795780631bc28a69146102975780631cf4e3ee146102b3576101da565b806301ffc9a7146101df57806306fdde031461020f578063095ea7b31461022d575b600080fd5b6101f960048036038101906101f49190611cee565b6105db565b6040516102069190611d36565b60405180910390f35b610217610655565b6040516102249190611dea565b60405180910390f35b61024760048036038101906102429190611ea0565b6106e7565b6040516102549190611d36565b60405180910390f35b61027760048036038101906102729190611ee0565b61070a565b005b610281610737565b60405161028e9190611f1c565b60405180910390f35b6102b160048036038101906102ac9190611ee0565b610741565b005b6102cd60048036038101906102c89190611ee0565b61076e565b005b6102e960048036038101906102e49190611f37565b61079b565b6040516102f69190611d36565b60405180910390f35b61031960048036038101906103149190611fc0565b6107ca565b6040516103269190611ffc565b60405180910390f35b61034960048036038101906103449190612017565b6107ea565b005b610353610813565b6040516103609190612073565b60405180910390f35b610383600480360381019061037e9190612017565b61081c565b005b61039f600480360381019061039a9190611ea0565b61089f565b6040516103ac9190611d36565b60405180910390f35b6103bd610949565b005b6103d960048036038101906103d49190611ea0565b610986565b005b6103f560048036038101906103f0919061208e565b6109c7565b005b610411600480360381019061040c9190611ee0565b6109db565b005b61041b610a08565b6040516104289190611d36565b60405180910390f35b61044b60048036038101906104469190611ee0565b610a1f565b6040516104589190611f1c565b60405180910390f35b61047b60048036038101906104769190611ea0565b610a67565b005b610485610a87565b005b6104a1600480360381019061049c9190612017565b610ac4565b6040516104ae9190611d36565b60405180910390f35b6104bf610b2f565b6040516104cc9190611dea565b60405180910390f35b6104dd610bc1565b6040516104ea9190611ffc565b60405180910390f35b61050d60048036038101906105089190611ea0565b610bc8565b60405161051a9190611d36565b60405180910390f35b61053d60048036038101906105389190611ea0565b610cb2565b60405161054a9190611d36565b60405180910390f35b61055b610cd5565b6040516105689190611ffc565b60405180910390f35b61058b60048036038101906105869190612017565b610cf9565b005b6105a760048036038101906105a291906120bb565b610d22565b6040516105b49190611f1c565b60405180910390f35b6105c5610da9565b6040516105d29190611ffc565b60405180910390f35b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061064e575061064d82610dcd565b5b9050919050565b6060600380546106649061212a565b80601f01602080910402602001604051908101604052809291908181526020018280546106909061212a565b80156106dd5780601f106106b2576101008083540402835291602001916106dd565b820191906000526020600020905b8154815290600101906020018083116106c057829003601f168201915b5050505050905090565b6000806106f2610e37565b90506106ff818585610e3f565b600191505092915050565b6107347f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a82610cf9565b50565b6000600254905090565b61076b7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a826107ea565b50565b6107987f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a682610cf9565b50565b6000806107a6610e37565b90506107b385828561100a565b6107be858585611096565b60019150509392505050565b600060066000838152602001908152602001600020600101549050919050565b6107f3826107ca565b610804816107ff610e37565b611317565b61080e83836113b4565b505050565b60006012905090565b610824610e37565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610891576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610888906121ce565b60405180910390fd5b61089b8282611495565b5050565b6000806108aa610e37565b905061093e818585600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610939919061221d565b610e3f565b600191505092915050565b7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a61097b81610976610e37565b611317565b610983611577565b50565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a66109b8816109b3610e37565b611317565b6109c28383611619565b505050565b6109d86109d2610e37565b82611779565b50565b610a057f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6826107ea565b50565b6000600560009054906101000a900460ff16905090565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610a7982610a73610e37565b8361100a565b610a838282611779565b5050565b7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a610ab981610ab4610e37565b611317565b610ac1611950565b50565b60006006600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b606060048054610b3e9061212a565b80601f0160208091040260200160405190810160405280929190818152602001828054610b6a9061212a565b8015610bb75780601f10610b8c57610100808354040283529160200191610bb7565b820191906000526020600020905b815481529060010190602001808311610b9a57829003601f168201915b5050505050905090565b6000801b81565b600080610bd3610e37565b90506000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905083811015610c99576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c90906122e5565b60405180910390fd5b610ca68286868403610e3f565b60019250505092915050565b600080610cbd610e37565b9050610cca818585611096565b600191505092915050565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b610d02826107ca565b610d1381610d0e610e37565b611317565b610d1d8383611495565b505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a81565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610eaf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ea690612377565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610f1f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1690612409565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610ffd9190611f1c565b60405180910390a3505050565b60006110168484610d22565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146110905781811015611082576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107990612475565b60405180910390fd5b61108f8484848403610e3f565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611106576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110fd90612507565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611176576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116d90612599565b60405180910390fd5b6111818383836119f3565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611207576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111fe9061262b565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461129a919061221d565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516112fe9190611f1c565b60405180910390a3611311848484611a4b565b50505050565b6113218282610ac4565b6113b0576113468173ffffffffffffffffffffffffffffffffffffffff166014611a50565b6113548360001c6020611a50565b60405160200161136592919061271f565b6040516020818303038152906040526040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113a79190611dea565b60405180910390fd5b5050565b6113be8282610ac4565b6114915760016006600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611436610e37565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b61149f8282610ac4565b156115735760006006600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611518610e37565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b61157f610a08565b6115be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115b5906127a5565b60405180910390fd5b6000600560006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa611602610e37565b60405161160f91906127d4565b60405180910390a1565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611689576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116809061283b565b60405180910390fd5b611695600083836119f3565b80600260008282546116a7919061221d565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546116fc919061221d565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516117619190611f1c565b60405180910390a361177560008383611a4b565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156117e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117e0906128cd565b60405180910390fd5b6117f5826000836119f3565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561187b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118729061295f565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008282546118d2919061297f565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516119379190611f1c565b60405180910390a361194b83600084611a4b565b505050565b611958610a08565b15611998576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161198f906129ff565b60405180910390fd5b6001600560006101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586119dc610e37565b6040516119e991906127d4565b60405180910390a1565b6119fb610a08565b15611a3b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a32906129ff565b60405180910390fd5b611a46838383611c8c565b505050565b505050565b606060006002836002611a639190612a1f565b611a6d919061221d565b67ffffffffffffffff811115611a8657611a85612a79565b5b6040519080825280601f01601f191660200182016040528015611ab85781602001600182028036833780820191505090505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110611af057611aef612aa8565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110611b5457611b53612aa8565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060006001846002611b949190612a1f565b611b9e919061221d565b90505b6001811115611c3e577f3031323334353637383961626364656600000000000000000000000000000000600f861660108110611be057611bdf612aa8565b5b1a60f81b828281518110611bf757611bf6612aa8565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c945080611c3790612ad7565b9050611ba1565b5060008414611c82576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c7990612b4d565b60405180910390fd5b8091505092915050565b505050565b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611ccb81611c96565b8114611cd657600080fd5b50565b600081359050611ce881611cc2565b92915050565b600060208284031215611d0457611d03611c91565b5b6000611d1284828501611cd9565b91505092915050565b60008115159050919050565b611d3081611d1b565b82525050565b6000602082019050611d4b6000830184611d27565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611d8b578082015181840152602081019050611d70565b83811115611d9a576000848401525b50505050565b6000601f19601f8301169050919050565b6000611dbc82611d51565b611dc68185611d5c565b9350611dd6818560208601611d6d565b611ddf81611da0565b840191505092915050565b60006020820190508181036000830152611e048184611db1565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611e3782611e0c565b9050919050565b611e4781611e2c565b8114611e5257600080fd5b50565b600081359050611e6481611e3e565b92915050565b6000819050919050565b611e7d81611e6a565b8114611e8857600080fd5b50565b600081359050611e9a81611e74565b92915050565b60008060408385031215611eb757611eb6611c91565b5b6000611ec585828601611e55565b9250506020611ed685828601611e8b565b9150509250929050565b600060208284031215611ef657611ef5611c91565b5b6000611f0484828501611e55565b91505092915050565b611f1681611e6a565b82525050565b6000602082019050611f316000830184611f0d565b92915050565b600080600060608486031215611f5057611f4f611c91565b5b6000611f5e86828701611e55565b9350506020611f6f86828701611e55565b9250506040611f8086828701611e8b565b9150509250925092565b6000819050919050565b611f9d81611f8a565b8114611fa857600080fd5b50565b600081359050611fba81611f94565b92915050565b600060208284031215611fd657611fd5611c91565b5b6000611fe484828501611fab565b91505092915050565b611ff681611f8a565b82525050565b60006020820190506120116000830184611fed565b92915050565b6000806040838503121561202e5761202d611c91565b5b600061203c85828601611fab565b925050602061204d85828601611e55565b9150509250929050565b600060ff82169050919050565b61206d81612057565b82525050565b60006020820190506120886000830184612064565b92915050565b6000602082840312156120a4576120a3611c91565b5b60006120b284828501611e8b565b91505092915050565b600080604083850312156120d2576120d1611c91565b5b60006120e085828601611e55565b92505060206120f185828601611e55565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061214257607f821691505b60208210811415612156576121556120fb565b5b50919050565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b60006121b8602f83611d5c565b91506121c38261215c565b604082019050919050565b600060208201905081810360008301526121e7816121ab565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061222882611e6a565b915061223383611e6a565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612268576122676121ee565b5b828201905092915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b60006122cf602583611d5c565b91506122da82612273565b604082019050919050565b600060208201905081810360008301526122fe816122c2565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612361602483611d5c565b915061236c82612305565b604082019050919050565b6000602082019050818103600083015261239081612354565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006123f3602283611d5c565b91506123fe82612397565b604082019050919050565b60006020820190508181036000830152612422816123e6565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b600061245f601d83611d5c565b915061246a82612429565b602082019050919050565b6000602082019050818103600083015261248e81612452565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006124f1602583611d5c565b91506124fc82612495565b604082019050919050565b60006020820190508181036000830152612520816124e4565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612583602383611d5c565b915061258e82612527565b604082019050919050565b600060208201905081810360008301526125b281612576565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000612615602683611d5c565b9150612620826125b9565b604082019050919050565b6000602082019050818103600083015261264481612608565b9050919050565b600081905092915050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b600061268c60178361264b565b915061269782612656565b601782019050919050565b60006126ad82611d51565b6126b7818561264b565b93506126c7818560208601611d6d565b80840191505092915050565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b600061270960118361264b565b9150612714826126d3565b601182019050919050565b600061272a8261267f565b915061273682856126a2565b9150612741826126fc565b915061274d82846126a2565b91508190509392505050565b7f5061757361626c653a206e6f7420706175736564000000000000000000000000600082015250565b600061278f601483611d5c565b915061279a82612759565b602082019050919050565b600060208201905081810360008301526127be81612782565b9050919050565b6127ce81611e2c565b82525050565b60006020820190506127e960008301846127c5565b92915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000612825601f83611d5c565b9150612830826127ef565b602082019050919050565b6000602082019050818103600083015261285481612818565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b60006128b7602183611d5c565b91506128c28261285b565b604082019050919050565b600060208201905081810360008301526128e6816128aa565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b6000612949602283611d5c565b9150612954826128ed565b604082019050919050565b600060208201905081810360008301526129788161293c565b9050919050565b600061298a82611e6a565b915061299583611e6a565b9250828210156129a8576129a76121ee565b5b828203905092915050565b7f5061757361626c653a2070617573656400000000000000000000000000000000600082015250565b60006129e9601083611d5c565b91506129f4826129b3565b602082019050919050565b60006020820190508181036000830152612a18816129dc565b9050919050565b6000612a2a82611e6a565b9150612a3583611e6a565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612a6e57612a6d6121ee565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000612ae282611e6a565b91506000821415612af657612af56121ee565b5b600182039050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b6000612b37602083611d5c565b9150612b4282612b01565b602082019050919050565b60006020820190508181036000830152612b6681612b2a565b905091905056fea26469706673582212207c10b221b0e2ca2b83683994423e01021a26d3a2ae394a542c3f143deed1592764736f6c634300080a0033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101da5760003560e01c806342966c681161010457806395d89b41116100a2578063d539139311610071578063d539139314610553578063d547741f14610571578063dd62ed3e1461058d578063e63ab1e9146105bd576101da565b806395d89b41146104b7578063a217fddf146104d5578063a457c2d7146104f3578063a9059cbb14610523576101da565b806370a08231116100de57806370a082311461043157806379cc6790146104615780638456cb591461047d57806391d1485414610487576101da565b806342966c68146103db578063530dd079146103f75780635c975abb14610413576101da565b806323b872dd1161017c57806336568abe1161014b57806336568abe1461036957806339509351146103855780633f4ba83a146103b557806340c10f19146103bf576101da565b806323b872dd146102cf578063248a9ca3146102ff5780632f2ff15d1461032f578063313ce5671461034b576101da565b806315bd2794116101b857806315bd27941461025d57806318160ddd146102795780631bc28a69146102975780631cf4e3ee146102b3576101da565b806301ffc9a7146101df57806306fdde031461020f578063095ea7b31461022d575b600080fd5b6101f960048036038101906101f49190611cee565b6105db565b6040516102069190611d36565b60405180910390f35b610217610655565b6040516102249190611dea565b60405180910390f35b61024760048036038101906102429190611ea0565b6106e7565b6040516102549190611d36565b60405180910390f35b61027760048036038101906102729190611ee0565b61070a565b005b610281610737565b60405161028e9190611f1c565b60405180910390f35b6102b160048036038101906102ac9190611ee0565b610741565b005b6102cd60048036038101906102c89190611ee0565b61076e565b005b6102e960048036038101906102e49190611f37565b61079b565b6040516102f69190611d36565b60405180910390f35b61031960048036038101906103149190611fc0565b6107ca565b6040516103269190611ffc565b60405180910390f35b61034960048036038101906103449190612017565b6107ea565b005b610353610813565b6040516103609190612073565b60405180910390f35b610383600480360381019061037e9190612017565b61081c565b005b61039f600480360381019061039a9190611ea0565b61089f565b6040516103ac9190611d36565b60405180910390f35b6103bd610949565b005b6103d960048036038101906103d49190611ea0565b610986565b005b6103f560048036038101906103f0919061208e565b6109c7565b005b610411600480360381019061040c9190611ee0565b6109db565b005b61041b610a08565b6040516104289190611d36565b60405180910390f35b61044b60048036038101906104469190611ee0565b610a1f565b6040516104589190611f1c565b60405180910390f35b61047b60048036038101906104769190611ea0565b610a67565b005b610485610a87565b005b6104a1600480360381019061049c9190612017565b610ac4565b6040516104ae9190611d36565b60405180910390f35b6104bf610b2f565b6040516104cc9190611dea565b60405180910390f35b6104dd610bc1565b6040516104ea9190611ffc565b60405180910390f35b61050d60048036038101906105089190611ea0565b610bc8565b60405161051a9190611d36565b60405180910390f35b61053d60048036038101906105389190611ea0565b610cb2565b60405161054a9190611d36565b60405180910390f35b61055b610cd5565b6040516105689190611ffc565b60405180910390f35b61058b60048036038101906105869190612017565b610cf9565b005b6105a760048036038101906105a291906120bb565b610d22565b6040516105b49190611f1c565b60405180910390f35b6105c5610da9565b6040516105d29190611ffc565b60405180910390f35b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061064e575061064d82610dcd565b5b9050919050565b6060600380546106649061212a565b80601f01602080910402602001604051908101604052809291908181526020018280546106909061212a565b80156106dd5780601f106106b2576101008083540402835291602001916106dd565b820191906000526020600020905b8154815290600101906020018083116106c057829003601f168201915b5050505050905090565b6000806106f2610e37565b90506106ff818585610e3f565b600191505092915050565b6107347f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a82610cf9565b50565b6000600254905090565b61076b7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a826107ea565b50565b6107987f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a682610cf9565b50565b6000806107a6610e37565b90506107b385828561100a565b6107be858585611096565b60019150509392505050565b600060066000838152602001908152602001600020600101549050919050565b6107f3826107ca565b610804816107ff610e37565b611317565b61080e83836113b4565b505050565b60006012905090565b610824610e37565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610891576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610888906121ce565b60405180910390fd5b61089b8282611495565b5050565b6000806108aa610e37565b905061093e818585600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610939919061221d565b610e3f565b600191505092915050565b7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a61097b81610976610e37565b611317565b610983611577565b50565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a66109b8816109b3610e37565b611317565b6109c28383611619565b505050565b6109d86109d2610e37565b82611779565b50565b610a057f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6826107ea565b50565b6000600560009054906101000a900460ff16905090565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610a7982610a73610e37565b8361100a565b610a838282611779565b5050565b7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a610ab981610ab4610e37565b611317565b610ac1611950565b50565b60006006600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b606060048054610b3e9061212a565b80601f0160208091040260200160405190810160405280929190818152602001828054610b6a9061212a565b8015610bb75780601f10610b8c57610100808354040283529160200191610bb7565b820191906000526020600020905b815481529060010190602001808311610b9a57829003601f168201915b5050505050905090565b6000801b81565b600080610bd3610e37565b90506000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905083811015610c99576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c90906122e5565b60405180910390fd5b610ca68286868403610e3f565b60019250505092915050565b600080610cbd610e37565b9050610cca818585611096565b600191505092915050565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b610d02826107ca565b610d1381610d0e610e37565b611317565b610d1d8383611495565b505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a81565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610eaf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ea690612377565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610f1f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1690612409565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610ffd9190611f1c565b60405180910390a3505050565b60006110168484610d22565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146110905781811015611082576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107990612475565b60405180910390fd5b61108f8484848403610e3f565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611106576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110fd90612507565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611176576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116d90612599565b60405180910390fd5b6111818383836119f3565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611207576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111fe9061262b565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461129a919061221d565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516112fe9190611f1c565b60405180910390a3611311848484611a4b565b50505050565b6113218282610ac4565b6113b0576113468173ffffffffffffffffffffffffffffffffffffffff166014611a50565b6113548360001c6020611a50565b60405160200161136592919061271f565b6040516020818303038152906040526040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113a79190611dea565b60405180910390fd5b5050565b6113be8282610ac4565b6114915760016006600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611436610e37565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b61149f8282610ac4565b156115735760006006600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611518610e37565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b61157f610a08565b6115be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115b5906127a5565b60405180910390fd5b6000600560006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa611602610e37565b60405161160f91906127d4565b60405180910390a1565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611689576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116809061283b565b60405180910390fd5b611695600083836119f3565b80600260008282546116a7919061221d565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546116fc919061221d565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516117619190611f1c565b60405180910390a361177560008383611a4b565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156117e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117e0906128cd565b60405180910390fd5b6117f5826000836119f3565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561187b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118729061295f565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008282546118d2919061297f565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516119379190611f1c565b60405180910390a361194b83600084611a4b565b505050565b611958610a08565b15611998576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161198f906129ff565b60405180910390fd5b6001600560006101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586119dc610e37565b6040516119e991906127d4565b60405180910390a1565b6119fb610a08565b15611a3b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a32906129ff565b60405180910390fd5b611a46838383611c8c565b505050565b505050565b606060006002836002611a639190612a1f565b611a6d919061221d565b67ffffffffffffffff811115611a8657611a85612a79565b5b6040519080825280601f01601f191660200182016040528015611ab85781602001600182028036833780820191505090505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110611af057611aef612aa8565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110611b5457611b53612aa8565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060006001846002611b949190612a1f565b611b9e919061221d565b90505b6001811115611c3e577f3031323334353637383961626364656600000000000000000000000000000000600f861660108110611be057611bdf612aa8565b5b1a60f81b828281518110611bf757611bf6612aa8565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c945080611c3790612ad7565b9050611ba1565b5060008414611c82576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c7990612b4d565b60405180910390fd5b8091505092915050565b505050565b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611ccb81611c96565b8114611cd657600080fd5b50565b600081359050611ce881611cc2565b92915050565b600060208284031215611d0457611d03611c91565b5b6000611d1284828501611cd9565b91505092915050565b60008115159050919050565b611d3081611d1b565b82525050565b6000602082019050611d4b6000830184611d27565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611d8b578082015181840152602081019050611d70565b83811115611d9a576000848401525b50505050565b6000601f19601f8301169050919050565b6000611dbc82611d51565b611dc68185611d5c565b9350611dd6818560208601611d6d565b611ddf81611da0565b840191505092915050565b60006020820190508181036000830152611e048184611db1565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611e3782611e0c565b9050919050565b611e4781611e2c565b8114611e5257600080fd5b50565b600081359050611e6481611e3e565b92915050565b6000819050919050565b611e7d81611e6a565b8114611e8857600080fd5b50565b600081359050611e9a81611e74565b92915050565b60008060408385031215611eb757611eb6611c91565b5b6000611ec585828601611e55565b9250506020611ed685828601611e8b565b9150509250929050565b600060208284031215611ef657611ef5611c91565b5b6000611f0484828501611e55565b91505092915050565b611f1681611e6a565b82525050565b6000602082019050611f316000830184611f0d565b92915050565b600080600060608486031215611f5057611f4f611c91565b5b6000611f5e86828701611e55565b9350506020611f6f86828701611e55565b9250506040611f8086828701611e8b565b9150509250925092565b6000819050919050565b611f9d81611f8a565b8114611fa857600080fd5b50565b600081359050611fba81611f94565b92915050565b600060208284031215611fd657611fd5611c91565b5b6000611fe484828501611fab565b91505092915050565b611ff681611f8a565b82525050565b60006020820190506120116000830184611fed565b92915050565b6000806040838503121561202e5761202d611c91565b5b600061203c85828601611fab565b925050602061204d85828601611e55565b9150509250929050565b600060ff82169050919050565b61206d81612057565b82525050565b60006020820190506120886000830184612064565b92915050565b6000602082840312156120a4576120a3611c91565b5b60006120b284828501611e8b565b91505092915050565b600080604083850312156120d2576120d1611c91565b5b60006120e085828601611e55565b92505060206120f185828601611e55565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061214257607f821691505b60208210811415612156576121556120fb565b5b50919050565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b60006121b8602f83611d5c565b91506121c38261215c565b604082019050919050565b600060208201905081810360008301526121e7816121ab565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061222882611e6a565b915061223383611e6a565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612268576122676121ee565b5b828201905092915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b60006122cf602583611d5c565b91506122da82612273565b604082019050919050565b600060208201905081810360008301526122fe816122c2565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612361602483611d5c565b915061236c82612305565b604082019050919050565b6000602082019050818103600083015261239081612354565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006123f3602283611d5c565b91506123fe82612397565b604082019050919050565b60006020820190508181036000830152612422816123e6565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b600061245f601d83611d5c565b915061246a82612429565b602082019050919050565b6000602082019050818103600083015261248e81612452565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006124f1602583611d5c565b91506124fc82612495565b604082019050919050565b60006020820190508181036000830152612520816124e4565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612583602383611d5c565b915061258e82612527565b604082019050919050565b600060208201905081810360008301526125b281612576565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000612615602683611d5c565b9150612620826125b9565b604082019050919050565b6000602082019050818103600083015261264481612608565b9050919050565b600081905092915050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b600061268c60178361264b565b915061269782612656565b601782019050919050565b60006126ad82611d51565b6126b7818561264b565b93506126c7818560208601611d6d565b80840191505092915050565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b600061270960118361264b565b9150612714826126d3565b601182019050919050565b600061272a8261267f565b915061273682856126a2565b9150612741826126fc565b915061274d82846126a2565b91508190509392505050565b7f5061757361626c653a206e6f7420706175736564000000000000000000000000600082015250565b600061278f601483611d5c565b915061279a82612759565b602082019050919050565b600060208201905081810360008301526127be81612782565b9050919050565b6127ce81611e2c565b82525050565b60006020820190506127e960008301846127c5565b92915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000612825601f83611d5c565b9150612830826127ef565b602082019050919050565b6000602082019050818103600083015261285481612818565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b60006128b7602183611d5c565b91506128c28261285b565b604082019050919050565b600060208201905081810360008301526128e6816128aa565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b6000612949602283611d5c565b9150612954826128ed565b604082019050919050565b600060208201905081810360008301526129788161293c565b9050919050565b600061298a82611e6a565b915061299583611e6a565b9250828210156129a8576129a76121ee565b5b828203905092915050565b7f5061757361626c653a2070617573656400000000000000000000000000000000600082015250565b60006129e9601083611d5c565b91506129f4826129b3565b602082019050919050565b60006020820190508181036000830152612a18816129dc565b9050919050565b6000612a2a82611e6a565b9150612a3583611e6a565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612a6e57612a6d6121ee565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000612ae282611e6a565b91506000821415612af657612af56121ee565b5b600182039050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b6000612b37602083611d5c565b9150612b4282612b01565b602082019050919050565b60006020820190508181036000830152612b6681612b2a565b905091905056fea26469706673582212207c10b221b0e2ca2b83683994423e01021a26d3a2ae394a542c3f143deed1592764736f6c634300080a0033", "immutableReferences": {}, "generatedSources": [ { "ast": { "nodeType": "YulBlock", - "src": "0:516:8", + "src": "0:4093:12", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "35:152:8", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "52:1:8", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "55:77:8", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "45:6:8" - }, - "nodeType": "YulFunctionCall", - "src": "45:88:8" - }, - "nodeType": "YulExpressionStatement", - "src": "45:88:8" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "149:1:8", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "152:4:8", - "type": "", - "value": "0x22" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "142:6:8" - }, - "nodeType": "YulFunctionCall", - "src": "142:15:8" - }, - "nodeType": "YulExpressionStatement", - "src": "142:15:8" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "173:1:8", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "176:4:8", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "166:6:8" - }, - "nodeType": "YulFunctionCall", - "src": "166:15:8" - }, - "nodeType": "YulExpressionStatement", - "src": "166:15:8" - } - ] - }, - "name": "panic_error_0x22", - "nodeType": "YulFunctionDefinition", - "src": "7:180:8" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "244:269:8", + "src": "47:35:12", "statements": [ { "nodeType": "YulAssignment", - "src": "254:22:8", - "value": { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "268:4:8" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "274:1:8", - "type": "", - "value": "2" - } - ], - "functionName": { - "name": "div", - "nodeType": "YulIdentifier", - "src": "264:3:8" - }, - "nodeType": "YulFunctionCall", - "src": "264:12:8" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "254:6:8" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "285:38:8", - "value": { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "315:4:8" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "321:1:8", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "311:3:8" - }, - "nodeType": "YulFunctionCall", - "src": "311:12:8" - }, - "variables": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulTypedName", - "src": "289:18:8", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "362:51:8", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "376:27:8", - "value": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "390:6:8" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "398:4:8", - "type": "", - "value": "0x7f" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "386:3:8" - }, - "nodeType": "YulFunctionCall", - "src": "386:17:8" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "376:6:8" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "342:18:8" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "335:6:8" - }, - "nodeType": "YulFunctionCall", - "src": "335:26:8" - }, - "nodeType": "YulIf", - "src": "332:81:8" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "465:42:8", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x22", - "nodeType": "YulIdentifier", - "src": "479:16:8" - }, - "nodeType": "YulFunctionCall", - "src": "479:18:8" - }, - "nodeType": "YulExpressionStatement", - "src": "479:18:8" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "429:18:8" - }, - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "452:6:8" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "460:2:8", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "449:2:8" - }, - "nodeType": "YulFunctionCall", - "src": "449:14:8" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "426:2:8" - }, - "nodeType": "YulFunctionCall", - "src": "426:38:8" - }, - "nodeType": "YulIf", - "src": "423:84:8" - } - ] - }, - "name": "extract_byte_array_length", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "data", - "nodeType": "YulTypedName", - "src": "228:4:8", - "type": "" - } - ], - "returnVariables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "237:6:8", - "type": "" - } - ], - "src": "193:320:8" - } - ] - }, - "contents": "{\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": 8, - "language": "Yul", - "name": "#utility.yul" - } - ], - "deployedGeneratedSources": [ - { - "ast": { - "nodeType": "YulBlock", - "src": "0:21731:8", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "66:40:8", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "77:22:8", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "93:5:8" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "87:5:8" - }, - "nodeType": "YulFunctionCall", - "src": "87:12:8" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "77:6:8" - } - ] - } - ] - }, - "name": "array_length_t_string_memory_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "49:5:8", - "type": "" - } - ], - "returnVariables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "59:6:8", - "type": "" - } - ], - "src": "7:99:8" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "208:73:8", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "225:3:8" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "230:6:8" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "218:6:8" - }, - "nodeType": "YulFunctionCall", - "src": "218:19:8" - }, - "nodeType": "YulExpressionStatement", - "src": "218:19:8" - }, - { - "nodeType": "YulAssignment", - "src": "246:29:8", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "265:3:8" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "270:4:8", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "261:3:8" - }, - "nodeType": "YulFunctionCall", - "src": "261:14:8" - }, - "variableNames": [ - { - "name": "updated_pos", - "nodeType": "YulIdentifier", - "src": "246:11:8" - } - ] - } - ] - }, - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "180:3:8", - "type": "" - }, - { - "name": "length", - "nodeType": "YulTypedName", - "src": "185:6:8", - "type": "" - } - ], - "returnVariables": [ - { - "name": "updated_pos", - "nodeType": "YulTypedName", - "src": "196:11:8", - "type": "" - } - ], - "src": "112:169:8" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "336:258:8", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "346:10:8", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "355:1:8", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "350:1:8", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "415:63:8", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "440:3:8" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "445:1:8" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "436:3:8" - }, - "nodeType": "YulFunctionCall", - "src": "436:11:8" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "459:3:8" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "464:1:8" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "455:3:8" - }, - "nodeType": "YulFunctionCall", - "src": "455:11:8" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "449:5:8" - }, - "nodeType": "YulFunctionCall", - "src": "449:18:8" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "429:6:8" - }, - "nodeType": "YulFunctionCall", - "src": "429:39:8" - }, - "nodeType": "YulExpressionStatement", - "src": "429:39:8" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "376:1:8" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "379:6:8" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "373:2:8" - }, - "nodeType": "YulFunctionCall", - "src": "373:13:8" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "387:19:8", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "389:15:8", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "398:1:8" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "401:2:8", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "394:3:8" - }, - "nodeType": "YulFunctionCall", - "src": "394:10:8" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "389:1:8" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "369:3:8", - "statements": [] - }, - "src": "365:113:8" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "512:76:8", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "562:3:8" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "567:6:8" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "558:3:8" - }, - "nodeType": "YulFunctionCall", - "src": "558:16:8" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "576:1:8", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "551:6:8" - }, - "nodeType": "YulFunctionCall", - "src": "551:27:8" - }, - "nodeType": "YulExpressionStatement", - "src": "551:27:8" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "493:1:8" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "496:6:8" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "490:2:8" - }, - "nodeType": "YulFunctionCall", - "src": "490:13:8" - }, - "nodeType": "YulIf", - "src": "487:101:8" - } - ] - }, - "name": "copy_memory_to_memory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "src", - "nodeType": "YulTypedName", - "src": "318:3:8", - "type": "" - }, - { - "name": "dst", - "nodeType": "YulTypedName", - "src": "323:3:8", - "type": "" - }, - { - "name": "length", - "nodeType": "YulTypedName", - "src": "328:6:8", - "type": "" - } - ], - "src": "287:307:8" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "648:54:8", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "658:38:8", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "676:5:8" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "683:2:8", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "672:3:8" - }, - "nodeType": "YulFunctionCall", - "src": "672:14:8" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "692:2:8", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "688:3:8" - }, - "nodeType": "YulFunctionCall", - "src": "688:7:8" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "668:3:8" - }, - "nodeType": "YulFunctionCall", - "src": "668:28:8" - }, - "variableNames": [ - { - "name": "result", - "nodeType": "YulIdentifier", - "src": "658:6:8" - } - ] - } - ] - }, - "name": "round_up_to_mul_of_32", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "631:5:8", - "type": "" - } - ], - "returnVariables": [ - { - "name": "result", - "nodeType": "YulTypedName", - "src": "641:6:8", - "type": "" - } - ], - "src": "600:102:8" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "800:272:8", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "810:53:8", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "857:5:8" - } - ], - "functionName": { - "name": "array_length_t_string_memory_ptr", - "nodeType": "YulIdentifier", - "src": "824:32:8" - }, - "nodeType": "YulFunctionCall", - "src": "824:39:8" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "814:6:8", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "872:78:8", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "938:3:8" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "943:6:8" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "879:58:8" - }, - "nodeType": "YulFunctionCall", - "src": "879:71:8" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "872:3:8" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "985:5:8" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "992:4:8", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "981:3:8" - }, - "nodeType": "YulFunctionCall", - "src": "981:16:8" - }, - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "999:3:8" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1004:6:8" - } - ], - "functionName": { - "name": "copy_memory_to_memory", - "nodeType": "YulIdentifier", - "src": "959:21:8" - }, - "nodeType": "YulFunctionCall", - "src": "959:52:8" - }, - "nodeType": "YulExpressionStatement", - "src": "959:52:8" - }, - { - "nodeType": "YulAssignment", - "src": "1020:46:8", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "1031:3:8" - }, - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1058:6:8" - } - ], - "functionName": { - "name": "round_up_to_mul_of_32", - "nodeType": "YulIdentifier", - "src": "1036:21:8" - }, - "nodeType": "YulFunctionCall", - "src": "1036:29:8" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1027:3:8" - }, - "nodeType": "YulFunctionCall", - "src": "1027:39:8" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "1020:3:8" - } - ] - } - ] - }, - "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "781:5:8", - "type": "" - }, - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "788:3:8", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "796:3:8", - "type": "" - } - ], - "src": "708:364:8" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1196:195:8", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1206:26:8", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1218:9:8" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1229:2:8", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1214:3:8" - }, - "nodeType": "YulFunctionCall", - "src": "1214:18:8" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "1206:4:8" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1253:9:8" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1264:1:8", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1249:3:8" - }, - "nodeType": "YulFunctionCall", - "src": "1249:17:8" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "1272:4:8" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1278:9:8" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "1268:3:8" - }, - "nodeType": "YulFunctionCall", - "src": "1268:20:8" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1242:6:8" - }, - "nodeType": "YulFunctionCall", - "src": "1242:47:8" - }, - "nodeType": "YulExpressionStatement", - "src": "1242:47:8" - }, - { - "nodeType": "YulAssignment", - "src": "1298:86:8", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1370:6:8" - }, - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "1379:4:8" - } - ], - "functionName": { - "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "1306:63:8" - }, - "nodeType": "YulFunctionCall", - "src": "1306:78:8" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "1298:4:8" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1168:9:8", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1180:6:8", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "1191:4:8", - "type": "" - } - ], - "src": "1078:313:8" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1437:35:8", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1447:19:8", + "src": "57:19:12", "value": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", - "src": "1463:2:8", + "src": "73:2:12", "type": "", "value": "64" } @@ -1647,16 +716,16 @@ "functionName": { "name": "mload", "nodeType": "YulIdentifier", - "src": "1457:5:8" + "src": "67:5:12" }, "nodeType": "YulFunctionCall", - "src": "1457:9:8" + "src": "67:9:12" }, "variableNames": [ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "1447:6:8" + "src": "57:6:12" } ] } @@ -1668,16 +737,16 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "1430:6:8", + "src": "40:6:12", "type": "" } ], - "src": "1397:75:8" + "src": "7:75:12" }, { "body": { "nodeType": "YulBlock", - "src": "1567:28:8", + "src": "177:28:12", "statements": [ { "expression": { @@ -1685,14 +754,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "1584:1:8", + "src": "194:1:12", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "1587:1:8", + "src": "197:1:12", "type": "", "value": "0" } @@ -1700,24 +769,24 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "1577:6:8" + "src": "187:6:12" }, "nodeType": "YulFunctionCall", - "src": "1577:12:8" + "src": "187:12:12" }, "nodeType": "YulExpressionStatement", - "src": "1577:12:8" + "src": "187:12:12" } ] }, "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulFunctionDefinition", - "src": "1478:117:8" + "src": "88:117:12" }, { "body": { "nodeType": "YulBlock", - "src": "1690:28:8", + "src": "300:28:12", "statements": [ { "expression": { @@ -1725,14 +794,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "1707:1:8", + "src": "317:1:12", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "1710:1:8", + "src": "320:1:12", "type": "", "value": "0" } @@ -1740,39 +809,3724 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "1700:6:8" + "src": "310:6:12" }, "nodeType": "YulFunctionCall", - "src": "1700:12:8" + "src": "310:12:12" }, "nodeType": "YulExpressionStatement", - "src": "1700:12:8" + "src": "310:12:12" } ] }, "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", "nodeType": "YulFunctionDefinition", - "src": "1601:117:8" + "src": "211:117:12" }, { "body": { "nodeType": "YulBlock", - "src": "1769:81:8", + "src": "423:28:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "440:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "443:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "433:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "433:12:12" + }, + "nodeType": "YulExpressionStatement", + "src": "433:12:12" + } + ] + }, + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nodeType": "YulFunctionDefinition", + "src": "334:117:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "546:28:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "563:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "566:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "556:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "556:12:12" + }, + "nodeType": "YulExpressionStatement", + "src": "556:12:12" + } + ] + }, + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nodeType": "YulFunctionDefinition", + "src": "457:117:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "628:54:12", "statements": [ { "nodeType": "YulAssignment", - "src": "1779:65:8", + "src": "638:38:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "656:5:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "663:2:12", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "652:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "652:14:12" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "672:2:12", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "668:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "668:7:12" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "648:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "648:28:12" + }, + "variableNames": [ + { + "name": "result", + "nodeType": "YulIdentifier", + "src": "638:6:12" + } + ] + } + ] + }, + "name": "round_up_to_mul_of_32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "611:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nodeType": "YulTypedName", + "src": "621:6:12", + "type": "" + } + ], + "src": "580:102:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "716:152:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "733:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "736:77:12", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "726:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "726:88:12" + }, + "nodeType": "YulExpressionStatement", + "src": "726:88:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "830:1:12", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "833:4:12", + "type": "", + "value": "0x41" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "823:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "823:15:12" + }, + "nodeType": "YulExpressionStatement", + "src": "823:15:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "854:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "857:4:12", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "847:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "847:15:12" + }, + "nodeType": "YulExpressionStatement", + "src": "847:15:12" + } + ] + }, + "name": "panic_error_0x41", + "nodeType": "YulFunctionDefinition", + "src": "688:180:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "917:238:12", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "927:58:12", + "value": { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "949:6:12" + }, + { + "arguments": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "979:4:12" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "957:21:12" + }, + "nodeType": "YulFunctionCall", + "src": "957:27:12" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "945:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "945:40:12" + }, + "variables": [ + { + "name": "newFreePtr", + "nodeType": "YulTypedName", + "src": "931:10:12", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1096:22:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "1098:16:12" + }, + "nodeType": "YulFunctionCall", + "src": "1098:18:12" + }, + "nodeType": "YulExpressionStatement", + "src": "1098:18:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "1039:10:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1051:18:12", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "1036:2:12" + }, + "nodeType": "YulFunctionCall", + "src": "1036:34:12" + }, + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "1075:10:12" + }, + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1087:6:12" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "1072:2:12" + }, + "nodeType": "YulFunctionCall", + "src": "1072:22:12" + } + ], + "functionName": { + "name": "or", + "nodeType": "YulIdentifier", + "src": "1033:2:12" + }, + "nodeType": "YulFunctionCall", + "src": "1033:62:12" + }, + "nodeType": "YulIf", + "src": "1030:88:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1134:2:12", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "1138:10:12" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1127:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "1127:22:12" + }, + "nodeType": "YulExpressionStatement", + "src": "1127:22:12" + } + ] + }, + "name": "finalize_allocation", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "903:6:12", + "type": "" + }, + { + "name": "size", + "nodeType": "YulTypedName", + "src": "911:4:12", + "type": "" + } + ], + "src": "874:281:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1202:88:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1212:30:12", + "value": { + "arguments": [], + "functionName": { + "name": "allocate_unbounded", + "nodeType": "YulIdentifier", + "src": "1222:18:12" + }, + "nodeType": "YulFunctionCall", + "src": "1222:20:12" + }, + "variableNames": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1212:6:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1271:6:12" + }, + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "1279:4:12" + } + ], + "functionName": { + "name": "finalize_allocation", + "nodeType": "YulIdentifier", + "src": "1251:19:12" + }, + "nodeType": "YulFunctionCall", + "src": "1251:33:12" + }, + "nodeType": "YulExpressionStatement", + "src": "1251:33:12" + } + ] + }, + "name": "allocate_memory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "size", + "nodeType": "YulTypedName", + "src": "1186:4:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "1195:6:12", + "type": "" + } + ], + "src": "1161:129:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1363:241:12", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "1468:22:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "1470:16:12" + }, + "nodeType": "YulFunctionCall", + "src": "1470:18:12" + }, + "nodeType": "YulExpressionStatement", + "src": "1470:18:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1440:6:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1448:18:12", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "1437:2:12" + }, + "nodeType": "YulFunctionCall", + "src": "1437:30:12" + }, + "nodeType": "YulIf", + "src": "1434:56:12" + }, + { + "nodeType": "YulAssignment", + "src": "1500:37:12", + "value": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1530:6:12" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "1508:21:12" + }, + "nodeType": "YulFunctionCall", + "src": "1508:29:12" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "1500:4:12" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "1574:23:12", + "value": { + "arguments": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "1586:4:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1592:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1582:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "1582:15:12" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "1574:4:12" + } + ] + } + ] + }, + "name": "array_allocation_size_t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "1347:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "size", + "nodeType": "YulTypedName", + "src": "1358:4:12", + "type": "" + } + ], + "src": "1296:308:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1659:258:12", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "1669:10:12", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1678:1:12", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "1673:1:12", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1738:63:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "1763:3:12" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "1768:1:12" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1759:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "1759:11:12" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "1782:3:12" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "1787:1:12" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1778:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "1778:11:12" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "1772:5:12" + }, + "nodeType": "YulFunctionCall", + "src": "1772:18:12" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1752:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "1752:39:12" + }, + "nodeType": "YulExpressionStatement", + "src": "1752:39:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "1699:1:12" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1702:6:12" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "1696:2:12" + }, + "nodeType": "YulFunctionCall", + "src": "1696:13:12" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "1710:19:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1712:15:12", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "1721:1:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1724:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1717:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "1717:10:12" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "1712:1:12" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "1692:3:12", + "statements": [] + }, + "src": "1688:113:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1835:76:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "1885:3:12" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1890:6:12" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1881:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "1881:16:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1899:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1874:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "1874:27:12" + }, + "nodeType": "YulExpressionStatement", + "src": "1874:27:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "1816:1:12" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1819:6:12" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "1813:2:12" + }, + "nodeType": "YulFunctionCall", + "src": "1813:13:12" + }, + "nodeType": "YulIf", + "src": "1810:101:12" + } + ] + }, + "name": "copy_memory_to_memory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "1641:3:12", + "type": "" + }, + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "1646:3:12", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "1651:6:12", + "type": "" + } + ], + "src": "1610:307:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2018:326:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2028:75:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2095:6:12" + } + ], + "functionName": { + "name": "array_allocation_size_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "2053:41:12" + }, + "nodeType": "YulFunctionCall", + "src": "2053:49:12" + } + ], + "functionName": { + "name": "allocate_memory", + "nodeType": "YulIdentifier", + "src": "2037:15:12" + }, + "nodeType": "YulFunctionCall", + "src": "2037:66:12" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "2028:5:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "2119:5:12" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2126:6:12" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2112:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "2112:21:12" + }, + "nodeType": "YulExpressionStatement", + "src": "2112:21:12" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "2142:27:12", + "value": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "2157:5:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2164:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2153:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "2153:16:12" + }, + "variables": [ + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "2146:3:12", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2207:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nodeType": "YulIdentifier", + "src": "2209:77:12" + }, + "nodeType": "YulFunctionCall", + "src": "2209:79:12" + }, + "nodeType": "YulExpressionStatement", + "src": "2209:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "2188:3:12" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2193:6:12" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2184:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "2184:16:12" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "2202:3:12" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "2181:2:12" + }, + "nodeType": "YulFunctionCall", + "src": "2181:25:12" + }, + "nodeType": "YulIf", + "src": "2178:112:12" + }, + { + "expression": { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "2321:3:12" + }, + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "2326:3:12" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2331:6:12" + } + ], + "functionName": { + "name": "copy_memory_to_memory", + "nodeType": "YulIdentifier", + "src": "2299:21:12" + }, + "nodeType": "YulFunctionCall", + "src": "2299:39:12" + }, + "nodeType": "YulExpressionStatement", + "src": "2299:39:12" + } + ] + }, + "name": "abi_decode_available_length_t_string_memory_ptr_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "1991:3:12", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "1996:6:12", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "2004:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "2012:5:12", + "type": "" + } + ], + "src": "1923:421:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2437:282:12", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "2486:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nodeType": "YulIdentifier", + "src": "2488:77:12" + }, + "nodeType": "YulFunctionCall", + "src": "2488:79:12" + }, + "nodeType": "YulExpressionStatement", + "src": "2488:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2465:6:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2473:4:12", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2461:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "2461:17:12" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "2480:3:12" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "2457:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "2457:27:12" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "2450:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "2450:35:12" + }, + "nodeType": "YulIf", + "src": "2447:122:12" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "2578:27:12", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2598:6:12" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "2592:5:12" + }, + "nodeType": "YulFunctionCall", + "src": "2592:13:12" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "2582:6:12", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "2614:99:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2686:6:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2694:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2682:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "2682:17:12" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2701:6:12" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "2709:3:12" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_string_memory_ptr_fromMemory", + "nodeType": "YulIdentifier", + "src": "2623:58:12" + }, + "nodeType": "YulFunctionCall", + "src": "2623:90:12" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "2614:5:12" + } + ] + } + ] + }, + "name": "abi_decode_t_string_memory_ptr_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "2415:6:12", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "2423:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "2431:5:12", + "type": "" + } + ], + "src": "2364:355:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2839:739:12", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "2885:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "2887:77:12" + }, + "nodeType": "YulFunctionCall", + "src": "2887:79:12" + }, + "nodeType": "YulExpressionStatement", + "src": "2887:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "2860:7:12" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2869:9:12" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "2856:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "2856:23:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2881:2:12", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "2852:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "2852:32:12" + }, + "nodeType": "YulIf", + "src": "2849:119:12" + }, + { + "nodeType": "YulBlock", + "src": "2978:291:12", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "2993:38:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3017:9:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3028:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3013:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "3013:17:12" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "3007:5:12" + }, + "nodeType": "YulFunctionCall", + "src": "3007:24:12" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "2997:6:12", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3078:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulIdentifier", + "src": "3080:77:12" + }, + "nodeType": "YulFunctionCall", + "src": "3080:79:12" + }, + "nodeType": "YulExpressionStatement", + "src": "3080:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3050:6:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3058:18:12", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "3047:2:12" + }, + "nodeType": "YulFunctionCall", + "src": "3047:30:12" + }, + "nodeType": "YulIf", + "src": "3044:117:12" + }, + { + "nodeType": "YulAssignment", + "src": "3175:84:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3231:9:12" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3242:6:12" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3227:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "3227:22:12" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "3251:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_string_memory_ptr_fromMemory", + "nodeType": "YulIdentifier", + "src": "3185:41:12" + }, + "nodeType": "YulFunctionCall", + "src": "3185:74:12" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "3175:6:12" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "3279:292:12", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "3294:39:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3318:9:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3329:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3314:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "3314:18:12" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "3308:5:12" + }, + "nodeType": "YulFunctionCall", + "src": "3308:25:12" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "3298:6:12", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3380:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulIdentifier", + "src": "3382:77:12" + }, + "nodeType": "YulFunctionCall", + "src": "3382:79:12" + }, + "nodeType": "YulExpressionStatement", + "src": "3382:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3352:6:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3360:18:12", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "3349:2:12" + }, + "nodeType": "YulFunctionCall", + "src": "3349:30:12" + }, + "nodeType": "YulIf", + "src": "3346:117:12" + }, + { + "nodeType": "YulAssignment", + "src": "3477:84:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3533:9:12" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3544:6:12" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3529:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "3529:22:12" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "3553:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_string_memory_ptr_fromMemory", + "nodeType": "YulIdentifier", + "src": "3487:41:12" + }, + "nodeType": "YulFunctionCall", + "src": "3487:74:12" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "3477:6:12" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_string_memory_ptrt_string_memory_ptr_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "2801:9:12", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "2812:7:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "2824:6:12", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "2832:6:12", + "type": "" + } + ], + "src": "2725:853:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3612:152:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3629:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3632:77:12", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3622:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "3622:88:12" + }, + "nodeType": "YulExpressionStatement", + "src": "3622:88:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3726:1:12", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3729:4:12", + "type": "", + "value": "0x22" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3719:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "3719:15:12" + }, + "nodeType": "YulExpressionStatement", + "src": "3719:15:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3750:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3753:4:12", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "3743:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "3743:15:12" + }, + "nodeType": "YulExpressionStatement", + "src": "3743:15:12" + } + ] + }, + "name": "panic_error_0x22", + "nodeType": "YulFunctionDefinition", + "src": "3584:180:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3821:269:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3831:22:12", + "value": { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "3845:4:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3851:1:12", + "type": "", + "value": "2" + } + ], + "functionName": { + "name": "div", + "nodeType": "YulIdentifier", + "src": "3841:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "3841:12:12" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "3831:6:12" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "3862:38:12", + "value": { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "3892:4:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3898:1:12", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "3888:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "3888:12:12" + }, + "variables": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulTypedName", + "src": "3866:18:12", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3939:51:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3953:27:12", + "value": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "3967:6:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3975:4:12", + "type": "", + "value": "0x7f" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "3963:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "3963:17:12" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "3953:6:12" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulIdentifier", + "src": "3919:18:12" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "3912:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "3912:26:12" + }, + "nodeType": "YulIf", + "src": "3909:81:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4042:42:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x22", + "nodeType": "YulIdentifier", + "src": "4056:16:12" + }, + "nodeType": "YulFunctionCall", + "src": "4056:18:12" + }, + "nodeType": "YulExpressionStatement", + "src": "4056:18:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulIdentifier", + "src": "4006:18:12" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "4029:6:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4037:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "4026:2:12" + }, + "nodeType": "YulFunctionCall", + "src": "4026:14:12" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "4003:2:12" + }, + "nodeType": "YulFunctionCall", + "src": "4003:38:12" + }, + "nodeType": "YulIf", + "src": "4000:84:12" + } + ] + }, + "name": "extract_byte_array_length", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nodeType": "YulTypedName", + "src": "3805:4:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "3814:6:12", + "type": "" + } + ], + "src": "3770:320:12" + } + ] + }, + "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 revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\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_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 abi_decode_available_length_t_string_memory_ptr_fromMemory(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_memory_to_memory(src, dst, length)\n }\n\n // string\n function abi_decode_t_string_memory_ptr_fromMemory(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := mload(offset)\n array := abi_decode_available_length_t_string_memory_ptr_fromMemory(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_string_memory_ptrt_string_memory_ptr_fromMemory(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := mload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_string_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := mload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value1 := abi_decode_t_string_memory_ptr_fromMemory(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}\n", + "id": 12, + "language": "Yul", + "name": "#utility.yul" + } + ], + "deployedGeneratedSources": [ + { + "ast": { + "nodeType": "YulBlock", + "src": "0:27601:12", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "47:35:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "57:19:12", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "73:2:12", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "67:5:12" + }, + "nodeType": "YulFunctionCall", + "src": "67:9:12" + }, + "variableNames": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "57:6:12" + } + ] + } + ] + }, + "name": "allocate_unbounded", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "40:6:12", + "type": "" + } + ], + "src": "7:75:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "177:28:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "194:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "197:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "187:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "187:12:12" + }, + "nodeType": "YulExpressionStatement", + "src": "187:12:12" + } + ] + }, + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulFunctionDefinition", + "src": "88:117:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "300:28:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "317:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "320:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "310:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "310:12:12" + }, + "nodeType": "YulExpressionStatement", + "src": "310:12:12" + } + ] + }, + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulFunctionDefinition", + "src": "211:117:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "378:105:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "388:89:12", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "1794:5:8" + "src": "403:5:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "1801:42:8", + "src": "410:66:12", + "type": "", + "value": "0xffffffff00000000000000000000000000000000000000000000000000000000" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "399:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "399:78:12" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "388:7:12" + } + ] + } + ] + }, + "name": "cleanup_t_bytes4", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "360:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "370:7:12", + "type": "" + } + ], + "src": "334:149:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "531:78:12", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "587:16:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "596:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "599:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "589:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "589:12:12" + }, + "nodeType": "YulExpressionStatement", + "src": "589:12:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "554:5:12" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "578:5:12" + } + ], + "functionName": { + "name": "cleanup_t_bytes4", + "nodeType": "YulIdentifier", + "src": "561:16:12" + }, + "nodeType": "YulFunctionCall", + "src": "561:23:12" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "551:2:12" + }, + "nodeType": "YulFunctionCall", + "src": "551:34:12" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "544:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "544:42:12" + }, + "nodeType": "YulIf", + "src": "541:62:12" + } + ] + }, + "name": "validator_revert_t_bytes4", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "524:5:12", + "type": "" + } + ], + "src": "489:120:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "666:86:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "676:29:12", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "698:6:12" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "685:12:12" + }, + "nodeType": "YulFunctionCall", + "src": "685:20:12" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "676:5:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "740:5:12" + } + ], + "functionName": { + "name": "validator_revert_t_bytes4", + "nodeType": "YulIdentifier", + "src": "714:25:12" + }, + "nodeType": "YulFunctionCall", + "src": "714:32:12" + }, + "nodeType": "YulExpressionStatement", + "src": "714:32:12" + } + ] + }, + "name": "abi_decode_t_bytes4", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "644:6:12", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "652:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "660:5:12", + "type": "" + } + ], + "src": "615:137:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "823:262:12", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "869:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "871:77:12" + }, + "nodeType": "YulFunctionCall", + "src": "871:79:12" + }, + "nodeType": "YulExpressionStatement", + "src": "871:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "844:7:12" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "853:9:12" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "840:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "840:23:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "865:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "836:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "836:32:12" + }, + "nodeType": "YulIf", + "src": "833:119:12" + }, + { + "nodeType": "YulBlock", + "src": "962:116:12", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "977:15:12", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "991:1:12", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "981:6:12", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "1006:62:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1040:9:12" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1051:6:12" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1036:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "1036:22:12" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1060:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_bytes4", + "nodeType": "YulIdentifier", + "src": "1016:19:12" + }, + "nodeType": "YulFunctionCall", + "src": "1016:52:12" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "1006:6:12" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes4", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "793:9:12", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "804:7:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "816:6:12", + "type": "" + } + ], + "src": "758:327:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1133:48:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1143:32:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1168:5:12" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "1161:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "1161:13:12" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "1154:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "1154:21:12" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "1143:7:12" + } + ] + } + ] + }, + "name": "cleanup_t_bool", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1115:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "1125:7:12", + "type": "" + } + ], + "src": "1091:90:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1246:50:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "1263:3:12" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1283:5:12" + } + ], + "functionName": { + "name": "cleanup_t_bool", + "nodeType": "YulIdentifier", + "src": "1268:14:12" + }, + "nodeType": "YulFunctionCall", + "src": "1268:21:12" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1256:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "1256:34:12" + }, + "nodeType": "YulExpressionStatement", + "src": "1256:34:12" + } + ] + }, + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1234:5:12", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "1241:3:12", + "type": "" + } + ], + "src": "1187:109:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1394:118:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1404:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1416:9:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1427:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1412:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "1412:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "1404:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "1478:6:12" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1491:9:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1502:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1487:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "1487:17:12" + } + ], + "functionName": { + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nodeType": "YulIdentifier", + "src": "1440:37:12" + }, + "nodeType": "YulFunctionCall", + "src": "1440:65:12" + }, + "nodeType": "YulExpressionStatement", + "src": "1440:65:12" + } + ] + }, + "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "1366:9:12", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "1378:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "1389:4:12", + "type": "" + } + ], + "src": "1302:210:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1577:40:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1588:22:12", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1604:5:12" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "1598:5:12" + }, + "nodeType": "YulFunctionCall", + "src": "1598:12:12" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1588:6:12" + } + ] + } + ] + }, + "name": "array_length_t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1560:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "1570:6:12", + "type": "" + } + ], + "src": "1518:99:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1719:73:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "1736:3:12" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1741:6:12" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1729:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "1729:19:12" + }, + "nodeType": "YulExpressionStatement", + "src": "1729:19:12" + }, + { + "nodeType": "YulAssignment", + "src": "1757:29:12", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "1776:3:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1781:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1772:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "1772:14:12" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "1757:11:12" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "1691:3:12", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "1696:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "1707:11:12", + "type": "" + } + ], + "src": "1623:169:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1847:258:12", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "1857:10:12", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1866:1:12", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "1861:1:12", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1926:63:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "1951:3:12" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "1956:1:12" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1947:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "1947:11:12" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "1970:3:12" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "1975:1:12" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1966:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "1966:11:12" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "1960:5:12" + }, + "nodeType": "YulFunctionCall", + "src": "1960:18:12" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1940:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "1940:39:12" + }, + "nodeType": "YulExpressionStatement", + "src": "1940:39:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "1887:1:12" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1890:6:12" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "1884:2:12" + }, + "nodeType": "YulFunctionCall", + "src": "1884:13:12" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "1898:19:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1900:15:12", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "1909:1:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1912:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1905:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "1905:10:12" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "1900:1:12" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "1880:3:12", + "statements": [] + }, + "src": "1876:113:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2023:76:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "2073:3:12" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2078:6:12" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2069:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "2069:16:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2087:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2062:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "2062:27:12" + }, + "nodeType": "YulExpressionStatement", + "src": "2062:27:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "2004:1:12" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2007:6:12" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "2001:2:12" + }, + "nodeType": "YulFunctionCall", + "src": "2001:13:12" + }, + "nodeType": "YulIf", + "src": "1998:101:12" + } + ] + }, + "name": "copy_memory_to_memory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "1829:3:12", + "type": "" + }, + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "1834:3:12", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "1839:6:12", + "type": "" + } + ], + "src": "1798:307:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2159:54:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2169:38:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2187:5:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2194:2:12", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2183:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "2183:14:12" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2203:2:12", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "2199:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "2199:7:12" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "2179:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "2179:28:12" + }, + "variableNames": [ + { + "name": "result", + "nodeType": "YulIdentifier", + "src": "2169:6:12" + } + ] + } + ] + }, + "name": "round_up_to_mul_of_32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "2142:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nodeType": "YulTypedName", + "src": "2152:6:12", + "type": "" + } + ], + "src": "2111:102:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2311:272:12", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "2321:53:12", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2368:5:12" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "2335:32:12" + }, + "nodeType": "YulFunctionCall", + "src": "2335:39:12" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "2325:6:12", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "2383:78:12", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2449:3:12" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2454:6:12" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "2390:58:12" + }, + "nodeType": "YulFunctionCall", + "src": "2390:71:12" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2383:3:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2496:5:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2503:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2492:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "2492:16:12" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2510:3:12" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2515:6:12" + } + ], + "functionName": { + "name": "copy_memory_to_memory", + "nodeType": "YulIdentifier", + "src": "2470:21:12" + }, + "nodeType": "YulFunctionCall", + "src": "2470:52:12" + }, + "nodeType": "YulExpressionStatement", + "src": "2470:52:12" + }, + { + "nodeType": "YulAssignment", + "src": "2531:46:12", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2542:3:12" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2569:6:12" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "2547:21:12" + }, + "nodeType": "YulFunctionCall", + "src": "2547:29:12" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2538:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "2538:39:12" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "2531:3:12" + } + ] + } + ] + }, + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "2292:5:12", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "2299:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "2307:3:12", + "type": "" + } + ], + "src": "2219:364:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2707:195:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2717:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2729:9:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2740:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2725:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "2725:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "2717:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2764:9:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2775:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2760:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "2760:17:12" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "2783:4:12" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2789:9:12" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "2779:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "2779:20:12" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2753:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "2753:47:12" + }, + "nodeType": "YulExpressionStatement", + "src": "2753:47:12" + }, + { + "nodeType": "YulAssignment", + "src": "2809:86:12", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "2881:6:12" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "2890:4:12" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "2817:63:12" + }, + "nodeType": "YulFunctionCall", + "src": "2817:78:12" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "2809:4:12" + } + ] + } + ] + }, + "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:12", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "2691:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "2702:4:12", + "type": "" + } + ], + "src": "2589:313:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2953:81:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2963:65:12", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2978:5:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2985:42:12", "type": "", "value": "0xffffffffffffffffffffffffffffffffffffffff" } @@ -1780,16 +4534,16 @@ "functionName": { "name": "and", "nodeType": "YulIdentifier", - "src": "1790:3:8" + "src": "2974:3:12" }, "nodeType": "YulFunctionCall", - "src": "1790:54:8" + "src": "2974:54:12" }, "variableNames": [ { "name": "cleaned", "nodeType": "YulIdentifier", - "src": "1779:7:8" + "src": "2963:7:12" } ] } @@ -1801,7 +4555,7 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "1751:5:8", + "src": "2935:5:12", "type": "" } ], @@ -1809,41 +4563,41 @@ { "name": "cleaned", "nodeType": "YulTypedName", - "src": "1761:7:8", + "src": "2945:7:12", "type": "" } ], - "src": "1724:126:8" + "src": "2908:126:12" }, { "body": { "nodeType": "YulBlock", - "src": "1901:51:8", + "src": "3085:51:12", "statements": [ { "nodeType": "YulAssignment", - "src": "1911:35:8", + "src": "3095:35:12", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "1940:5:8" + "src": "3124:5:12" } ], "functionName": { "name": "cleanup_t_uint160", "nodeType": "YulIdentifier", - "src": "1922:17:8" + "src": "3106:17:12" }, "nodeType": "YulFunctionCall", - "src": "1922:24:8" + "src": "3106:24:12" }, "variableNames": [ { "name": "cleaned", "nodeType": "YulIdentifier", - "src": "1911:7:8" + "src": "3095:7:12" } ] } @@ -1855,7 +4609,7 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "1883:5:8", + "src": "3067:5:12", "type": "" } ], @@ -1863,21 +4617,21 @@ { "name": "cleaned", "nodeType": "YulTypedName", - "src": "1893:7:8", + "src": "3077:7:12", "type": "" } ], - "src": "1856:96:8" + "src": "3040:96:12" }, { "body": { "nodeType": "YulBlock", - "src": "2001:79:8", + "src": "3185:79:12", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "2058:16:8", + "src": "3242:16:12", "statements": [ { "expression": { @@ -1885,14 +4639,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "2067:1:8", + "src": "3251:1:12", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "2070:1:8", + "src": "3254:1:12", "type": "", "value": "0" } @@ -1900,13 +4654,13 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "2060:6:8" + "src": "3244:6:12" }, "nodeType": "YulFunctionCall", - "src": "2060:12:8" + "src": "3244:12:12" }, "nodeType": "YulExpressionStatement", - "src": "2060:12:8" + "src": "3244:12:12" } ] }, @@ -1917,44 +4671,44 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "2024:5:8" + "src": "3208:5:12" }, { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "2049:5:8" + "src": "3233:5:12" } ], "functionName": { "name": "cleanup_t_address", "nodeType": "YulIdentifier", - "src": "2031:17:8" + "src": "3215:17:12" }, "nodeType": "YulFunctionCall", - "src": "2031:24:8" + "src": "3215:24:12" } ], "functionName": { "name": "eq", "nodeType": "YulIdentifier", - "src": "2021:2:8" + "src": "3205:2:12" }, "nodeType": "YulFunctionCall", - "src": "2021:35:8" + "src": "3205:35:12" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "2014:6:8" + "src": "3198:6:12" }, "nodeType": "YulFunctionCall", - "src": "2014:43:8" + "src": "3198:43:12" }, "nodeType": "YulIf", - "src": "2011:63:8" + "src": "3195:63:12" } ] }, @@ -1964,41 +4718,41 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "1994:5:8", + "src": "3178:5:12", "type": "" } ], - "src": "1958:122:8" + "src": "3142:122:12" }, { "body": { "nodeType": "YulBlock", - "src": "2138:87:8", + "src": "3322:87:12", "statements": [ { "nodeType": "YulAssignment", - "src": "2148:29:8", + "src": "3332:29:12", "value": { "arguments": [ { "name": "offset", "nodeType": "YulIdentifier", - "src": "2170:6:8" + "src": "3354:6:12" } ], "functionName": { "name": "calldataload", "nodeType": "YulIdentifier", - "src": "2157:12:8" + "src": "3341:12:12" }, "nodeType": "YulFunctionCall", - "src": "2157:20:8" + "src": "3341:20:12" }, "variableNames": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "2148:5:8" + "src": "3332:5:12" } ] }, @@ -2008,19 +4762,19 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "2213:5:8" + "src": "3397:5:12" } ], "functionName": { "name": "validator_revert_t_address", "nodeType": "YulIdentifier", - "src": "2186:26:8" + "src": "3370:26:12" }, "nodeType": "YulFunctionCall", - "src": "2186:33:8" + "src": "3370:33:12" }, "nodeType": "YulExpressionStatement", - "src": "2186:33:8" + "src": "3370:33:12" } ] }, @@ -2030,13 +4784,13 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "2116:6:8", + "src": "3300:6:12", "type": "" }, { "name": "end", "nodeType": "YulTypedName", - "src": "2124:3:8", + "src": "3308:3:12", "type": "" } ], @@ -2044,30 +4798,30 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "2132:5:8", + "src": "3316:5:12", "type": "" } ], - "src": "2086:139:8" + "src": "3270:139:12" }, { "body": { "nodeType": "YulBlock", - "src": "2276:32:8", + "src": "3460:32:12", "statements": [ { "nodeType": "YulAssignment", - "src": "2286:16:8", + "src": "3470:16:12", "value": { "name": "value", "nodeType": "YulIdentifier", - "src": "2297:5:8" + "src": "3481:5:12" }, "variableNames": [ { "name": "cleaned", "nodeType": "YulIdentifier", - "src": "2286:7:8" + "src": "3470:7:12" } ] } @@ -2079,7 +4833,7 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "2258:5:8", + "src": "3442:5:12", "type": "" } ], @@ -2087,21 +4841,21 @@ { "name": "cleaned", "nodeType": "YulTypedName", - "src": "2268:7:8", + "src": "3452:7:12", "type": "" } ], - "src": "2231:77:8" + "src": "3415:77:12" }, { "body": { "nodeType": "YulBlock", - "src": "2357:79:8", + "src": "3541:79:12", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "2414:16:8", + "src": "3598:16:12", "statements": [ { "expression": { @@ -2109,14 +4863,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "2423:1:8", + "src": "3607:1:12", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "2426:1:8", + "src": "3610:1:12", "type": "", "value": "0" } @@ -2124,13 +4878,13 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "2416:6:8" + "src": "3600:6:12" }, "nodeType": "YulFunctionCall", - "src": "2416:12:8" + "src": "3600:12:12" }, "nodeType": "YulExpressionStatement", - "src": "2416:12:8" + "src": "3600:12:12" } ] }, @@ -2141,44 +4895,44 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "2380:5:8" + "src": "3564:5:12" }, { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "2405:5:8" + "src": "3589:5:12" } ], "functionName": { "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", - "src": "2387:17:8" + "src": "3571:17:12" }, "nodeType": "YulFunctionCall", - "src": "2387:24:8" + "src": "3571:24:12" } ], "functionName": { "name": "eq", "nodeType": "YulIdentifier", - "src": "2377:2:8" + "src": "3561:2:12" }, "nodeType": "YulFunctionCall", - "src": "2377:35:8" + "src": "3561:35:12" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "2370:6:8" + "src": "3554:6:12" }, "nodeType": "YulFunctionCall", - "src": "2370:43:8" + "src": "3554:43:12" }, "nodeType": "YulIf", - "src": "2367:63:8" + "src": "3551:63:12" } ] }, @@ -2188,41 +4942,41 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "2350:5:8", + "src": "3534:5:12", "type": "" } ], - "src": "2314:122:8" + "src": "3498:122:12" }, { "body": { "nodeType": "YulBlock", - "src": "2494:87:8", + "src": "3678:87:12", "statements": [ { "nodeType": "YulAssignment", - "src": "2504:29:8", + "src": "3688:29:12", "value": { "arguments": [ { "name": "offset", "nodeType": "YulIdentifier", - "src": "2526:6:8" + "src": "3710:6:12" } ], "functionName": { "name": "calldataload", "nodeType": "YulIdentifier", - "src": "2513:12:8" + "src": "3697:12:12" }, "nodeType": "YulFunctionCall", - "src": "2513:20:8" + "src": "3697:20:12" }, "variableNames": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "2504:5:8" + "src": "3688:5:12" } ] }, @@ -2232,19 +4986,19 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "2569:5:8" + "src": "3753:5:12" } ], "functionName": { "name": "validator_revert_t_uint256", "nodeType": "YulIdentifier", - "src": "2542:26:8" + "src": "3726:26:12" }, "nodeType": "YulFunctionCall", - "src": "2542:33:8" + "src": "3726:33:12" }, "nodeType": "YulExpressionStatement", - "src": "2542:33:8" + "src": "3726:33:12" } ] }, @@ -2254,13 +5008,13 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "2472:6:8", + "src": "3656:6:12", "type": "" }, { "name": "end", "nodeType": "YulTypedName", - "src": "2480:3:8", + "src": "3664:3:12", "type": "" } ], @@ -2268,21 +5022,21 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "2488:5:8", + "src": "3672:5:12", "type": "" } ], - "src": "2442:139:8" + "src": "3626:139:12" }, { "body": { "nodeType": "YulBlock", - "src": "2670:391:8", + "src": "3854:391:12", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "2716:83:8", + "src": "3900:83:12", "statements": [ { "expression": { @@ -2290,13 +5044,13 @@ "functionName": { "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulIdentifier", - "src": "2718:77:8" + "src": "3902:77:12" }, "nodeType": "YulFunctionCall", - "src": "2718:79:8" + "src": "3902:79:12" }, "nodeType": "YulExpressionStatement", - "src": "2718:79:8" + "src": "3902:79:12" } ] }, @@ -2307,26 +5061,26 @@ { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "2691:7:8" + "src": "3875:7:12" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "2700:9:8" + "src": "3884:9:12" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "2687:3:8" + "src": "3871:3:12" }, "nodeType": "YulFunctionCall", - "src": "2687:23:8" + "src": "3871:23:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "2712:2:8", + "src": "3896:2:12", "type": "", "value": "64" } @@ -2334,25 +5088,25 @@ "functionName": { "name": "slt", "nodeType": "YulIdentifier", - "src": "2683:3:8" + "src": "3867:3:12" }, "nodeType": "YulFunctionCall", - "src": "2683:32:8" + "src": "3867:32:12" }, "nodeType": "YulIf", - "src": "2680:119:8" + "src": "3864:119:12" }, { "nodeType": "YulBlock", - "src": "2809:117:8", + "src": "3993:117:12", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "2824:15:8", + "src": "4008:15:12", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "2838:1:8", + "src": "4022:1:12", "type": "", "value": "0" }, @@ -2360,14 +5114,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "2828:6:8", + "src": "4012:6:12", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "2853:63:8", + "src": "4037:63:12", "value": { "arguments": [ { @@ -2375,41 +5129,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "2888:9:8" + "src": "4072:9:12" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "2899:6:8" + "src": "4083:6:12" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "2884:3:8" + "src": "4068:3:12" }, "nodeType": "YulFunctionCall", - "src": "2884:22:8" + "src": "4068:22:12" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "2908:7:8" + "src": "4092:7:12" } ], "functionName": { "name": "abi_decode_t_address", "nodeType": "YulIdentifier", - "src": "2863:20:8" + "src": "4047:20:12" }, "nodeType": "YulFunctionCall", - "src": "2863:53:8" + "src": "4047:53:12" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "2853:6:8" + "src": "4037:6:12" } ] } @@ -2417,15 +5171,15 @@ }, { "nodeType": "YulBlock", - "src": "2936:118:8", + "src": "4120:118:12", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "2951:16:8", + "src": "4135:16:12", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "2965:2:8", + "src": "4149:2:12", "type": "", "value": "32" }, @@ -2433,14 +5187,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "2955:6:8", + "src": "4139:6:12", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "2981:63:8", + "src": "4165:63:12", "value": { "arguments": [ { @@ -2448,41 +5202,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "3016:9:8" + "src": "4200:9:12" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "3027:6:8" + "src": "4211:6:12" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "3012:3:8" + "src": "4196:3:12" }, "nodeType": "YulFunctionCall", - "src": "3012:22:8" + "src": "4196:22:12" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "3036:7:8" + "src": "4220:7:12" } ], "functionName": { "name": "abi_decode_t_uint256", "nodeType": "YulIdentifier", - "src": "2991:20:8" + "src": "4175:20:12" }, "nodeType": "YulFunctionCall", - "src": "2991:53:8" + "src": "4175:53:12" }, "variableNames": [ { "name": "value1", "nodeType": "YulIdentifier", - "src": "2981:6:8" + "src": "4165:6:12" } ] } @@ -2496,13 +5250,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "2632:9:8", + "src": "3816:9:12", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", - "src": "2643:7:8", + "src": "3827:7:12", "type": "" } ], @@ -2510,434 +5264,27 @@ { "name": "value0", "nodeType": "YulTypedName", - "src": "2655:6:8", + "src": "3839:6:12", "type": "" }, { "name": "value1", "nodeType": "YulTypedName", - "src": "2663:6:8", + "src": "3847:6:12", "type": "" } ], - "src": "2587:474:8" + "src": "3771:474:12" }, { "body": { "nodeType": "YulBlock", - "src": "3109:48:8", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "3119:32:8", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "3144:5:8" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "3137:6:8" - }, - "nodeType": "YulFunctionCall", - "src": "3137:13:8" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "3130:6:8" - }, - "nodeType": "YulFunctionCall", - "src": "3130:21:8" - }, - "variableNames": [ - { - "name": "cleaned", - "nodeType": "YulIdentifier", - "src": "3119:7:8" - } - ] - } - ] - }, - "name": "cleanup_t_bool", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "3091:5:8", - "type": "" - } - ], - "returnVariables": [ - { - "name": "cleaned", - "nodeType": "YulTypedName", - "src": "3101:7:8", - "type": "" - } - ], - "src": "3067:90:8" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3222:50:8", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "3239:3:8" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "3259:5:8" - } - ], - "functionName": { - "name": "cleanup_t_bool", - "nodeType": "YulIdentifier", - "src": "3244:14:8" - }, - "nodeType": "YulFunctionCall", - "src": "3244:21:8" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3232:6:8" - }, - "nodeType": "YulFunctionCall", - "src": "3232:34:8" - }, - "nodeType": "YulExpressionStatement", - "src": "3232:34:8" - } - ] - }, - "name": "abi_encode_t_bool_to_t_bool_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "3210:5:8", - "type": "" - }, - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "3217:3:8", - "type": "" - } - ], - "src": "3163:109:8" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3370:118:8", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "3380:26:8", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3392:9:8" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3403:2:8", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3388:3:8" - }, - "nodeType": "YulFunctionCall", - "src": "3388:18:8" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "3380:4:8" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3454:6:8" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3467:9:8" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3478:1:8", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3463:3:8" - }, - "nodeType": "YulFunctionCall", - "src": "3463:17:8" - } - ], - "functionName": { - "name": "abi_encode_t_bool_to_t_bool_fromStack", - "nodeType": "YulIdentifier", - "src": "3416:37:8" - }, - "nodeType": "YulFunctionCall", - "src": "3416:65:8" - }, - "nodeType": "YulExpressionStatement", - "src": "3416:65:8" - } - ] - }, - "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "3342:9:8", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "3354:6:8", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "3365:4:8", - "type": "" - } - ], - "src": "3278:210:8" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3559:53:8", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "3576:3:8" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "3599:5:8" - } - ], - "functionName": { - "name": "cleanup_t_uint256", - "nodeType": "YulIdentifier", - "src": "3581:17:8" - }, - "nodeType": "YulFunctionCall", - "src": "3581:24:8" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3569:6:8" - }, - "nodeType": "YulFunctionCall", - "src": "3569:37:8" - }, - "nodeType": "YulExpressionStatement", - "src": "3569:37:8" - } - ] - }, - "name": "abi_encode_t_uint256_to_t_uint256_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "3547:5:8", - "type": "" - }, - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "3554:3:8", - "type": "" - } - ], - "src": "3494:118:8" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3716:124:8", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "3726:26:8", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3738:9:8" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3749:2:8", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3734:3:8" - }, - "nodeType": "YulFunctionCall", - "src": "3734:18:8" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "3726:4:8" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3806:6:8" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3819:9:8" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3830:1:8", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3815:3:8" - }, - "nodeType": "YulFunctionCall", - "src": "3815:17:8" - } - ], - "functionName": { - "name": "abi_encode_t_uint256_to_t_uint256_fromStack", - "nodeType": "YulIdentifier", - "src": "3762:43:8" - }, - "nodeType": "YulFunctionCall", - "src": "3762:71:8" - }, - "nodeType": "YulExpressionStatement", - "src": "3762:71:8" - } - ] - }, - "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "3688:9:8", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "3700:6:8", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "3711:4:8", - "type": "" - } - ], - "src": "3618:222:8" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3946:519:8", + "src": "4317:263:12", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "3992:83:8", + "src": "4363:83:12", "statements": [ { "expression": { @@ -2945,13 +5292,13 @@ "functionName": { "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulIdentifier", - "src": "3994:77:8" + "src": "4365:77:12" }, "nodeType": "YulFunctionCall", - "src": "3994:79:8" + "src": "4365:79:12" }, "nodeType": "YulExpressionStatement", - "src": "3994:79:8" + "src": "4365:79:12" } ] }, @@ -2962,585 +5309,26 @@ { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "3967:7:8" + "src": "4338:7:12" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "3976:9:8" + "src": "4347:9:12" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "3963:3:8" + "src": "4334:3:12" }, "nodeType": "YulFunctionCall", - "src": "3963:23:8" + "src": "4334:23:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "3988:2:8", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "3959:3:8" - }, - "nodeType": "YulFunctionCall", - "src": "3959:32:8" - }, - "nodeType": "YulIf", - "src": "3956:119:8" - }, - { - "nodeType": "YulBlock", - "src": "4085:117:8", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "4100:15:8", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4114:1:8", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "4104:6:8", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "4129:63:8", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4164:9:8" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "4175:6:8" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4160:3:8" - }, - "nodeType": "YulFunctionCall", - "src": "4160:22:8" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "4184:7:8" - } - ], - "functionName": { - "name": "abi_decode_t_address", - "nodeType": "YulIdentifier", - "src": "4139:20:8" - }, - "nodeType": "YulFunctionCall", - "src": "4139:53:8" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "4129:6:8" - } - ] - } - ] - }, - { - "nodeType": "YulBlock", - "src": "4212:118:8", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "4227:16:8", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4241:2:8", - "type": "", - "value": "32" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "4231:6:8", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "4257:63:8", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4292:9:8" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "4303:6:8" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4288:3:8" - }, - "nodeType": "YulFunctionCall", - "src": "4288:22:8" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "4312:7:8" - } - ], - "functionName": { - "name": "abi_decode_t_address", - "nodeType": "YulIdentifier", - "src": "4267:20:8" - }, - "nodeType": "YulFunctionCall", - "src": "4267:53:8" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "4257:6:8" - } - ] - } - ] - }, - { - "nodeType": "YulBlock", - "src": "4340:118:8", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "4355:16:8", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4369:2:8", - "type": "", - "value": "64" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "4359:6:8", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "4385:63:8", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4420:9:8" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "4431:6:8" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4416:3:8" - }, - "nodeType": "YulFunctionCall", - "src": "4416:22:8" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "4440:7:8" - } - ], - "functionName": { - "name": "abi_decode_t_uint256", - "nodeType": "YulIdentifier", - "src": "4395:20:8" - }, - "nodeType": "YulFunctionCall", - "src": "4395:53:8" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "4385:6:8" - } - ] - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_addresst_addresst_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "3900:9:8", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "3911:7:8", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "3923:6:8", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "3931:6:8", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "3939:6:8", - "type": "" - } - ], - "src": "3846:619:8" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4514:43:8", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "4524:27:8", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "4539:5:8" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4546:4:8", - "type": "", - "value": "0xff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "4535:3:8" - }, - "nodeType": "YulFunctionCall", - "src": "4535:16:8" - }, - "variableNames": [ - { - "name": "cleaned", - "nodeType": "YulIdentifier", - "src": "4524:7:8" - } - ] - } - ] - }, - "name": "cleanup_t_uint8", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "4496:5:8", - "type": "" - } - ], - "returnVariables": [ - { - "name": "cleaned", - "nodeType": "YulTypedName", - "src": "4506:7:8", - "type": "" - } - ], - "src": "4471:86:8" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4624:51:8", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "4641:3:8" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "4662:5:8" - } - ], - "functionName": { - "name": "cleanup_t_uint8", - "nodeType": "YulIdentifier", - "src": "4646:15:8" - }, - "nodeType": "YulFunctionCall", - "src": "4646:22:8" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4634:6:8" - }, - "nodeType": "YulFunctionCall", - "src": "4634:35:8" - }, - "nodeType": "YulExpressionStatement", - "src": "4634:35:8" - } - ] - }, - "name": "abi_encode_t_uint8_to_t_uint8_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "4612:5:8", - "type": "" - }, - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "4619:3:8", - "type": "" - } - ], - "src": "4563:112:8" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4775:120:8", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "4785:26:8", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4797:9:8" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4808:2:8", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4793:3:8" - }, - "nodeType": "YulFunctionCall", - "src": "4793:18:8" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "4785:4:8" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "4861:6:8" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4874:9:8" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4885:1:8", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4870:3:8" - }, - "nodeType": "YulFunctionCall", - "src": "4870:17:8" - } - ], - "functionName": { - "name": "abi_encode_t_uint8_to_t_uint8_fromStack", - "nodeType": "YulIdentifier", - "src": "4821:39:8" - }, - "nodeType": "YulFunctionCall", - "src": "4821:67:8" - }, - "nodeType": "YulExpressionStatement", - "src": "4821:67:8" - } - ] - }, - "name": "abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "4747:9:8", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "4759:6:8", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "4770:4:8", - "type": "" - } - ], - "src": "4681:214:8" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4967:263:8", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "5013:83:8", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", - "nodeType": "YulIdentifier", - "src": "5015:77:8" - }, - "nodeType": "YulFunctionCall", - "src": "5015:79:8" - }, - "nodeType": "YulExpressionStatement", - "src": "5015:79:8" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "4988:7:8" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4997:9:8" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "4984:3:8" - }, - "nodeType": "YulFunctionCall", - "src": "4984:23:8" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5009:2:8", + "src": "4359:2:12", "type": "", "value": "32" } @@ -3548,25 +5336,25 @@ "functionName": { "name": "slt", "nodeType": "YulIdentifier", - "src": "4980:3:8" + "src": "4330:3:12" }, "nodeType": "YulFunctionCall", - "src": "4980:32:8" + "src": "4330:32:12" }, "nodeType": "YulIf", - "src": "4977:119:8" + "src": "4327:119:12" }, { "nodeType": "YulBlock", - "src": "5106:117:8", + "src": "4456:117:12", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "5121:15:8", + "src": "4471:15:12", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "5135:1:8", + "src": "4485:1:12", "type": "", "value": "0" }, @@ -3574,14 +5362,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "5125:6:8", + "src": "4475:6:12", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "5150:63:8", + "src": "4500:63:12", "value": { "arguments": [ { @@ -3589,210 +5377,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "5185:9:8" + "src": "4535:9:12" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "5196:6:8" + "src": "4546:6:12" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "5181:3:8" + "src": "4531:3:12" }, "nodeType": "YulFunctionCall", - "src": "5181:22:8" + "src": "4531:22:12" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "5205:7:8" - } - ], - "functionName": { - "name": "abi_decode_t_uint256", - "nodeType": "YulIdentifier", - "src": "5160:20:8" - }, - "nodeType": "YulFunctionCall", - "src": "5160:53:8" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "5150:6:8" - } - ] - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "4937:9:8", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "4948:7:8", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "4960:6:8", - "type": "" - } - ], - "src": "4901:329:8" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5302:263:8", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "5348:83:8", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", - "nodeType": "YulIdentifier", - "src": "5350:77:8" - }, - "nodeType": "YulFunctionCall", - "src": "5350:79:8" - }, - "nodeType": "YulExpressionStatement", - "src": "5350:79:8" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "5323:7:8" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5332:9:8" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "5319:3:8" - }, - "nodeType": "YulFunctionCall", - "src": "5319:23:8" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5344:2:8", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "5315:3:8" - }, - "nodeType": "YulFunctionCall", - "src": "5315:32:8" - }, - "nodeType": "YulIf", - "src": "5312:119:8" - }, - { - "nodeType": "YulBlock", - "src": "5441:117:8", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "5456:15:8", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5470:1:8", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "5460:6:8", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "5485:63:8", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5520:9:8" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "5531:6:8" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5516:3:8" - }, - "nodeType": "YulFunctionCall", - "src": "5516:22:8" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "5540:7:8" + "src": "4555:7:12" } ], "functionName": { "name": "abi_decode_t_address", "nodeType": "YulIdentifier", - "src": "5495:20:8" + "src": "4510:20:12" }, "nodeType": "YulFunctionCall", - "src": "5495:53:8" + "src": "4510:53:12" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "5485:6:8" + "src": "4500:6:12" } ] } @@ -3806,13 +5425,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "5272:9:8", + "src": "4287:9:12", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", - "src": "5283:7:8", + "src": "4298:7:12", "type": "" } ], @@ -3820,16 +5439,16 @@ { "name": "value0", "nodeType": "YulTypedName", - "src": "5295:6:8", + "src": "4310:6:12", "type": "" } ], - "src": "5236:329:8" + "src": "4251:329:12" }, { "body": { "nodeType": "YulBlock", - "src": "5636:53:8", + "src": "4651:53:12", "statements": [ { "expression": { @@ -3837,75 +5456,75 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "5653:3:8" + "src": "4668:3:12" }, { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "5676:5:8" + "src": "4691:5:12" } ], "functionName": { - "name": "cleanup_t_address", + "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", - "src": "5658:17:8" + "src": "4673:17:12" }, "nodeType": "YulFunctionCall", - "src": "5658:24:8" + "src": "4673:24:12" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "5646:6:8" + "src": "4661:6:12" }, "nodeType": "YulFunctionCall", - "src": "5646:37:8" + "src": "4661:37:12" }, "nodeType": "YulExpressionStatement", - "src": "5646:37:8" + "src": "4661:37:12" } ] }, - "name": "abi_encode_t_address_to_t_address_fromStack", + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "value", "nodeType": "YulTypedName", - "src": "5624:5:8", + "src": "4639:5:12", "type": "" }, { "name": "pos", "nodeType": "YulTypedName", - "src": "5631:3:8", + "src": "4646:3:12", "type": "" } ], - "src": "5571:118:8" + "src": "4586:118:12" }, { "body": { "nodeType": "YulBlock", - "src": "5793:124:8", + "src": "4808:124:12", "statements": [ { "nodeType": "YulAssignment", - "src": "5803:26:8", + "src": "4818:26:12", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "5815:9:8" + "src": "4830:9:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "5826:2:8", + "src": "4841:2:12", "type": "", "value": "32" } @@ -3913,16 +5532,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "5811:3:8" + "src": "4826:3:12" }, "nodeType": "YulFunctionCall", - "src": "5811:18:8" + "src": "4826:18:12" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "5803:4:8" + "src": "4818:4:12" } ] }, @@ -3932,19 +5551,19 @@ { "name": "value0", "nodeType": "YulIdentifier", - "src": "5883:6:8" + "src": "4898:6:12" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "5896:9:8" + "src": "4911:9:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "5907:1:8", + "src": "4922:1:12", "type": "", "value": "0" } @@ -3952,38 +5571,38 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "5892:3:8" + "src": "4907:3:12" }, "nodeType": "YulFunctionCall", - "src": "5892:17:8" + "src": "4907:17:12" } ], "functionName": { - "name": "abi_encode_t_address_to_t_address_fromStack", + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", "nodeType": "YulIdentifier", - "src": "5839:43:8" + "src": "4854:43:12" }, "nodeType": "YulFunctionCall", - "src": "5839:71:8" + "src": "4854:71:12" }, "nodeType": "YulExpressionStatement", - "src": "5839:71:8" + "src": "4854:71:12" } ] }, - "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", + "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", - "src": "5765:9:8", + "src": "4780:9:12", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", - "src": "5777:6:8", + "src": "4792:6:12", "type": "" } ], @@ -3991,21 +5610,21 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "5788:4:8", + "src": "4803:4:12", "type": "" } ], - "src": "5695:222:8" + "src": "4710:222:12" }, { "body": { "nodeType": "YulBlock", - "src": "6006:391:8", + "src": "5038:519:12", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "6052:83:8", + "src": "5084:83:12", "statements": [ { "expression": { @@ -4013,13 +5632,13 @@ "functionName": { "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulIdentifier", - "src": "6054:77:8" + "src": "5086:77:12" }, "nodeType": "YulFunctionCall", - "src": "6054:79:8" + "src": "5086:79:12" }, "nodeType": "YulExpressionStatement", - "src": "6054:79:8" + "src": "5086:79:12" } ] }, @@ -4030,52 +5649,52 @@ { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "6027:7:8" + "src": "5059:7:12" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "6036:9:8" + "src": "5068:9:12" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "6023:3:8" + "src": "5055:3:12" }, "nodeType": "YulFunctionCall", - "src": "6023:23:8" + "src": "5055:23:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "6048:2:8", + "src": "5080:2:12", "type": "", - "value": "64" + "value": "96" } ], "functionName": { "name": "slt", "nodeType": "YulIdentifier", - "src": "6019:3:8" + "src": "5051:3:12" }, "nodeType": "YulFunctionCall", - "src": "6019:32:8" + "src": "5051:32:12" }, "nodeType": "YulIf", - "src": "6016:119:8" + "src": "5048:119:12" }, { "nodeType": "YulBlock", - "src": "6145:117:8", + "src": "5177:117:12", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "6160:15:8", + "src": "5192:15:12", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "6174:1:8", + "src": "5206:1:12", "type": "", "value": "0" }, @@ -4083,14 +5702,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "6164:6:8", + "src": "5196:6:12", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "6189:63:8", + "src": "5221:63:12", "value": { "arguments": [ { @@ -4098,41 +5717,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "6224:9:8" + "src": "5256:9:12" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "6235:6:8" + "src": "5267:6:12" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "6220:3:8" + "src": "5252:3:12" }, "nodeType": "YulFunctionCall", - "src": "6220:22:8" + "src": "5252:22:12" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "6244:7:8" + "src": "5276:7:12" } ], "functionName": { "name": "abi_decode_t_address", "nodeType": "YulIdentifier", - "src": "6199:20:8" + "src": "5231:20:12" }, "nodeType": "YulFunctionCall", - "src": "6199:53:8" + "src": "5231:53:12" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "6189:6:8" + "src": "5221:6:12" } ] } @@ -4140,15 +5759,15 @@ }, { "nodeType": "YulBlock", - "src": "6272:118:8", + "src": "5304:118:12", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "6287:16:8", + "src": "5319:16:12", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "6301:2:8", + "src": "5333:2:12", "type": "", "value": "32" }, @@ -4156,14 +5775,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "6291:6:8", + "src": "5323:6:12", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "6317:63:8", + "src": "5349:63:12", "value": { "arguments": [ { @@ -4171,41 +5790,1581 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "6352:9:8" + "src": "5384:9:12" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "6363:6:8" + "src": "5395:6:12" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "6348:3:8" + "src": "5380:3:12" }, "nodeType": "YulFunctionCall", - "src": "6348:22:8" + "src": "5380:22:12" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "6372:7:8" + "src": "5404:7:12" } ], "functionName": { "name": "abi_decode_t_address", "nodeType": "YulIdentifier", - "src": "6327:20:8" + "src": "5359:20:12" }, "nodeType": "YulFunctionCall", - "src": "6327:53:8" + "src": "5359:53:12" }, "variableNames": [ { "name": "value1", "nodeType": "YulIdentifier", - "src": "6317:6:8" + "src": "5349:6:12" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "5432:118:12", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "5447:16:12", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5461:2:12", + "type": "", + "value": "64" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "5451:6:12", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "5477:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5512:9:12" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "5523:6:12" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5508:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "5508:22:12" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "5532:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "5487:20:12" + }, + "nodeType": "YulFunctionCall", + "src": "5487:53:12" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "5477:6:12" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_addresst_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "4992:9:12", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "5003:7:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "5015:6:12", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "5023:6:12", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "5031:6:12", + "type": "" + } + ], + "src": "4938:619:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5608:32:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5618:16:12", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5629:5:12" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "5618:7:12" + } + ] + } + ] + }, + "name": "cleanup_t_bytes32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "5590:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "5600:7:12", + "type": "" + } + ], + "src": "5563:77:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5689:79:12", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "5746:16:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5755:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5758:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "5748:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "5748:12:12" + }, + "nodeType": "YulExpressionStatement", + "src": "5748:12:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5712:5:12" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5737:5:12" + } + ], + "functionName": { + "name": "cleanup_t_bytes32", + "nodeType": "YulIdentifier", + "src": "5719:17:12" + }, + "nodeType": "YulFunctionCall", + "src": "5719:24:12" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "5709:2:12" + }, + "nodeType": "YulFunctionCall", + "src": "5709:35:12" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "5702:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "5702:43:12" + }, + "nodeType": "YulIf", + "src": "5699:63:12" + } + ] + }, + "name": "validator_revert_t_bytes32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "5682:5:12", + "type": "" + } + ], + "src": "5646:122:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5826:87:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5836:29:12", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "5858:6:12" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "5845:12:12" + }, + "nodeType": "YulFunctionCall", + "src": "5845:20:12" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5836:5:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5901:5:12" + } + ], + "functionName": { + "name": "validator_revert_t_bytes32", + "nodeType": "YulIdentifier", + "src": "5874:26:12" + }, + "nodeType": "YulFunctionCall", + "src": "5874:33:12" + }, + "nodeType": "YulExpressionStatement", + "src": "5874:33:12" + } + ] + }, + "name": "abi_decode_t_bytes32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "5804:6:12", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "5812:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "5820:5:12", + "type": "" + } + ], + "src": "5774:139:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5985:263:12", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "6031:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "6033:77:12" + }, + "nodeType": "YulFunctionCall", + "src": "6033:79:12" + }, + "nodeType": "YulExpressionStatement", + "src": "6033:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "6006:7:12" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6015:9:12" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "6002:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "6002:23:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6027:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "5998:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "5998:32:12" + }, + "nodeType": "YulIf", + "src": "5995:119:12" + }, + { + "nodeType": "YulBlock", + "src": "6124:117:12", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "6139:15:12", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6153:1:12", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "6143:6:12", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "6168:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6203:9:12" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "6214:6:12" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6199:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "6199:22:12" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "6223:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_bytes32", + "nodeType": "YulIdentifier", + "src": "6178:20:12" + }, + "nodeType": "YulFunctionCall", + "src": "6178:53:12" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "6168:6:12" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "5955:9:12", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "5966:7:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "5978:6:12", + "type": "" + } + ], + "src": "5919:329:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6319:53:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "6336:3:12" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6359:5:12" + } + ], + "functionName": { + "name": "cleanup_t_bytes32", + "nodeType": "YulIdentifier", + "src": "6341:17:12" + }, + "nodeType": "YulFunctionCall", + "src": "6341:24:12" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "6329:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "6329:37:12" + }, + "nodeType": "YulExpressionStatement", + "src": "6329:37:12" + } + ] + }, + "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "6307:5:12", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "6314:3:12", + "type": "" + } + ], + "src": "6254:118:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6476:124:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "6486:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6498:9:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6509:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6494:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "6494:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "6486:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "6566:6:12" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6579:9:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6590:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6575:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "6575:17:12" + } + ], + "functionName": { + "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", + "nodeType": "YulIdentifier", + "src": "6522:43:12" + }, + "nodeType": "YulFunctionCall", + "src": "6522:71:12" + }, + "nodeType": "YulExpressionStatement", + "src": "6522:71:12" + } + ] + }, + "name": "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "6448:9:12", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "6460:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "6471:4:12", + "type": "" + } + ], + "src": "6378:222:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6689:391:12", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "6735:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "6737:77:12" + }, + "nodeType": "YulFunctionCall", + "src": "6737:79:12" + }, + "nodeType": "YulExpressionStatement", + "src": "6737:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "6710:7:12" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6719:9:12" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "6706:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "6706:23:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6731:2:12", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "6702:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "6702:32:12" + }, + "nodeType": "YulIf", + "src": "6699:119:12" + }, + { + "nodeType": "YulBlock", + "src": "6828:117:12", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "6843:15:12", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6857:1:12", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "6847:6:12", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "6872:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6907:9:12" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "6918:6:12" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6903:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "6903:22:12" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "6927:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_bytes32", + "nodeType": "YulIdentifier", + "src": "6882:20:12" + }, + "nodeType": "YulFunctionCall", + "src": "6882:53:12" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "6872:6:12" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "6955:118:12", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "6970:16:12", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6984:2:12", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "6974:6:12", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "7000:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7035:9:12" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "7046:6:12" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7031:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "7031:22:12" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "7055:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "7010:20:12" + }, + "nodeType": "YulFunctionCall", + "src": "7010:53:12" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "7000:6:12" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes32t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "6651:9:12", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "6662:7:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "6674:6:12", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "6682:6:12", + "type": "" + } + ], + "src": "6606:474:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7129:43:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "7139:27:12", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "7154:5:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7161:4:12", + "type": "", + "value": "0xff" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "7150:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "7150:16:12" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "7139:7:12" + } + ] + } + ] + }, + "name": "cleanup_t_uint8", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "7111:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "7121:7:12", + "type": "" + } + ], + "src": "7086:86:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7239:51:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "7256:3:12" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "7277:5:12" + } + ], + "functionName": { + "name": "cleanup_t_uint8", + "nodeType": "YulIdentifier", + "src": "7261:15:12" + }, + "nodeType": "YulFunctionCall", + "src": "7261:22:12" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "7249:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "7249:35:12" + }, + "nodeType": "YulExpressionStatement", + "src": "7249:35:12" + } + ] + }, + "name": "abi_encode_t_uint8_to_t_uint8_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "7227:5:12", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "7234:3:12", + "type": "" + } + ], + "src": "7178:112:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7390:120:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "7400:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7412:9:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7423:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7408:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "7408:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "7400:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "7476:6:12" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7489:9:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7500:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7485:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "7485:17:12" + } + ], + "functionName": { + "name": "abi_encode_t_uint8_to_t_uint8_fromStack", + "nodeType": "YulIdentifier", + "src": "7436:39:12" + }, + "nodeType": "YulFunctionCall", + "src": "7436:67:12" + }, + "nodeType": "YulExpressionStatement", + "src": "7436:67:12" + } + ] + }, + "name": "abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "7362:9:12", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "7374:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "7385:4:12", + "type": "" + } + ], + "src": "7296:214:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7582:263:12", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "7628:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "7630:77:12" + }, + "nodeType": "YulFunctionCall", + "src": "7630:79:12" + }, + "nodeType": "YulExpressionStatement", + "src": "7630:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "7603:7:12" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7612:9:12" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "7599:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "7599:23:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7624:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "7595:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "7595:32:12" + }, + "nodeType": "YulIf", + "src": "7592:119:12" + }, + { + "nodeType": "YulBlock", + "src": "7721:117:12", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "7736:15:12", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7750:1:12", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "7740:6:12", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "7765:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7800:9:12" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "7811:6:12" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7796:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "7796:22:12" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "7820:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "7775:20:12" + }, + "nodeType": "YulFunctionCall", + "src": "7775:53:12" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "7765:6:12" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "7552:9:12", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "7563:7:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "7575:6:12", + "type": "" + } + ], + "src": "7516:329:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7934:391:12", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "7980:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "7982:77:12" + }, + "nodeType": "YulFunctionCall", + "src": "7982:79:12" + }, + "nodeType": "YulExpressionStatement", + "src": "7982:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "7955:7:12" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7964:9:12" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "7951:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "7951:23:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7976:2:12", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "7947:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "7947:32:12" + }, + "nodeType": "YulIf", + "src": "7944:119:12" + }, + { + "nodeType": "YulBlock", + "src": "8073:117:12", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "8088:15:12", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8102:1:12", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "8092:6:12", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "8117:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8152:9:12" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "8163:6:12" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8148:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "8148:22:12" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "8172:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "8127:20:12" + }, + "nodeType": "YulFunctionCall", + "src": "8127:53:12" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "8117:6:12" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "8200:118:12", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "8215:16:12", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8229:2:12", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "8219:6:12", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "8245:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8280:9:12" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "8291:6:12" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8276:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "8276:22:12" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "8300:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "8255:20:12" + }, + "nodeType": "YulFunctionCall", + "src": "8255:53:12" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "8245:6:12" } ] } @@ -4219,13 +7378,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "5968:9:8", + "src": "7896:9:12", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", - "src": "5979:7:8", + "src": "7907:7:12", "type": "" } ], @@ -4233,22 +7392,22 @@ { "name": "value0", "nodeType": "YulTypedName", - "src": "5991:6:8", + "src": "7919:6:12", "type": "" }, { "name": "value1", "nodeType": "YulTypedName", - "src": "5999:6:8", + "src": "7927:6:12", "type": "" } ], - "src": "5923:474:8" + "src": "7851:474:12" }, { "body": { "nodeType": "YulBlock", - "src": "6431:152:8", + "src": "8359:152:12", "statements": [ { "expression": { @@ -4256,14 +7415,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "6448:1:8", + "src": "8376:1:12", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "6451:77:8", + "src": "8379:77:12", "type": "", "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" } @@ -4271,13 +7430,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "6441:6:8" + "src": "8369:6:12" }, "nodeType": "YulFunctionCall", - "src": "6441:88:8" + "src": "8369:88:12" }, "nodeType": "YulExpressionStatement", - "src": "6441:88:8" + "src": "8369:88:12" }, { "expression": { @@ -4285,14 +7444,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "6545:1:8", + "src": "8473:1:12", "type": "", "value": "4" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "6548:4:8", + "src": "8476:4:12", "type": "", "value": "0x22" } @@ -4300,13 +7459,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "6538:6:8" + "src": "8466:6:12" }, "nodeType": "YulFunctionCall", - "src": "6538:15:8" + "src": "8466:15:12" }, "nodeType": "YulExpressionStatement", - "src": "6538:15:8" + "src": "8466:15:12" }, { "expression": { @@ -4314,14 +7473,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "6569:1:8", + "src": "8497:1:12", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "6572:4:8", + "src": "8500:4:12", "type": "", "value": "0x24" } @@ -4329,39 +7488,39 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "6562:6:8" + "src": "8490:6:12" }, "nodeType": "YulFunctionCall", - "src": "6562:15:8" + "src": "8490:15:12" }, "nodeType": "YulExpressionStatement", - "src": "6562:15:8" + "src": "8490:15:12" } ] }, "name": "panic_error_0x22", "nodeType": "YulFunctionDefinition", - "src": "6403:180:8" + "src": "8331:180:12" }, { "body": { "nodeType": "YulBlock", - "src": "6640:269:8", + "src": "8568:269:12", "statements": [ { "nodeType": "YulAssignment", - "src": "6650:22:8", + "src": "8578:22:12", "value": { "arguments": [ { "name": "data", "nodeType": "YulIdentifier", - "src": "6664:4:8" + "src": "8592:4:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "6670:1:8", + "src": "8598:1:12", "type": "", "value": "2" } @@ -4369,33 +7528,33 @@ "functionName": { "name": "div", "nodeType": "YulIdentifier", - "src": "6660:3:8" + "src": "8588:3:12" }, "nodeType": "YulFunctionCall", - "src": "6660:12:8" + "src": "8588:12:12" }, "variableNames": [ { "name": "length", "nodeType": "YulIdentifier", - "src": "6650:6:8" + "src": "8578:6:12" } ] }, { "nodeType": "YulVariableDeclaration", - "src": "6681:38:8", + "src": "8609:38:12", "value": { "arguments": [ { "name": "data", "nodeType": "YulIdentifier", - "src": "6711:4:8" + "src": "8639:4:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "6717:1:8", + "src": "8645:1:12", "type": "", "value": "1" } @@ -4403,16 +7562,16 @@ "functionName": { "name": "and", "nodeType": "YulIdentifier", - "src": "6707:3:8" + "src": "8635:3:12" }, "nodeType": "YulFunctionCall", - "src": "6707:12:8" + "src": "8635:12:12" }, "variables": [ { "name": "outOfPlaceEncoding", "nodeType": "YulTypedName", - "src": "6685:18:8", + "src": "8613:18:12", "type": "" } ] @@ -4420,22 +7579,22 @@ { "body": { "nodeType": "YulBlock", - "src": "6758:51:8", + "src": "8686:51:12", "statements": [ { "nodeType": "YulAssignment", - "src": "6772:27:8", + "src": "8700:27:12", "value": { "arguments": [ { "name": "length", "nodeType": "YulIdentifier", - "src": "6786:6:8" + "src": "8714:6:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "6794:4:8", + "src": "8722:4:12", "type": "", "value": "0x7f" } @@ -4443,16 +7602,16 @@ "functionName": { "name": "and", "nodeType": "YulIdentifier", - "src": "6782:3:8" + "src": "8710:3:12" }, "nodeType": "YulFunctionCall", - "src": "6782:17:8" + "src": "8710:17:12" }, "variableNames": [ { "name": "length", "nodeType": "YulIdentifier", - "src": "6772:6:8" + "src": "8700:6:12" } ] } @@ -4463,24 +7622,24 @@ { "name": "outOfPlaceEncoding", "nodeType": "YulIdentifier", - "src": "6738:18:8" + "src": "8666:18:12" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "6731:6:8" + "src": "8659:6:12" }, "nodeType": "YulFunctionCall", - "src": "6731:26:8" + "src": "8659:26:12" }, "nodeType": "YulIf", - "src": "6728:81:8" + "src": "8656:81:12" }, { "body": { "nodeType": "YulBlock", - "src": "6861:42:8", + "src": "8789:42:12", "statements": [ { "expression": { @@ -4488,13 +7647,13 @@ "functionName": { "name": "panic_error_0x22", "nodeType": "YulIdentifier", - "src": "6875:16:8" + "src": "8803:16:12" }, "nodeType": "YulFunctionCall", - "src": "6875:18:8" + "src": "8803:18:12" }, "nodeType": "YulExpressionStatement", - "src": "6875:18:8" + "src": "8803:18:12" } ] }, @@ -4503,19 +7662,19 @@ { "name": "outOfPlaceEncoding", "nodeType": "YulIdentifier", - "src": "6825:18:8" + "src": "8753:18:12" }, { "arguments": [ { "name": "length", "nodeType": "YulIdentifier", - "src": "6848:6:8" + "src": "8776:6:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "6856:2:8", + "src": "8784:2:12", "type": "", "value": "32" } @@ -4523,22 +7682,22 @@ "functionName": { "name": "lt", "nodeType": "YulIdentifier", - "src": "6845:2:8" + "src": "8773:2:12" }, "nodeType": "YulFunctionCall", - "src": "6845:14:8" + "src": "8773:14:12" } ], "functionName": { "name": "eq", "nodeType": "YulIdentifier", - "src": "6822:2:8" + "src": "8750:2:12" }, "nodeType": "YulFunctionCall", - "src": "6822:38:8" + "src": "8750:38:12" }, "nodeType": "YulIf", - "src": "6819:84:8" + "src": "8747:84:12" } ] }, @@ -4548,7 +7707,7 @@ { "name": "data", "nodeType": "YulTypedName", - "src": "6624:4:8", + "src": "8552:4:12", "type": "" } ], @@ -4556,16 +7715,389 @@ { "name": "length", "nodeType": "YulTypedName", - "src": "6633:6:8", + "src": "8561:6:12", "type": "" } ], - "src": "6589:320:8" + "src": "8517:320:12" }, { "body": { "nodeType": "YulBlock", - "src": "6943:152:8", + "src": "8949:128:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "8971:6:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8979:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8967:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "8967:14:12" + }, + { + "hexValue": "416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e6365", + "kind": "string", + "nodeType": "YulLiteral", + "src": "8983:34:12", + "type": "", + "value": "AccessControl: can only renounce" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "8960:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "8960:58:12" + }, + "nodeType": "YulExpressionStatement", + "src": "8960:58:12" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "9039:6:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9047:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9035:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "9035:15:12" + }, + { + "hexValue": "20726f6c657320666f722073656c66", + "kind": "string", + "nodeType": "YulLiteral", + "src": "9052:17:12", + "type": "", + "value": " roles for self" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "9028:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "9028:42:12" + }, + "nodeType": "YulExpressionStatement", + "src": "9028:42:12" + } + ] + }, + "name": "store_literal_in_memory_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "8941:6:12", + "type": "" + } + ], + "src": "8843:234:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9229:220:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "9239:74:12", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9305:3:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9310:2:12", + "type": "", + "value": "47" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "9246:58:12" + }, + "nodeType": "YulFunctionCall", + "src": "9246:67:12" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9239:3:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9411:3:12" + } + ], + "functionName": { + "name": "store_literal_in_memory_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b", + "nodeType": "YulIdentifier", + "src": "9322:88:12" + }, + "nodeType": "YulFunctionCall", + "src": "9322:93:12" + }, + "nodeType": "YulExpressionStatement", + "src": "9322:93:12" + }, + { + "nodeType": "YulAssignment", + "src": "9424:19:12", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9435:3:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9440:2:12", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9431:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "9431:12:12" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "9424:3:12" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "9217:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "9225:3:12", + "type": "" + } + ], + "src": "9083:366:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9626:248:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "9636:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9648:9:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9659:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9644:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "9644:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "9636:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9683:9:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9694:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9679:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "9679:17:12" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "9702:4:12" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9708:9:12" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "9698:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "9698:20:12" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "9672:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "9672:47:12" + }, + "nodeType": "YulExpressionStatement", + "src": "9672:47:12" + }, + { + "nodeType": "YulAssignment", + "src": "9728:139:12", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "9862:4:12" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "9736:124:12" + }, + "nodeType": "YulFunctionCall", + "src": "9736:131:12" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "9728:4:12" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "9606:9:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "9621:4:12", + "type": "" + } + ], + "src": "9455:419:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9908:152:12", "statements": [ { "expression": { @@ -4573,14 +8105,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "6960:1:8", + "src": "9925:1:12", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "6963:77:8", + "src": "9928:77:12", "type": "", "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" } @@ -4588,13 +8120,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "6953:6:8" + "src": "9918:6:12" }, "nodeType": "YulFunctionCall", - "src": "6953:88:8" + "src": "9918:88:12" }, "nodeType": "YulExpressionStatement", - "src": "6953:88:8" + "src": "9918:88:12" }, { "expression": { @@ -4602,14 +8134,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "7057:1:8", + "src": "10022:1:12", "type": "", "value": "4" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "7060:4:8", + "src": "10025:4:12", "type": "", "value": "0x11" } @@ -4617,13 +8149,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "7050:6:8" + "src": "10015:6:12" }, "nodeType": "YulFunctionCall", - "src": "7050:15:8" + "src": "10015:15:12" }, "nodeType": "YulExpressionStatement", - "src": "7050:15:8" + "src": "10015:15:12" }, { "expression": { @@ -4631,14 +8163,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "7081:1:8", + "src": "10046:1:12", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "7084:4:8", + "src": "10049:4:12", "type": "", "value": "0x24" } @@ -4646,83 +8178,83 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "7074:6:8" + "src": "10039:6:12" }, "nodeType": "YulFunctionCall", - "src": "7074:15:8" + "src": "10039:15:12" }, "nodeType": "YulExpressionStatement", - "src": "7074:15:8" + "src": "10039:15:12" } ] }, "name": "panic_error_0x11", "nodeType": "YulFunctionDefinition", - "src": "6915:180:8" + "src": "9880:180:12" }, { "body": { "nodeType": "YulBlock", - "src": "7145:261:8", + "src": "10110:261:12", "statements": [ { "nodeType": "YulAssignment", - "src": "7155:25:8", + "src": "10120:25:12", "value": { "arguments": [ { "name": "x", "nodeType": "YulIdentifier", - "src": "7178:1:8" + "src": "10143:1:12" } ], "functionName": { "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", - "src": "7160:17:8" + "src": "10125:17:12" }, "nodeType": "YulFunctionCall", - "src": "7160:20:8" + "src": "10125:20:12" }, "variableNames": [ { "name": "x", "nodeType": "YulIdentifier", - "src": "7155:1:8" + "src": "10120:1:12" } ] }, { "nodeType": "YulAssignment", - "src": "7189:25:8", + "src": "10154:25:12", "value": { "arguments": [ { "name": "y", "nodeType": "YulIdentifier", - "src": "7212:1:8" + "src": "10177:1:12" } ], "functionName": { "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", - "src": "7194:17:8" + "src": "10159:17:12" }, "nodeType": "YulFunctionCall", - "src": "7194:20:8" + "src": "10159:20:12" }, "variableNames": [ { "name": "y", "nodeType": "YulIdentifier", - "src": "7189:1:8" + "src": "10154:1:12" } ] }, { "body": { "nodeType": "YulBlock", - "src": "7352:22:8", + "src": "10317:22:12", "statements": [ { "expression": { @@ -4730,13 +8262,13 @@ "functionName": { "name": "panic_error_0x11", "nodeType": "YulIdentifier", - "src": "7354:16:8" + "src": "10319:16:12" }, "nodeType": "YulFunctionCall", - "src": "7354:18:8" + "src": "10319:18:12" }, "nodeType": "YulExpressionStatement", - "src": "7354:18:8" + "src": "10319:18:12" } ] }, @@ -4745,72 +8277,72 @@ { "name": "x", "nodeType": "YulIdentifier", - "src": "7273:1:8" + "src": "10238:1:12" }, { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", - "src": "7280:66:8", + "src": "10245:66:12", "type": "", "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" }, { "name": "y", "nodeType": "YulIdentifier", - "src": "7348:1:8" + "src": "10313:1:12" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "7276:3:8" + "src": "10241:3:12" }, "nodeType": "YulFunctionCall", - "src": "7276:74:8" + "src": "10241:74:12" } ], "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "7270:2:8" + "src": "10235:2:12" }, "nodeType": "YulFunctionCall", - "src": "7270:81:8" + "src": "10235:81:12" }, "nodeType": "YulIf", - "src": "7267:107:8" + "src": "10232:107:12" }, { "nodeType": "YulAssignment", - "src": "7384:16:8", + "src": "10349:16:12", "value": { "arguments": [ { "name": "x", "nodeType": "YulIdentifier", - "src": "7395:1:8" + "src": "10360:1:12" }, { "name": "y", "nodeType": "YulIdentifier", - "src": "7398:1:8" + "src": "10363:1:12" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "7391:3:8" + "src": "10356:3:12" }, "nodeType": "YulFunctionCall", - "src": "7391:9:8" + "src": "10356:9:12" }, "variableNames": [ { "name": "sum", "nodeType": "YulIdentifier", - "src": "7384:3:8" + "src": "10349:3:12" } ] } @@ -4822,13 +8354,13 @@ { "name": "x", "nodeType": "YulTypedName", - "src": "7132:1:8", + "src": "10097:1:12", "type": "" }, { "name": "y", "nodeType": "YulTypedName", - "src": "7135:1:8", + "src": "10100:1:12", "type": "" } ], @@ -4836,16 +8368,16 @@ { "name": "sum", "nodeType": "YulTypedName", - "src": "7141:3:8", + "src": "10106:3:12", "type": "" } ], - "src": "7101:305:8" + "src": "10066:305:12" }, { "body": { "nodeType": "YulBlock", - "src": "7518:76:8", + "src": "10483:118:12", "statements": [ { "expression": { @@ -4855,12 +8387,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "7540:6:8" + "src": "10505:6:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "7548:1:8", + "src": "10513:1:12", "type": "", "value": "0" } @@ -4868,343 +8400,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "7536:3:8" + "src": "10501:3:12" }, "nodeType": "YulFunctionCall", - "src": "7536:14:8" - }, - { - "hexValue": "4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572", - "kind": "string", - "nodeType": "YulLiteral", - "src": "7552:34:8", - "type": "", - "value": "Ownable: caller is not the owner" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7529:6:8" - }, - "nodeType": "YulFunctionCall", - "src": "7529:58:8" - }, - "nodeType": "YulExpressionStatement", - "src": "7529:58:8" - } - ] - }, - "name": "store_literal_in_memory_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "7510:6:8", - "type": "" - } - ], - "src": "7412:182:8" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7746:220:8", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "7756:74:8", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "7822:3:8" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7827:2:8", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "7763:58:8" - }, - "nodeType": "YulFunctionCall", - "src": "7763:67:8" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "7756:3:8" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "7928:3:8" - } - ], - "functionName": { - "name": "store_literal_in_memory_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe", - "nodeType": "YulIdentifier", - "src": "7839:88:8" - }, - "nodeType": "YulFunctionCall", - "src": "7839:93:8" - }, - "nodeType": "YulExpressionStatement", - "src": "7839:93:8" - }, - { - "nodeType": "YulAssignment", - "src": "7941:19:8", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "7952:3:8" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7957:2:8", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7948:3:8" - }, - "nodeType": "YulFunctionCall", - "src": "7948:12:8" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "7941:3:8" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe_to_t_string_memory_ptr_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "7734:3:8", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "7742:3:8", - "type": "" - } - ], - "src": "7600:366:8" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8143:248:8", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "8153:26:8", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8165:9:8" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8176:2:8", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8161:3:8" - }, - "nodeType": "YulFunctionCall", - "src": "8161:18:8" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "8153:4:8" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8200:9:8" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8211:1:8", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8196:3:8" - }, - "nodeType": "YulFunctionCall", - "src": "8196:17:8" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "8219:4:8" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8225:9:8" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "8215:3:8" - }, - "nodeType": "YulFunctionCall", - "src": "8215:20:8" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8189:6:8" - }, - "nodeType": "YulFunctionCall", - "src": "8189:47:8" - }, - "nodeType": "YulExpressionStatement", - "src": "8189:47:8" - }, - { - "nodeType": "YulAssignment", - "src": "8245:139:8", - "value": { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "8379:4:8" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe_to_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "8253:124:8" - }, - "nodeType": "YulFunctionCall", - "src": "8253:131:8" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "8245:4:8" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "8123:9:8", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "8138:4:8", - "type": "" - } - ], - "src": "7972:419:8" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8503:118:8", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "8525:6:8" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8533:1:8", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8521:3:8" - }, - "nodeType": "YulFunctionCall", - "src": "8521:14:8" + "src": "10501:14:12" }, { "hexValue": "45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77", "kind": "string", "nodeType": "YulLiteral", - "src": "8537:34:8", + "src": "10517:34:12", "type": "", "value": "ERC20: decreased allowance below" } @@ -5212,13 +8417,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "8514:6:8" + "src": "10494:6:12" }, "nodeType": "YulFunctionCall", - "src": "8514:58:8" + "src": "10494:58:12" }, "nodeType": "YulExpressionStatement", - "src": "8514:58:8" + "src": "10494:58:12" }, { "expression": { @@ -5228,12 +8433,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "8593:6:8" + "src": "10573:6:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "8601:2:8", + "src": "10581:2:12", "type": "", "value": "32" } @@ -5241,16 +8446,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "8589:3:8" + "src": "10569:3:12" }, "nodeType": "YulFunctionCall", - "src": "8589:15:8" + "src": "10569:15:12" }, { "hexValue": "207a65726f", "kind": "string", "nodeType": "YulLiteral", - "src": "8606:7:8", + "src": "10586:7:12", "type": "", "value": " zero" } @@ -5258,13 +8463,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "8582:6:8" + "src": "10562:6:12" }, "nodeType": "YulFunctionCall", - "src": "8582:32:8" + "src": "10562:32:12" }, "nodeType": "YulExpressionStatement", - "src": "8582:32:8" + "src": "10562:32:12" } ] }, @@ -5274,31 +8479,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "8495:6:8", + "src": "10475:6:12", "type": "" } ], - "src": "8397:224:8" + "src": "10377:224:12" }, { "body": { "nodeType": "YulBlock", - "src": "8773:220:8", + "src": "10753:220:12", "statements": [ { "nodeType": "YulAssignment", - "src": "8783:74:8", + "src": "10763:74:12", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "8849:3:8" + "src": "10829:3:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "8854:2:8", + "src": "10834:2:12", "type": "", "value": "37" } @@ -5306,16 +8511,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "8790:58:8" + "src": "10770:58:12" }, "nodeType": "YulFunctionCall", - "src": "8790:67:8" + "src": "10770:67:12" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "8783:3:8" + "src": "10763:3:12" } ] }, @@ -5325,34 +8530,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "8955:3:8" + "src": "10935:3:12" } ], "functionName": { "name": "store_literal_in_memory_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8", "nodeType": "YulIdentifier", - "src": "8866:88:8" + "src": "10846:88:12" }, "nodeType": "YulFunctionCall", - "src": "8866:93:8" + "src": "10846:93:12" }, "nodeType": "YulExpressionStatement", - "src": "8866:93:8" + "src": "10846:93:12" }, { "nodeType": "YulAssignment", - "src": "8968:19:8", + "src": "10948:19:12", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "8979:3:8" + "src": "10959:3:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "8984:2:8", + "src": "10964:2:12", "type": "", "value": "64" } @@ -5360,16 +8565,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "8975:3:8" + "src": "10955:3:12" }, "nodeType": "YulFunctionCall", - "src": "8975:12:8" + "src": "10955:12:12" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "8968:3:8" + "src": "10948:3:12" } ] } @@ -5381,7 +8586,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "8761:3:8", + "src": "10741:3:12", "type": "" } ], @@ -5389,31 +8594,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "8769:3:8", + "src": "10749:3:12", "type": "" } ], - "src": "8627:366:8" + "src": "10607:366:12" }, { "body": { "nodeType": "YulBlock", - "src": "9170:248:8", + "src": "11150:248:12", "statements": [ { "nodeType": "YulAssignment", - "src": "9180:26:8", + "src": "11160:26:12", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "9192:9:8" + "src": "11172:9:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "9203:2:8", + "src": "11183:2:12", "type": "", "value": "32" } @@ -5421,16 +8626,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "9188:3:8" + "src": "11168:3:12" }, "nodeType": "YulFunctionCall", - "src": "9188:18:8" + "src": "11168:18:12" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "9180:4:8" + "src": "11160:4:12" } ] }, @@ -5442,12 +8647,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "9227:9:8" + "src": "11207:9:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "9238:1:8", + "src": "11218:1:12", "type": "", "value": "0" } @@ -5455,68 +8660,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "9223:3:8" + "src": "11203:3:12" }, "nodeType": "YulFunctionCall", - "src": "9223:17:8" + "src": "11203:17:12" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "9246:4:8" + "src": "11226:4:12" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "9252:9:8" + "src": "11232:9:12" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "9242:3:8" + "src": "11222:3:12" }, "nodeType": "YulFunctionCall", - "src": "9242:20:8" + "src": "11222:20:12" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "9216:6:8" + "src": "11196:6:12" }, "nodeType": "YulFunctionCall", - "src": "9216:47:8" + "src": "11196:47:12" }, "nodeType": "YulExpressionStatement", - "src": "9216:47:8" + "src": "11196:47:12" }, { "nodeType": "YulAssignment", - "src": "9272:139:8", + "src": "11252:139:12", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "9406:4:8" + "src": "11386:4:12" } ], "functionName": { "name": "abi_encode_t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "9280:124:8" + "src": "11260:124:12" }, "nodeType": "YulFunctionCall", - "src": "9280:131:8" + "src": "11260:131:12" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "9272:4:8" + "src": "11252:4:12" } ] } @@ -5528,7 +8733,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "9150:9:8", + "src": "11130:9:12", "type": "" } ], @@ -5536,16 +8741,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "9165:4:8", + "src": "11145:4:12", "type": "" } ], - "src": "8999:419:8" + "src": "10979:419:12" }, { "body": { "nodeType": "YulBlock", - "src": "9530:119:8", + "src": "11510:117:12", "statements": [ { "expression": { @@ -5555,12 +8760,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "9552:6:8" + "src": "11532:6:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "9560:1:8", + "src": "11540:1:12", "type": "", "value": "0" } @@ -5568,389 +8773,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "9548:3:8" + "src": "11528:3:12" }, "nodeType": "YulFunctionCall", - "src": "9548:14:8" - }, - { - "hexValue": "4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061", - "kind": "string", - "nodeType": "YulLiteral", - "src": "9564:34:8", - "type": "", - "value": "Ownable: new owner is the zero a" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9541:6:8" - }, - "nodeType": "YulFunctionCall", - "src": "9541:58:8" - }, - "nodeType": "YulExpressionStatement", - "src": "9541:58:8" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "9620:6:8" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9628:2:8", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9616:3:8" - }, - "nodeType": "YulFunctionCall", - "src": "9616:15:8" - }, - { - "hexValue": "646472657373", - "kind": "string", - "nodeType": "YulLiteral", - "src": "9633:8:8", - "type": "", - "value": "ddress" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9609:6:8" - }, - "nodeType": "YulFunctionCall", - "src": "9609:33:8" - }, - "nodeType": "YulExpressionStatement", - "src": "9609:33:8" - } - ] - }, - "name": "store_literal_in_memory_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "9522:6:8", - "type": "" - } - ], - "src": "9424:225:8" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9801:220:8", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "9811:74:8", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "9877:3:8" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9882:2:8", - "type": "", - "value": "38" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "9818:58:8" - }, - "nodeType": "YulFunctionCall", - "src": "9818:67:8" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "9811:3:8" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "9983:3:8" - } - ], - "functionName": { - "name": "store_literal_in_memory_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe", - "nodeType": "YulIdentifier", - "src": "9894:88:8" - }, - "nodeType": "YulFunctionCall", - "src": "9894:93:8" - }, - "nodeType": "YulExpressionStatement", - "src": "9894:93:8" - }, - { - "nodeType": "YulAssignment", - "src": "9996:19:8", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "10007:3:8" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10012:2:8", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10003:3:8" - }, - "nodeType": "YulFunctionCall", - "src": "10003:12:8" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "9996:3:8" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe_to_t_string_memory_ptr_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "9789:3:8", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "9797:3:8", - "type": "" - } - ], - "src": "9655:366:8" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10198:248:8", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "10208:26:8", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10220:9:8" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10231:2:8", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10216:3:8" - }, - "nodeType": "YulFunctionCall", - "src": "10216:18:8" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "10208:4:8" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10255:9:8" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10266:1:8", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10251:3:8" - }, - "nodeType": "YulFunctionCall", - "src": "10251:17:8" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "10274:4:8" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10280:9:8" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "10270:3:8" - }, - "nodeType": "YulFunctionCall", - "src": "10270:20:8" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10244:6:8" - }, - "nodeType": "YulFunctionCall", - "src": "10244:47:8" - }, - "nodeType": "YulExpressionStatement", - "src": "10244:47:8" - }, - { - "nodeType": "YulAssignment", - "src": "10300:139:8", - "value": { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "10434:4:8" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe_to_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "10308:124:8" - }, - "nodeType": "YulFunctionCall", - "src": "10308:131:8" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "10300:4:8" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "10178:9:8", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "10193:4:8", - "type": "" - } - ], - "src": "10027:419:8" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10558:117:8", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "10580:6:8" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10588:1:8", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10576:3:8" - }, - "nodeType": "YulFunctionCall", - "src": "10576:14:8" + "src": "11528:14:12" }, { "hexValue": "45524332303a20617070726f76652066726f6d20746865207a65726f20616464", "kind": "string", "nodeType": "YulLiteral", - "src": "10592:34:8", + "src": "11544:34:12", "type": "", "value": "ERC20: approve from the zero add" } @@ -5958,13 +8790,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "10569:6:8" + "src": "11521:6:12" }, "nodeType": "YulFunctionCall", - "src": "10569:58:8" + "src": "11521:58:12" }, "nodeType": "YulExpressionStatement", - "src": "10569:58:8" + "src": "11521:58:12" }, { "expression": { @@ -5974,12 +8806,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "10648:6:8" + "src": "11600:6:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "10656:2:8", + "src": "11608:2:12", "type": "", "value": "32" } @@ -5987,16 +8819,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "10644:3:8" + "src": "11596:3:12" }, "nodeType": "YulFunctionCall", - "src": "10644:15:8" + "src": "11596:15:12" }, { "hexValue": "72657373", "kind": "string", "nodeType": "YulLiteral", - "src": "10661:6:8", + "src": "11613:6:12", "type": "", "value": "ress" } @@ -6004,13 +8836,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "10637:6:8" + "src": "11589:6:12" }, "nodeType": "YulFunctionCall", - "src": "10637:31:8" + "src": "11589:31:12" }, "nodeType": "YulExpressionStatement", - "src": "10637:31:8" + "src": "11589:31:12" } ] }, @@ -6020,31 +8852,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "10550:6:8", + "src": "11502:6:12", "type": "" } ], - "src": "10452:223:8" + "src": "11404:223:12" }, { "body": { "nodeType": "YulBlock", - "src": "10827:220:8", + "src": "11779:220:12", "statements": [ { "nodeType": "YulAssignment", - "src": "10837:74:8", + "src": "11789:74:12", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "10903:3:8" + "src": "11855:3:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "10908:2:8", + "src": "11860:2:12", "type": "", "value": "36" } @@ -6052,16 +8884,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "10844:58:8" + "src": "11796:58:12" }, "nodeType": "YulFunctionCall", - "src": "10844:67:8" + "src": "11796:67:12" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "10837:3:8" + "src": "11789:3:12" } ] }, @@ -6071,34 +8903,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "11009:3:8" + "src": "11961:3:12" } ], "functionName": { "name": "store_literal_in_memory_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208", "nodeType": "YulIdentifier", - "src": "10920:88:8" + "src": "11872:88:12" }, "nodeType": "YulFunctionCall", - "src": "10920:93:8" + "src": "11872:93:12" }, "nodeType": "YulExpressionStatement", - "src": "10920:93:8" + "src": "11872:93:12" }, { "nodeType": "YulAssignment", - "src": "11022:19:8", + "src": "11974:19:12", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "11033:3:8" + "src": "11985:3:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "11038:2:8", + "src": "11990:2:12", "type": "", "value": "64" } @@ -6106,16 +8938,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "11029:3:8" + "src": "11981:3:12" }, "nodeType": "YulFunctionCall", - "src": "11029:12:8" + "src": "11981:12:12" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "11022:3:8" + "src": "11974:3:12" } ] } @@ -6127,7 +8959,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "10815:3:8", + "src": "11767:3:12", "type": "" } ], @@ -6135,31 +8967,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "10823:3:8", + "src": "11775:3:12", "type": "" } ], - "src": "10681:366:8" + "src": "11633:366:12" }, { "body": { "nodeType": "YulBlock", - "src": "11224:248:8", + "src": "12176:248:12", "statements": [ { "nodeType": "YulAssignment", - "src": "11234:26:8", + "src": "12186:26:12", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "11246:9:8" + "src": "12198:9:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "11257:2:8", + "src": "12209:2:12", "type": "", "value": "32" } @@ -6167,16 +8999,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "11242:3:8" + "src": "12194:3:12" }, "nodeType": "YulFunctionCall", - "src": "11242:18:8" + "src": "12194:18:12" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "11234:4:8" + "src": "12186:4:12" } ] }, @@ -6188,12 +9020,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "11281:9:8" + "src": "12233:9:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "11292:1:8", + "src": "12244:1:12", "type": "", "value": "0" } @@ -6201,68 +9033,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "11277:3:8" + "src": "12229:3:12" }, "nodeType": "YulFunctionCall", - "src": "11277:17:8" + "src": "12229:17:12" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "11300:4:8" + "src": "12252:4:12" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "11306:9:8" + "src": "12258:9:12" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "11296:3:8" + "src": "12248:3:12" }, "nodeType": "YulFunctionCall", - "src": "11296:20:8" + "src": "12248:20:12" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "11270:6:8" + "src": "12222:6:12" }, "nodeType": "YulFunctionCall", - "src": "11270:47:8" + "src": "12222:47:12" }, "nodeType": "YulExpressionStatement", - "src": "11270:47:8" + "src": "12222:47:12" }, { "nodeType": "YulAssignment", - "src": "11326:139:8", + "src": "12278:139:12", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "11460:4:8" + "src": "12412:4:12" } ], "functionName": { "name": "abi_encode_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "11334:124:8" + "src": "12286:124:12" }, "nodeType": "YulFunctionCall", - "src": "11334:131:8" + "src": "12286:131:12" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "11326:4:8" + "src": "12278:4:12" } ] } @@ -6274,7 +9106,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "11204:9:8", + "src": "12156:9:12", "type": "" } ], @@ -6282,16 +9114,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "11219:4:8", + "src": "12171:4:12", "type": "" } ], - "src": "11053:419:8" + "src": "12005:419:12" }, { "body": { "nodeType": "YulBlock", - "src": "11584:115:8", + "src": "12536:115:12", "statements": [ { "expression": { @@ -6301,12 +9133,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "11606:6:8" + "src": "12558:6:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "11614:1:8", + "src": "12566:1:12", "type": "", "value": "0" } @@ -6314,16 +9146,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "11602:3:8" + "src": "12554:3:12" }, "nodeType": "YulFunctionCall", - "src": "11602:14:8" + "src": "12554:14:12" }, { "hexValue": "45524332303a20617070726f766520746f20746865207a65726f206164647265", "kind": "string", "nodeType": "YulLiteral", - "src": "11618:34:8", + "src": "12570:34:12", "type": "", "value": "ERC20: approve to the zero addre" } @@ -6331,13 +9163,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "11595:6:8" + "src": "12547:6:12" }, "nodeType": "YulFunctionCall", - "src": "11595:58:8" + "src": "12547:58:12" }, "nodeType": "YulExpressionStatement", - "src": "11595:58:8" + "src": "12547:58:12" }, { "expression": { @@ -6347,12 +9179,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "11674:6:8" + "src": "12626:6:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "11682:2:8", + "src": "12634:2:12", "type": "", "value": "32" } @@ -6360,16 +9192,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "11670:3:8" + "src": "12622:3:12" }, "nodeType": "YulFunctionCall", - "src": "11670:15:8" + "src": "12622:15:12" }, { "hexValue": "7373", "kind": "string", "nodeType": "YulLiteral", - "src": "11687:4:8", + "src": "12639:4:12", "type": "", "value": "ss" } @@ -6377,13 +9209,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "11663:6:8" + "src": "12615:6:12" }, "nodeType": "YulFunctionCall", - "src": "11663:29:8" + "src": "12615:29:12" }, "nodeType": "YulExpressionStatement", - "src": "11663:29:8" + "src": "12615:29:12" } ] }, @@ -6393,31 +9225,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "11576:6:8", + "src": "12528:6:12", "type": "" } ], - "src": "11478:221:8" + "src": "12430:221:12" }, { "body": { "nodeType": "YulBlock", - "src": "11851:220:8", + "src": "12803:220:12", "statements": [ { "nodeType": "YulAssignment", - "src": "11861:74:8", + "src": "12813:74:12", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "11927:3:8" + "src": "12879:3:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "11932:2:8", + "src": "12884:2:12", "type": "", "value": "34" } @@ -6425,16 +9257,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "11868:58:8" + "src": "12820:58:12" }, "nodeType": "YulFunctionCall", - "src": "11868:67:8" + "src": "12820:67:12" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "11861:3:8" + "src": "12813:3:12" } ] }, @@ -6444,34 +9276,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "12033:3:8" + "src": "12985:3:12" } ], "functionName": { "name": "store_literal_in_memory_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029", "nodeType": "YulIdentifier", - "src": "11944:88:8" + "src": "12896:88:12" }, "nodeType": "YulFunctionCall", - "src": "11944:93:8" + "src": "12896:93:12" }, "nodeType": "YulExpressionStatement", - "src": "11944:93:8" + "src": "12896:93:12" }, { "nodeType": "YulAssignment", - "src": "12046:19:8", + "src": "12998:19:12", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "12057:3:8" + "src": "13009:3:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "12062:2:8", + "src": "13014:2:12", "type": "", "value": "64" } @@ -6479,16 +9311,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "12053:3:8" + "src": "13005:3:12" }, "nodeType": "YulFunctionCall", - "src": "12053:12:8" + "src": "13005:12:12" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "12046:3:8" + "src": "12998:3:12" } ] } @@ -6500,7 +9332,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "11839:3:8", + "src": "12791:3:12", "type": "" } ], @@ -6508,31 +9340,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "11847:3:8", + "src": "12799:3:12", "type": "" } ], - "src": "11705:366:8" + "src": "12657:366:12" }, { "body": { "nodeType": "YulBlock", - "src": "12248:248:8", + "src": "13200:248:12", "statements": [ { "nodeType": "YulAssignment", - "src": "12258:26:8", + "src": "13210:26:12", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "12270:9:8" + "src": "13222:9:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "12281:2:8", + "src": "13233:2:12", "type": "", "value": "32" } @@ -6540,16 +9372,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "12266:3:8" + "src": "13218:3:12" }, "nodeType": "YulFunctionCall", - "src": "12266:18:8" + "src": "13218:18:12" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "12258:4:8" + "src": "13210:4:12" } ] }, @@ -6561,12 +9393,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "12305:9:8" + "src": "13257:9:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "12316:1:8", + "src": "13268:1:12", "type": "", "value": "0" } @@ -6574,68 +9406,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "12301:3:8" + "src": "13253:3:12" }, "nodeType": "YulFunctionCall", - "src": "12301:17:8" + "src": "13253:17:12" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "12324:4:8" + "src": "13276:4:12" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "12330:9:8" + "src": "13282:9:12" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "12320:3:8" + "src": "13272:3:12" }, "nodeType": "YulFunctionCall", - "src": "12320:20:8" + "src": "13272:20:12" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "12294:6:8" + "src": "13246:6:12" }, "nodeType": "YulFunctionCall", - "src": "12294:47:8" + "src": "13246:47:12" }, "nodeType": "YulExpressionStatement", - "src": "12294:47:8" + "src": "13246:47:12" }, { "nodeType": "YulAssignment", - "src": "12350:139:8", + "src": "13302:139:12", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "12484:4:8" + "src": "13436:4:12" } ], "functionName": { "name": "abi_encode_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "12358:124:8" + "src": "13310:124:12" }, "nodeType": "YulFunctionCall", - "src": "12358:131:8" + "src": "13310:131:12" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "12350:4:8" + "src": "13302:4:12" } ] } @@ -6647,7 +9479,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "12228:9:8", + "src": "13180:9:12", "type": "" } ], @@ -6655,16 +9487,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "12243:4:8", + "src": "13195:4:12", "type": "" } ], - "src": "12077:419:8" + "src": "13029:419:12" }, { "body": { "nodeType": "YulBlock", - "src": "12608:73:8", + "src": "13560:73:12", "statements": [ { "expression": { @@ -6674,12 +9506,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "12630:6:8" + "src": "13582:6:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "12638:1:8", + "src": "13590:1:12", "type": "", "value": "0" } @@ -6687,16 +9519,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "12626:3:8" + "src": "13578:3:12" }, "nodeType": "YulFunctionCall", - "src": "12626:14:8" + "src": "13578:14:12" }, { "hexValue": "45524332303a20696e73756666696369656e7420616c6c6f77616e6365", "kind": "string", "nodeType": "YulLiteral", - "src": "12642:31:8", + "src": "13594:31:12", "type": "", "value": "ERC20: insufficient allowance" } @@ -6704,13 +9536,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "12619:6:8" + "src": "13571:6:12" }, "nodeType": "YulFunctionCall", - "src": "12619:55:8" + "src": "13571:55:12" }, "nodeType": "YulExpressionStatement", - "src": "12619:55:8" + "src": "13571:55:12" } ] }, @@ -6720,31 +9552,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "12600:6:8", + "src": "13552:6:12", "type": "" } ], - "src": "12502:179:8" + "src": "13454:179:12" }, { "body": { "nodeType": "YulBlock", - "src": "12833:220:8", + "src": "13785:220:12", "statements": [ { "nodeType": "YulAssignment", - "src": "12843:74:8", + "src": "13795:74:12", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "12909:3:8" + "src": "13861:3:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "12914:2:8", + "src": "13866:2:12", "type": "", "value": "29" } @@ -6752,16 +9584,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "12850:58:8" + "src": "13802:58:12" }, "nodeType": "YulFunctionCall", - "src": "12850:67:8" + "src": "13802:67:12" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "12843:3:8" + "src": "13795:3:12" } ] }, @@ -6771,34 +9603,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "13015:3:8" + "src": "13967:3:12" } ], "functionName": { "name": "store_literal_in_memory_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe", "nodeType": "YulIdentifier", - "src": "12926:88:8" + "src": "13878:88:12" }, "nodeType": "YulFunctionCall", - "src": "12926:93:8" + "src": "13878:93:12" }, "nodeType": "YulExpressionStatement", - "src": "12926:93:8" + "src": "13878:93:12" }, { "nodeType": "YulAssignment", - "src": "13028:19:8", + "src": "13980:19:12", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "13039:3:8" + "src": "13991:3:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "13044:2:8", + "src": "13996:2:12", "type": "", "value": "32" } @@ -6806,16 +9638,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "13035:3:8" + "src": "13987:3:12" }, "nodeType": "YulFunctionCall", - "src": "13035:12:8" + "src": "13987:12:12" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "13028:3:8" + "src": "13980:3:12" } ] } @@ -6827,7 +9659,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "12821:3:8", + "src": "13773:3:12", "type": "" } ], @@ -6835,31 +9667,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "12829:3:8", + "src": "13781:3:12", "type": "" } ], - "src": "12687:366:8" + "src": "13639:366:12" }, { "body": { "nodeType": "YulBlock", - "src": "13230:248:8", + "src": "14182:248:12", "statements": [ { "nodeType": "YulAssignment", - "src": "13240:26:8", + "src": "14192:26:12", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "13252:9:8" + "src": "14204:9:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "13263:2:8", + "src": "14215:2:12", "type": "", "value": "32" } @@ -6867,16 +9699,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "13248:3:8" + "src": "14200:3:12" }, "nodeType": "YulFunctionCall", - "src": "13248:18:8" + "src": "14200:18:12" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "13240:4:8" + "src": "14192:4:12" } ] }, @@ -6888,12 +9720,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "13287:9:8" + "src": "14239:9:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "13298:1:8", + "src": "14250:1:12", "type": "", "value": "0" } @@ -6901,68 +9733,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "13283:3:8" + "src": "14235:3:12" }, "nodeType": "YulFunctionCall", - "src": "13283:17:8" + "src": "14235:17:12" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "13306:4:8" + "src": "14258:4:12" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "13312:9:8" + "src": "14264:9:12" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "13302:3:8" + "src": "14254:3:12" }, "nodeType": "YulFunctionCall", - "src": "13302:20:8" + "src": "14254:20:12" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "13276:6:8" + "src": "14228:6:12" }, "nodeType": "YulFunctionCall", - "src": "13276:47:8" + "src": "14228:47:12" }, "nodeType": "YulExpressionStatement", - "src": "13276:47:8" + "src": "14228:47:12" }, { "nodeType": "YulAssignment", - "src": "13332:139:8", + "src": "14284:139:12", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "13466:4:8" + "src": "14418:4:12" } ], "functionName": { "name": "abi_encode_t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "13340:124:8" + "src": "14292:124:12" }, "nodeType": "YulFunctionCall", - "src": "13340:131:8" + "src": "14292:131:12" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "13332:4:8" + "src": "14284:4:12" } ] } @@ -6974,7 +9806,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "13210:9:8", + "src": "14162:9:12", "type": "" } ], @@ -6982,16 +9814,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "13225:4:8", + "src": "14177:4:12", "type": "" } ], - "src": "13059:419:8" + "src": "14011:419:12" }, { "body": { "nodeType": "YulBlock", - "src": "13590:118:8", + "src": "14542:118:12", "statements": [ { "expression": { @@ -7001,12 +9833,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "13612:6:8" + "src": "14564:6:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "13620:1:8", + "src": "14572:1:12", "type": "", "value": "0" } @@ -7014,16 +9846,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "13608:3:8" + "src": "14560:3:12" }, "nodeType": "YulFunctionCall", - "src": "13608:14:8" + "src": "14560:14:12" }, { "hexValue": "45524332303a207472616e736665722066726f6d20746865207a65726f206164", "kind": "string", "nodeType": "YulLiteral", - "src": "13624:34:8", + "src": "14576:34:12", "type": "", "value": "ERC20: transfer from the zero ad" } @@ -7031,13 +9863,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "13601:6:8" + "src": "14553:6:12" }, "nodeType": "YulFunctionCall", - "src": "13601:58:8" + "src": "14553:58:12" }, "nodeType": "YulExpressionStatement", - "src": "13601:58:8" + "src": "14553:58:12" }, { "expression": { @@ -7047,12 +9879,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "13680:6:8" + "src": "14632:6:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "13688:2:8", + "src": "14640:2:12", "type": "", "value": "32" } @@ -7060,16 +9892,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "13676:3:8" + "src": "14628:3:12" }, "nodeType": "YulFunctionCall", - "src": "13676:15:8" + "src": "14628:15:12" }, { "hexValue": "6472657373", "kind": "string", "nodeType": "YulLiteral", - "src": "13693:7:8", + "src": "14645:7:12", "type": "", "value": "dress" } @@ -7077,13 +9909,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "13669:6:8" + "src": "14621:6:12" }, "nodeType": "YulFunctionCall", - "src": "13669:32:8" + "src": "14621:32:12" }, "nodeType": "YulExpressionStatement", - "src": "13669:32:8" + "src": "14621:32:12" } ] }, @@ -7093,31 +9925,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "13582:6:8", + "src": "14534:6:12", "type": "" } ], - "src": "13484:224:8" + "src": "14436:224:12" }, { "body": { "nodeType": "YulBlock", - "src": "13860:220:8", + "src": "14812:220:12", "statements": [ { "nodeType": "YulAssignment", - "src": "13870:74:8", + "src": "14822:74:12", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "13936:3:8" + "src": "14888:3:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "13941:2:8", + "src": "14893:2:12", "type": "", "value": "37" } @@ -7125,16 +9957,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "13877:58:8" + "src": "14829:58:12" }, "nodeType": "YulFunctionCall", - "src": "13877:67:8" + "src": "14829:67:12" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "13870:3:8" + "src": "14822:3:12" } ] }, @@ -7144,34 +9976,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "14042:3:8" + "src": "14994:3:12" } ], "functionName": { "name": "store_literal_in_memory_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea", "nodeType": "YulIdentifier", - "src": "13953:88:8" + "src": "14905:88:12" }, "nodeType": "YulFunctionCall", - "src": "13953:93:8" + "src": "14905:93:12" }, "nodeType": "YulExpressionStatement", - "src": "13953:93:8" + "src": "14905:93:12" }, { "nodeType": "YulAssignment", - "src": "14055:19:8", + "src": "15007:19:12", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "14066:3:8" + "src": "15018:3:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "14071:2:8", + "src": "15023:2:12", "type": "", "value": "64" } @@ -7179,16 +10011,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "14062:3:8" + "src": "15014:3:12" }, "nodeType": "YulFunctionCall", - "src": "14062:12:8" + "src": "15014:12:12" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "14055:3:8" + "src": "15007:3:12" } ] } @@ -7200,7 +10032,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "13848:3:8", + "src": "14800:3:12", "type": "" } ], @@ -7208,31 +10040,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "13856:3:8", + "src": "14808:3:12", "type": "" } ], - "src": "13714:366:8" + "src": "14666:366:12" }, { "body": { "nodeType": "YulBlock", - "src": "14257:248:8", + "src": "15209:248:12", "statements": [ { "nodeType": "YulAssignment", - "src": "14267:26:8", + "src": "15219:26:12", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "14279:9:8" + "src": "15231:9:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "14290:2:8", + "src": "15242:2:12", "type": "", "value": "32" } @@ -7240,16 +10072,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "14275:3:8" + "src": "15227:3:12" }, "nodeType": "YulFunctionCall", - "src": "14275:18:8" + "src": "15227:18:12" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "14267:4:8" + "src": "15219:4:12" } ] }, @@ -7261,12 +10093,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "14314:9:8" + "src": "15266:9:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "14325:1:8", + "src": "15277:1:12", "type": "", "value": "0" } @@ -7274,68 +10106,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "14310:3:8" + "src": "15262:3:12" }, "nodeType": "YulFunctionCall", - "src": "14310:17:8" + "src": "15262:17:12" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "14333:4:8" + "src": "15285:4:12" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "14339:9:8" + "src": "15291:9:12" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "14329:3:8" + "src": "15281:3:12" }, "nodeType": "YulFunctionCall", - "src": "14329:20:8" + "src": "15281:20:12" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "14303:6:8" + "src": "15255:6:12" }, "nodeType": "YulFunctionCall", - "src": "14303:47:8" + "src": "15255:47:12" }, "nodeType": "YulExpressionStatement", - "src": "14303:47:8" + "src": "15255:47:12" }, { "nodeType": "YulAssignment", - "src": "14359:139:8", + "src": "15311:139:12", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "14493:4:8" + "src": "15445:4:12" } ], "functionName": { "name": "abi_encode_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "14367:124:8" + "src": "15319:124:12" }, "nodeType": "YulFunctionCall", - "src": "14367:131:8" + "src": "15319:131:12" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "14359:4:8" + "src": "15311:4:12" } ] } @@ -7347,7 +10179,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "14237:9:8", + "src": "15189:9:12", "type": "" } ], @@ -7355,16 +10187,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "14252:4:8", + "src": "15204:4:12", "type": "" } ], - "src": "14086:419:8" + "src": "15038:419:12" }, { "body": { "nodeType": "YulBlock", - "src": "14617:116:8", + "src": "15569:116:12", "statements": [ { "expression": { @@ -7374,12 +10206,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "14639:6:8" + "src": "15591:6:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "14647:1:8", + "src": "15599:1:12", "type": "", "value": "0" } @@ -7387,16 +10219,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "14635:3:8" + "src": "15587:3:12" }, "nodeType": "YulFunctionCall", - "src": "14635:14:8" + "src": "15587:14:12" }, { "hexValue": "45524332303a207472616e7366657220746f20746865207a65726f2061646472", "kind": "string", "nodeType": "YulLiteral", - "src": "14651:34:8", + "src": "15603:34:12", "type": "", "value": "ERC20: transfer to the zero addr" } @@ -7404,13 +10236,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "14628:6:8" + "src": "15580:6:12" }, "nodeType": "YulFunctionCall", - "src": "14628:58:8" + "src": "15580:58:12" }, "nodeType": "YulExpressionStatement", - "src": "14628:58:8" + "src": "15580:58:12" }, { "expression": { @@ -7420,12 +10252,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "14707:6:8" + "src": "15659:6:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "14715:2:8", + "src": "15667:2:12", "type": "", "value": "32" } @@ -7433,16 +10265,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "14703:3:8" + "src": "15655:3:12" }, "nodeType": "YulFunctionCall", - "src": "14703:15:8" + "src": "15655:15:12" }, { "hexValue": "657373", "kind": "string", "nodeType": "YulLiteral", - "src": "14720:5:8", + "src": "15672:5:12", "type": "", "value": "ess" } @@ -7450,13 +10282,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "14696:6:8" + "src": "15648:6:12" }, "nodeType": "YulFunctionCall", - "src": "14696:30:8" + "src": "15648:30:12" }, "nodeType": "YulExpressionStatement", - "src": "14696:30:8" + "src": "15648:30:12" } ] }, @@ -7466,31 +10298,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "14609:6:8", + "src": "15561:6:12", "type": "" } ], - "src": "14511:222:8" + "src": "15463:222:12" }, { "body": { "nodeType": "YulBlock", - "src": "14885:220:8", + "src": "15837:220:12", "statements": [ { "nodeType": "YulAssignment", - "src": "14895:74:8", + "src": "15847:74:12", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "14961:3:8" + "src": "15913:3:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "14966:2:8", + "src": "15918:2:12", "type": "", "value": "35" } @@ -7498,16 +10330,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "14902:58:8" + "src": "15854:58:12" }, "nodeType": "YulFunctionCall", - "src": "14902:67:8" + "src": "15854:67:12" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "14895:3:8" + "src": "15847:3:12" } ] }, @@ -7517,34 +10349,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "15067:3:8" + "src": "16019:3:12" } ], "functionName": { "name": "store_literal_in_memory_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f", "nodeType": "YulIdentifier", - "src": "14978:88:8" + "src": "15930:88:12" }, "nodeType": "YulFunctionCall", - "src": "14978:93:8" + "src": "15930:93:12" }, "nodeType": "YulExpressionStatement", - "src": "14978:93:8" + "src": "15930:93:12" }, { "nodeType": "YulAssignment", - "src": "15080:19:8", + "src": "16032:19:12", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "15091:3:8" + "src": "16043:3:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "15096:2:8", + "src": "16048:2:12", "type": "", "value": "64" } @@ -7552,16 +10384,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "15087:3:8" + "src": "16039:3:12" }, "nodeType": "YulFunctionCall", - "src": "15087:12:8" + "src": "16039:12:12" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "15080:3:8" + "src": "16032:3:12" } ] } @@ -7573,7 +10405,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "14873:3:8", + "src": "15825:3:12", "type": "" } ], @@ -7581,31 +10413,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "14881:3:8", + "src": "15833:3:12", "type": "" } ], - "src": "14739:366:8" + "src": "15691:366:12" }, { "body": { "nodeType": "YulBlock", - "src": "15282:248:8", + "src": "16234:248:12", "statements": [ { "nodeType": "YulAssignment", - "src": "15292:26:8", + "src": "16244:26:12", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "15304:9:8" + "src": "16256:9:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "15315:2:8", + "src": "16267:2:12", "type": "", "value": "32" } @@ -7613,16 +10445,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "15300:3:8" + "src": "16252:3:12" }, "nodeType": "YulFunctionCall", - "src": "15300:18:8" + "src": "16252:18:12" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "15292:4:8" + "src": "16244:4:12" } ] }, @@ -7634,12 +10466,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "15339:9:8" + "src": "16291:9:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "15350:1:8", + "src": "16302:1:12", "type": "", "value": "0" } @@ -7647,68 +10479,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "15335:3:8" + "src": "16287:3:12" }, "nodeType": "YulFunctionCall", - "src": "15335:17:8" + "src": "16287:17:12" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "15358:4:8" + "src": "16310:4:12" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "15364:9:8" + "src": "16316:9:12" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "15354:3:8" + "src": "16306:3:12" }, "nodeType": "YulFunctionCall", - "src": "15354:20:8" + "src": "16306:20:12" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "15328:6:8" + "src": "16280:6:12" }, "nodeType": "YulFunctionCall", - "src": "15328:47:8" + "src": "16280:47:12" }, "nodeType": "YulExpressionStatement", - "src": "15328:47:8" + "src": "16280:47:12" }, { "nodeType": "YulAssignment", - "src": "15384:139:8", + "src": "16336:139:12", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "15518:4:8" + "src": "16470:4:12" } ], "functionName": { "name": "abi_encode_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "15392:124:8" + "src": "16344:124:12" }, "nodeType": "YulFunctionCall", - "src": "15392:131:8" + "src": "16344:131:12" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "15384:4:8" + "src": "16336:4:12" } ] } @@ -7720,7 +10552,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "15262:9:8", + "src": "16214:9:12", "type": "" } ], @@ -7728,16 +10560,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "15277:4:8", + "src": "16229:4:12", "type": "" } ], - "src": "15111:419:8" + "src": "16063:419:12" }, { "body": { "nodeType": "YulBlock", - "src": "15642:119:8", + "src": "16594:119:12", "statements": [ { "expression": { @@ -7747,12 +10579,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "15664:6:8" + "src": "16616:6:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "15672:1:8", + "src": "16624:1:12", "type": "", "value": "0" } @@ -7760,16 +10592,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "15660:3:8" + "src": "16612:3:12" }, "nodeType": "YulFunctionCall", - "src": "15660:14:8" + "src": "16612:14:12" }, { "hexValue": "45524332303a207472616e7366657220616d6f756e7420657863656564732062", "kind": "string", "nodeType": "YulLiteral", - "src": "15676:34:8", + "src": "16628:34:12", "type": "", "value": "ERC20: transfer amount exceeds b" } @@ -7777,13 +10609,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "15653:6:8" + "src": "16605:6:12" }, "nodeType": "YulFunctionCall", - "src": "15653:58:8" + "src": "16605:58:12" }, "nodeType": "YulExpressionStatement", - "src": "15653:58:8" + "src": "16605:58:12" }, { "expression": { @@ -7793,12 +10625,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "15732:6:8" + "src": "16684:6:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "15740:2:8", + "src": "16692:2:12", "type": "", "value": "32" } @@ -7806,16 +10638,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "15728:3:8" + "src": "16680:3:12" }, "nodeType": "YulFunctionCall", - "src": "15728:15:8" + "src": "16680:15:12" }, { "hexValue": "616c616e6365", "kind": "string", "nodeType": "YulLiteral", - "src": "15745:8:8", + "src": "16697:8:12", "type": "", "value": "alance" } @@ -7823,13 +10655,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "15721:6:8" + "src": "16673:6:12" }, "nodeType": "YulFunctionCall", - "src": "15721:33:8" + "src": "16673:33:12" }, "nodeType": "YulExpressionStatement", - "src": "15721:33:8" + "src": "16673:33:12" } ] }, @@ -7839,31 +10671,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "15634:6:8", + "src": "16586:6:12", "type": "" } ], - "src": "15536:225:8" + "src": "16488:225:12" }, { "body": { "nodeType": "YulBlock", - "src": "15913:220:8", + "src": "16865:220:12", "statements": [ { "nodeType": "YulAssignment", - "src": "15923:74:8", + "src": "16875:74:12", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "15989:3:8" + "src": "16941:3:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "15994:2:8", + "src": "16946:2:12", "type": "", "value": "38" } @@ -7871,16 +10703,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "15930:58:8" + "src": "16882:58:12" }, "nodeType": "YulFunctionCall", - "src": "15930:67:8" + "src": "16882:67:12" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "15923:3:8" + "src": "16875:3:12" } ] }, @@ -7890,34 +10722,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "16095:3:8" + "src": "17047:3:12" } ], "functionName": { "name": "store_literal_in_memory_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6", "nodeType": "YulIdentifier", - "src": "16006:88:8" + "src": "16958:88:12" }, "nodeType": "YulFunctionCall", - "src": "16006:93:8" + "src": "16958:93:12" }, "nodeType": "YulExpressionStatement", - "src": "16006:93:8" + "src": "16958:93:12" }, { "nodeType": "YulAssignment", - "src": "16108:19:8", + "src": "17060:19:12", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "16119:3:8" + "src": "17071:3:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "16124:2:8", + "src": "17076:2:12", "type": "", "value": "64" } @@ -7925,16 +10757,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "16115:3:8" + "src": "17067:3:12" }, "nodeType": "YulFunctionCall", - "src": "16115:12:8" + "src": "17067:12:12" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "16108:3:8" + "src": "17060:3:12" } ] } @@ -7946,7 +10778,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "15901:3:8", + "src": "16853:3:12", "type": "" } ], @@ -7954,31 +10786,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "15909:3:8", + "src": "16861:3:12", "type": "" } ], - "src": "15767:366:8" + "src": "16719:366:12" }, { "body": { "nodeType": "YulBlock", - "src": "16310:248:8", + "src": "17262:248:12", "statements": [ { "nodeType": "YulAssignment", - "src": "16320:26:8", + "src": "17272:26:12", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "16332:9:8" + "src": "17284:9:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "16343:2:8", + "src": "17295:2:12", "type": "", "value": "32" } @@ -7986,16 +10818,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "16328:3:8" + "src": "17280:3:12" }, "nodeType": "YulFunctionCall", - "src": "16328:18:8" + "src": "17280:18:12" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "16320:4:8" + "src": "17272:4:12" } ] }, @@ -8007,12 +10839,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "16367:9:8" + "src": "17319:9:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "16378:1:8", + "src": "17330:1:12", "type": "", "value": "0" } @@ -8020,68 +10852,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "16363:3:8" + "src": "17315:3:12" }, "nodeType": "YulFunctionCall", - "src": "16363:17:8" + "src": "17315:17:12" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "16386:4:8" + "src": "17338:4:12" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "16392:9:8" + "src": "17344:9:12" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "16382:3:8" + "src": "17334:3:12" }, "nodeType": "YulFunctionCall", - "src": "16382:20:8" + "src": "17334:20:12" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "16356:6:8" + "src": "17308:6:12" }, "nodeType": "YulFunctionCall", - "src": "16356:47:8" + "src": "17308:47:12" }, "nodeType": "YulExpressionStatement", - "src": "16356:47:8" + "src": "17308:47:12" }, { "nodeType": "YulAssignment", - "src": "16412:139:8", + "src": "17364:139:12", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "16546:4:8" + "src": "17498:4:12" } ], "functionName": { "name": "abi_encode_t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "16420:124:8" + "src": "17372:124:12" }, "nodeType": "YulFunctionCall", - "src": "16420:131:8" + "src": "17372:131:12" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "16412:4:8" + "src": "17364:4:12" } ] } @@ -8093,7 +10925,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "16290:9:8", + "src": "17242:9:12", "type": "" } ], @@ -8101,16 +10933,65 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "16305:4:8", + "src": "17257:4:12", "type": "" } ], - "src": "16139:419:8" + "src": "17091:419:12" }, { "body": { "nodeType": "YulBlock", - "src": "16670:64:8", + "src": "17630:34:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "17640:18:12", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "17655:3:12" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "17640:11:12" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "17602:3:12", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "17607:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "17618:11:12", + "type": "" + } + ], + "src": "17516:148:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "17776:67:12", "statements": [ { "expression": { @@ -8120,12 +11001,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "16692:6:8" + "src": "17798:6:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "16700:1:8", + "src": "17806:1:12", "type": "", "value": "0" } @@ -8133,81 +11014,81 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "16688:3:8" + "src": "17794:3:12" }, "nodeType": "YulFunctionCall", - "src": "16688:14:8" + "src": "17794:14:12" }, { - "hexValue": "5061757361626c653a206e6f7420706175736564", + "hexValue": "416363657373436f6e74726f6c3a206163636f756e7420", "kind": "string", "nodeType": "YulLiteral", - "src": "16704:22:8", + "src": "17810:25:12", "type": "", - "value": "Pausable: not paused" + "value": "AccessControl: account " } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "16681:6:8" + "src": "17787:6:12" }, "nodeType": "YulFunctionCall", - "src": "16681:46:8" + "src": "17787:49:12" }, "nodeType": "YulExpressionStatement", - "src": "16681:46:8" + "src": "17787:49:12" } ] }, - "name": "store_literal_in_memory_0d1d997348c4b502650619e51f7d09f80514d98b6993be5051d07f703984619a", + "name": "store_literal_in_memory_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "16662:6:8", + "src": "17768:6:12", "type": "" } ], - "src": "16564:170:8" + "src": "17670:173:12" }, { "body": { "nodeType": "YulBlock", - "src": "16886:220:8", + "src": "18013:238:12", "statements": [ { "nodeType": "YulAssignment", - "src": "16896:74:8", + "src": "18023:92:12", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "16962:3:8" + "src": "18107:3:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "16967:2:8", + "src": "18112:2:12", "type": "", - "value": "20" + "value": "23" } ], "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", "nodeType": "YulIdentifier", - "src": "16903:58:8" + "src": "18030:76:12" }, "nodeType": "YulFunctionCall", - "src": "16903:67:8" + "src": "18030:85:12" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "16896:3:8" + "src": "18023:3:12" } ] }, @@ -8217,34 +11098,740 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "17068:3:8" + "src": "18213:3:12" } ], "functionName": { - "name": "store_literal_in_memory_0d1d997348c4b502650619e51f7d09f80514d98b6993be5051d07f703984619a", + "name": "store_literal_in_memory_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874", "nodeType": "YulIdentifier", - "src": "16979:88:8" + "src": "18124:88:12" }, "nodeType": "YulFunctionCall", - "src": "16979:93:8" + "src": "18124:93:12" }, "nodeType": "YulExpressionStatement", - "src": "16979:93:8" + "src": "18124:93:12" }, { "nodeType": "YulAssignment", - "src": "17081:19:8", + "src": "18226:19:12", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "17092:3:8" + "src": "18237:3:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "17097:2:8", + "src": "18242:2:12", + "type": "", + "value": "23" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18233:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "18233:12:12" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "18226:3:12" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "18001:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "18009:3:12", + "type": "" + } + ], + "src": "17849:402:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "18367:267:12", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "18377:53:12", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "18424:5:12" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "18391:32:12" + }, + "nodeType": "YulFunctionCall", + "src": "18391:39:12" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "18381:6:12", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "18439:96:12", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "18523:3:12" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "18528:6:12" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "18446:76:12" + }, + "nodeType": "YulFunctionCall", + "src": "18446:89:12" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "18439:3:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "18570:5:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18577:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18566:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "18566:16:12" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "18584:3:12" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "18589:6:12" + } + ], + "functionName": { + "name": "copy_memory_to_memory", + "nodeType": "YulIdentifier", + "src": "18544:21:12" + }, + "nodeType": "YulFunctionCall", + "src": "18544:52:12" + }, + "nodeType": "YulExpressionStatement", + "src": "18544:52:12" + }, + { + "nodeType": "YulAssignment", + "src": "18605:23:12", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "18616:3:12" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "18621:6:12" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18612:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "18612:16:12" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "18605:3:12" + } + ] + } + ] + }, + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "18348:5:12", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "18355:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "18363:3:12", + "type": "" + } + ], + "src": "18257:377:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "18746:61:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "18768:6:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18776:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18764:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "18764:14:12" + }, + { + "hexValue": "206973206d697373696e6720726f6c6520", + "kind": "string", + "nodeType": "YulLiteral", + "src": "18780:19:12", + "type": "", + "value": " is missing role " + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "18757:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "18757:43:12" + }, + "nodeType": "YulExpressionStatement", + "src": "18757:43:12" + } + ] + }, + "name": "store_literal_in_memory_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "18738:6:12", + "type": "" + } + ], + "src": "18640:167:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "18977:238:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "18987:92:12", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "19071:3:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19076:2:12", + "type": "", + "value": "17" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "18994:76:12" + }, + "nodeType": "YulFunctionCall", + "src": "18994:85:12" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "18987:3:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "19177:3:12" + } + ], + "functionName": { + "name": "store_literal_in_memory_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69", + "nodeType": "YulIdentifier", + "src": "19088:88:12" + }, + "nodeType": "YulFunctionCall", + "src": "19088:93:12" + }, + "nodeType": "YulExpressionStatement", + "src": "19088:93:12" + }, + { + "nodeType": "YulAssignment", + "src": "19190:19:12", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "19201:3:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19206:2:12", + "type": "", + "value": "17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19197:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "19197:12:12" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "19190:3:12" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "18965:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "18973:3:12", + "type": "" + } + ], + "src": "18813:402:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "19607:581:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "19618:155:12", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "19769:3:12" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "19625:142:12" + }, + "nodeType": "YulFunctionCall", + "src": "19625:148:12" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "19618:3:12" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "19783:102:12", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "19872:6:12" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "19881:3:12" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "19790:81:12" + }, + "nodeType": "YulFunctionCall", + "src": "19790:95:12" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "19783:3:12" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "19895:155:12", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "20046:3:12" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "19902:142:12" + }, + "nodeType": "YulFunctionCall", + "src": "19902:148:12" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "19895:3:12" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "20060:102:12", + "value": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "20149:6:12" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "20158:3:12" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "20067:81:12" + }, + "nodeType": "YulFunctionCall", + "src": "20067:95:12" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "20060:3:12" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "20172:10:12", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "20179:3:12" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "20172:3:12" + } + ] + } + ] + }, + "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": "19578:3:12", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "19584:6:12", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "19592:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "19603:3:12", + "type": "" + } + ], + "src": "19221:967:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "20300:64:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "20322:6:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20330:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20318:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "20318:14:12" + }, + { + "hexValue": "5061757361626c653a206e6f7420706175736564", + "kind": "string", + "nodeType": "YulLiteral", + "src": "20334:22:12", + "type": "", + "value": "Pausable: not paused" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "20311:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "20311:46:12" + }, + "nodeType": "YulExpressionStatement", + "src": "20311:46:12" + } + ] + }, + "name": "store_literal_in_memory_0d1d997348c4b502650619e51f7d09f80514d98b6993be5051d07f703984619a", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "20292:6:12", + "type": "" + } + ], + "src": "20194:170:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "20516:220:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "20526:74:12", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "20592:3:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20597:2:12", + "type": "", + "value": "20" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "20533:58:12" + }, + "nodeType": "YulFunctionCall", + "src": "20533:67:12" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "20526:3:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "20698:3:12" + } + ], + "functionName": { + "name": "store_literal_in_memory_0d1d997348c4b502650619e51f7d09f80514d98b6993be5051d07f703984619a", + "nodeType": "YulIdentifier", + "src": "20609:88:12" + }, + "nodeType": "YulFunctionCall", + "src": "20609:93:12" + }, + "nodeType": "YulExpressionStatement", + "src": "20609:93:12" + }, + { + "nodeType": "YulAssignment", + "src": "20711:19:12", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "20722:3:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20727:2:12", "type": "", "value": "32" } @@ -8252,16 +11839,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "17088:3:8" + "src": "20718:3:12" }, "nodeType": "YulFunctionCall", - "src": "17088:12:8" + "src": "20718:12:12" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "17081:3:8" + "src": "20711:3:12" } ] } @@ -8273,7 +11860,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "16874:3:8", + "src": "20504:3:12", "type": "" } ], @@ -8281,31 +11868,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "16882:3:8", + "src": "20512:3:12", "type": "" } ], - "src": "16740:366:8" + "src": "20370:366:12" }, { "body": { "nodeType": "YulBlock", - "src": "17283:248:8", + "src": "20913:248:12", "statements": [ { "nodeType": "YulAssignment", - "src": "17293:26:8", + "src": "20923:26:12", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "17305:9:8" + "src": "20935:9:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "17316:2:8", + "src": "20946:2:12", "type": "", "value": "32" } @@ -8313,16 +11900,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "17301:3:8" + "src": "20931:3:12" }, "nodeType": "YulFunctionCall", - "src": "17301:18:8" + "src": "20931:18:12" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "17293:4:8" + "src": "20923:4:12" } ] }, @@ -8334,12 +11921,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "17340:9:8" + "src": "20970:9:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "17351:1:8", + "src": "20981:1:12", "type": "", "value": "0" } @@ -8347,68 +11934,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "17336:3:8" + "src": "20966:3:12" }, "nodeType": "YulFunctionCall", - "src": "17336:17:8" + "src": "20966:17:12" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "17359:4:8" + "src": "20989:4:12" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "17365:9:8" + "src": "20995:9:12" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "17355:3:8" + "src": "20985:3:12" }, "nodeType": "YulFunctionCall", - "src": "17355:20:8" + "src": "20985:20:12" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "17329:6:8" + "src": "20959:6:12" }, "nodeType": "YulFunctionCall", - "src": "17329:47:8" + "src": "20959:47:12" }, "nodeType": "YulExpressionStatement", - "src": "17329:47:8" + "src": "20959:47:12" }, { "nodeType": "YulAssignment", - "src": "17385:139:8", + "src": "21015:139:12", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "17519:4:8" + "src": "21149:4:12" } ], "functionName": { "name": "abi_encode_t_stringliteral_0d1d997348c4b502650619e51f7d09f80514d98b6993be5051d07f703984619a_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "17393:124:8" + "src": "21023:124:12" }, "nodeType": "YulFunctionCall", - "src": "17393:131:8" + "src": "21023:131:12" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "17385:4:8" + "src": "21015:4:12" } ] } @@ -8420,7 +12007,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "17263:9:8", + "src": "20893:9:12", "type": "" } ], @@ -8428,16 +12015,187 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "17278:4:8", + "src": "20908:4:12", "type": "" } ], - "src": "17112:419:8" + "src": "20742:419:12" }, { "body": { "nodeType": "YulBlock", - "src": "17643:75:8", + "src": "21232:53:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "21249:3:12" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "21272:5:12" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nodeType": "YulIdentifier", + "src": "21254:17:12" + }, + "nodeType": "YulFunctionCall", + "src": "21254:24:12" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "21242:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "21242:37:12" + }, + "nodeType": "YulExpressionStatement", + "src": "21242:37:12" + } + ] + }, + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "21220:5:12", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "21227:3:12", + "type": "" + } + ], + "src": "21167:118:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "21389:124:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "21399:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "21411:9:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21422:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21407:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "21407:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "21399:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "21479:6:12" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "21492:9:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21503:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21488:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "21488:17:12" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "21435:43:12" + }, + "nodeType": "YulFunctionCall", + "src": "21435:71:12" + }, + "nodeType": "YulExpressionStatement", + "src": "21435:71:12" + } + ] + }, + "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "21361:9:12", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "21373:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "21384:4:12", + "type": "" + } + ], + "src": "21291:222:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "21625:75:12", "statements": [ { "expression": { @@ -8447,12 +12205,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "17665:6:8" + "src": "21647:6:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "17673:1:8", + "src": "21655:1:12", "type": "", "value": "0" } @@ -8460,16 +12218,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "17661:3:8" + "src": "21643:3:12" }, "nodeType": "YulFunctionCall", - "src": "17661:14:8" + "src": "21643:14:12" }, { "hexValue": "45524332303a206d696e7420746f20746865207a65726f2061646472657373", "kind": "string", "nodeType": "YulLiteral", - "src": "17677:33:8", + "src": "21659:33:12", "type": "", "value": "ERC20: mint to the zero address" } @@ -8477,13 +12235,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "17654:6:8" + "src": "21636:6:12" }, "nodeType": "YulFunctionCall", - "src": "17654:57:8" + "src": "21636:57:12" }, "nodeType": "YulExpressionStatement", - "src": "17654:57:8" + "src": "21636:57:12" } ] }, @@ -8493,31 +12251,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "17635:6:8", + "src": "21617:6:12", "type": "" } ], - "src": "17537:181:8" + "src": "21519:181:12" }, { "body": { "nodeType": "YulBlock", - "src": "17870:220:8", + "src": "21852:220:12", "statements": [ { "nodeType": "YulAssignment", - "src": "17880:74:8", + "src": "21862:74:12", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "17946:3:8" + "src": "21928:3:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "17951:2:8", + "src": "21933:2:12", "type": "", "value": "31" } @@ -8525,16 +12283,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "17887:58:8" + "src": "21869:58:12" }, "nodeType": "YulFunctionCall", - "src": "17887:67:8" + "src": "21869:67:12" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "17880:3:8" + "src": "21862:3:12" } ] }, @@ -8544,34 +12302,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "18052:3:8" + "src": "22034:3:12" } ], "functionName": { "name": "store_literal_in_memory_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e", "nodeType": "YulIdentifier", - "src": "17963:88:8" + "src": "21945:88:12" }, "nodeType": "YulFunctionCall", - "src": "17963:93:8" + "src": "21945:93:12" }, "nodeType": "YulExpressionStatement", - "src": "17963:93:8" + "src": "21945:93:12" }, { "nodeType": "YulAssignment", - "src": "18065:19:8", + "src": "22047:19:12", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "18076:3:8" + "src": "22058:3:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "18081:2:8", + "src": "22063:2:12", "type": "", "value": "32" } @@ -8579,16 +12337,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "18072:3:8" + "src": "22054:3:12" }, "nodeType": "YulFunctionCall", - "src": "18072:12:8" + "src": "22054:12:12" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "18065:3:8" + "src": "22047:3:12" } ] } @@ -8600,7 +12358,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "17858:3:8", + "src": "21840:3:12", "type": "" } ], @@ -8608,31 +12366,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "17866:3:8", + "src": "21848:3:12", "type": "" } ], - "src": "17724:366:8" + "src": "21706:366:12" }, { "body": { "nodeType": "YulBlock", - "src": "18267:248:8", + "src": "22249:248:12", "statements": [ { "nodeType": "YulAssignment", - "src": "18277:26:8", + "src": "22259:26:12", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "18289:9:8" + "src": "22271:9:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "18300:2:8", + "src": "22282:2:12", "type": "", "value": "32" } @@ -8640,16 +12398,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "18285:3:8" + "src": "22267:3:12" }, "nodeType": "YulFunctionCall", - "src": "18285:18:8" + "src": "22267:18:12" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "18277:4:8" + "src": "22259:4:12" } ] }, @@ -8661,12 +12419,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "18324:9:8" + "src": "22306:9:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "18335:1:8", + "src": "22317:1:12", "type": "", "value": "0" } @@ -8674,68 +12432,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "18320:3:8" + "src": "22302:3:12" }, "nodeType": "YulFunctionCall", - "src": "18320:17:8" + "src": "22302:17:12" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "18343:4:8" + "src": "22325:4:12" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "18349:9:8" + "src": "22331:9:12" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "18339:3:8" + "src": "22321:3:12" }, "nodeType": "YulFunctionCall", - "src": "18339:20:8" + "src": "22321:20:12" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "18313:6:8" + "src": "22295:6:12" }, "nodeType": "YulFunctionCall", - "src": "18313:47:8" + "src": "22295:47:12" }, "nodeType": "YulExpressionStatement", - "src": "18313:47:8" + "src": "22295:47:12" }, { "nodeType": "YulAssignment", - "src": "18369:139:8", + "src": "22351:139:12", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "18503:4:8" + "src": "22485:4:12" } ], "functionName": { "name": "abi_encode_t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "18377:124:8" + "src": "22359:124:12" }, "nodeType": "YulFunctionCall", - "src": "18377:131:8" + "src": "22359:131:12" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "18369:4:8" + "src": "22351:4:12" } ] } @@ -8747,7 +12505,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "18247:9:8", + "src": "22229:9:12", "type": "" } ], @@ -8755,16 +12513,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "18262:4:8", + "src": "22244:4:12", "type": "" } ], - "src": "18096:419:8" + "src": "22078:419:12" }, { "body": { "nodeType": "YulBlock", - "src": "18627:114:8", + "src": "22609:114:12", "statements": [ { "expression": { @@ -8774,12 +12532,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "18649:6:8" + "src": "22631:6:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "18657:1:8", + "src": "22639:1:12", "type": "", "value": "0" } @@ -8787,16 +12545,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "18645:3:8" + "src": "22627:3:12" }, "nodeType": "YulFunctionCall", - "src": "18645:14:8" + "src": "22627:14:12" }, { "hexValue": "45524332303a206275726e2066726f6d20746865207a65726f20616464726573", "kind": "string", "nodeType": "YulLiteral", - "src": "18661:34:8", + "src": "22643:34:12", "type": "", "value": "ERC20: burn from the zero addres" } @@ -8804,13 +12562,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "18638:6:8" + "src": "22620:6:12" }, "nodeType": "YulFunctionCall", - "src": "18638:58:8" + "src": "22620:58:12" }, "nodeType": "YulExpressionStatement", - "src": "18638:58:8" + "src": "22620:58:12" }, { "expression": { @@ -8820,12 +12578,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "18717:6:8" + "src": "22699:6:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "18725:2:8", + "src": "22707:2:12", "type": "", "value": "32" } @@ -8833,16 +12591,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "18713:3:8" + "src": "22695:3:12" }, "nodeType": "YulFunctionCall", - "src": "18713:15:8" + "src": "22695:15:12" }, { "hexValue": "73", "kind": "string", "nodeType": "YulLiteral", - "src": "18730:3:8", + "src": "22712:3:12", "type": "", "value": "s" } @@ -8850,13 +12608,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "18706:6:8" + "src": "22688:6:12" }, "nodeType": "YulFunctionCall", - "src": "18706:28:8" + "src": "22688:28:12" }, "nodeType": "YulExpressionStatement", - "src": "18706:28:8" + "src": "22688:28:12" } ] }, @@ -8866,31 +12624,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "18619:6:8", + "src": "22601:6:12", "type": "" } ], - "src": "18521:220:8" + "src": "22503:220:12" }, { "body": { "nodeType": "YulBlock", - "src": "18893:220:8", + "src": "22875:220:12", "statements": [ { "nodeType": "YulAssignment", - "src": "18903:74:8", + "src": "22885:74:12", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "18969:3:8" + "src": "22951:3:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "18974:2:8", + "src": "22956:2:12", "type": "", "value": "33" } @@ -8898,16 +12656,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "18910:58:8" + "src": "22892:58:12" }, "nodeType": "YulFunctionCall", - "src": "18910:67:8" + "src": "22892:67:12" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "18903:3:8" + "src": "22885:3:12" } ] }, @@ -8917,34 +12675,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "19075:3:8" + "src": "23057:3:12" } ], "functionName": { "name": "store_literal_in_memory_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f", "nodeType": "YulIdentifier", - "src": "18986:88:8" + "src": "22968:88:12" }, "nodeType": "YulFunctionCall", - "src": "18986:93:8" + "src": "22968:93:12" }, "nodeType": "YulExpressionStatement", - "src": "18986:93:8" + "src": "22968:93:12" }, { "nodeType": "YulAssignment", - "src": "19088:19:8", + "src": "23070:19:12", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "19099:3:8" + "src": "23081:3:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "19104:2:8", + "src": "23086:2:12", "type": "", "value": "64" } @@ -8952,16 +12710,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "19095:3:8" + "src": "23077:3:12" }, "nodeType": "YulFunctionCall", - "src": "19095:12:8" + "src": "23077:12:12" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "19088:3:8" + "src": "23070:3:12" } ] } @@ -8973,7 +12731,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "18881:3:8", + "src": "22863:3:12", "type": "" } ], @@ -8981,31 +12739,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "18889:3:8", + "src": "22871:3:12", "type": "" } ], - "src": "18747:366:8" + "src": "22729:366:12" }, { "body": { "nodeType": "YulBlock", - "src": "19290:248:8", + "src": "23272:248:12", "statements": [ { "nodeType": "YulAssignment", - "src": "19300:26:8", + "src": "23282:26:12", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "19312:9:8" + "src": "23294:9:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "19323:2:8", + "src": "23305:2:12", "type": "", "value": "32" } @@ -9013,16 +12771,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "19308:3:8" + "src": "23290:3:12" }, "nodeType": "YulFunctionCall", - "src": "19308:18:8" + "src": "23290:18:12" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "19300:4:8" + "src": "23282:4:12" } ] }, @@ -9034,12 +12792,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "19347:9:8" + "src": "23329:9:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "19358:1:8", + "src": "23340:1:12", "type": "", "value": "0" } @@ -9047,68 +12805,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "19343:3:8" + "src": "23325:3:12" }, "nodeType": "YulFunctionCall", - "src": "19343:17:8" + "src": "23325:17:12" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "19366:4:8" + "src": "23348:4:12" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "19372:9:8" + "src": "23354:9:12" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "19362:3:8" + "src": "23344:3:12" }, "nodeType": "YulFunctionCall", - "src": "19362:20:8" + "src": "23344:20:12" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "19336:6:8" + "src": "23318:6:12" }, "nodeType": "YulFunctionCall", - "src": "19336:47:8" + "src": "23318:47:12" }, "nodeType": "YulExpressionStatement", - "src": "19336:47:8" + "src": "23318:47:12" }, { "nodeType": "YulAssignment", - "src": "19392:139:8", + "src": "23374:139:12", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "19526:4:8" + "src": "23508:4:12" } ], "functionName": { "name": "abi_encode_t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "19400:124:8" + "src": "23382:124:12" }, "nodeType": "YulFunctionCall", - "src": "19400:131:8" + "src": "23382:131:12" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "19392:4:8" + "src": "23374:4:12" } ] } @@ -9120,7 +12878,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "19270:9:8", + "src": "23252:9:12", "type": "" } ], @@ -9128,16 +12886,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "19285:4:8", + "src": "23267:4:12", "type": "" } ], - "src": "19119:419:8" + "src": "23101:419:12" }, { "body": { "nodeType": "YulBlock", - "src": "19650:115:8", + "src": "23632:115:12", "statements": [ { "expression": { @@ -9147,12 +12905,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "19672:6:8" + "src": "23654:6:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "19680:1:8", + "src": "23662:1:12", "type": "", "value": "0" } @@ -9160,16 +12918,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "19668:3:8" + "src": "23650:3:12" }, "nodeType": "YulFunctionCall", - "src": "19668:14:8" + "src": "23650:14:12" }, { "hexValue": "45524332303a206275726e20616d6f756e7420657863656564732062616c616e", "kind": "string", "nodeType": "YulLiteral", - "src": "19684:34:8", + "src": "23666:34:12", "type": "", "value": "ERC20: burn amount exceeds balan" } @@ -9177,13 +12935,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "19661:6:8" + "src": "23643:6:12" }, "nodeType": "YulFunctionCall", - "src": "19661:58:8" + "src": "23643:58:12" }, "nodeType": "YulExpressionStatement", - "src": "19661:58:8" + "src": "23643:58:12" }, { "expression": { @@ -9193,12 +12951,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "19740:6:8" + "src": "23722:6:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "19748:2:8", + "src": "23730:2:12", "type": "", "value": "32" } @@ -9206,16 +12964,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "19736:3:8" + "src": "23718:3:12" }, "nodeType": "YulFunctionCall", - "src": "19736:15:8" + "src": "23718:15:12" }, { "hexValue": "6365", "kind": "string", "nodeType": "YulLiteral", - "src": "19753:4:8", + "src": "23735:4:12", "type": "", "value": "ce" } @@ -9223,13 +12981,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "19729:6:8" + "src": "23711:6:12" }, "nodeType": "YulFunctionCall", - "src": "19729:29:8" + "src": "23711:29:12" }, "nodeType": "YulExpressionStatement", - "src": "19729:29:8" + "src": "23711:29:12" } ] }, @@ -9239,31 +12997,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "19642:6:8", + "src": "23624:6:12", "type": "" } ], - "src": "19544:221:8" + "src": "23526:221:12" }, { "body": { "nodeType": "YulBlock", - "src": "19917:220:8", + "src": "23899:220:12", "statements": [ { "nodeType": "YulAssignment", - "src": "19927:74:8", + "src": "23909:74:12", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "19993:3:8" + "src": "23975:3:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "19998:2:8", + "src": "23980:2:12", "type": "", "value": "34" } @@ -9271,16 +13029,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "19934:58:8" + "src": "23916:58:12" }, "nodeType": "YulFunctionCall", - "src": "19934:67:8" + "src": "23916:67:12" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "19927:3:8" + "src": "23909:3:12" } ] }, @@ -9290,34 +13048,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "20099:3:8" + "src": "24081:3:12" } ], "functionName": { "name": "store_literal_in_memory_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd", "nodeType": "YulIdentifier", - "src": "20010:88:8" + "src": "23992:88:12" }, "nodeType": "YulFunctionCall", - "src": "20010:93:8" + "src": "23992:93:12" }, "nodeType": "YulExpressionStatement", - "src": "20010:93:8" + "src": "23992:93:12" }, { "nodeType": "YulAssignment", - "src": "20112:19:8", + "src": "24094:19:12", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "20123:3:8" + "src": "24105:3:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "20128:2:8", + "src": "24110:2:12", "type": "", "value": "64" } @@ -9325,16 +13083,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "20119:3:8" + "src": "24101:3:12" }, "nodeType": "YulFunctionCall", - "src": "20119:12:8" + "src": "24101:12:12" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "20112:3:8" + "src": "24094:3:12" } ] } @@ -9346,7 +13104,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "19905:3:8", + "src": "23887:3:12", "type": "" } ], @@ -9354,31 +13112,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "19913:3:8", + "src": "23895:3:12", "type": "" } ], - "src": "19771:366:8" + "src": "23753:366:12" }, { "body": { "nodeType": "YulBlock", - "src": "20314:248:8", + "src": "24296:248:12", "statements": [ { "nodeType": "YulAssignment", - "src": "20324:26:8", + "src": "24306:26:12", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "20336:9:8" + "src": "24318:9:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "20347:2:8", + "src": "24329:2:12", "type": "", "value": "32" } @@ -9386,16 +13144,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "20332:3:8" + "src": "24314:3:12" }, "nodeType": "YulFunctionCall", - "src": "20332:18:8" + "src": "24314:18:12" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "20324:4:8" + "src": "24306:4:12" } ] }, @@ -9407,12 +13165,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "20371:9:8" + "src": "24353:9:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "20382:1:8", + "src": "24364:1:12", "type": "", "value": "0" } @@ -9420,68 +13178,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "20367:3:8" + "src": "24349:3:12" }, "nodeType": "YulFunctionCall", - "src": "20367:17:8" + "src": "24349:17:12" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "20390:4:8" + "src": "24372:4:12" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "20396:9:8" + "src": "24378:9:12" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "20386:3:8" + "src": "24368:3:12" }, "nodeType": "YulFunctionCall", - "src": "20386:20:8" + "src": "24368:20:12" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "20360:6:8" + "src": "24342:6:12" }, "nodeType": "YulFunctionCall", - "src": "20360:47:8" + "src": "24342:47:12" }, "nodeType": "YulExpressionStatement", - "src": "20360:47:8" + "src": "24342:47:12" }, { "nodeType": "YulAssignment", - "src": "20416:139:8", + "src": "24398:139:12", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "20550:4:8" + "src": "24532:4:12" } ], "functionName": { "name": "abi_encode_t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "20424:124:8" + "src": "24406:124:12" }, "nodeType": "YulFunctionCall", - "src": "20424:131:8" + "src": "24406:131:12" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "20416:4:8" + "src": "24398:4:12" } ] } @@ -9493,7 +13251,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "20294:9:8", + "src": "24276:9:12", "type": "" } ], @@ -9501,75 +13259,75 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "20309:4:8", + "src": "24291:4:12", "type": "" } ], - "src": "20143:419:8" + "src": "24125:419:12" }, { "body": { "nodeType": "YulBlock", - "src": "20613:146:8", + "src": "24595:146:12", "statements": [ { "nodeType": "YulAssignment", - "src": "20623:25:8", + "src": "24605:25:12", "value": { "arguments": [ { "name": "x", "nodeType": "YulIdentifier", - "src": "20646:1:8" + "src": "24628:1:12" } ], "functionName": { "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", - "src": "20628:17:8" + "src": "24610:17:12" }, "nodeType": "YulFunctionCall", - "src": "20628:20:8" + "src": "24610:20:12" }, "variableNames": [ { "name": "x", "nodeType": "YulIdentifier", - "src": "20623:1:8" + "src": "24605:1:12" } ] }, { "nodeType": "YulAssignment", - "src": "20657:25:8", + "src": "24639:25:12", "value": { "arguments": [ { "name": "y", "nodeType": "YulIdentifier", - "src": "20680:1:8" + "src": "24662:1:12" } ], "functionName": { "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", - "src": "20662:17:8" + "src": "24644:17:12" }, "nodeType": "YulFunctionCall", - "src": "20662:20:8" + "src": "24644:20:12" }, "variableNames": [ { "name": "y", "nodeType": "YulIdentifier", - "src": "20657:1:8" + "src": "24639:1:12" } ] }, { "body": { "nodeType": "YulBlock", - "src": "20704:22:8", + "src": "24686:22:12", "statements": [ { "expression": { @@ -9577,13 +13335,13 @@ "functionName": { "name": "panic_error_0x11", "nodeType": "YulIdentifier", - "src": "20706:16:8" + "src": "24688:16:12" }, "nodeType": "YulFunctionCall", - "src": "20706:18:8" + "src": "24688:18:12" }, "nodeType": "YulExpressionStatement", - "src": "20706:18:8" + "src": "24688:18:12" } ] }, @@ -9592,54 +13350,54 @@ { "name": "x", "nodeType": "YulIdentifier", - "src": "20698:1:8" + "src": "24680:1:12" }, { "name": "y", "nodeType": "YulIdentifier", - "src": "20701:1:8" + "src": "24683:1:12" } ], "functionName": { "name": "lt", "nodeType": "YulIdentifier", - "src": "20695:2:8" + "src": "24677:2:12" }, "nodeType": "YulFunctionCall", - "src": "20695:8:8" + "src": "24677:8:12" }, "nodeType": "YulIf", - "src": "20692:34:8" + "src": "24674:34:12" }, { "nodeType": "YulAssignment", - "src": "20736:17:8", + "src": "24718:17:12", "value": { "arguments": [ { "name": "x", "nodeType": "YulIdentifier", - "src": "20748:1:8" + "src": "24730:1:12" }, { "name": "y", "nodeType": "YulIdentifier", - "src": "20751:1:8" + "src": "24733:1:12" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "20744:3:8" + "src": "24726:3:12" }, "nodeType": "YulFunctionCall", - "src": "20744:9:8" + "src": "24726:9:12" }, "variableNames": [ { "name": "diff", "nodeType": "YulIdentifier", - "src": "20736:4:8" + "src": "24718:4:12" } ] } @@ -9651,13 +13409,13 @@ { "name": "x", "nodeType": "YulTypedName", - "src": "20599:1:8", + "src": "24581:1:12", "type": "" }, { "name": "y", "nodeType": "YulTypedName", - "src": "20602:1:8", + "src": "24584:1:12", "type": "" } ], @@ -9665,16 +13423,16 @@ { "name": "diff", "nodeType": "YulTypedName", - "src": "20608:4:8", + "src": "24590:4:12", "type": "" } ], - "src": "20568:191:8" + "src": "24550:191:12" }, { "body": { "nodeType": "YulBlock", - "src": "20871:60:8", + "src": "24853:60:12", "statements": [ { "expression": { @@ -9684,12 +13442,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "20893:6:8" + "src": "24875:6:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "20901:1:8", + "src": "24883:1:12", "type": "", "value": "0" } @@ -9697,16 +13455,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "20889:3:8" + "src": "24871:3:12" }, "nodeType": "YulFunctionCall", - "src": "20889:14:8" + "src": "24871:14:12" }, { "hexValue": "5061757361626c653a20706175736564", "kind": "string", "nodeType": "YulLiteral", - "src": "20905:18:8", + "src": "24887:18:12", "type": "", "value": "Pausable: paused" } @@ -9714,13 +13472,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "20882:6:8" + "src": "24864:6:12" }, "nodeType": "YulFunctionCall", - "src": "20882:42:8" + "src": "24864:42:12" }, "nodeType": "YulExpressionStatement", - "src": "20882:42:8" + "src": "24864:42:12" } ] }, @@ -9730,31 +13488,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "20863:6:8", + "src": "24845:6:12", "type": "" } ], - "src": "20765:166:8" + "src": "24747:166:12" }, { "body": { "nodeType": "YulBlock", - "src": "21083:220:8", + "src": "25065:220:12", "statements": [ { "nodeType": "YulAssignment", - "src": "21093:74:8", + "src": "25075:74:12", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "21159:3:8" + "src": "25141:3:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "21164:2:8", + "src": "25146:2:12", "type": "", "value": "16" } @@ -9762,16 +13520,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "21100:58:8" + "src": "25082:58:12" }, "nodeType": "YulFunctionCall", - "src": "21100:67:8" + "src": "25082:67:12" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "21093:3:8" + "src": "25075:3:12" } ] }, @@ -9781,34 +13539,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "21265:3:8" + "src": "25247:3:12" } ], "functionName": { "name": "store_literal_in_memory_68571e1369f7a6dcdcd736cb0343b35a58ed0f64d245c2ed839c98d412744f8a", "nodeType": "YulIdentifier", - "src": "21176:88:8" + "src": "25158:88:12" }, "nodeType": "YulFunctionCall", - "src": "21176:93:8" + "src": "25158:93:12" }, "nodeType": "YulExpressionStatement", - "src": "21176:93:8" + "src": "25158:93:12" }, { "nodeType": "YulAssignment", - "src": "21278:19:8", + "src": "25260:19:12", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "21289:3:8" + "src": "25271:3:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "21294:2:8", + "src": "25276:2:12", "type": "", "value": "32" } @@ -9816,16 +13574,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "21285:3:8" + "src": "25267:3:12" }, "nodeType": "YulFunctionCall", - "src": "21285:12:8" + "src": "25267:12:12" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "21278:3:8" + "src": "25260:3:12" } ] } @@ -9837,7 +13595,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "21071:3:8", + "src": "25053:3:12", "type": "" } ], @@ -9845,31 +13603,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "21079:3:8", + "src": "25061:3:12", "type": "" } ], - "src": "20937:366:8" + "src": "24919:366:12" }, { "body": { "nodeType": "YulBlock", - "src": "21480:248:8", + "src": "25462:248:12", "statements": [ { "nodeType": "YulAssignment", - "src": "21490:26:8", + "src": "25472:26:12", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "21502:9:8" + "src": "25484:9:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "21513:2:8", + "src": "25495:2:12", "type": "", "value": "32" } @@ -9877,16 +13635,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "21498:3:8" + "src": "25480:3:12" }, "nodeType": "YulFunctionCall", - "src": "21498:18:8" + "src": "25480:18:12" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "21490:4:8" + "src": "25472:4:12" } ] }, @@ -9898,12 +13656,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "21537:9:8" + "src": "25519:9:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "21548:1:8", + "src": "25530:1:12", "type": "", "value": "0" } @@ -9911,68 +13669,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "21533:3:8" + "src": "25515:3:12" }, "nodeType": "YulFunctionCall", - "src": "21533:17:8" + "src": "25515:17:12" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "21556:4:8" + "src": "25538:4:12" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "21562:9:8" + "src": "25544:9:12" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "21552:3:8" + "src": "25534:3:12" }, "nodeType": "YulFunctionCall", - "src": "21552:20:8" + "src": "25534:20:12" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "21526:6:8" + "src": "25508:6:12" }, "nodeType": "YulFunctionCall", - "src": "21526:47:8" + "src": "25508:47:12" }, "nodeType": "YulExpressionStatement", - "src": "21526:47:8" + "src": "25508:47:12" }, { "nodeType": "YulAssignment", - "src": "21582:139:8", + "src": "25564:139:12", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "21716:4:8" + "src": "25698:4:12" } ], "functionName": { "name": "abi_encode_t_stringliteral_68571e1369f7a6dcdcd736cb0343b35a58ed0f64d245c2ed839c98d412744f8a_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "21590:124:8" + "src": "25572:124:12" }, "nodeType": "YulFunctionCall", - "src": "21590:131:8" + "src": "25572:131:12" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "21582:4:8" + "src": "25564:4:12" } ] } @@ -9984,7 +13742,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "21460:9:8", + "src": "25442:9:12", "type": "" } ], @@ -9992,111 +13750,1001 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "21475:4:8", + "src": "25457:4:12", "type": "" } ], - "src": "21309:419:8" + "src": "25291:419:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "25764:300:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "25774:25:12", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "25797:1:12" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "25779:17:12" + }, + "nodeType": "YulFunctionCall", + "src": "25779:20:12" + }, + "variableNames": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "25774:1:12" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "25808:25:12", + "value": { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "25831:1:12" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "25813:17:12" + }, + "nodeType": "YulFunctionCall", + "src": "25813:20:12" + }, + "variableNames": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "25808:1:12" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "26006:22:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "26008:16:12" + }, + "nodeType": "YulFunctionCall", + "src": "26008:18:12" + }, + "nodeType": "YulExpressionStatement", + "src": "26008:18:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "25918:1:12" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "25911:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "25911:9:12" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "25904:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "25904:17:12" + }, + { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "25926:1:12" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25933:66:12", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + }, + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "26001:1:12" + } + ], + "functionName": { + "name": "div", + "nodeType": "YulIdentifier", + "src": "25929:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "25929:74:12" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "25923:2:12" + }, + "nodeType": "YulFunctionCall", + "src": "25923:81:12" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "25900:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "25900:105:12" + }, + "nodeType": "YulIf", + "src": "25897:131:12" + }, + { + "nodeType": "YulAssignment", + "src": "26038:20:12", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "26053:1:12" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "26056:1:12" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "26049:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "26049:9:12" + }, + "variableNames": [ + { + "name": "product", + "nodeType": "YulIdentifier", + "src": "26038:7:12" + } + ] + } + ] + }, + "name": "checked_mul_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "25747:1:12", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "25750:1:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "product", + "nodeType": "YulTypedName", + "src": "25756:7:12", + "type": "" + } + ], + "src": "25716:348:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "26098:152:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26115:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26118:77:12", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "26108:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "26108:88:12" + }, + "nodeType": "YulExpressionStatement", + "src": "26108:88:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26212:1:12", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26215:4:12", + "type": "", + "value": "0x41" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "26205:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "26205:15:12" + }, + "nodeType": "YulExpressionStatement", + "src": "26205:15:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26236:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26239:4:12", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "26229:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "26229:15:12" + }, + "nodeType": "YulExpressionStatement", + "src": "26229:15:12" + } + ] + }, + "name": "panic_error_0x41", + "nodeType": "YulFunctionDefinition", + "src": "26070:180:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "26284:152:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26301:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26304:77:12", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "26294:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "26294:88:12" + }, + "nodeType": "YulExpressionStatement", + "src": "26294:88:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26398:1:12", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26401:4:12", + "type": "", + "value": "0x32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "26391:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "26391:15:12" + }, + "nodeType": "YulExpressionStatement", + "src": "26391:15:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26422:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26425:4:12", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "26415:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "26415:15:12" + }, + "nodeType": "YulExpressionStatement", + "src": "26415:15:12" + } + ] + }, + "name": "panic_error_0x32", + "nodeType": "YulFunctionDefinition", + "src": "26256:180:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "26485:128:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "26495:33:12", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "26522:5:12" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "26504:17:12" + }, + "nodeType": "YulFunctionCall", + "src": "26504:24:12" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "26495:5:12" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "26556:22:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "26558:16:12" + }, + "nodeType": "YulFunctionCall", + "src": "26558:18:12" + }, + "nodeType": "YulExpressionStatement", + "src": "26558:18:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "26543:5:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26550:4:12", + "type": "", + "value": "0x00" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "26540:2:12" + }, + "nodeType": "YulFunctionCall", + "src": "26540:15:12" + }, + "nodeType": "YulIf", + "src": "26537:41:12" + }, + { + "nodeType": "YulAssignment", + "src": "26587:20:12", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "26598:5:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26605:1:12", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "26594:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "26594:13:12" + }, + "variableNames": [ + { + "name": "ret", + "nodeType": "YulIdentifier", + "src": "26587:3:12" + } + ] + } + ] + }, + "name": "decrement_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "26471:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "ret", + "nodeType": "YulTypedName", + "src": "26481:3:12", + "type": "" + } + ], + "src": "26442:171:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "26725:76:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "26747:6:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26755:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "26743:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "26743:14:12" + }, + { + "hexValue": "537472696e67733a20686578206c656e67746820696e73756666696369656e74", + "kind": "string", + "nodeType": "YulLiteral", + "src": "26759:34:12", + "type": "", + "value": "Strings: hex length insufficient" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "26736:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "26736:58:12" + }, + "nodeType": "YulExpressionStatement", + "src": "26736:58:12" + } + ] + }, + "name": "store_literal_in_memory_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "26717:6:12", + "type": "" + } + ], + "src": "26619:182:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "26953:220:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "26963:74:12", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "27029:3:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27034:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "26970:58:12" + }, + "nodeType": "YulFunctionCall", + "src": "26970:67:12" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "26963:3:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "27135:3:12" + } + ], + "functionName": { + "name": "store_literal_in_memory_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2", + "nodeType": "YulIdentifier", + "src": "27046:88:12" + }, + "nodeType": "YulFunctionCall", + "src": "27046:93:12" + }, + "nodeType": "YulExpressionStatement", + "src": "27046:93:12" + }, + { + "nodeType": "YulAssignment", + "src": "27148:19:12", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "27159:3:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27164:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "27155:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "27155:12:12" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "27148:3:12" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "26941:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "26949:3:12", + "type": "" + } + ], + "src": "26807:366:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "27350:248:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "27360:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "27372:9:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27383:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "27368:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "27368:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "27360:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "27407:9:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27418:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "27403:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "27403:17:12" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "27426:4:12" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "27432:9:12" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "27422:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "27422:20:12" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "27396:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "27396:47:12" + }, + "nodeType": "YulExpressionStatement", + "src": "27396:47:12" + }, + { + "nodeType": "YulAssignment", + "src": "27452:139:12", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "27586:4:12" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "27460:124:12" + }, + "nodeType": "YulFunctionCall", + "src": "27460:131:12" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "27452:4:12" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "27330:9:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "27345:4:12", + "type": "" + } + ], + "src": "27179:419:12" } ] }, - "contents": "{\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 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_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 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 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_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_uint256(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_uint256(add(headStart, offset), dataEnd)\n }\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 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 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_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_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 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_0d1d997348c4b502650619e51f7d09f80514d98b6993be5051d07f703984619a(memPtr) {\n\n mstore(add(memPtr, 0), \"Pausable: not paused\")\n\n }\n\n function abi_encode_t_stringliteral_0d1d997348c4b502650619e51f7d09f80514d98b6993be5051d07f703984619a_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 20)\n store_literal_in_memory_0d1d997348c4b502650619e51f7d09f80514d98b6993be5051d07f703984619a(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_0d1d997348c4b502650619e51f7d09f80514d98b6993be5051d07f703984619a__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_0d1d997348c4b502650619e51f7d09f80514d98b6993be5051d07f703984619a_to_t_string_memory_ptr_fromStack( tail)\n\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 store_literal_in_memory_68571e1369f7a6dcdcd736cb0343b35a58ed0f64d245c2ed839c98d412744f8a(memPtr) {\n\n mstore(add(memPtr, 0), \"Pausable: paused\")\n\n }\n\n function abi_encode_t_stringliteral_68571e1369f7a6dcdcd736cb0343b35a58ed0f64d245c2ed839c98d412744f8a_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 16)\n store_literal_in_memory_68571e1369f7a6dcdcd736cb0343b35a58ed0f64d245c2ed839c98d412744f8a(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_68571e1369f7a6dcdcd736cb0343b35a58ed0f64d245c2ed839c98d412744f8a__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_68571e1369f7a6dcdcd736cb0343b35a58ed0f64d245c2ed839c98d412744f8a_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n}\n", - "id": 8, + "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_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_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_uint256(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_uint256(add(headStart, offset), dataEnd)\n }\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 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_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 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 array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length) -> updated_pos {\n updated_pos := pos\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 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 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_0d1d997348c4b502650619e51f7d09f80514d98b6993be5051d07f703984619a(memPtr) {\n\n mstore(add(memPtr, 0), \"Pausable: not paused\")\n\n }\n\n function abi_encode_t_stringliteral_0d1d997348c4b502650619e51f7d09f80514d98b6993be5051d07f703984619a_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 20)\n store_literal_in_memory_0d1d997348c4b502650619e51f7d09f80514d98b6993be5051d07f703984619a(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_0d1d997348c4b502650619e51f7d09f80514d98b6993be5051d07f703984619a__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_0d1d997348c4b502650619e51f7d09f80514d98b6993be5051d07f703984619a_to_t_string_memory_ptr_fromStack( tail)\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 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 store_literal_in_memory_68571e1369f7a6dcdcd736cb0343b35a58ed0f64d245c2ed839c98d412744f8a(memPtr) {\n\n mstore(add(memPtr, 0), \"Pausable: paused\")\n\n }\n\n function abi_encode_t_stringliteral_68571e1369f7a6dcdcd736cb0343b35a58ed0f64d245c2ed839c98d412744f8a_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 16)\n store_literal_in_memory_68571e1369f7a6dcdcd736cb0343b35a58ed0f64d245c2ed839c98d412744f8a(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_68571e1369f7a6dcdcd736cb0343b35a58ed0f64d245c2ed839c98d412744f8a__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_68571e1369f7a6dcdcd736cb0343b35a58ed0f64d245c2ed839c98d412744f8a_to_t_string_memory_ptr_fromStack( tail)\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 panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\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": 12, "language": "Yul", "name": "#utility.yul" } ], - "sourceMap": "428:505:7:-:0;;;491:46;;;;;;;;;;1978:113:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2052:5;2044;:13;;;;;;;;;;;;:::i;:::-;;2077:7;2067;:17;;;;;;;;;;;;:::i;:::-;;1978:113;;991:5:1;981:7;;:15;;;;;;;;;;;;;;;;;;921:32:0;940:12;:10;;;:12;;:::i;:::-;921:18;;;:32;;:::i;:::-;428:505:7;;640:96:6;693:7;719:10;712:17;;640:96;:::o;2270:187:0:-;2343:16;2362:6;;;;;;;;;;;2343:25;;2387:8;2378:6;;:17;;;;;;;;;;;;;;;;;;2441:8;2410:40;;2431:8;2410:40;;;;;;;;;;;;2333:124;2270:187;:::o;428:505:7:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:180:8:-;55:77;52:1;45:88;152:4;149:1;142:15;176:4;173:1;166:15;193:320;237:6;274:1;268:4;264:12;254:22;;321:1;315:4;311:12;342:18;332:81;;398:4;390:6;386:17;376:27;;332:81;460:2;452:6;449:14;429:18;426:38;423:84;;;479:18;;:::i;:::-;423:84;244:269;193:320;;;:::o;428:505:7:-;;;;;;;", - "deployedSourceMap": "428:505:7:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2156:98:2;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4433:197;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3244:106;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5192:286;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3093:91;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5873:236;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;600:59:7;;;:::i;:::-;;663:89;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;578::4;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1098:84:1;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3408:125:2;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1668:101:0;;;:::i;:::-;;973:161:4;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;541:55:7;;;:::i;:::-;;1036:85:0;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2367:102:2;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6596:429;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3729:189;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3976:149;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1918:198:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2156:98:2;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;3244:106::-;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;3093:91::-;3151:5;3175:2;3168:9;;3093:91;:::o;5873:236::-;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;600:59:7:-;1259:12:0;:10;:12::i;:::-;1248:23;;:7;:5;:7::i;:::-;:23;;;1240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;644:10:7::1;:8;:10::i;:::-;600:59::o:0;663:89::-;1259:12:0;:10;:12::i;:::-;1248:23;;:7;:5;:7::i;:::-;:23;;;1240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;730:17:7::1;736:2;740:6;730:5;:17::i;:::-;663:89:::0;;:::o;578::4:-;633:27;639:12;:10;:12::i;:::-;653:6;633:5;:27::i;:::-;578:89;:::o;1098:84:1:-;1145:4;1168:7;;;;;;;;;;;1161:14;;1098:84;:::o;3408:125:2:-;3482:7;3508:9;:18;3518:7;3508:18;;;;;;;;;;;;;;;;3501:25;;3408:125;;;:::o;1668:101:0:-;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;973:161:4:-;1049:46;1065:7;1074:12;:10;:12::i;:::-;1088:6;1049:15;:46::i;:::-;1105:22;1111:7;1120:6;1105:5;:22::i;:::-;973:161;;:::o;541:55:7:-;1259:12:0;:10;:12::i;:::-;1248:23;;:7;:5;:7::i;:::-;:23;;;1240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;583:8:7::1;:6;:8::i;:::-;541:55::o:0;1036:85:0:-;1082:7;1108:6;;;;;;;;;;;1101:13;;1036:85;:::o;2367:102:2:-;2423:13;2455:7;2448:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2367:102;:::o;6596:429::-;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;3976:149::-;4065:7;4091:11;:18;4103:5;4091:18;;;;;;;;;;;;;;;:27;4110:7;4091:27;;;;;;;;;;;;;;;;4084:34;;3976:149;;;;:::o;1918:198:0:-;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;640:96:6:-;693:7;719:10;712:17;;640:96;:::o;10123:370:2:-;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;2110:117:1:-;1677:8;:6;:8::i;:::-;1669:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;2178:5:::1;2168:7;;:15;;;;;;;;;;;;;;;;;;2198:22;2207:12;:10;:12::i;:::-;2198:22;;;;;;:::i;:::-;;;;;;;;2110:117::o:0;8415:389:2:-;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;9124:576::-;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;2270:187:0:-;2343:16;2362:6;;;;;;;;;;;2343:25;;2387:8;2378:6;;:17;;;;;;;;;;;;;;;;;;2441:8;2410:40;;2431:8;2410:40;;;;;;;;;;;;2333:124;2270:187;:::o;1863:115:1:-;1412:8;:6;:8::i;:::-;1411:9;1403:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;1932:4:::1;1922:7;;:14;;;;;;;;;;;;;;;;;;1951:20;1958:12;:10;:12::i;:::-;1951:20;;;;;;:::i;:::-;;;;;;;;1863:115::o:0;756:175:7:-;1412:8:1;:6;:8::i;:::-;1411:9;1403:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;882:44:7::1;909:4;915:2;919:6;882:26;:44::i;:::-;756:175:::0;;;:::o;12504:120:2:-;;;;:::o;11795:121::-;;;;:::o;7:99:8:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:307::-;355:1;365:113;379:6;376:1;373:13;365:113;;;464:1;459:3;455:11;449:18;445:1;440:3;436:11;429:39;401:2;398:1;394:10;389:15;;365:113;;;496:6;493:1;490:13;487:101;;;576:1;567:6;562:3;558:16;551:27;487:101;336:258;287:307;;;:::o;600:102::-;641:6;692:2;688:7;683:2;676:5;672:14;668:28;658:38;;600:102;;;:::o;708:364::-;796:3;824:39;857:5;824:39;:::i;:::-;879:71;943:6;938:3;879:71;:::i;:::-;872:78;;959:52;1004:6;999:3;992:4;985:5;981:16;959:52;:::i;:::-;1036:29;1058:6;1036:29;:::i;:::-;1031:3;1027:39;1020:46;;800:272;708:364;;;;:::o;1078:313::-;1191:4;1229:2;1218:9;1214:18;1206:26;;1278:9;1272:4;1268:20;1264:1;1253:9;1249:17;1242:47;1306:78;1379:4;1370:6;1306:78;:::i;:::-;1298:86;;1078:313;;;;:::o;1478:117::-;1587:1;1584;1577:12;1724:126;1761:7;1801:42;1794:5;1790:54;1779:65;;1724:126;;;:::o;1856:96::-;1893:7;1922:24;1940:5;1922:24;:::i;:::-;1911:35;;1856:96;;;:::o;1958:122::-;2031:24;2049:5;2031:24;:::i;:::-;2024:5;2021:35;2011:63;;2070:1;2067;2060:12;2011:63;1958:122;:::o;2086:139::-;2132:5;2170:6;2157:20;2148:29;;2186:33;2213:5;2186:33;:::i;:::-;2086:139;;;;:::o;2231:77::-;2268:7;2297:5;2286:16;;2231:77;;;:::o;2314:122::-;2387:24;2405:5;2387:24;:::i;:::-;2380:5;2377:35;2367:63;;2426:1;2423;2416:12;2367:63;2314:122;:::o;2442:139::-;2488:5;2526:6;2513:20;2504:29;;2542:33;2569:5;2542:33;:::i;:::-;2442:139;;;;:::o;2587:474::-;2655:6;2663;2712:2;2700:9;2691:7;2687:23;2683:32;2680:119;;;2718:79;;:::i;:::-;2680:119;2838:1;2863:53;2908:7;2899:6;2888:9;2884:22;2863:53;:::i;:::-;2853:63;;2809:117;2965:2;2991:53;3036:7;3027:6;3016:9;3012:22;2991:53;:::i;:::-;2981:63;;2936:118;2587:474;;;;;:::o;3067:90::-;3101:7;3144:5;3137:13;3130:21;3119:32;;3067:90;;;:::o;3163:109::-;3244:21;3259:5;3244:21;:::i;:::-;3239:3;3232:34;3163:109;;:::o;3278:210::-;3365:4;3403:2;3392:9;3388:18;3380:26;;3416:65;3478:1;3467:9;3463:17;3454:6;3416:65;:::i;:::-;3278:210;;;;:::o;3494:118::-;3581:24;3599:5;3581:24;:::i;:::-;3576:3;3569:37;3494:118;;:::o;3618:222::-;3711:4;3749:2;3738:9;3734:18;3726:26;;3762:71;3830:1;3819:9;3815:17;3806:6;3762:71;:::i;:::-;3618:222;;;;:::o;3846:619::-;3923:6;3931;3939;3988:2;3976:9;3967:7;3963:23;3959:32;3956:119;;;3994:79;;:::i;:::-;3956:119;4114:1;4139:53;4184:7;4175:6;4164:9;4160:22;4139:53;:::i;:::-;4129:63;;4085:117;4241:2;4267:53;4312:7;4303:6;4292:9;4288:22;4267:53;:::i;:::-;4257:63;;4212:118;4369:2;4395:53;4440:7;4431:6;4420:9;4416:22;4395:53;:::i;:::-;4385:63;;4340:118;3846:619;;;;;:::o;4471:86::-;4506:7;4546:4;4539:5;4535:16;4524:27;;4471:86;;;:::o;4563:112::-;4646:22;4662:5;4646:22;:::i;:::-;4641:3;4634:35;4563:112;;:::o;4681:214::-;4770:4;4808:2;4797:9;4793:18;4785:26;;4821:67;4885:1;4874:9;4870:17;4861:6;4821:67;:::i;:::-;4681:214;;;;:::o;4901:329::-;4960:6;5009:2;4997:9;4988:7;4984:23;4980:32;4977:119;;;5015:79;;:::i;:::-;4977:119;5135:1;5160:53;5205:7;5196:6;5185:9;5181:22;5160:53;:::i;:::-;5150:63;;5106:117;4901:329;;;;:::o;5236:::-;5295:6;5344:2;5332:9;5323:7;5319:23;5315:32;5312:119;;;5350:79;;:::i;:::-;5312:119;5470:1;5495:53;5540:7;5531:6;5520:9;5516:22;5495:53;:::i;:::-;5485:63;;5441:117;5236:329;;;;:::o;5571:118::-;5658:24;5676:5;5658:24;:::i;:::-;5653:3;5646:37;5571:118;;:::o;5695:222::-;5788:4;5826:2;5815:9;5811:18;5803:26;;5839:71;5907:1;5896:9;5892:17;5883:6;5839:71;:::i;:::-;5695:222;;;;:::o;5923:474::-;5991:6;5999;6048:2;6036:9;6027:7;6023:23;6019:32;6016:119;;;6054:79;;:::i;:::-;6016:119;6174:1;6199:53;6244:7;6235:6;6224:9;6220:22;6199:53;:::i;:::-;6189:63;;6145:117;6301:2;6327:53;6372:7;6363:6;6352:9;6348:22;6327:53;:::i;:::-;6317:63;;6272:118;5923:474;;;;;:::o;6403:180::-;6451:77;6448:1;6441:88;6548:4;6545:1;6538:15;6572:4;6569:1;6562:15;6589:320;6633:6;6670:1;6664:4;6660:12;6650:22;;6717:1;6711:4;6707:12;6738:18;6728:81;;6794:4;6786:6;6782:17;6772:27;;6728:81;6856:2;6848:6;6845:14;6825:18;6822:38;6819:84;;;6875:18;;:::i;:::-;6819:84;6640:269;6589:320;;;:::o;6915:180::-;6963:77;6960:1;6953:88;7060:4;7057:1;7050:15;7084:4;7081:1;7074:15;7101:305;7141:3;7160:20;7178:1;7160:20;:::i;:::-;7155:25;;7194:20;7212:1;7194:20;:::i;:::-;7189:25;;7348:1;7280:66;7276:74;7273:1;7270:81;7267:107;;;7354:18;;:::i;:::-;7267:107;7398:1;7395;7391:9;7384:16;;7101:305;;;;:::o;7412:182::-;7552:34;7548:1;7540:6;7536:14;7529:58;7412:182;:::o;7600:366::-;7742:3;7763:67;7827:2;7822:3;7763:67;:::i;:::-;7756:74;;7839:93;7928:3;7839:93;:::i;:::-;7957:2;7952:3;7948:12;7941:19;;7600:366;;;:::o;7972:419::-;8138:4;8176:2;8165:9;8161:18;8153:26;;8225:9;8219:4;8215:20;8211:1;8200:9;8196:17;8189:47;8253:131;8379:4;8253:131;:::i;:::-;8245:139;;7972:419;;;:::o;8397:224::-;8537:34;8533:1;8525:6;8521:14;8514:58;8606:7;8601:2;8593:6;8589:15;8582:32;8397:224;:::o;8627:366::-;8769:3;8790:67;8854:2;8849:3;8790:67;:::i;:::-;8783:74;;8866:93;8955:3;8866:93;:::i;:::-;8984:2;8979:3;8975:12;8968:19;;8627:366;;;:::o;8999:419::-;9165:4;9203:2;9192:9;9188:18;9180:26;;9252:9;9246:4;9242:20;9238:1;9227:9;9223:17;9216:47;9280:131;9406:4;9280:131;:::i;:::-;9272:139;;8999:419;;;:::o;9424:225::-;9564:34;9560:1;9552:6;9548:14;9541:58;9633:8;9628:2;9620:6;9616:15;9609:33;9424:225;:::o;9655:366::-;9797:3;9818:67;9882:2;9877:3;9818:67;:::i;:::-;9811:74;;9894:93;9983:3;9894:93;:::i;:::-;10012:2;10007:3;10003:12;9996:19;;9655:366;;;:::o;10027:419::-;10193:4;10231:2;10220:9;10216:18;10208:26;;10280:9;10274:4;10270:20;10266:1;10255:9;10251:17;10244:47;10308:131;10434:4;10308:131;:::i;:::-;10300:139;;10027:419;;;:::o;10452:223::-;10592:34;10588:1;10580:6;10576:14;10569:58;10661:6;10656:2;10648:6;10644:15;10637:31;10452:223;:::o;10681:366::-;10823:3;10844:67;10908:2;10903:3;10844:67;:::i;:::-;10837:74;;10920:93;11009:3;10920:93;:::i;:::-;11038:2;11033:3;11029:12;11022:19;;10681:366;;;:::o;11053:419::-;11219:4;11257:2;11246:9;11242:18;11234:26;;11306:9;11300:4;11296:20;11292:1;11281:9;11277:17;11270:47;11334:131;11460:4;11334:131;:::i;:::-;11326:139;;11053:419;;;:::o;11478:221::-;11618:34;11614:1;11606:6;11602:14;11595:58;11687:4;11682:2;11674:6;11670:15;11663:29;11478:221;:::o;11705:366::-;11847:3;11868:67;11932:2;11927:3;11868:67;:::i;:::-;11861:74;;11944:93;12033:3;11944:93;:::i;:::-;12062:2;12057:3;12053:12;12046:19;;11705:366;;;:::o;12077:419::-;12243:4;12281:2;12270:9;12266:18;12258:26;;12330:9;12324:4;12320:20;12316:1;12305:9;12301:17;12294:47;12358:131;12484:4;12358:131;:::i;:::-;12350:139;;12077:419;;;:::o;12502:179::-;12642:31;12638:1;12630:6;12626:14;12619:55;12502:179;:::o;12687:366::-;12829:3;12850:67;12914:2;12909:3;12850:67;:::i;:::-;12843:74;;12926:93;13015:3;12926:93;:::i;:::-;13044:2;13039:3;13035:12;13028:19;;12687:366;;;:::o;13059:419::-;13225:4;13263:2;13252:9;13248:18;13240:26;;13312:9;13306:4;13302:20;13298:1;13287:9;13283:17;13276:47;13340:131;13466:4;13340:131;:::i;:::-;13332:139;;13059:419;;;:::o;13484:224::-;13624:34;13620:1;13612:6;13608:14;13601:58;13693:7;13688:2;13680:6;13676:15;13669:32;13484:224;:::o;13714:366::-;13856:3;13877:67;13941:2;13936:3;13877:67;:::i;:::-;13870:74;;13953:93;14042:3;13953:93;:::i;:::-;14071:2;14066:3;14062:12;14055:19;;13714:366;;;:::o;14086:419::-;14252:4;14290:2;14279:9;14275:18;14267:26;;14339:9;14333:4;14329:20;14325:1;14314:9;14310:17;14303:47;14367:131;14493:4;14367:131;:::i;:::-;14359:139;;14086:419;;;:::o;14511:222::-;14651:34;14647:1;14639:6;14635:14;14628:58;14720:5;14715:2;14707:6;14703:15;14696:30;14511:222;:::o;14739:366::-;14881:3;14902:67;14966:2;14961:3;14902:67;:::i;:::-;14895:74;;14978:93;15067:3;14978:93;:::i;:::-;15096:2;15091:3;15087:12;15080:19;;14739:366;;;:::o;15111:419::-;15277:4;15315:2;15304:9;15300:18;15292:26;;15364:9;15358:4;15354:20;15350:1;15339:9;15335:17;15328:47;15392:131;15518:4;15392:131;:::i;:::-;15384:139;;15111:419;;;:::o;15536:225::-;15676:34;15672:1;15664:6;15660:14;15653:58;15745:8;15740:2;15732:6;15728:15;15721:33;15536:225;:::o;15767:366::-;15909:3;15930:67;15994:2;15989:3;15930:67;:::i;:::-;15923:74;;16006:93;16095:3;16006:93;:::i;:::-;16124:2;16119:3;16115:12;16108:19;;15767:366;;;:::o;16139:419::-;16305:4;16343:2;16332:9;16328:18;16320:26;;16392:9;16386:4;16382:20;16378:1;16367:9;16363:17;16356:47;16420:131;16546:4;16420:131;:::i;:::-;16412:139;;16139:419;;;:::o;16564:170::-;16704:22;16700:1;16692:6;16688:14;16681:46;16564:170;:::o;16740:366::-;16882:3;16903:67;16967:2;16962:3;16903:67;:::i;:::-;16896:74;;16979:93;17068:3;16979:93;:::i;:::-;17097:2;17092:3;17088:12;17081:19;;16740:366;;;:::o;17112:419::-;17278:4;17316:2;17305:9;17301:18;17293:26;;17365:9;17359:4;17355:20;17351:1;17340:9;17336:17;17329:47;17393:131;17519:4;17393:131;:::i;:::-;17385:139;;17112:419;;;:::o;17537:181::-;17677:33;17673:1;17665:6;17661:14;17654:57;17537:181;:::o;17724:366::-;17866:3;17887:67;17951:2;17946:3;17887:67;:::i;:::-;17880:74;;17963:93;18052:3;17963:93;:::i;:::-;18081:2;18076:3;18072:12;18065:19;;17724:366;;;:::o;18096:419::-;18262:4;18300:2;18289:9;18285:18;18277:26;;18349:9;18343:4;18339:20;18335:1;18324:9;18320:17;18313:47;18377:131;18503:4;18377:131;:::i;:::-;18369:139;;18096:419;;;:::o;18521:220::-;18661:34;18657:1;18649:6;18645:14;18638:58;18730:3;18725:2;18717:6;18713:15;18706:28;18521:220;:::o;18747:366::-;18889:3;18910:67;18974:2;18969:3;18910:67;:::i;:::-;18903:74;;18986:93;19075:3;18986:93;:::i;:::-;19104:2;19099:3;19095:12;19088:19;;18747:366;;;:::o;19119:419::-;19285:4;19323:2;19312:9;19308:18;19300:26;;19372:9;19366:4;19362:20;19358:1;19347:9;19343:17;19336:47;19400:131;19526:4;19400:131;:::i;:::-;19392:139;;19119:419;;;:::o;19544:221::-;19684:34;19680:1;19672:6;19668:14;19661:58;19753:4;19748:2;19740:6;19736:15;19729:29;19544:221;:::o;19771:366::-;19913:3;19934:67;19998:2;19993:3;19934:67;:::i;:::-;19927:74;;20010:93;20099:3;20010:93;:::i;:::-;20128:2;20123:3;20119:12;20112:19;;19771:366;;;:::o;20143:419::-;20309:4;20347:2;20336:9;20332:18;20324:26;;20396:9;20390:4;20386:20;20382:1;20371:9;20367:17;20360:47;20424:131;20550:4;20424:131;:::i;:::-;20416:139;;20143:419;;;:::o;20568:191::-;20608:4;20628:20;20646:1;20628:20;:::i;:::-;20623:25;;20662:20;20680:1;20662:20;:::i;:::-;20657:25;;20701:1;20698;20695:8;20692:34;;;20706:18;;:::i;:::-;20692:34;20751:1;20748;20744:9;20736:17;;20568:191;;;;:::o;20765:166::-;20905:18;20901:1;20893:6;20889:14;20882:42;20765:166;:::o;20937:366::-;21079:3;21100:67;21164:2;21159:3;21100:67;:::i;:::-;21093:74;;21176:93;21265:3;21176:93;:::i;:::-;21294:2;21289:3;21285:12;21278:19;;20937:366;;;:::o;21309:419::-;21475:4;21513:2;21502:9;21498:18;21490:26;;21562:9;21556:4;21552:20;21548:1;21537:9;21533:17;21526:47;21590:131;21716:4;21590:131;:::i;:::-;21582:139;;21309:419;;;:::o", - "source": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.10;\nimport \"@openzeppelin/contracts/token/ERC20/ERC20.sol\";\nimport \"@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol\";\nimport \"@openzeppelin/contracts/security/Pausable.sol\";\nimport \"@openzeppelin/contracts/access/Ownable.sol\";\n\n/**\n * this contract will transfer ownership to BETimelockController after deployed\n * all onlyowner method would add timelock\n */\ncontract BEUSDT is ERC20, ERC20Burnable, Pausable, Ownable {\n constructor() ERC20(\"BE test USDT\", \"USDT\") {}\n\n function pause() external onlyOwner {\n _pause();\n }\n\n function unpause() external onlyOwner {\n _unpause();\n }\n\n function mint(address to, uint256 amount) external onlyOwner {\n _mint(to, amount);\n }\n\n function _beforeTokenTransfer(\n address from,\n address to,\n uint256 amount\n ) internal override whenNotPaused {\n super._beforeTokenTransfer(from, to, amount);\n }\n}\n", + "sourceMap": "328:1256:11:-:0;;;530:225;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;604:5;611:7;2052:5:3;2044;:13;;;;;;;;;;;;:::i;:::-;;2077:7;2067;:17;;;;;;;;;;;;:::i;:::-;;1978:113;;991:5:2;981:7;;:15;;;;;;;;;;;;;;;;;;626:42:11::1;2072:4:0;637:18:11::0;::::1;657:10;626;;;:42;;:::i;:::-;674:35;435:24;698:10;674;;;:35;;:::i;:::-;715;501:24;739:10;715;;;:35;;:::i;:::-;530:225:::0;;328:1256;;6257:110:0;6335:25;6346:4;6352:7;6335:10;;;:25;;:::i;:::-;6257:110;;:::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;2909:145::-;2995:4;3018:6;:12;3025:4;3018:12;;;;;;;;;;;:20;;:29;3039:7;3018:29;;;;;;;;;;;;;;;;;;;;;;;;;3011:36;;2909:145;;;;:::o;640:96:7:-;693:7;719:10;712:17;;640:96;:::o;328:1256:11:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:75:12:-;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:117;443:1;440;433:12;457:117;566:1;563;556:12;580:102;621:6;672:2;668:7;663:2;656:5;652:14;648:28;638:38;;580:102;;;:::o;688:180::-;736:77;733:1;726:88;833:4;830:1;823:15;857:4;854:1;847:15;874:281;957:27;979:4;957:27;:::i;:::-;949:6;945:40;1087:6;1075:10;1072:22;1051:18;1039:10;1036:34;1033:62;1030:88;;;1098:18;;:::i;:::-;1030:88;1138:10;1134:2;1127:22;917:238;874:281;;:::o;1161:129::-;1195:6;1222:20;;:::i;:::-;1212:30;;1251:33;1279:4;1271:6;1251:33;:::i;:::-;1161:129;;;:::o;1296:308::-;1358:4;1448:18;1440:6;1437:30;1434:56;;;1470:18;;:::i;:::-;1434:56;1508:29;1530:6;1508:29;:::i;:::-;1500:37;;1592:4;1586;1582:15;1574:23;;1296:308;;;:::o;1610:307::-;1678:1;1688:113;1702:6;1699:1;1696:13;1688:113;;;1787:1;1782:3;1778:11;1772:18;1768:1;1763:3;1759:11;1752:39;1724:2;1721:1;1717:10;1712:15;;1688:113;;;1819:6;1816:1;1813:13;1810:101;;;1899:1;1890:6;1885:3;1881:16;1874:27;1810:101;1659:258;1610:307;;;:::o;1923:421::-;2012:5;2037:66;2053:49;2095:6;2053:49;:::i;:::-;2037:66;:::i;:::-;2028:75;;2126:6;2119:5;2112:21;2164:4;2157:5;2153:16;2202:3;2193:6;2188:3;2184:16;2181:25;2178:112;;;2209:79;;:::i;:::-;2178:112;2299:39;2331:6;2326:3;2321;2299:39;:::i;:::-;2018:326;1923:421;;;;;:::o;2364:355::-;2431:5;2480:3;2473:4;2465:6;2461:17;2457:27;2447:122;;2488:79;;:::i;:::-;2447:122;2598:6;2592:13;2623:90;2709:3;2701:6;2694:4;2686:6;2682:17;2623:90;:::i;:::-;2614:99;;2437:282;2364:355;;;;:::o;2725:853::-;2824:6;2832;2881:2;2869:9;2860:7;2856:23;2852:32;2849:119;;;2887:79;;:::i;:::-;2849:119;3028:1;3017:9;3013:17;3007:24;3058:18;3050:6;3047:30;3044:117;;;3080:79;;:::i;:::-;3044:117;3185:74;3251:7;3242:6;3231:9;3227:22;3185:74;:::i;:::-;3175:84;;2978:291;3329:2;3318:9;3314:18;3308:25;3360:18;3352:6;3349:30;3346:117;;;3382:79;;:::i;:::-;3346:117;3487:74;3553:7;3544:6;3533:9;3529:22;3487:74;:::i;:::-;3477:84;;3279:292;2725:853;;;;;:::o;3584:180::-;3632:77;3629:1;3622:88;3729:4;3726:1;3719:15;3753:4;3750:1;3743:15;3770:320;3814:6;3851:1;3845:4;3841:12;3831:22;;3898:1;3892:4;3888:12;3919:18;3909:81;;3975:4;3967:6;3963:17;3953:27;;3909:81;4037:2;4029:6;4026:14;4006:18;4003:38;4000:84;;;4056:18;;:::i;:::-;4000:84;3821:269;3770:320;;;:::o;328:1256:11:-;;;;;;;", + "deployedSourceMap": "328:1256:11:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2620:202:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2156:98:3;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4433:197;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1327:85:11;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3244:106:3;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1242:81:11;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1499:83;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5192:286:3;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4008:129:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4387:145;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3093:91:3;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5404:214:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5873:236:3;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;883:71:11;;;:::i;:::-;;958:101;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;578:89:5;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1416:79:11;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1098:84:2;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3408:125:3;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;973:161:5;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;812:67:11;;;:::i;:::-;;2909:145:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2367:102:3;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2027:49:0;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6596:429:3;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3729:189;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;463:62:11;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4766:147:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3976:149:3;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;397:62:11;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2620:202:0;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:3:-;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;1327:85:11:-;1380:27;435:24;1404:2;1380:10;:27::i;:::-;1327:85;:::o;3244:106:3:-;3305:7;3331:12;;3324:19;;3244:106;:::o;1242:81:11:-;1292:26;435:24;1315:2;1292:9;:26::i;:::-;1242:81;:::o;1499:83::-;1550:27;501:24;1574:2;1550:10;:27::i;:::-;1499:83;:::o;5192:286:3:-;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:0:-;4082:7;4108:6;:12;4115:4;4108:12;;;;;;;;;;;:22;;;4101:29;;4008:129;;;:::o;4387:145::-;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:3:-;3151:5;3175:2;3168:9;;3093:91;:::o;5404:214:0:-;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:3:-;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;883:71:11:-;435:24;2505:30:0;2516:4;2522:12;:10;:12::i;:::-;2505:10;:30::i;:::-;939:10:11::1;:8;:10::i;:::-;883:71:::0;:::o;958:101::-;501:24;2505:30:0;2516:4;2522:12;:10;:12::i;:::-;2505:10;:30::i;:::-;1037:17:11::1;1043:2;1047:6;1037:5;:17::i;:::-;958:101:::0;;;:::o;578:89:5:-;633:27;639:12;:10;:12::i;:::-;653:6;633:5;:27::i;:::-;578:89;:::o;1416:79:11:-;1464:26;501:24;1487:2;1464:9;:26::i;:::-;1416:79;:::o;1098:84:2:-;1145:4;1168:7;;;;;;;;;;;1161:14;;1098:84;:::o;3408:125:3:-;3482:7;3508:9;:18;3518:7;3508:18;;;;;;;;;;;;;;;;3501:25;;3408:125;;;:::o;973:161:5:-;1049:46;1065:7;1074:12;:10;:12::i;:::-;1088:6;1049:15;:46::i;:::-;1105:22;1111:7;1120:6;1105:5;:22::i;:::-;973:161;;:::o;812:67:11:-;435:24;2505:30:0;2516:4;2522:12;:10;:12::i;:::-;2505:10;:30::i;:::-;866:8:11::1;:6;:8::i;:::-;812:67:::0;:::o;2909:145:0:-;2995:4;3018:6;:12;3025:4;3018:12;;;;;;;;;;;:20;;:29;3039:7;3018:29;;;;;;;;;;;;;;;;;;;;;;;;;3011:36;;2909:145;;;;:::o;2367:102:3:-;2423:13;2455:7;2448:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2367:102;:::o;2027:49:0:-;2072:4;2027:49;;;:::o;6596:429:3:-;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;463:62:11:-;501:24;463:62;:::o;4766:147:0:-;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:3:-;4065:7;4091:11;:18;4103:5;4091:18;;;;;;;;;;;;;;;:27;4110:7;4091:27;;;;;;;;;;;;;;;;4084:34;;3976:149;;;;:::o;397:62:11:-;435:24;397:62;:::o;829:155:9:-;914:4;952:25;937:40;;;:11;:40;;;;930:47;;829:155;;;:::o;640:96:7:-;693:7;719:10;712:17;;640:96;:::o;10123:370:3:-;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:0:-;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;2110:117:2:-;1677:8;:6;:8::i;:::-;1669:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;2178:5:::1;2168:7;;:15;;;;;;;;;;;;;;;;;;2198:22;2207:12;:10;:12::i;:::-;2198:22;;;;;;:::i;:::-;;;;;;;;2110:117::o:0;8415:389:3:-;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;9124:576::-;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;1863:115:2:-;1412:8;:6;:8::i;:::-;1411:9;1403:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;1932:4:::1;1922:7;;:14;;;;;;;;;;;;;;;;;;1951:20;1958:12;:10;:12::i;:::-;1951:20;;;;;;:::i;:::-;;;;;;;;1863:115::o:0;1063:175:11:-;1412:8:2;:6;:8::i;:::-;1411:9;1403:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;1189:44:11::1;1216:4;1222:2;1226:6;1189:26;:44::i;:::-;1063:175:::0;;;:::o;12504:120:3:-;;;;:::o;1588:441:8:-;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;11795:121:3:-;;;;:::o;88:117:12:-;197:1;194;187: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:329::-;4310:6;4359:2;4347:9;4338:7;4334:23;4330:32;4327:119;;;4365:79;;:::i;:::-;4327:119;4485:1;4510:53;4555:7;4546:6;4535:9;4531:22;4510:53;:::i;:::-;4500:63;;4456:117;4251:329;;;;:::o;4586:118::-;4673:24;4691:5;4673:24;:::i;:::-;4668:3;4661:37;4586:118;;:::o;4710:222::-;4803:4;4841:2;4830:9;4826:18;4818:26;;4854:71;4922:1;4911:9;4907:17;4898:6;4854:71;:::i;:::-;4710:222;;;;:::o;4938:619::-;5015:6;5023;5031;5080:2;5068:9;5059:7;5055:23;5051:32;5048:119;;;5086:79;;:::i;:::-;5048:119;5206:1;5231:53;5276:7;5267:6;5256:9;5252:22;5231:53;:::i;:::-;5221:63;;5177:117;5333:2;5359:53;5404:7;5395:6;5384:9;5380:22;5359:53;:::i;:::-;5349:63;;5304:118;5461:2;5487:53;5532:7;5523:6;5512:9;5508:22;5487:53;:::i;:::-;5477:63;;5432:118;4938:619;;;;;:::o;5563:77::-;5600:7;5629:5;5618:16;;5563:77;;;:::o;5646:122::-;5719:24;5737:5;5719:24;:::i;:::-;5712:5;5709:35;5699:63;;5758:1;5755;5748:12;5699:63;5646:122;:::o;5774:139::-;5820:5;5858:6;5845:20;5836:29;;5874:33;5901:5;5874:33;:::i;:::-;5774:139;;;;:::o;5919:329::-;5978:6;6027:2;6015:9;6006:7;6002:23;5998:32;5995:119;;;6033:79;;:::i;:::-;5995:119;6153:1;6178:53;6223:7;6214:6;6203:9;6199:22;6178:53;:::i;:::-;6168:63;;6124:117;5919:329;;;;:::o;6254:118::-;6341:24;6359:5;6341:24;:::i;:::-;6336:3;6329:37;6254:118;;:::o;6378:222::-;6471:4;6509:2;6498:9;6494:18;6486:26;;6522:71;6590:1;6579:9;6575:17;6566:6;6522:71;:::i;:::-;6378:222;;;;:::o;6606:474::-;6674:6;6682;6731:2;6719:9;6710:7;6706:23;6702:32;6699:119;;;6737:79;;:::i;:::-;6699:119;6857:1;6882:53;6927:7;6918:6;6907:9;6903:22;6882:53;:::i;:::-;6872:63;;6828:117;6984:2;7010:53;7055:7;7046:6;7035:9;7031:22;7010:53;:::i;:::-;7000:63;;6955:118;6606:474;;;;;:::o;7086:86::-;7121:7;7161:4;7154:5;7150:16;7139:27;;7086:86;;;:::o;7178:112::-;7261:22;7277:5;7261:22;:::i;:::-;7256:3;7249:35;7178:112;;:::o;7296:214::-;7385:4;7423:2;7412:9;7408:18;7400:26;;7436:67;7500:1;7489:9;7485:17;7476:6;7436:67;:::i;:::-;7296:214;;;;:::o;7516:329::-;7575:6;7624:2;7612:9;7603:7;7599:23;7595:32;7592:119;;;7630:79;;:::i;:::-;7592:119;7750:1;7775:53;7820:7;7811:6;7800:9;7796:22;7775:53;:::i;:::-;7765:63;;7721:117;7516:329;;;;:::o;7851:474::-;7919:6;7927;7976:2;7964:9;7955:7;7951:23;7947:32;7944:119;;;7982:79;;:::i;:::-;7944:119;8102:1;8127:53;8172:7;8163:6;8152:9;8148:22;8127:53;:::i;:::-;8117:63;;8073:117;8229:2;8255:53;8300:7;8291:6;8280:9;8276:22;8255:53;:::i;:::-;8245:63;;8200:118;7851:474;;;;;:::o;8331:180::-;8379:77;8376:1;8369:88;8476:4;8473:1;8466:15;8500:4;8497:1;8490:15;8517:320;8561:6;8598:1;8592:4;8588:12;8578:22;;8645:1;8639:4;8635:12;8666:18;8656:81;;8722:4;8714:6;8710:17;8700:27;;8656:81;8784:2;8776:6;8773:14;8753:18;8750:38;8747:84;;;8803:18;;:::i;:::-;8747:84;8568:269;8517:320;;;:::o;8843:234::-;8983:34;8979:1;8971:6;8967:14;8960:58;9052:17;9047:2;9039:6;9035:15;9028:42;8843:234;:::o;9083:366::-;9225:3;9246:67;9310:2;9305:3;9246:67;:::i;:::-;9239:74;;9322:93;9411:3;9322:93;:::i;:::-;9440:2;9435:3;9431:12;9424:19;;9083:366;;;:::o;9455:419::-;9621:4;9659:2;9648:9;9644:18;9636:26;;9708:9;9702:4;9698:20;9694:1;9683:9;9679:17;9672:47;9736:131;9862:4;9736:131;:::i;:::-;9728:139;;9455:419;;;:::o;9880:180::-;9928:77;9925:1;9918:88;10025:4;10022:1;10015:15;10049:4;10046:1;10039:15;10066:305;10106:3;10125:20;10143:1;10125:20;:::i;:::-;10120:25;;10159:20;10177:1;10159:20;:::i;:::-;10154:25;;10313:1;10245:66;10241:74;10238:1;10235:81;10232:107;;;10319:18;;:::i;:::-;10232:107;10363:1;10360;10356:9;10349:16;;10066:305;;;;:::o;10377:224::-;10517:34;10513:1;10505:6;10501:14;10494:58;10586:7;10581:2;10573:6;10569:15;10562:32;10377:224;:::o;10607:366::-;10749:3;10770:67;10834:2;10829:3;10770:67;:::i;:::-;10763:74;;10846:93;10935:3;10846:93;:::i;:::-;10964:2;10959:3;10955:12;10948:19;;10607:366;;;:::o;10979:419::-;11145:4;11183:2;11172:9;11168:18;11160:26;;11232:9;11226:4;11222:20;11218:1;11207:9;11203:17;11196:47;11260:131;11386:4;11260:131;:::i;:::-;11252:139;;10979:419;;;:::o;11404:223::-;11544:34;11540:1;11532:6;11528:14;11521:58;11613:6;11608:2;11600:6;11596:15;11589:31;11404:223;:::o;11633:366::-;11775:3;11796:67;11860:2;11855:3;11796:67;:::i;:::-;11789:74;;11872:93;11961:3;11872:93;:::i;:::-;11990:2;11985:3;11981:12;11974:19;;11633:366;;;:::o;12005:419::-;12171:4;12209:2;12198:9;12194:18;12186:26;;12258:9;12252:4;12248:20;12244:1;12233:9;12229:17;12222:47;12286:131;12412:4;12286:131;:::i;:::-;12278:139;;12005:419;;;:::o;12430:221::-;12570:34;12566:1;12558:6;12554:14;12547:58;12639:4;12634:2;12626:6;12622:15;12615:29;12430:221;:::o;12657:366::-;12799:3;12820:67;12884:2;12879:3;12820:67;:::i;:::-;12813:74;;12896:93;12985:3;12896:93;:::i;:::-;13014:2;13009:3;13005:12;12998:19;;12657:366;;;:::o;13029:419::-;13195:4;13233:2;13222:9;13218:18;13210:26;;13282:9;13276:4;13272:20;13268:1;13257:9;13253:17;13246:47;13310:131;13436:4;13310:131;:::i;:::-;13302:139;;13029:419;;;:::o;13454:179::-;13594:31;13590:1;13582:6;13578:14;13571:55;13454:179;:::o;13639:366::-;13781:3;13802:67;13866:2;13861:3;13802:67;:::i;:::-;13795:74;;13878:93;13967:3;13878:93;:::i;:::-;13996:2;13991:3;13987:12;13980:19;;13639:366;;;:::o;14011:419::-;14177:4;14215:2;14204:9;14200:18;14192:26;;14264:9;14258:4;14254:20;14250:1;14239:9;14235:17;14228:47;14292:131;14418:4;14292:131;:::i;:::-;14284:139;;14011:419;;;:::o;14436:224::-;14576:34;14572:1;14564:6;14560:14;14553:58;14645:7;14640:2;14632:6;14628:15;14621:32;14436:224;:::o;14666:366::-;14808:3;14829:67;14893:2;14888:3;14829:67;:::i;:::-;14822:74;;14905:93;14994:3;14905:93;:::i;:::-;15023:2;15018:3;15014:12;15007:19;;14666:366;;;:::o;15038:419::-;15204:4;15242:2;15231:9;15227:18;15219:26;;15291:9;15285:4;15281:20;15277:1;15266:9;15262:17;15255:47;15319:131;15445:4;15319:131;:::i;:::-;15311:139;;15038:419;;;:::o;15463:222::-;15603:34;15599:1;15591:6;15587:14;15580:58;15672:5;15667:2;15659:6;15655:15;15648:30;15463:222;:::o;15691:366::-;15833:3;15854:67;15918:2;15913:3;15854:67;:::i;:::-;15847:74;;15930:93;16019:3;15930:93;:::i;:::-;16048:2;16043:3;16039:12;16032:19;;15691:366;;;:::o;16063:419::-;16229:4;16267:2;16256:9;16252:18;16244:26;;16316:9;16310:4;16306:20;16302:1;16291:9;16287:17;16280:47;16344:131;16470:4;16344:131;:::i;:::-;16336:139;;16063:419;;;:::o;16488:225::-;16628:34;16624:1;16616:6;16612:14;16605:58;16697:8;16692:2;16684:6;16680:15;16673:33;16488:225;:::o;16719:366::-;16861:3;16882:67;16946:2;16941:3;16882:67;:::i;:::-;16875:74;;16958:93;17047:3;16958:93;:::i;:::-;17076:2;17071:3;17067:12;17060:19;;16719:366;;;:::o;17091:419::-;17257:4;17295:2;17284:9;17280:18;17272:26;;17344:9;17338:4;17334:20;17330:1;17319:9;17315:17;17308:47;17372:131;17498:4;17372:131;:::i;:::-;17364:139;;17091:419;;;:::o;17516:148::-;17618:11;17655:3;17640:18;;17516:148;;;;:::o;17670:173::-;17810:25;17806:1;17798:6;17794:14;17787:49;17670:173;:::o;17849:402::-;18009:3;18030:85;18112:2;18107:3;18030:85;:::i;:::-;18023:92;;18124:93;18213:3;18124:93;:::i;:::-;18242:2;18237:3;18233:12;18226:19;;17849:402;;;:::o;18257:377::-;18363:3;18391:39;18424:5;18391:39;:::i;:::-;18446:89;18528:6;18523:3;18446:89;:::i;:::-;18439:96;;18544:52;18589:6;18584:3;18577:4;18570:5;18566:16;18544:52;:::i;:::-;18621:6;18616:3;18612:16;18605:23;;18367:267;18257:377;;;;:::o;18640:167::-;18780:19;18776:1;18768:6;18764:14;18757:43;18640:167;:::o;18813:402::-;18973:3;18994:85;19076:2;19071:3;18994:85;:::i;:::-;18987:92;;19088:93;19177:3;19088:93;:::i;:::-;19206:2;19201:3;19197:12;19190:19;;18813:402;;;:::o;19221:967::-;19603:3;19625:148;19769:3;19625:148;:::i;:::-;19618:155;;19790:95;19881:3;19872:6;19790:95;:::i;:::-;19783:102;;19902:148;20046:3;19902:148;:::i;:::-;19895:155;;20067:95;20158:3;20149:6;20067:95;:::i;:::-;20060:102;;20179:3;20172:10;;19221:967;;;;;:::o;20194:170::-;20334:22;20330:1;20322:6;20318:14;20311:46;20194:170;:::o;20370:366::-;20512:3;20533:67;20597:2;20592:3;20533:67;:::i;:::-;20526:74;;20609:93;20698:3;20609:93;:::i;:::-;20727:2;20722:3;20718:12;20711:19;;20370:366;;;:::o;20742:419::-;20908:4;20946:2;20935:9;20931:18;20923:26;;20995:9;20989:4;20985:20;20981:1;20970:9;20966:17;20959:47;21023:131;21149:4;21023:131;:::i;:::-;21015:139;;20742:419;;;:::o;21167:118::-;21254:24;21272:5;21254:24;:::i;:::-;21249:3;21242:37;21167:118;;:::o;21291:222::-;21384:4;21422:2;21411:9;21407:18;21399:26;;21435:71;21503:1;21492:9;21488:17;21479:6;21435:71;:::i;:::-;21291:222;;;;:::o;21519:181::-;21659:33;21655:1;21647:6;21643:14;21636:57;21519:181;:::o;21706:366::-;21848:3;21869:67;21933:2;21928:3;21869:67;:::i;:::-;21862:74;;21945:93;22034:3;21945:93;:::i;:::-;22063:2;22058:3;22054:12;22047:19;;21706:366;;;:::o;22078:419::-;22244:4;22282:2;22271:9;22267:18;22259:26;;22331:9;22325:4;22321:20;22317:1;22306:9;22302:17;22295:47;22359:131;22485:4;22359:131;:::i;:::-;22351:139;;22078:419;;;:::o;22503:220::-;22643:34;22639:1;22631:6;22627:14;22620:58;22712:3;22707:2;22699:6;22695:15;22688:28;22503:220;:::o;22729:366::-;22871:3;22892:67;22956:2;22951:3;22892:67;:::i;:::-;22885:74;;22968:93;23057:3;22968:93;:::i;:::-;23086:2;23081:3;23077:12;23070:19;;22729:366;;;:::o;23101:419::-;23267:4;23305:2;23294:9;23290:18;23282:26;;23354:9;23348:4;23344:20;23340:1;23329:9;23325:17;23318:47;23382:131;23508:4;23382:131;:::i;:::-;23374:139;;23101:419;;;:::o;23526:221::-;23666:34;23662:1;23654:6;23650:14;23643:58;23735:4;23730:2;23722:6;23718:15;23711:29;23526:221;:::o;23753:366::-;23895:3;23916:67;23980:2;23975:3;23916:67;:::i;:::-;23909:74;;23992:93;24081:3;23992:93;:::i;:::-;24110:2;24105:3;24101:12;24094:19;;23753:366;;;:::o;24125:419::-;24291:4;24329:2;24318:9;24314:18;24306:26;;24378:9;24372:4;24368:20;24364:1;24353:9;24349:17;24342:47;24406:131;24532:4;24406:131;:::i;:::-;24398:139;;24125:419;;;:::o;24550:191::-;24590:4;24610:20;24628:1;24610:20;:::i;:::-;24605:25;;24644:20;24662:1;24644:20;:::i;:::-;24639:25;;24683:1;24680;24677:8;24674:34;;;24688:18;;:::i;:::-;24674:34;24733:1;24730;24726:9;24718:17;;24550:191;;;;:::o;24747:166::-;24887:18;24883:1;24875:6;24871:14;24864:42;24747:166;:::o;24919:366::-;25061:3;25082:67;25146:2;25141:3;25082:67;:::i;:::-;25075:74;;25158:93;25247:3;25158:93;:::i;:::-;25276:2;25271:3;25267:12;25260:19;;24919:366;;;:::o;25291:419::-;25457:4;25495:2;25484:9;25480:18;25472:26;;25544:9;25538:4;25534:20;25530:1;25519:9;25515:17;25508:47;25572:131;25698:4;25572:131;:::i;:::-;25564:139;;25291:419;;;:::o;25716:348::-;25756:7;25779:20;25797:1;25779:20;:::i;:::-;25774:25;;25813:20;25831:1;25813:20;:::i;:::-;25808:25;;26001:1;25933:66;25929:74;25926:1;25923:81;25918:1;25911:9;25904:17;25900:105;25897:131;;;26008:18;;:::i;:::-;25897:131;26056:1;26053;26049:9;26038:20;;25716:348;;;;:::o;26070:180::-;26118:77;26115:1;26108:88;26215:4;26212:1;26205:15;26239:4;26236:1;26229:15;26256:180;26304:77;26301:1;26294:88;26401:4;26398:1;26391:15;26425:4;26422:1;26415:15;26442:171;26481:3;26504:24;26522:5;26504:24;:::i;:::-;26495:33;;26550:4;26543:5;26540:15;26537:41;;;26558:18;;:::i;:::-;26537:41;26605:1;26598:5;26594:13;26587:20;;26442:171;;;:::o;26619:182::-;26759:34;26755:1;26747:6;26743:14;26736:58;26619:182;:::o;26807:366::-;26949:3;26970:67;27034:2;27029:3;26970:67;:::i;:::-;26963:74;;27046:93;27135:3;27046:93;:::i;:::-;27164:2;27159:3;27155:12;27148:19;;26807:366;;;:::o;27179:419::-;27345:4;27383:2;27372:9;27368:18;27360:26;;27432:9;27426:4;27422:20;27418:1;27407:9;27403:17;27396:47;27460:131;27586:4;27460:131;:::i;:::-;27452:139;;27179:419;;;:::o", + "source": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.10;\nimport \"@openzeppelin/contracts/token/ERC20/ERC20.sol\";\nimport \"@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol\";\nimport \"@openzeppelin/contracts/security/Pausable.sol\";\nimport \"@openzeppelin/contracts/access/AccessControl.sol\";\n\n/**\n * only for test\n */\ncontract BEUSDT is ERC20, ERC20Burnable, Pausable, AccessControl {\n bytes32 public constant PAUSER_ROLE = keccak256(\"PAUSER_ROLE\");\n bytes32 public constant MINTER_ROLE = keccak256(\"MINTER_ROLE\");\n\n constructor(\n string memory name_,\n string memory symbol_\n ) ERC20(name_, symbol_) {\n _setupRole(DEFAULT_ADMIN_ROLE, msg.sender);\n _setupRole(PAUSER_ROLE, msg.sender);\n _setupRole(MINTER_ROLE, msg.sender);\n }\n\n // constructor() ERC20(\"BE test USDT\", \"USDT\") {}\n\n function pause() external onlyRole(PAUSER_ROLE) {\n _pause();\n }\n\n function unpause() external onlyRole(PAUSER_ROLE) {\n _unpause();\n }\n\n function mint(address to, uint256 amount) external onlyRole(MINTER_ROLE) {\n _mint(to, amount);\n }\n\n function _beforeTokenTransfer(\n address from,\n address to,\n uint256 amount\n ) internal override whenNotPaused {\n super._beforeTokenTransfer(from, to, amount);\n }\n\n function setPauserRole(address to) external {\n grantRole(PAUSER_ROLE, to);\n }\n\n function removePauserRole(address to) external {\n revokeRole(PAUSER_ROLE, to);\n }\n\n function setMintRole(address to) external {\n grantRole(MINTER_ROLE, to);\n }\n\n function removeMintRole(address to) external {\n revokeRole(MINTER_ROLE, to);\n }\n}\n", "sourcePath": "/Users/zhl/Documents/workspace/crypto/becrypto/contracts/tokens/erc20/BEUSTD.sol", "ast": { "absolutePath": "project:/contracts/tokens/erc20/BEUSTD.sol", "exportedSymbols": { + "AccessControl": [ + 308 + ], "BEUSDT": [ - 1031 + 1626 ], "Context": [ - 953 + 1230 + ], + "ERC165": [ + 1457 ], "ERC20": [ - 784 + 1061 ], "ERC20Burnable": [ - 906 + 1183 + ], + "IAccessControl": [ + 381 + ], + "IERC165": [ + 1469 ], "IERC20": [ - 862 + 1139 ], "IERC20Metadata": [ - 931 - ], - "Ownable": [ - 104 + 1208 ], "Pausable": [ - 196 + 473 + ], + "Strings": [ + 1433 ] }, - "id": 1032, + "id": 1627, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { - "id": 955, + "id": 1471, "literals": [ "solidity", "0.8", ".10" ], "nodeType": "PragmaDirective", - "src": "32:23:7" + "src": "32:23:11" }, { "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", "file": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "id": 956, + "id": 1472, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 1032, - "sourceUnit": 785, - "src": "56:55:7", + "scope": 1627, + "sourceUnit": 1062, + "src": "56:55:11", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol", "file": "@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol", - "id": 957, + "id": 1473, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 1032, - "sourceUnit": 907, - "src": "112:74:7", + "scope": 1627, + "sourceUnit": 1184, + "src": "112:74:11", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "@openzeppelin/contracts/security/Pausable.sol", "file": "@openzeppelin/contracts/security/Pausable.sol", - "id": 958, + "id": 1474, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 1032, - "sourceUnit": 197, - "src": "187:55:7", + "scope": 1627, + "sourceUnit": 474, + "src": "187:55:11", "symbolAliases": [], "unitAlias": "" }, { - "absolutePath": "@openzeppelin/contracts/access/Ownable.sol", - "file": "@openzeppelin/contracts/access/Ownable.sol", - "id": 959, + "absolutePath": "@openzeppelin/contracts/access/AccessControl.sol", + "file": "@openzeppelin/contracts/access/AccessControl.sol", + "id": 1475, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 1032, - "sourceUnit": 105, - "src": "243:52:7", + "scope": 1627, + "sourceUnit": 309, + "src": "243:58:11", "symbolAliases": [], "unitAlias": "" }, @@ -10105,181 +14753,641 @@ "baseContracts": [ { "baseName": { - "id": 961, + "id": 1477, "name": "ERC20", "nodeType": "IdentifierPath", - "referencedDeclaration": 784, - "src": "447:5:7" + "referencedDeclaration": 1061, + "src": "347:5:11" }, - "id": 962, + "id": 1478, "nodeType": "InheritanceSpecifier", - "src": "447:5:7" + "src": "347:5:11" }, { "baseName": { - "id": 963, + "id": 1479, "name": "ERC20Burnable", "nodeType": "IdentifierPath", - "referencedDeclaration": 906, - "src": "454:13:7" + "referencedDeclaration": 1183, + "src": "354:13:11" }, - "id": 964, + "id": 1480, "nodeType": "InheritanceSpecifier", - "src": "454:13:7" + "src": "354:13:11" }, { "baseName": { - "id": 965, + "id": 1481, "name": "Pausable", "nodeType": "IdentifierPath", - "referencedDeclaration": 196, - "src": "469:8:7" + "referencedDeclaration": 473, + "src": "369:8:11" }, - "id": 966, + "id": 1482, "nodeType": "InheritanceSpecifier", - "src": "469:8:7" + "src": "369:8:11" }, { "baseName": { - "id": 967, - "name": "Ownable", + "id": 1483, + "name": "AccessControl", "nodeType": "IdentifierPath", - "referencedDeclaration": 104, - "src": "479:7:7" + "referencedDeclaration": 308, + "src": "379:13:11" }, - "id": 968, + "id": 1484, "nodeType": "InheritanceSpecifier", - "src": "479:7:7" + "src": "379:13:11" } ], "canonicalName": "BEUSDT", "contractDependencies": [], "contractKind": "contract", "documentation": { - "id": 960, + "id": 1476, "nodeType": "StructuredDocumentation", - "src": "297:130:7", - "text": " this contract will transfer ownership to BETimelockController after deployed\n all onlyowner method would add timelock" + "src": "303:24:11", + "text": " only for test" }, "fullyImplemented": true, - "id": 1031, + "id": 1626, "linearizedBaseContracts": [ - 1031, - 104, - 196, - 906, - 784, - 931, - 862, - 953 + 1626, + 308, + 1457, + 1469, + 381, + 473, + 1183, + 1061, + 1208, + 1139, + 1230 ], "name": "BEUSDT", - "nameLocation": "437:6:7", + "nameLocation": "337:6:11", "nodeType": "ContractDefinition", "nodes": [ { - "body": { - "id": 975, - "nodeType": "Block", - "src": "535:2:7", - "statements": [] + "constant": true, + "functionSelector": "e63ab1e9", + "id": 1489, + "mutability": "constant", + "name": "PAUSER_ROLE", + "nameLocation": "421:11:11", + "nodeType": "VariableDeclaration", + "scope": 1626, + "src": "397:62:11", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" }, - "id": 976, + "typeName": { + "id": 1485, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "397:7:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "arguments": [ + { + "hexValue": "5041555345525f524f4c45", + "id": 1487, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "445:13:11", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a", + "typeString": "literal_string \"PAUSER_ROLE\"" + }, + "value": "PAUSER_ROLE" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a", + "typeString": "literal_string \"PAUSER_ROLE\"" + } + ], + "id": 1486, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "435:9:11", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 1488, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "435:24:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "public" + }, + { + "constant": true, + "functionSelector": "d5391393", + "id": 1494, + "mutability": "constant", + "name": "MINTER_ROLE", + "nameLocation": "487:11:11", + "nodeType": "VariableDeclaration", + "scope": 1626, + "src": "463:62:11", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1490, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "463:7:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "arguments": [ + { + "hexValue": "4d494e5445525f524f4c45", + "id": 1492, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "511:13:11", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6", + "typeString": "literal_string \"MINTER_ROLE\"" + }, + "value": "MINTER_ROLE" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6", + "typeString": "literal_string \"MINTER_ROLE\"" + } + ], + "id": 1491, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "501:9:11", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 1493, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "501:24:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "public" + }, + { + "body": { + "id": 1523, + "nodeType": "Block", + "src": "620:135:11", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 1506, + "name": "DEFAULT_ADMIN_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27, + "src": "637:18:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "expression": { + "id": 1507, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "657:3:11", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1508, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "657:10:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1505, + "name": "_setupRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 216, + "src": "626:10:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 1509, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "626:42:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1510, + "nodeType": "ExpressionStatement", + "src": "626:42:11" + }, + { + "expression": { + "arguments": [ + { + "id": 1512, + "name": "PAUSER_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1489, + "src": "685:11:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "expression": { + "id": 1513, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "698:3:11", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1514, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "698:10:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1511, + "name": "_setupRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 216, + "src": "674:10:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 1515, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "674:35:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1516, + "nodeType": "ExpressionStatement", + "src": "674:35:11" + }, + { + "expression": { + "arguments": [ + { + "id": 1518, + "name": "MINTER_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1494, + "src": "726:11:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "expression": { + "id": 1519, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "739:3:11", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1520, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "739:10:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1517, + "name": "_setupRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 216, + "src": "715:10:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 1521, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "715:35:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1522, + "nodeType": "ExpressionStatement", + "src": "715:35:11" + } + ] + }, + "id": 1524, "implemented": true, "kind": "constructor", "modifiers": [ { "arguments": [ { - "hexValue": "424520746573742055534454", - "id": 971, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "511:14:7", + "id": 1501, + "name": "name_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1496, + "src": "604:5:11", "typeDescriptions": { - "typeIdentifier": "t_stringliteral_452e75595b059249f7b75adfa783cbeffdc54b91dcfd02fb6b119db8bbe713b7", - "typeString": "literal_string \"BE test USDT\"" - }, - "value": "BE test USDT" + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } }, { - "hexValue": "55534454", - "id": 972, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "527:6:7", + "id": 1502, + "name": "symbol_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1498, + "src": "611:7:11", "typeDescriptions": { - "typeIdentifier": "t_stringliteral_8b1a1d9c2b109e527c9134b25b1a1833b16b6594f92daa9f6d9b7a6024bce9d0", - "typeString": "literal_string \"USDT\"" - }, - "value": "USDT" + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } } ], - "id": 973, + "id": 1503, "kind": "baseConstructorSpecifier", "modifierName": { - "id": 970, + "id": 1500, "name": "ERC20", "nodeType": "IdentifierPath", - "referencedDeclaration": 784, - "src": "505:5:7" + "referencedDeclaration": 1061, + "src": "598:5:11" }, "nodeType": "ModifierInvocation", - "src": "505:29:7" + "src": "598:21:11" } ], "name": "", "nameLocation": "-1:-1:-1", "nodeType": "FunctionDefinition", "parameters": { - "id": 969, + "id": 1499, "nodeType": "ParameterList", - "parameters": [], - "src": "502:2:7" + "parameters": [ + { + "constant": false, + "id": 1496, + "mutability": "mutable", + "name": "name_", + "nameLocation": "561:5:11", + "nodeType": "VariableDeclaration", + "scope": 1524, + "src": "547:19:11", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1495, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "547:6:11", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1498, + "mutability": "mutable", + "name": "symbol_", + "nameLocation": "586:7:11", + "nodeType": "VariableDeclaration", + "scope": 1524, + "src": "572:21:11", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1497, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "572:6:11", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "541:56:11" }, "returnParameters": { - "id": 974, + "id": 1504, "nodeType": "ParameterList", "parameters": [], - "src": "535:0:7" + "src": "620:0:11" }, - "scope": 1031, - "src": "491:46:7", + "scope": 1626, + "src": "530:225:11", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "body": { - "id": 984, + "id": 1533, "nodeType": "Block", - "src": "577:19:7", + "src": "860:19:11", "statements": [ { "expression": { "arguments": [], "expression": { "argumentTypes": [], - "id": 981, + "id": 1530, "name": "_pause", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 179, - "src": "583:6:7", + "referencedDeclaration": 456, + "src": "866:6:11", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", "typeString": "function ()" } }, - "id": 982, + "id": 1531, "isConstant": false, "isLValue": false, "isPure": false, @@ -10287,82 +15395,96 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "583:8:7", + "src": "866:8:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 983, + "id": 1532, "nodeType": "ExpressionStatement", - "src": "583:8:7" + "src": "866:8:11" } ] }, "functionSelector": "8456cb59", - "id": 985, + "id": 1534, "implemented": true, "kind": "function", "modifiers": [ { - "id": 979, + "arguments": [ + { + "id": 1527, + "name": "PAUSER_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1489, + "src": "847:11:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 1528, "kind": "modifierInvocation", "modifierName": { - "id": 978, - "name": "onlyOwner", + "id": 1526, + "name": "onlyRole", "nodeType": "IdentifierPath", - "referencedDeclaration": 46, - "src": "567:9:7" + "referencedDeclaration": 40, + "src": "838:8:11" }, "nodeType": "ModifierInvocation", - "src": "567:9:7" + "src": "838:21:11" } ], "name": "pause", - "nameLocation": "550:5:7", + "nameLocation": "821:5:11", "nodeType": "FunctionDefinition", "parameters": { - "id": 977, + "id": 1525, "nodeType": "ParameterList", "parameters": [], - "src": "555:2:7" + "src": "826:2:11" }, "returnParameters": { - "id": 980, + "id": 1529, "nodeType": "ParameterList", "parameters": [], - "src": "577:0:7" + "src": "860:0:11" }, - "scope": 1031, - "src": "541:55:7", + "scope": 1626, + "src": "812:67:11", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "body": { - "id": 993, + "id": 1543, "nodeType": "Block", - "src": "638:21:7", + "src": "933:21:11", "statements": [ { "expression": { "arguments": [], "expression": { "argumentTypes": [], - "id": 990, + "id": 1540, "name": "_unpause", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 195, - "src": "644:8:7", + "referencedDeclaration": 472, + "src": "939:8:11", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", "typeString": "function ()" } }, - "id": 991, + "id": 1541, "isConstant": false, "isLValue": false, "isPure": false, @@ -10370,87 +15492,101 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "644:10:7", + "src": "939:10:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 992, + "id": 1542, "nodeType": "ExpressionStatement", - "src": "644:10:7" + "src": "939:10:11" } ] }, "functionSelector": "3f4ba83a", - "id": 994, + "id": 1544, "implemented": true, "kind": "function", "modifiers": [ { - "id": 988, + "arguments": [ + { + "id": 1537, + "name": "PAUSER_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1489, + "src": "920:11:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 1538, "kind": "modifierInvocation", "modifierName": { - "id": 987, - "name": "onlyOwner", + "id": 1536, + "name": "onlyRole", "nodeType": "IdentifierPath", - "referencedDeclaration": 46, - "src": "628:9:7" + "referencedDeclaration": 40, + "src": "911:8:11" }, "nodeType": "ModifierInvocation", - "src": "628:9:7" + "src": "911:21:11" } ], "name": "unpause", - "nameLocation": "609:7:7", + "nameLocation": "892:7:11", "nodeType": "FunctionDefinition", "parameters": { - "id": 986, + "id": 1535, "nodeType": "ParameterList", "parameters": [], - "src": "616:2:7" + "src": "899:2:11" }, "returnParameters": { - "id": 989, + "id": 1539, "nodeType": "ParameterList", "parameters": [], - "src": "638:0:7" + "src": "933:0:11" }, - "scope": 1031, - "src": "600:59:7", + "scope": 1626, + "src": "883:71:11", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "body": { - "id": 1008, + "id": 1559, "nodeType": "Block", - "src": "724:28:7", + "src": "1031:28:11", "statements": [ { "expression": { "arguments": [ { - "id": 1004, + "id": 1555, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 996, - "src": "736:2:7", + "referencedDeclaration": 1546, + "src": "1043:2:11", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 1005, + "id": 1556, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 998, - "src": "740:6:7", + "referencedDeclaration": 1548, + "src": "1047:6:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10468,18 +15604,18 @@ "typeString": "uint256" } ], - "id": 1003, + "id": 1554, "name": "_mint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 601, - "src": "730:5:7", + "referencedDeclaration": 878, + "src": "1037:5:11", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 1006, + "id": 1557, "isConstant": false, "isLValue": false, "isPure": false, @@ -10487,54 +15623,68 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "730:17:7", + "src": "1037:17:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1007, + "id": 1558, "nodeType": "ExpressionStatement", - "src": "730:17:7" + "src": "1037:17:11" } ] }, "functionSelector": "40c10f19", - "id": 1009, + "id": 1560, "implemented": true, "kind": "function", "modifiers": [ { - "id": 1001, + "arguments": [ + { + "id": 1551, + "name": "MINTER_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1494, + "src": "1018:11:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 1552, "kind": "modifierInvocation", "modifierName": { - "id": 1000, - "name": "onlyOwner", + "id": 1550, + "name": "onlyRole", "nodeType": "IdentifierPath", - "referencedDeclaration": 46, - "src": "714:9:7" + "referencedDeclaration": 40, + "src": "1009:8:11" }, "nodeType": "ModifierInvocation", - "src": "714:9:7" + "src": "1009:21:11" } ], "name": "mint", - "nameLocation": "672:4:7", + "nameLocation": "967:4:11", "nodeType": "FunctionDefinition", "parameters": { - "id": 999, + "id": 1549, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 996, + "id": 1546, "mutability": "mutable", "name": "to", - "nameLocation": "685:2:7", + "nameLocation": "980:2:11", "nodeType": "VariableDeclaration", - "scope": 1009, - "src": "677:10:7", + "scope": 1560, + "src": "972:10:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10542,10 +15692,10 @@ "typeString": "address" }, "typeName": { - "id": 995, + "id": 1545, "name": "address", "nodeType": "ElementaryTypeName", - "src": "677:7:7", + "src": "972:7:11", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -10556,13 +15706,13 @@ }, { "constant": false, - "id": 998, + "id": 1548, "mutability": "mutable", "name": "amount", - "nameLocation": "697:6:7", + "nameLocation": "992:6:11", "nodeType": "VariableDeclaration", - "scope": 1009, - "src": "689:14:7", + "scope": 1560, + "src": "984:14:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10570,10 +15720,10 @@ "typeString": "uint256" }, "typeName": { - "id": 997, + "id": 1547, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "689:7:7", + "src": "984:7:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10582,63 +15732,63 @@ "visibility": "internal" } ], - "src": "676:28:7" + "src": "971:28:11" }, "returnParameters": { - "id": 1002, + "id": 1553, "nodeType": "ParameterList", "parameters": [], - "src": "724:0:7" + "src": "1031:0:11" }, - "scope": 1031, - "src": "663:89:7", + "scope": 1626, + "src": "958:101:11", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "baseFunctions": [ - 772 + 1049 ], "body": { - "id": 1029, + "id": 1580, "nodeType": "Block", - "src": "876:55:7", + "src": "1183:55:11", "statements": [ { "expression": { "arguments": [ { - "id": 1024, + "id": 1575, "name": "from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1011, - "src": "909:4:7", + "referencedDeclaration": 1562, + "src": "1216:4:11", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 1025, + "id": 1576, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1013, - "src": "915:2:7", + "referencedDeclaration": 1564, + "src": "1222:2:11", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 1026, + "id": 1577, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1015, - "src": "919:6:7", + "referencedDeclaration": 1566, + "src": "1226:6:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10661,32 +15811,32 @@ } ], "expression": { - "id": 1021, + "id": 1572, "name": "super", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967271, - "src": "882:5:7", + "src": "1189:5:11", "typeDescriptions": { - "typeIdentifier": "t_type$_t_super$_BEUSDT_$1031_$", + "typeIdentifier": "t_type$_t_super$_BEUSDT_$1626_$", "typeString": "type(contract super BEUSDT)" } }, - "id": 1023, + "id": 1574, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "_beforeTokenTransfer", "nodeType": "MemberAccess", - "referencedDeclaration": 772, - "src": "882:26:7", + "referencedDeclaration": 1049, + "src": "1189:26:11", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 1027, + "id": 1578, "isConstant": false, "isLValue": false, "isPure": false, @@ -10694,59 +15844,59 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "882:44:7", + "src": "1189:44:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1028, + "id": 1579, "nodeType": "ExpressionStatement", - "src": "882:44:7" + "src": "1189:44:11" } ] }, - "id": 1030, + "id": 1581, "implemented": true, "kind": "function", "modifiers": [ { - "id": 1019, + "id": 1570, "kind": "modifierInvocation", "modifierName": { - "id": 1018, + "id": 1569, "name": "whenNotPaused", "nodeType": "IdentifierPath", - "referencedDeclaration": 152, - "src": "862:13:7" + "referencedDeclaration": 429, + "src": "1169:13:11" }, "nodeType": "ModifierInvocation", - "src": "862:13:7" + "src": "1169:13:11" } ], "name": "_beforeTokenTransfer", - "nameLocation": "765:20:7", + "nameLocation": "1072:20:11", "nodeType": "FunctionDefinition", "overrides": { - "id": 1017, + "id": 1568, "nodeType": "OverrideSpecifier", "overrides": [], - "src": "853:8:7" + "src": "1160:8:11" }, "parameters": { - "id": 1016, + "id": 1567, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1011, + "id": 1562, "mutability": "mutable", "name": "from", - "nameLocation": "799:4:7", + "nameLocation": "1106:4:11", "nodeType": "VariableDeclaration", - "scope": 1030, - "src": "791:12:7", + "scope": 1581, + "src": "1098:12:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10754,10 +15904,10 @@ "typeString": "address" }, "typeName": { - "id": 1010, + "id": 1561, "name": "address", "nodeType": "ElementaryTypeName", - "src": "791:7:7", + "src": "1098:7:11", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -10768,13 +15918,13 @@ }, { "constant": false, - "id": 1013, + "id": 1564, "mutability": "mutable", "name": "to", - "nameLocation": "817:2:7", + "nameLocation": "1124:2:11", "nodeType": "VariableDeclaration", - "scope": 1030, - "src": "809:10:7", + "scope": 1581, + "src": "1116:10:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10782,10 +15932,10 @@ "typeString": "address" }, "typeName": { - "id": 1012, + "id": 1563, "name": "address", "nodeType": "ElementaryTypeName", - "src": "809:7:7", + "src": "1116:7:11", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -10796,13 +15946,13 @@ }, { "constant": false, - "id": 1015, + "id": 1566, "mutability": "mutable", "name": "amount", - "nameLocation": "833:6:7", + "nameLocation": "1140:6:11", "nodeType": "VariableDeclaration", - "scope": 1030, - "src": "825:14:7", + "scope": 1581, + "src": "1132:14:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10810,10 +15960,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1014, + "id": 1565, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "825:7:7", + "src": "1132:7:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10822,27 +15972,555 @@ "visibility": "internal" } ], - "src": "785:58:7" + "src": "1092:58:11" }, "returnParameters": { - "id": 1020, + "id": 1571, "nodeType": "ParameterList", "parameters": [], - "src": "876:0:7" + "src": "1183:0:11" }, - "scope": 1031, - "src": "756:175:7", + "scope": 1626, + "src": "1063:175:11", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" + }, + { + "body": { + "id": 1591, + "nodeType": "Block", + "src": "1286:37:11", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 1587, + "name": "PAUSER_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1489, + "src": "1302:11:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 1588, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1583, + "src": "1315:2:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1586, + "name": "grantRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 159, + "src": "1292:9:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 1589, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1292:26:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1590, + "nodeType": "ExpressionStatement", + "src": "1292:26:11" + } + ] + }, + "functionSelector": "1bc28a69", + "id": 1592, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "setPauserRole", + "nameLocation": "1251:13:11", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1584, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1583, + "mutability": "mutable", + "name": "to", + "nameLocation": "1273:2:11", + "nodeType": "VariableDeclaration", + "scope": 1592, + "src": "1265:10:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1582, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1265:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1264:12:11" + }, + "returnParameters": { + "id": 1585, + "nodeType": "ParameterList", + "parameters": [], + "src": "1286:0:11" + }, + "scope": 1626, + "src": "1242:81:11", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 1602, + "nodeType": "Block", + "src": "1374:38:11", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 1598, + "name": "PAUSER_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1489, + "src": "1391:11:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 1599, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1594, + "src": "1404:2:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1597, + "name": "revokeRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 179, + "src": "1380:10:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 1600, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1380:27:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1601, + "nodeType": "ExpressionStatement", + "src": "1380:27:11" + } + ] + }, + "functionSelector": "15bd2794", + "id": 1603, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "removePauserRole", + "nameLocation": "1336:16:11", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1595, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1594, + "mutability": "mutable", + "name": "to", + "nameLocation": "1361:2:11", + "nodeType": "VariableDeclaration", + "scope": 1603, + "src": "1353:10:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1593, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1353:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1352:12:11" + }, + "returnParameters": { + "id": 1596, + "nodeType": "ParameterList", + "parameters": [], + "src": "1374:0:11" + }, + "scope": 1626, + "src": "1327:85:11", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 1613, + "nodeType": "Block", + "src": "1458:37:11", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 1609, + "name": "MINTER_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1494, + "src": "1474:11:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 1610, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1605, + "src": "1487:2:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1608, + "name": "grantRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 159, + "src": "1464:9:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 1611, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1464:26:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1612, + "nodeType": "ExpressionStatement", + "src": "1464:26:11" + } + ] + }, + "functionSelector": "530dd079", + "id": 1614, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "setMintRole", + "nameLocation": "1425:11:11", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1606, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1605, + "mutability": "mutable", + "name": "to", + "nameLocation": "1445:2:11", + "nodeType": "VariableDeclaration", + "scope": 1614, + "src": "1437:10:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1604, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1437:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1436:12:11" + }, + "returnParameters": { + "id": 1607, + "nodeType": "ParameterList", + "parameters": [], + "src": "1458:0:11" + }, + "scope": 1626, + "src": "1416:79:11", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 1624, + "nodeType": "Block", + "src": "1544:38:11", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 1620, + "name": "MINTER_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1494, + "src": "1561:11:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 1621, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1616, + "src": "1574:2:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1619, + "name": "revokeRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 179, + "src": "1550:10:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 1622, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1550:27:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1623, + "nodeType": "ExpressionStatement", + "src": "1550:27:11" + } + ] + }, + "functionSelector": "1cf4e3ee", + "id": 1625, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "removeMintRole", + "nameLocation": "1508:14:11", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1617, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1616, + "mutability": "mutable", + "name": "to", + "nameLocation": "1531:2:11", + "nodeType": "VariableDeclaration", + "scope": 1625, + "src": "1523:10:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1615, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1523:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1522:12:11" + }, + "returnParameters": { + "id": 1618, + "nodeType": "ParameterList", + "parameters": [], + "src": "1544:0:11" + }, + "scope": 1626, + "src": "1499:83:11", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" } ], - "scope": 1032, - "src": "428:505:7", + "scope": 1627, + "src": "328:1256:11", "usedErrors": [] } ], - "src": "32:902:7" + "src": "32:1553:11" }, "compiler": { "name": "solc", @@ -10952,14 +16630,166 @@ "transactionHash": "0xa39ae7f02bd06857305971e48c72471c2cf74793ea491abd7492411e1ee9c28d" }, "80001": { - "events": {}, + "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" + }, + "0x62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258": { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "Paused", + "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" + }, + "0x5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa": { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "Unpaused", + "type": "event" + } + }, "links": {}, - "address": "0x514609B71340E149Cb81A80A953D07A7Fe41bd4F", - "transactionHash": "0x459c39bebd20e51ee22040d085e0c00f90844204061ef74e77bd8093be367d13" + "address": "0xebA93a876Bc70DC9718dd778E5c2E2e73c591C75", + "transactionHash": "0xcad8d192f4cda4f2462dff43ddc0f5a846e30f5833d6c00a1e7981852b28984c" } }, "schemaVersion": "3.4.11", - "updatedAt": "2023-01-11T04:29:42.163Z", + "updatedAt": "2023-04-07T10:34:07.941Z", "networkType": "ethereum", "devdoc": { "kind": "dev", @@ -10985,20 +16815,32 @@ "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." - }, "paused()": { "details": "Returns true if the contract is paused, and false otherwise." }, - "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." @@ -11011,9 +16853,6 @@ }, "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 @@ -11021,7 +16860,7 @@ "userdoc": { "kind": "user", "methods": {}, - "notice": "this contract will transfer ownership to BETimelockController after deployed all onlyowner method would add timelock", + "notice": "only for test", "version": 1 } } \ No newline at end of file diff --git a/src/chain/BlockChain.ts b/src/chain/BlockChain.ts index d5253a2..600b53a 100644 --- a/src/chain/BlockChain.ts +++ b/src/chain/BlockChain.ts @@ -73,6 +73,7 @@ export class BlockChain { abi = await this.erc20Reactor.mint(reqData) break case TaskType.MINT_NFT: + reqData.tokenId = reqData.tokenId || reqData.amount abi = await this.erc721Reactor.mint(reqData) break case TaskType.TRANSFER_FT: diff --git a/src/controllers/workflow.controller.ts b/src/controllers/workflow.controller.ts index a4e2aaf..e1fc16b 100644 --- a/src/controllers/workflow.controller.ts +++ b/src/controllers/workflow.controller.ts @@ -6,6 +6,8 @@ import { excelToJson } from 'utils/excel.util' import { XMLParser } from 'fast-xml-parser' import { TaskQueue } from 'queue/task.queue' import { TaskStatus, WechatWorkService } from 'service/wechatwork.service' +import { RequestTask } from 'models/RequestTask' +import { BlockChain } from 'chain/BlockChain' class WorkFlowController extends BaseController { @role('anon') @@ -52,8 +54,14 @@ class WorkFlowController extends BaseController { // let fileId = 'WWME_g-oYEAAAzSUkPNpznkoGbgD2f1bDCA.xlsx' // await new WechatWorkService().fetchFile(fileId) // console.log('11') - let spNo = '202304070010' - new TaskQueue().addTaskToQueue(spNo) + // let spNo = '202304070010' + // new TaskQueue().addTaskToQueue(spNo) + let { id } = req.params + let record = await RequestTask.findById(id) + if (record) { + let res = await new BlockChain().walletReactor.executeSchedule(record) + return res + } return {} } }