From 9c7d0af9c1e9ee3bf59ecc0d022e545e9306ae29 Mon Sep 17 00:00:00 2001 From: zhl Date: Fri, 7 Apr 2023 17:26:27 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E4=B8=80=E4=BA=9B=E6=B5=81?= =?UTF-8?q?=E7=A8=8B=E4=B8=8A=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/abis/ERC20.json | 22528 +++++------------------ src/chain/BlockChain.ts | 5 +- src/chain/WalletReactor.ts | 2 +- src/controllers/workflow.controller.ts | 10 +- src/models/ChainTask.ts | 2 +- src/models/RequestTask.ts | 2 +- src/service/explore.service.ts | 4 +- src/utils/wallet.util.ts | 3 +- 8 files changed, 4979 insertions(+), 17577 deletions(-) diff --git a/src/abis/ERC20.json b/src/abis/ERC20.json index b80d2d8..8cfde37 100644 --- a/src/abis/ERC20.json +++ b/src/abis/ERC20.json @@ -1,19 +1,8 @@ { - "contractName": "ERC20", + "contractName": "BEUSDT", "abi": [ { - "inputs": [ - { - "internalType": "string", - "name": "name_", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol_", - "type": "string" - } - ], + "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, @@ -42,6 +31,38 @@ "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": [ @@ -68,99 +89,17 @@ "type": "event" }, { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { + "anonymous": false, "inputs": [ { + "indexed": false, "internalType": "address", "name": "account", "type": "address" } ], - "name": "balanceOf", - "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" + "name": "Unpaused", + "type": "event" }, { "inputs": [ @@ -184,7 +123,8 @@ } ], "stateMutability": "view", - "type": "function" + "type": "function", + "constant": true }, { "inputs": [ @@ -210,6 +150,220 @@ "stateMutability": "nonpayable", "type": "function" }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "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", + "constant": true + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "subtractedValue", + "type": "uint256" + } + ], + "name": "decreaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256" + } + ], + "name": "increaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [], + "name": "paused", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "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": [ { @@ -243,23 +397,26 @@ "inputs": [ { "internalType": "address", - "name": "spender", + "name": "newOwner", "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" } ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "pause", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "unpause", + "outputs": [], "stateMutability": "nonpayable", "type": "function" }, @@ -267,89 +424,35 @@ "inputs": [ { "internalType": "address", - "name": "spender", + "name": "to", "type": "address" }, { "internalType": "uint256", - "name": "subtractedValue", + "name": "amount", "type": "uint256" } ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], + "name": "mint", + "outputs": [], "stateMutability": "nonpayable", "type": "function" } ], - "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\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Implementation of the {IERC20} interface. This implementation is agnostic to the way tokens are created. This means that a supply mechanism has to be added in a derived contract using {_mint}. For a generic mechanism see {ERC20PresetMinterPauser}. TIP: For a detailed writeup see our guide https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How to implement supply mechanisms]. We have followed general OpenZeppelin Contracts guidelines: functions revert instead returning `false` on failure. This behavior is nonetheless conventional and does not conflict with the expectations of ERC20 applications. Additionally, an {Approval} event is emitted on calls to {transferFrom}. This allows applications to reconstruct the allowance for all accounts just by listening to said events. Other implementations of the EIP may not emit these events, as it isn't required by the specification. Finally, the non-standard {decreaseAllowance} and {increaseAllowance} functions have been added to mitigate the well-known issues around setting allowances. See {IERC20-approve}.\",\"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}.\"},\"constructor\":{\"details\":\"Sets the values for {name} and {symbol}. The default value of {decimals} is 18. To select a different value for {decimals} you should overload it. All two of these values are immutable: they can only be set once during construction.\"},\"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.\"},\"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\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC20/ERC20.sol\":\"ERC20\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xdadd41acb749920eccf40aeaa8d291adf9751399a7343561bad13e7a8d99be0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://12af4ac016f9fdf3be5d15824f4292272aa11f6b2e0192a0f7320f5ad49bbbf0\",\"dweb:/ipfs/QmRXMpdqCgA3TYuYxBodqs5p9jGbnMW6xa2gvjppvq4TWk\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xbbc8ac883ac3c0078ce5ad3e288fbb3ffcc8a30c3a98c0fda0114d64fc44fca2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87a7a5d2f6f63f84598af02b8c50ca2df2631cb8ba2453e8d95fcb17e4be9824\",\"dweb:/ipfs/QmR76hqtAcRqoFj33tmNjcWTLrgNsAaakYwnKZ8zoJtKei\"]},\"@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]}},\"version\":1}", - "bytecode": "0x60806040523480156200001157600080fd5b5060405162001706380380620017068339818101604052810190620000379190620002be565b81600390805190602001906200004f92919062000071565b5080600490805190602001906200006892919062000071565b505050620003a8565b8280546200007f9062000372565b90600052602060002090601f016020900481019282620000a35760008555620000ef565b82601f10620000be57805160ff1916838001178555620000ef565b82800160010185558215620000ef579182015b82811115620000ee578251825591602001919060010190620000d1565b5b509050620000fe919062000102565b5090565b5b808211156200011d57600081600090555060010162000103565b5090565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6200018a826200013f565b810181811067ffffffffffffffff82111715620001ac57620001ab62000150565b5b80604052505050565b6000620001c162000121565b9050620001cf82826200017f565b919050565b600067ffffffffffffffff821115620001f257620001f162000150565b5b620001fd826200013f565b9050602081019050919050565b60005b838110156200022a5780820151818401526020810190506200020d565b838111156200023a576000848401525b50505050565b6000620002576200025184620001d4565b620001b5565b9050828152602081018484840111156200027657620002756200013a565b5b620002838482856200020a565b509392505050565b600082601f830112620002a357620002a262000135565b5b8151620002b584826020860162000240565b91505092915050565b60008060408385031215620002d857620002d76200012b565b5b600083015167ffffffffffffffff811115620002f957620002f862000130565b5b62000307858286016200028b565b925050602083015167ffffffffffffffff8111156200032b576200032a62000130565b5b62000339858286016200028b565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200038b57607f821691505b60208210811415620003a257620003a162000343565b5b50919050565b61134e80620003b86000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80633950935111610071578063395093511461016857806370a082311461019857806395d89b41146101c8578063a457c2d7146101e6578063a9059cbb14610216578063dd62ed3e14610246576100a9565b806306fdde03146100ae578063095ea7b3146100cc57806318160ddd146100fc57806323b872dd1461011a578063313ce5671461014a575b600080fd5b6100b6610276565b6040516100c39190610c08565b60405180910390f35b6100e660048036038101906100e19190610cc3565b610308565b6040516100f39190610d1e565b60405180910390f35b61010461032b565b6040516101119190610d48565b60405180910390f35b610134600480360381019061012f9190610d63565b610335565b6040516101419190610d1e565b60405180910390f35b610152610364565b60405161015f9190610dd2565b60405180910390f35b610182600480360381019061017d9190610cc3565b61036d565b60405161018f9190610d1e565b60405180910390f35b6101b260048036038101906101ad9190610ded565b610417565b6040516101bf9190610d48565b60405180910390f35b6101d061045f565b6040516101dd9190610c08565b60405180910390f35b61020060048036038101906101fb9190610cc3565b6104f1565b60405161020d9190610d1e565b60405180910390f35b610230600480360381019061022b9190610cc3565b6105db565b60405161023d9190610d1e565b60405180910390f35b610260600480360381019061025b9190610e1a565b6105fe565b60405161026d9190610d48565b60405180910390f35b60606003805461028590610e89565b80601f01602080910402602001604051908101604052809291908181526020018280546102b190610e89565b80156102fe5780601f106102d3576101008083540402835291602001916102fe565b820191906000526020600020905b8154815290600101906020018083116102e157829003601f168201915b5050505050905090565b600080610313610685565b905061032081858561068d565b600191505092915050565b6000600254905090565b600080610340610685565b905061034d858285610858565b6103588585856108e4565b60019150509392505050565b60006012905090565b600080610378610685565b905061040c818585600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546104079190610eea565b61068d565b600191505092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60606004805461046e90610e89565b80601f016020809104026020016040519081016040528092919081815260200182805461049a90610e89565b80156104e75780601f106104bc576101008083540402835291602001916104e7565b820191906000526020600020905b8154815290600101906020018083116104ca57829003601f168201915b5050505050905090565b6000806104fc610685565b90506000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050838110156105c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105b990610fb2565b60405180910390fd5b6105cf828686840361068d565b60019250505092915050565b6000806105e6610685565b90506105f38185856108e4565b600191505092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156106fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106f490611044565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561076d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610764906110d6565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161084b9190610d48565b60405180910390a3505050565b600061086484846105fe565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146108de57818110156108d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c790611142565b60405180910390fd5b6108dd848484840361068d565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610954576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161094b906111d4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156109c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109bb90611266565b60405180910390fd5b6109cf838383610b65565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610a55576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a4c906112f8565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610ae89190610eea565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610b4c9190610d48565b60405180910390a3610b5f848484610b6a565b50505050565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610ba9578082015181840152602081019050610b8e565b83811115610bb8576000848401525b50505050565b6000601f19601f8301169050919050565b6000610bda82610b6f565b610be48185610b7a565b9350610bf4818560208601610b8b565b610bfd81610bbe565b840191505092915050565b60006020820190508181036000830152610c228184610bcf565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610c5a82610c2f565b9050919050565b610c6a81610c4f565b8114610c7557600080fd5b50565b600081359050610c8781610c61565b92915050565b6000819050919050565b610ca081610c8d565b8114610cab57600080fd5b50565b600081359050610cbd81610c97565b92915050565b60008060408385031215610cda57610cd9610c2a565b5b6000610ce885828601610c78565b9250506020610cf985828601610cae565b9150509250929050565b60008115159050919050565b610d1881610d03565b82525050565b6000602082019050610d336000830184610d0f565b92915050565b610d4281610c8d565b82525050565b6000602082019050610d5d6000830184610d39565b92915050565b600080600060608486031215610d7c57610d7b610c2a565b5b6000610d8a86828701610c78565b9350506020610d9b86828701610c78565b9250506040610dac86828701610cae565b9150509250925092565b600060ff82169050919050565b610dcc81610db6565b82525050565b6000602082019050610de76000830184610dc3565b92915050565b600060208284031215610e0357610e02610c2a565b5b6000610e1184828501610c78565b91505092915050565b60008060408385031215610e3157610e30610c2a565b5b6000610e3f85828601610c78565b9250506020610e5085828601610c78565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680610ea157607f821691505b60208210811415610eb557610eb4610e5a565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610ef582610c8d565b9150610f0083610c8d565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115610f3557610f34610ebb565b5b828201905092915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000610f9c602583610b7a565b9150610fa782610f40565b604082019050919050565b60006020820190508181036000830152610fcb81610f8f565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061102e602483610b7a565b915061103982610fd2565b604082019050919050565b6000602082019050818103600083015261105d81611021565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006110c0602283610b7a565b91506110cb82611064565b604082019050919050565b600060208201905081810360008301526110ef816110b3565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b600061112c601d83610b7a565b9150611137826110f6565b602082019050919050565b6000602082019050818103600083015261115b8161111f565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006111be602583610b7a565b91506111c982611162565b604082019050919050565b600060208201905081810360008301526111ed816111b1565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000611250602383610b7a565b915061125b826111f4565b604082019050919050565b6000602082019050818103600083015261127f81611243565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006112e2602683610b7a565b91506112ed82611286565b604082019050919050565b60006020820190508181036000830152611311816112d5565b905091905056fea2646970667358221220bf1f0e3631b32dbed368ed84b47e55ca4351248187d1a14d315a74af008ad8ad64736f6c634300080a0033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100a95760003560e01c80633950935111610071578063395093511461016857806370a082311461019857806395d89b41146101c8578063a457c2d7146101e6578063a9059cbb14610216578063dd62ed3e14610246576100a9565b806306fdde03146100ae578063095ea7b3146100cc57806318160ddd146100fc57806323b872dd1461011a578063313ce5671461014a575b600080fd5b6100b6610276565b6040516100c39190610c08565b60405180910390f35b6100e660048036038101906100e19190610cc3565b610308565b6040516100f39190610d1e565b60405180910390f35b61010461032b565b6040516101119190610d48565b60405180910390f35b610134600480360381019061012f9190610d63565b610335565b6040516101419190610d1e565b60405180910390f35b610152610364565b60405161015f9190610dd2565b60405180910390f35b610182600480360381019061017d9190610cc3565b61036d565b60405161018f9190610d1e565b60405180910390f35b6101b260048036038101906101ad9190610ded565b610417565b6040516101bf9190610d48565b60405180910390f35b6101d061045f565b6040516101dd9190610c08565b60405180910390f35b61020060048036038101906101fb9190610cc3565b6104f1565b60405161020d9190610d1e565b60405180910390f35b610230600480360381019061022b9190610cc3565b6105db565b60405161023d9190610d1e565b60405180910390f35b610260600480360381019061025b9190610e1a565b6105fe565b60405161026d9190610d48565b60405180910390f35b60606003805461028590610e89565b80601f01602080910402602001604051908101604052809291908181526020018280546102b190610e89565b80156102fe5780601f106102d3576101008083540402835291602001916102fe565b820191906000526020600020905b8154815290600101906020018083116102e157829003601f168201915b5050505050905090565b600080610313610685565b905061032081858561068d565b600191505092915050565b6000600254905090565b600080610340610685565b905061034d858285610858565b6103588585856108e4565b60019150509392505050565b60006012905090565b600080610378610685565b905061040c818585600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546104079190610eea565b61068d565b600191505092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60606004805461046e90610e89565b80601f016020809104026020016040519081016040528092919081815260200182805461049a90610e89565b80156104e75780601f106104bc576101008083540402835291602001916104e7565b820191906000526020600020905b8154815290600101906020018083116104ca57829003601f168201915b5050505050905090565b6000806104fc610685565b90506000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050838110156105c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105b990610fb2565b60405180910390fd5b6105cf828686840361068d565b60019250505092915050565b6000806105e6610685565b90506105f38185856108e4565b600191505092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156106fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106f490611044565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561076d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610764906110d6565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161084b9190610d48565b60405180910390a3505050565b600061086484846105fe565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146108de57818110156108d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c790611142565b60405180910390fd5b6108dd848484840361068d565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610954576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161094b906111d4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156109c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109bb90611266565b60405180910390fd5b6109cf838383610b65565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610a55576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a4c906112f8565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610ae89190610eea565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610b4c9190610d48565b60405180910390a3610b5f848484610b6a565b50505050565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610ba9578082015181840152602081019050610b8e565b83811115610bb8576000848401525b50505050565b6000601f19601f8301169050919050565b6000610bda82610b6f565b610be48185610b7a565b9350610bf4818560208601610b8b565b610bfd81610bbe565b840191505092915050565b60006020820190508181036000830152610c228184610bcf565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610c5a82610c2f565b9050919050565b610c6a81610c4f565b8114610c7557600080fd5b50565b600081359050610c8781610c61565b92915050565b6000819050919050565b610ca081610c8d565b8114610cab57600080fd5b50565b600081359050610cbd81610c97565b92915050565b60008060408385031215610cda57610cd9610c2a565b5b6000610ce885828601610c78565b9250506020610cf985828601610cae565b9150509250929050565b60008115159050919050565b610d1881610d03565b82525050565b6000602082019050610d336000830184610d0f565b92915050565b610d4281610c8d565b82525050565b6000602082019050610d5d6000830184610d39565b92915050565b600080600060608486031215610d7c57610d7b610c2a565b5b6000610d8a86828701610c78565b9350506020610d9b86828701610c78565b9250506040610dac86828701610cae565b9150509250925092565b600060ff82169050919050565b610dcc81610db6565b82525050565b6000602082019050610de76000830184610dc3565b92915050565b600060208284031215610e0357610e02610c2a565b5b6000610e1184828501610c78565b91505092915050565b60008060408385031215610e3157610e30610c2a565b5b6000610e3f85828601610c78565b9250506020610e5085828601610c78565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680610ea157607f821691505b60208210811415610eb557610eb4610e5a565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610ef582610c8d565b9150610f0083610c8d565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115610f3557610f34610ebb565b5b828201905092915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000610f9c602583610b7a565b9150610fa782610f40565b604082019050919050565b60006020820190508181036000830152610fcb81610f8f565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061102e602483610b7a565b915061103982610fd2565b604082019050919050565b6000602082019050818103600083015261105d81611021565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006110c0602283610b7a565b91506110cb82611064565b604082019050919050565b600060208201905081810360008301526110ef816110b3565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b600061112c601d83610b7a565b9150611137826110f6565b602082019050919050565b6000602082019050818103600083015261115b8161111f565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006111be602583610b7a565b91506111c982611162565b604082019050919050565b600060208201905081810360008301526111ed816111b1565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000611250602383610b7a565b915061125b826111f4565b604082019050919050565b6000602082019050818103600083015261127f81611243565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006112e2602683610b7a565b91506112ed82611286565b604082019050919050565b60006020820190508181036000830152611311816112d5565b905091905056fea2646970667358221220bf1f0e3631b32dbed368ed84b47e55ca4351248187d1a14d315a74af008ad8ad64736f6c634300080a0033", + "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", "immutableReferences": {}, "generatedSources": [ { "ast": { "nodeType": "YulBlock", - "src": "0:4093:56", + "src": "0:516:8", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "47:35:56", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "57:19:56", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "73:2:56", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "67:5:56" - }, - "nodeType": "YulFunctionCall", - "src": "67:9:56" - }, - "variableNames": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "57:6:56" - } - ] - } - ] - }, - "name": "allocate_unbounded", - "nodeType": "YulFunctionDefinition", - "returnVariables": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "40:6:56", - "type": "" - } - ], - "src": "7:75:56" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "177:28:56", + "src": "35:152:8", "statements": [ { "expression": { @@ -357,264 +460,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "194:1:56", + "src": "52:1:8", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "197:1:56", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "187:6:56" - }, - "nodeType": "YulFunctionCall", - "src": "187:12:56" - }, - "nodeType": "YulExpressionStatement", - "src": "187:12:56" - } - ] - }, - "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", - "nodeType": "YulFunctionDefinition", - "src": "88:117:56" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "300:28:56", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "317:1:56", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "320:1:56", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "310:6:56" - }, - "nodeType": "YulFunctionCall", - "src": "310:12:56" - }, - "nodeType": "YulExpressionStatement", - "src": "310:12:56" - } - ] - }, - "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", - "nodeType": "YulFunctionDefinition", - "src": "211:117:56" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "423:28:56", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "440:1:56", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "443:1:56", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "433:6:56" - }, - "nodeType": "YulFunctionCall", - "src": "433:12:56" - }, - "nodeType": "YulExpressionStatement", - "src": "433:12:56" - } - ] - }, - "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", - "nodeType": "YulFunctionDefinition", - "src": "334:117:56" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "546:28:56", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "563:1:56", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "566:1:56", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "556:6:56" - }, - "nodeType": "YulFunctionCall", - "src": "556:12:56" - }, - "nodeType": "YulExpressionStatement", - "src": "556:12:56" - } - ] - }, - "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", - "nodeType": "YulFunctionDefinition", - "src": "457:117:56" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "628:54:56", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "638:38:56", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "656:5:56" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "663:2:56", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "652:3:56" - }, - "nodeType": "YulFunctionCall", - "src": "652:14:56" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "672:2:56", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "668:3:56" - }, - "nodeType": "YulFunctionCall", - "src": "668:7:56" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "648:3:56" - }, - "nodeType": "YulFunctionCall", - "src": "648:28:56" - }, - "variableNames": [ - { - "name": "result", - "nodeType": "YulIdentifier", - "src": "638:6:56" - } - ] - } - ] - }, - "name": "round_up_to_mul_of_32", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "611:5:56", - "type": "" - } - ], - "returnVariables": [ - { - "name": "result", - "nodeType": "YulTypedName", - "src": "621:6:56", - "type": "" - } - ], - "src": "580:102:56" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "716:152:56", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "733:1:56", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "736:77:56", + "src": "55:77:8", "type": "", "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" } @@ -622,13 +475,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "726:6:56" + "src": "45:6:8" }, "nodeType": "YulFunctionCall", - "src": "726:88:56" + "src": "45:88:8" }, "nodeType": "YulExpressionStatement", - "src": "726:88:56" + "src": "45:88:8" }, { "expression": { @@ -636,1577 +489,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "830:1:56", + "src": "149:1:8", "type": "", "value": "4" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "833:4:56", - "type": "", - "value": "0x41" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "823:6:56" - }, - "nodeType": "YulFunctionCall", - "src": "823:15:56" - }, - "nodeType": "YulExpressionStatement", - "src": "823:15:56" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "854:1:56", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "857:4:56", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "847:6:56" - }, - "nodeType": "YulFunctionCall", - "src": "847:15:56" - }, - "nodeType": "YulExpressionStatement", - "src": "847:15:56" - } - ] - }, - "name": "panic_error_0x41", - "nodeType": "YulFunctionDefinition", - "src": "688:180:56" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "917:238:56", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "927:58:56", - "value": { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "949:6:56" - }, - { - "arguments": [ - { - "name": "size", - "nodeType": "YulIdentifier", - "src": "979:4:56" - } - ], - "functionName": { - "name": "round_up_to_mul_of_32", - "nodeType": "YulIdentifier", - "src": "957:21:56" - }, - "nodeType": "YulFunctionCall", - "src": "957:27:56" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "945:3:56" - }, - "nodeType": "YulFunctionCall", - "src": "945:40:56" - }, - "variables": [ - { - "name": "newFreePtr", - "nodeType": "YulTypedName", - "src": "931:10:56", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1096:22:56", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "1098:16:56" - }, - "nodeType": "YulFunctionCall", - "src": "1098:18:56" - }, - "nodeType": "YulExpressionStatement", - "src": "1098:18:56" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "1039:10:56" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1051:18:56", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "1036:2:56" - }, - "nodeType": "YulFunctionCall", - "src": "1036:34:56" - }, - { - "arguments": [ - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "1075:10:56" - }, - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "1087:6:56" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "1072:2:56" - }, - "nodeType": "YulFunctionCall", - "src": "1072:22:56" - } - ], - "functionName": { - "name": "or", - "nodeType": "YulIdentifier", - "src": "1033:2:56" - }, - "nodeType": "YulFunctionCall", - "src": "1033:62:56" - }, - "nodeType": "YulIf", - "src": "1030:88:56" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1134:2:56", - "type": "", - "value": "64" - }, - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "1138:10:56" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1127:6:56" - }, - "nodeType": "YulFunctionCall", - "src": "1127:22:56" - }, - "nodeType": "YulExpressionStatement", - "src": "1127:22:56" - } - ] - }, - "name": "finalize_allocation", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "903:6:56", - "type": "" - }, - { - "name": "size", - "nodeType": "YulTypedName", - "src": "911:4:56", - "type": "" - } - ], - "src": "874:281:56" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1202:88:56", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1212:30:56", - "value": { - "arguments": [], - "functionName": { - "name": "allocate_unbounded", - "nodeType": "YulIdentifier", - "src": "1222:18:56" - }, - "nodeType": "YulFunctionCall", - "src": "1222:20:56" - }, - "variableNames": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "1212:6:56" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "1271:6:56" - }, - { - "name": "size", - "nodeType": "YulIdentifier", - "src": "1279:4:56" - } - ], - "functionName": { - "name": "finalize_allocation", - "nodeType": "YulIdentifier", - "src": "1251:19:56" - }, - "nodeType": "YulFunctionCall", - "src": "1251:33:56" - }, - "nodeType": "YulExpressionStatement", - "src": "1251:33:56" - } - ] - }, - "name": "allocate_memory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "size", - "nodeType": "YulTypedName", - "src": "1186:4:56", - "type": "" - } - ], - "returnVariables": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "1195:6:56", - "type": "" - } - ], - "src": "1161:129:56" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1363:241:56", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "1468:22:56", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "1470:16:56" - }, - "nodeType": "YulFunctionCall", - "src": "1470:18:56" - }, - "nodeType": "YulExpressionStatement", - "src": "1470:18:56" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1440:6:56" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1448:18:56", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "1437:2:56" - }, - "nodeType": "YulFunctionCall", - "src": "1437:30:56" - }, - "nodeType": "YulIf", - "src": "1434:56:56" - }, - { - "nodeType": "YulAssignment", - "src": "1500:37:56", - "value": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1530:6:56" - } - ], - "functionName": { - "name": "round_up_to_mul_of_32", - "nodeType": "YulIdentifier", - "src": "1508:21:56" - }, - "nodeType": "YulFunctionCall", - "src": "1508:29:56" - }, - "variableNames": [ - { - "name": "size", - "nodeType": "YulIdentifier", - "src": "1500:4:56" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "1574:23:56", - "value": { - "arguments": [ - { - "name": "size", - "nodeType": "YulIdentifier", - "src": "1586:4:56" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1592:4:56", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1582:3:56" - }, - "nodeType": "YulFunctionCall", - "src": "1582:15:56" - }, - "variableNames": [ - { - "name": "size", - "nodeType": "YulIdentifier", - "src": "1574:4:56" - } - ] - } - ] - }, - "name": "array_allocation_size_t_string_memory_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "1347:6:56", - "type": "" - } - ], - "returnVariables": [ - { - "name": "size", - "nodeType": "YulTypedName", - "src": "1358:4:56", - "type": "" - } - ], - "src": "1296:308:56" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1659:258:56", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "1669:10:56", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1678:1:56", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "1673:1:56", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1738:63:56", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "1763:3:56" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "1768:1:56" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1759:3:56" - }, - "nodeType": "YulFunctionCall", - "src": "1759:11:56" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "1782:3:56" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "1787:1:56" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1778:3:56" - }, - "nodeType": "YulFunctionCall", - "src": "1778:11:56" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "1772:5:56" - }, - "nodeType": "YulFunctionCall", - "src": "1772:18:56" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1752:6:56" - }, - "nodeType": "YulFunctionCall", - "src": "1752:39:56" - }, - "nodeType": "YulExpressionStatement", - "src": "1752:39:56" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "1699:1:56" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1702:6:56" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "1696:2:56" - }, - "nodeType": "YulFunctionCall", - "src": "1696:13:56" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "1710:19:56", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1712:15:56", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "1721:1:56" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1724:2:56", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1717:3:56" - }, - "nodeType": "YulFunctionCall", - "src": "1717:10:56" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "1712:1:56" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "1692:3:56", - "statements": [] - }, - "src": "1688:113:56" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1835:76:56", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "1885:3:56" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1890:6:56" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1881:3:56" - }, - "nodeType": "YulFunctionCall", - "src": "1881:16:56" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1899:1:56", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1874:6:56" - }, - "nodeType": "YulFunctionCall", - "src": "1874:27:56" - }, - "nodeType": "YulExpressionStatement", - "src": "1874:27:56" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "1816:1:56" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1819:6:56" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "1813:2:56" - }, - "nodeType": "YulFunctionCall", - "src": "1813:13:56" - }, - "nodeType": "YulIf", - "src": "1810:101:56" - } - ] - }, - "name": "copy_memory_to_memory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "src", - "nodeType": "YulTypedName", - "src": "1641:3:56", - "type": "" - }, - { - "name": "dst", - "nodeType": "YulTypedName", - "src": "1646:3:56", - "type": "" - }, - { - "name": "length", - "nodeType": "YulTypedName", - "src": "1651:6:56", - "type": "" - } - ], - "src": "1610:307:56" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2018:326:56", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "2028:75:56", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2095:6:56" - } - ], - "functionName": { - "name": "array_allocation_size_t_string_memory_ptr", - "nodeType": "YulIdentifier", - "src": "2053:41:56" - }, - "nodeType": "YulFunctionCall", - "src": "2053:49:56" - } - ], - "functionName": { - "name": "allocate_memory", - "nodeType": "YulIdentifier", - "src": "2037:15:56" - }, - "nodeType": "YulFunctionCall", - "src": "2037:66:56" - }, - "variableNames": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "2028:5:56" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "2119:5:56" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2126:6:56" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2112:6:56" - }, - "nodeType": "YulFunctionCall", - "src": "2112:21:56" - }, - "nodeType": "YulExpressionStatement", - "src": "2112:21:56" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "2142:27:56", - "value": { - "arguments": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "2157:5:56" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2164:4:56", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2153:3:56" - }, - "nodeType": "YulFunctionCall", - "src": "2153:16:56" - }, - "variables": [ - { - "name": "dst", - "nodeType": "YulTypedName", - "src": "2146:3:56", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2207:83:56", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", - "nodeType": "YulIdentifier", - "src": "2209:77:56" - }, - "nodeType": "YulFunctionCall", - "src": "2209:79:56" - }, - "nodeType": "YulExpressionStatement", - "src": "2209:79:56" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "2188:3:56" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2193:6:56" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2184:3:56" - }, - "nodeType": "YulFunctionCall", - "src": "2184:16:56" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "2202:3:56" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "2181:2:56" - }, - "nodeType": "YulFunctionCall", - "src": "2181:25:56" - }, - "nodeType": "YulIf", - "src": "2178:112:56" - }, - { - "expression": { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "2321:3:56" - }, - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "2326:3:56" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2331:6:56" - } - ], - "functionName": { - "name": "copy_memory_to_memory", - "nodeType": "YulIdentifier", - "src": "2299:21:56" - }, - "nodeType": "YulFunctionCall", - "src": "2299:39:56" - }, - "nodeType": "YulExpressionStatement", - "src": "2299:39:56" - } - ] - }, - "name": "abi_decode_available_length_t_string_memory_ptr_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "src", - "nodeType": "YulTypedName", - "src": "1991:3:56", - "type": "" - }, - { - "name": "length", - "nodeType": "YulTypedName", - "src": "1996:6:56", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "2004:3:56", - "type": "" - } - ], - "returnVariables": [ - { - "name": "array", - "nodeType": "YulTypedName", - "src": "2012:5:56", - "type": "" - } - ], - "src": "1923:421:56" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2437:282:56", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "2486:83:56", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", - "nodeType": "YulIdentifier", - "src": "2488:77:56" - }, - "nodeType": "YulFunctionCall", - "src": "2488:79:56" - }, - "nodeType": "YulExpressionStatement", - "src": "2488:79:56" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "2465:6:56" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2473:4:56", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2461:3:56" - }, - "nodeType": "YulFunctionCall", - "src": "2461:17:56" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "2480:3:56" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "2457:3:56" - }, - "nodeType": "YulFunctionCall", - "src": "2457:27:56" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "2450:6:56" - }, - "nodeType": "YulFunctionCall", - "src": "2450:35:56" - }, - "nodeType": "YulIf", - "src": "2447:122:56" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "2578:27:56", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "2598:6:56" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "2592:5:56" - }, - "nodeType": "YulFunctionCall", - "src": "2592:13:56" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "2582:6:56", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "2614:99:56", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "2686:6:56" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2694:4:56", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2682:3:56" - }, - "nodeType": "YulFunctionCall", - "src": "2682:17:56" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2701:6:56" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "2709:3:56" - } - ], - "functionName": { - "name": "abi_decode_available_length_t_string_memory_ptr_fromMemory", - "nodeType": "YulIdentifier", - "src": "2623:58:56" - }, - "nodeType": "YulFunctionCall", - "src": "2623:90:56" - }, - "variableNames": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "2614:5:56" - } - ] - } - ] - }, - "name": "abi_decode_t_string_memory_ptr_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "2415:6:56", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "2423:3:56", - "type": "" - } - ], - "returnVariables": [ - { - "name": "array", - "nodeType": "YulTypedName", - "src": "2431:5:56", - "type": "" - } - ], - "src": "2364:355:56" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2839:739:56", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "2885:83:56", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", - "nodeType": "YulIdentifier", - "src": "2887:77:56" - }, - "nodeType": "YulFunctionCall", - "src": "2887:79:56" - }, - "nodeType": "YulExpressionStatement", - "src": "2887:79:56" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "2860:7:56" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2869:9:56" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "2856:3:56" - }, - "nodeType": "YulFunctionCall", - "src": "2856:23:56" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2881:2:56", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "2852:3:56" - }, - "nodeType": "YulFunctionCall", - "src": "2852:32:56" - }, - "nodeType": "YulIf", - "src": "2849:119:56" - }, - { - "nodeType": "YulBlock", - "src": "2978:291:56", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "2993:38:56", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3017:9:56" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3028:1:56", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3013:3:56" - }, - "nodeType": "YulFunctionCall", - "src": "3013:17:56" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "3007:5:56" - }, - "nodeType": "YulFunctionCall", - "src": "3007:24:56" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "2997:6:56", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3078:83:56", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", - "nodeType": "YulIdentifier", - "src": "3080:77:56" - }, - "nodeType": "YulFunctionCall", - "src": "3080:79:56" - }, - "nodeType": "YulExpressionStatement", - "src": "3080:79:56" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "3050:6:56" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3058:18:56", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "3047:2:56" - }, - "nodeType": "YulFunctionCall", - "src": "3047:30:56" - }, - "nodeType": "YulIf", - "src": "3044:117:56" - }, - { - "nodeType": "YulAssignment", - "src": "3175:84:56", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3231:9:56" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "3242:6:56" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3227:3:56" - }, - "nodeType": "YulFunctionCall", - "src": "3227:22:56" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "3251:7:56" - } - ], - "functionName": { - "name": "abi_decode_t_string_memory_ptr_fromMemory", - "nodeType": "YulIdentifier", - "src": "3185:41:56" - }, - "nodeType": "YulFunctionCall", - "src": "3185:74:56" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3175:6:56" - } - ] - } - ] - }, - { - "nodeType": "YulBlock", - "src": "3279:292:56", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "3294:39:56", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3318:9:56" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3329:2:56", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3314:3:56" - }, - "nodeType": "YulFunctionCall", - "src": "3314:18:56" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "3308:5:56" - }, - "nodeType": "YulFunctionCall", - "src": "3308:25:56" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "3298:6:56", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3380:83:56", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", - "nodeType": "YulIdentifier", - "src": "3382:77:56" - }, - "nodeType": "YulFunctionCall", - "src": "3382:79:56" - }, - "nodeType": "YulExpressionStatement", - "src": "3382:79:56" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "3352:6:56" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3360:18:56", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "3349:2:56" - }, - "nodeType": "YulFunctionCall", - "src": "3349:30:56" - }, - "nodeType": "YulIf", - "src": "3346:117:56" - }, - { - "nodeType": "YulAssignment", - "src": "3477:84:56", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3533:9:56" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "3544:6:56" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3529:3:56" - }, - "nodeType": "YulFunctionCall", - "src": "3529:22:56" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "3553:7:56" - } - ], - "functionName": { - "name": "abi_decode_t_string_memory_ptr_fromMemory", - "nodeType": "YulIdentifier", - "src": "3487:41:56" - }, - "nodeType": "YulFunctionCall", - "src": "3487:74:56" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "3477:6:56" - } - ] - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_string_memory_ptrt_string_memory_ptr_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "2801:9:56", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "2812:7:56", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "2824:6:56", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "2832:6:56", - "type": "" - } - ], - "src": "2725:853:56" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3612:152:56", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3629:1:56", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3632:77:56", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3622:6:56" - }, - "nodeType": "YulFunctionCall", - "src": "3622:88:56" - }, - "nodeType": "YulExpressionStatement", - "src": "3622:88:56" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3726:1:56", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3729:4:56", + "src": "152:4:8", "type": "", "value": "0x22" } @@ -2214,13 +504,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "3719:6:56" + "src": "142:6:8" }, "nodeType": "YulFunctionCall", - "src": "3719:15:56" + "src": "142:15:8" }, "nodeType": "YulExpressionStatement", - "src": "3719:15:56" + "src": "142:15:8" }, { "expression": { @@ -2228,14 +518,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "3750:1:56", + "src": "173:1:8", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "3753:4:56", + "src": "176:4:8", "type": "", "value": "0x24" } @@ -2243,39 +533,39 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "3743:6:56" + "src": "166:6:8" }, "nodeType": "YulFunctionCall", - "src": "3743:15:56" + "src": "166:15:8" }, "nodeType": "YulExpressionStatement", - "src": "3743:15:56" + "src": "166:15:8" } ] }, "name": "panic_error_0x22", "nodeType": "YulFunctionDefinition", - "src": "3584:180:56" + "src": "7:180:8" }, { "body": { "nodeType": "YulBlock", - "src": "3821:269:56", + "src": "244:269:8", "statements": [ { "nodeType": "YulAssignment", - "src": "3831:22:56", + "src": "254:22:8", "value": { "arguments": [ { "name": "data", "nodeType": "YulIdentifier", - "src": "3845:4:56" + "src": "268:4:8" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "3851:1:56", + "src": "274:1:8", "type": "", "value": "2" } @@ -2283,33 +573,33 @@ "functionName": { "name": "div", "nodeType": "YulIdentifier", - "src": "3841:3:56" + "src": "264:3:8" }, "nodeType": "YulFunctionCall", - "src": "3841:12:56" + "src": "264:12:8" }, "variableNames": [ { "name": "length", "nodeType": "YulIdentifier", - "src": "3831:6:56" + "src": "254:6:8" } ] }, { "nodeType": "YulVariableDeclaration", - "src": "3862:38:56", + "src": "285:38:8", "value": { "arguments": [ { "name": "data", "nodeType": "YulIdentifier", - "src": "3892:4:56" + "src": "315:4:8" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "3898:1:56", + "src": "321:1:8", "type": "", "value": "1" } @@ -2317,16 +607,16 @@ "functionName": { "name": "and", "nodeType": "YulIdentifier", - "src": "3888:3:56" + "src": "311:3:8" }, "nodeType": "YulFunctionCall", - "src": "3888:12:56" + "src": "311:12:8" }, "variables": [ { "name": "outOfPlaceEncoding", "nodeType": "YulTypedName", - "src": "3866:18:56", + "src": "289:18:8", "type": "" } ] @@ -2334,22 +624,22 @@ { "body": { "nodeType": "YulBlock", - "src": "3939:51:56", + "src": "362:51:8", "statements": [ { "nodeType": "YulAssignment", - "src": "3953:27:56", + "src": "376:27:8", "value": { "arguments": [ { "name": "length", "nodeType": "YulIdentifier", - "src": "3967:6:56" + "src": "390:6:8" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "3975:4:56", + "src": "398:4:8", "type": "", "value": "0x7f" } @@ -2357,16 +647,16 @@ "functionName": { "name": "and", "nodeType": "YulIdentifier", - "src": "3963:3:56" + "src": "386:3:8" }, "nodeType": "YulFunctionCall", - "src": "3963:17:56" + "src": "386:17:8" }, "variableNames": [ { "name": "length", "nodeType": "YulIdentifier", - "src": "3953:6:56" + "src": "376:6:8" } ] } @@ -2377,24 +667,24 @@ { "name": "outOfPlaceEncoding", "nodeType": "YulIdentifier", - "src": "3919:18:56" + "src": "342:18:8" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "3912:6:56" + "src": "335:6:8" }, "nodeType": "YulFunctionCall", - "src": "3912:26:56" + "src": "335:26:8" }, "nodeType": "YulIf", - "src": "3909:81:56" + "src": "332:81:8" }, { "body": { "nodeType": "YulBlock", - "src": "4042:42:56", + "src": "465:42:8", "statements": [ { "expression": { @@ -2402,13 +692,13 @@ "functionName": { "name": "panic_error_0x22", "nodeType": "YulIdentifier", - "src": "4056:16:56" + "src": "479:16:8" }, "nodeType": "YulFunctionCall", - "src": "4056:18:56" + "src": "479:18:8" }, "nodeType": "YulExpressionStatement", - "src": "4056:18:56" + "src": "479:18:8" } ] }, @@ -2417,19 +707,19 @@ { "name": "outOfPlaceEncoding", "nodeType": "YulIdentifier", - "src": "4006:18:56" + "src": "429:18:8" }, { "arguments": [ { "name": "length", "nodeType": "YulIdentifier", - "src": "4029:6:56" + "src": "452:6:8" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "4037:2:56", + "src": "460:2:8", "type": "", "value": "32" } @@ -2437,22 +727,22 @@ "functionName": { "name": "lt", "nodeType": "YulIdentifier", - "src": "4026:2:56" + "src": "449:2:8" }, "nodeType": "YulFunctionCall", - "src": "4026:14:56" + "src": "449:14:8" } ], "functionName": { "name": "eq", "nodeType": "YulIdentifier", - "src": "4003:2:56" + "src": "426:2:8" }, "nodeType": "YulFunctionCall", - "src": "4003:38:56" + "src": "426:38:8" }, "nodeType": "YulIf", - "src": "4000:84:56" + "src": "423:84:8" } ] }, @@ -2462,7 +752,7 @@ { "name": "data", "nodeType": "YulTypedName", - "src": "3805:4:56", + "src": "228:4:8", "type": "" } ], @@ -2470,16 +760,16 @@ { "name": "length", "nodeType": "YulTypedName", - "src": "3814:6:56", + "src": "237:6:8", "type": "" } ], - "src": "3770:320:56" + "src": "193:320: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 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": 56, + "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" } @@ -2488,37 +778,37 @@ { "ast": { "nodeType": "YulBlock", - "src": "0:13861:56", + "src": "0:21731:8", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "66:40:56", + "src": "66:40:8", "statements": [ { "nodeType": "YulAssignment", - "src": "77:22:56", + "src": "77:22:8", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "93:5:56" + "src": "93:5:8" } ], "functionName": { "name": "mload", "nodeType": "YulIdentifier", - "src": "87:5:56" + "src": "87:5:8" }, "nodeType": "YulFunctionCall", - "src": "87:12:56" + "src": "87:12:8" }, "variableNames": [ { "name": "length", "nodeType": "YulIdentifier", - "src": "77:6:56" + "src": "77:6:8" } ] } @@ -2530,7 +820,7 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "49:5:56", + "src": "49:5:8", "type": "" } ], @@ -2538,16 +828,16 @@ { "name": "length", "nodeType": "YulTypedName", - "src": "59:6:56", + "src": "59:6:8", "type": "" } ], - "src": "7:99:56" + "src": "7:99:8" }, { "body": { "nodeType": "YulBlock", - "src": "208:73:56", + "src": "208:73:8", "statements": [ { "expression": { @@ -2555,39 +845,39 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "225:3:56" + "src": "225:3:8" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "230:6:56" + "src": "230:6:8" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "218:6:56" + "src": "218:6:8" }, "nodeType": "YulFunctionCall", - "src": "218:19:56" + "src": "218:19:8" }, "nodeType": "YulExpressionStatement", - "src": "218:19:56" + "src": "218:19:8" }, { "nodeType": "YulAssignment", - "src": "246:29:56", + "src": "246:29:8", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "265:3:56" + "src": "265:3:8" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "270:4:56", + "src": "270:4:8", "type": "", "value": "0x20" } @@ -2595,16 +885,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "261:3:56" + "src": "261:3:8" }, "nodeType": "YulFunctionCall", - "src": "261:14:56" + "src": "261:14:8" }, "variableNames": [ { "name": "updated_pos", "nodeType": "YulIdentifier", - "src": "246:11:56" + "src": "246:11:8" } ] } @@ -2616,13 +906,13 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "180:3:56", + "src": "180:3:8", "type": "" }, { "name": "length", "nodeType": "YulTypedName", - "src": "185:6:56", + "src": "185:6:8", "type": "" } ], @@ -2630,24 +920,24 @@ { "name": "updated_pos", "nodeType": "YulTypedName", - "src": "196:11:56", + "src": "196:11:8", "type": "" } ], - "src": "112:169:56" + "src": "112:169:8" }, { "body": { "nodeType": "YulBlock", - "src": "336:258:56", + "src": "336:258:8", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "346:10:56", + "src": "346:10:8", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "355:1:56", + "src": "355:1:8", "type": "", "value": "0" }, @@ -2655,7 +945,7 @@ { "name": "i", "nodeType": "YulTypedName", - "src": "350:1:56", + "src": "350:1:8", "type": "" } ] @@ -2663,7 +953,7 @@ { "body": { "nodeType": "YulBlock", - "src": "415:63:56", + "src": "415:63:8", "statements": [ { "expression": { @@ -2673,21 +963,21 @@ { "name": "dst", "nodeType": "YulIdentifier", - "src": "440:3:56" + "src": "440:3:8" }, { "name": "i", "nodeType": "YulIdentifier", - "src": "445:1:56" + "src": "445:1:8" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "436:3:56" + "src": "436:3:8" }, "nodeType": "YulFunctionCall", - "src": "436:11:56" + "src": "436:11:8" }, { "arguments": [ @@ -2696,42 +986,42 @@ { "name": "src", "nodeType": "YulIdentifier", - "src": "459:3:56" + "src": "459:3:8" }, { "name": "i", "nodeType": "YulIdentifier", - "src": "464:1:56" + "src": "464:1:8" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "455:3:56" + "src": "455:3:8" }, "nodeType": "YulFunctionCall", - "src": "455:11:56" + "src": "455:11:8" } ], "functionName": { "name": "mload", "nodeType": "YulIdentifier", - "src": "449:5:56" + "src": "449:5:8" }, "nodeType": "YulFunctionCall", - "src": "449:18:56" + "src": "449:18:8" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "429:6:56" + "src": "429:6:8" }, "nodeType": "YulFunctionCall", - "src": "429:39:56" + "src": "429:39:8" }, "nodeType": "YulExpressionStatement", - "src": "429:39:56" + "src": "429:39:8" } ] }, @@ -2740,41 +1030,41 @@ { "name": "i", "nodeType": "YulIdentifier", - "src": "376:1:56" + "src": "376:1:8" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "379:6:56" + "src": "379:6:8" } ], "functionName": { "name": "lt", "nodeType": "YulIdentifier", - "src": "373:2:56" + "src": "373:2:8" }, "nodeType": "YulFunctionCall", - "src": "373:13:56" + "src": "373:13:8" }, "nodeType": "YulForLoop", "post": { "nodeType": "YulBlock", - "src": "387:19:56", + "src": "387:19:8", "statements": [ { "nodeType": "YulAssignment", - "src": "389:15:56", + "src": "389:15:8", "value": { "arguments": [ { "name": "i", "nodeType": "YulIdentifier", - "src": "398:1:56" + "src": "398:1:8" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "401:2:56", + "src": "401:2:8", "type": "", "value": "32" } @@ -2782,16 +1072,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "394:3:56" + "src": "394:3:8" }, "nodeType": "YulFunctionCall", - "src": "394:10:56" + "src": "394:10:8" }, "variableNames": [ { "name": "i", "nodeType": "YulIdentifier", - "src": "389:1:56" + "src": "389:1:8" } ] } @@ -2799,15 +1089,15 @@ }, "pre": { "nodeType": "YulBlock", - "src": "369:3:56", + "src": "369:3:8", "statements": [] }, - "src": "365:113:56" + "src": "365:113:8" }, { "body": { "nodeType": "YulBlock", - "src": "512:76:56", + "src": "512:76:8", "statements": [ { "expression": { @@ -2817,26 +1107,26 @@ { "name": "dst", "nodeType": "YulIdentifier", - "src": "562:3:56" + "src": "562:3:8" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "567:6:56" + "src": "567:6:8" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "558:3:56" + "src": "558:3:8" }, "nodeType": "YulFunctionCall", - "src": "558:16:56" + "src": "558:16:8" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "576:1:56", + "src": "576:1:8", "type": "", "value": "0" } @@ -2844,13 +1134,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "551:6:56" + "src": "551:6:8" }, "nodeType": "YulFunctionCall", - "src": "551:27:56" + "src": "551:27:8" }, "nodeType": "YulExpressionStatement", - "src": "551:27:56" + "src": "551:27:8" } ] }, @@ -2859,24 +1149,24 @@ { "name": "i", "nodeType": "YulIdentifier", - "src": "493:1:56" + "src": "493:1:8" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "496:6:56" + "src": "496:6:8" } ], "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "490:2:56" + "src": "490:2:8" }, "nodeType": "YulFunctionCall", - "src": "490:13:56" + "src": "490:13:8" }, "nodeType": "YulIf", - "src": "487:101:56" + "src": "487:101:8" } ] }, @@ -2886,32 +1176,32 @@ { "name": "src", "nodeType": "YulTypedName", - "src": "318:3:56", + "src": "318:3:8", "type": "" }, { "name": "dst", "nodeType": "YulTypedName", - "src": "323:3:56", + "src": "323:3:8", "type": "" }, { "name": "length", "nodeType": "YulTypedName", - "src": "328:6:56", + "src": "328:6:8", "type": "" } ], - "src": "287:307:56" + "src": "287:307:8" }, { "body": { "nodeType": "YulBlock", - "src": "648:54:56", + "src": "648:54:8", "statements": [ { "nodeType": "YulAssignment", - "src": "658:38:56", + "src": "658:38:8", "value": { "arguments": [ { @@ -2919,12 +1209,12 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "676:5:56" + "src": "676:5:8" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "683:2:56", + "src": "683:2:8", "type": "", "value": "31" } @@ -2932,17 +1222,17 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "672:3:56" + "src": "672:3:8" }, "nodeType": "YulFunctionCall", - "src": "672:14:56" + "src": "672:14:8" }, { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", - "src": "692:2:56", + "src": "692:2:8", "type": "", "value": "31" } @@ -2950,25 +1240,25 @@ "functionName": { "name": "not", "nodeType": "YulIdentifier", - "src": "688:3:56" + "src": "688:3:8" }, "nodeType": "YulFunctionCall", - "src": "688:7:56" + "src": "688:7:8" } ], "functionName": { "name": "and", "nodeType": "YulIdentifier", - "src": "668:3:56" + "src": "668:3:8" }, "nodeType": "YulFunctionCall", - "src": "668:28:56" + "src": "668:28:8" }, "variableNames": [ { "name": "result", "nodeType": "YulIdentifier", - "src": "658:6:56" + "src": "658:6:8" } ] } @@ -2980,7 +1270,7 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "631:5:56", + "src": "631:5:8", "type": "" } ], @@ -2988,74 +1278,74 @@ { "name": "result", "nodeType": "YulTypedName", - "src": "641:6:56", + "src": "641:6:8", "type": "" } ], - "src": "600:102:56" + "src": "600:102:8" }, { "body": { "nodeType": "YulBlock", - "src": "800:272:56", + "src": "800:272:8", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "810:53:56", + "src": "810:53:8", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "857:5:56" + "src": "857:5:8" } ], "functionName": { "name": "array_length_t_string_memory_ptr", "nodeType": "YulIdentifier", - "src": "824:32:56" + "src": "824:32:8" }, "nodeType": "YulFunctionCall", - "src": "824:39:56" + "src": "824:39:8" }, "variables": [ { "name": "length", "nodeType": "YulTypedName", - "src": "814:6:56", + "src": "814:6:8", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "872:78:56", + "src": "872:78:8", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "938:3:56" + "src": "938:3:8" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "943:6:56" + "src": "943:6:8" } ], "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "879:58:56" + "src": "879:58:8" }, "nodeType": "YulFunctionCall", - "src": "879:71:56" + "src": "879:71:8" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "872:3:56" + "src": "872:3:8" } ] }, @@ -3067,12 +1357,12 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "985:5:56" + "src": "985:5:8" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "992:4:56", + "src": "992:4:8", "type": "", "value": "0x20" } @@ -3080,73 +1370,73 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "981:3:56" + "src": "981:3:8" }, "nodeType": "YulFunctionCall", - "src": "981:16:56" + "src": "981:16:8" }, { "name": "pos", "nodeType": "YulIdentifier", - "src": "999:3:56" + "src": "999:3:8" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "1004:6:56" + "src": "1004:6:8" } ], "functionName": { "name": "copy_memory_to_memory", "nodeType": "YulIdentifier", - "src": "959:21:56" + "src": "959:21:8" }, "nodeType": "YulFunctionCall", - "src": "959:52:56" + "src": "959:52:8" }, "nodeType": "YulExpressionStatement", - "src": "959:52:56" + "src": "959:52:8" }, { "nodeType": "YulAssignment", - "src": "1020:46:56", + "src": "1020:46:8", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "1031:3:56" + "src": "1031:3:8" }, { "arguments": [ { "name": "length", "nodeType": "YulIdentifier", - "src": "1058:6:56" + "src": "1058:6:8" } ], "functionName": { "name": "round_up_to_mul_of_32", "nodeType": "YulIdentifier", - "src": "1036:21:56" + "src": "1036:21:8" }, "nodeType": "YulFunctionCall", - "src": "1036:29:56" + "src": "1036:29:8" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "1027:3:56" + "src": "1027:3:8" }, "nodeType": "YulFunctionCall", - "src": "1027:39:56" + "src": "1027:39:8" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "1020:3:56" + "src": "1020:3:8" } ] } @@ -3158,13 +1448,13 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "781:5:56", + "src": "781:5:8", "type": "" }, { "name": "pos", "nodeType": "YulTypedName", - "src": "788:3:56", + "src": "788:3:8", "type": "" } ], @@ -3172,31 +1462,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "796:3:56", + "src": "796:3:8", "type": "" } ], - "src": "708:364:56" + "src": "708:364:8" }, { "body": { "nodeType": "YulBlock", - "src": "1196:195:56", + "src": "1196:195:8", "statements": [ { "nodeType": "YulAssignment", - "src": "1206:26:56", + "src": "1206:26:8", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "1218:9:56" + "src": "1218:9:8" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "1229:2:56", + "src": "1229:2:8", "type": "", "value": "32" } @@ -3204,16 +1494,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "1214:3:56" + "src": "1214:3:8" }, "nodeType": "YulFunctionCall", - "src": "1214:18:56" + "src": "1214:18:8" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "1206:4:56" + "src": "1206:4:8" } ] }, @@ -3225,12 +1515,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "1253:9:56" + "src": "1253:9:8" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "1264:1:56", + "src": "1264:1:8", "type": "", "value": "0" } @@ -3238,73 +1528,73 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "1249:3:56" + "src": "1249:3:8" }, "nodeType": "YulFunctionCall", - "src": "1249:17:56" + "src": "1249:17:8" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "1272:4:56" + "src": "1272:4:8" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "1278:9:56" + "src": "1278:9:8" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "1268:3:56" + "src": "1268:3:8" }, "nodeType": "YulFunctionCall", - "src": "1268:20:56" + "src": "1268:20:8" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "1242:6:56" + "src": "1242:6:8" }, "nodeType": "YulFunctionCall", - "src": "1242:47:56" + "src": "1242:47:8" }, "nodeType": "YulExpressionStatement", - "src": "1242:47:56" + "src": "1242:47:8" }, { "nodeType": "YulAssignment", - "src": "1298:86:56", + "src": "1298:86:8", "value": { "arguments": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "1370:6:56" + "src": "1370:6:8" }, { "name": "tail", "nodeType": "YulIdentifier", - "src": "1379:4:56" + "src": "1379:4:8" } ], "functionName": { "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "1306:63:56" + "src": "1306:63:8" }, "nodeType": "YulFunctionCall", - "src": "1306:78:56" + "src": "1306:78:8" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "1298:4:56" + "src": "1298:4:8" } ] } @@ -3316,13 +1606,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "1168:9:56", + "src": "1168:9:8", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", - "src": "1180:6:56", + "src": "1180:6:8", "type": "" } ], @@ -3330,26 +1620,26 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "1191:4:56", + "src": "1191:4:8", "type": "" } ], - "src": "1078:313:56" + "src": "1078:313:8" }, { "body": { "nodeType": "YulBlock", - "src": "1437:35:56", + "src": "1437:35:8", "statements": [ { "nodeType": "YulAssignment", - "src": "1447:19:56", + "src": "1447:19:8", "value": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", - "src": "1463:2:56", + "src": "1463:2:8", "type": "", "value": "64" } @@ -3357,16 +1647,16 @@ "functionName": { "name": "mload", "nodeType": "YulIdentifier", - "src": "1457:5:56" + "src": "1457:5:8" }, "nodeType": "YulFunctionCall", - "src": "1457:9:56" + "src": "1457:9:8" }, "variableNames": [ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "1447:6:56" + "src": "1447:6:8" } ] } @@ -3378,16 +1668,16 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "1430:6:56", + "src": "1430:6:8", "type": "" } ], - "src": "1397:75:56" + "src": "1397:75:8" }, { "body": { "nodeType": "YulBlock", - "src": "1567:28:56", + "src": "1567:28:8", "statements": [ { "expression": { @@ -3395,14 +1685,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "1584:1:56", + "src": "1584:1:8", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "1587:1:56", + "src": "1587:1:8", "type": "", "value": "0" } @@ -3410,24 +1700,24 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "1577:6:56" + "src": "1577:6:8" }, "nodeType": "YulFunctionCall", - "src": "1577:12:56" + "src": "1577:12:8" }, "nodeType": "YulExpressionStatement", - "src": "1577:12:56" + "src": "1577:12:8" } ] }, "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulFunctionDefinition", - "src": "1478:117:56" + "src": "1478:117:8" }, { "body": { "nodeType": "YulBlock", - "src": "1690:28:56", + "src": "1690:28:8", "statements": [ { "expression": { @@ -3435,14 +1725,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "1707:1:56", + "src": "1707:1:8", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "1710:1:56", + "src": "1710:1:8", "type": "", "value": "0" } @@ -3450,39 +1740,39 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "1700:6:56" + "src": "1700:6:8" }, "nodeType": "YulFunctionCall", - "src": "1700:12:56" + "src": "1700:12:8" }, "nodeType": "YulExpressionStatement", - "src": "1700:12:56" + "src": "1700:12:8" } ] }, "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", "nodeType": "YulFunctionDefinition", - "src": "1601:117:56" + "src": "1601:117:8" }, { "body": { "nodeType": "YulBlock", - "src": "1769:81:56", + "src": "1769:81:8", "statements": [ { "nodeType": "YulAssignment", - "src": "1779:65:56", + "src": "1779:65:8", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "1794:5:56" + "src": "1794:5:8" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "1801:42:56", + "src": "1801:42:8", "type": "", "value": "0xffffffffffffffffffffffffffffffffffffffff" } @@ -3490,16 +1780,16 @@ "functionName": { "name": "and", "nodeType": "YulIdentifier", - "src": "1790:3:56" + "src": "1790:3:8" }, "nodeType": "YulFunctionCall", - "src": "1790:54:56" + "src": "1790:54:8" }, "variableNames": [ { "name": "cleaned", "nodeType": "YulIdentifier", - "src": "1779:7:56" + "src": "1779:7:8" } ] } @@ -3511,7 +1801,7 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "1751:5:56", + "src": "1751:5:8", "type": "" } ], @@ -3519,41 +1809,41 @@ { "name": "cleaned", "nodeType": "YulTypedName", - "src": "1761:7:56", + "src": "1761:7:8", "type": "" } ], - "src": "1724:126:56" + "src": "1724:126:8" }, { "body": { "nodeType": "YulBlock", - "src": "1901:51:56", + "src": "1901:51:8", "statements": [ { "nodeType": "YulAssignment", - "src": "1911:35:56", + "src": "1911:35:8", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "1940:5:56" + "src": "1940:5:8" } ], "functionName": { "name": "cleanup_t_uint160", "nodeType": "YulIdentifier", - "src": "1922:17:56" + "src": "1922:17:8" }, "nodeType": "YulFunctionCall", - "src": "1922:24:56" + "src": "1922:24:8" }, "variableNames": [ { "name": "cleaned", "nodeType": "YulIdentifier", - "src": "1911:7:56" + "src": "1911:7:8" } ] } @@ -3565,7 +1855,7 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "1883:5:56", + "src": "1883:5:8", "type": "" } ], @@ -3573,21 +1863,21 @@ { "name": "cleaned", "nodeType": "YulTypedName", - "src": "1893:7:56", + "src": "1893:7:8", "type": "" } ], - "src": "1856:96:56" + "src": "1856:96:8" }, { "body": { "nodeType": "YulBlock", - "src": "2001:79:56", + "src": "2001:79:8", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "2058:16:56", + "src": "2058:16:8", "statements": [ { "expression": { @@ -3595,14 +1885,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "2067:1:56", + "src": "2067:1:8", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "2070:1:56", + "src": "2070:1:8", "type": "", "value": "0" } @@ -3610,13 +1900,13 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "2060:6:56" + "src": "2060:6:8" }, "nodeType": "YulFunctionCall", - "src": "2060:12:56" + "src": "2060:12:8" }, "nodeType": "YulExpressionStatement", - "src": "2060:12:56" + "src": "2060:12:8" } ] }, @@ -3627,44 +1917,44 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "2024:5:56" + "src": "2024:5:8" }, { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "2049:5:56" + "src": "2049:5:8" } ], "functionName": { "name": "cleanup_t_address", "nodeType": "YulIdentifier", - "src": "2031:17:56" + "src": "2031:17:8" }, "nodeType": "YulFunctionCall", - "src": "2031:24:56" + "src": "2031:24:8" } ], "functionName": { "name": "eq", "nodeType": "YulIdentifier", - "src": "2021:2:56" + "src": "2021:2:8" }, "nodeType": "YulFunctionCall", - "src": "2021:35:56" + "src": "2021:35:8" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "2014:6:56" + "src": "2014:6:8" }, "nodeType": "YulFunctionCall", - "src": "2014:43:56" + "src": "2014:43:8" }, "nodeType": "YulIf", - "src": "2011:63:56" + "src": "2011:63:8" } ] }, @@ -3674,41 +1964,41 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "1994:5:56", + "src": "1994:5:8", "type": "" } ], - "src": "1958:122:56" + "src": "1958:122:8" }, { "body": { "nodeType": "YulBlock", - "src": "2138:87:56", + "src": "2138:87:8", "statements": [ { "nodeType": "YulAssignment", - "src": "2148:29:56", + "src": "2148:29:8", "value": { "arguments": [ { "name": "offset", "nodeType": "YulIdentifier", - "src": "2170:6:56" + "src": "2170:6:8" } ], "functionName": { "name": "calldataload", "nodeType": "YulIdentifier", - "src": "2157:12:56" + "src": "2157:12:8" }, "nodeType": "YulFunctionCall", - "src": "2157:20:56" + "src": "2157:20:8" }, "variableNames": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "2148:5:56" + "src": "2148:5:8" } ] }, @@ -3718,19 +2008,19 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "2213:5:56" + "src": "2213:5:8" } ], "functionName": { "name": "validator_revert_t_address", "nodeType": "YulIdentifier", - "src": "2186:26:56" + "src": "2186:26:8" }, "nodeType": "YulFunctionCall", - "src": "2186:33:56" + "src": "2186:33:8" }, "nodeType": "YulExpressionStatement", - "src": "2186:33:56" + "src": "2186:33:8" } ] }, @@ -3740,13 +2030,13 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "2116:6:56", + "src": "2116:6:8", "type": "" }, { "name": "end", "nodeType": "YulTypedName", - "src": "2124:3:56", + "src": "2124:3:8", "type": "" } ], @@ -3754,30 +2044,30 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "2132:5:56", + "src": "2132:5:8", "type": "" } ], - "src": "2086:139:56" + "src": "2086:139:8" }, { "body": { "nodeType": "YulBlock", - "src": "2276:32:56", + "src": "2276:32:8", "statements": [ { "nodeType": "YulAssignment", - "src": "2286:16:56", + "src": "2286:16:8", "value": { "name": "value", "nodeType": "YulIdentifier", - "src": "2297:5:56" + "src": "2297:5:8" }, "variableNames": [ { "name": "cleaned", "nodeType": "YulIdentifier", - "src": "2286:7:56" + "src": "2286:7:8" } ] } @@ -3789,7 +2079,7 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "2258:5:56", + "src": "2258:5:8", "type": "" } ], @@ -3797,21 +2087,21 @@ { "name": "cleaned", "nodeType": "YulTypedName", - "src": "2268:7:56", + "src": "2268:7:8", "type": "" } ], - "src": "2231:77:56" + "src": "2231:77:8" }, { "body": { "nodeType": "YulBlock", - "src": "2357:79:56", + "src": "2357:79:8", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "2414:16:56", + "src": "2414:16:8", "statements": [ { "expression": { @@ -3819,14 +2109,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "2423:1:56", + "src": "2423:1:8", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "2426:1:56", + "src": "2426:1:8", "type": "", "value": "0" } @@ -3834,13 +2124,13 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "2416:6:56" + "src": "2416:6:8" }, "nodeType": "YulFunctionCall", - "src": "2416:12:56" + "src": "2416:12:8" }, "nodeType": "YulExpressionStatement", - "src": "2416:12:56" + "src": "2416:12:8" } ] }, @@ -3851,44 +2141,44 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "2380:5:56" + "src": "2380:5:8" }, { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "2405:5:56" + "src": "2405:5:8" } ], "functionName": { "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", - "src": "2387:17:56" + "src": "2387:17:8" }, "nodeType": "YulFunctionCall", - "src": "2387:24:56" + "src": "2387:24:8" } ], "functionName": { "name": "eq", "nodeType": "YulIdentifier", - "src": "2377:2:56" + "src": "2377:2:8" }, "nodeType": "YulFunctionCall", - "src": "2377:35:56" + "src": "2377:35:8" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "2370:6:56" + "src": "2370:6:8" }, "nodeType": "YulFunctionCall", - "src": "2370:43:56" + "src": "2370:43:8" }, "nodeType": "YulIf", - "src": "2367:63:56" + "src": "2367:63:8" } ] }, @@ -3898,41 +2188,41 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "2350:5:56", + "src": "2350:5:8", "type": "" } ], - "src": "2314:122:56" + "src": "2314:122:8" }, { "body": { "nodeType": "YulBlock", - "src": "2494:87:56", + "src": "2494:87:8", "statements": [ { "nodeType": "YulAssignment", - "src": "2504:29:56", + "src": "2504:29:8", "value": { "arguments": [ { "name": "offset", "nodeType": "YulIdentifier", - "src": "2526:6:56" + "src": "2526:6:8" } ], "functionName": { "name": "calldataload", "nodeType": "YulIdentifier", - "src": "2513:12:56" + "src": "2513:12:8" }, "nodeType": "YulFunctionCall", - "src": "2513:20:56" + "src": "2513:20:8" }, "variableNames": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "2504:5:56" + "src": "2504:5:8" } ] }, @@ -3942,19 +2232,19 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "2569:5:56" + "src": "2569:5:8" } ], "functionName": { "name": "validator_revert_t_uint256", "nodeType": "YulIdentifier", - "src": "2542:26:56" + "src": "2542:26:8" }, "nodeType": "YulFunctionCall", - "src": "2542:33:56" + "src": "2542:33:8" }, "nodeType": "YulExpressionStatement", - "src": "2542:33:56" + "src": "2542:33:8" } ] }, @@ -3964,13 +2254,13 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "2472:6:56", + "src": "2472:6:8", "type": "" }, { "name": "end", "nodeType": "YulTypedName", - "src": "2480:3:56", + "src": "2480:3:8", "type": "" } ], @@ -3978,21 +2268,21 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "2488:5:56", + "src": "2488:5:8", "type": "" } ], - "src": "2442:139:56" + "src": "2442:139:8" }, { "body": { "nodeType": "YulBlock", - "src": "2670:391:56", + "src": "2670:391:8", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "2716:83:56", + "src": "2716:83:8", "statements": [ { "expression": { @@ -4000,13 +2290,13 @@ "functionName": { "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulIdentifier", - "src": "2718:77:56" + "src": "2718:77:8" }, "nodeType": "YulFunctionCall", - "src": "2718:79:56" + "src": "2718:79:8" }, "nodeType": "YulExpressionStatement", - "src": "2718:79:56" + "src": "2718:79:8" } ] }, @@ -4017,26 +2307,26 @@ { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "2691:7:56" + "src": "2691:7:8" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "2700:9:56" + "src": "2700:9:8" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "2687:3:56" + "src": "2687:3:8" }, "nodeType": "YulFunctionCall", - "src": "2687:23:56" + "src": "2687:23:8" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "2712:2:56", + "src": "2712:2:8", "type": "", "value": "64" } @@ -4044,25 +2334,25 @@ "functionName": { "name": "slt", "nodeType": "YulIdentifier", - "src": "2683:3:56" + "src": "2683:3:8" }, "nodeType": "YulFunctionCall", - "src": "2683:32:56" + "src": "2683:32:8" }, "nodeType": "YulIf", - "src": "2680:119:56" + "src": "2680:119:8" }, { "nodeType": "YulBlock", - "src": "2809:117:56", + "src": "2809:117:8", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "2824:15:56", + "src": "2824:15:8", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "2838:1:56", + "src": "2838:1:8", "type": "", "value": "0" }, @@ -4070,14 +2360,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "2828:6:56", + "src": "2828:6:8", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "2853:63:56", + "src": "2853:63:8", "value": { "arguments": [ { @@ -4085,41 +2375,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "2888:9:56" + "src": "2888:9:8" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "2899:6:56" + "src": "2899:6:8" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "2884:3:56" + "src": "2884:3:8" }, "nodeType": "YulFunctionCall", - "src": "2884:22:56" + "src": "2884:22:8" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "2908:7:56" + "src": "2908:7:8" } ], "functionName": { "name": "abi_decode_t_address", "nodeType": "YulIdentifier", - "src": "2863:20:56" + "src": "2863:20:8" }, "nodeType": "YulFunctionCall", - "src": "2863:53:56" + "src": "2863:53:8" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "2853:6:56" + "src": "2853:6:8" } ] } @@ -4127,15 +2417,15 @@ }, { "nodeType": "YulBlock", - "src": "2936:118:56", + "src": "2936:118:8", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "2951:16:56", + "src": "2951:16:8", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "2965:2:56", + "src": "2965:2:8", "type": "", "value": "32" }, @@ -4143,14 +2433,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "2955:6:56", + "src": "2955:6:8", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "2981:63:56", + "src": "2981:63:8", "value": { "arguments": [ { @@ -4158,41 +2448,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "3016:9:56" + "src": "3016:9:8" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "3027:6:56" + "src": "3027:6:8" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "3012:3:56" + "src": "3012:3:8" }, "nodeType": "YulFunctionCall", - "src": "3012:22:56" + "src": "3012:22:8" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "3036:7:56" + "src": "3036:7:8" } ], "functionName": { "name": "abi_decode_t_uint256", "nodeType": "YulIdentifier", - "src": "2991:20:56" + "src": "2991:20:8" }, "nodeType": "YulFunctionCall", - "src": "2991:53:56" + "src": "2991:53:8" }, "variableNames": [ { "name": "value1", "nodeType": "YulIdentifier", - "src": "2981:6:56" + "src": "2981:6:8" } ] } @@ -4206,13 +2496,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "2632:9:56", + "src": "2632:9:8", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", - "src": "2643:7:56", + "src": "2643:7:8", "type": "" } ], @@ -4220,26 +2510,26 @@ { "name": "value0", "nodeType": "YulTypedName", - "src": "2655:6:56", + "src": "2655:6:8", "type": "" }, { "name": "value1", "nodeType": "YulTypedName", - "src": "2663:6:56", + "src": "2663:6:8", "type": "" } ], - "src": "2587:474:56" + "src": "2587:474:8" }, { "body": { "nodeType": "YulBlock", - "src": "3109:48:56", + "src": "3109:48:8", "statements": [ { "nodeType": "YulAssignment", - "src": "3119:32:56", + "src": "3119:32:8", "value": { "arguments": [ { @@ -4247,31 +2537,31 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "3144:5:56" + "src": "3144:5:8" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "3137:6:56" + "src": "3137:6:8" }, "nodeType": "YulFunctionCall", - "src": "3137:13:56" + "src": "3137:13:8" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "3130:6:56" + "src": "3130:6:8" }, "nodeType": "YulFunctionCall", - "src": "3130:21:56" + "src": "3130:21:8" }, "variableNames": [ { "name": "cleaned", "nodeType": "YulIdentifier", - "src": "3119:7:56" + "src": "3119:7:8" } ] } @@ -4283,7 +2573,7 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "3091:5:56", + "src": "3091:5:8", "type": "" } ], @@ -4291,16 +2581,16 @@ { "name": "cleaned", "nodeType": "YulTypedName", - "src": "3101:7:56", + "src": "3101:7:8", "type": "" } ], - "src": "3067:90:56" + "src": "3067:90:8" }, { "body": { "nodeType": "YulBlock", - "src": "3222:50:56", + "src": "3222:50:8", "statements": [ { "expression": { @@ -4308,35 +2598,35 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "3239:3:56" + "src": "3239:3:8" }, { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "3259:5:56" + "src": "3259:5:8" } ], "functionName": { "name": "cleanup_t_bool", "nodeType": "YulIdentifier", - "src": "3244:14:56" + "src": "3244:14:8" }, "nodeType": "YulFunctionCall", - "src": "3244:21:56" + "src": "3244:21:8" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "3232:6:56" + "src": "3232:6:8" }, "nodeType": "YulFunctionCall", - "src": "3232:34:56" + "src": "3232:34:8" }, "nodeType": "YulExpressionStatement", - "src": "3232:34:56" + "src": "3232:34:8" } ] }, @@ -4346,37 +2636,37 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "3210:5:56", + "src": "3210:5:8", "type": "" }, { "name": "pos", "nodeType": "YulTypedName", - "src": "3217:3:56", + "src": "3217:3:8", "type": "" } ], - "src": "3163:109:56" + "src": "3163:109:8" }, { "body": { "nodeType": "YulBlock", - "src": "3370:118:56", + "src": "3370:118:8", "statements": [ { "nodeType": "YulAssignment", - "src": "3380:26:56", + "src": "3380:26:8", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "3392:9:56" + "src": "3392:9:8" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "3403:2:56", + "src": "3403:2:8", "type": "", "value": "32" } @@ -4384,16 +2674,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "3388:3:56" + "src": "3388:3:8" }, "nodeType": "YulFunctionCall", - "src": "3388:18:56" + "src": "3388:18:8" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "3380:4:56" + "src": "3380:4:8" } ] }, @@ -4403,19 +2693,19 @@ { "name": "value0", "nodeType": "YulIdentifier", - "src": "3454:6:56" + "src": "3454:6:8" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "3467:9:56" + "src": "3467:9:8" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "3478:1:56", + "src": "3478:1:8", "type": "", "value": "0" } @@ -4423,22 +2713,22 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "3463:3:56" + "src": "3463:3:8" }, "nodeType": "YulFunctionCall", - "src": "3463:17:56" + "src": "3463:17:8" } ], "functionName": { "name": "abi_encode_t_bool_to_t_bool_fromStack", "nodeType": "YulIdentifier", - "src": "3416:37:56" + "src": "3416:37:8" }, "nodeType": "YulFunctionCall", - "src": "3416:65:56" + "src": "3416:65:8" }, "nodeType": "YulExpressionStatement", - "src": "3416:65:56" + "src": "3416:65:8" } ] }, @@ -4448,13 +2738,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "3342:9:56", + "src": "3342:9:8", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", - "src": "3354:6:56", + "src": "3354:6:8", "type": "" } ], @@ -4462,16 +2752,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "3365:4:56", + "src": "3365:4:8", "type": "" } ], - "src": "3278:210:56" + "src": "3278:210:8" }, { "body": { "nodeType": "YulBlock", - "src": "3559:53:56", + "src": "3559:53:8", "statements": [ { "expression": { @@ -4479,35 +2769,35 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "3576:3:56" + "src": "3576:3:8" }, { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "3599:5:56" + "src": "3599:5:8" } ], "functionName": { "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", - "src": "3581:17:56" + "src": "3581:17:8" }, "nodeType": "YulFunctionCall", - "src": "3581:24:56" + "src": "3581:24:8" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "3569:6:56" + "src": "3569:6:8" }, "nodeType": "YulFunctionCall", - "src": "3569:37:56" + "src": "3569:37:8" }, "nodeType": "YulExpressionStatement", - "src": "3569:37:56" + "src": "3569:37:8" } ] }, @@ -4517,37 +2807,37 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "3547:5:56", + "src": "3547:5:8", "type": "" }, { "name": "pos", "nodeType": "YulTypedName", - "src": "3554:3:56", + "src": "3554:3:8", "type": "" } ], - "src": "3494:118:56" + "src": "3494:118:8" }, { "body": { "nodeType": "YulBlock", - "src": "3716:124:56", + "src": "3716:124:8", "statements": [ { "nodeType": "YulAssignment", - "src": "3726:26:56", + "src": "3726:26:8", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "3738:9:56" + "src": "3738:9:8" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "3749:2:56", + "src": "3749:2:8", "type": "", "value": "32" } @@ -4555,16 +2845,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "3734:3:56" + "src": "3734:3:8" }, "nodeType": "YulFunctionCall", - "src": "3734:18:56" + "src": "3734:18:8" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "3726:4:56" + "src": "3726:4:8" } ] }, @@ -4574,19 +2864,19 @@ { "name": "value0", "nodeType": "YulIdentifier", - "src": "3806:6:56" + "src": "3806:6:8" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "3819:9:56" + "src": "3819:9:8" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "3830:1:56", + "src": "3830:1:8", "type": "", "value": "0" } @@ -4594,22 +2884,22 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "3815:3:56" + "src": "3815:3:8" }, "nodeType": "YulFunctionCall", - "src": "3815:17:56" + "src": "3815:17:8" } ], "functionName": { "name": "abi_encode_t_uint256_to_t_uint256_fromStack", "nodeType": "YulIdentifier", - "src": "3762:43:56" + "src": "3762:43:8" }, "nodeType": "YulFunctionCall", - "src": "3762:71:56" + "src": "3762:71:8" }, "nodeType": "YulExpressionStatement", - "src": "3762:71:56" + "src": "3762:71:8" } ] }, @@ -4619,13 +2909,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "3688:9:56", + "src": "3688:9:8", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", - "src": "3700:6:56", + "src": "3700:6:8", "type": "" } ], @@ -4633,21 +2923,21 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "3711:4:56", + "src": "3711:4:8", "type": "" } ], - "src": "3618:222:56" + "src": "3618:222:8" }, { "body": { "nodeType": "YulBlock", - "src": "3946:519:56", + "src": "3946:519:8", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "3992:83:56", + "src": "3992:83:8", "statements": [ { "expression": { @@ -4655,13 +2945,13 @@ "functionName": { "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulIdentifier", - "src": "3994:77:56" + "src": "3994:77:8" }, "nodeType": "YulFunctionCall", - "src": "3994:79:56" + "src": "3994:79:8" }, "nodeType": "YulExpressionStatement", - "src": "3994:79:56" + "src": "3994:79:8" } ] }, @@ -4672,26 +2962,26 @@ { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "3967:7:56" + "src": "3967:7:8" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "3976:9:56" + "src": "3976:9:8" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "3963:3:56" + "src": "3963:3:8" }, "nodeType": "YulFunctionCall", - "src": "3963:23:56" + "src": "3963:23:8" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "3988:2:56", + "src": "3988:2:8", "type": "", "value": "96" } @@ -4699,25 +2989,25 @@ "functionName": { "name": "slt", "nodeType": "YulIdentifier", - "src": "3959:3:56" + "src": "3959:3:8" }, "nodeType": "YulFunctionCall", - "src": "3959:32:56" + "src": "3959:32:8" }, "nodeType": "YulIf", - "src": "3956:119:56" + "src": "3956:119:8" }, { "nodeType": "YulBlock", - "src": "4085:117:56", + "src": "4085:117:8", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "4100:15:56", + "src": "4100:15:8", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "4114:1:56", + "src": "4114:1:8", "type": "", "value": "0" }, @@ -4725,14 +3015,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "4104:6:56", + "src": "4104:6:8", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "4129:63:56", + "src": "4129:63:8", "value": { "arguments": [ { @@ -4740,41 +3030,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "4164:9:56" + "src": "4164:9:8" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "4175:6:56" + "src": "4175:6:8" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "4160:3:56" + "src": "4160:3:8" }, "nodeType": "YulFunctionCall", - "src": "4160:22:56" + "src": "4160:22:8" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "4184:7:56" + "src": "4184:7:8" } ], "functionName": { "name": "abi_decode_t_address", "nodeType": "YulIdentifier", - "src": "4139:20:56" + "src": "4139:20:8" }, "nodeType": "YulFunctionCall", - "src": "4139:53:56" + "src": "4139:53:8" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "4129:6:56" + "src": "4129:6:8" } ] } @@ -4782,15 +3072,15 @@ }, { "nodeType": "YulBlock", - "src": "4212:118:56", + "src": "4212:118:8", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "4227:16:56", + "src": "4227:16:8", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "4241:2:56", + "src": "4241:2:8", "type": "", "value": "32" }, @@ -4798,14 +3088,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "4231:6:56", + "src": "4231:6:8", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "4257:63:56", + "src": "4257:63:8", "value": { "arguments": [ { @@ -4813,41 +3103,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "4292:9:56" + "src": "4292:9:8" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "4303:6:56" + "src": "4303:6:8" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "4288:3:56" + "src": "4288:3:8" }, "nodeType": "YulFunctionCall", - "src": "4288:22:56" + "src": "4288:22:8" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "4312:7:56" + "src": "4312:7:8" } ], "functionName": { "name": "abi_decode_t_address", "nodeType": "YulIdentifier", - "src": "4267:20:56" + "src": "4267:20:8" }, "nodeType": "YulFunctionCall", - "src": "4267:53:56" + "src": "4267:53:8" }, "variableNames": [ { "name": "value1", "nodeType": "YulIdentifier", - "src": "4257:6:56" + "src": "4257:6:8" } ] } @@ -4855,15 +3145,15 @@ }, { "nodeType": "YulBlock", - "src": "4340:118:56", + "src": "4340:118:8", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "4355:16:56", + "src": "4355:16:8", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "4369:2:56", + "src": "4369:2:8", "type": "", "value": "64" }, @@ -4871,14 +3161,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "4359:6:56", + "src": "4359:6:8", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "4385:63:56", + "src": "4385:63:8", "value": { "arguments": [ { @@ -4886,41 +3176,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "4420:9:56" + "src": "4420:9:8" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "4431:6:56" + "src": "4431:6:8" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "4416:3:56" + "src": "4416:3:8" }, "nodeType": "YulFunctionCall", - "src": "4416:22:56" + "src": "4416:22:8" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "4440:7:56" + "src": "4440:7:8" } ], "functionName": { "name": "abi_decode_t_uint256", "nodeType": "YulIdentifier", - "src": "4395:20:56" + "src": "4395:20:8" }, "nodeType": "YulFunctionCall", - "src": "4395:53:56" + "src": "4395:53:8" }, "variableNames": [ { "name": "value2", "nodeType": "YulIdentifier", - "src": "4385:6:56" + "src": "4385:6:8" } ] } @@ -4934,13 +3224,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "3900:9:56", + "src": "3900:9:8", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", - "src": "3911:7:56", + "src": "3911:7:8", "type": "" } ], @@ -4948,43 +3238,43 @@ { "name": "value0", "nodeType": "YulTypedName", - "src": "3923:6:56", + "src": "3923:6:8", "type": "" }, { "name": "value1", "nodeType": "YulTypedName", - "src": "3931:6:56", + "src": "3931:6:8", "type": "" }, { "name": "value2", "nodeType": "YulTypedName", - "src": "3939:6:56", + "src": "3939:6:8", "type": "" } ], - "src": "3846:619:56" + "src": "3846:619:8" }, { "body": { "nodeType": "YulBlock", - "src": "4514:43:56", + "src": "4514:43:8", "statements": [ { "nodeType": "YulAssignment", - "src": "4524:27:56", + "src": "4524:27:8", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "4539:5:56" + "src": "4539:5:8" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "4546:4:56", + "src": "4546:4:8", "type": "", "value": "0xff" } @@ -4992,16 +3282,16 @@ "functionName": { "name": "and", "nodeType": "YulIdentifier", - "src": "4535:3:56" + "src": "4535:3:8" }, "nodeType": "YulFunctionCall", - "src": "4535:16:56" + "src": "4535:16:8" }, "variableNames": [ { "name": "cleaned", "nodeType": "YulIdentifier", - "src": "4524:7:56" + "src": "4524:7:8" } ] } @@ -5013,7 +3303,7 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "4496:5:56", + "src": "4496:5:8", "type": "" } ], @@ -5021,16 +3311,16 @@ { "name": "cleaned", "nodeType": "YulTypedName", - "src": "4506:7:56", + "src": "4506:7:8", "type": "" } ], - "src": "4471:86:56" + "src": "4471:86:8" }, { "body": { "nodeType": "YulBlock", - "src": "4624:51:56", + "src": "4624:51:8", "statements": [ { "expression": { @@ -5038,35 +3328,35 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "4641:3:56" + "src": "4641:3:8" }, { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "4662:5:56" + "src": "4662:5:8" } ], "functionName": { "name": "cleanup_t_uint8", "nodeType": "YulIdentifier", - "src": "4646:15:56" + "src": "4646:15:8" }, "nodeType": "YulFunctionCall", - "src": "4646:22:56" + "src": "4646:22:8" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "4634:6:56" + "src": "4634:6:8" }, "nodeType": "YulFunctionCall", - "src": "4634:35:56" + "src": "4634:35:8" }, "nodeType": "YulExpressionStatement", - "src": "4634:35:56" + "src": "4634:35:8" } ] }, @@ -5076,37 +3366,37 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "4612:5:56", + "src": "4612:5:8", "type": "" }, { "name": "pos", "nodeType": "YulTypedName", - "src": "4619:3:56", + "src": "4619:3:8", "type": "" } ], - "src": "4563:112:56" + "src": "4563:112:8" }, { "body": { "nodeType": "YulBlock", - "src": "4775:120:56", + "src": "4775:120:8", "statements": [ { "nodeType": "YulAssignment", - "src": "4785:26:56", + "src": "4785:26:8", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "4797:9:56" + "src": "4797:9:8" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "4808:2:56", + "src": "4808:2:8", "type": "", "value": "32" } @@ -5114,16 +3404,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "4793:3:56" + "src": "4793:3:8" }, "nodeType": "YulFunctionCall", - "src": "4793:18:56" + "src": "4793:18:8" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "4785:4:56" + "src": "4785:4:8" } ] }, @@ -5133,19 +3423,19 @@ { "name": "value0", "nodeType": "YulIdentifier", - "src": "4861:6:56" + "src": "4861:6:8" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "4874:9:56" + "src": "4874:9:8" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "4885:1:56", + "src": "4885:1:8", "type": "", "value": "0" } @@ -5153,22 +3443,22 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "4870:3:56" + "src": "4870:3:8" }, "nodeType": "YulFunctionCall", - "src": "4870:17:56" + "src": "4870:17:8" } ], "functionName": { "name": "abi_encode_t_uint8_to_t_uint8_fromStack", "nodeType": "YulIdentifier", - "src": "4821:39:56" + "src": "4821:39:8" }, "nodeType": "YulFunctionCall", - "src": "4821:67:56" + "src": "4821:67:8" }, "nodeType": "YulExpressionStatement", - "src": "4821:67:56" + "src": "4821:67:8" } ] }, @@ -5178,13 +3468,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "4747:9:56", + "src": "4747:9:8", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", - "src": "4759:6:56", + "src": "4759:6:8", "type": "" } ], @@ -5192,21 +3482,21 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "4770:4:56", + "src": "4770:4:8", "type": "" } ], - "src": "4681:214:56" + "src": "4681:214:8" }, { "body": { "nodeType": "YulBlock", - "src": "4967:263:56", + "src": "4967:263:8", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "5013:83:56", + "src": "5013:83:8", "statements": [ { "expression": { @@ -5214,13 +3504,13 @@ "functionName": { "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulIdentifier", - "src": "5015:77:56" + "src": "5015:77:8" }, "nodeType": "YulFunctionCall", - "src": "5015:79:56" + "src": "5015:79:8" }, "nodeType": "YulExpressionStatement", - "src": "5015:79:56" + "src": "5015:79:8" } ] }, @@ -5231,26 +3521,26 @@ { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "4988:7:56" + "src": "4988:7:8" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "4997:9:56" + "src": "4997:9:8" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "4984:3:56" + "src": "4984:3:8" }, "nodeType": "YulFunctionCall", - "src": "4984:23:56" + "src": "4984:23:8" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "5009:2:56", + "src": "5009:2:8", "type": "", "value": "32" } @@ -5258,25 +3548,25 @@ "functionName": { "name": "slt", "nodeType": "YulIdentifier", - "src": "4980:3:56" + "src": "4980:3:8" }, "nodeType": "YulFunctionCall", - "src": "4980:32:56" + "src": "4980:32:8" }, "nodeType": "YulIf", - "src": "4977:119:56" + "src": "4977:119:8" }, { "nodeType": "YulBlock", - "src": "5106:117:56", + "src": "5106:117:8", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "5121:15:56", + "src": "5121:15:8", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "5135:1:56", + "src": "5135:1:8", "type": "", "value": "0" }, @@ -5284,14 +3574,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "5125:6:56", + "src": "5125:6:8", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "5150:63:56", + "src": "5150:63:8", "value": { "arguments": [ { @@ -5299,41 +3589,210 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "5185:9:56" + "src": "5185:9:8" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "5196:6:56" + "src": "5196:6:8" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "5181:3:56" + "src": "5181:3:8" }, "nodeType": "YulFunctionCall", - "src": "5181:22:56" + "src": "5181:22:8" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "5205:7:56" + "src": "5205:7:8" } ], "functionName": { - "name": "abi_decode_t_address", + "name": "abi_decode_t_uint256", "nodeType": "YulIdentifier", - "src": "5160:20:56" + "src": "5160:20:8" }, "nodeType": "YulFunctionCall", - "src": "5160:53:56" + "src": "5160:53:8" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "5150:6:56" + "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" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "5495:20:8" + }, + "nodeType": "YulFunctionCall", + "src": "5495:53:8" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "5485:6:8" } ] } @@ -5347,13 +3806,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "4937:9:56", + "src": "5272:9:8", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", - "src": "4948:7:56", + "src": "5283:7:8", "type": "" } ], @@ -5361,21 +3820,192 @@ { "name": "value0", "nodeType": "YulTypedName", - "src": "4960:6:56", + "src": "5295:6:8", "type": "" } ], - "src": "4901:329:56" + "src": "5236:329:8" }, { "body": { "nodeType": "YulBlock", - "src": "5319:391:56", + "src": "5636:53:8", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5653:3:8" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5676:5:8" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nodeType": "YulIdentifier", + "src": "5658:17:8" + }, + "nodeType": "YulFunctionCall", + "src": "5658:24:8" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "5646:6:8" + }, + "nodeType": "YulFunctionCall", + "src": "5646:37:8" + }, + "nodeType": "YulExpressionStatement", + "src": "5646:37:8" + } + ] + }, + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "5624:5:8", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "5631:3:8", + "type": "" + } + ], + "src": "5571:118:8" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5793:124:8", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5803:26:8", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5815:9:8" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5826:2:8", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5811:3:8" + }, + "nodeType": "YulFunctionCall", + "src": "5811:18:8" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "5803:4:8" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "5883:6:8" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5896:9:8" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5907:1:8", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5892:3:8" + }, + "nodeType": "YulFunctionCall", + "src": "5892:17:8" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "5839:43:8" + }, + "nodeType": "YulFunctionCall", + "src": "5839:71:8" + }, + "nodeType": "YulExpressionStatement", + "src": "5839:71:8" + } + ] + }, + "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "5765:9:8", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "5777:6:8", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "5788:4:8", + "type": "" + } + ], + "src": "5695:222:8" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6006:391:8", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "5365:83:56", + "src": "6052:83:8", "statements": [ { "expression": { @@ -5383,13 +4013,13 @@ "functionName": { "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulIdentifier", - "src": "5367:77:56" + "src": "6054:77:8" }, "nodeType": "YulFunctionCall", - "src": "5367:79:56" + "src": "6054:79:8" }, "nodeType": "YulExpressionStatement", - "src": "5367:79:56" + "src": "6054:79:8" } ] }, @@ -5400,26 +4030,26 @@ { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "5340:7:56" + "src": "6027:7:8" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "5349:9:56" + "src": "6036:9:8" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "5336:3:56" + "src": "6023:3:8" }, "nodeType": "YulFunctionCall", - "src": "5336:23:56" + "src": "6023:23:8" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "5361:2:56", + "src": "6048:2:8", "type": "", "value": "64" } @@ -5427,25 +4057,25 @@ "functionName": { "name": "slt", "nodeType": "YulIdentifier", - "src": "5332:3:56" + "src": "6019:3:8" }, "nodeType": "YulFunctionCall", - "src": "5332:32:56" + "src": "6019:32:8" }, "nodeType": "YulIf", - "src": "5329:119:56" + "src": "6016:119:8" }, { "nodeType": "YulBlock", - "src": "5458:117:56", + "src": "6145:117:8", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "5473:15:56", + "src": "6160:15:8", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "5487:1:56", + "src": "6174:1:8", "type": "", "value": "0" }, @@ -5453,14 +4083,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "5477:6:56", + "src": "6164:6:8", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "5502:63:56", + "src": "6189:63:8", "value": { "arguments": [ { @@ -5468,41 +4098,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "5537:9:56" + "src": "6224:9:8" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "5548:6:56" + "src": "6235:6:8" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "5533:3:56" + "src": "6220:3:8" }, "nodeType": "YulFunctionCall", - "src": "5533:22:56" + "src": "6220:22:8" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "5557:7:56" + "src": "6244:7:8" } ], "functionName": { "name": "abi_decode_t_address", "nodeType": "YulIdentifier", - "src": "5512:20:56" + "src": "6199:20:8" }, "nodeType": "YulFunctionCall", - "src": "5512:53:56" + "src": "6199:53:8" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "5502:6:56" + "src": "6189:6:8" } ] } @@ -5510,15 +4140,15 @@ }, { "nodeType": "YulBlock", - "src": "5585:118:56", + "src": "6272:118:8", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "5600:16:56", + "src": "6287:16:8", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "5614:2:56", + "src": "6301:2:8", "type": "", "value": "32" }, @@ -5526,14 +4156,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "5604:6:56", + "src": "6291:6:8", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "5630:63:56", + "src": "6317:63:8", "value": { "arguments": [ { @@ -5541,41 +4171,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "5665:9:56" + "src": "6352:9:8" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "5676:6:56" + "src": "6363:6:8" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "5661:3:56" + "src": "6348:3:8" }, "nodeType": "YulFunctionCall", - "src": "5661:22:56" + "src": "6348:22:8" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "5685:7:56" + "src": "6372:7:8" } ], "functionName": { "name": "abi_decode_t_address", "nodeType": "YulIdentifier", - "src": "5640:20:56" + "src": "6327:20:8" }, "nodeType": "YulFunctionCall", - "src": "5640:53:56" + "src": "6327:53:8" }, "variableNames": [ { "name": "value1", "nodeType": "YulIdentifier", - "src": "5630:6:56" + "src": "6317:6:8" } ] } @@ -5589,13 +4219,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "5281:9:56", + "src": "5968:9:8", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", - "src": "5292:7:56", + "src": "5979:7:8", "type": "" } ], @@ -5603,22 +4233,22 @@ { "name": "value0", "nodeType": "YulTypedName", - "src": "5304:6:56", + "src": "5991:6:8", "type": "" }, { "name": "value1", "nodeType": "YulTypedName", - "src": "5312:6:56", + "src": "5999:6:8", "type": "" } ], - "src": "5236:474:56" + "src": "5923:474:8" }, { "body": { "nodeType": "YulBlock", - "src": "5744:152:56", + "src": "6431:152:8", "statements": [ { "expression": { @@ -5626,14 +4256,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "5761:1:56", + "src": "6448:1:8", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "5764:77:56", + "src": "6451:77:8", "type": "", "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" } @@ -5641,13 +4271,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "5754:6:56" + "src": "6441:6:8" }, "nodeType": "YulFunctionCall", - "src": "5754:88:56" + "src": "6441:88:8" }, "nodeType": "YulExpressionStatement", - "src": "5754:88:56" + "src": "6441:88:8" }, { "expression": { @@ -5655,14 +4285,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "5858:1:56", + "src": "6545:1:8", "type": "", "value": "4" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "5861:4:56", + "src": "6548:4:8", "type": "", "value": "0x22" } @@ -5670,13 +4300,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "5851:6:56" + "src": "6538:6:8" }, "nodeType": "YulFunctionCall", - "src": "5851:15:56" + "src": "6538:15:8" }, "nodeType": "YulExpressionStatement", - "src": "5851:15:56" + "src": "6538:15:8" }, { "expression": { @@ -5684,14 +4314,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "5882:1:56", + "src": "6569:1:8", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "5885:4:56", + "src": "6572:4:8", "type": "", "value": "0x24" } @@ -5699,39 +4329,39 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "5875:6:56" + "src": "6562:6:8" }, "nodeType": "YulFunctionCall", - "src": "5875:15:56" + "src": "6562:15:8" }, "nodeType": "YulExpressionStatement", - "src": "5875:15:56" + "src": "6562:15:8" } ] }, "name": "panic_error_0x22", "nodeType": "YulFunctionDefinition", - "src": "5716:180:56" + "src": "6403:180:8" }, { "body": { "nodeType": "YulBlock", - "src": "5953:269:56", + "src": "6640:269:8", "statements": [ { "nodeType": "YulAssignment", - "src": "5963:22:56", + "src": "6650:22:8", "value": { "arguments": [ { "name": "data", "nodeType": "YulIdentifier", - "src": "5977:4:56" + "src": "6664:4:8" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "5983:1:56", + "src": "6670:1:8", "type": "", "value": "2" } @@ -5739,33 +4369,33 @@ "functionName": { "name": "div", "nodeType": "YulIdentifier", - "src": "5973:3:56" + "src": "6660:3:8" }, "nodeType": "YulFunctionCall", - "src": "5973:12:56" + "src": "6660:12:8" }, "variableNames": [ { "name": "length", "nodeType": "YulIdentifier", - "src": "5963:6:56" + "src": "6650:6:8" } ] }, { "nodeType": "YulVariableDeclaration", - "src": "5994:38:56", + "src": "6681:38:8", "value": { "arguments": [ { "name": "data", "nodeType": "YulIdentifier", - "src": "6024:4:56" + "src": "6711:4:8" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "6030:1:56", + "src": "6717:1:8", "type": "", "value": "1" } @@ -5773,16 +4403,16 @@ "functionName": { "name": "and", "nodeType": "YulIdentifier", - "src": "6020:3:56" + "src": "6707:3:8" }, "nodeType": "YulFunctionCall", - "src": "6020:12:56" + "src": "6707:12:8" }, "variables": [ { "name": "outOfPlaceEncoding", "nodeType": "YulTypedName", - "src": "5998:18:56", + "src": "6685:18:8", "type": "" } ] @@ -5790,22 +4420,22 @@ { "body": { "nodeType": "YulBlock", - "src": "6071:51:56", + "src": "6758:51:8", "statements": [ { "nodeType": "YulAssignment", - "src": "6085:27:56", + "src": "6772:27:8", "value": { "arguments": [ { "name": "length", "nodeType": "YulIdentifier", - "src": "6099:6:56" + "src": "6786:6:8" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "6107:4:56", + "src": "6794:4:8", "type": "", "value": "0x7f" } @@ -5813,16 +4443,16 @@ "functionName": { "name": "and", "nodeType": "YulIdentifier", - "src": "6095:3:56" + "src": "6782:3:8" }, "nodeType": "YulFunctionCall", - "src": "6095:17:56" + "src": "6782:17:8" }, "variableNames": [ { "name": "length", "nodeType": "YulIdentifier", - "src": "6085:6:56" + "src": "6772:6:8" } ] } @@ -5833,24 +4463,24 @@ { "name": "outOfPlaceEncoding", "nodeType": "YulIdentifier", - "src": "6051:18:56" + "src": "6738:18:8" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "6044:6:56" + "src": "6731:6:8" }, "nodeType": "YulFunctionCall", - "src": "6044:26:56" + "src": "6731:26:8" }, "nodeType": "YulIf", - "src": "6041:81:56" + "src": "6728:81:8" }, { "body": { "nodeType": "YulBlock", - "src": "6174:42:56", + "src": "6861:42:8", "statements": [ { "expression": { @@ -5858,13 +4488,13 @@ "functionName": { "name": "panic_error_0x22", "nodeType": "YulIdentifier", - "src": "6188:16:56" + "src": "6875:16:8" }, "nodeType": "YulFunctionCall", - "src": "6188:18:56" + "src": "6875:18:8" }, "nodeType": "YulExpressionStatement", - "src": "6188:18:56" + "src": "6875:18:8" } ] }, @@ -5873,19 +4503,19 @@ { "name": "outOfPlaceEncoding", "nodeType": "YulIdentifier", - "src": "6138:18:56" + "src": "6825:18:8" }, { "arguments": [ { "name": "length", "nodeType": "YulIdentifier", - "src": "6161:6:56" + "src": "6848:6:8" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "6169:2:56", + "src": "6856:2:8", "type": "", "value": "32" } @@ -5893,22 +4523,22 @@ "functionName": { "name": "lt", "nodeType": "YulIdentifier", - "src": "6158:2:56" + "src": "6845:2:8" }, "nodeType": "YulFunctionCall", - "src": "6158:14:56" + "src": "6845:14:8" } ], "functionName": { "name": "eq", "nodeType": "YulIdentifier", - "src": "6135:2:56" + "src": "6822:2:8" }, "nodeType": "YulFunctionCall", - "src": "6135:38:56" + "src": "6822:38:8" }, "nodeType": "YulIf", - "src": "6132:84:56" + "src": "6819:84:8" } ] }, @@ -5918,7 +4548,7 @@ { "name": "data", "nodeType": "YulTypedName", - "src": "5937:4:56", + "src": "6624:4:8", "type": "" } ], @@ -5926,16 +4556,16 @@ { "name": "length", "nodeType": "YulTypedName", - "src": "5946:6:56", + "src": "6633:6:8", "type": "" } ], - "src": "5902:320:56" + "src": "6589:320:8" }, { "body": { "nodeType": "YulBlock", - "src": "6256:152:56", + "src": "6943:152:8", "statements": [ { "expression": { @@ -5943,14 +4573,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "6273:1:56", + "src": "6960:1:8", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "6276:77:56", + "src": "6963:77:8", "type": "", "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" } @@ -5958,13 +4588,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "6266:6:56" + "src": "6953:6:8" }, "nodeType": "YulFunctionCall", - "src": "6266:88:56" + "src": "6953:88:8" }, "nodeType": "YulExpressionStatement", - "src": "6266:88:56" + "src": "6953:88:8" }, { "expression": { @@ -5972,14 +4602,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "6370:1:56", + "src": "7057:1:8", "type": "", "value": "4" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "6373:4:56", + "src": "7060:4:8", "type": "", "value": "0x11" } @@ -5987,13 +4617,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "6363:6:56" + "src": "7050:6:8" }, "nodeType": "YulFunctionCall", - "src": "6363:15:56" + "src": "7050:15:8" }, "nodeType": "YulExpressionStatement", - "src": "6363:15:56" + "src": "7050:15:8" }, { "expression": { @@ -6001,14 +4631,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "6394:1:56", + "src": "7081:1:8", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "6397:4:56", + "src": "7084:4:8", "type": "", "value": "0x24" } @@ -6016,83 +4646,83 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "6387:6:56" + "src": "7074:6:8" }, "nodeType": "YulFunctionCall", - "src": "6387:15:56" + "src": "7074:15:8" }, "nodeType": "YulExpressionStatement", - "src": "6387:15:56" + "src": "7074:15:8" } ] }, "name": "panic_error_0x11", "nodeType": "YulFunctionDefinition", - "src": "6228:180:56" + "src": "6915:180:8" }, { "body": { "nodeType": "YulBlock", - "src": "6458:261:56", + "src": "7145:261:8", "statements": [ { "nodeType": "YulAssignment", - "src": "6468:25:56", + "src": "7155:25:8", "value": { "arguments": [ { "name": "x", "nodeType": "YulIdentifier", - "src": "6491:1:56" + "src": "7178:1:8" } ], "functionName": { "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", - "src": "6473:17:56" + "src": "7160:17:8" }, "nodeType": "YulFunctionCall", - "src": "6473:20:56" + "src": "7160:20:8" }, "variableNames": [ { "name": "x", "nodeType": "YulIdentifier", - "src": "6468:1:56" + "src": "7155:1:8" } ] }, { "nodeType": "YulAssignment", - "src": "6502:25:56", + "src": "7189:25:8", "value": { "arguments": [ { "name": "y", "nodeType": "YulIdentifier", - "src": "6525:1:56" + "src": "7212:1:8" } ], "functionName": { "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", - "src": "6507:17:56" + "src": "7194:17:8" }, "nodeType": "YulFunctionCall", - "src": "6507:20:56" + "src": "7194:20:8" }, "variableNames": [ { "name": "y", "nodeType": "YulIdentifier", - "src": "6502:1:56" + "src": "7189:1:8" } ] }, { "body": { "nodeType": "YulBlock", - "src": "6665:22:56", + "src": "7352:22:8", "statements": [ { "expression": { @@ -6100,13 +4730,13 @@ "functionName": { "name": "panic_error_0x11", "nodeType": "YulIdentifier", - "src": "6667:16:56" + "src": "7354:16:8" }, "nodeType": "YulFunctionCall", - "src": "6667:18:56" + "src": "7354:18:8" }, "nodeType": "YulExpressionStatement", - "src": "6667:18:56" + "src": "7354:18:8" } ] }, @@ -6115,72 +4745,72 @@ { "name": "x", "nodeType": "YulIdentifier", - "src": "6586:1:56" + "src": "7273:1:8" }, { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", - "src": "6593:66:56", + "src": "7280:66:8", "type": "", "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" }, { "name": "y", "nodeType": "YulIdentifier", - "src": "6661:1:56" + "src": "7348:1:8" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "6589:3:56" + "src": "7276:3:8" }, "nodeType": "YulFunctionCall", - "src": "6589:74:56" + "src": "7276:74:8" } ], "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "6583:2:56" + "src": "7270:2:8" }, "nodeType": "YulFunctionCall", - "src": "6583:81:56" + "src": "7270:81:8" }, "nodeType": "YulIf", - "src": "6580:107:56" + "src": "7267:107:8" }, { "nodeType": "YulAssignment", - "src": "6697:16:56", + "src": "7384:16:8", "value": { "arguments": [ { "name": "x", "nodeType": "YulIdentifier", - "src": "6708:1:56" + "src": "7395:1:8" }, { "name": "y", "nodeType": "YulIdentifier", - "src": "6711:1:56" + "src": "7398:1:8" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "6704:3:56" + "src": "7391:3:8" }, "nodeType": "YulFunctionCall", - "src": "6704:9:56" + "src": "7391:9:8" }, "variableNames": [ { "name": "sum", "nodeType": "YulIdentifier", - "src": "6697:3:56" + "src": "7384:3:8" } ] } @@ -6192,13 +4822,13 @@ { "name": "x", "nodeType": "YulTypedName", - "src": "6445:1:56", + "src": "7132:1:8", "type": "" }, { "name": "y", "nodeType": "YulTypedName", - "src": "6448:1:56", + "src": "7135:1:8", "type": "" } ], @@ -6206,16 +4836,16 @@ { "name": "sum", "nodeType": "YulTypedName", - "src": "6454:3:56", + "src": "7141:3:8", "type": "" } ], - "src": "6414:305:56" + "src": "7101:305:8" }, { "body": { "nodeType": "YulBlock", - "src": "6831:118:56", + "src": "7518:76:8", "statements": [ { "expression": { @@ -6225,12 +4855,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "6853:6:56" + "src": "7540:6:8" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "6861:1:56", + "src": "7548:1:8", "type": "", "value": "0" } @@ -6238,127 +4868,81 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "6849:3:56" + "src": "7536:3:8" }, "nodeType": "YulFunctionCall", - "src": "6849:14:56" + "src": "7536:14:8" }, { - "hexValue": "45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77", + "hexValue": "4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572", "kind": "string", "nodeType": "YulLiteral", - "src": "6865:34:56", + "src": "7552:34:8", "type": "", - "value": "ERC20: decreased allowance below" + "value": "Ownable: caller is not the owner" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "6842:6:56" + "src": "7529:6:8" }, "nodeType": "YulFunctionCall", - "src": "6842:58:56" + "src": "7529:58:8" }, "nodeType": "YulExpressionStatement", - "src": "6842:58:56" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "6921:6:56" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6929:2:56", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6917:3:56" - }, - "nodeType": "YulFunctionCall", - "src": "6917:15:56" - }, - { - "hexValue": "207a65726f", - "kind": "string", - "nodeType": "YulLiteral", - "src": "6934:7:56", - "type": "", - "value": " zero" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6910:6:56" - }, - "nodeType": "YulFunctionCall", - "src": "6910:32:56" - }, - "nodeType": "YulExpressionStatement", - "src": "6910:32:56" + "src": "7529:58:8" } ] }, - "name": "store_literal_in_memory_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8", + "name": "store_literal_in_memory_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "6823:6:56", + "src": "7510:6:8", "type": "" } ], - "src": "6725:224:56" + "src": "7412:182:8" }, { "body": { "nodeType": "YulBlock", - "src": "7101:220:56", + "src": "7746:220:8", "statements": [ { "nodeType": "YulAssignment", - "src": "7111:74:56", + "src": "7756:74:8", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "7177:3:56" + "src": "7822:3:8" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "7182:2:56", + "src": "7827:2:8", "type": "", - "value": "37" + "value": "32" } ], "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "7118:58:56" + "src": "7763:58:8" }, "nodeType": "YulFunctionCall", - "src": "7118:67:56" + "src": "7763:67:8" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "7111:3:56" + "src": "7756:3:8" } ] }, @@ -6368,34 +4952,407 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "7283:3:56" + "src": "7928:3:8" } ], "functionName": { - "name": "store_literal_in_memory_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8", + "name": "store_literal_in_memory_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe", "nodeType": "YulIdentifier", - "src": "7194:88:56" + "src": "7839:88:8" }, "nodeType": "YulFunctionCall", - "src": "7194:93:56" + "src": "7839:93:8" }, "nodeType": "YulExpressionStatement", - "src": "7194:93:56" + "src": "7839:93:8" }, { "nodeType": "YulAssignment", - "src": "7296:19:56", + "src": "7941:19:8", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "7307:3:56" + "src": "7952:3:8" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "7312:2:56", + "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" + }, + { + "hexValue": "45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77", + "kind": "string", + "nodeType": "YulLiteral", + "src": "8537:34:8", + "type": "", + "value": "ERC20: decreased allowance below" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "8514:6:8" + }, + "nodeType": "YulFunctionCall", + "src": "8514:58:8" + }, + "nodeType": "YulExpressionStatement", + "src": "8514:58:8" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "8593:6:8" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8601:2:8", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8589:3:8" + }, + "nodeType": "YulFunctionCall", + "src": "8589:15:8" + }, + { + "hexValue": "207a65726f", + "kind": "string", + "nodeType": "YulLiteral", + "src": "8606:7:8", + "type": "", + "value": " zero" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "8582:6:8" + }, + "nodeType": "YulFunctionCall", + "src": "8582:32:8" + }, + "nodeType": "YulExpressionStatement", + "src": "8582:32:8" + } + ] + }, + "name": "store_literal_in_memory_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "8495:6:8", + "type": "" + } + ], + "src": "8397:224:8" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8773:220:8", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "8783:74:8", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8849:3:8" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8854:2:8", + "type": "", + "value": "37" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "8790:58:8" + }, + "nodeType": "YulFunctionCall", + "src": "8790:67:8" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8783:3:8" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8955:3:8" + } + ], + "functionName": { + "name": "store_literal_in_memory_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8", + "nodeType": "YulIdentifier", + "src": "8866:88:8" + }, + "nodeType": "YulFunctionCall", + "src": "8866:93:8" + }, + "nodeType": "YulExpressionStatement", + "src": "8866:93:8" + }, + { + "nodeType": "YulAssignment", + "src": "8968:19:8", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8979:3:8" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8984:2:8", "type": "", "value": "64" } @@ -6403,16 +5360,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "7303:3:56" + "src": "8975:3:8" }, "nodeType": "YulFunctionCall", - "src": "7303:12:56" + "src": "8975:12:8" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "7296:3:56" + "src": "8968:3:8" } ] } @@ -6424,7 +5381,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "7089:3:56", + "src": "8761:3:8", "type": "" } ], @@ -6432,31 +5389,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "7097:3:56", + "src": "8769:3:8", "type": "" } ], - "src": "6955:366:56" + "src": "8627:366:8" }, { "body": { "nodeType": "YulBlock", - "src": "7498:248:56", + "src": "9170:248:8", "statements": [ { "nodeType": "YulAssignment", - "src": "7508:26:56", + "src": "9180:26:8", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "7520:9:56" + "src": "9192:9:8" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "7531:2:56", + "src": "9203:2:8", "type": "", "value": "32" } @@ -6464,16 +5421,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "7516:3:56" + "src": "9188:3:8" }, "nodeType": "YulFunctionCall", - "src": "7516:18:56" + "src": "9188:18:8" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "7508:4:56" + "src": "9180:4:8" } ] }, @@ -6485,12 +5442,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "7555:9:56" + "src": "9227:9:8" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "7566:1:56", + "src": "9238:1:8", "type": "", "value": "0" } @@ -6498,68 +5455,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "7551:3:56" + "src": "9223:3:8" }, "nodeType": "YulFunctionCall", - "src": "7551:17:56" + "src": "9223:17:8" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "7574:4:56" + "src": "9246:4:8" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "7580:9:56" + "src": "9252:9:8" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "7570:3:56" + "src": "9242:3:8" }, "nodeType": "YulFunctionCall", - "src": "7570:20:56" + "src": "9242:20:8" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "7544:6:56" + "src": "9216:6:8" }, "nodeType": "YulFunctionCall", - "src": "7544:47:56" + "src": "9216:47:8" }, "nodeType": "YulExpressionStatement", - "src": "7544:47:56" + "src": "9216:47:8" }, { "nodeType": "YulAssignment", - "src": "7600:139:56", + "src": "9272:139:8", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "7734:4:56" + "src": "9406:4:8" } ], "functionName": { "name": "abi_encode_t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "7608:124:56" + "src": "9280:124:8" }, "nodeType": "YulFunctionCall", - "src": "7608:131:56" + "src": "9280:131:8" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "7600:4:56" + "src": "9272:4:8" } ] } @@ -6571,7 +5528,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "7478:9:56", + "src": "9150:9:8", "type": "" } ], @@ -6579,16 +5536,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "7493:4:56", + "src": "9165:4:8", "type": "" } ], - "src": "7327:419:56" + "src": "8999:419:8" }, { "body": { "nodeType": "YulBlock", - "src": "7858:117:56", + "src": "9530:119:8", "statements": [ { "expression": { @@ -6598,12 +5555,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "7880:6:56" + "src": "9552:6:8" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "7888:1:56", + "src": "9560:1:8", "type": "", "value": "0" } @@ -6611,30 +5568,30 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "7876:3:56" + "src": "9548:3:8" }, "nodeType": "YulFunctionCall", - "src": "7876:14:56" + "src": "9548:14:8" }, { - "hexValue": "45524332303a20617070726f76652066726f6d20746865207a65726f20616464", + "hexValue": "4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061", "kind": "string", "nodeType": "YulLiteral", - "src": "7892:34:56", + "src": "9564:34:8", "type": "", - "value": "ERC20: approve from the zero add" + "value": "Ownable: new owner is the zero a" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "7869:6:56" + "src": "9541:6:8" }, "nodeType": "YulFunctionCall", - "src": "7869:58:56" + "src": "9541:58:8" }, "nodeType": "YulExpressionStatement", - "src": "7869:58:56" + "src": "9541:58:8" }, { "expression": { @@ -6644,12 +5601,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "7948:6:56" + "src": "9620:6:8" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "7956:2:56", + "src": "9628:2:8", "type": "", "value": "32" } @@ -6657,81 +5614,81 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "7944:3:56" + "src": "9616:3:8" }, "nodeType": "YulFunctionCall", - "src": "7944:15:56" + "src": "9616:15:8" }, { - "hexValue": "72657373", + "hexValue": "646472657373", "kind": "string", "nodeType": "YulLiteral", - "src": "7961:6:56", + "src": "9633:8:8", "type": "", - "value": "ress" + "value": "ddress" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "7937:6:56" + "src": "9609:6:8" }, "nodeType": "YulFunctionCall", - "src": "7937:31:56" + "src": "9609:33:8" }, "nodeType": "YulExpressionStatement", - "src": "7937:31:56" + "src": "9609:33:8" } ] }, - "name": "store_literal_in_memory_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208", + "name": "store_literal_in_memory_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "7850:6:56", + "src": "9522:6:8", "type": "" } ], - "src": "7752:223:56" + "src": "9424:225:8" }, { "body": { "nodeType": "YulBlock", - "src": "8127:220:56", + "src": "9801:220:8", "statements": [ { "nodeType": "YulAssignment", - "src": "8137:74:56", + "src": "9811:74:8", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "8203:3:56" + "src": "9877:3:8" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "8208:2:56", + "src": "9882:2:8", "type": "", - "value": "36" + "value": "38" } ], "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "8144:58:56" + "src": "9818:58:8" }, "nodeType": "YulFunctionCall", - "src": "8144:67:56" + "src": "9818:67:8" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "8137:3:56" + "src": "9811:3:8" } ] }, @@ -6741,34 +5698,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "8309:3:56" + "src": "9983:3:8" } ], "functionName": { - "name": "store_literal_in_memory_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208", + "name": "store_literal_in_memory_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe", "nodeType": "YulIdentifier", - "src": "8220:88:56" + "src": "9894:88:8" }, "nodeType": "YulFunctionCall", - "src": "8220:93:56" + "src": "9894:93:8" }, "nodeType": "YulExpressionStatement", - "src": "8220:93:56" + "src": "9894:93:8" }, { "nodeType": "YulAssignment", - "src": "8322:19:56", + "src": "9996:19:8", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "8333:3:56" + "src": "10007:3:8" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "8338:2:56", + "src": "10012:2:8", "type": "", "value": "64" } @@ -6776,16 +5733,389 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "8329:3:56" + "src": "10003:3:8" }, "nodeType": "YulFunctionCall", - "src": "8329:12:56" + "src": "10003:12:8" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "8322:3:56" + "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" + }, + { + "hexValue": "45524332303a20617070726f76652066726f6d20746865207a65726f20616464", + "kind": "string", + "nodeType": "YulLiteral", + "src": "10592:34:8", + "type": "", + "value": "ERC20: approve from the zero add" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "10569:6:8" + }, + "nodeType": "YulFunctionCall", + "src": "10569:58:8" + }, + "nodeType": "YulExpressionStatement", + "src": "10569:58:8" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "10648:6:8" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10656:2:8", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10644:3:8" + }, + "nodeType": "YulFunctionCall", + "src": "10644:15:8" + }, + { + "hexValue": "72657373", + "kind": "string", + "nodeType": "YulLiteral", + "src": "10661:6:8", + "type": "", + "value": "ress" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "10637:6:8" + }, + "nodeType": "YulFunctionCall", + "src": "10637:31:8" + }, + "nodeType": "YulExpressionStatement", + "src": "10637:31:8" + } + ] + }, + "name": "store_literal_in_memory_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "10550:6:8", + "type": "" + } + ], + "src": "10452:223:8" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10827:220:8", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "10837:74:8", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10903:3:8" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10908:2:8", + "type": "", + "value": "36" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "10844:58:8" + }, + "nodeType": "YulFunctionCall", + "src": "10844:67:8" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10837:3:8" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "11009:3:8" + } + ], + "functionName": { + "name": "store_literal_in_memory_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208", + "nodeType": "YulIdentifier", + "src": "10920:88:8" + }, + "nodeType": "YulFunctionCall", + "src": "10920:93:8" + }, + "nodeType": "YulExpressionStatement", + "src": "10920:93:8" + }, + { + "nodeType": "YulAssignment", + "src": "11022:19:8", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "11033:3:8" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11038:2:8", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11029:3:8" + }, + "nodeType": "YulFunctionCall", + "src": "11029:12:8" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "11022:3:8" } ] } @@ -6797,7 +6127,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "8115:3:56", + "src": "10815:3:8", "type": "" } ], @@ -6805,31 +6135,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "8123:3:56", + "src": "10823:3:8", "type": "" } ], - "src": "7981:366:56" + "src": "10681:366:8" }, { "body": { "nodeType": "YulBlock", - "src": "8524:248:56", + "src": "11224:248:8", "statements": [ { "nodeType": "YulAssignment", - "src": "8534:26:56", + "src": "11234:26:8", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "8546:9:56" + "src": "11246:9:8" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "8557:2:56", + "src": "11257:2:8", "type": "", "value": "32" } @@ -6837,16 +6167,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "8542:3:56" + "src": "11242:3:8" }, "nodeType": "YulFunctionCall", - "src": "8542:18:56" + "src": "11242:18:8" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "8534:4:56" + "src": "11234:4:8" } ] }, @@ -6858,12 +6188,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "8581:9:56" + "src": "11281:9:8" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "8592:1:56", + "src": "11292:1:8", "type": "", "value": "0" } @@ -6871,68 +6201,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "8577:3:56" + "src": "11277:3:8" }, "nodeType": "YulFunctionCall", - "src": "8577:17:56" + "src": "11277:17:8" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "8600:4:56" + "src": "11300:4:8" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "8606:9:56" + "src": "11306:9:8" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "8596:3:56" + "src": "11296:3:8" }, "nodeType": "YulFunctionCall", - "src": "8596:20:56" + "src": "11296:20:8" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "8570:6:56" + "src": "11270:6:8" }, "nodeType": "YulFunctionCall", - "src": "8570:47:56" + "src": "11270:47:8" }, "nodeType": "YulExpressionStatement", - "src": "8570:47:56" + "src": "11270:47:8" }, { "nodeType": "YulAssignment", - "src": "8626:139:56", + "src": "11326:139:8", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "8760:4:56" + "src": "11460:4:8" } ], "functionName": { "name": "abi_encode_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "8634:124:56" + "src": "11334:124:8" }, "nodeType": "YulFunctionCall", - "src": "8634:131:56" + "src": "11334:131:8" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "8626:4:56" + "src": "11326:4:8" } ] } @@ -6944,7 +6274,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "8504:9:56", + "src": "11204:9:8", "type": "" } ], @@ -6952,16 +6282,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "8519:4:56", + "src": "11219:4:8", "type": "" } ], - "src": "8353:419:56" + "src": "11053:419:8" }, { "body": { "nodeType": "YulBlock", - "src": "8884:115:56", + "src": "11584:115:8", "statements": [ { "expression": { @@ -6971,12 +6301,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "8906:6:56" + "src": "11606:6:8" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "8914:1:56", + "src": "11614:1:8", "type": "", "value": "0" } @@ -6984,16 +6314,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "8902:3:56" + "src": "11602:3:8" }, "nodeType": "YulFunctionCall", - "src": "8902:14:56" + "src": "11602:14:8" }, { "hexValue": "45524332303a20617070726f766520746f20746865207a65726f206164647265", "kind": "string", "nodeType": "YulLiteral", - "src": "8918:34:56", + "src": "11618:34:8", "type": "", "value": "ERC20: approve to the zero addre" } @@ -7001,13 +6331,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "8895:6:56" + "src": "11595:6:8" }, "nodeType": "YulFunctionCall", - "src": "8895:58:56" + "src": "11595:58:8" }, "nodeType": "YulExpressionStatement", - "src": "8895:58:56" + "src": "11595:58:8" }, { "expression": { @@ -7017,12 +6347,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "8974:6:56" + "src": "11674:6:8" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "8982:2:56", + "src": "11682:2:8", "type": "", "value": "32" } @@ -7030,16 +6360,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "8970:3:56" + "src": "11670:3:8" }, "nodeType": "YulFunctionCall", - "src": "8970:15:56" + "src": "11670:15:8" }, { "hexValue": "7373", "kind": "string", "nodeType": "YulLiteral", - "src": "8987:4:56", + "src": "11687:4:8", "type": "", "value": "ss" } @@ -7047,13 +6377,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "8963:6:56" + "src": "11663:6:8" }, "nodeType": "YulFunctionCall", - "src": "8963:29:56" + "src": "11663:29:8" }, "nodeType": "YulExpressionStatement", - "src": "8963:29:56" + "src": "11663:29:8" } ] }, @@ -7063,31 +6393,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "8876:6:56", + "src": "11576:6:8", "type": "" } ], - "src": "8778:221:56" + "src": "11478:221:8" }, { "body": { "nodeType": "YulBlock", - "src": "9151:220:56", + "src": "11851:220:8", "statements": [ { "nodeType": "YulAssignment", - "src": "9161:74:56", + "src": "11861:74:8", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "9227:3:56" + "src": "11927:3:8" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "9232:2:56", + "src": "11932:2:8", "type": "", "value": "34" } @@ -7095,16 +6425,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "9168:58:56" + "src": "11868:58:8" }, "nodeType": "YulFunctionCall", - "src": "9168:67:56" + "src": "11868:67:8" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "9161:3:56" + "src": "11861:3:8" } ] }, @@ -7114,34 +6444,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "9333:3:56" + "src": "12033:3:8" } ], "functionName": { "name": "store_literal_in_memory_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029", "nodeType": "YulIdentifier", - "src": "9244:88:56" + "src": "11944:88:8" }, "nodeType": "YulFunctionCall", - "src": "9244:93:56" + "src": "11944:93:8" }, "nodeType": "YulExpressionStatement", - "src": "9244:93:56" + "src": "11944:93:8" }, { "nodeType": "YulAssignment", - "src": "9346:19:56", + "src": "12046:19:8", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "9357:3:56" + "src": "12057:3:8" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "9362:2:56", + "src": "12062:2:8", "type": "", "value": "64" } @@ -7149,16 +6479,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "9353:3:56" + "src": "12053:3:8" }, "nodeType": "YulFunctionCall", - "src": "9353:12:56" + "src": "12053:12:8" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "9346:3:56" + "src": "12046:3:8" } ] } @@ -7170,7 +6500,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "9139:3:56", + "src": "11839:3:8", "type": "" } ], @@ -7178,31 +6508,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "9147:3:56", + "src": "11847:3:8", "type": "" } ], - "src": "9005:366:56" + "src": "11705:366:8" }, { "body": { "nodeType": "YulBlock", - "src": "9548:248:56", + "src": "12248:248:8", "statements": [ { "nodeType": "YulAssignment", - "src": "9558:26:56", + "src": "12258:26:8", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "9570:9:56" + "src": "12270:9:8" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "9581:2:56", + "src": "12281:2:8", "type": "", "value": "32" } @@ -7210,16 +6540,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "9566:3:56" + "src": "12266:3:8" }, "nodeType": "YulFunctionCall", - "src": "9566:18:56" + "src": "12266:18:8" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "9558:4:56" + "src": "12258:4:8" } ] }, @@ -7231,12 +6561,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "9605:9:56" + "src": "12305:9:8" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "9616:1:56", + "src": "12316:1:8", "type": "", "value": "0" } @@ -7244,68 +6574,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "9601:3:56" + "src": "12301:3:8" }, "nodeType": "YulFunctionCall", - "src": "9601:17:56" + "src": "12301:17:8" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "9624:4:56" + "src": "12324:4:8" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "9630:9:56" + "src": "12330:9:8" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "9620:3:56" + "src": "12320:3:8" }, "nodeType": "YulFunctionCall", - "src": "9620:20:56" + "src": "12320:20:8" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "9594:6:56" + "src": "12294:6:8" }, "nodeType": "YulFunctionCall", - "src": "9594:47:56" + "src": "12294:47:8" }, "nodeType": "YulExpressionStatement", - "src": "9594:47:56" + "src": "12294:47:8" }, { "nodeType": "YulAssignment", - "src": "9650:139:56", + "src": "12350:139:8", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "9784:4:56" + "src": "12484:4:8" } ], "functionName": { "name": "abi_encode_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "9658:124:56" + "src": "12358:124:8" }, "nodeType": "YulFunctionCall", - "src": "9658:131:56" + "src": "12358:131:8" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "9650:4:56" + "src": "12350:4:8" } ] } @@ -7317,7 +6647,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "9528:9:56", + "src": "12228:9:8", "type": "" } ], @@ -7325,16 +6655,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "9543:4:56", + "src": "12243:4:8", "type": "" } ], - "src": "9377:419:56" + "src": "12077:419:8" }, { "body": { "nodeType": "YulBlock", - "src": "9908:73:56", + "src": "12608:73:8", "statements": [ { "expression": { @@ -7344,12 +6674,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "9930:6:56" + "src": "12630:6:8" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "9938:1:56", + "src": "12638:1:8", "type": "", "value": "0" } @@ -7357,16 +6687,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "9926:3:56" + "src": "12626:3:8" }, "nodeType": "YulFunctionCall", - "src": "9926:14:56" + "src": "12626:14:8" }, { "hexValue": "45524332303a20696e73756666696369656e7420616c6c6f77616e6365", "kind": "string", "nodeType": "YulLiteral", - "src": "9942:31:56", + "src": "12642:31:8", "type": "", "value": "ERC20: insufficient allowance" } @@ -7374,13 +6704,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "9919:6:56" + "src": "12619:6:8" }, "nodeType": "YulFunctionCall", - "src": "9919:55:56" + "src": "12619:55:8" }, "nodeType": "YulExpressionStatement", - "src": "9919:55:56" + "src": "12619:55:8" } ] }, @@ -7390,31 +6720,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "9900:6:56", + "src": "12600:6:8", "type": "" } ], - "src": "9802:179:56" + "src": "12502:179:8" }, { "body": { "nodeType": "YulBlock", - "src": "10133:220:56", + "src": "12833:220:8", "statements": [ { "nodeType": "YulAssignment", - "src": "10143:74:56", + "src": "12843:74:8", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "10209:3:56" + "src": "12909:3:8" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "10214:2:56", + "src": "12914:2:8", "type": "", "value": "29" } @@ -7422,16 +6752,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "10150:58:56" + "src": "12850:58:8" }, "nodeType": "YulFunctionCall", - "src": "10150:67:56" + "src": "12850:67:8" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "10143:3:56" + "src": "12843:3:8" } ] }, @@ -7441,34 +6771,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "10315:3:56" + "src": "13015:3:8" } ], "functionName": { "name": "store_literal_in_memory_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe", "nodeType": "YulIdentifier", - "src": "10226:88:56" + "src": "12926:88:8" }, "nodeType": "YulFunctionCall", - "src": "10226:93:56" + "src": "12926:93:8" }, "nodeType": "YulExpressionStatement", - "src": "10226:93:56" + "src": "12926:93:8" }, { "nodeType": "YulAssignment", - "src": "10328:19:56", + "src": "13028:19:8", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "10339:3:56" + "src": "13039:3:8" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "10344:2:56", + "src": "13044:2:8", "type": "", "value": "32" } @@ -7476,16 +6806,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "10335:3:56" + "src": "13035:3:8" }, "nodeType": "YulFunctionCall", - "src": "10335:12:56" + "src": "13035:12:8" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "10328:3:56" + "src": "13028:3:8" } ] } @@ -7497,7 +6827,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "10121:3:56", + "src": "12821:3:8", "type": "" } ], @@ -7505,31 +6835,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "10129:3:56", + "src": "12829:3:8", "type": "" } ], - "src": "9987:366:56" + "src": "12687:366:8" }, { "body": { "nodeType": "YulBlock", - "src": "10530:248:56", + "src": "13230:248:8", "statements": [ { "nodeType": "YulAssignment", - "src": "10540:26:56", + "src": "13240:26:8", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "10552:9:56" + "src": "13252:9:8" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "10563:2:56", + "src": "13263:2:8", "type": "", "value": "32" } @@ -7537,16 +6867,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "10548:3:56" + "src": "13248:3:8" }, "nodeType": "YulFunctionCall", - "src": "10548:18:56" + "src": "13248:18:8" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "10540:4:56" + "src": "13240:4:8" } ] }, @@ -7558,12 +6888,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "10587:9:56" + "src": "13287:9:8" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "10598:1:56", + "src": "13298:1:8", "type": "", "value": "0" } @@ -7571,68 +6901,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "10583:3:56" + "src": "13283:3:8" }, "nodeType": "YulFunctionCall", - "src": "10583:17:56" + "src": "13283:17:8" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "10606:4:56" + "src": "13306:4:8" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "10612:9:56" + "src": "13312:9:8" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "10602:3:56" + "src": "13302:3:8" }, "nodeType": "YulFunctionCall", - "src": "10602:20:56" + "src": "13302:20:8" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "10576:6:56" + "src": "13276:6:8" }, "nodeType": "YulFunctionCall", - "src": "10576:47:56" + "src": "13276:47:8" }, "nodeType": "YulExpressionStatement", - "src": "10576:47:56" + "src": "13276:47:8" }, { "nodeType": "YulAssignment", - "src": "10632:139:56", + "src": "13332:139:8", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "10766:4:56" + "src": "13466:4:8" } ], "functionName": { "name": "abi_encode_t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "10640:124:56" + "src": "13340:124:8" }, "nodeType": "YulFunctionCall", - "src": "10640:131:56" + "src": "13340:131:8" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "10632:4:56" + "src": "13332:4:8" } ] } @@ -7644,7 +6974,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "10510:9:56", + "src": "13210:9:8", "type": "" } ], @@ -7652,16 +6982,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "10525:4:56", + "src": "13225:4:8", "type": "" } ], - "src": "10359:419:56" + "src": "13059:419:8" }, { "body": { "nodeType": "YulBlock", - "src": "10890:118:56", + "src": "13590:118:8", "statements": [ { "expression": { @@ -7671,12 +7001,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "10912:6:56" + "src": "13612:6:8" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "10920:1:56", + "src": "13620:1:8", "type": "", "value": "0" } @@ -7684,16 +7014,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "10908:3:56" + "src": "13608:3:8" }, "nodeType": "YulFunctionCall", - "src": "10908:14:56" + "src": "13608:14:8" }, { "hexValue": "45524332303a207472616e736665722066726f6d20746865207a65726f206164", "kind": "string", "nodeType": "YulLiteral", - "src": "10924:34:56", + "src": "13624:34:8", "type": "", "value": "ERC20: transfer from the zero ad" } @@ -7701,13 +7031,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "10901:6:56" + "src": "13601:6:8" }, "nodeType": "YulFunctionCall", - "src": "10901:58:56" + "src": "13601:58:8" }, "nodeType": "YulExpressionStatement", - "src": "10901:58:56" + "src": "13601:58:8" }, { "expression": { @@ -7717,12 +7047,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "10980:6:56" + "src": "13680:6:8" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "10988:2:56", + "src": "13688:2:8", "type": "", "value": "32" } @@ -7730,16 +7060,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "10976:3:56" + "src": "13676:3:8" }, "nodeType": "YulFunctionCall", - "src": "10976:15:56" + "src": "13676:15:8" }, { "hexValue": "6472657373", "kind": "string", "nodeType": "YulLiteral", - "src": "10993:7:56", + "src": "13693:7:8", "type": "", "value": "dress" } @@ -7747,13 +7077,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "10969:6:56" + "src": "13669:6:8" }, "nodeType": "YulFunctionCall", - "src": "10969:32:56" + "src": "13669:32:8" }, "nodeType": "YulExpressionStatement", - "src": "10969:32:56" + "src": "13669:32:8" } ] }, @@ -7763,31 +7093,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "10882:6:56", + "src": "13582:6:8", "type": "" } ], - "src": "10784:224:56" + "src": "13484:224:8" }, { "body": { "nodeType": "YulBlock", - "src": "11160:220:56", + "src": "13860:220:8", "statements": [ { "nodeType": "YulAssignment", - "src": "11170:74:56", + "src": "13870:74:8", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "11236:3:56" + "src": "13936:3:8" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "11241:2:56", + "src": "13941:2:8", "type": "", "value": "37" } @@ -7795,16 +7125,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "11177:58:56" + "src": "13877:58:8" }, "nodeType": "YulFunctionCall", - "src": "11177:67:56" + "src": "13877:67:8" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "11170:3:56" + "src": "13870:3:8" } ] }, @@ -7814,34 +7144,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "11342:3:56" + "src": "14042:3:8" } ], "functionName": { "name": "store_literal_in_memory_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea", "nodeType": "YulIdentifier", - "src": "11253:88:56" + "src": "13953:88:8" }, "nodeType": "YulFunctionCall", - "src": "11253:93:56" + "src": "13953:93:8" }, "nodeType": "YulExpressionStatement", - "src": "11253:93:56" + "src": "13953:93:8" }, { "nodeType": "YulAssignment", - "src": "11355:19:56", + "src": "14055:19:8", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "11366:3:56" + "src": "14066:3:8" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "11371:2:56", + "src": "14071:2:8", "type": "", "value": "64" } @@ -7849,16 +7179,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "11362:3:56" + "src": "14062:3:8" }, "nodeType": "YulFunctionCall", - "src": "11362:12:56" + "src": "14062:12:8" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "11355:3:56" + "src": "14055:3:8" } ] } @@ -7870,7 +7200,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "11148:3:56", + "src": "13848:3:8", "type": "" } ], @@ -7878,31 +7208,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "11156:3:56", + "src": "13856:3:8", "type": "" } ], - "src": "11014:366:56" + "src": "13714:366:8" }, { "body": { "nodeType": "YulBlock", - "src": "11557:248:56", + "src": "14257:248:8", "statements": [ { "nodeType": "YulAssignment", - "src": "11567:26:56", + "src": "14267:26:8", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "11579:9:56" + "src": "14279:9:8" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "11590:2:56", + "src": "14290:2:8", "type": "", "value": "32" } @@ -7910,16 +7240,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "11575:3:56" + "src": "14275:3:8" }, "nodeType": "YulFunctionCall", - "src": "11575:18:56" + "src": "14275:18:8" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "11567:4:56" + "src": "14267:4:8" } ] }, @@ -7931,12 +7261,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "11614:9:56" + "src": "14314:9:8" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "11625:1:56", + "src": "14325:1:8", "type": "", "value": "0" } @@ -7944,68 +7274,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "11610:3:56" + "src": "14310:3:8" }, "nodeType": "YulFunctionCall", - "src": "11610:17:56" + "src": "14310:17:8" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "11633:4:56" + "src": "14333:4:8" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "11639:9:56" + "src": "14339:9:8" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "11629:3:56" + "src": "14329:3:8" }, "nodeType": "YulFunctionCall", - "src": "11629:20:56" + "src": "14329:20:8" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "11603:6:56" + "src": "14303:6:8" }, "nodeType": "YulFunctionCall", - "src": "11603:47:56" + "src": "14303:47:8" }, "nodeType": "YulExpressionStatement", - "src": "11603:47:56" + "src": "14303:47:8" }, { "nodeType": "YulAssignment", - "src": "11659:139:56", + "src": "14359:139:8", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "11793:4:56" + "src": "14493:4:8" } ], "functionName": { "name": "abi_encode_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "11667:124:56" + "src": "14367:124:8" }, "nodeType": "YulFunctionCall", - "src": "11667:131:56" + "src": "14367:131:8" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "11659:4:56" + "src": "14359:4:8" } ] } @@ -8017,7 +7347,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "11537:9:56", + "src": "14237:9:8", "type": "" } ], @@ -8025,16 +7355,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "11552:4:56", + "src": "14252:4:8", "type": "" } ], - "src": "11386:419:56" + "src": "14086:419:8" }, { "body": { "nodeType": "YulBlock", - "src": "11917:116:56", + "src": "14617:116:8", "statements": [ { "expression": { @@ -8044,12 +7374,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "11939:6:56" + "src": "14639:6:8" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "11947:1:56", + "src": "14647:1:8", "type": "", "value": "0" } @@ -8057,16 +7387,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "11935:3:56" + "src": "14635:3:8" }, "nodeType": "YulFunctionCall", - "src": "11935:14:56" + "src": "14635:14:8" }, { "hexValue": "45524332303a207472616e7366657220746f20746865207a65726f2061646472", "kind": "string", "nodeType": "YulLiteral", - "src": "11951:34:56", + "src": "14651:34:8", "type": "", "value": "ERC20: transfer to the zero addr" } @@ -8074,13 +7404,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "11928:6:56" + "src": "14628:6:8" }, "nodeType": "YulFunctionCall", - "src": "11928:58:56" + "src": "14628:58:8" }, "nodeType": "YulExpressionStatement", - "src": "11928:58:56" + "src": "14628:58:8" }, { "expression": { @@ -8090,12 +7420,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "12007:6:56" + "src": "14707:6:8" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "12015:2:56", + "src": "14715:2:8", "type": "", "value": "32" } @@ -8103,16 +7433,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "12003:3:56" + "src": "14703:3:8" }, "nodeType": "YulFunctionCall", - "src": "12003:15:56" + "src": "14703:15:8" }, { "hexValue": "657373", "kind": "string", "nodeType": "YulLiteral", - "src": "12020:5:56", + "src": "14720:5:8", "type": "", "value": "ess" } @@ -8120,13 +7450,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "11996:6:56" + "src": "14696:6:8" }, "nodeType": "YulFunctionCall", - "src": "11996:30:56" + "src": "14696:30:8" }, "nodeType": "YulExpressionStatement", - "src": "11996:30:56" + "src": "14696:30:8" } ] }, @@ -8136,31 +7466,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "11909:6:56", + "src": "14609:6:8", "type": "" } ], - "src": "11811:222:56" + "src": "14511:222:8" }, { "body": { "nodeType": "YulBlock", - "src": "12185:220:56", + "src": "14885:220:8", "statements": [ { "nodeType": "YulAssignment", - "src": "12195:74:56", + "src": "14895:74:8", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "12261:3:56" + "src": "14961:3:8" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "12266:2:56", + "src": "14966:2:8", "type": "", "value": "35" } @@ -8168,16 +7498,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "12202:58:56" + "src": "14902:58:8" }, "nodeType": "YulFunctionCall", - "src": "12202:67:56" + "src": "14902:67:8" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "12195:3:56" + "src": "14895:3:8" } ] }, @@ -8187,34 +7517,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "12367:3:56" + "src": "15067:3:8" } ], "functionName": { "name": "store_literal_in_memory_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f", "nodeType": "YulIdentifier", - "src": "12278:88:56" + "src": "14978:88:8" }, "nodeType": "YulFunctionCall", - "src": "12278:93:56" + "src": "14978:93:8" }, "nodeType": "YulExpressionStatement", - "src": "12278:93:56" + "src": "14978:93:8" }, { "nodeType": "YulAssignment", - "src": "12380:19:56", + "src": "15080:19:8", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "12391:3:56" + "src": "15091:3:8" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "12396:2:56", + "src": "15096:2:8", "type": "", "value": "64" } @@ -8222,16 +7552,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "12387:3:56" + "src": "15087:3:8" }, "nodeType": "YulFunctionCall", - "src": "12387:12:56" + "src": "15087:12:8" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "12380:3:56" + "src": "15080:3:8" } ] } @@ -8243,7 +7573,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "12173:3:56", + "src": "14873:3:8", "type": "" } ], @@ -8251,31 +7581,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "12181:3:56", + "src": "14881:3:8", "type": "" } ], - "src": "12039:366:56" + "src": "14739:366:8" }, { "body": { "nodeType": "YulBlock", - "src": "12582:248:56", + "src": "15282:248:8", "statements": [ { "nodeType": "YulAssignment", - "src": "12592:26:56", + "src": "15292:26:8", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "12604:9:56" + "src": "15304:9:8" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "12615:2:56", + "src": "15315:2:8", "type": "", "value": "32" } @@ -8283,16 +7613,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "12600:3:56" + "src": "15300:3:8" }, "nodeType": "YulFunctionCall", - "src": "12600:18:56" + "src": "15300:18:8" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "12592:4:56" + "src": "15292:4:8" } ] }, @@ -8304,12 +7634,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "12639:9:56" + "src": "15339:9:8" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "12650:1:56", + "src": "15350:1:8", "type": "", "value": "0" } @@ -8317,68 +7647,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "12635:3:56" + "src": "15335:3:8" }, "nodeType": "YulFunctionCall", - "src": "12635:17:56" + "src": "15335:17:8" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "12658:4:56" + "src": "15358:4:8" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "12664:9:56" + "src": "15364:9:8" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "12654:3:56" + "src": "15354:3:8" }, "nodeType": "YulFunctionCall", - "src": "12654:20:56" + "src": "15354:20:8" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "12628:6:56" + "src": "15328:6:8" }, "nodeType": "YulFunctionCall", - "src": "12628:47:56" + "src": "15328:47:8" }, "nodeType": "YulExpressionStatement", - "src": "12628:47:56" + "src": "15328:47:8" }, { "nodeType": "YulAssignment", - "src": "12684:139:56", + "src": "15384:139:8", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "12818:4:56" + "src": "15518:4:8" } ], "functionName": { "name": "abi_encode_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "12692:124:56" + "src": "15392:124:8" }, "nodeType": "YulFunctionCall", - "src": "12692:131:56" + "src": "15392:131:8" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "12684:4:56" + "src": "15384:4:8" } ] } @@ -8390,7 +7720,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "12562:9:56", + "src": "15262:9:8", "type": "" } ], @@ -8398,16 +7728,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "12577:4:56", + "src": "15277:4:8", "type": "" } ], - "src": "12411:419:56" + "src": "15111:419:8" }, { "body": { "nodeType": "YulBlock", - "src": "12942:119:56", + "src": "15642:119:8", "statements": [ { "expression": { @@ -8417,12 +7747,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "12964:6:56" + "src": "15664:6:8" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "12972:1:56", + "src": "15672:1:8", "type": "", "value": "0" } @@ -8430,16 +7760,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "12960:3:56" + "src": "15660:3:8" }, "nodeType": "YulFunctionCall", - "src": "12960:14:56" + "src": "15660:14:8" }, { "hexValue": "45524332303a207472616e7366657220616d6f756e7420657863656564732062", "kind": "string", "nodeType": "YulLiteral", - "src": "12976:34:56", + "src": "15676:34:8", "type": "", "value": "ERC20: transfer amount exceeds b" } @@ -8447,13 +7777,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "12953:6:56" + "src": "15653:6:8" }, "nodeType": "YulFunctionCall", - "src": "12953:58:56" + "src": "15653:58:8" }, "nodeType": "YulExpressionStatement", - "src": "12953:58:56" + "src": "15653:58:8" }, { "expression": { @@ -8463,12 +7793,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "13032:6:56" + "src": "15732:6:8" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "13040:2:56", + "src": "15740:2:8", "type": "", "value": "32" } @@ -8476,16 +7806,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "13028:3:56" + "src": "15728:3:8" }, "nodeType": "YulFunctionCall", - "src": "13028:15:56" + "src": "15728:15:8" }, { "hexValue": "616c616e6365", "kind": "string", "nodeType": "YulLiteral", - "src": "13045:8:56", + "src": "15745:8:8", "type": "", "value": "alance" } @@ -8493,13 +7823,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "13021:6:56" + "src": "15721:6:8" }, "nodeType": "YulFunctionCall", - "src": "13021:33:56" + "src": "15721:33:8" }, "nodeType": "YulExpressionStatement", - "src": "13021:33:56" + "src": "15721:33:8" } ] }, @@ -8509,31 +7839,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "12934:6:56", + "src": "15634:6:8", "type": "" } ], - "src": "12836:225:56" + "src": "15536:225:8" }, { "body": { "nodeType": "YulBlock", - "src": "13213:220:56", + "src": "15913:220:8", "statements": [ { "nodeType": "YulAssignment", - "src": "13223:74:56", + "src": "15923:74:8", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "13289:3:56" + "src": "15989:3:8" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "13294:2:56", + "src": "15994:2:8", "type": "", "value": "38" } @@ -8541,16 +7871,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "13230:58:56" + "src": "15930:58:8" }, "nodeType": "YulFunctionCall", - "src": "13230:67:56" + "src": "15930:67:8" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "13223:3:56" + "src": "15923:3:8" } ] }, @@ -8560,34 +7890,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "13395:3:56" + "src": "16095:3:8" } ], "functionName": { "name": "store_literal_in_memory_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6", "nodeType": "YulIdentifier", - "src": "13306:88:56" + "src": "16006:88:8" }, "nodeType": "YulFunctionCall", - "src": "13306:93:56" + "src": "16006:93:8" }, "nodeType": "YulExpressionStatement", - "src": "13306:93:56" + "src": "16006:93:8" }, { "nodeType": "YulAssignment", - "src": "13408:19:56", + "src": "16108:19:8", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "13419:3:56" + "src": "16119:3:8" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "13424:2:56", + "src": "16124:2:8", "type": "", "value": "64" } @@ -8595,16 +7925,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "13415:3:56" + "src": "16115:3:8" }, "nodeType": "YulFunctionCall", - "src": "13415:12:56" + "src": "16115:12:8" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "13408:3:56" + "src": "16108:3:8" } ] } @@ -8616,7 +7946,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "13201:3:56", + "src": "15901:3:8", "type": "" } ], @@ -8624,31 +7954,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "13209:3:56", + "src": "15909:3:8", "type": "" } ], - "src": "13067:366:56" + "src": "15767:366:8" }, { "body": { "nodeType": "YulBlock", - "src": "13610:248:56", + "src": "16310:248:8", "statements": [ { "nodeType": "YulAssignment", - "src": "13620:26:56", + "src": "16320:26:8", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "13632:9:56" + "src": "16332:9:8" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "13643:2:56", + "src": "16343:2:8", "type": "", "value": "32" } @@ -8656,16 +7986,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "13628:3:56" + "src": "16328:3:8" }, "nodeType": "YulFunctionCall", - "src": "13628:18:56" + "src": "16328:18:8" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "13620:4:56" + "src": "16320:4:8" } ] }, @@ -8677,12 +8007,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "13667:9:56" + "src": "16367:9:8" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "13678:1:56", + "src": "16378:1:8", "type": "", "value": "0" } @@ -8690,68 +8020,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "13663:3:56" + "src": "16363:3:8" }, "nodeType": "YulFunctionCall", - "src": "13663:17:56" + "src": "16363:17:8" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "13686:4:56" + "src": "16386:4:8" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "13692:9:56" + "src": "16392:9:8" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "13682:3:56" + "src": "16382:3:8" }, "nodeType": "YulFunctionCall", - "src": "13682:20:56" + "src": "16382:20:8" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "13656:6:56" + "src": "16356:6:8" }, "nodeType": "YulFunctionCall", - "src": "13656:47:56" + "src": "16356:47:8" }, "nodeType": "YulExpressionStatement", - "src": "13656:47:56" + "src": "16356:47:8" }, { "nodeType": "YulAssignment", - "src": "13712:139:56", + "src": "16412:139:8", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "13846:4:56" + "src": "16546:4:8" } ], "functionName": { "name": "abi_encode_t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "13720:124:56" + "src": "16420:124:8" }, "nodeType": "YulFunctionCall", - "src": "13720:131:56" + "src": "16420:131:8" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "13712:4:56" + "src": "16412:4:8" } ] } @@ -8763,7 +8093,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "13590:9:56", + "src": "16290:9:8", "type": "" } ], @@ -8771,88 +8101,2002 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "13605:4:56", + "src": "16305:4:8", "type": "" } ], - "src": "13439:419:56" + "src": "16139:419:8" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16670:64:8", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "16692:6:8" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16700:1:8", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16688:3:8" + }, + "nodeType": "YulFunctionCall", + "src": "16688:14:8" + }, + { + "hexValue": "5061757361626c653a206e6f7420706175736564", + "kind": "string", + "nodeType": "YulLiteral", + "src": "16704:22:8", + "type": "", + "value": "Pausable: not paused" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "16681:6:8" + }, + "nodeType": "YulFunctionCall", + "src": "16681:46:8" + }, + "nodeType": "YulExpressionStatement", + "src": "16681:46:8" + } + ] + }, + "name": "store_literal_in_memory_0d1d997348c4b502650619e51f7d09f80514d98b6993be5051d07f703984619a", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "16662:6:8", + "type": "" + } + ], + "src": "16564:170:8" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16886:220:8", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "16896:74:8", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "16962:3:8" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16967:2:8", + "type": "", + "value": "20" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "16903:58:8" + }, + "nodeType": "YulFunctionCall", + "src": "16903:67:8" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "16896:3:8" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "17068:3:8" + } + ], + "functionName": { + "name": "store_literal_in_memory_0d1d997348c4b502650619e51f7d09f80514d98b6993be5051d07f703984619a", + "nodeType": "YulIdentifier", + "src": "16979:88:8" + }, + "nodeType": "YulFunctionCall", + "src": "16979:93:8" + }, + "nodeType": "YulExpressionStatement", + "src": "16979:93:8" + }, + { + "nodeType": "YulAssignment", + "src": "17081:19:8", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "17092:3:8" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17097:2:8", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17088:3:8" + }, + "nodeType": "YulFunctionCall", + "src": "17088:12:8" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "17081:3:8" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_0d1d997348c4b502650619e51f7d09f80514d98b6993be5051d07f703984619a_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "16874:3:8", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "16882:3:8", + "type": "" + } + ], + "src": "16740:366:8" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "17283:248:8", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "17293:26:8", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17305:9:8" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17316:2:8", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17301:3:8" + }, + "nodeType": "YulFunctionCall", + "src": "17301:18:8" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "17293:4:8" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17340:9:8" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17351:1:8", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17336:3:8" + }, + "nodeType": "YulFunctionCall", + "src": "17336:17:8" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "17359:4:8" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17365:9:8" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "17355:3:8" + }, + "nodeType": "YulFunctionCall", + "src": "17355:20:8" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "17329:6:8" + }, + "nodeType": "YulFunctionCall", + "src": "17329:47:8" + }, + "nodeType": "YulExpressionStatement", + "src": "17329:47:8" + }, + { + "nodeType": "YulAssignment", + "src": "17385:139:8", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "17519:4:8" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_0d1d997348c4b502650619e51f7d09f80514d98b6993be5051d07f703984619a_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "17393:124:8" + }, + "nodeType": "YulFunctionCall", + "src": "17393:131:8" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "17385:4:8" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_0d1d997348c4b502650619e51f7d09f80514d98b6993be5051d07f703984619a__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "17263:9:8", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "17278:4:8", + "type": "" + } + ], + "src": "17112:419:8" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "17643:75:8", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "17665:6:8" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17673:1:8", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17661:3:8" + }, + "nodeType": "YulFunctionCall", + "src": "17661:14:8" + }, + { + "hexValue": "45524332303a206d696e7420746f20746865207a65726f2061646472657373", + "kind": "string", + "nodeType": "YulLiteral", + "src": "17677:33:8", + "type": "", + "value": "ERC20: mint to the zero address" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "17654:6:8" + }, + "nodeType": "YulFunctionCall", + "src": "17654:57:8" + }, + "nodeType": "YulExpressionStatement", + "src": "17654:57:8" + } + ] + }, + "name": "store_literal_in_memory_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "17635:6:8", + "type": "" + } + ], + "src": "17537:181:8" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "17870:220:8", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "17880:74:8", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "17946:3:8" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17951:2:8", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "17887:58:8" + }, + "nodeType": "YulFunctionCall", + "src": "17887:67:8" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "17880:3:8" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "18052:3:8" + } + ], + "functionName": { + "name": "store_literal_in_memory_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e", + "nodeType": "YulIdentifier", + "src": "17963:88:8" + }, + "nodeType": "YulFunctionCall", + "src": "17963:93:8" + }, + "nodeType": "YulExpressionStatement", + "src": "17963:93:8" + }, + { + "nodeType": "YulAssignment", + "src": "18065:19:8", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "18076:3:8" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18081:2:8", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18072:3:8" + }, + "nodeType": "YulFunctionCall", + "src": "18072:12:8" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "18065:3:8" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "17858:3:8", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "17866:3:8", + "type": "" + } + ], + "src": "17724:366:8" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "18267:248:8", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "18277:26:8", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18289:9:8" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18300:2:8", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18285:3:8" + }, + "nodeType": "YulFunctionCall", + "src": "18285:18:8" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "18277:4:8" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18324:9:8" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18335:1:8", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18320:3:8" + }, + "nodeType": "YulFunctionCall", + "src": "18320:17:8" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "18343:4:8" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18349:9:8" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "18339:3:8" + }, + "nodeType": "YulFunctionCall", + "src": "18339:20:8" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "18313:6:8" + }, + "nodeType": "YulFunctionCall", + "src": "18313:47:8" + }, + "nodeType": "YulExpressionStatement", + "src": "18313:47:8" + }, + { + "nodeType": "YulAssignment", + "src": "18369:139:8", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "18503:4:8" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "18377:124:8" + }, + "nodeType": "YulFunctionCall", + "src": "18377:131:8" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "18369:4:8" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "18247:9:8", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "18262:4:8", + "type": "" + } + ], + "src": "18096:419:8" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "18627:114:8", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "18649:6:8" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18657:1:8", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18645:3:8" + }, + "nodeType": "YulFunctionCall", + "src": "18645:14:8" + }, + { + "hexValue": "45524332303a206275726e2066726f6d20746865207a65726f20616464726573", + "kind": "string", + "nodeType": "YulLiteral", + "src": "18661:34:8", + "type": "", + "value": "ERC20: burn from the zero addres" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "18638:6:8" + }, + "nodeType": "YulFunctionCall", + "src": "18638:58:8" + }, + "nodeType": "YulExpressionStatement", + "src": "18638:58:8" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "18717:6:8" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18725:2:8", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18713:3:8" + }, + "nodeType": "YulFunctionCall", + "src": "18713:15:8" + }, + { + "hexValue": "73", + "kind": "string", + "nodeType": "YulLiteral", + "src": "18730:3:8", + "type": "", + "value": "s" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "18706:6:8" + }, + "nodeType": "YulFunctionCall", + "src": "18706:28:8" + }, + "nodeType": "YulExpressionStatement", + "src": "18706:28:8" + } + ] + }, + "name": "store_literal_in_memory_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "18619:6:8", + "type": "" + } + ], + "src": "18521:220:8" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "18893:220:8", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "18903:74:8", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "18969:3:8" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18974:2:8", + "type": "", + "value": "33" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "18910:58:8" + }, + "nodeType": "YulFunctionCall", + "src": "18910:67:8" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "18903:3:8" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "19075:3:8" + } + ], + "functionName": { + "name": "store_literal_in_memory_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f", + "nodeType": "YulIdentifier", + "src": "18986:88:8" + }, + "nodeType": "YulFunctionCall", + "src": "18986:93:8" + }, + "nodeType": "YulExpressionStatement", + "src": "18986:93:8" + }, + { + "nodeType": "YulAssignment", + "src": "19088:19:8", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "19099:3:8" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19104:2:8", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19095:3:8" + }, + "nodeType": "YulFunctionCall", + "src": "19095:12:8" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "19088:3:8" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "18881:3:8", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "18889:3:8", + "type": "" + } + ], + "src": "18747:366:8" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "19290:248:8", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "19300:26:8", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "19312:9:8" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19323:2:8", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19308:3:8" + }, + "nodeType": "YulFunctionCall", + "src": "19308:18:8" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "19300:4:8" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "19347:9:8" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19358:1:8", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19343:3:8" + }, + "nodeType": "YulFunctionCall", + "src": "19343:17:8" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "19366:4:8" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "19372:9:8" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "19362:3:8" + }, + "nodeType": "YulFunctionCall", + "src": "19362:20:8" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "19336:6:8" + }, + "nodeType": "YulFunctionCall", + "src": "19336:47:8" + }, + "nodeType": "YulExpressionStatement", + "src": "19336:47:8" + }, + { + "nodeType": "YulAssignment", + "src": "19392:139:8", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "19526:4:8" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "19400:124:8" + }, + "nodeType": "YulFunctionCall", + "src": "19400:131:8" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "19392:4:8" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "19270:9:8", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "19285:4:8", + "type": "" + } + ], + "src": "19119:419:8" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "19650:115:8", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "19672:6:8" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19680:1:8", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19668:3:8" + }, + "nodeType": "YulFunctionCall", + "src": "19668:14:8" + }, + { + "hexValue": "45524332303a206275726e20616d6f756e7420657863656564732062616c616e", + "kind": "string", + "nodeType": "YulLiteral", + "src": "19684:34:8", + "type": "", + "value": "ERC20: burn amount exceeds balan" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "19661:6:8" + }, + "nodeType": "YulFunctionCall", + "src": "19661:58:8" + }, + "nodeType": "YulExpressionStatement", + "src": "19661:58:8" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "19740:6:8" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19748:2:8", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19736:3:8" + }, + "nodeType": "YulFunctionCall", + "src": "19736:15:8" + }, + { + "hexValue": "6365", + "kind": "string", + "nodeType": "YulLiteral", + "src": "19753:4:8", + "type": "", + "value": "ce" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "19729:6:8" + }, + "nodeType": "YulFunctionCall", + "src": "19729:29:8" + }, + "nodeType": "YulExpressionStatement", + "src": "19729:29:8" + } + ] + }, + "name": "store_literal_in_memory_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "19642:6:8", + "type": "" + } + ], + "src": "19544:221:8" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "19917:220:8", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "19927:74:8", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "19993:3:8" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19998:2:8", + "type": "", + "value": "34" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "19934:58:8" + }, + "nodeType": "YulFunctionCall", + "src": "19934:67:8" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "19927:3:8" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "20099:3:8" + } + ], + "functionName": { + "name": "store_literal_in_memory_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd", + "nodeType": "YulIdentifier", + "src": "20010:88:8" + }, + "nodeType": "YulFunctionCall", + "src": "20010:93:8" + }, + "nodeType": "YulExpressionStatement", + "src": "20010:93:8" + }, + { + "nodeType": "YulAssignment", + "src": "20112:19:8", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "20123:3:8" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20128:2:8", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20119:3:8" + }, + "nodeType": "YulFunctionCall", + "src": "20119:12:8" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "20112:3:8" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "19905:3:8", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "19913:3:8", + "type": "" + } + ], + "src": "19771:366:8" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "20314:248:8", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "20324:26:8", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "20336:9:8" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20347:2:8", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20332:3:8" + }, + "nodeType": "YulFunctionCall", + "src": "20332:18:8" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "20324:4:8" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "20371:9:8" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20382:1:8", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20367:3:8" + }, + "nodeType": "YulFunctionCall", + "src": "20367:17:8" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "20390:4:8" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "20396:9:8" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "20386:3:8" + }, + "nodeType": "YulFunctionCall", + "src": "20386:20:8" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "20360:6:8" + }, + "nodeType": "YulFunctionCall", + "src": "20360:47:8" + }, + "nodeType": "YulExpressionStatement", + "src": "20360:47:8" + }, + { + "nodeType": "YulAssignment", + "src": "20416:139:8", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "20550:4:8" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "20424:124:8" + }, + "nodeType": "YulFunctionCall", + "src": "20424:131:8" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "20416:4:8" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "20294:9:8", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "20309:4:8", + "type": "" + } + ], + "src": "20143:419:8" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "20613:146:8", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "20623:25:8", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "20646:1:8" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "20628:17:8" + }, + "nodeType": "YulFunctionCall", + "src": "20628:20:8" + }, + "variableNames": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "20623:1:8" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "20657:25:8", + "value": { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "20680:1:8" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "20662:17:8" + }, + "nodeType": "YulFunctionCall", + "src": "20662:20:8" + }, + "variableNames": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "20657:1:8" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "20704:22:8", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "20706:16:8" + }, + "nodeType": "YulFunctionCall", + "src": "20706:18:8" + }, + "nodeType": "YulExpressionStatement", + "src": "20706:18:8" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "20698:1:8" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "20701:1:8" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "20695:2:8" + }, + "nodeType": "YulFunctionCall", + "src": "20695:8:8" + }, + "nodeType": "YulIf", + "src": "20692:34:8" + }, + { + "nodeType": "YulAssignment", + "src": "20736:17:8", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "20748:1:8" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "20751:1:8" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "20744:3:8" + }, + "nodeType": "YulFunctionCall", + "src": "20744:9:8" + }, + "variableNames": [ + { + "name": "diff", + "nodeType": "YulIdentifier", + "src": "20736:4:8" + } + ] + } + ] + }, + "name": "checked_sub_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "20599:1:8", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "20602:1:8", + "type": "" + } + ], + "returnVariables": [ + { + "name": "diff", + "nodeType": "YulTypedName", + "src": "20608:4:8", + "type": "" + } + ], + "src": "20568:191:8" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "20871:60:8", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "20893:6:8" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20901:1:8", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20889:3:8" + }, + "nodeType": "YulFunctionCall", + "src": "20889:14:8" + }, + { + "hexValue": "5061757361626c653a20706175736564", + "kind": "string", + "nodeType": "YulLiteral", + "src": "20905:18:8", + "type": "", + "value": "Pausable: paused" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "20882:6:8" + }, + "nodeType": "YulFunctionCall", + "src": "20882:42:8" + }, + "nodeType": "YulExpressionStatement", + "src": "20882:42:8" + } + ] + }, + "name": "store_literal_in_memory_68571e1369f7a6dcdcd736cb0343b35a58ed0f64d245c2ed839c98d412744f8a", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "20863:6:8", + "type": "" + } + ], + "src": "20765:166:8" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "21083:220:8", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "21093:74:8", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "21159:3:8" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21164:2:8", + "type": "", + "value": "16" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "21100:58:8" + }, + "nodeType": "YulFunctionCall", + "src": "21100:67:8" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "21093:3:8" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "21265:3:8" + } + ], + "functionName": { + "name": "store_literal_in_memory_68571e1369f7a6dcdcd736cb0343b35a58ed0f64d245c2ed839c98d412744f8a", + "nodeType": "YulIdentifier", + "src": "21176:88:8" + }, + "nodeType": "YulFunctionCall", + "src": "21176:93:8" + }, + "nodeType": "YulExpressionStatement", + "src": "21176:93:8" + }, + { + "nodeType": "YulAssignment", + "src": "21278:19:8", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "21289:3:8" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21294:2:8", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21285:3:8" + }, + "nodeType": "YulFunctionCall", + "src": "21285:12:8" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "21278:3:8" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_68571e1369f7a6dcdcd736cb0343b35a58ed0f64d245c2ed839c98d412744f8a_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "21071:3:8", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "21079:3:8", + "type": "" + } + ], + "src": "20937:366:8" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "21480:248:8", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "21490:26:8", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "21502:9:8" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21513:2:8", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21498:3:8" + }, + "nodeType": "YulFunctionCall", + "src": "21498:18:8" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "21490:4:8" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "21537:9:8" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21548:1:8", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21533:3:8" + }, + "nodeType": "YulFunctionCall", + "src": "21533:17:8" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "21556:4:8" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "21562:9:8" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "21552:3:8" + }, + "nodeType": "YulFunctionCall", + "src": "21552:20:8" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "21526:6:8" + }, + "nodeType": "YulFunctionCall", + "src": "21526:47:8" + }, + "nodeType": "YulExpressionStatement", + "src": "21526:47:8" + }, + { + "nodeType": "YulAssignment", + "src": "21582:139:8", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "21716:4:8" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_68571e1369f7a6dcdcd736cb0343b35a58ed0f64d245c2ed839c98d412744f8a_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "21590:124:8" + }, + "nodeType": "YulFunctionCall", + "src": "21590:131:8" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "21582:4:8" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_68571e1369f7a6dcdcd736cb0343b35a58ed0f64d245c2ed839c98d412744f8a__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "21460:9:8", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "21475:4:8", + "type": "" + } + ], + "src": "21309:419:8" } ] }, - "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_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_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_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}\n", - "id": 56, + "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, "language": "Yul", "name": "#utility.yul" } ], - "sourceMap": "1403:11223:10:-:0;;;1978:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2052:5;2044;:13;;;;;;;;;;;;:::i;:::-;;2077:7;2067;:17;;;;;;;;;;;;:::i;:::-;;1978:113;;1403:11223;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:75:56:-;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;1403:11223:10:-;;;;;;;", - "deployedSourceMap": "1403:11223:10:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2156:98;;;:::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;:::-;;;;;;;;3408:125;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2367:102;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6596:429;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3729:189;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3976:149;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2156:98;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;3408:125::-;3482:7;3508:9;:18;3518:7;3508:18;;;;;;;;;;;;;;;;3501:25;;3408:125;;;:::o;2367:102::-;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;640:96:22:-;693:7;719:10;712:17;;640:96;:::o;10123:370:10:-;10271:1;10254:19;;:5;:19;;;;10246:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10351:1;10332:21;;:7;:21;;;;10324:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10433:6;10403:11;:18;10415:5;10403:18;;;;;;;;;;;;;;;:27;10422:7;10403:27;;;;;;;;;;;;;;;:36;;;;10470:7;10454:32;;10463:5;10454:32;;;10479:6;10454:32;;;;;;:::i;:::-;;;;;;;;10123:370;;;:::o;10770:441::-;10900:24;10927:25;10937:5;10944:7;10927:9;:25::i;:::-;10900:52;;10986:17;10966:16;:37;10962:243;;11047:6;11027:16;:26;;11019:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11129:51;11138:5;11145:7;11173:6;11154:16;:25;11129:8;:51::i;:::-;10962:243;10890:321;10770:441;;;:::o;7488:651::-;7630:1;7614:18;;:4;:18;;;;7606:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7706:1;7692:16;;:2;:16;;;;7684:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7759:38;7780:4;7786:2;7790:6;7759:20;:38::i;:::-;7808:19;7830:9;:15;7840:4;7830:15;;;;;;;;;;;;;;;;7808:37;;7878:6;7863:11;:21;;7855:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;7993:6;7979:11;:20;7961:9;:15;7971:4;7961:15;;;;;;;;;;;;;;;:38;;;;8036:6;8019:9;:13;8029:2;8019:13;;;;;;;;;;;;;;;;:23;;;;;;;:::i;:::-;;;;;;;;8073:2;8058:26;;8067:4;8058:26;;;8077:6;8058:26;;;;;;:::i;:::-;;;;;;;;8095:37;8115:4;8121:2;8125:6;8095:19;:37::i;:::-;7596:543;7488:651;;;:::o;11795:121::-;;;;:::o;12504:120::-;;;;:::o;7:99:56:-;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:474::-;5304:6;5312;5361:2;5349:9;5340:7;5336:23;5332:32;5329:119;;;5367:79;;:::i;:::-;5329:119;5487:1;5512:53;5557:7;5548:6;5537:9;5533:22;5512:53;:::i;:::-;5502:63;;5458:117;5614:2;5640:53;5685:7;5676:6;5665:9;5661:22;5640:53;:::i;:::-;5630:63;;5585:118;5236:474;;;;;:::o;5716:180::-;5764:77;5761:1;5754:88;5861:4;5858:1;5851:15;5885:4;5882:1;5875:15;5902:320;5946:6;5983:1;5977:4;5973:12;5963:22;;6030:1;6024:4;6020:12;6051:18;6041:81;;6107:4;6099:6;6095:17;6085:27;;6041:81;6169:2;6161:6;6158:14;6138:18;6135:38;6132:84;;;6188:18;;:::i;:::-;6132:84;5953:269;5902:320;;;:::o;6228:180::-;6276:77;6273:1;6266:88;6373:4;6370:1;6363:15;6397:4;6394:1;6387:15;6414:305;6454:3;6473:20;6491:1;6473:20;:::i;:::-;6468:25;;6507:20;6525:1;6507:20;:::i;:::-;6502:25;;6661:1;6593:66;6589:74;6586:1;6583:81;6580:107;;;6667:18;;:::i;:::-;6580:107;6711:1;6708;6704:9;6697:16;;6414:305;;;;:::o;6725:224::-;6865:34;6861:1;6853:6;6849:14;6842:58;6934:7;6929:2;6921:6;6917:15;6910:32;6725:224;:::o;6955:366::-;7097:3;7118:67;7182:2;7177:3;7118:67;:::i;:::-;7111:74;;7194:93;7283:3;7194:93;:::i;:::-;7312:2;7307:3;7303:12;7296:19;;6955:366;;;:::o;7327:419::-;7493:4;7531:2;7520:9;7516:18;7508:26;;7580:9;7574:4;7570:20;7566:1;7555:9;7551:17;7544:47;7608:131;7734:4;7608:131;:::i;:::-;7600:139;;7327:419;;;:::o;7752:223::-;7892:34;7888:1;7880:6;7876:14;7869:58;7961:6;7956:2;7948:6;7944:15;7937:31;7752:223;:::o;7981:366::-;8123:3;8144:67;8208:2;8203:3;8144:67;:::i;:::-;8137:74;;8220:93;8309:3;8220:93;:::i;:::-;8338:2;8333:3;8329:12;8322:19;;7981:366;;;:::o;8353:419::-;8519:4;8557:2;8546:9;8542:18;8534:26;;8606:9;8600:4;8596:20;8592:1;8581:9;8577:17;8570:47;8634:131;8760:4;8634:131;:::i;:::-;8626:139;;8353:419;;;:::o;8778:221::-;8918:34;8914:1;8906:6;8902:14;8895:58;8987:4;8982:2;8974:6;8970:15;8963:29;8778:221;:::o;9005:366::-;9147:3;9168:67;9232:2;9227:3;9168:67;:::i;:::-;9161:74;;9244:93;9333:3;9244:93;:::i;:::-;9362:2;9357:3;9353:12;9346:19;;9005:366;;;:::o;9377:419::-;9543:4;9581:2;9570:9;9566:18;9558:26;;9630:9;9624:4;9620:20;9616:1;9605:9;9601:17;9594:47;9658:131;9784:4;9658:131;:::i;:::-;9650:139;;9377:419;;;:::o;9802:179::-;9942:31;9938:1;9930:6;9926:14;9919:55;9802:179;:::o;9987:366::-;10129:3;10150:67;10214:2;10209:3;10150:67;:::i;:::-;10143:74;;10226:93;10315:3;10226:93;:::i;:::-;10344:2;10339:3;10335:12;10328:19;;9987:366;;;:::o;10359:419::-;10525:4;10563:2;10552:9;10548:18;10540:26;;10612:9;10606:4;10602:20;10598:1;10587:9;10583:17;10576:47;10640:131;10766:4;10640:131;:::i;:::-;10632:139;;10359:419;;;:::o;10784:224::-;10924:34;10920:1;10912:6;10908:14;10901:58;10993:7;10988:2;10980:6;10976:15;10969:32;10784:224;:::o;11014:366::-;11156:3;11177:67;11241:2;11236:3;11177:67;:::i;:::-;11170:74;;11253:93;11342:3;11253:93;:::i;:::-;11371:2;11366:3;11362:12;11355:19;;11014:366;;;:::o;11386:419::-;11552:4;11590:2;11579:9;11575:18;11567:26;;11639:9;11633:4;11629:20;11625:1;11614:9;11610:17;11603:47;11667:131;11793:4;11667:131;:::i;:::-;11659:139;;11386:419;;;:::o;11811:222::-;11951:34;11947:1;11939:6;11935:14;11928:58;12020:5;12015:2;12007:6;12003:15;11996:30;11811:222;:::o;12039:366::-;12181:3;12202:67;12266:2;12261:3;12202:67;:::i;:::-;12195:74;;12278:93;12367:3;12278:93;:::i;:::-;12396:2;12391:3;12387:12;12380:19;;12039:366;;;:::o;12411:419::-;12577:4;12615:2;12604:9;12600:18;12592:26;;12664:9;12658:4;12654:20;12650:1;12639:9;12635:17;12628:47;12692:131;12818:4;12692:131;:::i;:::-;12684:139;;12411:419;;;:::o;12836:225::-;12976:34;12972:1;12964:6;12960:14;12953:58;13045:8;13040:2;13032:6;13028:15;13021:33;12836:225;:::o;13067:366::-;13209:3;13230:67;13294:2;13289:3;13230:67;:::i;:::-;13223:74;;13306:93;13395:3;13306:93;:::i;:::-;13424:2;13419:3;13415:12;13408:19;;13067:366;;;:::o;13439:419::-;13605:4;13643:2;13632:9;13628:18;13620:26;;13692:9;13686:4;13682:20;13678:1;13667:9;13663:17;13656:47;13720:131;13846:4;13720:131;:::i;:::-;13712:139;;13439:419;;;:::o", - "source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.5.0) (token/ERC20/ERC20.sol)\n\npragma solidity ^0.8.0;\n\nimport \"./IERC20.sol\";\nimport \"./extensions/IERC20Metadata.sol\";\nimport \"../../utils/Context.sol\";\n\n/**\n * @dev Implementation of the {IERC20} interface.\n *\n * This implementation is agnostic to the way tokens are created. This means\n * that a supply mechanism has to be added in a derived contract using {_mint}.\n * For a generic mechanism see {ERC20PresetMinterPauser}.\n *\n * TIP: For a detailed writeup see our guide\n * https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How\n * to implement supply mechanisms].\n *\n * We have followed general OpenZeppelin Contracts guidelines: functions revert\n * instead returning `false` on failure. This behavior is nonetheless\n * conventional and does not conflict with the expectations of ERC20\n * applications.\n *\n * Additionally, an {Approval} event is emitted on calls to {transferFrom}.\n * This allows applications to reconstruct the allowance for all accounts just\n * by listening to said events. Other implementations of the EIP may not emit\n * these events, as it isn't required by the specification.\n *\n * Finally, the non-standard {decreaseAllowance} and {increaseAllowance}\n * functions have been added to mitigate the well-known issues around setting\n * allowances. See {IERC20-approve}.\n */\ncontract ERC20 is Context, IERC20, IERC20Metadata {\n mapping(address => uint256) private _balances;\n\n mapping(address => mapping(address => uint256)) private _allowances;\n\n uint256 private _totalSupply;\n\n string private _name;\n string private _symbol;\n\n /**\n * @dev Sets the values for {name} and {symbol}.\n *\n * The default value of {decimals} is 18. To select a different value for\n * {decimals} you should overload it.\n *\n * All two of these values are immutable: they can only be set once during\n * construction.\n */\n constructor(string memory name_, string memory symbol_) {\n _name = name_;\n _symbol = symbol_;\n }\n\n /**\n * @dev Returns the name of the token.\n */\n function name() public view virtual override returns (string memory) {\n return _name;\n }\n\n /**\n * @dev Returns the symbol of the token, usually a shorter version of the\n * name.\n */\n function symbol() public view virtual override returns (string memory) {\n return _symbol;\n }\n\n /**\n * @dev Returns the number of decimals used to get its user representation.\n * For example, if `decimals` equals `2`, a balance of `505` tokens should\n * be displayed to a user as `5.05` (`505 / 10 ** 2`).\n *\n * Tokens usually opt for a value of 18, imitating the relationship between\n * Ether and Wei. This is the value {ERC20} uses, unless this function is\n * overridden;\n *\n * NOTE: This information is only used for _display_ purposes: it in\n * no way affects any of the arithmetic of the contract, including\n * {IERC20-balanceOf} and {IERC20-transfer}.\n */\n function decimals() public view virtual override returns (uint8) {\n return 18;\n }\n\n /**\n * @dev See {IERC20-totalSupply}.\n */\n function totalSupply() public view virtual override returns (uint256) {\n return _totalSupply;\n }\n\n /**\n * @dev See {IERC20-balanceOf}.\n */\n function balanceOf(address account) public view virtual override returns (uint256) {\n return _balances[account];\n }\n\n /**\n * @dev See {IERC20-transfer}.\n *\n * Requirements:\n *\n * - `to` cannot be the zero address.\n * - the caller must have a balance of at least `amount`.\n */\n function transfer(address to, uint256 amount) public virtual override returns (bool) {\n address owner = _msgSender();\n _transfer(owner, to, amount);\n return true;\n }\n\n /**\n * @dev See {IERC20-allowance}.\n */\n function allowance(address owner, address spender) public view virtual override returns (uint256) {\n return _allowances[owner][spender];\n }\n\n /**\n * @dev See {IERC20-approve}.\n *\n * NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on\n * `transferFrom`. This is semantically equivalent to an infinite approval.\n *\n * Requirements:\n *\n * - `spender` cannot be the zero address.\n */\n function approve(address spender, uint256 amount) public virtual override returns (bool) {\n address owner = _msgSender();\n _approve(owner, spender, amount);\n return true;\n }\n\n /**\n * @dev See {IERC20-transferFrom}.\n *\n * Emits an {Approval} event indicating the updated allowance. This is not\n * required by the EIP. See the note at the beginning of {ERC20}.\n *\n * NOTE: Does not update the allowance if the current allowance\n * is the maximum `uint256`.\n *\n * Requirements:\n *\n * - `from` and `to` cannot be the zero address.\n * - `from` must have a balance of at least `amount`.\n * - the caller must have allowance for ``from``'s tokens of at least\n * `amount`.\n */\n function transferFrom(\n address from,\n address to,\n uint256 amount\n ) public virtual override returns (bool) {\n address spender = _msgSender();\n _spendAllowance(from, spender, amount);\n _transfer(from, to, amount);\n return true;\n }\n\n /**\n * @dev Atomically increases the allowance granted to `spender` by the caller.\n *\n * This is an alternative to {approve} that can be used as a mitigation for\n * problems described in {IERC20-approve}.\n *\n * Emits an {Approval} event indicating the updated allowance.\n *\n * Requirements:\n *\n * - `spender` cannot be the zero address.\n */\n function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {\n address owner = _msgSender();\n _approve(owner, spender, _allowances[owner][spender] + addedValue);\n return true;\n }\n\n /**\n * @dev Atomically decreases the allowance granted to `spender` by the caller.\n *\n * This is an alternative to {approve} that can be used as a mitigation for\n * problems described in {IERC20-approve}.\n *\n * Emits an {Approval} event indicating the updated allowance.\n *\n * Requirements:\n *\n * - `spender` cannot be the zero address.\n * - `spender` must have allowance for the caller of at least\n * `subtractedValue`.\n */\n function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {\n address owner = _msgSender();\n uint256 currentAllowance = _allowances[owner][spender];\n require(currentAllowance >= subtractedValue, \"ERC20: decreased allowance below zero\");\n unchecked {\n _approve(owner, spender, currentAllowance - subtractedValue);\n }\n\n return true;\n }\n\n /**\n * @dev Moves `amount` of tokens from `sender` to `recipient`.\n *\n * This internal function is equivalent to {transfer}, and can be used to\n * e.g. implement automatic token fees, slashing mechanisms, etc.\n *\n * Emits a {Transfer} event.\n *\n * Requirements:\n *\n * - `from` cannot be the zero address.\n * - `to` cannot be the zero address.\n * - `from` must have a balance of at least `amount`.\n */\n function _transfer(\n address from,\n address to,\n uint256 amount\n ) internal virtual {\n require(from != address(0), \"ERC20: transfer from the zero address\");\n require(to != address(0), \"ERC20: transfer to the zero address\");\n\n _beforeTokenTransfer(from, to, amount);\n\n uint256 fromBalance = _balances[from];\n require(fromBalance >= amount, \"ERC20: transfer amount exceeds balance\");\n unchecked {\n _balances[from] = fromBalance - amount;\n }\n _balances[to] += amount;\n\n emit Transfer(from, to, amount);\n\n _afterTokenTransfer(from, to, amount);\n }\n\n /** @dev Creates `amount` tokens and assigns them to `account`, increasing\n * the total supply.\n *\n * Emits a {Transfer} event with `from` set to the zero address.\n *\n * Requirements:\n *\n * - `account` cannot be the zero address.\n */\n function _mint(address account, uint256 amount) internal virtual {\n require(account != address(0), \"ERC20: mint to the zero address\");\n\n _beforeTokenTransfer(address(0), account, amount);\n\n _totalSupply += amount;\n _balances[account] += amount;\n emit Transfer(address(0), account, amount);\n\n _afterTokenTransfer(address(0), account, amount);\n }\n\n /**\n * @dev Destroys `amount` tokens from `account`, reducing the\n * total supply.\n *\n * Emits a {Transfer} event with `to` set to the zero address.\n *\n * Requirements:\n *\n * - `account` cannot be the zero address.\n * - `account` must have at least `amount` tokens.\n */\n function _burn(address account, uint256 amount) internal virtual {\n require(account != address(0), \"ERC20: burn from the zero address\");\n\n _beforeTokenTransfer(account, address(0), amount);\n\n uint256 accountBalance = _balances[account];\n require(accountBalance >= amount, \"ERC20: burn amount exceeds balance\");\n unchecked {\n _balances[account] = accountBalance - amount;\n }\n _totalSupply -= amount;\n\n emit Transfer(account, address(0), amount);\n\n _afterTokenTransfer(account, address(0), amount);\n }\n\n /**\n * @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens.\n *\n * This internal function is equivalent to `approve`, and can be used to\n * e.g. set automatic allowances for certain subsystems, etc.\n *\n * Emits an {Approval} event.\n *\n * Requirements:\n *\n * - `owner` cannot be the zero address.\n * - `spender` cannot be the zero address.\n */\n function _approve(\n address owner,\n address spender,\n uint256 amount\n ) internal virtual {\n require(owner != address(0), \"ERC20: approve from the zero address\");\n require(spender != address(0), \"ERC20: approve to the zero address\");\n\n _allowances[owner][spender] = amount;\n emit Approval(owner, spender, amount);\n }\n\n /**\n * @dev Spend `amount` form the allowance of `owner` toward `spender`.\n *\n * Does not update the allowance amount in case of infinite allowance.\n * Revert if not enough allowance is available.\n *\n * Might emit an {Approval} event.\n */\n function _spendAllowance(\n address owner,\n address spender,\n uint256 amount\n ) internal virtual {\n uint256 currentAllowance = allowance(owner, spender);\n if (currentAllowance != type(uint256).max) {\n require(currentAllowance >= amount, \"ERC20: insufficient allowance\");\n unchecked {\n _approve(owner, spender, currentAllowance - amount);\n }\n }\n }\n\n /**\n * @dev Hook that is called before any transfer of tokens. This includes\n * minting and burning.\n *\n * Calling conditions:\n *\n * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens\n * will be transferred to `to`.\n * - when `from` is zero, `amount` tokens will be minted for `to`.\n * - when `to` is zero, `amount` of ``from``'s tokens will be burned.\n * - `from` and `to` are never both zero.\n *\n * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].\n */\n function _beforeTokenTransfer(\n address from,\n address to,\n uint256 amount\n ) internal virtual {}\n\n /**\n * @dev Hook that is called after any transfer of tokens. This includes\n * minting and burning.\n *\n * Calling conditions:\n *\n * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens\n * has been transferred to `to`.\n * - when `from` is zero, `amount` tokens have been minted for `to`.\n * - when `to` is zero, `amount` of ``from``'s tokens have been burned.\n * - `from` and `to` are never both zero.\n *\n * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].\n */\n function _afterTokenTransfer(\n address from,\n address to,\n uint256 amount\n ) internal virtual {}\n}\n", - "sourcePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", + "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", + "sourcePath": "/Users/zhl/Documents/workspace/crypto/becrypto/contracts/tokens/erc20/BEUSTD.sol", "ast": { - "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", + "absolutePath": "project:/contracts/tokens/erc20/BEUSTD.sol", "exportedSymbols": { + "BEUSDT": [ + 1031 + ], "Context": [ - 5377 + 953 ], "ERC20": [ - 3293 + 784 + ], + "ERC20Burnable": [ + 906 ], "IERC20": [ - 3371 + 862 ], "IERC20Metadata": [ - 3440 + 931 + ], + "Ownable": [ + 104 + ], + "Pausable": [ + 196 ] }, - "id": 3294, + "id": 1032, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { - "id": 2707, + "id": 955, "literals": [ "solidity", - "^", "0.8", - ".0" + ".10" ], "nodeType": "PragmaDirective", - "src": "105:23:10" + "src": "32:23:7" }, { - "absolutePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol", - "file": "./IERC20.sol", - "id": 2708, + "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", + "file": "@openzeppelin/contracts/token/ERC20/ERC20.sol", + "id": 956, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 3294, - "sourceUnit": 3372, - "src": "130:22:10", + "scope": 1032, + "sourceUnit": 785, + "src": "56:55:7", "symbolAliases": [], "unitAlias": "" }, { - "absolutePath": "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol", - "file": "./extensions/IERC20Metadata.sol", - "id": 2709, + "absolutePath": "@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol", + "file": "@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol", + "id": 957, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 3294, - "sourceUnit": 3441, - "src": "153:41:10", + "scope": 1032, + "sourceUnit": 907, + "src": "112:74:7", "symbolAliases": [], "unitAlias": "" }, { - "absolutePath": "@openzeppelin/contracts/utils/Context.sol", - "file": "../../utils/Context.sol", - "id": 2710, + "absolutePath": "@openzeppelin/contracts/security/Pausable.sol", + "file": "@openzeppelin/contracts/security/Pausable.sol", + "id": 958, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 3294, - "sourceUnit": 5378, - "src": "195:33:10", + "scope": 1032, + "sourceUnit": 197, + "src": "187:55:7", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/access/Ownable.sol", + "file": "@openzeppelin/contracts/access/Ownable.sol", + "id": 959, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 1032, + "sourceUnit": 105, + "src": "243:52:7", "symbolAliases": [], "unitAlias": "" }, @@ -8861,1027 +10105,181 @@ "baseContracts": [ { "baseName": { - "id": 2712, - "name": "Context", + "id": 961, + "name": "ERC20", "nodeType": "IdentifierPath", - "referencedDeclaration": 5377, - "src": "1421:7:10" + "referencedDeclaration": 784, + "src": "447:5:7" }, - "id": 2713, + "id": 962, "nodeType": "InheritanceSpecifier", - "src": "1421:7:10" + "src": "447:5:7" }, { "baseName": { - "id": 2714, - "name": "IERC20", + "id": 963, + "name": "ERC20Burnable", "nodeType": "IdentifierPath", - "referencedDeclaration": 3371, - "src": "1430:6:10" + "referencedDeclaration": 906, + "src": "454:13:7" }, - "id": 2715, + "id": 964, "nodeType": "InheritanceSpecifier", - "src": "1430:6:10" + "src": "454:13:7" }, { "baseName": { - "id": 2716, - "name": "IERC20Metadata", + "id": 965, + "name": "Pausable", "nodeType": "IdentifierPath", - "referencedDeclaration": 3440, - "src": "1438:14:10" + "referencedDeclaration": 196, + "src": "469:8:7" }, - "id": 2717, + "id": 966, "nodeType": "InheritanceSpecifier", - "src": "1438:14:10" + "src": "469:8:7" + }, + { + "baseName": { + "id": 967, + "name": "Ownable", + "nodeType": "IdentifierPath", + "referencedDeclaration": 104, + "src": "479:7:7" + }, + "id": 968, + "nodeType": "InheritanceSpecifier", + "src": "479:7:7" } ], - "canonicalName": "ERC20", + "canonicalName": "BEUSDT", "contractDependencies": [], "contractKind": "contract", "documentation": { - "id": 2711, + "id": 960, "nodeType": "StructuredDocumentation", - "src": "230:1172:10", - "text": " @dev Implementation of the {IERC20} interface.\n This implementation is agnostic to the way tokens are created. This means\n that a supply mechanism has to be added in a derived contract using {_mint}.\n For a generic mechanism see {ERC20PresetMinterPauser}.\n TIP: For a detailed writeup see our guide\n https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How\n to implement supply mechanisms].\n We have followed general OpenZeppelin Contracts guidelines: functions revert\n instead returning `false` on failure. This behavior is nonetheless\n conventional and does not conflict with the expectations of ERC20\n applications.\n Additionally, an {Approval} event is emitted on calls to {transferFrom}.\n This allows applications to reconstruct the allowance for all accounts just\n by listening to said events. Other implementations of the EIP may not emit\n these events, as it isn't required by the specification.\n Finally, the non-standard {decreaseAllowance} and {increaseAllowance}\n functions have been added to mitigate the well-known issues around setting\n allowances. See {IERC20-approve}." + "src": "297:130:7", + "text": " this contract will transfer ownership to BETimelockController after deployed\n all onlyowner method would add timelock" }, "fullyImplemented": true, - "id": 3293, + "id": 1031, "linearizedBaseContracts": [ - 3293, - 3440, - 3371, - 5377 + 1031, + 104, + 196, + 906, + 784, + 931, + 862, + 953 ], - "name": "ERC20", - "nameLocation": "1412:5:10", + "name": "BEUSDT", + "nameLocation": "437:6:7", "nodeType": "ContractDefinition", "nodes": [ - { - "constant": false, - "id": 2721, - "mutability": "mutable", - "name": "_balances", - "nameLocation": "1495:9:10", - "nodeType": "VariableDeclaration", - "scope": 3293, - "src": "1459:45:10", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 2720, - "keyType": { - "id": 2718, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1467:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1459:27:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 2719, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1478:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "visibility": "private" - }, - { - "constant": false, - "id": 2727, - "mutability": "mutable", - "name": "_allowances", - "nameLocation": "1567:11:10", - "nodeType": "VariableDeclaration", - "scope": 3293, - "src": "1511:67:10", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "typeName": { - "id": 2726, - "keyType": { - "id": 2722, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1519:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1511:47:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "valueType": { - "id": 2725, - "keyType": { - "id": 2723, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1538:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1530:27:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 2724, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1549:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - }, - "visibility": "private" - }, - { - "constant": false, - "id": 2729, - "mutability": "mutable", - "name": "_totalSupply", - "nameLocation": "1601:12:10", - "nodeType": "VariableDeclaration", - "scope": 3293, - "src": "1585:28:10", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2728, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1585:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "private" - }, - { - "constant": false, - "id": 2731, - "mutability": "mutable", - "name": "_name", - "nameLocation": "1635:5:10", - "nodeType": "VariableDeclaration", - "scope": 3293, - "src": "1620:20:10", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 2730, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1620:6:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "private" - }, - { - "constant": false, - "id": 2733, - "mutability": "mutable", - "name": "_symbol", - "nameLocation": "1661:7:10", - "nodeType": "VariableDeclaration", - "scope": 3293, - "src": "1646:22:10", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 2732, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1646:6:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "private" - }, { "body": { - "id": 2749, + "id": 975, "nodeType": "Block", - "src": "2034:57:10", - "statements": [ - { - "expression": { - "id": 2743, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2741, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2731, - "src": "2044:5:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 2742, - "name": "name_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2736, - "src": "2052:5:10", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "2044:13:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 2744, - "nodeType": "ExpressionStatement", - "src": "2044:13:10" - }, - { - "expression": { - "id": 2747, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2745, - "name": "_symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2733, - "src": "2067:7:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 2746, - "name": "symbol_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2738, - "src": "2077:7:10", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "2067:17:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 2748, - "nodeType": "ExpressionStatement", - "src": "2067:17:10" - } - ] + "src": "535:2:7", + "statements": [] }, - "documentation": { - "id": 2734, - "nodeType": "StructuredDocumentation", - "src": "1675:298:10", - "text": " @dev Sets the values for {name} and {symbol}.\n The default value of {decimals} is 18. To select a different value for\n {decimals} you should overload it.\n All two of these values are immutable: they can only be set once during\n construction." - }, - "id": 2750, + "id": 976, "implemented": true, "kind": "constructor", - "modifiers": [], + "modifiers": [ + { + "arguments": [ + { + "hexValue": "424520746573742055534454", + "id": 971, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "511:14:7", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_452e75595b059249f7b75adfa783cbeffdc54b91dcfd02fb6b119db8bbe713b7", + "typeString": "literal_string \"BE test USDT\"" + }, + "value": "BE test USDT" + }, + { + "hexValue": "55534454", + "id": 972, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "527:6:7", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8b1a1d9c2b109e527c9134b25b1a1833b16b6594f92daa9f6d9b7a6024bce9d0", + "typeString": "literal_string \"USDT\"" + }, + "value": "USDT" + } + ], + "id": 973, + "kind": "baseConstructorSpecifier", + "modifierName": { + "id": 970, + "name": "ERC20", + "nodeType": "IdentifierPath", + "referencedDeclaration": 784, + "src": "505:5:7" + }, + "nodeType": "ModifierInvocation", + "src": "505:29:7" + } + ], "name": "", "nameLocation": "-1:-1:-1", "nodeType": "FunctionDefinition", "parameters": { - "id": 2739, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2736, - "mutability": "mutable", - "name": "name_", - "nameLocation": "2004:5:10", - "nodeType": "VariableDeclaration", - "scope": 2750, - "src": "1990:19:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2735, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1990:6:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2738, - "mutability": "mutable", - "name": "symbol_", - "nameLocation": "2025:7:10", - "nodeType": "VariableDeclaration", - "scope": 2750, - "src": "2011:21:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2737, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2011:6:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "1989:44:10" - }, - "returnParameters": { - "id": 2740, + "id": 969, "nodeType": "ParameterList", "parameters": [], - "src": "2034:0:10" + "src": "502:2:7" }, - "scope": 3293, - "src": "1978:113:10", + "returnParameters": { + "id": 974, + "nodeType": "ParameterList", + "parameters": [], + "src": "535:0:7" + }, + "scope": 1031, + "src": "491:46:7", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { - "baseFunctions": [ - 3427 - ], "body": { - "id": 2759, + "id": 984, "nodeType": "Block", - "src": "2225:29:10", + "src": "577:19:7", "statements": [ { "expression": { - "id": 2757, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2731, - "src": "2242:5:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "functionReturnParameters": 2756, - "id": 2758, - "nodeType": "Return", - "src": "2235:12:10" - } - ] - }, - "documentation": { - "id": 2751, - "nodeType": "StructuredDocumentation", - "src": "2097:54:10", - "text": " @dev Returns the name of the token." - }, - "functionSelector": "06fdde03", - "id": 2760, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "name", - "nameLocation": "2165:4:10", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 2753, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "2192:8:10" - }, - "parameters": { - "id": 2752, - "nodeType": "ParameterList", - "parameters": [], - "src": "2169:2:10" - }, - "returnParameters": { - "id": 2756, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2755, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2760, - "src": "2210:13:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2754, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2210:6:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "2209:15:10" - }, - "scope": 3293, - "src": "2156:98:10", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 3433 - ], - "body": { - "id": 2769, - "nodeType": "Block", - "src": "2438:31:10", - "statements": [ - { - "expression": { - "id": 2767, - "name": "_symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2733, - "src": "2455:7:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "functionReturnParameters": 2766, - "id": 2768, - "nodeType": "Return", - "src": "2448:14:10" - } - ] - }, - "documentation": { - "id": 2761, - "nodeType": "StructuredDocumentation", - "src": "2260:102:10", - "text": " @dev Returns the symbol of the token, usually a shorter version of the\n name." - }, - "functionSelector": "95d89b41", - "id": 2770, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "symbol", - "nameLocation": "2376:6:10", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 2763, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "2405:8:10" - }, - "parameters": { - "id": 2762, - "nodeType": "ParameterList", - "parameters": [], - "src": "2382:2:10" - }, - "returnParameters": { - "id": 2766, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2765, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2770, - "src": "2423:13:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2764, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2423:6:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "2422:15:10" - }, - "scope": 3293, - "src": "2367:102:10", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 3439 - ], - "body": { - "id": 2779, - "nodeType": "Block", - "src": "3158:26:10", - "statements": [ - { - "expression": { - "hexValue": "3138", - "id": 2777, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3175:2:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" - }, - "functionReturnParameters": 2776, - "id": 2778, - "nodeType": "Return", - "src": "3168:9:10" - } - ] - }, - "documentation": { - "id": 2771, - "nodeType": "StructuredDocumentation", - "src": "2475:613:10", - "text": " @dev Returns the number of decimals used to get its user representation.\n For example, if `decimals` equals `2`, a balance of `505` tokens should\n be displayed to a user as `5.05` (`505 / 10 ** 2`).\n Tokens usually opt for a value of 18, imitating the relationship between\n Ether and Wei. This is the value {ERC20} uses, unless this function is\n overridden;\n NOTE: This information is only used for _display_ purposes: it in\n no way affects any of the arithmetic of the contract, including\n {IERC20-balanceOf} and {IERC20-transfer}." - }, - "functionSelector": "313ce567", - "id": 2780, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "decimals", - "nameLocation": "3102:8:10", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 2773, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "3133:8:10" - }, - "parameters": { - "id": 2772, - "nodeType": "ParameterList", - "parameters": [], - "src": "3110:2:10" - }, - "returnParameters": { - "id": 2776, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2775, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2780, - "src": "3151:5:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 2774, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "3151:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - } - ], - "src": "3150:7:10" - }, - "scope": 3293, - "src": "3093:91:10", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 3302 - ], - "body": { - "id": 2789, - "nodeType": "Block", - "src": "3314:36:10", - "statements": [ - { - "expression": { - "id": 2787, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2729, - "src": "3331:12:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2786, - "id": 2788, - "nodeType": "Return", - "src": "3324:19:10" - } - ] - }, - "documentation": { - "id": 2781, - "nodeType": "StructuredDocumentation", - "src": "3190:49:10", - "text": " @dev See {IERC20-totalSupply}." - }, - "functionSelector": "18160ddd", - "id": 2790, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nameLocation": "3253:11:10", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 2783, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "3287:8:10" - }, - "parameters": { - "id": 2782, - "nodeType": "ParameterList", - "parameters": [], - "src": "3264:2:10" - }, - "returnParameters": { - "id": 2786, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2785, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2790, - "src": "3305:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2784, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3305:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3304:9:10" - }, - "scope": 3293, - "src": "3244:106:10", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 3310 - ], - "body": { - "id": 2803, - "nodeType": "Block", - "src": "3491:42:10", - "statements": [ - { - "expression": { - "baseExpression": { - "id": 2799, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2721, - "src": "3508:9:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2801, - "indexExpression": { - "id": 2800, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2793, - "src": "3518:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3508:18:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2798, - "id": 2802, - "nodeType": "Return", - "src": "3501:25:10" - } - ] - }, - "documentation": { - "id": 2791, - "nodeType": "StructuredDocumentation", - "src": "3356:47:10", - "text": " @dev See {IERC20-balanceOf}." - }, - "functionSelector": "70a08231", - "id": 2804, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nameLocation": "3417:9:10", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 2795, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "3464:8:10" - }, - "parameters": { - "id": 2794, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2793, - "mutability": "mutable", - "name": "account", - "nameLocation": "3435:7:10", - "nodeType": "VariableDeclaration", - "scope": 2804, - "src": "3427:15:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2792, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3427:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "3426:17:10" - }, - "returnParameters": { - "id": 2798, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2797, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2804, - "src": "3482:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2796, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3482:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3481:9:10" - }, - "scope": 3293, - "src": "3408:125:10", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 3320 - ], - "body": { - "id": 2828, - "nodeType": "Block", - "src": "3814:104:10", - "statements": [ - { - "assignments": [ - 2816 - ], - "declarations": [ - { - "constant": false, - "id": 2816, - "mutability": "mutable", - "name": "owner", - "nameLocation": "3832:5:10", - "nodeType": "VariableDeclaration", - "scope": 2828, - "src": "3824:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2815, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3824:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 2819, - "initialValue": { "arguments": [], "expression": { "argumentTypes": [], - "id": 2817, - "name": "_msgSender", + "id": 981, + "name": "_pause", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5367, - "src": "3840:10:10", + "referencedDeclaration": 179, + "src": "583:6:7", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" } }, - "id": 2818, + "id": 982, "isConstant": false, "isLValue": false, "isPure": false, @@ -9889,7390 +10287,82 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3840:12:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3824:28:10" - }, - { - "expression": { - "arguments": [ - { - "id": 2821, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2816, - "src": "3872:5:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 2822, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2807, - "src": "3879:2:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 2823, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2809, - "src": "3883:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2820, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3054, - "src": "3862:9:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 2824, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3862:28:10", + "src": "583:8:7", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2825, + "id": 983, "nodeType": "ExpressionStatement", - "src": "3862:28:10" - }, - { - "expression": { - "hexValue": "74727565", - "id": 2826, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3907:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 2814, - "id": 2827, - "nodeType": "Return", - "src": "3900:11:10" + "src": "583:8:7" } ] }, - "documentation": { - "id": 2805, - "nodeType": "StructuredDocumentation", - "src": "3539:185:10", - "text": " @dev See {IERC20-transfer}.\n Requirements:\n - `to` cannot be the zero address.\n - the caller must have a balance of at least `amount`." - }, - "functionSelector": "a9059cbb", - "id": 2829, + "functionSelector": "8456cb59", + "id": 985, "implemented": true, "kind": "function", - "modifiers": [], - "name": "transfer", - "nameLocation": "3738:8:10", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 2811, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "3790:8:10" - }, - "parameters": { - "id": 2810, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2807, - "mutability": "mutable", - "name": "to", - "nameLocation": "3755:2:10", - "nodeType": "VariableDeclaration", - "scope": 2829, - "src": "3747:10:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2806, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3747:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" + "modifiers": [ + { + "id": 979, + "kind": "modifierInvocation", + "modifierName": { + "id": 978, + "name": "onlyOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 46, + "src": "567:9:7" }, - { - "constant": false, - "id": 2809, - "mutability": "mutable", - "name": "amount", - "nameLocation": "3767:6:10", - "nodeType": "VariableDeclaration", - "scope": 2829, - "src": "3759:14:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2808, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3759:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3746:28:10" - }, - "returnParameters": { - "id": 2814, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2813, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2829, - "src": "3808:4:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2812, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3808:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "3807:6:10" - }, - "scope": 3293, - "src": "3729:189:10", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 3330 + "nodeType": "ModifierInvocation", + "src": "567:9:7" + } ], - "body": { - "id": 2846, - "nodeType": "Block", - "src": "4074:51:10", - "statements": [ - { - "expression": { - "baseExpression": { - "baseExpression": { - "id": 2840, - "name": "_allowances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2727, - "src": "4091:11:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 2842, - "indexExpression": { - "id": 2841, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2832, - "src": "4103:5:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4091:18:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2844, - "indexExpression": { - "id": 2843, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2834, - "src": "4110:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4091:27:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2839, - "id": 2845, - "nodeType": "Return", - "src": "4084:34:10" - } - ] - }, - "documentation": { - "id": 2830, - "nodeType": "StructuredDocumentation", - "src": "3924:47:10", - "text": " @dev See {IERC20-allowance}." - }, - "functionSelector": "dd62ed3e", - "id": 2847, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nameLocation": "3985:9:10", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 2836, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "4047:8:10" - }, - "parameters": { - "id": 2835, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2832, - "mutability": "mutable", - "name": "owner", - "nameLocation": "4003:5:10", - "nodeType": "VariableDeclaration", - "scope": 2847, - "src": "3995:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2831, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3995:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2834, - "mutability": "mutable", - "name": "spender", - "nameLocation": "4018:7:10", - "nodeType": "VariableDeclaration", - "scope": 2847, - "src": "4010:15:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2833, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4010:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "3994:32:10" - }, - "returnParameters": { - "id": 2839, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2838, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2847, - "src": "4065:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2837, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4065:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4064:9:10" - }, - "scope": 3293, - "src": "3976:149:10", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 3340 - ], - "body": { - "id": 2871, - "nodeType": "Block", - "src": "4522:108:10", - "statements": [ - { - "assignments": [ - 2859 - ], - "declarations": [ - { - "constant": false, - "id": 2859, - "mutability": "mutable", - "name": "owner", - "nameLocation": "4540:5:10", - "nodeType": "VariableDeclaration", - "scope": 2871, - "src": "4532:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2858, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4532:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 2862, - "initialValue": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 2860, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5367, - "src": "4548:10:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 2861, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4548:12:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4532:28:10" - }, - { - "expression": { - "arguments": [ - { - "id": 2864, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2859, - "src": "4579:5:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 2865, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2850, - "src": "4586:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 2866, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2852, - "src": "4595:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2863, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3227, - "src": "4570:8:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 2867, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4570:32:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2868, - "nodeType": "ExpressionStatement", - "src": "4570:32:10" - }, - { - "expression": { - "hexValue": "74727565", - "id": 2869, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4619:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 2857, - "id": 2870, - "nodeType": "Return", - "src": "4612:11:10" - } - ] - }, - "documentation": { - "id": 2848, - "nodeType": "StructuredDocumentation", - "src": "4131:297:10", - "text": " @dev See {IERC20-approve}.\n NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on\n `transferFrom`. This is semantically equivalent to an infinite approval.\n Requirements:\n - `spender` cannot be the zero address." - }, - "functionSelector": "095ea7b3", - "id": 2872, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "approve", - "nameLocation": "4442:7:10", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 2854, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "4498:8:10" - }, - "parameters": { - "id": 2853, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2850, - "mutability": "mutable", - "name": "spender", - "nameLocation": "4458:7:10", - "nodeType": "VariableDeclaration", - "scope": 2872, - "src": "4450:15:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2849, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4450:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2852, - "mutability": "mutable", - "name": "amount", - "nameLocation": "4475:6:10", - "nodeType": "VariableDeclaration", - "scope": 2872, - "src": "4467:14:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2851, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4467:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4449:33:10" - }, - "returnParameters": { - "id": 2857, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2856, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2872, - "src": "4516:4:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2855, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4516:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "4515:6:10" - }, - "scope": 3293, - "src": "4433:197:10", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 3352 - ], - "body": { - "id": 2904, - "nodeType": "Block", - "src": "5325:153:10", - "statements": [ - { - "assignments": [ - 2886 - ], - "declarations": [ - { - "constant": false, - "id": 2886, - "mutability": "mutable", - "name": "spender", - "nameLocation": "5343:7:10", - "nodeType": "VariableDeclaration", - "scope": 2904, - "src": "5335:15:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2885, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5335:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 2889, - "initialValue": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 2887, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5367, - "src": "5353:10:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 2888, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5353:12:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5335:30:10" - }, - { - "expression": { - "arguments": [ - { - "id": 2891, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2875, - "src": "5391:4:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 2892, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2886, - "src": "5397:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 2893, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2879, - "src": "5406:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2890, - "name": "_spendAllowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3270, - "src": "5375:15:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 2894, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5375:38:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2895, - "nodeType": "ExpressionStatement", - "src": "5375:38:10" - }, - { - "expression": { - "arguments": [ - { - "id": 2897, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2875, - "src": "5433:4:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 2898, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2877, - "src": "5439:2:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 2899, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2879, - "src": "5443:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2896, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3054, - "src": "5423:9:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 2900, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5423:27:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2901, - "nodeType": "ExpressionStatement", - "src": "5423:27:10" - }, - { - "expression": { - "hexValue": "74727565", - "id": 2902, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5467:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 2884, - "id": 2903, - "nodeType": "Return", - "src": "5460:11:10" - } - ] - }, - "documentation": { - "id": 2873, - "nodeType": "StructuredDocumentation", - "src": "4636:551:10", - "text": " @dev See {IERC20-transferFrom}.\n Emits an {Approval} event indicating the updated allowance. This is not\n required by the EIP. See the note at the beginning of {ERC20}.\n NOTE: Does not update the allowance if the current allowance\n is the maximum `uint256`.\n Requirements:\n - `from` and `to` cannot be the zero address.\n - `from` must have a balance of at least `amount`.\n - the caller must have allowance for ``from``'s tokens of at least\n `amount`." - }, - "functionSelector": "23b872dd", - "id": 2905, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nameLocation": "5201:12:10", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 2881, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "5301:8:10" - }, - "parameters": { - "id": 2880, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2875, - "mutability": "mutable", - "name": "from", - "nameLocation": "5231:4:10", - "nodeType": "VariableDeclaration", - "scope": 2905, - "src": "5223:12:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2874, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5223:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2877, - "mutability": "mutable", - "name": "to", - "nameLocation": "5253:2:10", - "nodeType": "VariableDeclaration", - "scope": 2905, - "src": "5245:10:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2876, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5245:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2879, - "mutability": "mutable", - "name": "amount", - "nameLocation": "5273:6:10", - "nodeType": "VariableDeclaration", - "scope": 2905, - "src": "5265:14:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2878, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5265:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "5213:72:10" - }, - "returnParameters": { - "id": 2884, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2883, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2905, - "src": "5319:4:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2882, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5319:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "5318:6:10" - }, - "scope": 3293, - "src": "5192:286:10", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 2934, - "nodeType": "Block", - "src": "5967:142:10", - "statements": [ - { - "assignments": [ - 2916 - ], - "declarations": [ - { - "constant": false, - "id": 2916, - "mutability": "mutable", - "name": "owner", - "nameLocation": "5985:5:10", - "nodeType": "VariableDeclaration", - "scope": 2934, - "src": "5977:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2915, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5977:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 2919, - "initialValue": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 2917, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5367, - "src": "5993:10:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 2918, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5993:12:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5977:28:10" - }, - { - "expression": { - "arguments": [ - { - "id": 2921, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2916, - "src": "6024:5:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 2922, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2908, - "src": "6031:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2929, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "baseExpression": { - "baseExpression": { - "id": 2923, - "name": "_allowances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2727, - "src": "6040:11:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 2925, - "indexExpression": { - "id": 2924, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2916, - "src": "6052:5:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6040:18:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2927, - "indexExpression": { - "id": 2926, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2908, - "src": "6059:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6040:27:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "id": 2928, - "name": "addedValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2910, - "src": "6070:10:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6040:40:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2920, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3227, - "src": "6015:8:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 2930, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6015:66:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2931, - "nodeType": "ExpressionStatement", - "src": "6015:66:10" - }, - { - "expression": { - "hexValue": "74727565", - "id": 2932, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6098:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 2914, - "id": 2933, - "nodeType": "Return", - "src": "6091:11:10" - } - ] - }, - "documentation": { - "id": 2906, - "nodeType": "StructuredDocumentation", - "src": "5484:384:10", - "text": " @dev Atomically increases the allowance granted to `spender` by the caller.\n This is an alternative to {approve} that can be used as a mitigation for\n problems described in {IERC20-approve}.\n Emits an {Approval} event indicating the updated allowance.\n Requirements:\n - `spender` cannot be the zero address." - }, - "functionSelector": "39509351", - "id": 2935, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "increaseAllowance", - "nameLocation": "5882:17:10", + "name": "pause", + "nameLocation": "550:5:7", "nodeType": "FunctionDefinition", "parameters": { - "id": 2911, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2908, - "mutability": "mutable", - "name": "spender", - "nameLocation": "5908:7:10", - "nodeType": "VariableDeclaration", - "scope": 2935, - "src": "5900:15:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2907, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5900:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2910, - "mutability": "mutable", - "name": "addedValue", - "nameLocation": "5925:10:10", - "nodeType": "VariableDeclaration", - "scope": 2935, - "src": "5917:18:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2909, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5917:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "5899:37:10" - }, - "returnParameters": { - "id": 2914, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2913, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2935, - "src": "5961:4:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2912, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5961:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "5960:6:10" - }, - "scope": 3293, - "src": "5873:236:10", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 2976, - "nodeType": "Block", - "src": "6695:330:10", - "statements": [ - { - "assignments": [ - 2946 - ], - "declarations": [ - { - "constant": false, - "id": 2946, - "mutability": "mutable", - "name": "owner", - "nameLocation": "6713:5:10", - "nodeType": "VariableDeclaration", - "scope": 2976, - "src": "6705:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2945, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6705:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 2949, - "initialValue": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 2947, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5367, - "src": "6721:10:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 2948, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6721:12:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6705:28:10" - }, - { - "assignments": [ - 2951 - ], - "declarations": [ - { - "constant": false, - "id": 2951, - "mutability": "mutable", - "name": "currentAllowance", - "nameLocation": "6751:16:10", - "nodeType": "VariableDeclaration", - "scope": 2976, - "src": "6743:24:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2950, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6743:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 2957, - "initialValue": { - "baseExpression": { - "baseExpression": { - "id": 2952, - "name": "_allowances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2727, - "src": "6770:11:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 2954, - "indexExpression": { - "id": 2953, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2946, - "src": "6782:5:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6770:18:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2956, - "indexExpression": { - "id": 2955, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2938, - "src": "6789:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6770:27:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6743:54:10" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2961, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2959, - "name": "currentAllowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2951, - "src": "6815:16:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "id": 2960, - "name": "subtractedValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2940, - "src": "6835:15:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6815:35:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f", - "id": 2962, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6852:39:10", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8", - "typeString": "literal_string \"ERC20: decreased allowance below zero\"" - }, - "value": "ERC20: decreased allowance below zero" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8", - "typeString": "literal_string \"ERC20: decreased allowance below zero\"" - } - ], - "id": 2958, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "6807:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2963, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6807:85:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2964, - "nodeType": "ExpressionStatement", - "src": "6807:85:10" - }, - { - "id": 2973, - "nodeType": "UncheckedBlock", - "src": "6902:95:10", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 2966, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2946, - "src": "6935:5:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 2967, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2938, - "src": "6942:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2970, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2968, - "name": "currentAllowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2951, - "src": "6951:16:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 2969, - "name": "subtractedValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2940, - "src": "6970:15:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6951:34:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2965, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3227, - "src": "6926:8:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 2971, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6926:60:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2972, - "nodeType": "ExpressionStatement", - "src": "6926:60:10" - } - ] - }, - { - "expression": { - "hexValue": "74727565", - "id": 2974, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7014:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 2944, - "id": 2975, - "nodeType": "Return", - "src": "7007:11:10" - } - ] - }, - "documentation": { - "id": 2936, - "nodeType": "StructuredDocumentation", - "src": "6115:476:10", - "text": " @dev Atomically decreases the allowance granted to `spender` by the caller.\n This is an alternative to {approve} that can be used as a mitigation for\n problems described in {IERC20-approve}.\n Emits an {Approval} event indicating the updated allowance.\n Requirements:\n - `spender` cannot be the zero address.\n - `spender` must have allowance for the caller of at least\n `subtractedValue`." - }, - "functionSelector": "a457c2d7", - "id": 2977, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "decreaseAllowance", - "nameLocation": "6605:17:10", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2941, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2938, - "mutability": "mutable", - "name": "spender", - "nameLocation": "6631:7:10", - "nodeType": "VariableDeclaration", - "scope": 2977, - "src": "6623:15:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2937, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6623:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2940, - "mutability": "mutable", - "name": "subtractedValue", - "nameLocation": "6648:15:10", - "nodeType": "VariableDeclaration", - "scope": 2977, - "src": "6640:23:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2939, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6640:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "6622:42:10" - }, - "returnParameters": { - "id": 2944, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2943, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2977, - "src": "6689:4:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2942, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6689:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "6688:6:10" - }, - "scope": 3293, - "src": "6596:429:10", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 3053, - "nodeType": "Block", - "src": "7596:543:10", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2993, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2988, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2980, - "src": "7614:4:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 2991, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7630:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 2990, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7622:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 2989, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7622:7:10", - "typeDescriptions": {} - } - }, - "id": 2992, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7622:10:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "7614:18:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "45524332303a207472616e736665722066726f6d20746865207a65726f2061646472657373", - "id": 2994, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7634:39:10", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea", - "typeString": "literal_string \"ERC20: transfer from the zero address\"" - }, - "value": "ERC20: transfer from the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea", - "typeString": "literal_string \"ERC20: transfer from the zero address\"" - } - ], - "id": 2987, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "7606:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2995, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7606:68:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2996, - "nodeType": "ExpressionStatement", - "src": "7606:68:10" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 3003, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2998, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2982, - "src": "7692:2:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 3001, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7706:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 3000, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7698:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 2999, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7698:7:10", - "typeDescriptions": {} - } - }, - "id": 3002, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7698:10:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "7692:16:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "45524332303a207472616e7366657220746f20746865207a65726f2061646472657373", - "id": 3004, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7710:37:10", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f", - "typeString": "literal_string \"ERC20: transfer to the zero address\"" - }, - "value": "ERC20: transfer to the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f", - "typeString": "literal_string \"ERC20: transfer to the zero address\"" - } - ], - "id": 2997, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "7684:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3005, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7684:64:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3006, - "nodeType": "ExpressionStatement", - "src": "7684:64:10" - }, - { - "expression": { - "arguments": [ - { - "id": 3008, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2980, - "src": "7780:4:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3009, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2982, - "src": "7786:2:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3010, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2984, - "src": "7790:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3007, - "name": "_beforeTokenTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3281, - "src": "7759:20:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 3011, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7759:38:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3012, - "nodeType": "ExpressionStatement", - "src": "7759:38:10" - }, - { - "assignments": [ - 3014 - ], - "declarations": [ - { - "constant": false, - "id": 3014, - "mutability": "mutable", - "name": "fromBalance", - "nameLocation": "7816:11:10", - "nodeType": "VariableDeclaration", - "scope": 3053, - "src": "7808:19:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3013, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7808:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 3018, - "initialValue": { - "baseExpression": { - "id": 3015, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2721, - "src": "7830:9:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3017, - "indexExpression": { - "id": 3016, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2980, - "src": "7840:4:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7830:15:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7808:37:10" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3022, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3020, - "name": "fromBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3014, - "src": "7863:11:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "id": 3021, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2984, - "src": "7878:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7863:21:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365", - "id": 3023, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7886:40:10", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6", - "typeString": "literal_string \"ERC20: transfer amount exceeds balance\"" - }, - "value": "ERC20: transfer amount exceeds balance" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6", - "typeString": "literal_string \"ERC20: transfer amount exceeds balance\"" - } - ], - "id": 3019, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "7855:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3024, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7855:72:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3025, - "nodeType": "ExpressionStatement", - "src": "7855:72:10" - }, - { - "id": 3034, - "nodeType": "UncheckedBlock", - "src": "7937:73:10", - "statements": [ - { - "expression": { - "id": 3032, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 3026, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2721, - "src": "7961:9:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3028, - "indexExpression": { - "id": 3027, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2980, - "src": "7971:4:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7961:15:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3031, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3029, - "name": "fromBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3014, - "src": "7979:11:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 3030, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2984, - "src": "7993:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7979:20:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7961:38:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3033, - "nodeType": "ExpressionStatement", - "src": "7961:38:10" - } - ] - }, - { - "expression": { - "id": 3039, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 3035, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2721, - "src": "8019:9:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3037, - "indexExpression": { - "id": 3036, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2982, - "src": "8029:2:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8019:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "id": 3038, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2984, - "src": "8036:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8019:23:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3040, - "nodeType": "ExpressionStatement", - "src": "8019:23:10" - }, - { - "eventCall": { - "arguments": [ - { - "id": 3042, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2980, - "src": "8067:4:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3043, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2982, - "src": "8073:2:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3044, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2984, - "src": "8077:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3041, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3361, - "src": "8058:8:10", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 3045, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8058:26:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3046, - "nodeType": "EmitStatement", - "src": "8053:31:10" - }, - { - "expression": { - "arguments": [ - { - "id": 3048, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2980, - "src": "8115:4:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3049, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2982, - "src": "8121:2:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3050, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2984, - "src": "8125:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3047, - "name": "_afterTokenTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3292, - "src": "8095:19:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 3051, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8095:37:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3052, - "nodeType": "ExpressionStatement", - "src": "8095:37:10" - } - ] - }, - "documentation": { - "id": 2978, - "nodeType": "StructuredDocumentation", - "src": "7031:452:10", - "text": " @dev Moves `amount` of tokens from `sender` to `recipient`.\n This internal function is equivalent to {transfer}, and can be used to\n e.g. implement automatic token fees, slashing mechanisms, etc.\n Emits a {Transfer} event.\n Requirements:\n - `from` cannot be the zero address.\n - `to` cannot be the zero address.\n - `from` must have a balance of at least `amount`." - }, - "id": 3054, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_transfer", - "nameLocation": "7497:9:10", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2985, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2980, - "mutability": "mutable", - "name": "from", - "nameLocation": "7524:4:10", - "nodeType": "VariableDeclaration", - "scope": 3054, - "src": "7516:12:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2979, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7516:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2982, - "mutability": "mutable", - "name": "to", - "nameLocation": "7546:2:10", - "nodeType": "VariableDeclaration", - "scope": 3054, - "src": "7538:10:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2981, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7538:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2984, - "mutability": "mutable", - "name": "amount", - "nameLocation": "7566:6:10", - "nodeType": "VariableDeclaration", - "scope": 3054, - "src": "7558:14:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2983, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7558:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "7506:72:10" - }, - "returnParameters": { - "id": 2986, + "id": 977, "nodeType": "ParameterList", "parameters": [], - "src": "7596:0:10" - }, - "scope": 3293, - "src": "7488:651:10", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 3109, - "nodeType": "Block", - "src": "8480:324:10", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 3068, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3063, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3057, - "src": "8498:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 3066, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8517:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 3065, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8509:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 3064, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8509:7:10", - "typeDescriptions": {} - } - }, - "id": 3067, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8509:10:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "8498:21:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "45524332303a206d696e7420746f20746865207a65726f2061646472657373", - "id": 3069, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8521:33:10", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e", - "typeString": "literal_string \"ERC20: mint to the zero address\"" - }, - "value": "ERC20: mint to the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e", - "typeString": "literal_string \"ERC20: mint to the zero address\"" - } - ], - "id": 3062, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "8490:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3070, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8490:65:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3071, - "nodeType": "ExpressionStatement", - "src": "8490:65:10" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "hexValue": "30", - "id": 3075, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8595:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 3074, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8587:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 3073, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8587:7:10", - "typeDescriptions": {} - } - }, - "id": 3076, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8587:10:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3077, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3057, - "src": "8599:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3078, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3059, - "src": "8608:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3072, - "name": "_beforeTokenTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3281, - "src": "8566:20:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 3079, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8566:49:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3080, - "nodeType": "ExpressionStatement", - "src": "8566:49:10" - }, - { - "expression": { - "id": 3083, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 3081, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2729, - "src": "8626:12:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "id": 3082, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3059, - "src": "8642:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8626:22:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3084, - "nodeType": "ExpressionStatement", - "src": "8626:22:10" - }, - { - "expression": { - "id": 3089, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 3085, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2721, - "src": "8658:9:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3087, - "indexExpression": { - "id": 3086, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3057, - "src": "8668:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8658:18:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "id": 3088, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3059, - "src": "8680:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8658:28:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3090, - "nodeType": "ExpressionStatement", - "src": "8658:28:10" - }, - { - "eventCall": { - "arguments": [ - { - "arguments": [ - { - "hexValue": "30", - "id": 3094, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8718:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 3093, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8710:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 3092, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8710:7:10", - "typeDescriptions": {} - } - }, - "id": 3095, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8710:10:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3096, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3057, - "src": "8722:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3097, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3059, - "src": "8731:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3091, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3361, - "src": "8701:8:10", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 3098, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8701:37:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3099, - "nodeType": "EmitStatement", - "src": "8696:42:10" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "hexValue": "30", - "id": 3103, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8777:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 3102, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8769:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 3101, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8769:7:10", - "typeDescriptions": {} - } - }, - "id": 3104, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8769:10:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3105, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3057, - "src": "8781:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3106, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3059, - "src": "8790:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3100, - "name": "_afterTokenTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3292, - "src": "8749:19:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 3107, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8749:48:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3108, - "nodeType": "ExpressionStatement", - "src": "8749:48:10" - } - ] - }, - "documentation": { - "id": 3055, - "nodeType": "StructuredDocumentation", - "src": "8145:265:10", - "text": "@dev Creates `amount` tokens and assigns them to `account`, increasing\n the total supply.\n Emits a {Transfer} event with `from` set to the zero address.\n Requirements:\n - `account` cannot be the zero address." - }, - "id": 3110, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_mint", - "nameLocation": "8424:5:10", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3060, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3057, - "mutability": "mutable", - "name": "account", - "nameLocation": "8438:7:10", - "nodeType": "VariableDeclaration", - "scope": 3110, - "src": "8430:15:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3056, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8430:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3059, - "mutability": "mutable", - "name": "amount", - "nameLocation": "8455:6:10", - "nodeType": "VariableDeclaration", - "scope": 3110, - "src": "8447:14:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3058, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8447:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "8429:33:10" + "src": "555:2:7" }, "returnParameters": { - "id": 3061, + "id": 980, "nodeType": "ParameterList", "parameters": [], - "src": "8480:0:10" + "src": "577:0:7" }, - "scope": 3293, - "src": "8415:389:10", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 3181, - "nodeType": "Block", - "src": "9189:511:10", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 3124, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3119, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3113, - "src": "9207:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 3122, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9226:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 3121, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9218:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 3120, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9218:7:10", - "typeDescriptions": {} - } - }, - "id": 3123, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9218:10:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "9207:21:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "45524332303a206275726e2066726f6d20746865207a65726f2061646472657373", - "id": 3125, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9230:35:10", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f", - "typeString": "literal_string \"ERC20: burn from the zero address\"" - }, - "value": "ERC20: burn from the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f", - "typeString": "literal_string \"ERC20: burn from the zero address\"" - } - ], - "id": 3118, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "9199:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3126, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9199:67:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3127, - "nodeType": "ExpressionStatement", - "src": "9199:67:10" - }, - { - "expression": { - "arguments": [ - { - "id": 3129, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3113, - "src": "9298:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "hexValue": "30", - "id": 3132, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9315:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 3131, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9307:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 3130, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9307:7:10", - "typeDescriptions": {} - } - }, - "id": 3133, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9307:10:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3134, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3115, - "src": "9319:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3128, - "name": "_beforeTokenTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3281, - "src": "9277:20:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 3135, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9277:49:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3136, - "nodeType": "ExpressionStatement", - "src": "9277:49:10" - }, - { - "assignments": [ - 3138 - ], - "declarations": [ - { - "constant": false, - "id": 3138, - "mutability": "mutable", - "name": "accountBalance", - "nameLocation": "9345:14:10", - "nodeType": "VariableDeclaration", - "scope": 3181, - "src": "9337:22:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3137, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9337:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 3142, - "initialValue": { - "baseExpression": { - "id": 3139, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2721, - "src": "9362:9:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3141, - "indexExpression": { - "id": 3140, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3113, - "src": "9372:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9362:18:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9337:43:10" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3146, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3144, - "name": "accountBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3138, - "src": "9398:14:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "id": 3145, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3115, - "src": "9416:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9398:24:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "45524332303a206275726e20616d6f756e7420657863656564732062616c616e6365", - "id": 3147, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9424:36:10", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd", - "typeString": "literal_string \"ERC20: burn amount exceeds balance\"" - }, - "value": "ERC20: burn amount exceeds balance" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd", - "typeString": "literal_string \"ERC20: burn amount exceeds balance\"" - } - ], - "id": 3143, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "9390:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3148, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9390:71:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3149, - "nodeType": "ExpressionStatement", - "src": "9390:71:10" - }, - { - "id": 3158, - "nodeType": "UncheckedBlock", - "src": "9471:79:10", - "statements": [ - { - "expression": { - "id": 3156, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 3150, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2721, - "src": "9495:9:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3152, - "indexExpression": { - "id": 3151, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3113, - "src": "9505:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9495:18:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3155, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3153, - "name": "accountBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3138, - "src": "9516:14:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 3154, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3115, - "src": "9533:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9516:23:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9495:44:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3157, - "nodeType": "ExpressionStatement", - "src": "9495:44:10" - } - ] - }, - { - "expression": { - "id": 3161, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 3159, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2729, - "src": "9559:12:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "id": 3160, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3115, - "src": "9575:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9559:22:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3162, - "nodeType": "ExpressionStatement", - "src": "9559:22:10" - }, - { - "eventCall": { - "arguments": [ - { - "id": 3164, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3113, - "src": "9606:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "hexValue": "30", - "id": 3167, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9623:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 3166, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9615:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 3165, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9615:7:10", - "typeDescriptions": {} - } - }, - "id": 3168, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9615:10:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3169, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3115, - "src": "9627:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3163, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3361, - "src": "9597:8:10", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 3170, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9597:37:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3171, - "nodeType": "EmitStatement", - "src": "9592:42:10" - }, - { - "expression": { - "arguments": [ - { - "id": 3173, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3113, - "src": "9665:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "hexValue": "30", - "id": 3176, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9682:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 3175, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9674:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 3174, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9674:7:10", - "typeDescriptions": {} - } - }, - "id": 3177, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9674:10:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3178, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3115, - "src": "9686:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3172, - "name": "_afterTokenTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3292, - "src": "9645:19:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 3179, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9645:48:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3180, - "nodeType": "ExpressionStatement", - "src": "9645:48:10" - } - ] - }, - "documentation": { - "id": 3111, - "nodeType": "StructuredDocumentation", - "src": "8810:309:10", - "text": " @dev Destroys `amount` tokens from `account`, reducing the\n total supply.\n Emits a {Transfer} event with `to` set to the zero address.\n Requirements:\n - `account` cannot be the zero address.\n - `account` must have at least `amount` tokens." - }, - "id": 3182, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_burn", - "nameLocation": "9133:5:10", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3116, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3113, - "mutability": "mutable", - "name": "account", - "nameLocation": "9147:7:10", - "nodeType": "VariableDeclaration", - "scope": 3182, - "src": "9139:15:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3112, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9139:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3115, - "mutability": "mutable", - "name": "amount", - "nameLocation": "9164:6:10", - "nodeType": "VariableDeclaration", - "scope": 3182, - "src": "9156:14:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3114, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9156:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "9138:33:10" - }, - "returnParameters": { - "id": 3117, - "nodeType": "ParameterList", - "parameters": [], - "src": "9189:0:10" - }, - "scope": 3293, - "src": "9124:576:10", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 3226, - "nodeType": "Block", - "src": "10236:257:10", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 3198, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3193, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3185, - "src": "10254:5:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 3196, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10271:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 3195, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10263:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 3194, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10263:7:10", - "typeDescriptions": {} - } - }, - "id": 3197, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10263:10:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "10254:19:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "45524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373", - "id": 3199, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10275:38:10", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208", - "typeString": "literal_string \"ERC20: approve from the zero address\"" - }, - "value": "ERC20: approve from the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208", - "typeString": "literal_string \"ERC20: approve from the zero address\"" - } - ], - "id": 3192, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "10246:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3200, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10246:68:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3201, - "nodeType": "ExpressionStatement", - "src": "10246:68:10" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 3208, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3203, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3187, - "src": "10332:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 3206, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10351:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 3205, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10343:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 3204, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10343:7:10", - "typeDescriptions": {} - } - }, - "id": 3207, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10343:10:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "10332:21:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "45524332303a20617070726f766520746f20746865207a65726f2061646472657373", - "id": 3209, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10355:36:10", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029", - "typeString": "literal_string \"ERC20: approve to the zero address\"" - }, - "value": "ERC20: approve to the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029", - "typeString": "literal_string \"ERC20: approve to the zero address\"" - } - ], - "id": 3202, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "10324:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3210, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10324:68:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3211, - "nodeType": "ExpressionStatement", - "src": "10324:68:10" - }, - { - "expression": { - "id": 3218, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "id": 3212, - "name": "_allowances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2727, - "src": "10403:11:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 3215, - "indexExpression": { - "id": 3213, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3185, - "src": "10415:5:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10403:18:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3216, - "indexExpression": { - "id": 3214, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3187, - "src": "10422:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "10403:27:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 3217, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3189, - "src": "10433:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10403:36:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3219, - "nodeType": "ExpressionStatement", - "src": "10403:36:10" - }, - { - "eventCall": { - "arguments": [ - { - "id": 3221, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3185, - "src": "10463:5:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3222, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3187, - "src": "10470:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3223, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3189, - "src": "10479:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3220, - "name": "Approval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3370, - "src": "10454:8:10", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 3224, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10454:32:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3225, - "nodeType": "EmitStatement", - "src": "10449:37:10" - } - ] - }, - "documentation": { - "id": 3183, - "nodeType": "StructuredDocumentation", - "src": "9706:412:10", - "text": " @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens.\n This internal function is equivalent to `approve`, and can be used to\n e.g. set automatic allowances for certain subsystems, etc.\n Emits an {Approval} event.\n Requirements:\n - `owner` cannot be the zero address.\n - `spender` cannot be the zero address." - }, - "id": 3227, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_approve", - "nameLocation": "10132:8:10", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3190, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3185, - "mutability": "mutable", - "name": "owner", - "nameLocation": "10158:5:10", - "nodeType": "VariableDeclaration", - "scope": 3227, - "src": "10150:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3184, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10150:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3187, - "mutability": "mutable", - "name": "spender", - "nameLocation": "10181:7:10", - "nodeType": "VariableDeclaration", - "scope": 3227, - "src": "10173:15:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3186, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10173:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3189, - "mutability": "mutable", - "name": "amount", - "nameLocation": "10206:6:10", - "nodeType": "VariableDeclaration", - "scope": 3227, - "src": "10198:14:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3188, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10198:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "10140:78:10" - }, - "returnParameters": { - "id": 3191, - "nodeType": "ParameterList", - "parameters": [], - "src": "10236:0:10" - }, - "scope": 3293, - "src": "10123:370:10", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 3269, - "nodeType": "Block", - "src": "10890:321:10", - "statements": [ - { - "assignments": [ - 3238 - ], - "declarations": [ - { - "constant": false, - "id": 3238, - "mutability": "mutable", - "name": "currentAllowance", - "nameLocation": "10908:16:10", - "nodeType": "VariableDeclaration", - "scope": 3269, - "src": "10900:24:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3237, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10900:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 3243, - "initialValue": { - "arguments": [ - { - "id": 3240, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3230, - "src": "10937:5:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3241, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3232, - "src": "10944:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 3239, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2847, - "src": "10927:9:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$", - "typeString": "function (address,address) view returns (uint256)" - } - }, - "id": 3242, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10927:25:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10900:52:10" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3250, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3244, - "name": "currentAllowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3238, - "src": "10966:16:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "expression": { - "arguments": [ - { - "id": 3247, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10991:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 3246, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10991:7:10", - "typeDescriptions": {} - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - } - ], - "id": 3245, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967269, - "src": "10986:4:10", - "typeDescriptions": { - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 3248, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10986:13:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_uint256", - "typeString": "type(uint256)" - } - }, - "id": 3249, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "max", - "nodeType": "MemberAccess", - "src": "10986:17:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10966:37:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3268, - "nodeType": "IfStatement", - "src": "10962:243:10", - "trueBody": { - "id": 3267, - "nodeType": "Block", - "src": "11005:200:10", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3254, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3252, - "name": "currentAllowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3238, - "src": "11027:16:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "id": 3253, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3234, - "src": "11047:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11027:26:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "45524332303a20696e73756666696369656e7420616c6c6f77616e6365", - "id": 3255, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11055:31:10", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe", - "typeString": "literal_string \"ERC20: insufficient allowance\"" - }, - "value": "ERC20: insufficient allowance" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe", - "typeString": "literal_string \"ERC20: insufficient allowance\"" - } - ], - "id": 3251, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "11019:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3256, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11019:68:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3257, - "nodeType": "ExpressionStatement", - "src": "11019:68:10" - }, - { - "id": 3266, - "nodeType": "UncheckedBlock", - "src": "11101:94:10", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 3259, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3230, - "src": "11138:5:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3260, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3232, - "src": "11145:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3263, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3261, - "name": "currentAllowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3238, - "src": "11154:16:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 3262, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3234, - "src": "11173:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11154:25:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3258, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3227, - "src": "11129:8:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 3264, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11129:51:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3265, - "nodeType": "ExpressionStatement", - "src": "11129:51:10" - } - ] - } - ] - } - } - ] - }, - "documentation": { - "id": 3228, - "nodeType": "StructuredDocumentation", - "src": "10499:266:10", - "text": " @dev Spend `amount` form the allowance of `owner` toward `spender`.\n Does not update the allowance amount in case of infinite allowance.\n Revert if not enough allowance is available.\n Might emit an {Approval} event." - }, - "id": 3270, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_spendAllowance", - "nameLocation": "10779:15:10", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3235, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3230, - "mutability": "mutable", - "name": "owner", - "nameLocation": "10812:5:10", - "nodeType": "VariableDeclaration", - "scope": 3270, - "src": "10804:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3229, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10804:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3232, - "mutability": "mutable", - "name": "spender", - "nameLocation": "10835:7:10", - "nodeType": "VariableDeclaration", - "scope": 3270, - "src": "10827:15:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3231, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10827:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3234, - "mutability": "mutable", - "name": "amount", - "nameLocation": "10860:6:10", - "nodeType": "VariableDeclaration", - "scope": 3270, - "src": "10852:14:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3233, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10852:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "10794:78:10" - }, - "returnParameters": { - "id": 3236, - "nodeType": "ParameterList", - "parameters": [], - "src": "10890:0:10" - }, - "scope": 3293, - "src": "10770:441:10", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 3280, - "nodeType": "Block", - "src": "11914:2:10", - "statements": [] - }, - "documentation": { - "id": 3271, - "nodeType": "StructuredDocumentation", - "src": "11217:573:10", - "text": " @dev Hook that is called before any transfer of tokens. This includes\n minting and burning.\n Calling conditions:\n - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens\n will be transferred to `to`.\n - when `from` is zero, `amount` tokens will be minted for `to`.\n - when `to` is zero, `amount` of ``from``'s tokens will be burned.\n - `from` and `to` are never both zero.\n To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]." - }, - "id": 3281, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_beforeTokenTransfer", - "nameLocation": "11804:20:10", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3278, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3273, - "mutability": "mutable", - "name": "from", - "nameLocation": "11842:4:10", - "nodeType": "VariableDeclaration", - "scope": 3281, - "src": "11834:12:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3272, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11834:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3275, - "mutability": "mutable", - "name": "to", - "nameLocation": "11864:2:10", - "nodeType": "VariableDeclaration", - "scope": 3281, - "src": "11856:10:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3274, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11856:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3277, - "mutability": "mutable", - "name": "amount", - "nameLocation": "11884:6:10", - "nodeType": "VariableDeclaration", - "scope": 3281, - "src": "11876:14:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3276, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11876:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "11824:72:10" - }, - "returnParameters": { - "id": 3279, - "nodeType": "ParameterList", - "parameters": [], - "src": "11914:0:10" - }, - "scope": 3293, - "src": "11795:121:10", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 3291, - "nodeType": "Block", - "src": "12622:2:10", - "statements": [] - }, - "documentation": { - "id": 3282, - "nodeType": "StructuredDocumentation", - "src": "11922:577:10", - "text": " @dev Hook that is called after any transfer of tokens. This includes\n minting and burning.\n Calling conditions:\n - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens\n has been transferred to `to`.\n - when `from` is zero, `amount` tokens have been minted for `to`.\n - when `to` is zero, `amount` of ``from``'s tokens have been burned.\n - `from` and `to` are never both zero.\n To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]." - }, - "id": 3292, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_afterTokenTransfer", - "nameLocation": "12513:19:10", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3289, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3284, - "mutability": "mutable", - "name": "from", - "nameLocation": "12550:4:10", - "nodeType": "VariableDeclaration", - "scope": 3292, - "src": "12542:12:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3283, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12542:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3286, - "mutability": "mutable", - "name": "to", - "nameLocation": "12572:2:10", - "nodeType": "VariableDeclaration", - "scope": 3292, - "src": "12564:10:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3285, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12564:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3288, - "mutability": "mutable", - "name": "amount", - "nameLocation": "12592:6:10", - "nodeType": "VariableDeclaration", - "scope": 3292, - "src": "12584:14:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3287, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12584:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "12532:72:10" - }, - "returnParameters": { - "id": 3290, - "nodeType": "ParameterList", - "parameters": [], - "src": "12622:0:10" - }, - "scope": 3293, - "src": "12504:120:10", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - } - ], - "scope": 3294, - "src": "1403:11223:10", - "usedErrors": [] - } - ], - "src": "105:12522:10" - }, - "legacyAST": { - "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "exportedSymbols": { - "Context": [ - 5377 - ], - "ERC20": [ - 3293 - ], - "IERC20": [ - 3371 - ], - "IERC20Metadata": [ - 3440 - ] - }, - "id": 3294, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2707, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "105:23:10" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol", - "file": "./IERC20.sol", - "id": 2708, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 3294, - "sourceUnit": 3372, - "src": "130:22:10", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol", - "file": "./extensions/IERC20Metadata.sol", - "id": 2709, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 3294, - "sourceUnit": 3441, - "src": "153:41:10", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/Context.sol", - "file": "../../utils/Context.sol", - "id": 2710, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 3294, - "sourceUnit": 5378, - "src": "195:33:10", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 2712, - "name": "Context", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5377, - "src": "1421:7:10" - }, - "id": 2713, - "nodeType": "InheritanceSpecifier", - "src": "1421:7:10" - }, - { - "baseName": { - "id": 2714, - "name": "IERC20", - "nodeType": "IdentifierPath", - "referencedDeclaration": 3371, - "src": "1430:6:10" - }, - "id": 2715, - "nodeType": "InheritanceSpecifier", - "src": "1430:6:10" - }, - { - "baseName": { - "id": 2716, - "name": "IERC20Metadata", - "nodeType": "IdentifierPath", - "referencedDeclaration": 3440, - "src": "1438:14:10" - }, - "id": 2717, - "nodeType": "InheritanceSpecifier", - "src": "1438:14:10" - } - ], - "canonicalName": "ERC20", - "contractDependencies": [], - "contractKind": "contract", - "documentation": { - "id": 2711, - "nodeType": "StructuredDocumentation", - "src": "230:1172:10", - "text": " @dev Implementation of the {IERC20} interface.\n This implementation is agnostic to the way tokens are created. This means\n that a supply mechanism has to be added in a derived contract using {_mint}.\n For a generic mechanism see {ERC20PresetMinterPauser}.\n TIP: For a detailed writeup see our guide\n https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How\n to implement supply mechanisms].\n We have followed general OpenZeppelin Contracts guidelines: functions revert\n instead returning `false` on failure. This behavior is nonetheless\n conventional and does not conflict with the expectations of ERC20\n applications.\n Additionally, an {Approval} event is emitted on calls to {transferFrom}.\n This allows applications to reconstruct the allowance for all accounts just\n by listening to said events. Other implementations of the EIP may not emit\n these events, as it isn't required by the specification.\n Finally, the non-standard {decreaseAllowance} and {increaseAllowance}\n functions have been added to mitigate the well-known issues around setting\n allowances. See {IERC20-approve}." - }, - "fullyImplemented": true, - "id": 3293, - "linearizedBaseContracts": [ - 3293, - 3440, - 3371, - 5377 - ], - "name": "ERC20", - "nameLocation": "1412:5:10", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 2721, - "mutability": "mutable", - "name": "_balances", - "nameLocation": "1495:9:10", - "nodeType": "VariableDeclaration", - "scope": 3293, - "src": "1459:45:10", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 2720, - "keyType": { - "id": 2718, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1467:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1459:27:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 2719, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1478:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "visibility": "private" - }, - { - "constant": false, - "id": 2727, - "mutability": "mutable", - "name": "_allowances", - "nameLocation": "1567:11:10", - "nodeType": "VariableDeclaration", - "scope": 3293, - "src": "1511:67:10", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "typeName": { - "id": 2726, - "keyType": { - "id": 2722, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1519:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1511:47:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "valueType": { - "id": 2725, - "keyType": { - "id": 2723, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1538:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1530:27:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 2724, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1549:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - }, - "visibility": "private" - }, - { - "constant": false, - "id": 2729, - "mutability": "mutable", - "name": "_totalSupply", - "nameLocation": "1601:12:10", - "nodeType": "VariableDeclaration", - "scope": 3293, - "src": "1585:28:10", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2728, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1585:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "private" - }, - { - "constant": false, - "id": 2731, - "mutability": "mutable", - "name": "_name", - "nameLocation": "1635:5:10", - "nodeType": "VariableDeclaration", - "scope": 3293, - "src": "1620:20:10", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 2730, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1620:6:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "private" - }, - { - "constant": false, - "id": 2733, - "mutability": "mutable", - "name": "_symbol", - "nameLocation": "1661:7:10", - "nodeType": "VariableDeclaration", - "scope": 3293, - "src": "1646:22:10", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 2732, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1646:6:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "private" - }, - { - "body": { - "id": 2749, - "nodeType": "Block", - "src": "2034:57:10", - "statements": [ - { - "expression": { - "id": 2743, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2741, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2731, - "src": "2044:5:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 2742, - "name": "name_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2736, - "src": "2052:5:10", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "2044:13:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 2744, - "nodeType": "ExpressionStatement", - "src": "2044:13:10" - }, - { - "expression": { - "id": 2747, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2745, - "name": "_symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2733, - "src": "2067:7:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 2746, - "name": "symbol_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2738, - "src": "2077:7:10", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "2067:17:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 2748, - "nodeType": "ExpressionStatement", - "src": "2067:17:10" - } - ] - }, - "documentation": { - "id": 2734, - "nodeType": "StructuredDocumentation", - "src": "1675:298:10", - "text": " @dev Sets the values for {name} and {symbol}.\n The default value of {decimals} is 18. To select a different value for\n {decimals} you should overload it.\n All two of these values are immutable: they can only be set once during\n construction." - }, - "id": 2750, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2739, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2736, - "mutability": "mutable", - "name": "name_", - "nameLocation": "2004:5:10", - "nodeType": "VariableDeclaration", - "scope": 2750, - "src": "1990:19:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2735, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1990:6:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2738, - "mutability": "mutable", - "name": "symbol_", - "nameLocation": "2025:7:10", - "nodeType": "VariableDeclaration", - "scope": 2750, - "src": "2011:21:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2737, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2011:6:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "1989:44:10" - }, - "returnParameters": { - "id": 2740, - "nodeType": "ParameterList", - "parameters": [], - "src": "2034:0:10" - }, - "scope": 3293, - "src": "1978:113:10", + "scope": 1031, + "src": "541:55:7", "stateMutability": "nonpayable", "virtual": false, - "visibility": "public" + "visibility": "external" }, { - "baseFunctions": [ - 3427 - ], "body": { - "id": 2759, + "id": 993, "nodeType": "Block", - "src": "2225:29:10", + "src": "638:21:7", "statements": [ { "expression": { - "id": 2757, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2731, - "src": "2242:5:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "functionReturnParameters": 2756, - "id": 2758, - "nodeType": "Return", - "src": "2235:12:10" - } - ] - }, - "documentation": { - "id": 2751, - "nodeType": "StructuredDocumentation", - "src": "2097:54:10", - "text": " @dev Returns the name of the token." - }, - "functionSelector": "06fdde03", - "id": 2760, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "name", - "nameLocation": "2165:4:10", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 2753, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "2192:8:10" - }, - "parameters": { - "id": 2752, - "nodeType": "ParameterList", - "parameters": [], - "src": "2169:2:10" - }, - "returnParameters": { - "id": 2756, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2755, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2760, - "src": "2210:13:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2754, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2210:6:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "2209:15:10" - }, - "scope": 3293, - "src": "2156:98:10", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 3433 - ], - "body": { - "id": 2769, - "nodeType": "Block", - "src": "2438:31:10", - "statements": [ - { - "expression": { - "id": 2767, - "name": "_symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2733, - "src": "2455:7:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "functionReturnParameters": 2766, - "id": 2768, - "nodeType": "Return", - "src": "2448:14:10" - } - ] - }, - "documentation": { - "id": 2761, - "nodeType": "StructuredDocumentation", - "src": "2260:102:10", - "text": " @dev Returns the symbol of the token, usually a shorter version of the\n name." - }, - "functionSelector": "95d89b41", - "id": 2770, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "symbol", - "nameLocation": "2376:6:10", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 2763, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "2405:8:10" - }, - "parameters": { - "id": 2762, - "nodeType": "ParameterList", - "parameters": [], - "src": "2382:2:10" - }, - "returnParameters": { - "id": 2766, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2765, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2770, - "src": "2423:13:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2764, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2423:6:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "2422:15:10" - }, - "scope": 3293, - "src": "2367:102:10", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 3439 - ], - "body": { - "id": 2779, - "nodeType": "Block", - "src": "3158:26:10", - "statements": [ - { - "expression": { - "hexValue": "3138", - "id": 2777, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3175:2:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" - }, - "functionReturnParameters": 2776, - "id": 2778, - "nodeType": "Return", - "src": "3168:9:10" - } - ] - }, - "documentation": { - "id": 2771, - "nodeType": "StructuredDocumentation", - "src": "2475:613:10", - "text": " @dev Returns the number of decimals used to get its user representation.\n For example, if `decimals` equals `2`, a balance of `505` tokens should\n be displayed to a user as `5.05` (`505 / 10 ** 2`).\n Tokens usually opt for a value of 18, imitating the relationship between\n Ether and Wei. This is the value {ERC20} uses, unless this function is\n overridden;\n NOTE: This information is only used for _display_ purposes: it in\n no way affects any of the arithmetic of the contract, including\n {IERC20-balanceOf} and {IERC20-transfer}." - }, - "functionSelector": "313ce567", - "id": 2780, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "decimals", - "nameLocation": "3102:8:10", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 2773, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "3133:8:10" - }, - "parameters": { - "id": 2772, - "nodeType": "ParameterList", - "parameters": [], - "src": "3110:2:10" - }, - "returnParameters": { - "id": 2776, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2775, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2780, - "src": "3151:5:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 2774, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "3151:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - } - ], - "src": "3150:7:10" - }, - "scope": 3293, - "src": "3093:91:10", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 3302 - ], - "body": { - "id": 2789, - "nodeType": "Block", - "src": "3314:36:10", - "statements": [ - { - "expression": { - "id": 2787, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2729, - "src": "3331:12:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2786, - "id": 2788, - "nodeType": "Return", - "src": "3324:19:10" - } - ] - }, - "documentation": { - "id": 2781, - "nodeType": "StructuredDocumentation", - "src": "3190:49:10", - "text": " @dev See {IERC20-totalSupply}." - }, - "functionSelector": "18160ddd", - "id": 2790, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nameLocation": "3253:11:10", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 2783, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "3287:8:10" - }, - "parameters": { - "id": 2782, - "nodeType": "ParameterList", - "parameters": [], - "src": "3264:2:10" - }, - "returnParameters": { - "id": 2786, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2785, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2790, - "src": "3305:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2784, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3305:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3304:9:10" - }, - "scope": 3293, - "src": "3244:106:10", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 3310 - ], - "body": { - "id": 2803, - "nodeType": "Block", - "src": "3491:42:10", - "statements": [ - { - "expression": { - "baseExpression": { - "id": 2799, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2721, - "src": "3508:9:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2801, - "indexExpression": { - "id": 2800, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2793, - "src": "3518:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3508:18:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2798, - "id": 2802, - "nodeType": "Return", - "src": "3501:25:10" - } - ] - }, - "documentation": { - "id": 2791, - "nodeType": "StructuredDocumentation", - "src": "3356:47:10", - "text": " @dev See {IERC20-balanceOf}." - }, - "functionSelector": "70a08231", - "id": 2804, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nameLocation": "3417:9:10", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 2795, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "3464:8:10" - }, - "parameters": { - "id": 2794, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2793, - "mutability": "mutable", - "name": "account", - "nameLocation": "3435:7:10", - "nodeType": "VariableDeclaration", - "scope": 2804, - "src": "3427:15:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2792, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3427:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "3426:17:10" - }, - "returnParameters": { - "id": 2798, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2797, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2804, - "src": "3482:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2796, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3482:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3481:9:10" - }, - "scope": 3293, - "src": "3408:125:10", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 3320 - ], - "body": { - "id": 2828, - "nodeType": "Block", - "src": "3814:104:10", - "statements": [ - { - "assignments": [ - 2816 - ], - "declarations": [ - { - "constant": false, - "id": 2816, - "mutability": "mutable", - "name": "owner", - "nameLocation": "3832:5:10", - "nodeType": "VariableDeclaration", - "scope": 2828, - "src": "3824:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2815, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3824:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 2819, - "initialValue": { "arguments": [], "expression": { "argumentTypes": [], - "id": 2817, - "name": "_msgSender", + "id": 990, + "name": "_unpause", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5367, - "src": "3840:10:10", + "referencedDeclaration": 195, + "src": "644:8:7", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" } }, - "id": 2818, + "id": 991, "isConstant": false, "isLValue": false, "isPure": false, @@ -17280,50 +10370,87 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3840:12:10", + "src": "644:10:7", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } }, - "nodeType": "VariableDeclarationStatement", - "src": "3824:28:10" + "id": 992, + "nodeType": "ExpressionStatement", + "src": "644:10:7" + } + ] + }, + "functionSelector": "3f4ba83a", + "id": 994, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 988, + "kind": "modifierInvocation", + "modifierName": { + "id": 987, + "name": "onlyOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 46, + "src": "628:9:7" }, + "nodeType": "ModifierInvocation", + "src": "628:9:7" + } + ], + "name": "unpause", + "nameLocation": "609:7:7", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 986, + "nodeType": "ParameterList", + "parameters": [], + "src": "616:2:7" + }, + "returnParameters": { + "id": 989, + "nodeType": "ParameterList", + "parameters": [], + "src": "638:0:7" + }, + "scope": 1031, + "src": "600:59:7", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 1008, + "nodeType": "Block", + "src": "724:28:7", + "statements": [ { "expression": { "arguments": [ { - "id": 2821, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2816, - "src": "3872:5:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 2822, + "id": 1004, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2807, - "src": "3879:2:10", + "referencedDeclaration": 996, + "src": "736:2:7", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 2823, + "id": 1005, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2809, - "src": "3883:6:10", + "referencedDeclaration": 998, + "src": "740:6:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17332,10 +10459,6 @@ ], "expression": { "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, { "typeIdentifier": "t_address", "typeString": "address" @@ -17345,18 +10468,18 @@ "typeString": "uint256" } ], - "id": 2820, - "name": "_transfer", + "id": 1003, + "name": "_mint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3054, - "src": "3862:9:10", + "referencedDeclaration": 601, + "src": "730:5:7", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" } }, - "id": 2824, + "id": 1006, "isConstant": false, "isLValue": false, "isPure": false, @@ -17364,74 +10487,54 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3862:28:10", + "src": "730:17:7", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2825, + "id": 1007, "nodeType": "ExpressionStatement", - "src": "3862:28:10" - }, - { - "expression": { - "hexValue": "74727565", - "id": 2826, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3907:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 2814, - "id": 2827, - "nodeType": "Return", - "src": "3900:11:10" + "src": "730:17:7" } ] }, - "documentation": { - "id": 2805, - "nodeType": "StructuredDocumentation", - "src": "3539:185:10", - "text": " @dev See {IERC20-transfer}.\n Requirements:\n - `to` cannot be the zero address.\n - the caller must have a balance of at least `amount`." - }, - "functionSelector": "a9059cbb", - "id": 2829, + "functionSelector": "40c10f19", + "id": 1009, "implemented": true, "kind": "function", - "modifiers": [], - "name": "transfer", - "nameLocation": "3738:8:10", + "modifiers": [ + { + "id": 1001, + "kind": "modifierInvocation", + "modifierName": { + "id": 1000, + "name": "onlyOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 46, + "src": "714:9:7" + }, + "nodeType": "ModifierInvocation", + "src": "714:9:7" + } + ], + "name": "mint", + "nameLocation": "672:4:7", "nodeType": "FunctionDefinition", - "overrides": { - "id": 2811, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "3790:8:10" - }, "parameters": { - "id": 2810, + "id": 999, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2807, + "id": 996, "mutability": "mutable", "name": "to", - "nameLocation": "3755:2:10", + "nameLocation": "685:2:7", "nodeType": "VariableDeclaration", - "scope": 2829, - "src": "3747:10:10", + "scope": 1009, + "src": "677:10:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17439,10 +10542,10 @@ "typeString": "address" }, "typeName": { - "id": 2806, + "id": 995, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3747:7:10", + "src": "677:7:7", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -17453,13 +10556,13 @@ }, { "constant": false, - "id": 2809, + "id": 998, "mutability": "mutable", "name": "amount", - "nameLocation": "3767:6:10", + "nameLocation": "697:6:7", "nodeType": "VariableDeclaration", - "scope": 2829, - "src": "3759:14:10", + "scope": 1009, + "src": "689:14:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17467,10 +10570,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2808, + "id": 997, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3759:7:10", + "src": "689:7:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17479,754 +10582,63 @@ "visibility": "internal" } ], - "src": "3746:28:10" + "src": "676:28:7" }, "returnParameters": { - "id": 2814, + "id": 1002, "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2813, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2829, - "src": "3808:4:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2812, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3808:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "3807:6:10" + "parameters": [], + "src": "724:0:7" }, - "scope": 3293, - "src": "3729:189:10", + "scope": 1031, + "src": "663:89:7", "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" + "virtual": false, + "visibility": "external" }, { "baseFunctions": [ - 3330 + 772 ], "body": { - "id": 2846, + "id": 1029, "nodeType": "Block", - "src": "4074:51:10", + "src": "876:55:7", "statements": [ - { - "expression": { - "baseExpression": { - "baseExpression": { - "id": 2840, - "name": "_allowances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2727, - "src": "4091:11:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 2842, - "indexExpression": { - "id": 2841, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2832, - "src": "4103:5:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4091:18:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2844, - "indexExpression": { - "id": 2843, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2834, - "src": "4110:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4091:27:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2839, - "id": 2845, - "nodeType": "Return", - "src": "4084:34:10" - } - ] - }, - "documentation": { - "id": 2830, - "nodeType": "StructuredDocumentation", - "src": "3924:47:10", - "text": " @dev See {IERC20-allowance}." - }, - "functionSelector": "dd62ed3e", - "id": 2847, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nameLocation": "3985:9:10", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 2836, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "4047:8:10" - }, - "parameters": { - "id": 2835, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2832, - "mutability": "mutable", - "name": "owner", - "nameLocation": "4003:5:10", - "nodeType": "VariableDeclaration", - "scope": 2847, - "src": "3995:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2831, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3995:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2834, - "mutability": "mutable", - "name": "spender", - "nameLocation": "4018:7:10", - "nodeType": "VariableDeclaration", - "scope": 2847, - "src": "4010:15:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2833, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4010:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "3994:32:10" - }, - "returnParameters": { - "id": 2839, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2838, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2847, - "src": "4065:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2837, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4065:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4064:9:10" - }, - "scope": 3293, - "src": "3976:149:10", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 3340 - ], - "body": { - "id": 2871, - "nodeType": "Block", - "src": "4522:108:10", - "statements": [ - { - "assignments": [ - 2859 - ], - "declarations": [ - { - "constant": false, - "id": 2859, - "mutability": "mutable", - "name": "owner", - "nameLocation": "4540:5:10", - "nodeType": "VariableDeclaration", - "scope": 2871, - "src": "4532:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2858, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4532:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 2862, - "initialValue": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 2860, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5367, - "src": "4548:10:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 2861, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4548:12:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4532:28:10" - }, { "expression": { "arguments": [ { - "id": 2864, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2859, - "src": "4579:5:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 2865, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2850, - "src": "4586:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 2866, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2852, - "src": "4595:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2863, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3227, - "src": "4570:8:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 2867, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4570:32:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2868, - "nodeType": "ExpressionStatement", - "src": "4570:32:10" - }, - { - "expression": { - "hexValue": "74727565", - "id": 2869, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4619:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 2857, - "id": 2870, - "nodeType": "Return", - "src": "4612:11:10" - } - ] - }, - "documentation": { - "id": 2848, - "nodeType": "StructuredDocumentation", - "src": "4131:297:10", - "text": " @dev See {IERC20-approve}.\n NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on\n `transferFrom`. This is semantically equivalent to an infinite approval.\n Requirements:\n - `spender` cannot be the zero address." - }, - "functionSelector": "095ea7b3", - "id": 2872, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "approve", - "nameLocation": "4442:7:10", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 2854, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "4498:8:10" - }, - "parameters": { - "id": 2853, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2850, - "mutability": "mutable", - "name": "spender", - "nameLocation": "4458:7:10", - "nodeType": "VariableDeclaration", - "scope": 2872, - "src": "4450:15:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2849, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4450:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2852, - "mutability": "mutable", - "name": "amount", - "nameLocation": "4475:6:10", - "nodeType": "VariableDeclaration", - "scope": 2872, - "src": "4467:14:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2851, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4467:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4449:33:10" - }, - "returnParameters": { - "id": 2857, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2856, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2872, - "src": "4516:4:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2855, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4516:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "4515:6:10" - }, - "scope": 3293, - "src": "4433:197:10", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 3352 - ], - "body": { - "id": 2904, - "nodeType": "Block", - "src": "5325:153:10", - "statements": [ - { - "assignments": [ - 2886 - ], - "declarations": [ - { - "constant": false, - "id": 2886, - "mutability": "mutable", - "name": "spender", - "nameLocation": "5343:7:10", - "nodeType": "VariableDeclaration", - "scope": 2904, - "src": "5335:15:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2885, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5335:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 2889, - "initialValue": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 2887, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5367, - "src": "5353:10:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 2888, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5353:12:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5335:30:10" - }, - { - "expression": { - "arguments": [ - { - "id": 2891, + "id": 1024, "name": "from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2875, - "src": "5391:4:10", + "referencedDeclaration": 1011, + "src": "909:4:7", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 2892, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2886, - "src": "5397:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 2893, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2879, - "src": "5406:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2890, - "name": "_spendAllowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3270, - "src": "5375:15:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 2894, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5375:38:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2895, - "nodeType": "ExpressionStatement", - "src": "5375:38:10" - }, - { - "expression": { - "arguments": [ - { - "id": 2897, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2875, - "src": "5433:4:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 2898, + "id": 1025, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2877, - "src": "5439:2:10", + "referencedDeclaration": 1013, + "src": "915:2:7", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 2899, + "id": 1026, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2879, - "src": "5443:6:10", + "referencedDeclaration": 1015, + "src": "919:6:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -18248,5110 +10660,93 @@ "typeString": "uint256" } ], - "id": 2896, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3054, - "src": "5423:9:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 2900, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5423:27:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2901, - "nodeType": "ExpressionStatement", - "src": "5423:27:10" - }, - { - "expression": { - "hexValue": "74727565", - "id": 2902, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5467:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 2884, - "id": 2903, - "nodeType": "Return", - "src": "5460:11:10" - } - ] - }, - "documentation": { - "id": 2873, - "nodeType": "StructuredDocumentation", - "src": "4636:551:10", - "text": " @dev See {IERC20-transferFrom}.\n Emits an {Approval} event indicating the updated allowance. This is not\n required by the EIP. See the note at the beginning of {ERC20}.\n NOTE: Does not update the allowance if the current allowance\n is the maximum `uint256`.\n Requirements:\n - `from` and `to` cannot be the zero address.\n - `from` must have a balance of at least `amount`.\n - the caller must have allowance for ``from``'s tokens of at least\n `amount`." - }, - "functionSelector": "23b872dd", - "id": 2905, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nameLocation": "5201:12:10", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 2881, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "5301:8:10" - }, - "parameters": { - "id": 2880, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2875, - "mutability": "mutable", - "name": "from", - "nameLocation": "5231:4:10", - "nodeType": "VariableDeclaration", - "scope": 2905, - "src": "5223:12:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2874, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5223:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2877, - "mutability": "mutable", - "name": "to", - "nameLocation": "5253:2:10", - "nodeType": "VariableDeclaration", - "scope": 2905, - "src": "5245:10:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2876, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5245:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2879, - "mutability": "mutable", - "name": "amount", - "nameLocation": "5273:6:10", - "nodeType": "VariableDeclaration", - "scope": 2905, - "src": "5265:14:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2878, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5265:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "5213:72:10" - }, - "returnParameters": { - "id": 2884, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2883, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2905, - "src": "5319:4:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2882, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5319:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "5318:6:10" - }, - "scope": 3293, - "src": "5192:286:10", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 2934, - "nodeType": "Block", - "src": "5967:142:10", - "statements": [ - { - "assignments": [ - 2916 - ], - "declarations": [ - { - "constant": false, - "id": 2916, - "mutability": "mutable", - "name": "owner", - "nameLocation": "5985:5:10", - "nodeType": "VariableDeclaration", - "scope": 2934, - "src": "5977:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2915, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5977:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 2919, - "initialValue": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 2917, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5367, - "src": "5993:10:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 2918, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5993:12:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5977:28:10" - }, - { - "expression": { - "arguments": [ - { - "id": 2921, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2916, - "src": "6024:5:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 2922, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2908, - "src": "6031:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2929, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "baseExpression": { - "baseExpression": { - "id": 2923, - "name": "_allowances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2727, - "src": "6040:11:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 2925, - "indexExpression": { - "id": 2924, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2916, - "src": "6052:5:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6040:18:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2927, - "indexExpression": { - "id": 2926, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2908, - "src": "6059:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6040:27:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "id": 2928, - "name": "addedValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2910, - "src": "6070:10:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6040:40:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2920, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3227, - "src": "6015:8:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 2930, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6015:66:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2931, - "nodeType": "ExpressionStatement", - "src": "6015:66:10" - }, - { - "expression": { - "hexValue": "74727565", - "id": 2932, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6098:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 2914, - "id": 2933, - "nodeType": "Return", - "src": "6091:11:10" - } - ] - }, - "documentation": { - "id": 2906, - "nodeType": "StructuredDocumentation", - "src": "5484:384:10", - "text": " @dev Atomically increases the allowance granted to `spender` by the caller.\n This is an alternative to {approve} that can be used as a mitigation for\n problems described in {IERC20-approve}.\n Emits an {Approval} event indicating the updated allowance.\n Requirements:\n - `spender` cannot be the zero address." - }, - "functionSelector": "39509351", - "id": 2935, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "increaseAllowance", - "nameLocation": "5882:17:10", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2911, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2908, - "mutability": "mutable", - "name": "spender", - "nameLocation": "5908:7:10", - "nodeType": "VariableDeclaration", - "scope": 2935, - "src": "5900:15:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2907, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5900:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2910, - "mutability": "mutable", - "name": "addedValue", - "nameLocation": "5925:10:10", - "nodeType": "VariableDeclaration", - "scope": 2935, - "src": "5917:18:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2909, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5917:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "5899:37:10" - }, - "returnParameters": { - "id": 2914, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2913, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2935, - "src": "5961:4:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2912, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5961:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "5960:6:10" - }, - "scope": 3293, - "src": "5873:236:10", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 2976, - "nodeType": "Block", - "src": "6695:330:10", - "statements": [ - { - "assignments": [ - 2946 - ], - "declarations": [ - { - "constant": false, - "id": 2946, - "mutability": "mutable", - "name": "owner", - "nameLocation": "6713:5:10", - "nodeType": "VariableDeclaration", - "scope": 2976, - "src": "6705:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2945, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6705:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 2949, - "initialValue": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 2947, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5367, - "src": "6721:10:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 2948, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6721:12:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6705:28:10" - }, - { - "assignments": [ - 2951 - ], - "declarations": [ - { - "constant": false, - "id": 2951, - "mutability": "mutable", - "name": "currentAllowance", - "nameLocation": "6751:16:10", - "nodeType": "VariableDeclaration", - "scope": 2976, - "src": "6743:24:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2950, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6743:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 2957, - "initialValue": { - "baseExpression": { - "baseExpression": { - "id": 2952, - "name": "_allowances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2727, - "src": "6770:11:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 2954, - "indexExpression": { - "id": 2953, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2946, - "src": "6782:5:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6770:18:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2956, - "indexExpression": { - "id": 2955, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2938, - "src": "6789:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6770:27:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6743:54:10" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2961, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2959, - "name": "currentAllowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2951, - "src": "6815:16:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "id": 2960, - "name": "subtractedValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2940, - "src": "6835:15:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6815:35:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f", - "id": 2962, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6852:39:10", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8", - "typeString": "literal_string \"ERC20: decreased allowance below zero\"" - }, - "value": "ERC20: decreased allowance below zero" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8", - "typeString": "literal_string \"ERC20: decreased allowance below zero\"" - } - ], - "id": 2958, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "6807:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2963, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6807:85:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2964, - "nodeType": "ExpressionStatement", - "src": "6807:85:10" - }, - { - "id": 2973, - "nodeType": "UncheckedBlock", - "src": "6902:95:10", - "statements": [ - { "expression": { - "arguments": [ - { - "id": 2966, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2946, - "src": "6935:5:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 2967, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2938, - "src": "6942:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2970, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2968, - "name": "currentAllowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2951, - "src": "6951:16:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 2969, - "name": "subtractedValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2940, - "src": "6970:15:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6951:34:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2965, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3227, - "src": "6926:8:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 2971, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6926:60:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2972, - "nodeType": "ExpressionStatement", - "src": "6926:60:10" - } - ] - }, - { - "expression": { - "hexValue": "74727565", - "id": 2974, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7014:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 2944, - "id": 2975, - "nodeType": "Return", - "src": "7007:11:10" - } - ] - }, - "documentation": { - "id": 2936, - "nodeType": "StructuredDocumentation", - "src": "6115:476:10", - "text": " @dev Atomically decreases the allowance granted to `spender` by the caller.\n This is an alternative to {approve} that can be used as a mitigation for\n problems described in {IERC20-approve}.\n Emits an {Approval} event indicating the updated allowance.\n Requirements:\n - `spender` cannot be the zero address.\n - `spender` must have allowance for the caller of at least\n `subtractedValue`." - }, - "functionSelector": "a457c2d7", - "id": 2977, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "decreaseAllowance", - "nameLocation": "6605:17:10", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2941, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2938, - "mutability": "mutable", - "name": "spender", - "nameLocation": "6631:7:10", - "nodeType": "VariableDeclaration", - "scope": 2977, - "src": "6623:15:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2937, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6623:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2940, - "mutability": "mutable", - "name": "subtractedValue", - "nameLocation": "6648:15:10", - "nodeType": "VariableDeclaration", - "scope": 2977, - "src": "6640:23:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2939, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6640:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "6622:42:10" - }, - "returnParameters": { - "id": 2944, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2943, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2977, - "src": "6689:4:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2942, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6689:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "6688:6:10" - }, - "scope": 3293, - "src": "6596:429:10", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 3053, - "nodeType": "Block", - "src": "7596:543:10", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2993, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2988, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2980, - "src": "7614:4:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 2991, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7630:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 2990, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7622:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 2989, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7622:7:10", - "typeDescriptions": {} - } - }, - "id": 2992, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7622:10:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "7614:18:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "45524332303a207472616e736665722066726f6d20746865207a65726f2061646472657373", - "id": 2994, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7634:39:10", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea", - "typeString": "literal_string \"ERC20: transfer from the zero address\"" - }, - "value": "ERC20: transfer from the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea", - "typeString": "literal_string \"ERC20: transfer from the zero address\"" - } - ], - "id": 2987, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "7606:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2995, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7606:68:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2996, - "nodeType": "ExpressionStatement", - "src": "7606:68:10" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 3003, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2998, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2982, - "src": "7692:2:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 3001, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7706:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 3000, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7698:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 2999, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7698:7:10", - "typeDescriptions": {} - } - }, - "id": 3002, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7698:10:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "7692:16:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "45524332303a207472616e7366657220746f20746865207a65726f2061646472657373", - "id": 3004, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7710:37:10", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f", - "typeString": "literal_string \"ERC20: transfer to the zero address\"" - }, - "value": "ERC20: transfer to the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f", - "typeString": "literal_string \"ERC20: transfer to the zero address\"" - } - ], - "id": 2997, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "7684:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3005, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7684:64:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3006, - "nodeType": "ExpressionStatement", - "src": "7684:64:10" - }, - { - "expression": { - "arguments": [ - { - "id": 3008, - "name": "from", + "id": 1021, + "name": "super", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2980, - "src": "7780:4:10", + "referencedDeclaration": 4294967271, + "src": "882:5:7", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_type$_t_super$_BEUSDT_$1031_$", + "typeString": "type(contract super BEUSDT)" } }, - { - "id": 3009, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2982, - "src": "7786:2:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3010, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2984, - "src": "7790:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3007, - "name": "_beforeTokenTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3281, - "src": "7759:20:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 3011, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7759:38:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3012, - "nodeType": "ExpressionStatement", - "src": "7759:38:10" - }, - { - "assignments": [ - 3014 - ], - "declarations": [ - { - "constant": false, - "id": 3014, - "mutability": "mutable", - "name": "fromBalance", - "nameLocation": "7816:11:10", - "nodeType": "VariableDeclaration", - "scope": 3053, - "src": "7808:19:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3013, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7808:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 3018, - "initialValue": { - "baseExpression": { - "id": 3015, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2721, - "src": "7830:9:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3017, - "indexExpression": { - "id": 3016, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2980, - "src": "7840:4:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7830:15:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7808:37:10" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3022, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3020, - "name": "fromBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3014, - "src": "7863:11:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "id": 3021, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2984, - "src": "7878:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7863:21:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365", - "id": 3023, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7886:40:10", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6", - "typeString": "literal_string \"ERC20: transfer amount exceeds balance\"" - }, - "value": "ERC20: transfer amount exceeds balance" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6", - "typeString": "literal_string \"ERC20: transfer amount exceeds balance\"" - } - ], - "id": 3019, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "7855:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3024, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7855:72:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3025, - "nodeType": "ExpressionStatement", - "src": "7855:72:10" - }, - { - "id": 3034, - "nodeType": "UncheckedBlock", - "src": "7937:73:10", - "statements": [ - { - "expression": { - "id": 3032, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 3026, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2721, - "src": "7961:9:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3028, - "indexExpression": { - "id": 3027, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2980, - "src": "7971:4:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7961:15:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3031, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3029, - "name": "fromBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3014, - "src": "7979:11:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 3030, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2984, - "src": "7993:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7979:20:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7961:38:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3033, - "nodeType": "ExpressionStatement", - "src": "7961:38:10" - } - ] - }, - { - "expression": { - "id": 3039, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 3035, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2721, - "src": "8019:9:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3037, - "indexExpression": { - "id": 3036, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2982, - "src": "8029:2:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8019:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "id": 3038, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2984, - "src": "8036:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8019:23:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3040, - "nodeType": "ExpressionStatement", - "src": "8019:23:10" - }, - { - "eventCall": { - "arguments": [ - { - "id": 3042, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2980, - "src": "8067:4:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3043, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2982, - "src": "8073:2:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3044, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2984, - "src": "8077:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3041, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3361, - "src": "8058:8:10", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 3045, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8058:26:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3046, - "nodeType": "EmitStatement", - "src": "8053:31:10" - }, - { - "expression": { - "arguments": [ - { - "id": 3048, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2980, - "src": "8115:4:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3049, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2982, - "src": "8121:2:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3050, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2984, - "src": "8125:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3047, - "name": "_afterTokenTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3292, - "src": "8095:19:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 3051, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8095:37:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3052, - "nodeType": "ExpressionStatement", - "src": "8095:37:10" - } - ] - }, - "documentation": { - "id": 2978, - "nodeType": "StructuredDocumentation", - "src": "7031:452:10", - "text": " @dev Moves `amount` of tokens from `sender` to `recipient`.\n This internal function is equivalent to {transfer}, and can be used to\n e.g. implement automatic token fees, slashing mechanisms, etc.\n Emits a {Transfer} event.\n Requirements:\n - `from` cannot be the zero address.\n - `to` cannot be the zero address.\n - `from` must have a balance of at least `amount`." - }, - "id": 3054, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_transfer", - "nameLocation": "7497:9:10", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2985, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2980, - "mutability": "mutable", - "name": "from", - "nameLocation": "7524:4:10", - "nodeType": "VariableDeclaration", - "scope": 3054, - "src": "7516:12:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2979, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7516:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2982, - "mutability": "mutable", - "name": "to", - "nameLocation": "7546:2:10", - "nodeType": "VariableDeclaration", - "scope": 3054, - "src": "7538:10:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2981, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7538:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2984, - "mutability": "mutable", - "name": "amount", - "nameLocation": "7566:6:10", - "nodeType": "VariableDeclaration", - "scope": 3054, - "src": "7558:14:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2983, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7558:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "7506:72:10" - }, - "returnParameters": { - "id": 2986, - "nodeType": "ParameterList", - "parameters": [], - "src": "7596:0:10" - }, - "scope": 3293, - "src": "7488:651:10", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 3109, - "nodeType": "Block", - "src": "8480:324:10", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 3068, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3063, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3057, - "src": "8498:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 3066, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8517:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 3065, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8509:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 3064, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8509:7:10", - "typeDescriptions": {} - } - }, - "id": 3067, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8509:10:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "8498:21:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "45524332303a206d696e7420746f20746865207a65726f2061646472657373", - "id": 3069, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8521:33:10", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e", - "typeString": "literal_string \"ERC20: mint to the zero address\"" - }, - "value": "ERC20: mint to the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e", - "typeString": "literal_string \"ERC20: mint to the zero address\"" - } - ], - "id": 3062, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "8490:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3070, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8490:65:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3071, - "nodeType": "ExpressionStatement", - "src": "8490:65:10" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "hexValue": "30", - "id": 3075, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8595:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 3074, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8587:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 3073, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8587:7:10", - "typeDescriptions": {} - } - }, - "id": 3076, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8587:10:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3077, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3057, - "src": "8599:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3078, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3059, - "src": "8608:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3072, - "name": "_beforeTokenTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3281, - "src": "8566:20:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 3079, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8566:49:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3080, - "nodeType": "ExpressionStatement", - "src": "8566:49:10" - }, - { - "expression": { - "id": 3083, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 3081, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2729, - "src": "8626:12:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "id": 3082, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3059, - "src": "8642:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8626:22:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3084, - "nodeType": "ExpressionStatement", - "src": "8626:22:10" - }, - { - "expression": { - "id": 3089, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 3085, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2721, - "src": "8658:9:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3087, - "indexExpression": { - "id": 3086, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3057, - "src": "8668:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8658:18:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "id": 3088, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3059, - "src": "8680:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8658:28:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3090, - "nodeType": "ExpressionStatement", - "src": "8658:28:10" - }, - { - "eventCall": { - "arguments": [ - { - "arguments": [ - { - "hexValue": "30", - "id": 3094, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8718:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 3093, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8710:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 3092, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8710:7:10", - "typeDescriptions": {} - } - }, - "id": 3095, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8710:10:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3096, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3057, - "src": "8722:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3097, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3059, - "src": "8731:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3091, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3361, - "src": "8701:8:10", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 3098, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8701:37:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3099, - "nodeType": "EmitStatement", - "src": "8696:42:10" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "hexValue": "30", - "id": 3103, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8777:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 3102, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8769:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 3101, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8769:7:10", - "typeDescriptions": {} - } - }, - "id": 3104, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8769:10:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3105, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3057, - "src": "8781:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3106, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3059, - "src": "8790:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3100, - "name": "_afterTokenTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3292, - "src": "8749:19:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 3107, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8749:48:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3108, - "nodeType": "ExpressionStatement", - "src": "8749:48:10" - } - ] - }, - "documentation": { - "id": 3055, - "nodeType": "StructuredDocumentation", - "src": "8145:265:10", - "text": "@dev Creates `amount` tokens and assigns them to `account`, increasing\n the total supply.\n Emits a {Transfer} event with `from` set to the zero address.\n Requirements:\n - `account` cannot be the zero address." - }, - "id": 3110, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_mint", - "nameLocation": "8424:5:10", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3060, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3057, - "mutability": "mutable", - "name": "account", - "nameLocation": "8438:7:10", - "nodeType": "VariableDeclaration", - "scope": 3110, - "src": "8430:15:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3056, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8430:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3059, - "mutability": "mutable", - "name": "amount", - "nameLocation": "8455:6:10", - "nodeType": "VariableDeclaration", - "scope": 3110, - "src": "8447:14:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3058, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8447:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "8429:33:10" - }, - "returnParameters": { - "id": 3061, - "nodeType": "ParameterList", - "parameters": [], - "src": "8480:0:10" - }, - "scope": 3293, - "src": "8415:389:10", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 3181, - "nodeType": "Block", - "src": "9189:511:10", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 3124, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3119, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3113, - "src": "9207:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 3122, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9226:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 3121, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9218:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 3120, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9218:7:10", - "typeDescriptions": {} - } - }, - "id": 3123, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9218:10:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "9207:21:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "45524332303a206275726e2066726f6d20746865207a65726f2061646472657373", - "id": 3125, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9230:35:10", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f", - "typeString": "literal_string \"ERC20: burn from the zero address\"" - }, - "value": "ERC20: burn from the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f", - "typeString": "literal_string \"ERC20: burn from the zero address\"" - } - ], - "id": 3118, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "9199:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3126, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9199:67:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3127, - "nodeType": "ExpressionStatement", - "src": "9199:67:10" - }, - { - "expression": { - "arguments": [ - { - "id": 3129, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3113, - "src": "9298:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "hexValue": "30", - "id": 3132, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9315:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 3131, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9307:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 3130, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9307:7:10", - "typeDescriptions": {} - } - }, - "id": 3133, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9307:10:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3134, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3115, - "src": "9319:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3128, - "name": "_beforeTokenTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3281, - "src": "9277:20:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 3135, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9277:49:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3136, - "nodeType": "ExpressionStatement", - "src": "9277:49:10" - }, - { - "assignments": [ - 3138 - ], - "declarations": [ - { - "constant": false, - "id": 3138, - "mutability": "mutable", - "name": "accountBalance", - "nameLocation": "9345:14:10", - "nodeType": "VariableDeclaration", - "scope": 3181, - "src": "9337:22:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3137, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9337:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 3142, - "initialValue": { - "baseExpression": { - "id": 3139, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2721, - "src": "9362:9:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3141, - "indexExpression": { - "id": 3140, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3113, - "src": "9372:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9362:18:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9337:43:10" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3146, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3144, - "name": "accountBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3138, - "src": "9398:14:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "id": 3145, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3115, - "src": "9416:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9398:24:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "45524332303a206275726e20616d6f756e7420657863656564732062616c616e6365", - "id": 3147, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9424:36:10", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd", - "typeString": "literal_string \"ERC20: burn amount exceeds balance\"" - }, - "value": "ERC20: burn amount exceeds balance" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd", - "typeString": "literal_string \"ERC20: burn amount exceeds balance\"" - } - ], - "id": 3143, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "9390:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3148, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9390:71:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3149, - "nodeType": "ExpressionStatement", - "src": "9390:71:10" - }, - { - "id": 3158, - "nodeType": "UncheckedBlock", - "src": "9471:79:10", - "statements": [ - { - "expression": { - "id": 3156, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 3150, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2721, - "src": "9495:9:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3152, - "indexExpression": { - "id": 3151, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3113, - "src": "9505:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9495:18:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3155, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3153, - "name": "accountBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3138, - "src": "9516:14:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 3154, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3115, - "src": "9533:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9516:23:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9495:44:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3157, - "nodeType": "ExpressionStatement", - "src": "9495:44:10" - } - ] - }, - { - "expression": { - "id": 3161, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 3159, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2729, - "src": "9559:12:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "id": 3160, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3115, - "src": "9575:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9559:22:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3162, - "nodeType": "ExpressionStatement", - "src": "9559:22:10" - }, - { - "eventCall": { - "arguments": [ - { - "id": 3164, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3113, - "src": "9606:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "hexValue": "30", - "id": 3167, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9623:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 3166, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9615:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 3165, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9615:7:10", - "typeDescriptions": {} - } - }, - "id": 3168, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9615:10:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3169, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3115, - "src": "9627:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3163, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3361, - "src": "9597:8:10", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 3170, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9597:37:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3171, - "nodeType": "EmitStatement", - "src": "9592:42:10" - }, - { - "expression": { - "arguments": [ - { - "id": 3173, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3113, - "src": "9665:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "hexValue": "30", - "id": 3176, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9682:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 3175, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9674:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 3174, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9674:7:10", - "typeDescriptions": {} - } - }, - "id": 3177, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9674:10:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3178, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3115, - "src": "9686:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3172, - "name": "_afterTokenTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3292, - "src": "9645:19:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 3179, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9645:48:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3180, - "nodeType": "ExpressionStatement", - "src": "9645:48:10" - } - ] - }, - "documentation": { - "id": 3111, - "nodeType": "StructuredDocumentation", - "src": "8810:309:10", - "text": " @dev Destroys `amount` tokens from `account`, reducing the\n total supply.\n Emits a {Transfer} event with `to` set to the zero address.\n Requirements:\n - `account` cannot be the zero address.\n - `account` must have at least `amount` tokens." - }, - "id": 3182, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_burn", - "nameLocation": "9133:5:10", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3116, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3113, - "mutability": "mutable", - "name": "account", - "nameLocation": "9147:7:10", - "nodeType": "VariableDeclaration", - "scope": 3182, - "src": "9139:15:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3112, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9139:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3115, - "mutability": "mutable", - "name": "amount", - "nameLocation": "9164:6:10", - "nodeType": "VariableDeclaration", - "scope": 3182, - "src": "9156:14:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3114, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9156:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "9138:33:10" - }, - "returnParameters": { - "id": 3117, - "nodeType": "ParameterList", - "parameters": [], - "src": "9189:0:10" - }, - "scope": 3293, - "src": "9124:576:10", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 3226, - "nodeType": "Block", - "src": "10236:257:10", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 3198, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3193, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3185, - "src": "10254:5:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 3196, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10271:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 3195, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10263:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 3194, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10263:7:10", - "typeDescriptions": {} - } - }, - "id": 3197, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10263:10:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "10254:19:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "45524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373", - "id": 3199, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10275:38:10", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208", - "typeString": "literal_string \"ERC20: approve from the zero address\"" - }, - "value": "ERC20: approve from the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208", - "typeString": "literal_string \"ERC20: approve from the zero address\"" - } - ], - "id": 3192, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "10246:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3200, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10246:68:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3201, - "nodeType": "ExpressionStatement", - "src": "10246:68:10" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 3208, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3203, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3187, - "src": "10332:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 3206, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10351:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 3205, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10343:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 3204, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10343:7:10", - "typeDescriptions": {} - } - }, - "id": 3207, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10343:10:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "10332:21:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "45524332303a20617070726f766520746f20746865207a65726f2061646472657373", - "id": 3209, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10355:36:10", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029", - "typeString": "literal_string \"ERC20: approve to the zero address\"" - }, - "value": "ERC20: approve to the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029", - "typeString": "literal_string \"ERC20: approve to the zero address\"" - } - ], - "id": 3202, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "10324:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3210, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10324:68:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3211, - "nodeType": "ExpressionStatement", - "src": "10324:68:10" - }, - { - "expression": { - "id": 3218, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "id": 3212, - "name": "_allowances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2727, - "src": "10403:11:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 3215, - "indexExpression": { - "id": 3213, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3185, - "src": "10415:5:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10403:18:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3216, - "indexExpression": { - "id": 3214, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3187, - "src": "10422:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "10403:27:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 3217, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3189, - "src": "10433:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10403:36:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3219, - "nodeType": "ExpressionStatement", - "src": "10403:36:10" - }, - { - "eventCall": { - "arguments": [ - { - "id": 3221, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3185, - "src": "10463:5:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3222, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3187, - "src": "10470:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3223, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3189, - "src": "10479:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3220, - "name": "Approval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3370, - "src": "10454:8:10", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 3224, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10454:32:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3225, - "nodeType": "EmitStatement", - "src": "10449:37:10" - } - ] - }, - "documentation": { - "id": 3183, - "nodeType": "StructuredDocumentation", - "src": "9706:412:10", - "text": " @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens.\n This internal function is equivalent to `approve`, and can be used to\n e.g. set automatic allowances for certain subsystems, etc.\n Emits an {Approval} event.\n Requirements:\n - `owner` cannot be the zero address.\n - `spender` cannot be the zero address." - }, - "id": 3227, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_approve", - "nameLocation": "10132:8:10", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3190, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3185, - "mutability": "mutable", - "name": "owner", - "nameLocation": "10158:5:10", - "nodeType": "VariableDeclaration", - "scope": 3227, - "src": "10150:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3184, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10150:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3187, - "mutability": "mutable", - "name": "spender", - "nameLocation": "10181:7:10", - "nodeType": "VariableDeclaration", - "scope": 3227, - "src": "10173:15:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3186, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10173:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3189, - "mutability": "mutable", - "name": "amount", - "nameLocation": "10206:6:10", - "nodeType": "VariableDeclaration", - "scope": 3227, - "src": "10198:14:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3188, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10198:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "10140:78:10" - }, - "returnParameters": { - "id": 3191, - "nodeType": "ParameterList", - "parameters": [], - "src": "10236:0:10" - }, - "scope": 3293, - "src": "10123:370:10", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 3269, - "nodeType": "Block", - "src": "10890:321:10", - "statements": [ - { - "assignments": [ - 3238 - ], - "declarations": [ - { - "constant": false, - "id": 3238, - "mutability": "mutable", - "name": "currentAllowance", - "nameLocation": "10908:16:10", - "nodeType": "VariableDeclaration", - "scope": 3269, - "src": "10900:24:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3237, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10900:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 3243, - "initialValue": { - "arguments": [ - { - "id": 3240, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3230, - "src": "10937:5:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3241, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3232, - "src": "10944:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 3239, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2847, - "src": "10927:9:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$", - "typeString": "function (address,address) view returns (uint256)" - } - }, - "id": 3242, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10927:25:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10900:52:10" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3250, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3244, - "name": "currentAllowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3238, - "src": "10966:16:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "expression": { - "arguments": [ - { - "id": 3247, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10991:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 3246, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10991:7:10", - "typeDescriptions": {} - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - } - ], - "id": 3245, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967269, - "src": "10986:4:10", - "typeDescriptions": { - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 3248, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10986:13:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_uint256", - "typeString": "type(uint256)" - } - }, - "id": 3249, + "id": 1023, "isConstant": false, "isLValue": false, - "isPure": true, + "isPure": false, "lValueRequested": false, - "memberName": "max", + "memberName": "_beforeTokenTransfer", "nodeType": "MemberAccess", - "src": "10986:17:10", + "referencedDeclaration": 772, + "src": "882:26:7", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" } }, - "src": "10966:37:10", + "id": 1027, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "882:44:7", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } }, - "id": 3268, - "nodeType": "IfStatement", - "src": "10962:243:10", - "trueBody": { - "id": 3267, - "nodeType": "Block", - "src": "11005:200:10", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3254, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3252, - "name": "currentAllowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3238, - "src": "11027:16:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "id": 3253, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3234, - "src": "11047:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11027:26:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "45524332303a20696e73756666696369656e7420616c6c6f77616e6365", - "id": 3255, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11055:31:10", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe", - "typeString": "literal_string \"ERC20: insufficient allowance\"" - }, - "value": "ERC20: insufficient allowance" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe", - "typeString": "literal_string \"ERC20: insufficient allowance\"" - } - ], - "id": 3251, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "11019:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3256, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11019:68:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3257, - "nodeType": "ExpressionStatement", - "src": "11019:68:10" - }, - { - "id": 3266, - "nodeType": "UncheckedBlock", - "src": "11101:94:10", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 3259, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3230, - "src": "11138:5:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3260, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3232, - "src": "11145:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3263, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3261, - "name": "currentAllowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3238, - "src": "11154:16:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 3262, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3234, - "src": "11173:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11154:25:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3258, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3227, - "src": "11129:8:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 3264, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11129:51:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3265, - "nodeType": "ExpressionStatement", - "src": "11129:51:10" - } - ] - } - ] - } + "id": 1028, + "nodeType": "ExpressionStatement", + "src": "882:44:7" } ] }, - "documentation": { - "id": 3228, - "nodeType": "StructuredDocumentation", - "src": "10499:266:10", - "text": " @dev Spend `amount` form the allowance of `owner` toward `spender`.\n Does not update the allowance amount in case of infinite allowance.\n Revert if not enough allowance is available.\n Might emit an {Approval} event." - }, - "id": 3270, + "id": 1030, "implemented": true, "kind": "function", - "modifiers": [], - "name": "_spendAllowance", - "nameLocation": "10779:15:10", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3235, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3230, - "mutability": "mutable", - "name": "owner", - "nameLocation": "10812:5:10", - "nodeType": "VariableDeclaration", - "scope": 3270, - "src": "10804:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3229, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10804:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" + "modifiers": [ + { + "id": 1019, + "kind": "modifierInvocation", + "modifierName": { + "id": 1018, + "name": "whenNotPaused", + "nodeType": "IdentifierPath", + "referencedDeclaration": 152, + "src": "862:13:7" }, - { - "constant": false, - "id": 3232, - "mutability": "mutable", - "name": "spender", - "nameLocation": "10835:7:10", - "nodeType": "VariableDeclaration", - "scope": 3270, - "src": "10827:15:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3231, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10827:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3234, - "mutability": "mutable", - "name": "amount", - "nameLocation": "10860:6:10", - "nodeType": "VariableDeclaration", - "scope": 3270, - "src": "10852:14:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3233, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10852:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "10794:78:10" - }, - "returnParameters": { - "id": 3236, - "nodeType": "ParameterList", - "parameters": [], - "src": "10890:0:10" - }, - "scope": 3293, - "src": "10770:441:10", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 3280, - "nodeType": "Block", - "src": "11914:2:10", - "statements": [] - }, - "documentation": { - "id": 3271, - "nodeType": "StructuredDocumentation", - "src": "11217:573:10", - "text": " @dev Hook that is called before any transfer of tokens. This includes\n minting and burning.\n Calling conditions:\n - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens\n will be transferred to `to`.\n - when `from` is zero, `amount` tokens will be minted for `to`.\n - when `to` is zero, `amount` of ``from``'s tokens will be burned.\n - `from` and `to` are never both zero.\n To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]." - }, - "id": 3281, - "implemented": true, - "kind": "function", - "modifiers": [], + "nodeType": "ModifierInvocation", + "src": "862:13:7" + } + ], "name": "_beforeTokenTransfer", - "nameLocation": "11804:20:10", + "nameLocation": "765:20:7", "nodeType": "FunctionDefinition", + "overrides": { + "id": 1017, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "853:8:7" + }, "parameters": { - "id": 3278, + "id": 1016, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3273, + "id": 1011, "mutability": "mutable", "name": "from", - "nameLocation": "11842:4:10", + "nameLocation": "799:4:7", "nodeType": "VariableDeclaration", - "scope": 3281, - "src": "11834:12:10", + "scope": 1030, + "src": "791:12:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23359,10 +10754,10 @@ "typeString": "address" }, "typeName": { - "id": 3272, + "id": 1010, "name": "address", "nodeType": "ElementaryTypeName", - "src": "11834:7:10", + "src": "791:7:7", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -23373,13 +10768,13 @@ }, { "constant": false, - "id": 3275, + "id": 1013, "mutability": "mutable", "name": "to", - "nameLocation": "11864:2:10", + "nameLocation": "817:2:7", "nodeType": "VariableDeclaration", - "scope": 3281, - "src": "11856:10:10", + "scope": 1030, + "src": "809:10:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23387,10 +10782,10 @@ "typeString": "address" }, "typeName": { - "id": 3274, + "id": 1012, "name": "address", "nodeType": "ElementaryTypeName", - "src": "11856:7:10", + "src": "809:7:7", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -23401,13 +10796,13 @@ }, { "constant": false, - "id": 3277, + "id": 1015, "mutability": "mutable", "name": "amount", - "nameLocation": "11884:6:10", + "nameLocation": "833:6:7", "nodeType": "VariableDeclaration", - "scope": 3281, - "src": "11876:14:10", + "scope": 1030, + "src": "825:14:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23415,10 +10810,10 @@ "typeString": "uint256" }, "typeName": { - "id": 3276, + "id": 1014, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "11876:7:10", + "src": "825:7:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23427,159 +10822,146 @@ "visibility": "internal" } ], - "src": "11824:72:10" + "src": "785:58:7" }, "returnParameters": { - "id": 3279, + "id": 1020, "nodeType": "ParameterList", "parameters": [], - "src": "11914:0:10" + "src": "876:0:7" }, - "scope": 3293, - "src": "11795:121:10", + "scope": 1031, + "src": "756:175:7", "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 3291, - "nodeType": "Block", - "src": "12622:2:10", - "statements": [] - }, - "documentation": { - "id": 3282, - "nodeType": "StructuredDocumentation", - "src": "11922:577:10", - "text": " @dev Hook that is called after any transfer of tokens. This includes\n minting and burning.\n Calling conditions:\n - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens\n has been transferred to `to`.\n - when `from` is zero, `amount` tokens have been minted for `to`.\n - when `to` is zero, `amount` of ``from``'s tokens have been burned.\n - `from` and `to` are never both zero.\n To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]." - }, - "id": 3292, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_afterTokenTransfer", - "nameLocation": "12513:19:10", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3289, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3284, - "mutability": "mutable", - "name": "from", - "nameLocation": "12550:4:10", - "nodeType": "VariableDeclaration", - "scope": 3292, - "src": "12542:12:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3283, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12542:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3286, - "mutability": "mutable", - "name": "to", - "nameLocation": "12572:2:10", - "nodeType": "VariableDeclaration", - "scope": 3292, - "src": "12564:10:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3285, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12564:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3288, - "mutability": "mutable", - "name": "amount", - "nameLocation": "12592:6:10", - "nodeType": "VariableDeclaration", - "scope": 3292, - "src": "12584:14:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3287, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12584:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "12532:72:10" - }, - "returnParameters": { - "id": 3290, - "nodeType": "ParameterList", - "parameters": [], - "src": "12622:0:10" - }, - "scope": 3293, - "src": "12504:120:10", - "stateMutability": "nonpayable", - "virtual": true, + "virtual": false, "visibility": "internal" } ], - "scope": 3294, - "src": "1403:11223:10", + "scope": 1032, + "src": "428:505:7", "usedErrors": [] } ], - "src": "105:12522:10" + "src": "32:902:7" }, "compiler": { "name": "solc", "version": "0.8.10+commit.fc410830.Emscripten.clang" }, - "networks": {}, - "schemaVersion": "3.4.4", - "updatedAt": "2022-08-17T06:09:48.114Z", + "networks": { + "1338": { + "events": { + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + "0x62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258": { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "Paused", + "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": "0xc22Ffa318051d8aF4E5f2E2732d7049486fcE093", + "transactionHash": "0xa39ae7f02bd06857305971e48c72471c2cf74793ea491abd7492411e1ee9c28d" + }, + "80001": { + "events": {}, + "links": {}, + "address": "0x514609B71340E149Cb81A80A953D07A7Fe41bd4F", + "transactionHash": "0x459c39bebd20e51ee22040d085e0c00f90844204061ef74e77bd8093be367d13" + } + }, + "schemaVersion": "3.4.11", + "updatedAt": "2023-01-11T04:29:42.163Z", + "networkType": "ethereum", "devdoc": { - "details": "Implementation of the {IERC20} interface. This implementation is agnostic to the way tokens are created. This means that a supply mechanism has to be added in a derived contract using {_mint}. For a generic mechanism see {ERC20PresetMinterPauser}. TIP: For a detailed writeup see our guide https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How to implement supply mechanisms]. We have followed general OpenZeppelin Contracts guidelines: functions revert instead returning `false` on failure. This behavior is nonetheless conventional and does not conflict with the expectations of ERC20 applications. Additionally, an {Approval} event is emitted on calls to {transferFrom}. This allows applications to reconstruct the allowance for all accounts just by listening to said events. Other implementations of the EIP may not emit these events, as it isn't required by the specification. Finally, the non-standard {decreaseAllowance} and {increaseAllowance} functions have been added to mitigate the well-known issues around setting allowances. See {IERC20-approve}.", "kind": "dev", "methods": { "allowance(address,address)": { @@ -23591,8 +10973,11 @@ "balanceOf(address)": { "details": "See {IERC20-balanceOf}." }, - "constructor": { - "details": "Sets the values for {name} and {symbol}. The default value of {decimals} is 18. To select a different value for {decimals} you should overload it. All two of these values are immutable: they can only be set once during construction." + "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}." @@ -23606,6 +10991,15 @@ "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." }, @@ -23617,6 +11011,9 @@ }, "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 @@ -23624,6 +11021,7 @@ "userdoc": { "kind": "user", "methods": {}, + "notice": "this contract will transfer ownership to BETimelockController after deployed all onlyowner method would add timelock", "version": 1 } } \ No newline at end of file diff --git a/src/chain/BlockChain.ts b/src/chain/BlockChain.ts index 77a421f..d5253a2 100644 --- a/src/chain/BlockChain.ts +++ b/src/chain/BlockChain.ts @@ -65,14 +65,15 @@ export class BlockChain { } public async generateFunAbi(reqData: any) { - let taskType = reqData.type + let taskType = parseInt(reqData.type) + reqData.encodeABI = true let abi switch (taskType) { case TaskType.MINT_FT: abi = await this.erc20Reactor.mint(reqData) break case TaskType.MINT_NFT: - abi = await this.erc721Reactor.batchMint(reqData) + abi = await this.erc721Reactor.mint(reqData) break case TaskType.TRANSFER_FT: abi = await this.erc20Reactor.transfer(reqData) diff --git a/src/chain/WalletReactor.ts b/src/chain/WalletReactor.ts index ea1d872..9c13d6b 100644 --- a/src/chain/WalletReactor.ts +++ b/src/chain/WalletReactor.ts @@ -98,7 +98,7 @@ export class WalletReactor { genOperation({ targets, values, datas, predecessor, salt }: IOperationData): IOperationData { const scheduleId = this.web3.utils.keccak256( this.web3.eth.abi.encodeParameters( - ['[address]', '[uint256]', '[bytes]', 'uint256', 'bytes32'], + ['address[]', 'uint256[]', 'bytes[]', 'uint256', 'bytes32'], [targets, values, datas, predecessor, salt], ), ) diff --git a/src/controllers/workflow.controller.ts b/src/controllers/workflow.controller.ts index 7c707ed..a4e2aaf 100644 --- a/src/controllers/workflow.controller.ts +++ b/src/controllers/workflow.controller.ts @@ -48,10 +48,12 @@ class WorkFlowController extends BaseController { @role('anon') @router('get /workflow/test') async test(req, res) { - let file_path = '/Users/zhl/Documents/workspace/tools/excel2json/test.xlsx' - let fileId = 'WWME_g-oYEAAAzSUkPNpznkoGbgD2f1bDCA.xlsx' - await new WechatWorkService().fetchFile(fileId) - console.log('11') + // let file_path = '/Users/zhl/Documents/workspace/tools/excel2json/test.xlsx' + // let fileId = 'WWME_g-oYEAAAzSUkPNpznkoGbgD2f1bDCA.xlsx' + // await new WechatWorkService().fetchFile(fileId) + // console.log('11') + let spNo = '202304070010' + new TaskQueue().addTaskToQueue(spNo) return {} } } diff --git a/src/models/ChainTask.ts b/src/models/ChainTask.ts index ae2fafc..ea9432a 100644 --- a/src/models/ChainTask.ts +++ b/src/models/ChainTask.ts @@ -128,7 +128,7 @@ export class ChainTaskClass extends BaseModule { predecessor: ZERO_BYTES32, salt: generateRandomBytes32(), }) - subTasks.push(subTasks) + subTasks.push(subTask) } subTask.reqDatas.push(sub) subTask.targets.push(sub.address) diff --git a/src/models/RequestTask.ts b/src/models/RequestTask.ts index e3659e4..267c3a3 100644 --- a/src/models/RequestTask.ts +++ b/src/models/RequestTask.ts @@ -45,7 +45,7 @@ export class RequestTaskClass extends BaseModule { public maxTryCount: number @prop({ type: mongoose.Schema.Types.Mixed }) - public reqData: any + public reqDatas: any @prop({ enum: ReqTaskStatus, default: ReqTaskStatus.NOTSTART }) public status: ReqTaskStatus diff --git a/src/service/explore.service.ts b/src/service/explore.service.ts index 8f422d6..dbbd9ad 100644 --- a/src/service/explore.service.ts +++ b/src/service/explore.service.ts @@ -9,7 +9,7 @@ export function queryNftTxCount(address: string) { id: 1, params: ['token_transfer_tx', address], } - let url = `${process.env.RANGERS_RPC_URL}` + let url = `${process.env.EXPLOR_RPC_URL}` let reqConfig: any = { method: 'post', url, @@ -28,7 +28,7 @@ export function queryNftTx(address: string, page: number, limit: number = 100) { id: 1, params: ['token_transfer_tx', page, limit, address], } - let url = `${process.env.RANGERS_RPC_URL}` + let url = `${process.env.EXPLOR_RPC_URL}` let reqConfig: any = { method: 'post', url, diff --git a/src/utils/wallet.util.ts b/src/utils/wallet.util.ts index a5b0f78..b30cf5a 100644 --- a/src/utils/wallet.util.ts +++ b/src/utils/wallet.util.ts @@ -1,4 +1,5 @@ import { renderFromTokenMinimalUnit } from './number.util' +import { asciiToHex } from 'web3-utils' /** * Removes IPFS protocol prefix from input string. @@ -120,5 +121,5 @@ export function formatMoney(balance: number | string, symbol: string) { export function generateRandomBytes32() { const v1 = (Math.random() * 9000000 + 1000000) | 0 const v2 = (Math.random() * 900000 + 100000) | 0 - return this.web3.utils.asciiToHex(v1 + '' + v2) + return asciiToHex(v1 + '' + v2) }