From 1f5a716193b0d4be136f9cf71ab7221aaf16ffb2 Mon Sep 17 00:00:00 2001 From: Eric Butz Date: Fri, 14 Oct 2022 11:26:40 -0600 Subject: [PATCH] Update redme and json file --- README.md | 15 + WFIO.json | 24111 +++++++++++++--------------------------------------- 2 files changed, 5781 insertions(+), 18345 deletions(-) diff --git a/README.md b/README.md index bd0d158..2cea675 100644 --- a/README.md +++ b/README.md @@ -6,3 +6,18 @@ - Truffle v5.1.65 (core: 5.1.65) - Solidity - ^0.8.0 (solc-js) - @OpenZeppelin/contracts@4.3.0 + +### Truffle deployment + +A .env file with following entries is needed for Truffle deployment: + +MNEMONIC= # Mnemonic phrase for local Ganache testing +MNEMONIC_DEVNET= # Mnemonic phrase for Devnet +MNEMONIC_TESTNET= # Mnemonic phrase for Testnet +APP_ID= # Infura API key +ETHERSCAN_API_KEY= # Etherscan API key +CUSTODIANS_DEVNET= # Comma separated list of initial 10 custodians +CUSTODIANS_TESTNET= # Comma separated list of initial 10 custodians +# Local testing only +CUSTODIANS_LOCAL= # Comma separated list of initial 10 custodians +ORACLE= # Oracle public key used by reg-oracle.js \ No newline at end of file diff --git a/WFIO.json b/WFIO.json index 16fcd34..ab365dc 100644 --- a/WFIO.json +++ b/WFIO.json @@ -899,6 +899,11 @@ "internalType": "uint256", "name": "", "type": "uint256" + }, + { + "internalType": "address[]", + "name": "", + "type": "address[]" } ], "stateMutability": "view", @@ -957,6 +962,19 @@ "stateMutability": "nonpayable", "type": "function" }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "changeOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, { "inputs": [], "name": "decimals", @@ -972,9 +990,9 @@ "constant": true } ], - "metadata": "{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_initialSupply\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"newcustodians\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Paused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Unpaused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"signer\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"obtid\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"indexhash\",\"type\":\"bytes32\"}],\"name\":\"consensus_activity\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"indexhash\",\"type\":\"bytes32\"}],\"name\":\"custodian_registered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"indexhash\",\"type\":\"bytes32\"}],\"name\":\"custodian_unregistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"indexhash\",\"type\":\"bytes32\"}],\"name\":\"oracle_registered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"indexhash\",\"type\":\"bytes32\"}],\"name\":\"oracle_unregistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"fioaddress\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"unwrapped\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"obtid\",\"type\":\"string\"}],\"name\":\"wrapped\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"CUSTODIAN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"ORACLE_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"OWNER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burnFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"indexhash\",\"type\":\"bytes\"}],\"name\":\"getApproval\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getCustodian\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"},{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getOracle\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"},{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOracles\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"paused\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"regcust\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"regoracle\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unpause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"unregcust\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"unregoracle\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"fioaddress\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"unwrap\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"obtid\",\"type\":\"string\"}],\"name\":\"wrap\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"burn(uint256)\":{\"details\":\"Destroys `amount` tokens from the caller. See {ERC20-_burn}.\"},\"burnFrom(address,uint256)\":{\"details\":\"Destroys `amount` tokens from `account`, deducting from the caller's allowance. See {ERC20-_burn} and {ERC20-allowance}. Requirements: - the caller must have allowance for ``accounts``'s tokens of at least `amount`.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless this function is overridden; NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"paused()\":{\"details\":\"Returns true if the contract is paused, and false otherwise.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/wfio.sol\":\"WFIO\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x5b35d8e68aeaccc685239bd9dd79b9ba01a0357930f8a3307ab85511733d9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba8eb2d22f9321bd4660f6617c181d9611ff30a9b089408b8c6e2216d6d5cdc5\",\"dweb:/ipfs/QmTSJvhjHfnUV1j4hsqDv8PmLvGBLRs9gHLjTUXrUJ5Y9q\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"@openzeppelin/contracts/security/Pausable.sol\":{\"keccak256\":\"0x0849d93b16c9940beb286a7864ed02724b248b93e0d80ef6355af5ef15c64773\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ddabb16009cd17eaca3143feadf450ac13e72919ebe2ca50e00f61cb78bc004\",\"dweb:/ipfs/QmSPwPxX7d6TTWakN5jy5wsaGkS1y9TW8fuhGSraMkLk2B\"]},\"@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x24b04b8aacaaf1a4a0719117b29c9c3647b1f479c5ac2a60f5ff1bb6d839c238\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://43e46da9d9f49741ecd876a269e71bc7494058d7a8e9478429998adb5bc3eaa0\",\"dweb:/ipfs/QmUtp4cqzf22C5rJ76AabKADquGWcjsc33yjYXxXC4sDvy\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x9750c6b834f7b43000631af5cc30001c5f547b3ceb3635488f140f60e897ea6b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a7d5b1ef5d8d5889ad2ed89d8619c09383b80b72ab226e0fe7bde1636481e34\",\"dweb:/ipfs/QmebXWgtEfumQGBdVeM6c71McLixYXQP5Bk6kKXuoY4Bmr\"]},\"@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol\":{\"keccak256\":\"0x0d19410453cda55960a818e02bd7c18952a5c8fe7a3036e81f0d599f34487a7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4c0f62d3d5bef22b5ca00cc3903e7de6152cb68d2d22401a463f373cda54c00f\",\"dweb:/ipfs/QmSfzjZux7LC7NW2f7rjCXTHeFMUCWERqDkhpCTBy7kxTe\"]},\"@openzeppelin/contracts/token/ERC20/extensions/ERC20Pausable.sol\":{\"keccak256\":\"0x978847fbff92d66d27d8767402a90ba996970b1936b372406aa17f5492bd8dc5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1414cb92779420b50d3e796b47bad6ea800ef1805bc6f9bf35a3ccb4e17db3dc\",\"dweb:/ipfs/QmaMzwYqLiivfaWSgqeaAPboBtJjVD1hSrH48p7ExJZ7DG\"]},\"@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0xaf159a8b1923ad2a26d516089bceca9bdeaeacd04be50983ea00ba63070f08a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f2cf1c531122bc7ca96b8c8db6a60deae60441e5223065e792553d4849b5638\",\"dweb:/ipfs/QmPBdJmBBABMDCfyDjCbdxgiqRavgiSL88SYPGibgbPas9\"]},\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"project:/contracts/wfio.sol\":{\"keccak256\":\"0xc3971549bf60fe43e49ae811954676dc19d1555792d1e605d1428be42723917d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ef784b1ef17ee77f21768793eeb2b5a9fc068c7399762a5038af2ba16e9966d8\",\"dweb:/ipfs/QmUHEtK1uYex5BmBkYyshQAG3HiN83p2kJUs7W3GMEsNYi\"]}},\"version\":1}", - "bytecode": "0x60806040523480156200001157600080fd5b50604051620036f7380380620036f7833981016040819052620000349162000694565b604080518082018252600c81526b119253c8141c9bdd1bd8dbdb60a21b6020808301918252835180850190945260048452637746494f60e01b9084015281519192916200008491600391620005d1565b5080516200009a906004906020840190620005d1565b50506005805460ff19169055508051600a146200010f5760405162461bcd60e51b815260206004820152602860248201527f7746494f2063616e6e6f74206465706c6f7920776974686f757420313020637560448201526773746f6469616e7360c01b60648201526084015b60405180910390fd5b6200011b338362000316565b62000136600080516020620036d7833981519152336200040a565b60005b600a8160ff161015620002fa5762000186600080516020620036b7833981519152838360ff16815181106200017257620001726200080c565b6020026020010151620004ae60201b60201c565b15620001d55760405162461bcd60e51b815260206004820152601c60248201527f437573746f6469616e20616c7265616479207265676973746572656400000000604482015260640162000106565b62000201600080516020620036d7833981519152838360ff16815181106200017257620001726200080c565b15620002505760405162461bcd60e51b815260206004820152601e60248201527f4f776e657220726f6c652063616e6e6f7420626520637573746f6469616e0000604482015260640162000106565b62000290600080516020620036b7833981519152838360ff16815181106200027c576200027c6200080c565b60200260200101516200040a60201b60201c565b6009828260ff1681518110620002aa57620002aa6200080c565b60209081029190910181015182546001810184556000938452919092200180546001600160a01b0319166001600160a01b0390921691909117905580620002f181620007d3565b91505062000139565b5050600780546001600160401b031916600a1790555062000838565b6001600160a01b0382166200036e5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640162000106565b6200037c60008383620004d9565b80600260008282546200039091906200077b565b90915550506001600160a01b03821660009081526020819052604081208054839290620003bf9084906200077b565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b5050565b60008281526006602090815260408083206001600160a01b038516845290915290205460ff16620004065760008281526006602090815260408083206001600160a01b03851684529091529020805460ff191660011790556200046a3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60009182526006602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6001600160a01b038216301415620005345760405162461bcd60e51b815260206004820152601e60248201527f436f6e74726163742063616e6e6f74207265636569766520746f6b656e730000604482015260640162000106565b6200054c8383836200055160201b620019621760201c565b505050565b620005698383836200054c60201b6200088d1760201c565b60055460ff16156200054c5760405162461bcd60e51b815260206004820152602a60248201527f45524332305061757361626c653a20746f6b656e207472616e736665722077686044820152691a5b19481c185d5cd95960b21b606482015260840162000106565b828054620005df9062000796565b90600052602060002090601f0160209004810192826200060357600085556200064e565b82601f106200061e57805160ff19168380011785556200064e565b828001600101855582156200064e579182015b828111156200064e57825182559160200191906001019062000631565b506200065c92915062000660565b5090565b5b808211156200065c576000815560010162000661565b80516001600160a01b03811681146200068f57600080fd5b919050565b60008060408385031215620006a857600080fd5b8251602080850151919350906001600160401b0380821115620006ca57600080fd5b818601915086601f830112620006df57600080fd5b815181811115620006f457620006f462000822565b8060051b604051601f19603f830116810181811085821117156200071c576200071c62000822565b604052828152858101935084860182860187018b10156200073c57600080fd5b600095505b838610156200076a57620007558162000677565b85526001959095019493860193860162000741565b508096505050505050509250929050565b60008219821115620007915762000791620007f6565b500190565b600181811c90821680620007ab57607f821691505b60208210811415620007cd57634e487b7160e01b600052602260045260246000fd5b50919050565b600060ff821660ff811415620007ed57620007ed620007f6565b60010192915050565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b612e6f80620008486000396000f3fe6080604052600436106102135760003560e01c806379cc679011610118578063c0bcfe9c116100a0578063da4baecb1161006f578063da4baecb14610658578063dd62ed3e14610678578063e5690a9914610698578063e58378bb146106b8578063ff3e34a5146106ec57600080fd5b8063c0bcfe9c146105d6578063c79445d0146105f6578063cb5aa7e914610618578063d547741f1461063857600080fd5b806395d89b41116100e757806395d89b4114610522578063a217fddf14610537578063a457c2d71461054c578063a7bf70b91461056c578063a9059cbb146105b657600080fd5b806379cc6790146104ad5780638456cb59146104cd5780638c70c3bd146104e257806391d148541461050257600080fd5b8063313ce5671161019b57806340884c521161016a57806340884c52146103fd57806342966c681461041f5780634fdcaca61461043f5780635c975abb1461045f57806370a082311461047757600080fd5b8063313ce5671461038c57806336568abe146103a857806339509351146103c85780633f4ba83a146103e857600080fd5b806310d3d22e116101e257806310d3d22e146102c957806318160ddd1461030557806323b872dd1461031a578063248a9ca31461033a5780632f2ff15d1461036a57600080fd5b806301ffc9a71461022257806306fdde031461025757806307e2cea514610279578063095ea7b3146102a957600080fd5b3661021d57600080fd5b600080fd5b34801561022e57600080fd5b5061024261023d3660046128cc565b61070c565b60405190151581526020015b60405180910390f35b34801561026357600080fd5b5061026c610743565b60405161024e9190612b2b565b34801561028557600080fd5b5061029b600080516020612e1a83398151915281565b60405190815260200161024e565b3480156102b557600080fd5b506102426102c436600461280f565b6107d5565b3480156102d557600080fd5b506102e96102e4366004612785565b6107ed565b60408051921515835263ffffffff90911660208301520161024e565b34801561031157600080fd5b5060025461029b565b34801561032657600080fd5b506102426103353660046127d3565b610844565b34801561034657600080fd5b5061029b610355366004612890565b60009081526006602052604090206001015490565b34801561037657600080fd5b5061038a6103853660046128a9565b610868565b005b34801561039857600080fd5b506040516009815260200161024e565b3480156103b457600080fd5b5061038a6103c33660046128a9565b610892565b3480156103d457600080fd5b506102426103e336600461280f565b610910565b3480156103f457600080fd5b5061038a610932565b34801561040957600080fd5b5061041261095d565b60405161024e9190612a77565b34801561042b57600080fd5b5061038a61043a366004612890565b6109be565b34801561044b57600080fd5b5061038a61045a366004612785565b6109c8565b34801561046b57600080fd5b5060055460ff16610242565b34801561048357600080fd5b5061029b610492366004612785565b6001600160a01b031660009081526020819052604090205490565b3480156104b957600080fd5b5061038a6104c836600461280f565b610d20565b3480156104d957600080fd5b5061038a610d35565b3480156104ee57600080fd5b5061038a6104fd36600461293f565b610d5d565b34801561050e57600080fd5b5061024261051d3660046128a9565b610e01565b34801561052e57600080fd5b5061026c610e2c565b34801561054357600080fd5b5061029b600081565b34801561055857600080fd5b5061024261056736600461280f565b610e3b565b34801561057857600080fd5b5061058c6105873660046128f6565b610eb6565b6040805163ffffffff90941684526001600160a01b0390921660208401529082015260600161024e565b3480156105c257600080fd5b506102426105d136600461280f565b610f83565b3480156105e257600080fd5b5061038a6105f1366004612785565b610f91565b34801561060257600080fd5b5061029b600080516020612dfa83398151915281565b34801561062457600080fd5b506102e9610633366004612785565b61118d565b34801561064457600080fd5b5061038a6106533660046128a9565b6111e2565b34801561066457600080fd5b5061038a610673366004612839565b611207565b34801561068457600080fd5b5061029b6106933660046127a0565b6113f1565b3480156106a457600080fd5b5061038a6106b3366004612785565b61141c565b3480156106c457600080fd5b5061029b7fb19546dff01e856fb3f010c267a7b1c60363cf8a4664e21cc89c26224620214e81565b3480156106f857600080fd5b5061038a610707366004612785565b61162b565b60006001600160e01b03198216637965db0b60e01b148061073d57506301ffc9a760e01b6001600160e01b03198316145b92915050565b60606003805461075290612d34565b80601f016020809104026020016040519081016040528092919081815260200182805461077e90612d34565b80156107cb5780601f106107a0576101008083540402835291602001916107cb565b820191906000526020600020905b8154815290600101906020018083116107ae57829003601f168201915b5050505050905090565b6000336107e38185856119c8565b5060019392505050565b6000806001600160a01b03831661081f5760405162461bcd60e51b815260040161081690612b60565b60405180910390fd5b610837600080516020612e1a83398151915284610e01565b6008549094909350915050565b600033610852858285611aec565b61085d858585611b66565b506001949350505050565b60008281526006602052604090206001015461088381611d3f565b61088d8383611d49565b505050565b6001600160a01b03811633146109025760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401610816565b61090c8282611dcf565b5050565b6000336107e381858561092383836113f1565b61092d9190612bd7565b6119c8565b600080516020612dfa83398151915261094a81611d3f565b610952611e36565b61095a611e81565b50565b606060088054806020026020016040519081016040528092919081815260200182805480156107cb57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610997575050505050905090565b61095a3382611ed3565b600080516020612dfa8339815191526109e081611d3f565b6001600160a01b038216610a065760405162461bcd60e51b815260040161081690612b60565b600754600364010000000090910463ffffffff1611610a675760405162461bcd60e51b815260206004820152601a60248201527f4d696e696d756d2033206f7261636c65732072657175697265640000000000006044820152606401610816565b6000600283604051602001610a7d929190612ac4565b604051602081830303815290604052805190602001209050610aad600080516020612e1a83398151915284610e01565b610af15760405162461bcd60e51b815260206004820152601560248201527413dc9858db19481b9bdd081c9959da5cdd195c9959605a1b6044820152606401610816565b610aff81600185600061202d565b15610cb357610b1c600080516020612e1a83398151915284611dcf565b60078054640100000000900463ffffffff16906004610b3a83612d14565b91906101000a81548163ffffffff021916908363ffffffff1602179055505060005b60085461ffff82161015610c6e57836001600160a01b031660088261ffff1681548110610b8b57610b8b612dcd565b6000918252602090912001546001600160a01b03161415610c5c5760088054610bb690600190612c93565b81548110610bc657610bc6612dcd565b600091825260209091200154600880546001600160a01b039092169161ffff8416908110610bf657610bf6612dcd565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055506008805480610c3557610c35612db7565b600082815260209020810160001990810180546001600160a01b0319169055019055610c6e565b80610c6681612d69565b915050610b5c565b50604080516001600160a01b0385168152602081018390527fe4d21301551b3d87dc269fc8b9d5a5c1432831c3c321ef19570b8a93a10cb52291015b60405180910390a15b6040805160808082526009908201526831bab9ba37b234b0b760b91b60a082015233602082015260c08183018190526000908201526060810183905290517f3be8840aec3e3998ee1e020dd20a8ea88430534d4e16feeeb1762ea4428464cd9181900360e00190a1505050565b610d2b823383611aec565b61090c8282611ed3565b600080516020612dfa833981519152610d4d81611d3f565b610d556122fa565b61095a612340565b610d656122fa565b60038251118015610d7857506040825111155b610dba5760405162461bcd60e51b8152602060048201526013602482015272496e76616c69642046494f204164647265737360681b6044820152606401610816565b610dc43382611ed3565b7fcbc81eff77955b99685533d29441743baaced5a53ed539d634490e5380a8dcf08282604051610df5929190612b3e565b60405180910390a15050565b60009182526006602090815260408084206001600160a01b0393909316845291905290205460ff1690565b60606004805461075290612d34565b60003381610e4982866113f1565b905083811015610ea95760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610816565b61085d82868684036119c8565b600080600080845111610efb5760405162461bcd60e51b815260206004820152600d60248201526c125b9d985b1a59081bd89d1a59609a1b6044820152606401610816565b600a6000610f0886612caa565b8152602081019190915260400160009081206001015463ffffffff1690600a90610f3187612caa565b815260200190815260200160002060010160049054906101000a90046001600160a01b0316600a600087610f6490612caa565b8152602001908152602001600020600201549250925092509193909250565b6000336107e3818585611b66565b600080516020612dfa833981519152610fa981611d3f565b6001600160a01b038216610fcf5760405162461bcd60e51b815260040161081690612b60565b6001600160a01b03821633141561101f5760405162461bcd60e51b815260206004820152601460248201527321b0b73737ba103932b3b4b9ba32b91039b2b63360611b6044820152606401610816565b6000600383604051602001611035929190612ac4565b604051602081830303815290604052805190602001209050611065600080516020612dfa83398151915284610e01565b156110a75760405162461bcd60e51b8152602060048201526012602482015271105b1c9958591e481c9959da5cdd195c995960721b6044820152606401610816565b6110b581600185600061202d565b15610cb3576110d2600080516020612dfa83398151915284611d49565b6007805463ffffffff169060006110e883612d8b565b82546101009290920a63ffffffff81810219909316919092169190910217905550600980546001810182556000919091527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af0180546001600160a01b0319166001600160a01b03851690811790915560408051918252602082018390527f4f4b5dcea44dd9a0d4582de1f0b930ffdd296bd645df66b73ff1795f43e7dc119101610caa565b6000806001600160a01b0383166111b65760405162461bcd60e51b815260040161081690612b60565b6111ce600080516020612dfa83398151915284610e01565b600754909463ffffffff9091169350915050565b6000828152600660205260409020600101546111fd81611d3f565b61088d8383611dcf565b600080516020612e1a83398151915261121f81611d3f565b6112276122fa565b670de0b6b3a7640000831061123b57600080fd5b600082511161127c5760405162461bcd60e51b815260206004820152600d60248201526c125b9d985b1a59081bd89d1a59609a1b6044820152606401610816565b6001600160a01b0384166112c45760405162461bcd60e51b815260206004820152600f60248201526e125b9d985b1a59081858d8dbdd5b9d608a1b6044820152606401610816565b600754600364010000000090910463ffffffff1610156113265760405162461bcd60e51b815260206004820152601c60248201527f4f7261636c6573206d7573742062652033206f722067726561746572000000006044820152606401610816565b60008083858760405160200161133f9493929190612aea565b604051602081830303815290604052805190602001209050611364816000878761202d565b156113af57611373858561237d565b7fbfb8a2f9b4d8e8ed83a83aedac91756186665fbf1f57e39619d757180619bf988585856040516113a693929190612a47565b60405180910390a15b7f3be8840aec3e3998ee1e020dd20a8ea88430534d4e16feeeb1762ea4428464cd3384836040516113e293929190612b89565b60405180910390a15050505050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b600080516020612dfa83398151915261143481611d3f565b6001600160a01b03821661145a5760405162461bcd60e51b815260040161081690612b60565b6001600160a01b0382163314156114aa5760405162461bcd60e51b815260206004820152601460248201527321b0b73737ba103932b3b4b9ba32b91039b2b63360611b6044820152606401610816565b6114c2600080516020612e1a83398151915283610e01565b1561150f5760405162461bcd60e51b815260206004820152601960248201527f4f7261636c6520616c72656164792072656769737465726564000000000000006044820152606401610816565b6000600183604051602001611525929190612ac4565b60405160208183030381529060405280519060200120905061154b81600185600061202d565b15610cb357611568600080516020612e1a83398151915284611d49565b60078054640100000000900463ffffffff1690600461158683612d8b565b82546101009290920a63ffffffff81810219909316919092169190910217905550600880546001810182556000919091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30180546001600160a01b0319166001600160a01b03851690811790915560408051918252602082018390527ffde1904d2f36e8247a68b76a38b2dc6908f769438b6bb8f173ee39a2c01f2b589101610caa565b600080516020612dfa83398151915261164381611d3f565b6001600160a01b0382166116695760405162461bcd60e51b815260040161081690612b60565b611681600080516020612dfa83398151915283610e01565b6116cd5760405162461bcd60e51b815260206004820152601860248201527f437573746f6469616e206e6f74207265676973746572656400000000000000006044820152606401610816565b6007805463ffffffff16116117245760405162461bcd60e51b815260206004820152601960248201527f4d75737420636f6e7461696e203720637573746f6469616e73000000000000006044820152606401610816565b600060048360405160200161173a929190612ac4565b60405160208183030381529060405280519060200120905061176a600080516020612dfa83398151915284610e01565b6117ad5760405162461bcd60e51b8152602060048201526014602482015273105b1c9958591e481d5b9c9959da5cdd195c995960621b6044820152606401610816565b6117bb81600185600061202d565b15610cb3576117d8600080516020612dfa83398151915284611dcf565b6007805463ffffffff169060006117ee83612d14565b91906101000a81548163ffffffff021916908363ffffffff1602179055505060005b60095461ffff8216101561192257836001600160a01b031660098261ffff168154811061183f5761183f612dcd565b6000918252602090912001546001600160a01b03161415611910576009805461186a90600190612c93565b8154811061187a5761187a612dcd565b600091825260209091200154600980546001600160a01b039092169161ffff84169081106118aa576118aa612dcd565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060098054806118e9576118e9612db7565b600082815260209020810160001990810180546001600160a01b0319169055019055611922565b8061191a81612d69565b915050611810565b50604080516001600160a01b0385168152602081018390527f0cf142c25ce5b399a7953be52d40c8596def04c010697715ab9c72f4962d1a2d9101610caa565b60055460ff161561088d5760405162461bcd60e51b815260206004820152602a60248201527f45524332305061757361626c653a20746f6b656e207472616e736665722077686044820152691a5b19481c185d5cd95960b21b6064820152608401610816565b6001600160a01b038316611a2a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610816565b6001600160a01b038216611a8b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610816565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000611af884846113f1565b90506000198114611b605781811015611b535760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610816565b611b6084848484036119c8565b50505050565b6001600160a01b038316611bca5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610816565b6001600160a01b038216611c2c5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610816565b611c37838383612468565b6001600160a01b03831660009081526020819052604090205481811015611caf5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610816565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290611ce6908490612bd7565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611d3291815260200190565b60405180910390a3611b60565b61095a81336124cc565b611d538282610e01565b61090c5760008281526006602090815260408083206001600160a01b03851684529091529020805460ff19166001179055611d8b3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b611dd98282610e01565b1561090c5760008281526006602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b60055460ff16611e7f5760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152606401610816565b565b611e89611e36565b6005805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b6001600160a01b038216611f335760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610816565b611f3f82600083612468565b6001600160a01b03821660009081526020819052604090205481811015611fb35760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610816565b6001600160a01b0383166000908152602081905260408120838303905560028054849290611fe2908490612c93565b90915550506040518281526000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3505050565b6000848152600a602052604081206003015460ff161561208f5760405162461bcd60e51b815260206004820152601960248201527f417070726f76616c20616c726561647920636f6d706c657465000000000000006044820152606401610816565b600754640100000000900463ffffffff1660ff8516600114156120db576007546003906120c39063ffffffff166002612c67565b6120cd9190612c17565b6120d8906001612bef565b90505b6000868152600a602052604090206001015463ffffffff16612134576000868152600a60205260409020600281018490556001018054640100000000600160c01b0319166401000000006001600160a01b038716021790555b6000868152600a602052604090206001015463ffffffff808316911610156122da576000868152600a6020908152604080832033845290915290205460ff16156121ce5760405162461bcd60e51b815260206004820152602560248201527f6f7261636c652068617320616c726561647920617070726f7665642074686973604482015264040d0c2e6d60db1b6064820152608401610816565b6000868152600a60208181526040808420338552808352908420805460ff191660019081179091558a85529290915201805463ffffffff169161221083612d8b565b82546101009290920a63ffffffff8181021990931691831602179091556000888152600a602052604090206001015483821691161090506122da576000868152600a6020908152604080832033845290915290205460ff166122b45760405162461bcd60e51b815260206004820181905260248201527f416e20617070726f76696e67206f7261636c65206d75737420657865637574656044820152606401610816565b50506000848152600a60205260409020600301805460ff191660019081179091556122f2565b50506000848152600a602052604090206003015460ff165b949350505050565b60055460ff1615611e7f5760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610816565b6123486122fa565b6005805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611eb63390565b6001600160a01b0382166123d35760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610816565b6123df60008383612468565b80600260008282546123f19190612bd7565b90915550506001600160a01b0382166000908152602081905260408120805483929061241e908490612bd7565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b6001600160a01b0382163014156124c15760405162461bcd60e51b815260206004820152601e60248201527f436f6e74726163742063616e6e6f74207265636569766520746f6b656e7300006044820152606401610816565b61088d838383611962565b6124d68282610e01565b61090c576124ee816001600160a01b03166014612530565b6124f9836020612530565b60405160200161250a9291906129d2565b60408051601f198184030181529082905262461bcd60e51b825261081691600401612b2b565b6060600061253f836002612c48565b61254a906002612bd7565b67ffffffffffffffff81111561256257612562612de3565b6040519080825280601f01601f19166020018201604052801561258c576020820181803683370190505b509050600360fc1b816000815181106125a7576125a7612dcd565b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106125d6576125d6612dcd565b60200101906001600160f81b031916908160001a90535060006125fa846002612c48565b612605906001612bd7565b90505b600181111561267d576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061263957612639612dcd565b1a60f81b82828151811061264f5761264f612dcd565b60200101906001600160f81b031916908160001a90535060049490941c9361267681612cfd565b9050612608565b5083156126cc5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610816565b9392505050565b600067ffffffffffffffff808411156126ee576126ee612de3565b604051601f8501601f19908116603f0116810190828211818310171561271657612716612de3565b8160405280935085815286868601111561272f57600080fd5b858560208301376000602087830101525050509392505050565b80356001600160a01b038116811461276057600080fd5b919050565b600082601f83011261277657600080fd5b6126cc838335602085016126d3565b60006020828403121561279757600080fd5b6126cc82612749565b600080604083850312156127b357600080fd5b6127bc83612749565b91506127ca60208401612749565b90509250929050565b6000806000606084860312156127e857600080fd5b6127f184612749565b92506127ff60208501612749565b9150604084013590509250925092565b6000806040838503121561282257600080fd5b61282b83612749565b946020939093013593505050565b60008060006060848603121561284e57600080fd5b61285784612749565b925060208401359150604084013567ffffffffffffffff81111561287a57600080fd5b61288686828701612765565b9150509250925092565b6000602082840312156128a257600080fd5b5035919050565b600080604083850312156128bc57600080fd5b823591506127ca60208401612749565b6000602082840312156128de57600080fd5b81356001600160e01b0319811681146126cc57600080fd5b60006020828403121561290857600080fd5b813567ffffffffffffffff81111561291f57600080fd5b8201601f8101841361293057600080fd5b6122f2848235602084016126d3565b6000806040838503121561295257600080fd5b823567ffffffffffffffff81111561296957600080fd5b61297585828601612765565b95602094909401359450505050565b600581106129a257634e487b7160e01b600052602160045260246000fd5b9052565b600081518084526129be816020860160208601612cd1565b601f01601f19169290920160200192915050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351612a0a816017850160208801612cd1565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351612a3b816028840160208801612cd1565b01602801949350505050565b60018060a01b0384168152826020820152606060408201526000612a6e60608301846129a6565b95945050505050565b6020808252825182820181905260009190848201906040850190845b81811015612ab85783516001600160a01b031683529284019291840191600101612a93565b50909695505050505050565b60408101612ad28285612984565b6001600160a01b039290921660209190910152919050565b612af48186612984565b608060208201526000612b0a60808301866129a6565b6040830194909452506001600160a01b039190911660609091015292915050565b6020815260006126cc60208301846129a6565b604081526000612b5160408301856129a6565b90508260208301529392505050565b6020808252600f908201526e496e76616c6964206164647265737360881b604082015260600190565b6080815260066080820152656f7261636c6560d01b60a082015260018060a01b038416602082015260c060408201526000612bc760c08301856129a6565b9050826060830152949350505050565b60008219821115612bea57612bea612da1565b500190565b600063ffffffff808316818516808303821115612c0e57612c0e612da1565b01949350505050565b600063ffffffff80841680612c3c57634e487b7160e01b600052601260045260246000fd5b92169190910492915050565b6000816000190483118215151615612c6257612c62612da1565b500290565b600063ffffffff80831681851681830481118215151615612c8a57612c8a612da1565b02949350505050565b600082821015612ca557612ca5612da1565b500390565b80516020808301519190811015612ccb576000198160200360031b1b821691505b50919050565b60005b83811015612cec578181015183820152602001612cd4565b83811115611b605750506000910152565b600081612d0c57612d0c612da1565b506000190190565b600063ffffffff821680612d2a57612d2a612da1565b6000190192915050565b600181811c90821680612d4857607f821691505b60208210811415612ccb57634e487b7160e01b600052602260045260246000fd5b600061ffff80831681811415612d8157612d81612da1565b6001019392505050565b600063ffffffff80831681811415612d8157612d815b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fdfee28434228950b641dbbc0178de89daa359a87c6ee0d8399aeace52a98fe902b968e79a7bf1e0bc45d0a330c573bc367f9cf464fd326078812f301165fbda4ef1a26469706673582212206260b2bdce4ea48c1936895a12dd98b7044ba98062329e4a8a82608c26133c4a64736f6c63430008070033e28434228950b641dbbc0178de89daa359a87c6ee0d8399aeace52a98fe902b9b19546dff01e856fb3f010c267a7b1c60363cf8a4664e21cc89c26224620214e", - "deployedBytecode": "0x6080604052600436106102135760003560e01c806379cc679011610118578063c0bcfe9c116100a0578063da4baecb1161006f578063da4baecb14610658578063dd62ed3e14610678578063e5690a9914610698578063e58378bb146106b8578063ff3e34a5146106ec57600080fd5b8063c0bcfe9c146105d6578063c79445d0146105f6578063cb5aa7e914610618578063d547741f1461063857600080fd5b806395d89b41116100e757806395d89b4114610522578063a217fddf14610537578063a457c2d71461054c578063a7bf70b91461056c578063a9059cbb146105b657600080fd5b806379cc6790146104ad5780638456cb59146104cd5780638c70c3bd146104e257806391d148541461050257600080fd5b8063313ce5671161019b57806340884c521161016a57806340884c52146103fd57806342966c681461041f5780634fdcaca61461043f5780635c975abb1461045f57806370a082311461047757600080fd5b8063313ce5671461038c57806336568abe146103a857806339509351146103c85780633f4ba83a146103e857600080fd5b806310d3d22e116101e257806310d3d22e146102c957806318160ddd1461030557806323b872dd1461031a578063248a9ca31461033a5780632f2ff15d1461036a57600080fd5b806301ffc9a71461022257806306fdde031461025757806307e2cea514610279578063095ea7b3146102a957600080fd5b3661021d57600080fd5b600080fd5b34801561022e57600080fd5b5061024261023d3660046128cc565b61070c565b60405190151581526020015b60405180910390f35b34801561026357600080fd5b5061026c610743565b60405161024e9190612b2b565b34801561028557600080fd5b5061029b600080516020612e1a83398151915281565b60405190815260200161024e565b3480156102b557600080fd5b506102426102c436600461280f565b6107d5565b3480156102d557600080fd5b506102e96102e4366004612785565b6107ed565b60408051921515835263ffffffff90911660208301520161024e565b34801561031157600080fd5b5060025461029b565b34801561032657600080fd5b506102426103353660046127d3565b610844565b34801561034657600080fd5b5061029b610355366004612890565b60009081526006602052604090206001015490565b34801561037657600080fd5b5061038a6103853660046128a9565b610868565b005b34801561039857600080fd5b506040516009815260200161024e565b3480156103b457600080fd5b5061038a6103c33660046128a9565b610892565b3480156103d457600080fd5b506102426103e336600461280f565b610910565b3480156103f457600080fd5b5061038a610932565b34801561040957600080fd5b5061041261095d565b60405161024e9190612a77565b34801561042b57600080fd5b5061038a61043a366004612890565b6109be565b34801561044b57600080fd5b5061038a61045a366004612785565b6109c8565b34801561046b57600080fd5b5060055460ff16610242565b34801561048357600080fd5b5061029b610492366004612785565b6001600160a01b031660009081526020819052604090205490565b3480156104b957600080fd5b5061038a6104c836600461280f565b610d20565b3480156104d957600080fd5b5061038a610d35565b3480156104ee57600080fd5b5061038a6104fd36600461293f565b610d5d565b34801561050e57600080fd5b5061024261051d3660046128a9565b610e01565b34801561052e57600080fd5b5061026c610e2c565b34801561054357600080fd5b5061029b600081565b34801561055857600080fd5b5061024261056736600461280f565b610e3b565b34801561057857600080fd5b5061058c6105873660046128f6565b610eb6565b6040805163ffffffff90941684526001600160a01b0390921660208401529082015260600161024e565b3480156105c257600080fd5b506102426105d136600461280f565b610f83565b3480156105e257600080fd5b5061038a6105f1366004612785565b610f91565b34801561060257600080fd5b5061029b600080516020612dfa83398151915281565b34801561062457600080fd5b506102e9610633366004612785565b61118d565b34801561064457600080fd5b5061038a6106533660046128a9565b6111e2565b34801561066457600080fd5b5061038a610673366004612839565b611207565b34801561068457600080fd5b5061029b6106933660046127a0565b6113f1565b3480156106a457600080fd5b5061038a6106b3366004612785565b61141c565b3480156106c457600080fd5b5061029b7fb19546dff01e856fb3f010c267a7b1c60363cf8a4664e21cc89c26224620214e81565b3480156106f857600080fd5b5061038a610707366004612785565b61162b565b60006001600160e01b03198216637965db0b60e01b148061073d57506301ffc9a760e01b6001600160e01b03198316145b92915050565b60606003805461075290612d34565b80601f016020809104026020016040519081016040528092919081815260200182805461077e90612d34565b80156107cb5780601f106107a0576101008083540402835291602001916107cb565b820191906000526020600020905b8154815290600101906020018083116107ae57829003601f168201915b5050505050905090565b6000336107e38185856119c8565b5060019392505050565b6000806001600160a01b03831661081f5760405162461bcd60e51b815260040161081690612b60565b60405180910390fd5b610837600080516020612e1a83398151915284610e01565b6008549094909350915050565b600033610852858285611aec565b61085d858585611b66565b506001949350505050565b60008281526006602052604090206001015461088381611d3f565b61088d8383611d49565b505050565b6001600160a01b03811633146109025760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401610816565b61090c8282611dcf565b5050565b6000336107e381858561092383836113f1565b61092d9190612bd7565b6119c8565b600080516020612dfa83398151915261094a81611d3f565b610952611e36565b61095a611e81565b50565b606060088054806020026020016040519081016040528092919081815260200182805480156107cb57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610997575050505050905090565b61095a3382611ed3565b600080516020612dfa8339815191526109e081611d3f565b6001600160a01b038216610a065760405162461bcd60e51b815260040161081690612b60565b600754600364010000000090910463ffffffff1611610a675760405162461bcd60e51b815260206004820152601a60248201527f4d696e696d756d2033206f7261636c65732072657175697265640000000000006044820152606401610816565b6000600283604051602001610a7d929190612ac4565b604051602081830303815290604052805190602001209050610aad600080516020612e1a83398151915284610e01565b610af15760405162461bcd60e51b815260206004820152601560248201527413dc9858db19481b9bdd081c9959da5cdd195c9959605a1b6044820152606401610816565b610aff81600185600061202d565b15610cb357610b1c600080516020612e1a83398151915284611dcf565b60078054640100000000900463ffffffff16906004610b3a83612d14565b91906101000a81548163ffffffff021916908363ffffffff1602179055505060005b60085461ffff82161015610c6e57836001600160a01b031660088261ffff1681548110610b8b57610b8b612dcd565b6000918252602090912001546001600160a01b03161415610c5c5760088054610bb690600190612c93565b81548110610bc657610bc6612dcd565b600091825260209091200154600880546001600160a01b039092169161ffff8416908110610bf657610bf6612dcd565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055506008805480610c3557610c35612db7565b600082815260209020810160001990810180546001600160a01b0319169055019055610c6e565b80610c6681612d69565b915050610b5c565b50604080516001600160a01b0385168152602081018390527fe4d21301551b3d87dc269fc8b9d5a5c1432831c3c321ef19570b8a93a10cb52291015b60405180910390a15b6040805160808082526009908201526831bab9ba37b234b0b760b91b60a082015233602082015260c08183018190526000908201526060810183905290517f3be8840aec3e3998ee1e020dd20a8ea88430534d4e16feeeb1762ea4428464cd9181900360e00190a1505050565b610d2b823383611aec565b61090c8282611ed3565b600080516020612dfa833981519152610d4d81611d3f565b610d556122fa565b61095a612340565b610d656122fa565b60038251118015610d7857506040825111155b610dba5760405162461bcd60e51b8152602060048201526013602482015272496e76616c69642046494f204164647265737360681b6044820152606401610816565b610dc43382611ed3565b7fcbc81eff77955b99685533d29441743baaced5a53ed539d634490e5380a8dcf08282604051610df5929190612b3e565b60405180910390a15050565b60009182526006602090815260408084206001600160a01b0393909316845291905290205460ff1690565b60606004805461075290612d34565b60003381610e4982866113f1565b905083811015610ea95760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610816565b61085d82868684036119c8565b600080600080845111610efb5760405162461bcd60e51b815260206004820152600d60248201526c125b9d985b1a59081bd89d1a59609a1b6044820152606401610816565b600a6000610f0886612caa565b8152602081019190915260400160009081206001015463ffffffff1690600a90610f3187612caa565b815260200190815260200160002060010160049054906101000a90046001600160a01b0316600a600087610f6490612caa565b8152602001908152602001600020600201549250925092509193909250565b6000336107e3818585611b66565b600080516020612dfa833981519152610fa981611d3f565b6001600160a01b038216610fcf5760405162461bcd60e51b815260040161081690612b60565b6001600160a01b03821633141561101f5760405162461bcd60e51b815260206004820152601460248201527321b0b73737ba103932b3b4b9ba32b91039b2b63360611b6044820152606401610816565b6000600383604051602001611035929190612ac4565b604051602081830303815290604052805190602001209050611065600080516020612dfa83398151915284610e01565b156110a75760405162461bcd60e51b8152602060048201526012602482015271105b1c9958591e481c9959da5cdd195c995960721b6044820152606401610816565b6110b581600185600061202d565b15610cb3576110d2600080516020612dfa83398151915284611d49565b6007805463ffffffff169060006110e883612d8b565b82546101009290920a63ffffffff81810219909316919092169190910217905550600980546001810182556000919091527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af0180546001600160a01b0319166001600160a01b03851690811790915560408051918252602082018390527f4f4b5dcea44dd9a0d4582de1f0b930ffdd296bd645df66b73ff1795f43e7dc119101610caa565b6000806001600160a01b0383166111b65760405162461bcd60e51b815260040161081690612b60565b6111ce600080516020612dfa83398151915284610e01565b600754909463ffffffff9091169350915050565b6000828152600660205260409020600101546111fd81611d3f565b61088d8383611dcf565b600080516020612e1a83398151915261121f81611d3f565b6112276122fa565b670de0b6b3a7640000831061123b57600080fd5b600082511161127c5760405162461bcd60e51b815260206004820152600d60248201526c125b9d985b1a59081bd89d1a59609a1b6044820152606401610816565b6001600160a01b0384166112c45760405162461bcd60e51b815260206004820152600f60248201526e125b9d985b1a59081858d8dbdd5b9d608a1b6044820152606401610816565b600754600364010000000090910463ffffffff1610156113265760405162461bcd60e51b815260206004820152601c60248201527f4f7261636c6573206d7573742062652033206f722067726561746572000000006044820152606401610816565b60008083858760405160200161133f9493929190612aea565b604051602081830303815290604052805190602001209050611364816000878761202d565b156113af57611373858561237d565b7fbfb8a2f9b4d8e8ed83a83aedac91756186665fbf1f57e39619d757180619bf988585856040516113a693929190612a47565b60405180910390a15b7f3be8840aec3e3998ee1e020dd20a8ea88430534d4e16feeeb1762ea4428464cd3384836040516113e293929190612b89565b60405180910390a15050505050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b600080516020612dfa83398151915261143481611d3f565b6001600160a01b03821661145a5760405162461bcd60e51b815260040161081690612b60565b6001600160a01b0382163314156114aa5760405162461bcd60e51b815260206004820152601460248201527321b0b73737ba103932b3b4b9ba32b91039b2b63360611b6044820152606401610816565b6114c2600080516020612e1a83398151915283610e01565b1561150f5760405162461bcd60e51b815260206004820152601960248201527f4f7261636c6520616c72656164792072656769737465726564000000000000006044820152606401610816565b6000600183604051602001611525929190612ac4565b60405160208183030381529060405280519060200120905061154b81600185600061202d565b15610cb357611568600080516020612e1a83398151915284611d49565b60078054640100000000900463ffffffff1690600461158683612d8b565b82546101009290920a63ffffffff81810219909316919092169190910217905550600880546001810182556000919091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30180546001600160a01b0319166001600160a01b03851690811790915560408051918252602082018390527ffde1904d2f36e8247a68b76a38b2dc6908f769438b6bb8f173ee39a2c01f2b589101610caa565b600080516020612dfa83398151915261164381611d3f565b6001600160a01b0382166116695760405162461bcd60e51b815260040161081690612b60565b611681600080516020612dfa83398151915283610e01565b6116cd5760405162461bcd60e51b815260206004820152601860248201527f437573746f6469616e206e6f74207265676973746572656400000000000000006044820152606401610816565b6007805463ffffffff16116117245760405162461bcd60e51b815260206004820152601960248201527f4d75737420636f6e7461696e203720637573746f6469616e73000000000000006044820152606401610816565b600060048360405160200161173a929190612ac4565b60405160208183030381529060405280519060200120905061176a600080516020612dfa83398151915284610e01565b6117ad5760405162461bcd60e51b8152602060048201526014602482015273105b1c9958591e481d5b9c9959da5cdd195c995960621b6044820152606401610816565b6117bb81600185600061202d565b15610cb3576117d8600080516020612dfa83398151915284611dcf565b6007805463ffffffff169060006117ee83612d14565b91906101000a81548163ffffffff021916908363ffffffff1602179055505060005b60095461ffff8216101561192257836001600160a01b031660098261ffff168154811061183f5761183f612dcd565b6000918252602090912001546001600160a01b03161415611910576009805461186a90600190612c93565b8154811061187a5761187a612dcd565b600091825260209091200154600980546001600160a01b039092169161ffff84169081106118aa576118aa612dcd565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060098054806118e9576118e9612db7565b600082815260209020810160001990810180546001600160a01b0319169055019055611922565b8061191a81612d69565b915050611810565b50604080516001600160a01b0385168152602081018390527f0cf142c25ce5b399a7953be52d40c8596def04c010697715ab9c72f4962d1a2d9101610caa565b60055460ff161561088d5760405162461bcd60e51b815260206004820152602a60248201527f45524332305061757361626c653a20746f6b656e207472616e736665722077686044820152691a5b19481c185d5cd95960b21b6064820152608401610816565b6001600160a01b038316611a2a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610816565b6001600160a01b038216611a8b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610816565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000611af884846113f1565b90506000198114611b605781811015611b535760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610816565b611b6084848484036119c8565b50505050565b6001600160a01b038316611bca5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610816565b6001600160a01b038216611c2c5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610816565b611c37838383612468565b6001600160a01b03831660009081526020819052604090205481811015611caf5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610816565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290611ce6908490612bd7565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611d3291815260200190565b60405180910390a3611b60565b61095a81336124cc565b611d538282610e01565b61090c5760008281526006602090815260408083206001600160a01b03851684529091529020805460ff19166001179055611d8b3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b611dd98282610e01565b1561090c5760008281526006602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b60055460ff16611e7f5760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152606401610816565b565b611e89611e36565b6005805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b6001600160a01b038216611f335760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610816565b611f3f82600083612468565b6001600160a01b03821660009081526020819052604090205481811015611fb35760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610816565b6001600160a01b0383166000908152602081905260408120838303905560028054849290611fe2908490612c93565b90915550506040518281526000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3505050565b6000848152600a602052604081206003015460ff161561208f5760405162461bcd60e51b815260206004820152601960248201527f417070726f76616c20616c726561647920636f6d706c657465000000000000006044820152606401610816565b600754640100000000900463ffffffff1660ff8516600114156120db576007546003906120c39063ffffffff166002612c67565b6120cd9190612c17565b6120d8906001612bef565b90505b6000868152600a602052604090206001015463ffffffff16612134576000868152600a60205260409020600281018490556001018054640100000000600160c01b0319166401000000006001600160a01b038716021790555b6000868152600a602052604090206001015463ffffffff808316911610156122da576000868152600a6020908152604080832033845290915290205460ff16156121ce5760405162461bcd60e51b815260206004820152602560248201527f6f7261636c652068617320616c726561647920617070726f7665642074686973604482015264040d0c2e6d60db1b6064820152608401610816565b6000868152600a60208181526040808420338552808352908420805460ff191660019081179091558a85529290915201805463ffffffff169161221083612d8b565b82546101009290920a63ffffffff8181021990931691831602179091556000888152600a602052604090206001015483821691161090506122da576000868152600a6020908152604080832033845290915290205460ff166122b45760405162461bcd60e51b815260206004820181905260248201527f416e20617070726f76696e67206f7261636c65206d75737420657865637574656044820152606401610816565b50506000848152600a60205260409020600301805460ff191660019081179091556122f2565b50506000848152600a602052604090206003015460ff165b949350505050565b60055460ff1615611e7f5760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610816565b6123486122fa565b6005805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611eb63390565b6001600160a01b0382166123d35760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610816565b6123df60008383612468565b80600260008282546123f19190612bd7565b90915550506001600160a01b0382166000908152602081905260408120805483929061241e908490612bd7565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b6001600160a01b0382163014156124c15760405162461bcd60e51b815260206004820152601e60248201527f436f6e74726163742063616e6e6f74207265636569766520746f6b656e7300006044820152606401610816565b61088d838383611962565b6124d68282610e01565b61090c576124ee816001600160a01b03166014612530565b6124f9836020612530565b60405160200161250a9291906129d2565b60408051601f198184030181529082905262461bcd60e51b825261081691600401612b2b565b6060600061253f836002612c48565b61254a906002612bd7565b67ffffffffffffffff81111561256257612562612de3565b6040519080825280601f01601f19166020018201604052801561258c576020820181803683370190505b509050600360fc1b816000815181106125a7576125a7612dcd565b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106125d6576125d6612dcd565b60200101906001600160f81b031916908160001a90535060006125fa846002612c48565b612605906001612bd7565b90505b600181111561267d576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061263957612639612dcd565b1a60f81b82828151811061264f5761264f612dcd565b60200101906001600160f81b031916908160001a90535060049490941c9361267681612cfd565b9050612608565b5083156126cc5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610816565b9392505050565b600067ffffffffffffffff808411156126ee576126ee612de3565b604051601f8501601f19908116603f0116810190828211818310171561271657612716612de3565b8160405280935085815286868601111561272f57600080fd5b858560208301376000602087830101525050509392505050565b80356001600160a01b038116811461276057600080fd5b919050565b600082601f83011261277657600080fd5b6126cc838335602085016126d3565b60006020828403121561279757600080fd5b6126cc82612749565b600080604083850312156127b357600080fd5b6127bc83612749565b91506127ca60208401612749565b90509250929050565b6000806000606084860312156127e857600080fd5b6127f184612749565b92506127ff60208501612749565b9150604084013590509250925092565b6000806040838503121561282257600080fd5b61282b83612749565b946020939093013593505050565b60008060006060848603121561284e57600080fd5b61285784612749565b925060208401359150604084013567ffffffffffffffff81111561287a57600080fd5b61288686828701612765565b9150509250925092565b6000602082840312156128a257600080fd5b5035919050565b600080604083850312156128bc57600080fd5b823591506127ca60208401612749565b6000602082840312156128de57600080fd5b81356001600160e01b0319811681146126cc57600080fd5b60006020828403121561290857600080fd5b813567ffffffffffffffff81111561291f57600080fd5b8201601f8101841361293057600080fd5b6122f2848235602084016126d3565b6000806040838503121561295257600080fd5b823567ffffffffffffffff81111561296957600080fd5b61297585828601612765565b95602094909401359450505050565b600581106129a257634e487b7160e01b600052602160045260246000fd5b9052565b600081518084526129be816020860160208601612cd1565b601f01601f19169290920160200192915050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351612a0a816017850160208801612cd1565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351612a3b816028840160208801612cd1565b01602801949350505050565b60018060a01b0384168152826020820152606060408201526000612a6e60608301846129a6565b95945050505050565b6020808252825182820181905260009190848201906040850190845b81811015612ab85783516001600160a01b031683529284019291840191600101612a93565b50909695505050505050565b60408101612ad28285612984565b6001600160a01b039290921660209190910152919050565b612af48186612984565b608060208201526000612b0a60808301866129a6565b6040830194909452506001600160a01b039190911660609091015292915050565b6020815260006126cc60208301846129a6565b604081526000612b5160408301856129a6565b90508260208301529392505050565b6020808252600f908201526e496e76616c6964206164647265737360881b604082015260600190565b6080815260066080820152656f7261636c6560d01b60a082015260018060a01b038416602082015260c060408201526000612bc760c08301856129a6565b9050826060830152949350505050565b60008219821115612bea57612bea612da1565b500190565b600063ffffffff808316818516808303821115612c0e57612c0e612da1565b01949350505050565b600063ffffffff80841680612c3c57634e487b7160e01b600052601260045260246000fd5b92169190910492915050565b6000816000190483118215151615612c6257612c62612da1565b500290565b600063ffffffff80831681851681830481118215151615612c8a57612c8a612da1565b02949350505050565b600082821015612ca557612ca5612da1565b500390565b80516020808301519190811015612ccb576000198160200360031b1b821691505b50919050565b60005b83811015612cec578181015183820152602001612cd4565b83811115611b605750506000910152565b600081612d0c57612d0c612da1565b506000190190565b600063ffffffff821680612d2a57612d2a612da1565b6000190192915050565b600181811c90821680612d4857607f821691505b60208210811415612ccb57634e487b7160e01b600052602260045260246000fd5b600061ffff80831681811415612d8157612d81612da1565b6001019392505050565b600063ffffffff80831681811415612d8157612d815b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fdfee28434228950b641dbbc0178de89daa359a87c6ee0d8399aeace52a98fe902b968e79a7bf1e0bc45d0a330c573bc367f9cf464fd326078812f301165fbda4ef1a26469706673582212206260b2bdce4ea48c1936895a12dd98b7044ba98062329e4a8a82608c26133c4a64736f6c63430008070033", + "metadata": "{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_initialSupply\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"newcustodians\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Paused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Unpaused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"signer\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"obtid\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"indexhash\",\"type\":\"bytes32\"}],\"name\":\"consensus_activity\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"indexhash\",\"type\":\"bytes32\"}],\"name\":\"custodian_registered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"indexhash\",\"type\":\"bytes32\"}],\"name\":\"custodian_unregistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"indexhash\",\"type\":\"bytes32\"}],\"name\":\"oracle_registered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"indexhash\",\"type\":\"bytes32\"}],\"name\":\"oracle_unregistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"fioaddress\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"unwrapped\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"obtid\",\"type\":\"string\"}],\"name\":\"wrapped\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"CUSTODIAN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"ORACLE_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"OWNER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burnFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"changeOwner\",\"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\":\"bytes\",\"name\":\"indexhash\",\"type\":\"bytes\"}],\"name\":\"getApproval\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getCustodian\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"},{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getOracle\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"},{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOracles\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"paused\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"regcust\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"regoracle\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unpause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"unregcust\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"unregoracle\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"fioaddress\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"unwrap\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"obtid\",\"type\":\"string\"}],\"name\":\"wrap\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"burn(uint256)\":{\"details\":\"Destroys `amount` tokens from the caller. See {ERC20-_burn}.\"},\"burnFrom(address,uint256)\":{\"details\":\"Destroys `amount` tokens from `account`, deducting from the caller's allowance. See {ERC20-_burn} and {ERC20-allowance}. Requirements: - the caller must have allowance for ``accounts``'s tokens of at least `amount`.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless this function is overridden; NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"paused()\":{\"details\":\"Returns true if the contract is paused, and false otherwise.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/wfio.sol\":\"WFIO\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x5b35d8e68aeaccc685239bd9dd79b9ba01a0357930f8a3307ab85511733d9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba8eb2d22f9321bd4660f6617c181d9611ff30a9b089408b8c6e2216d6d5cdc5\",\"dweb:/ipfs/QmTSJvhjHfnUV1j4hsqDv8PmLvGBLRs9gHLjTUXrUJ5Y9q\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"@openzeppelin/contracts/security/Pausable.sol\":{\"keccak256\":\"0x0849d93b16c9940beb286a7864ed02724b248b93e0d80ef6355af5ef15c64773\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ddabb16009cd17eaca3143feadf450ac13e72919ebe2ca50e00f61cb78bc004\",\"dweb:/ipfs/QmSPwPxX7d6TTWakN5jy5wsaGkS1y9TW8fuhGSraMkLk2B\"]},\"@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x24b04b8aacaaf1a4a0719117b29c9c3647b1f479c5ac2a60f5ff1bb6d839c238\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://43e46da9d9f49741ecd876a269e71bc7494058d7a8e9478429998adb5bc3eaa0\",\"dweb:/ipfs/QmUtp4cqzf22C5rJ76AabKADquGWcjsc33yjYXxXC4sDvy\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x9750c6b834f7b43000631af5cc30001c5f547b3ceb3635488f140f60e897ea6b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a7d5b1ef5d8d5889ad2ed89d8619c09383b80b72ab226e0fe7bde1636481e34\",\"dweb:/ipfs/QmebXWgtEfumQGBdVeM6c71McLixYXQP5Bk6kKXuoY4Bmr\"]},\"@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol\":{\"keccak256\":\"0x0d19410453cda55960a818e02bd7c18952a5c8fe7a3036e81f0d599f34487a7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4c0f62d3d5bef22b5ca00cc3903e7de6152cb68d2d22401a463f373cda54c00f\",\"dweb:/ipfs/QmSfzjZux7LC7NW2f7rjCXTHeFMUCWERqDkhpCTBy7kxTe\"]},\"@openzeppelin/contracts/token/ERC20/extensions/ERC20Pausable.sol\":{\"keccak256\":\"0x978847fbff92d66d27d8767402a90ba996970b1936b372406aa17f5492bd8dc5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1414cb92779420b50d3e796b47bad6ea800ef1805bc6f9bf35a3ccb4e17db3dc\",\"dweb:/ipfs/QmaMzwYqLiivfaWSgqeaAPboBtJjVD1hSrH48p7ExJZ7DG\"]},\"@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0xaf159a8b1923ad2a26d516089bceca9bdeaeacd04be50983ea00ba63070f08a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f2cf1c531122bc7ca96b8c8db6a60deae60441e5223065e792553d4849b5638\",\"dweb:/ipfs/QmPBdJmBBABMDCfyDjCbdxgiqRavgiSL88SYPGibgbPas9\"]},\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"project:/contracts/wfio.sol\":{\"keccak256\":\"0x3ee33d5cd76ced97800f9ee2b46b53daf5d2bffb9969c7c2455b2990f7ff34ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b013881c535c720e6ce0abeb4135836ccbdbb7b27c956590fb557e5d205e495\",\"dweb:/ipfs/Qmcs1dgJe2ZiRmc1PGzusce8iELPMXbD4aREuW7UvpmUCu\"]}},\"version\":1}", + "bytecode": "0x60806040523480156200001157600080fd5b506040516200392c3803806200392c8339810160408190526200003491620006a5565b604080518082018252601481527f46494f2050726f746f636f6c20546573746e65740000000000000000000000006020808301918252835180850190945260048452637746494f60e01b9084015281519192916200009591600391620005e2565b508051620000ab906004906020840190620005e2565b50506005805460ff19169055508051600a14620001205760405162461bcd60e51b815260206004820152602860248201527f7746494f2063616e6e6f74206465706c6f7920776974686f757420313020637560448201526773746f6469616e7360c01b60648201526084015b60405180910390fd5b6200012c338362000327565b620001476000805160206200390c833981519152336200041b565b60005b600a8160ff1610156200030b5762000197600080516020620038ec833981519152838360ff16815181106200018357620001836200081d565b6020026020010151620004bf60201b60201c565b15620001e65760405162461bcd60e51b815260206004820152601c60248201527f437573746f6469616e20616c7265616479207265676973746572656400000000604482015260640162000117565b620002126000805160206200390c833981519152838360ff16815181106200018357620001836200081d565b15620002615760405162461bcd60e51b815260206004820152601e60248201527f4f776e657220726f6c652063616e6e6f7420626520637573746f6469616e0000604482015260640162000117565b620002a1600080516020620038ec833981519152838360ff16815181106200028d576200028d6200081d565b60200260200101516200041b60201b60201c565b6009828260ff1681518110620002bb57620002bb6200081d565b60209081029190910181015182546001810184556000938452919092200180546001600160a01b0319166001600160a01b03909216919091179055806200030281620007e4565b9150506200014a565b5050600780546001600160401b031916600a1790555062000849565b6001600160a01b0382166200037f5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640162000117565b6200038d60008383620004ea565b8060026000828254620003a191906200078c565b90915550506001600160a01b03821660009081526020819052604081208054839290620003d09084906200078c565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b5050565b60008281526006602090815260408083206001600160a01b038516845290915290205460ff16620004175760008281526006602090815260408083206001600160a01b03851684529091529020805460ff191660011790556200047b3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60009182526006602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6001600160a01b038216301415620005455760405162461bcd60e51b815260206004820152601e60248201527f436f6e74726163742063616e6e6f74207265636569766520746f6b656e730000604482015260640162000117565b6200055d8383836200056260201b62001b1f1760201c565b505050565b6200057a8383836200055d60201b6200088c1760201c565b60055460ff16156200055d5760405162461bcd60e51b815260206004820152602a60248201527f45524332305061757361626c653a20746f6b656e207472616e736665722077686044820152691a5b19481c185d5cd95960b21b606482015260840162000117565b828054620005f090620007a7565b90600052602060002090601f0160209004810192826200061457600085556200065f565b82601f106200062f57805160ff19168380011785556200065f565b828001600101855582156200065f579182015b828111156200065f57825182559160200191906001019062000642565b506200066d92915062000671565b5090565b5b808211156200066d576000815560010162000672565b80516001600160a01b0381168114620006a057600080fd5b919050565b60008060408385031215620006b957600080fd5b8251602080850151919350906001600160401b0380821115620006db57600080fd5b818601915086601f830112620006f057600080fd5b81518181111562000705576200070562000833565b8060051b604051601f19603f830116810181811085821117156200072d576200072d62000833565b604052828152858101935084860182860187018b10156200074d57600080fd5b600095505b838610156200077b57620007668162000688565b85526001959095019493860193860162000752565b508096505050505050509250929050565b60008219821115620007a257620007a262000807565b500190565b600181811c90821680620007bc57607f821691505b60208210811415620007de57634e487b7160e01b600052602260045260246000fd5b50919050565b600060ff821660ff811415620007fe57620007fe62000807565b60010192915050565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b61309380620008596000396000f3fe60806040526004361061021e5760003560e01c806379cc679011610123578063a9059cbb116100ab578063da4baecb1161006f578063da4baecb14610669578063dd62ed3e14610689578063e5690a99146106a9578063e58378bb146106c9578063ff3e34a5146106eb57600080fd5b8063a9059cbb146105c7578063c0bcfe9c146105e7578063c79445d014610607578063cb5aa7e914610629578063d547741f1461064957600080fd5b806395d89b41116100f257806395d89b411461052d578063a217fddf14610542578063a457c2d714610557578063a6f9dae114610577578063a7bf70b91461059757600080fd5b806379cc6790146104b85780638456cb59146104d85780638c70c3bd146104ed57806391d148541461050d57600080fd5b8063313ce567116101a657806340884c521161017557806340884c521461040857806342966c681461042a5780634fdcaca61461044a5780635c975abb1461046a57806370a082311461048257600080fd5b8063313ce5671461039757806336568abe146103b357806339509351146103d35780633f4ba83a146103f357600080fd5b806310d3d22e116101ed57806310d3d22e146102d457806318160ddd1461031057806323b872dd14610325578063248a9ca3146103455780632f2ff15d1461037557600080fd5b806301ffc9a71461022d57806306fdde031461026257806307e2cea514610284578063095ea7b3146102b457600080fd5b3661022857600080fd5b600080fd5b34801561023957600080fd5b5061024d610248366004612a89565b61070b565b60405190151581526020015b60405180910390f35b34801561026e57600080fd5b50610277610742565b6040516102599190612cf2565b34801561029057600080fd5b506102a660008051602061303e83398151915281565b604051908152602001610259565b3480156102c057600080fd5b5061024d6102cf3660046129cc565b6107d4565b3480156102e057600080fd5b506102f46102ef366004612942565b6107ec565b60408051921515835263ffffffff909116602083015201610259565b34801561031c57600080fd5b506002546102a6565b34801561033157600080fd5b5061024d610340366004612990565b610843565b34801561035157600080fd5b506102a6610360366004612a4d565b60009081526006602052604090206001015490565b34801561038157600080fd5b50610395610390366004612a66565b610867565b005b3480156103a357600080fd5b5060405160098152602001610259565b3480156103bf57600080fd5b506103956103ce366004612a66565b610891565b3480156103df57600080fd5b5061024d6103ee3660046129cc565b61090f565b3480156103ff57600080fd5b50610395610931565b34801561041457600080fd5b5061041d61095c565b6040516102599190612c78565b34801561043657600080fd5b50610395610445366004612a4d565b6109bd565b34801561045657600080fd5b50610395610465366004612942565b6109c7565b34801561047657600080fd5b5060055460ff1661024d565b34801561048e57600080fd5b506102a661049d366004612942565b6001600160a01b031660009081526020819052604090205490565b3480156104c457600080fd5b506103956104d33660046129cc565b610d1f565b3480156104e457600080fd5b50610395610d34565b3480156104f957600080fd5b50610395610508366004612afc565b610d5c565b34801561051957600080fd5b5061024d610528366004612a66565b610e00565b34801561053957600080fd5b50610277610e2b565b34801561054e57600080fd5b506102a6600081565b34801561056357600080fd5b5061024d6105723660046129cc565b610e3a565b34801561058357600080fd5b50610395610592366004612942565b610eb5565b3480156105a357600080fd5b506105b76105b2366004612ab3565b610efd565b6040516102599493929190612d9e565b3480156105d357600080fd5b5061024d6105e23660046129cc565b611140565b3480156105f357600080fd5b50610395610602366004612942565b61114e565b34801561061357600080fd5b506102a6600080516020612ffe83398151915281565b34801561063557600080fd5b506102f4610644366004612942565b61134a565b34801561065557600080fd5b50610395610664366004612a66565b61139f565b34801561067557600080fd5b506103956106843660046129f6565b6113c4565b34801561069557600080fd5b506102a66106a436600461295d565b6115ae565b3480156106b557600080fd5b506103956106c4366004612942565b6115d9565b3480156106d557600080fd5b506102a660008051602061301e83398151915281565b3480156106f757600080fd5b50610395610706366004612942565b6117e8565b60006001600160e01b03198216637965db0b60e01b148061073c57506301ffc9a760e01b6001600160e01b03198316145b92915050565b60606003805461075190612f38565b80601f016020809104026020016040519081016040528092919081815260200182805461077d90612f38565b80156107ca5780601f1061079f576101008083540402835291602001916107ca565b820191906000526020600020905b8154815290600101906020018083116107ad57829003601f168201915b5050505050905090565b6000336107e2818585611b85565b5060019392505050565b6000806001600160a01b03831661081e5760405162461bcd60e51b815260040161081590612d27565b60405180910390fd5b61083660008051602061303e83398151915284610e00565b6008549094909350915050565b600033610851858285611ca9565b61085c858585611d23565b506001949350505050565b60008281526006602052604090206001015461088281611efc565b61088c8383611f06565b505050565b6001600160a01b03811633146109015760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401610815565b61090b8282611f8c565b5050565b6000336107e281858561092283836115ae565b61092c9190612ddb565b611b85565b600080516020612ffe83398151915261094981611efc565b610951611ff3565b61095961203e565b50565b606060088054806020026020016040519081016040528092919081815260200182805480156107ca57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610996575050505050905090565b6109593382612090565b600080516020612ffe8339815191526109df81611efc565b6001600160a01b038216610a055760405162461bcd60e51b815260040161081590612d27565b600754600364010000000090910463ffffffff1611610a665760405162461bcd60e51b815260206004820152601a60248201527f4d696e696d756d2033206f7261636c65732072657175697265640000000000006044820152606401610815565b6000600283604051602001610a7c929190612c8b565b604051602081830303815290604052805190602001209050610aac60008051602061303e83398151915284610e00565b610af05760405162461bcd60e51b815260206004820152601560248201527413dc9858db19481b9bdd081c9959da5cdd195c9959605a1b6044820152606401610815565b610afe8160018560006121ea565b15610cb257610b1b60008051602061303e83398151915284611f8c565b60078054640100000000900463ffffffff16906004610b3983612f18565b91906101000a81548163ffffffff021916908363ffffffff1602179055505060005b60085461ffff82161015610c6d57836001600160a01b031660088261ffff1681548110610b8a57610b8a612fd1565b6000918252602090912001546001600160a01b03161415610c5b5760088054610bb590600190612e97565b81548110610bc557610bc5612fd1565b600091825260209091200154600880546001600160a01b039092169161ffff8416908110610bf557610bf5612fd1565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055506008805480610c3457610c34612fbb565b600082815260209020810160001990810180546001600160a01b0319169055019055610c6d565b80610c6581612f6d565b915050610b5b565b50604080516001600160a01b0385168152602081018390527fe4d21301551b3d87dc269fc8b9d5a5c1432831c3c321ef19570b8a93a10cb52291015b60405180910390a15b6040805160808082526009908201526831bab9ba37b234b0b760b91b60a082015233602082015260c08183018190526000908201526060810183905290517f3be8840aec3e3998ee1e020dd20a8ea88430534d4e16feeeb1762ea4428464cd9181900360e00190a1505050565b610d2a823383611ca9565b61090b8282612090565b600080516020612ffe833981519152610d4c81611efc565b610d546124b7565b6109596124fd565b610d646124b7565b60038251118015610d7757506040825111155b610db95760405162461bcd60e51b8152602060048201526013602482015272496e76616c69642046494f204164647265737360681b6044820152606401610815565b610dc33382612090565b7fcbc81eff77955b99685533d29441743baaced5a53ed539d634490e5380a8dcf08282604051610df4929190612d05565b60405180910390a15050565b60009182526006602090815260408084206001600160a01b0393909316845291905290205460ff1690565b60606004805461075190612f38565b60003381610e4882866115ae565b905083811015610ea85760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610815565b61085c8286868403611b85565b60008051602061301e833981519152610ecd81611efc565b610ee560008051602061301e83398151915233611f8c565b61090b60008051602061301e83398151915283611f06565b600080600060606000855111610f455760405162461bcd60e51b815260206004820152600d60248201526c125b9d985b1a59081bd89d1a59609a1b6044820152606401610815565b6000600a81610f5388612eae565b815260208101919091526040016000206001015463ffffffff1667ffffffffffffffff811115610f8557610f85612fe7565b604051908082528060200260200182016040528015610fae578160200160208202803683370190505b5090506000805b60085463ffffffff821610156110b257600a6000610fd28a612eae565b8152602001908152602001600020600001600060088363ffffffff1681548110610ffe57610ffe612fd1565b60009182526020808320909101546001600160a01b0316835282019290925260400190205460ff16156110a05760088163ffffffff168154811061104457611044612fd1565b9060005260206000200160009054906101000a90046001600160a01b0316838363ffffffff168151811061107a5761107a612fd1565b6001600160a01b03909216602092830291909101909101528161109c81612f8f565b9250505b806110aa81612f8f565b915050610fb5565b50600a60006110c089612eae565b8152602081019190915260400160009081206001015463ffffffff1690600a906110e98a612eae565b815260200190815260200160002060010160049054906101000a90046001600160a01b0316600a60008a61111c90612eae565b81526020019081526020016000206002015484955095509550955050509193509193565b6000336107e2818585611d23565b600080516020612ffe83398151915261116681611efc565b6001600160a01b03821661118c5760405162461bcd60e51b815260040161081590612d27565b6001600160a01b0382163314156111dc5760405162461bcd60e51b815260206004820152601460248201527321b0b73737ba103932b3b4b9ba32b91039b2b63360611b6044820152606401610815565b60006003836040516020016111f2929190612c8b565b604051602081830303815290604052805190602001209050611222600080516020612ffe83398151915284610e00565b156112645760405162461bcd60e51b8152602060048201526012602482015271105b1c9958591e481c9959da5cdd195c995960721b6044820152606401610815565b6112728160018560006121ea565b15610cb25761128f600080516020612ffe83398151915284611f06565b6007805463ffffffff169060006112a583612f8f565b82546101009290920a63ffffffff81810219909316919092169190910217905550600980546001810182556000919091527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af0180546001600160a01b0319166001600160a01b03851690811790915560408051918252602082018390527f4f4b5dcea44dd9a0d4582de1f0b930ffdd296bd645df66b73ff1795f43e7dc119101610ca9565b6000806001600160a01b0383166113735760405162461bcd60e51b815260040161081590612d27565b61138b600080516020612ffe83398151915284610e00565b600754909463ffffffff9091169350915050565b6000828152600660205260409020600101546113ba81611efc565b61088c8383611f8c565b60008051602061303e8339815191526113dc81611efc565b6113e46124b7565b670de0b6b3a764000083106113f857600080fd5b60008251116114395760405162461bcd60e51b815260206004820152600d60248201526c125b9d985b1a59081bd89d1a59609a1b6044820152606401610815565b6001600160a01b0384166114815760405162461bcd60e51b815260206004820152600f60248201526e125b9d985b1a59081858d8dbdd5b9d608a1b6044820152606401610815565b600754600364010000000090910463ffffffff1610156114e35760405162461bcd60e51b815260206004820152601c60248201527f4f7261636c6573206d7573742062652033206f722067726561746572000000006044820152606401610815565b6000808385876040516020016114fc9493929190612cb1565b60405160208183030381529060405280519060200120905061152181600087876121ea565b1561156c57611530858561253a565b7fbfb8a2f9b4d8e8ed83a83aedac91756186665fbf1f57e39619d757180619bf9885858560405161156393929190612c48565b60405180910390a15b7f3be8840aec3e3998ee1e020dd20a8ea88430534d4e16feeeb1762ea4428464cd33848360405161159f93929190612d50565b60405180910390a15050505050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b600080516020612ffe8339815191526115f181611efc565b6001600160a01b0382166116175760405162461bcd60e51b815260040161081590612d27565b6001600160a01b0382163314156116675760405162461bcd60e51b815260206004820152601460248201527321b0b73737ba103932b3b4b9ba32b91039b2b63360611b6044820152606401610815565b61167f60008051602061303e83398151915283610e00565b156116cc5760405162461bcd60e51b815260206004820152601960248201527f4f7261636c6520616c72656164792072656769737465726564000000000000006044820152606401610815565b60006001836040516020016116e2929190612c8b565b6040516020818303038152906040528051906020012090506117088160018560006121ea565b15610cb25761172560008051602061303e83398151915284611f06565b60078054640100000000900463ffffffff1690600461174383612f8f565b82546101009290920a63ffffffff81810219909316919092169190910217905550600880546001810182556000919091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30180546001600160a01b0319166001600160a01b03851690811790915560408051918252602082018390527ffde1904d2f36e8247a68b76a38b2dc6908f769438b6bb8f173ee39a2c01f2b589101610ca9565b600080516020612ffe83398151915261180081611efc565b6001600160a01b0382166118265760405162461bcd60e51b815260040161081590612d27565b61183e600080516020612ffe83398151915283610e00565b61188a5760405162461bcd60e51b815260206004820152601860248201527f437573746f6469616e206e6f74207265676973746572656400000000000000006044820152606401610815565b6007805463ffffffff16116118e15760405162461bcd60e51b815260206004820152601960248201527f4d75737420636f6e7461696e203720637573746f6469616e73000000000000006044820152606401610815565b60006004836040516020016118f7929190612c8b565b604051602081830303815290604052805190602001209050611927600080516020612ffe83398151915284610e00565b61196a5760405162461bcd60e51b8152602060048201526014602482015273105b1c9958591e481d5b9c9959da5cdd195c995960621b6044820152606401610815565b6119788160018560006121ea565b15610cb257611995600080516020612ffe83398151915284611f8c565b6007805463ffffffff169060006119ab83612f18565b91906101000a81548163ffffffff021916908363ffffffff1602179055505060005b60095461ffff82161015611adf57836001600160a01b031660098261ffff16815481106119fc576119fc612fd1565b6000918252602090912001546001600160a01b03161415611acd5760098054611a2790600190612e97565b81548110611a3757611a37612fd1565b600091825260209091200154600980546001600160a01b039092169161ffff8416908110611a6757611a67612fd1565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055506009805480611aa657611aa6612fbb565b600082815260209020810160001990810180546001600160a01b0319169055019055611adf565b80611ad781612f6d565b9150506119cd565b50604080516001600160a01b0385168152602081018390527f0cf142c25ce5b399a7953be52d40c8596def04c010697715ab9c72f4962d1a2d9101610ca9565b60055460ff161561088c5760405162461bcd60e51b815260206004820152602a60248201527f45524332305061757361626c653a20746f6b656e207472616e736665722077686044820152691a5b19481c185d5cd95960b21b6064820152608401610815565b6001600160a01b038316611be75760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610815565b6001600160a01b038216611c485760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610815565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000611cb584846115ae565b90506000198114611d1d5781811015611d105760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610815565b611d1d8484848403611b85565b50505050565b6001600160a01b038316611d875760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610815565b6001600160a01b038216611de95760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610815565b611df4838383612625565b6001600160a01b03831660009081526020819052604090205481811015611e6c5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610815565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290611ea3908490612ddb565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611eef91815260200190565b60405180910390a3611d1d565b6109598133612689565b611f108282610e00565b61090b5760008281526006602090815260408083206001600160a01b03851684529091529020805460ff19166001179055611f483390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b611f968282610e00565b1561090b5760008281526006602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b60055460ff1661203c5760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152606401610815565b565b612046611ff3565b6005805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b6001600160a01b0382166120f05760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610815565b6120fc82600083612625565b6001600160a01b038216600090815260208190526040902054818110156121705760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610815565b6001600160a01b038316600090815260208190526040812083830390556002805484929061219f908490612e97565b90915550506040518281526000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3505050565b6000848152600a602052604081206003015460ff161561224c5760405162461bcd60e51b815260206004820152601960248201527f417070726f76616c20616c726561647920636f6d706c657465000000000000006044820152606401610815565b600754640100000000900463ffffffff1660ff851660011415612298576007546003906122809063ffffffff166002612e6b565b61228a9190612e1b565b612295906001612df3565b90505b6000868152600a602052604090206001015463ffffffff166122f1576000868152600a60205260409020600281018490556001018054640100000000600160c01b0319166401000000006001600160a01b038716021790555b6000868152600a602052604090206001015463ffffffff80831691161015612497576000868152600a6020908152604080832033845290915290205460ff161561238b5760405162461bcd60e51b815260206004820152602560248201527f6f7261636c652068617320616c726561647920617070726f7665642074686973604482015264040d0c2e6d60db1b6064820152608401610815565b6000868152600a60208181526040808420338552808352908420805460ff191660019081179091558a85529290915201805463ffffffff16916123cd83612f8f565b82546101009290920a63ffffffff8181021990931691831602179091556000888152600a60205260409020600101548382169116109050612497576000868152600a6020908152604080832033845290915290205460ff166124715760405162461bcd60e51b815260206004820181905260248201527f416e20617070726f76696e67206f7261636c65206d75737420657865637574656044820152606401610815565b50506000848152600a60205260409020600301805460ff191660019081179091556124af565b50506000848152600a602052604090206003015460ff165b949350505050565b60055460ff161561203c5760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610815565b6125056124b7565b6005805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586120733390565b6001600160a01b0382166125905760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610815565b61259c60008383612625565b80600260008282546125ae9190612ddb565b90915550506001600160a01b038216600090815260208190526040812080548392906125db908490612ddb565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b6001600160a01b03821630141561267e5760405162461bcd60e51b815260206004820152601e60248201527f436f6e74726163742063616e6e6f74207265636569766520746f6b656e7300006044820152606401610815565b61088c838383611b1f565b6126938282610e00565b61090b576126ab816001600160a01b031660146126ed565b6126b68360206126ed565b6040516020016126c7929190612bd3565b60408051601f198184030181529082905262461bcd60e51b825261081591600401612cf2565b606060006126fc836002612e4c565b612707906002612ddb565b67ffffffffffffffff81111561271f5761271f612fe7565b6040519080825280601f01601f191660200182016040528015612749576020820181803683370190505b509050600360fc1b8160008151811061276457612764612fd1565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061279357612793612fd1565b60200101906001600160f81b031916908160001a90535060006127b7846002612e4c565b6127c2906001612ddb565b90505b600181111561283a576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106127f6576127f6612fd1565b1a60f81b82828151811061280c5761280c612fd1565b60200101906001600160f81b031916908160001a90535060049490941c9361283381612f01565b90506127c5565b5083156128895760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610815565b9392505050565b600067ffffffffffffffff808411156128ab576128ab612fe7565b604051601f8501601f19908116603f011681019082821181831017156128d3576128d3612fe7565b816040528093508581528686860111156128ec57600080fd5b858560208301376000602087830101525050509392505050565b80356001600160a01b038116811461291d57600080fd5b919050565b600082601f83011261293357600080fd5b61288983833560208501612890565b60006020828403121561295457600080fd5b61288982612906565b6000806040838503121561297057600080fd5b61297983612906565b915061298760208401612906565b90509250929050565b6000806000606084860312156129a557600080fd5b6129ae84612906565b92506129bc60208501612906565b9150604084013590509250925092565b600080604083850312156129df57600080fd5b6129e883612906565b946020939093013593505050565b600080600060608486031215612a0b57600080fd5b612a1484612906565b925060208401359150604084013567ffffffffffffffff811115612a3757600080fd5b612a4386828701612922565b9150509250925092565b600060208284031215612a5f57600080fd5b5035919050565b60008060408385031215612a7957600080fd5b8235915061298760208401612906565b600060208284031215612a9b57600080fd5b81356001600160e01b03198116811461288957600080fd5b600060208284031215612ac557600080fd5b813567ffffffffffffffff811115612adc57600080fd5b8201601f81018413612aed57600080fd5b6124af84823560208401612890565b60008060408385031215612b0f57600080fd5b823567ffffffffffffffff811115612b2657600080fd5b612b3285828601612922565b95602094909401359450505050565b600081518084526020808501945080840160005b83811015612b7a5781516001600160a01b031687529582019590820190600101612b55565b509495945050505050565b60058110612ba357634e487b7160e01b600052602160045260246000fd5b9052565b60008151808452612bbf816020860160208601612ed5565b601f01601f19169290920160200192915050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351612c0b816017850160208801612ed5565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351612c3c816028840160208801612ed5565b01602801949350505050565b60018060a01b0384168152826020820152606060408201526000612c6f6060830184612ba7565b95945050505050565b6020815260006128896020830184612b41565b60408101612c998285612b85565b6001600160a01b039290921660209190910152919050565b612cbb8186612b85565b608060208201526000612cd16080830186612ba7565b6040830194909452506001600160a01b039190911660609091015292915050565b6020815260006128896020830184612ba7565b604081526000612d186040830185612ba7565b90508260208301529392505050565b6020808252600f908201526e496e76616c6964206164647265737360881b604082015260600190565b6080815260066080820152656f7261636c6560d01b60a082015260018060a01b038416602082015260c060408201526000612d8e60c0830185612ba7565b9050826060830152949350505050565b63ffffffff8516815260018060a01b0384166020820152826040820152608060608201526000612dd16080830184612b41565b9695505050505050565b60008219821115612dee57612dee612fa5565b500190565b600063ffffffff808316818516808303821115612e1257612e12612fa5565b01949350505050565b600063ffffffff80841680612e4057634e487b7160e01b600052601260045260246000fd5b92169190910492915050565b6000816000190483118215151615612e6657612e66612fa5565b500290565b600063ffffffff80831681851681830481118215151615612e8e57612e8e612fa5565b02949350505050565b600082821015612ea957612ea9612fa5565b500390565b80516020808301519190811015612ecf576000198160200360031b1b821691505b50919050565b60005b83811015612ef0578181015183820152602001612ed8565b83811115611d1d5750506000910152565b600081612f1057612f10612fa5565b506000190190565b600063ffffffff821680612f2e57612f2e612fa5565b6000190192915050565b600181811c90821680612f4c57607f821691505b60208210811415612ecf57634e487b7160e01b600052602260045260246000fd5b600061ffff80831681811415612f8557612f85612fa5565b6001019392505050565b600063ffffffff80831681811415612f8557612f855b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fdfee28434228950b641dbbc0178de89daa359a87c6ee0d8399aeace52a98fe902b9b19546dff01e856fb3f010c267a7b1c60363cf8a4664e21cc89c26224620214e68e79a7bf1e0bc45d0a330c573bc367f9cf464fd326078812f301165fbda4ef1a2646970667358221220c0ebb35bb4872b671cc643bb1978cea6ca6f2d2c34d101c9d38589b83a36929164736f6c63430008070033e28434228950b641dbbc0178de89daa359a87c6ee0d8399aeace52a98fe902b9b19546dff01e856fb3f010c267a7b1c60363cf8a4664e21cc89c26224620214e", + "deployedBytecode": "0x60806040526004361061021e5760003560e01c806379cc679011610123578063a9059cbb116100ab578063da4baecb1161006f578063da4baecb14610669578063dd62ed3e14610689578063e5690a99146106a9578063e58378bb146106c9578063ff3e34a5146106eb57600080fd5b8063a9059cbb146105c7578063c0bcfe9c146105e7578063c79445d014610607578063cb5aa7e914610629578063d547741f1461064957600080fd5b806395d89b41116100f257806395d89b411461052d578063a217fddf14610542578063a457c2d714610557578063a6f9dae114610577578063a7bf70b91461059757600080fd5b806379cc6790146104b85780638456cb59146104d85780638c70c3bd146104ed57806391d148541461050d57600080fd5b8063313ce567116101a657806340884c521161017557806340884c521461040857806342966c681461042a5780634fdcaca61461044a5780635c975abb1461046a57806370a082311461048257600080fd5b8063313ce5671461039757806336568abe146103b357806339509351146103d35780633f4ba83a146103f357600080fd5b806310d3d22e116101ed57806310d3d22e146102d457806318160ddd1461031057806323b872dd14610325578063248a9ca3146103455780632f2ff15d1461037557600080fd5b806301ffc9a71461022d57806306fdde031461026257806307e2cea514610284578063095ea7b3146102b457600080fd5b3661022857600080fd5b600080fd5b34801561023957600080fd5b5061024d610248366004612a89565b61070b565b60405190151581526020015b60405180910390f35b34801561026e57600080fd5b50610277610742565b6040516102599190612cf2565b34801561029057600080fd5b506102a660008051602061303e83398151915281565b604051908152602001610259565b3480156102c057600080fd5b5061024d6102cf3660046129cc565b6107d4565b3480156102e057600080fd5b506102f46102ef366004612942565b6107ec565b60408051921515835263ffffffff909116602083015201610259565b34801561031c57600080fd5b506002546102a6565b34801561033157600080fd5b5061024d610340366004612990565b610843565b34801561035157600080fd5b506102a6610360366004612a4d565b60009081526006602052604090206001015490565b34801561038157600080fd5b50610395610390366004612a66565b610867565b005b3480156103a357600080fd5b5060405160098152602001610259565b3480156103bf57600080fd5b506103956103ce366004612a66565b610891565b3480156103df57600080fd5b5061024d6103ee3660046129cc565b61090f565b3480156103ff57600080fd5b50610395610931565b34801561041457600080fd5b5061041d61095c565b6040516102599190612c78565b34801561043657600080fd5b50610395610445366004612a4d565b6109bd565b34801561045657600080fd5b50610395610465366004612942565b6109c7565b34801561047657600080fd5b5060055460ff1661024d565b34801561048e57600080fd5b506102a661049d366004612942565b6001600160a01b031660009081526020819052604090205490565b3480156104c457600080fd5b506103956104d33660046129cc565b610d1f565b3480156104e457600080fd5b50610395610d34565b3480156104f957600080fd5b50610395610508366004612afc565b610d5c565b34801561051957600080fd5b5061024d610528366004612a66565b610e00565b34801561053957600080fd5b50610277610e2b565b34801561054e57600080fd5b506102a6600081565b34801561056357600080fd5b5061024d6105723660046129cc565b610e3a565b34801561058357600080fd5b50610395610592366004612942565b610eb5565b3480156105a357600080fd5b506105b76105b2366004612ab3565b610efd565b6040516102599493929190612d9e565b3480156105d357600080fd5b5061024d6105e23660046129cc565b611140565b3480156105f357600080fd5b50610395610602366004612942565b61114e565b34801561061357600080fd5b506102a6600080516020612ffe83398151915281565b34801561063557600080fd5b506102f4610644366004612942565b61134a565b34801561065557600080fd5b50610395610664366004612a66565b61139f565b34801561067557600080fd5b506103956106843660046129f6565b6113c4565b34801561069557600080fd5b506102a66106a436600461295d565b6115ae565b3480156106b557600080fd5b506103956106c4366004612942565b6115d9565b3480156106d557600080fd5b506102a660008051602061301e83398151915281565b3480156106f757600080fd5b50610395610706366004612942565b6117e8565b60006001600160e01b03198216637965db0b60e01b148061073c57506301ffc9a760e01b6001600160e01b03198316145b92915050565b60606003805461075190612f38565b80601f016020809104026020016040519081016040528092919081815260200182805461077d90612f38565b80156107ca5780601f1061079f576101008083540402835291602001916107ca565b820191906000526020600020905b8154815290600101906020018083116107ad57829003601f168201915b5050505050905090565b6000336107e2818585611b85565b5060019392505050565b6000806001600160a01b03831661081e5760405162461bcd60e51b815260040161081590612d27565b60405180910390fd5b61083660008051602061303e83398151915284610e00565b6008549094909350915050565b600033610851858285611ca9565b61085c858585611d23565b506001949350505050565b60008281526006602052604090206001015461088281611efc565b61088c8383611f06565b505050565b6001600160a01b03811633146109015760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401610815565b61090b8282611f8c565b5050565b6000336107e281858561092283836115ae565b61092c9190612ddb565b611b85565b600080516020612ffe83398151915261094981611efc565b610951611ff3565b61095961203e565b50565b606060088054806020026020016040519081016040528092919081815260200182805480156107ca57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610996575050505050905090565b6109593382612090565b600080516020612ffe8339815191526109df81611efc565b6001600160a01b038216610a055760405162461bcd60e51b815260040161081590612d27565b600754600364010000000090910463ffffffff1611610a665760405162461bcd60e51b815260206004820152601a60248201527f4d696e696d756d2033206f7261636c65732072657175697265640000000000006044820152606401610815565b6000600283604051602001610a7c929190612c8b565b604051602081830303815290604052805190602001209050610aac60008051602061303e83398151915284610e00565b610af05760405162461bcd60e51b815260206004820152601560248201527413dc9858db19481b9bdd081c9959da5cdd195c9959605a1b6044820152606401610815565b610afe8160018560006121ea565b15610cb257610b1b60008051602061303e83398151915284611f8c565b60078054640100000000900463ffffffff16906004610b3983612f18565b91906101000a81548163ffffffff021916908363ffffffff1602179055505060005b60085461ffff82161015610c6d57836001600160a01b031660088261ffff1681548110610b8a57610b8a612fd1565b6000918252602090912001546001600160a01b03161415610c5b5760088054610bb590600190612e97565b81548110610bc557610bc5612fd1565b600091825260209091200154600880546001600160a01b039092169161ffff8416908110610bf557610bf5612fd1565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055506008805480610c3457610c34612fbb565b600082815260209020810160001990810180546001600160a01b0319169055019055610c6d565b80610c6581612f6d565b915050610b5b565b50604080516001600160a01b0385168152602081018390527fe4d21301551b3d87dc269fc8b9d5a5c1432831c3c321ef19570b8a93a10cb52291015b60405180910390a15b6040805160808082526009908201526831bab9ba37b234b0b760b91b60a082015233602082015260c08183018190526000908201526060810183905290517f3be8840aec3e3998ee1e020dd20a8ea88430534d4e16feeeb1762ea4428464cd9181900360e00190a1505050565b610d2a823383611ca9565b61090b8282612090565b600080516020612ffe833981519152610d4c81611efc565b610d546124b7565b6109596124fd565b610d646124b7565b60038251118015610d7757506040825111155b610db95760405162461bcd60e51b8152602060048201526013602482015272496e76616c69642046494f204164647265737360681b6044820152606401610815565b610dc33382612090565b7fcbc81eff77955b99685533d29441743baaced5a53ed539d634490e5380a8dcf08282604051610df4929190612d05565b60405180910390a15050565b60009182526006602090815260408084206001600160a01b0393909316845291905290205460ff1690565b60606004805461075190612f38565b60003381610e4882866115ae565b905083811015610ea85760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610815565b61085c8286868403611b85565b60008051602061301e833981519152610ecd81611efc565b610ee560008051602061301e83398151915233611f8c565b61090b60008051602061301e83398151915283611f06565b600080600060606000855111610f455760405162461bcd60e51b815260206004820152600d60248201526c125b9d985b1a59081bd89d1a59609a1b6044820152606401610815565b6000600a81610f5388612eae565b815260208101919091526040016000206001015463ffffffff1667ffffffffffffffff811115610f8557610f85612fe7565b604051908082528060200260200182016040528015610fae578160200160208202803683370190505b5090506000805b60085463ffffffff821610156110b257600a6000610fd28a612eae565b8152602001908152602001600020600001600060088363ffffffff1681548110610ffe57610ffe612fd1565b60009182526020808320909101546001600160a01b0316835282019290925260400190205460ff16156110a05760088163ffffffff168154811061104457611044612fd1565b9060005260206000200160009054906101000a90046001600160a01b0316838363ffffffff168151811061107a5761107a612fd1565b6001600160a01b03909216602092830291909101909101528161109c81612f8f565b9250505b806110aa81612f8f565b915050610fb5565b50600a60006110c089612eae565b8152602081019190915260400160009081206001015463ffffffff1690600a906110e98a612eae565b815260200190815260200160002060010160049054906101000a90046001600160a01b0316600a60008a61111c90612eae565b81526020019081526020016000206002015484955095509550955050509193509193565b6000336107e2818585611d23565b600080516020612ffe83398151915261116681611efc565b6001600160a01b03821661118c5760405162461bcd60e51b815260040161081590612d27565b6001600160a01b0382163314156111dc5760405162461bcd60e51b815260206004820152601460248201527321b0b73737ba103932b3b4b9ba32b91039b2b63360611b6044820152606401610815565b60006003836040516020016111f2929190612c8b565b604051602081830303815290604052805190602001209050611222600080516020612ffe83398151915284610e00565b156112645760405162461bcd60e51b8152602060048201526012602482015271105b1c9958591e481c9959da5cdd195c995960721b6044820152606401610815565b6112728160018560006121ea565b15610cb25761128f600080516020612ffe83398151915284611f06565b6007805463ffffffff169060006112a583612f8f565b82546101009290920a63ffffffff81810219909316919092169190910217905550600980546001810182556000919091527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af0180546001600160a01b0319166001600160a01b03851690811790915560408051918252602082018390527f4f4b5dcea44dd9a0d4582de1f0b930ffdd296bd645df66b73ff1795f43e7dc119101610ca9565b6000806001600160a01b0383166113735760405162461bcd60e51b815260040161081590612d27565b61138b600080516020612ffe83398151915284610e00565b600754909463ffffffff9091169350915050565b6000828152600660205260409020600101546113ba81611efc565b61088c8383611f8c565b60008051602061303e8339815191526113dc81611efc565b6113e46124b7565b670de0b6b3a764000083106113f857600080fd5b60008251116114395760405162461bcd60e51b815260206004820152600d60248201526c125b9d985b1a59081bd89d1a59609a1b6044820152606401610815565b6001600160a01b0384166114815760405162461bcd60e51b815260206004820152600f60248201526e125b9d985b1a59081858d8dbdd5b9d608a1b6044820152606401610815565b600754600364010000000090910463ffffffff1610156114e35760405162461bcd60e51b815260206004820152601c60248201527f4f7261636c6573206d7573742062652033206f722067726561746572000000006044820152606401610815565b6000808385876040516020016114fc9493929190612cb1565b60405160208183030381529060405280519060200120905061152181600087876121ea565b1561156c57611530858561253a565b7fbfb8a2f9b4d8e8ed83a83aedac91756186665fbf1f57e39619d757180619bf9885858560405161156393929190612c48565b60405180910390a15b7f3be8840aec3e3998ee1e020dd20a8ea88430534d4e16feeeb1762ea4428464cd33848360405161159f93929190612d50565b60405180910390a15050505050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b600080516020612ffe8339815191526115f181611efc565b6001600160a01b0382166116175760405162461bcd60e51b815260040161081590612d27565b6001600160a01b0382163314156116675760405162461bcd60e51b815260206004820152601460248201527321b0b73737ba103932b3b4b9ba32b91039b2b63360611b6044820152606401610815565b61167f60008051602061303e83398151915283610e00565b156116cc5760405162461bcd60e51b815260206004820152601960248201527f4f7261636c6520616c72656164792072656769737465726564000000000000006044820152606401610815565b60006001836040516020016116e2929190612c8b565b6040516020818303038152906040528051906020012090506117088160018560006121ea565b15610cb25761172560008051602061303e83398151915284611f06565b60078054640100000000900463ffffffff1690600461174383612f8f565b82546101009290920a63ffffffff81810219909316919092169190910217905550600880546001810182556000919091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30180546001600160a01b0319166001600160a01b03851690811790915560408051918252602082018390527ffde1904d2f36e8247a68b76a38b2dc6908f769438b6bb8f173ee39a2c01f2b589101610ca9565b600080516020612ffe83398151915261180081611efc565b6001600160a01b0382166118265760405162461bcd60e51b815260040161081590612d27565b61183e600080516020612ffe83398151915283610e00565b61188a5760405162461bcd60e51b815260206004820152601860248201527f437573746f6469616e206e6f74207265676973746572656400000000000000006044820152606401610815565b6007805463ffffffff16116118e15760405162461bcd60e51b815260206004820152601960248201527f4d75737420636f6e7461696e203720637573746f6469616e73000000000000006044820152606401610815565b60006004836040516020016118f7929190612c8b565b604051602081830303815290604052805190602001209050611927600080516020612ffe83398151915284610e00565b61196a5760405162461bcd60e51b8152602060048201526014602482015273105b1c9958591e481d5b9c9959da5cdd195c995960621b6044820152606401610815565b6119788160018560006121ea565b15610cb257611995600080516020612ffe83398151915284611f8c565b6007805463ffffffff169060006119ab83612f18565b91906101000a81548163ffffffff021916908363ffffffff1602179055505060005b60095461ffff82161015611adf57836001600160a01b031660098261ffff16815481106119fc576119fc612fd1565b6000918252602090912001546001600160a01b03161415611acd5760098054611a2790600190612e97565b81548110611a3757611a37612fd1565b600091825260209091200154600980546001600160a01b039092169161ffff8416908110611a6757611a67612fd1565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055506009805480611aa657611aa6612fbb565b600082815260209020810160001990810180546001600160a01b0319169055019055611adf565b80611ad781612f6d565b9150506119cd565b50604080516001600160a01b0385168152602081018390527f0cf142c25ce5b399a7953be52d40c8596def04c010697715ab9c72f4962d1a2d9101610ca9565b60055460ff161561088c5760405162461bcd60e51b815260206004820152602a60248201527f45524332305061757361626c653a20746f6b656e207472616e736665722077686044820152691a5b19481c185d5cd95960b21b6064820152608401610815565b6001600160a01b038316611be75760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610815565b6001600160a01b038216611c485760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610815565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000611cb584846115ae565b90506000198114611d1d5781811015611d105760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610815565b611d1d8484848403611b85565b50505050565b6001600160a01b038316611d875760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610815565b6001600160a01b038216611de95760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610815565b611df4838383612625565b6001600160a01b03831660009081526020819052604090205481811015611e6c5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610815565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290611ea3908490612ddb565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611eef91815260200190565b60405180910390a3611d1d565b6109598133612689565b611f108282610e00565b61090b5760008281526006602090815260408083206001600160a01b03851684529091529020805460ff19166001179055611f483390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b611f968282610e00565b1561090b5760008281526006602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b60055460ff1661203c5760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152606401610815565b565b612046611ff3565b6005805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b6001600160a01b0382166120f05760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610815565b6120fc82600083612625565b6001600160a01b038216600090815260208190526040902054818110156121705760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610815565b6001600160a01b038316600090815260208190526040812083830390556002805484929061219f908490612e97565b90915550506040518281526000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3505050565b6000848152600a602052604081206003015460ff161561224c5760405162461bcd60e51b815260206004820152601960248201527f417070726f76616c20616c726561647920636f6d706c657465000000000000006044820152606401610815565b600754640100000000900463ffffffff1660ff851660011415612298576007546003906122809063ffffffff166002612e6b565b61228a9190612e1b565b612295906001612df3565b90505b6000868152600a602052604090206001015463ffffffff166122f1576000868152600a60205260409020600281018490556001018054640100000000600160c01b0319166401000000006001600160a01b038716021790555b6000868152600a602052604090206001015463ffffffff80831691161015612497576000868152600a6020908152604080832033845290915290205460ff161561238b5760405162461bcd60e51b815260206004820152602560248201527f6f7261636c652068617320616c726561647920617070726f7665642074686973604482015264040d0c2e6d60db1b6064820152608401610815565b6000868152600a60208181526040808420338552808352908420805460ff191660019081179091558a85529290915201805463ffffffff16916123cd83612f8f565b82546101009290920a63ffffffff8181021990931691831602179091556000888152600a60205260409020600101548382169116109050612497576000868152600a6020908152604080832033845290915290205460ff166124715760405162461bcd60e51b815260206004820181905260248201527f416e20617070726f76696e67206f7261636c65206d75737420657865637574656044820152606401610815565b50506000848152600a60205260409020600301805460ff191660019081179091556124af565b50506000848152600a602052604090206003015460ff165b949350505050565b60055460ff161561203c5760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610815565b6125056124b7565b6005805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586120733390565b6001600160a01b0382166125905760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610815565b61259c60008383612625565b80600260008282546125ae9190612ddb565b90915550506001600160a01b038216600090815260208190526040812080548392906125db908490612ddb565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b6001600160a01b03821630141561267e5760405162461bcd60e51b815260206004820152601e60248201527f436f6e74726163742063616e6e6f74207265636569766520746f6b656e7300006044820152606401610815565b61088c838383611b1f565b6126938282610e00565b61090b576126ab816001600160a01b031660146126ed565b6126b68360206126ed565b6040516020016126c7929190612bd3565b60408051601f198184030181529082905262461bcd60e51b825261081591600401612cf2565b606060006126fc836002612e4c565b612707906002612ddb565b67ffffffffffffffff81111561271f5761271f612fe7565b6040519080825280601f01601f191660200182016040528015612749576020820181803683370190505b509050600360fc1b8160008151811061276457612764612fd1565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061279357612793612fd1565b60200101906001600160f81b031916908160001a90535060006127b7846002612e4c565b6127c2906001612ddb565b90505b600181111561283a576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106127f6576127f6612fd1565b1a60f81b82828151811061280c5761280c612fd1565b60200101906001600160f81b031916908160001a90535060049490941c9361283381612f01565b90506127c5565b5083156128895760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610815565b9392505050565b600067ffffffffffffffff808411156128ab576128ab612fe7565b604051601f8501601f19908116603f011681019082821181831017156128d3576128d3612fe7565b816040528093508581528686860111156128ec57600080fd5b858560208301376000602087830101525050509392505050565b80356001600160a01b038116811461291d57600080fd5b919050565b600082601f83011261293357600080fd5b61288983833560208501612890565b60006020828403121561295457600080fd5b61288982612906565b6000806040838503121561297057600080fd5b61297983612906565b915061298760208401612906565b90509250929050565b6000806000606084860312156129a557600080fd5b6129ae84612906565b92506129bc60208501612906565b9150604084013590509250925092565b600080604083850312156129df57600080fd5b6129e883612906565b946020939093013593505050565b600080600060608486031215612a0b57600080fd5b612a1484612906565b925060208401359150604084013567ffffffffffffffff811115612a3757600080fd5b612a4386828701612922565b9150509250925092565b600060208284031215612a5f57600080fd5b5035919050565b60008060408385031215612a7957600080fd5b8235915061298760208401612906565b600060208284031215612a9b57600080fd5b81356001600160e01b03198116811461288957600080fd5b600060208284031215612ac557600080fd5b813567ffffffffffffffff811115612adc57600080fd5b8201601f81018413612aed57600080fd5b6124af84823560208401612890565b60008060408385031215612b0f57600080fd5b823567ffffffffffffffff811115612b2657600080fd5b612b3285828601612922565b95602094909401359450505050565b600081518084526020808501945080840160005b83811015612b7a5781516001600160a01b031687529582019590820190600101612b55565b509495945050505050565b60058110612ba357634e487b7160e01b600052602160045260246000fd5b9052565b60008151808452612bbf816020860160208601612ed5565b601f01601f19169290920160200192915050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351612c0b816017850160208801612ed5565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351612c3c816028840160208801612ed5565b01602801949350505050565b60018060a01b0384168152826020820152606060408201526000612c6f6060830184612ba7565b95945050505050565b6020815260006128896020830184612b41565b60408101612c998285612b85565b6001600160a01b039290921660209190910152919050565b612cbb8186612b85565b608060208201526000612cd16080830186612ba7565b6040830194909452506001600160a01b039190911660609091015292915050565b6020815260006128896020830184612ba7565b604081526000612d186040830185612ba7565b90508260208301529392505050565b6020808252600f908201526e496e76616c6964206164647265737360881b604082015260600190565b6080815260066080820152656f7261636c6560d01b60a082015260018060a01b038416602082015260c060408201526000612d8e60c0830185612ba7565b9050826060830152949350505050565b63ffffffff8516815260018060a01b0384166020820152826040820152608060608201526000612dd16080830184612b41565b9695505050505050565b60008219821115612dee57612dee612fa5565b500190565b600063ffffffff808316818516808303821115612e1257612e12612fa5565b01949350505050565b600063ffffffff80841680612e4057634e487b7160e01b600052601260045260246000fd5b92169190910492915050565b6000816000190483118215151615612e6657612e66612fa5565b500290565b600063ffffffff80831681851681830481118215151615612e8e57612e8e612fa5565b02949350505050565b600082821015612ea957612ea9612fa5565b500390565b80516020808301519190811015612ecf576000198160200360031b1b821691505b50919050565b60005b83811015612ef0578181015183820152602001612ed8565b83811115611d1d5750506000910152565b600081612f1057612f10612fa5565b506000190190565b600063ffffffff821680612f2e57612f2e612fa5565b6000190192915050565b600181811c90821680612f4c57607f821691505b60208210811415612ecf57634e487b7160e01b600052602260045260246000fd5b600061ffff80831681811415612f8557612f85612fa5565b6001019392505050565b600063ffffffff80831681811415612f8557612f855b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fdfee28434228950b641dbbc0178de89daa359a87c6ee0d8399aeace52a98fe902b9b19546dff01e856fb3f010c267a7b1c60363cf8a4664e21cc89c26224620214e68e79a7bf1e0bc45d0a330c573bc367f9cf464fd326078812f301165fbda4ef1a2646970667358221220c0ebb35bb4872b671cc643bb1978cea6ca6f2d2c34d101c9d38589b83a36929164736f6c63430008070033", "immutableReferences": {}, "generatedSources": [ { @@ -4534,7 +4552,7 @@ { "ast": { "nodeType": "YulBlock", - "src": "0:26529:13", + "src": "0:26755:13", "statements": [ { "nodeType": "YulBlock", @@ -8028,12 +8046,447 @@ { "body": { "nodeType": "YulBlock", - "src": "4394:186:13", + "src": "4401:400:13", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "4411:26:13", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4431:5:13" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "4425:5:13" + }, + "nodeType": "YulFunctionCall", + "src": "4425:12:13" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "4415:6:13", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4453:3:13" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "4458:6:13" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4446:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "4446:19:13" + }, + "nodeType": "YulExpressionStatement", + "src": "4446:19:13" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "4474:14:13", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4484:4:13", + "type": "", + "value": "0x20" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "4478:2:13", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "4497:19:13", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4508:3:13" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "4513:2:13" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4504:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "4504:12:13" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4497:3:13" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "4525:28:13", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4543:5:13" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "4550:2:13" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4539:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "4539:14:13" + }, + "variables": [ + { + "name": "srcPtr", + "nodeType": "YulTypedName", + "src": "4529:6:13", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "4562:10:13", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4571:1:13", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "4566:1:13", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4630:146:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4651:3:13" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "4666:6:13" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "4660:5:13" + }, + "nodeType": "YulFunctionCall", + "src": "4660:13:13" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4683:3:13", + "type": "", + "value": "160" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4688:1:13", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "4679:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "4679:11:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4692:1:13", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "4675:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "4675:19:13" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "4656:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "4656:39:13" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4644:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "4644:52:13" + }, + "nodeType": "YulExpressionStatement", + "src": "4644:52:13" + }, + { + "nodeType": "YulAssignment", + "src": "4709:19:13", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4720:3:13" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "4725:2:13" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4716:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "4716:12:13" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4709:3:13" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "4741:25:13", + "value": { + "arguments": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "4755:6:13" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "4763:2:13" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4751:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "4751:15:13" + }, + "variableNames": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "4741:6:13" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "4592:1:13" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "4595:6:13" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "4589:2:13" + }, + "nodeType": "YulFunctionCall", + "src": "4589:13:13" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "4603:18:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "4605:14:13", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "4614:1:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4617:1:13", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4610:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "4610:9:13" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "4605:1:13" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "4585:3:13", + "statements": [] + }, + "src": "4581:195:13" + }, + { + "nodeType": "YulAssignment", + "src": "4785:10:13", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4792:3:13" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "4785:3:13" + } + ] + } + ] + }, + "name": "abi_encode_array_address_dyn", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "4378:5:13", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "4385:3:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "4393:3:13", + "type": "" + } + ], + "src": "4340:461:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4860:186:13", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "4436:111:13", + "src": "4902:111:13", "statements": [ { "expression": { @@ -8041,7 +8494,7 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "4457:1:13", + "src": "4923:1:13", "type": "", "value": "0" }, @@ -8050,14 +8503,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "4464:3:13", + "src": "4930:3:13", "type": "", "value": "224" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "4469:10:13", + "src": "4935:10:13", "type": "", "value": "0x4e487b71" } @@ -8065,22 +8518,22 @@ "functionName": { "name": "shl", "nodeType": "YulIdentifier", - "src": "4460:3:13" + "src": "4926:3:13" }, "nodeType": "YulFunctionCall", - "src": "4460:20:13" + "src": "4926:20:13" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "4450:6:13" + "src": "4916:6:13" }, "nodeType": "YulFunctionCall", - "src": "4450:31:13" + "src": "4916:31:13" }, "nodeType": "YulExpressionStatement", - "src": "4450:31:13" + "src": "4916:31:13" }, { "expression": { @@ -8088,14 +8541,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "4501:1:13", + "src": "4967:1:13", "type": "", "value": "4" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "4504:4:13", + "src": "4970:4:13", "type": "", "value": "0x21" } @@ -8103,13 +8556,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "4494:6:13" + "src": "4960:6:13" }, "nodeType": "YulFunctionCall", - "src": "4494:15:13" + "src": "4960:15:13" }, "nodeType": "YulExpressionStatement", - "src": "4494:15:13" + "src": "4960:15:13" }, { "expression": { @@ -8117,14 +8570,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "4529:1:13", + "src": "4995:1:13", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "4532:4:13", + "src": "4998:4:13", "type": "", "value": "0x24" } @@ -8132,13 +8585,13 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "4522:6:13" + "src": "4988:6:13" }, "nodeType": "YulFunctionCall", - "src": "4522:15:13" + "src": "4988:15:13" }, "nodeType": "YulExpressionStatement", - "src": "4522:15:13" + "src": "4988:15:13" } ] }, @@ -8149,12 +8602,12 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "4417:5:13" + "src": "4883:5:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "4424:1:13", + "src": "4890:1:13", "type": "", "value": "5" } @@ -8162,22 +8615,22 @@ "functionName": { "name": "lt", "nodeType": "YulIdentifier", - "src": "4414:2:13" + "src": "4880:2:13" }, "nodeType": "YulFunctionCall", - "src": "4414:12:13" + "src": "4880:12:13" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "4407:6:13" + "src": "4873:6:13" }, "nodeType": "YulFunctionCall", - "src": "4407:20:13" + "src": "4873:20:13" }, "nodeType": "YulIf", - "src": "4404:143:13" + "src": "4870:143:13" }, { "expression": { @@ -8185,24 +8638,24 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "4563:3:13" + "src": "5029:3:13" }, { "name": "value", "nodeType": "YulIdentifier", - "src": "4568:5:13" + "src": "5034:5:13" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "4556:6:13" + "src": "5022:6:13" }, "nodeType": "YulFunctionCall", - "src": "4556:18:13" + "src": "5022:18:13" }, "nodeType": "YulExpressionStatement", - "src": "4556:18:13" + "src": "5022:18:13" } ] }, @@ -8212,47 +8665,47 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "4378:5:13", + "src": "4844:5:13", "type": "" }, { "name": "pos", "nodeType": "YulTypedName", - "src": "4385:3:13", + "src": "4851:3:13", "type": "" } ], - "src": "4340:240:13" + "src": "4806:240:13" }, { "body": { "nodeType": "YulBlock", - "src": "4635:208:13", + "src": "5101:208:13", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "4645:26:13", + "src": "5111:26:13", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "4665:5:13" + "src": "5131:5:13" } ], "functionName": { "name": "mload", "nodeType": "YulIdentifier", - "src": "4659:5:13" + "src": "5125:5:13" }, "nodeType": "YulFunctionCall", - "src": "4659:12:13" + "src": "5125:12:13" }, "variables": [ { "name": "length", "nodeType": "YulTypedName", - "src": "4649:6:13", + "src": "5115:6:13", "type": "" } ] @@ -8263,24 +8716,24 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "4687:3:13" + "src": "5153:3:13" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "4692:6:13" + "src": "5158:6:13" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "4680:6:13" + "src": "5146:6:13" }, "nodeType": "YulFunctionCall", - "src": "4680:19:13" + "src": "5146:19:13" }, "nodeType": "YulExpressionStatement", - "src": "4680:19:13" + "src": "5146:19:13" }, { "expression": { @@ -8290,12 +8743,12 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "4734:5:13" + "src": "5200:5:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "4741:4:13", + "src": "5207:4:13", "type": "", "value": "0x20" } @@ -8303,22 +8756,22 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "4730:3:13" + "src": "5196:3:13" }, "nodeType": "YulFunctionCall", - "src": "4730:16:13" + "src": "5196:16:13" }, { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "4752:3:13" + "src": "5218:3:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "4757:4:13", + "src": "5223:4:13", "type": "", "value": "0x20" } @@ -8326,31 +8779,31 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "4748:3:13" + "src": "5214:3:13" }, "nodeType": "YulFunctionCall", - "src": "4748:14:13" + "src": "5214:14:13" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "4764:6:13" + "src": "5230:6:13" } ], "functionName": { "name": "copy_memory_to_memory", "nodeType": "YulIdentifier", - "src": "4708:21:13" + "src": "5174:21:13" }, "nodeType": "YulFunctionCall", - "src": "4708:63:13" + "src": "5174:63:13" }, "nodeType": "YulExpressionStatement", - "src": "4708:63:13" + "src": "5174:63:13" }, { "nodeType": "YulAssignment", - "src": "4780:57:13", + "src": "5246:57:13", "value": { "arguments": [ { @@ -8358,7 +8811,7 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "4795:3:13" + "src": "5261:3:13" }, { "arguments": [ @@ -8367,12 +8820,12 @@ { "name": "length", "nodeType": "YulIdentifier", - "src": "4808:6:13" + "src": "5274:6:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "4816:2:13", + "src": "5282:2:13", "type": "", "value": "31" } @@ -8380,17 +8833,17 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "4804:3:13" + "src": "5270:3:13" }, "nodeType": "YulFunctionCall", - "src": "4804:15:13" + "src": "5270:15:13" }, { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", - "src": "4825:2:13", + "src": "5291:2:13", "type": "", "value": "31" } @@ -8398,33 +8851,33 @@ "functionName": { "name": "not", "nodeType": "YulIdentifier", - "src": "4821:3:13" + "src": "5287:3:13" }, "nodeType": "YulFunctionCall", - "src": "4821:7:13" + "src": "5287:7:13" } ], "functionName": { "name": "and", "nodeType": "YulIdentifier", - "src": "4800:3:13" + "src": "5266:3:13" }, "nodeType": "YulFunctionCall", - "src": "4800:29:13" + "src": "5266:29:13" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "4791:3:13" + "src": "5257:3:13" }, "nodeType": "YulFunctionCall", - "src": "4791:39:13" + "src": "5257:39:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "4832:4:13", + "src": "5298:4:13", "type": "", "value": "0x20" } @@ -8432,16 +8885,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "4787:3:13" + "src": "5253:3:13" }, "nodeType": "YulFunctionCall", - "src": "4787:50:13" + "src": "5253:50:13" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "4780:3:13" + "src": "5246:3:13" } ] } @@ -8453,13 +8906,13 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "4612:5:13", + "src": "5078:5:13", "type": "" }, { "name": "pos", "nodeType": "YulTypedName", - "src": "4619:3:13", + "src": "5085:3:13", "type": "" } ], @@ -8467,16 +8920,16 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "4627:3:13", + "src": "5093:3:13", "type": "" } ], - "src": "4585:258:13" + "src": "5051:258:13" }, { "body": { "nodeType": "YulBlock", - "src": "5237:397:13", + "src": "5703:397:13", "statements": [ { "expression": { @@ -8484,13 +8937,13 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "5254:3:13" + "src": "5720:3:13" }, { "hexValue": "416363657373436f6e74726f6c3a206163636f756e7420", "kind": "string", "nodeType": "YulLiteral", - "src": "5259:25:13", + "src": "5725:25:13", "type": "", "value": "AccessControl: account " } @@ -8498,38 +8951,38 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "5247:6:13" + "src": "5713:6:13" }, "nodeType": "YulFunctionCall", - "src": "5247:38:13" + "src": "5713:38:13" }, "nodeType": "YulExpressionStatement", - "src": "5247:38:13" + "src": "5713:38:13" }, { "nodeType": "YulVariableDeclaration", - "src": "5294:27:13", + "src": "5760:27:13", "value": { "arguments": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "5314:6:13" + "src": "5780:6:13" } ], "functionName": { "name": "mload", "nodeType": "YulIdentifier", - "src": "5308:5:13" + "src": "5774:5:13" }, "nodeType": "YulFunctionCall", - "src": "5308:13:13" + "src": "5774:13:13" }, "variables": [ { "name": "length", "nodeType": "YulTypedName", - "src": "5298:6:13", + "src": "5764:6:13", "type": "" } ] @@ -8542,12 +8995,12 @@ { "name": "value0", "nodeType": "YulIdentifier", - "src": "5356:6:13" + "src": "5822:6:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "5364:4:13", + "src": "5830:4:13", "type": "", "value": "0x20" } @@ -8555,22 +9008,22 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "5352:3:13" + "src": "5818:3:13" }, "nodeType": "YulFunctionCall", - "src": "5352:17:13" + "src": "5818:17:13" }, { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "5375:3:13" + "src": "5841:3:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "5380:2:13", + "src": "5846:2:13", "type": "", "value": "23" } @@ -8578,57 +9031,57 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "5371:3:13" + "src": "5837:3:13" }, "nodeType": "YulFunctionCall", - "src": "5371:12:13" + "src": "5837:12:13" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "5385:6:13" + "src": "5851:6:13" } ], "functionName": { "name": "copy_memory_to_memory", "nodeType": "YulIdentifier", - "src": "5330:21:13" + "src": "5796:21:13" }, "nodeType": "YulFunctionCall", - "src": "5330:62:13" + "src": "5796:62:13" }, "nodeType": "YulExpressionStatement", - "src": "5330:62:13" + "src": "5796:62:13" }, { "nodeType": "YulVariableDeclaration", - "src": "5401:26:13", + "src": "5867:26:13", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "5415:3:13" + "src": "5881:3:13" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "5420:6:13" + "src": "5886:6:13" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "5411:3:13" + "src": "5877:3:13" }, "nodeType": "YulFunctionCall", - "src": "5411:16:13" + "src": "5877:16:13" }, "variables": [ { "name": "_1", "nodeType": "YulTypedName", - "src": "5405:2:13", + "src": "5871:2:13", "type": "" } ] @@ -8641,12 +9094,12 @@ { "name": "_1", "nodeType": "YulIdentifier", - "src": "5447:2:13" + "src": "5913:2:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "5451:2:13", + "src": "5917:2:13", "type": "", "value": "23" } @@ -8654,16 +9107,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "5443:3:13" + "src": "5909:3:13" }, "nodeType": "YulFunctionCall", - "src": "5443:11:13" + "src": "5909:11:13" }, { "hexValue": "206973206d697373696e6720726f6c6520", "kind": "string", "nodeType": "YulLiteral", - "src": "5456:19:13", + "src": "5922:19:13", "type": "", "value": " is missing role " } @@ -8671,38 +9124,38 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "5436:6:13" + "src": "5902:6:13" }, "nodeType": "YulFunctionCall", - "src": "5436:40:13" + "src": "5902:40:13" }, "nodeType": "YulExpressionStatement", - "src": "5436:40:13" + "src": "5902:40:13" }, { "nodeType": "YulVariableDeclaration", - "src": "5485:29:13", + "src": "5951:29:13", "value": { "arguments": [ { "name": "value1", "nodeType": "YulIdentifier", - "src": "5507:6:13" + "src": "5973:6:13" } ], "functionName": { "name": "mload", "nodeType": "YulIdentifier", - "src": "5501:5:13" + "src": "5967:5:13" }, "nodeType": "YulFunctionCall", - "src": "5501:13:13" + "src": "5967:13:13" }, "variables": [ { "name": "length_1", "nodeType": "YulTypedName", - "src": "5489:8:13", + "src": "5955:8:13", "type": "" } ] @@ -8715,12 +9168,12 @@ { "name": "value1", "nodeType": "YulIdentifier", - "src": "5549:6:13" + "src": "6015:6:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "5557:4:13", + "src": "6023:4:13", "type": "", "value": "0x20" } @@ -8728,22 +9181,22 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "5545:3:13" + "src": "6011:3:13" }, "nodeType": "YulFunctionCall", - "src": "5545:17:13" + "src": "6011:17:13" }, { "arguments": [ { "name": "_1", "nodeType": "YulIdentifier", - "src": "5568:2:13" + "src": "6034:2:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "5572:2:13", + "src": "6038:2:13", "type": "", "value": "40" } @@ -8751,31 +9204,31 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "5564:3:13" + "src": "6030:3:13" }, "nodeType": "YulFunctionCall", - "src": "5564:11:13" + "src": "6030:11:13" }, { "name": "length_1", "nodeType": "YulIdentifier", - "src": "5577:8:13" + "src": "6043:8:13" } ], "functionName": { "name": "copy_memory_to_memory", "nodeType": "YulIdentifier", - "src": "5523:21:13" + "src": "5989:21:13" }, "nodeType": "YulFunctionCall", - "src": "5523:63:13" + "src": "5989:63:13" }, "nodeType": "YulExpressionStatement", - "src": "5523:63:13" + "src": "5989:63:13" }, { "nodeType": "YulAssignment", - "src": "5595:33:13", + "src": "6061:33:13", "value": { "arguments": [ { @@ -8783,26 +9236,26 @@ { "name": "_1", "nodeType": "YulIdentifier", - "src": "5610:2:13" + "src": "6076:2:13" }, { "name": "length_1", "nodeType": "YulIdentifier", - "src": "5614:8:13" + "src": "6080:8:13" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "5606:3:13" + "src": "6072:3:13" }, "nodeType": "YulFunctionCall", - "src": "5606:17:13" + "src": "6072:17:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "5625:2:13", + "src": "6091:2:13", "type": "", "value": "40" } @@ -8810,16 +9263,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "5602:3:13" + "src": "6068:3:13" }, "nodeType": "YulFunctionCall", - "src": "5602:26:13" + "src": "6068:26:13" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "5595:3:13" + "src": "6061:3:13" } ] } @@ -8831,19 +9284,19 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "5205:3:13", + "src": "5671:3:13", "type": "" }, { "name": "value1", "nodeType": "YulTypedName", - "src": "5210:6:13", + "src": "5676:6:13", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", - "src": "5218:6:13", + "src": "5684:6:13", "type": "" } ], @@ -8851,31 +9304,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "5229:3:13", + "src": "5695:3:13", "type": "" } ], - "src": "4848:786:13" + "src": "5314:786:13" }, { "body": { "nodeType": "YulBlock", - "src": "5740:102:13", + "src": "6206:102:13", "statements": [ { "nodeType": "YulAssignment", - "src": "5750:26:13", + "src": "6216:26:13", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "5762:9:13" + "src": "6228:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "5773:2:13", + "src": "6239:2:13", "type": "", "value": "32" } @@ -8883,16 +9336,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "5758:3:13" + "src": "6224:3:13" }, "nodeType": "YulFunctionCall", - "src": "5758:18:13" + "src": "6224:18:13" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "5750:4:13" + "src": "6216:4:13" } ] }, @@ -8902,14 +9355,14 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "5792:9:13" + "src": "6258:9:13" }, { "arguments": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "5807:6:13" + "src": "6273:6:13" }, { "arguments": [ @@ -8918,14 +9371,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "5823:3:13", + "src": "6289:3:13", "type": "", "value": "160" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "5828:1:13", + "src": "6294:1:13", "type": "", "value": "1" } @@ -8933,15 +9386,15 @@ "functionName": { "name": "shl", "nodeType": "YulIdentifier", - "src": "5819:3:13" + "src": "6285:3:13" }, "nodeType": "YulFunctionCall", - "src": "5819:11:13" + "src": "6285:11:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "5832:1:13", + "src": "6298:1:13", "type": "", "value": "1" } @@ -8949,31 +9402,31 @@ "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "5815:3:13" + "src": "6281:3:13" }, "nodeType": "YulFunctionCall", - "src": "5815:19:13" + "src": "6281:19:13" } ], "functionName": { "name": "and", "nodeType": "YulIdentifier", - "src": "5803:3:13" + "src": "6269:3:13" }, "nodeType": "YulFunctionCall", - "src": "5803:32:13" + "src": "6269:32:13" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "5785:6:13" + "src": "6251:6:13" }, "nodeType": "YulFunctionCall", - "src": "5785:51:13" + "src": "6251:51:13" }, "nodeType": "YulExpressionStatement", - "src": "5785:51:13" + "src": "6251:51:13" } ] }, @@ -8983,13 +9436,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "5709:9:13", + "src": "6175:9:13", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", - "src": "5720:6:13", + "src": "6186:6:13", "type": "" } ], @@ -8997,31 +9450,31 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "5731:4:13", + "src": "6197:4:13", "type": "" } ], - "src": "5639:203:13" + "src": "6105:203:13" }, { "body": { "nodeType": "YulBlock", - "src": "5976:145:13", + "src": "6442:145:13", "statements": [ { "nodeType": "YulAssignment", - "src": "5986:26:13", + "src": "6452:26:13", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "5998:9:13" + "src": "6464:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "6009:2:13", + "src": "6475:2:13", "type": "", "value": "64" } @@ -9029,16 +9482,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "5994:3:13" + "src": "6460:3:13" }, "nodeType": "YulFunctionCall", - "src": "5994:18:13" + "src": "6460:18:13" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "5986:4:13" + "src": "6452:4:13" } ] }, @@ -9048,14 +9501,14 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "6028:9:13" + "src": "6494:9:13" }, { "arguments": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "6043:6:13" + "src": "6509:6:13" }, { "arguments": [ @@ -9064,14 +9517,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "6059:3:13", + "src": "6525:3:13", "type": "", "value": "160" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "6064:1:13", + "src": "6530:1:13", "type": "", "value": "1" } @@ -9079,15 +9532,15 @@ "functionName": { "name": "shl", "nodeType": "YulIdentifier", - "src": "6055:3:13" + "src": "6521:3:13" }, "nodeType": "YulFunctionCall", - "src": "6055:11:13" + "src": "6521:11:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "6068:1:13", + "src": "6534:1:13", "type": "", "value": "1" } @@ -9095,31 +9548,31 @@ "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "6051:3:13" + "src": "6517:3:13" }, "nodeType": "YulFunctionCall", - "src": "6051:19:13" + "src": "6517:19:13" } ], "functionName": { "name": "and", "nodeType": "YulIdentifier", - "src": "6039:3:13" + "src": "6505:3:13" }, "nodeType": "YulFunctionCall", - "src": "6039:32:13" + "src": "6505:32:13" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "6021:6:13" + "src": "6487:6:13" }, "nodeType": "YulFunctionCall", - "src": "6021:51:13" + "src": "6487:51:13" }, "nodeType": "YulExpressionStatement", - "src": "6021:51:13" + "src": "6487:51:13" }, { "expression": { @@ -9129,12 +9582,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "6092:9:13" + "src": "6558:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "6103:2:13", + "src": "6569:2:13", "type": "", "value": "32" } @@ -9142,27 +9595,27 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "6088:3:13" + "src": "6554:3:13" }, "nodeType": "YulFunctionCall", - "src": "6088:18:13" + "src": "6554:18:13" }, { "name": "value1", "nodeType": "YulIdentifier", - "src": "6108:6:13" + "src": "6574:6:13" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "6081:6:13" + "src": "6547:6:13" }, "nodeType": "YulFunctionCall", - "src": "6081:34:13" + "src": "6547:34:13" }, "nodeType": "YulExpressionStatement", - "src": "6081:34:13" + "src": "6547:34:13" } ] }, @@ -9172,19 +9625,19 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "5937:9:13", + "src": "6403:9:13", "type": "" }, { "name": "value1", "nodeType": "YulTypedName", - "src": "5948:6:13", + "src": "6414:6:13", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", - "src": "5956:6:13", + "src": "6422:6:13", "type": "" } ], @@ -9192,16 +9645,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "5967:4:13", + "src": "6433:4:13", "type": "" } ], - "src": "5847:274:13" + "src": "6313:274:13" }, { "body": { "nodeType": "YulBlock", - "src": "6303:211:13", + "src": "6769:211:13", "statements": [ { "expression": { @@ -9209,14 +9662,14 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "6320:9:13" + "src": "6786:9:13" }, { "arguments": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "6335:6:13" + "src": "6801:6:13" }, { "arguments": [ @@ -9225,14 +9678,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "6351:3:13", + "src": "6817:3:13", "type": "", "value": "160" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "6356:1:13", + "src": "6822:1:13", "type": "", "value": "1" } @@ -9240,15 +9693,15 @@ "functionName": { "name": "shl", "nodeType": "YulIdentifier", - "src": "6347:3:13" + "src": "6813:3:13" }, "nodeType": "YulFunctionCall", - "src": "6347:11:13" + "src": "6813:11:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "6360:1:13", + "src": "6826:1:13", "type": "", "value": "1" } @@ -9256,31 +9709,31 @@ "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "6343:3:13" + "src": "6809:3:13" }, "nodeType": "YulFunctionCall", - "src": "6343:19:13" + "src": "6809:19:13" } ], "functionName": { "name": "and", "nodeType": "YulIdentifier", - "src": "6331:3:13" + "src": "6797:3:13" }, "nodeType": "YulFunctionCall", - "src": "6331:32:13" + "src": "6797:32:13" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "6313:6:13" + "src": "6779:6:13" }, "nodeType": "YulFunctionCall", - "src": "6313:51:13" + "src": "6779:51:13" }, "nodeType": "YulExpressionStatement", - "src": "6313:51:13" + "src": "6779:51:13" }, { "expression": { @@ -9290,12 +9743,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "6384:9:13" + "src": "6850:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "6395:2:13", + "src": "6861:2:13", "type": "", "value": "32" } @@ -9303,27 +9756,27 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "6380:3:13" + "src": "6846:3:13" }, "nodeType": "YulFunctionCall", - "src": "6380:18:13" + "src": "6846:18:13" }, { "name": "value1", "nodeType": "YulIdentifier", - "src": "6400:6:13" + "src": "6866:6:13" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "6373:6:13" + "src": "6839:6:13" }, "nodeType": "YulFunctionCall", - "src": "6373:34:13" + "src": "6839:34:13" }, "nodeType": "YulExpressionStatement", - "src": "6373:34:13" + "src": "6839:34:13" }, { "expression": { @@ -9333,12 +9786,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "6427:9:13" + "src": "6893:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "6438:2:13", + "src": "6904:2:13", "type": "", "value": "64" } @@ -9346,15 +9799,15 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "6423:3:13" + "src": "6889:3:13" }, "nodeType": "YulFunctionCall", - "src": "6423:18:13" + "src": "6889:18:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "6443:2:13", + "src": "6909:2:13", "type": "", "value": "96" } @@ -9362,35 +9815,35 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "6416:6:13" + "src": "6882:6:13" }, "nodeType": "YulFunctionCall", - "src": "6416:30:13" + "src": "6882:30:13" }, "nodeType": "YulExpressionStatement", - "src": "6416:30:13" + "src": "6882:30:13" }, { "nodeType": "YulAssignment", - "src": "6455:53:13", + "src": "6921:53:13", "value": { "arguments": [ { "name": "value2", "nodeType": "YulIdentifier", - "src": "6481:6:13" + "src": "6947:6:13" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "6493:9:13" + "src": "6959:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "6504:2:13", + "src": "6970:2:13", "type": "", "value": "96" } @@ -9398,25 +9851,25 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "6489:3:13" + "src": "6955:3:13" }, "nodeType": "YulFunctionCall", - "src": "6489:18:13" + "src": "6955:18:13" } ], "functionName": { "name": "abi_encode_string", "nodeType": "YulIdentifier", - "src": "6463:17:13" + "src": "6929:17:13" }, "nodeType": "YulFunctionCall", - "src": "6463:45:13" + "src": "6929:45:13" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "6455:4:13" + "src": "6921:4:13" } ] } @@ -9428,25 +9881,25 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "6256:9:13", + "src": "6722:9:13", "type": "" }, { "name": "value2", "nodeType": "YulTypedName", - "src": "6267:6:13", + "src": "6733:6:13", "type": "" }, { "name": "value1", "nodeType": "YulTypedName", - "src": "6275:6:13", + "src": "6741:6:13", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", - "src": "6283:6:13", + "src": "6749:6:13", "type": "" } ], @@ -9454,493 +9907,91 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "6294:4:13", + "src": "6760:4:13", "type": "" } ], - "src": "6126:388:13" + "src": "6592:388:13" }, { "body": { "nodeType": "YulBlock", - "src": "6670:507:13", + "src": "7136:110:13", "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "6680:12:13", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6690:2:13", - "type": "", - "value": "32" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "6684:2:13", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "6701:32:13", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6719:9:13" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "6730:2:13" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6715:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "6715:18:13" - }, - "variables": [ - { - "name": "tail_1", - "nodeType": "YulTypedName", - "src": "6705:6:13", - "type": "" - } - ] - }, { "expression": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "6749:9:13" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "6760:2:13" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6742:6:13" - }, - "nodeType": "YulFunctionCall", - "src": "6742:21:13" - }, - "nodeType": "YulExpressionStatement", - "src": "6742:21:13" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "6772:17:13", - "value": { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "6783:6:13" - }, - "variables": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "6776:3:13", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "6798:27:13", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "6818:6:13" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "6812:5:13" - }, - "nodeType": "YulFunctionCall", - "src": "6812:13:13" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "6802:6:13", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "6841:6:13" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "6849:6:13" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6834:6:13" - }, - "nodeType": "YulFunctionCall", - "src": "6834:22:13" - }, - "nodeType": "YulExpressionStatement", - "src": "6834:22:13" - }, - { - "nodeType": "YulAssignment", - "src": "6865:25:13", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6876:9:13" + "src": "7153:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "6887:2:13", + "src": "7164:2:13", "type": "", - "value": "64" + "value": "32" } ], "functionName": { - "name": "add", + "name": "mstore", "nodeType": "YulIdentifier", - "src": "6872:3:13" + "src": "7146:6:13" }, "nodeType": "YulFunctionCall", - "src": "6872:18:13" + "src": "7146:21:13" }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "6865:3:13" - } - ] + "nodeType": "YulExpressionStatement", + "src": "7146:21:13" }, { - "nodeType": "YulVariableDeclaration", - "src": "6899:29:13", + "nodeType": "YulAssignment", + "src": "7176:64:13", "value": { "arguments": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "6917:6:13" + "src": "7213:6:13" }, { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "6925:2:13" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6913:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "6913:15:13" - }, - "variables": [ - { - "name": "srcPtr", - "nodeType": "YulTypedName", - "src": "6903:6:13", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "6937:10:13", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6946:1:13", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "6941:1:13", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7005:146:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "7026:3:13" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "srcPtr", - "nodeType": "YulIdentifier", - "src": "7041:6:13" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "7035:5:13" - }, - "nodeType": "YulFunctionCall", - "src": "7035:13:13" - }, - { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7058:3:13", - "type": "", - "value": "160" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7063:1:13", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "7054:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "7054:11:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7067:1:13", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "7050:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "7050:19:13" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "7031:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "7031:39:13" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7019:6:13" - }, - "nodeType": "YulFunctionCall", - "src": "7019:52:13" - }, - "nodeType": "YulExpressionStatement", - "src": "7019:52:13" - }, - { - "nodeType": "YulAssignment", - "src": "7084:19:13", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "7095:3:13" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "7100:2:13" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7091:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "7091:12:13" - }, - "variableNames": [ + "arguments": [ { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "7084:3:13" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "7116:25:13", - "value": { - "arguments": [ - { - "name": "srcPtr", - "nodeType": "YulIdentifier", - "src": "7130:6:13" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "7138:2:13" - } - ], - "functionName": { - "name": "add", + "name": "headStart", "nodeType": "YulIdentifier", - "src": "7126:3:13" + "src": "7225:9:13" }, - "nodeType": "YulFunctionCall", - "src": "7126:15:13" - }, - "variableNames": [ { - "name": "srcPtr", - "nodeType": "YulIdentifier", - "src": "7116:6:13" + "kind": "number", + "nodeType": "YulLiteral", + "src": "7236:2:13", + "type": "", + "value": "32" } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "6967:1:13" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "6970:6:13" + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7221:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "7221:18:13" } ], "functionName": { - "name": "lt", + "name": "abi_encode_array_address_dyn", "nodeType": "YulIdentifier", - "src": "6964:2:13" + "src": "7184:28:13" }, "nodeType": "YulFunctionCall", - "src": "6964:13:13" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "6978:18:13", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "6980:14:13", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "6989:1:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6992:1:13", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6985:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "6985:9:13" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "6980:1:13" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "6960:3:13", - "statements": [] - }, - "src": "6956:195:13" - }, - { - "nodeType": "YulAssignment", - "src": "7160:11:13", - "value": { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "7168:3:13" + "src": "7184:56:13" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "7160:4:13" + "src": "7176:4:13" } ] } @@ -9952,13 +10003,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "6639:9:13", + "src": "7105:9:13", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", - "src": "6650:6:13", + "src": "7116:6:13", "type": "" } ], @@ -9966,31 +10017,31 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "6661:4:13", + "src": "7127:4:13", "type": "" } ], - "src": "6519:658:13" + "src": "6985:261:13" }, { "body": { "nodeType": "YulBlock", - "src": "7277:92:13", + "src": "7346:92:13", "statements": [ { "nodeType": "YulAssignment", - "src": "7287:26:13", + "src": "7356:26:13", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "7299:9:13" + "src": "7368:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "7310:2:13", + "src": "7379:2:13", "type": "", "value": "32" } @@ -9998,16 +10049,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "7295:3:13" + "src": "7364:3:13" }, "nodeType": "YulFunctionCall", - "src": "7295:18:13" + "src": "7364:18:13" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "7287:4:13" + "src": "7356:4:13" } ] }, @@ -10017,7 +10068,7 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "7329:9:13" + "src": "7398:9:13" }, { "arguments": [ @@ -10026,37 +10077,37 @@ { "name": "value0", "nodeType": "YulIdentifier", - "src": "7354:6:13" + "src": "7423:6:13" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "7347:6:13" + "src": "7416:6:13" }, "nodeType": "YulFunctionCall", - "src": "7347:14:13" + "src": "7416:14:13" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "7340:6:13" + "src": "7409:6:13" }, "nodeType": "YulFunctionCall", - "src": "7340:22:13" + "src": "7409:22:13" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "7322:6:13" + "src": "7391:6:13" }, "nodeType": "YulFunctionCall", - "src": "7322:41:13" + "src": "7391:41:13" }, "nodeType": "YulExpressionStatement", - "src": "7322:41:13" + "src": "7391:41:13" } ] }, @@ -10066,13 +10117,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "7246:9:13", + "src": "7315:9:13", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", - "src": "7257:6:13", + "src": "7326:6:13", "type": "" } ], @@ -10080,31 +10131,31 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "7268:4:13", + "src": "7337:4:13", "type": "" } ], - "src": "7182:187:13" + "src": "7251:187:13" }, { "body": { "nodeType": "YulBlock", - "src": "7495:152:13", + "src": "7564:152:13", "statements": [ { "nodeType": "YulAssignment", - "src": "7505:26:13", + "src": "7574:26:13", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "7517:9:13" + "src": "7586:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "7528:2:13", + "src": "7597:2:13", "type": "", "value": "64" } @@ -10112,16 +10163,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "7513:3:13" + "src": "7582:3:13" }, "nodeType": "YulFunctionCall", - "src": "7513:18:13" + "src": "7582:18:13" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "7505:4:13" + "src": "7574:4:13" } ] }, @@ -10131,7 +10182,7 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "7547:9:13" + "src": "7616:9:13" }, { "arguments": [ @@ -10140,37 +10191,37 @@ { "name": "value0", "nodeType": "YulIdentifier", - "src": "7572:6:13" + "src": "7641:6:13" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "7565:6:13" + "src": "7634:6:13" }, "nodeType": "YulFunctionCall", - "src": "7565:14:13" + "src": "7634:14:13" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "7558:6:13" + "src": "7627:6:13" }, "nodeType": "YulFunctionCall", - "src": "7558:22:13" + "src": "7627:22:13" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "7540:6:13" + "src": "7609:6:13" }, "nodeType": "YulFunctionCall", - "src": "7540:41:13" + "src": "7609:41:13" }, "nodeType": "YulExpressionStatement", - "src": "7540:41:13" + "src": "7609:41:13" }, { "expression": { @@ -10180,12 +10231,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "7601:9:13" + "src": "7670:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "7612:2:13", + "src": "7681:2:13", "type": "", "value": "32" } @@ -10193,22 +10244,22 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "7597:3:13" + "src": "7666:3:13" }, "nodeType": "YulFunctionCall", - "src": "7597:18:13" + "src": "7666:18:13" }, { "arguments": [ { "name": "value1", "nodeType": "YulIdentifier", - "src": "7621:6:13" + "src": "7690:6:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "7629:10:13", + "src": "7698:10:13", "type": "", "value": "0xffffffff" } @@ -10216,22 +10267,22 @@ "functionName": { "name": "and", "nodeType": "YulIdentifier", - "src": "7617:3:13" + "src": "7686:3:13" }, "nodeType": "YulFunctionCall", - "src": "7617:23:13" + "src": "7686:23:13" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "7590:6:13" + "src": "7659:6:13" }, "nodeType": "YulFunctionCall", - "src": "7590:51:13" + "src": "7659:51:13" }, "nodeType": "YulExpressionStatement", - "src": "7590:51:13" + "src": "7659:51:13" } ] }, @@ -10241,19 +10292,19 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "7456:9:13", + "src": "7525:9:13", "type": "" }, { "name": "value1", "nodeType": "YulTypedName", - "src": "7467:6:13", + "src": "7536:6:13", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", - "src": "7475:6:13", + "src": "7544:6:13", "type": "" } ], @@ -10261,31 +10312,31 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "7486:4:13", + "src": "7555:4:13", "type": "" } ], - "src": "7374:273:13" + "src": "7443:273:13" }, { "body": { "nodeType": "YulBlock", - "src": "7753:76:13", + "src": "7822:76:13", "statements": [ { "nodeType": "YulAssignment", - "src": "7763:26:13", + "src": "7832:26:13", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "7775:9:13" + "src": "7844:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "7786:2:13", + "src": "7855:2:13", "type": "", "value": "32" } @@ -10293,16 +10344,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "7771:3:13" + "src": "7840:3:13" }, "nodeType": "YulFunctionCall", - "src": "7771:18:13" + "src": "7840:18:13" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "7763:4:13" + "src": "7832:4:13" } ] }, @@ -10312,24 +10363,24 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "7805:9:13" + "src": "7874:9:13" }, { "name": "value0", "nodeType": "YulIdentifier", - "src": "7816:6:13" + "src": "7885:6:13" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "7798:6:13" + "src": "7867:6:13" }, "nodeType": "YulFunctionCall", - "src": "7798:25:13" + "src": "7867:25:13" }, "nodeType": "YulExpressionStatement", - "src": "7798:25:13" + "src": "7867:25:13" } ] }, @@ -10339,13 +10390,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "7722:9:13", + "src": "7791:9:13", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", - "src": "7733:6:13", + "src": "7802:6:13", "type": "" } ], @@ -10353,31 +10404,31 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "7744:4:13", + "src": "7813:4:13", "type": "" } ], - "src": "7652:177:13" + "src": "7721:177:13" }, { "body": { "nodeType": "YulBlock", - "src": "7978:167:13", + "src": "8047:167:13", "statements": [ { "nodeType": "YulAssignment", - "src": "7988:26:13", + "src": "8057:26:13", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "8000:9:13" + "src": "8069:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "8011:2:13", + "src": "8080:2:13", "type": "", "value": "64" } @@ -10385,16 +10436,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "7996:3:13" + "src": "8065:3:13" }, "nodeType": "YulFunctionCall", - "src": "7996:18:13" + "src": "8065:18:13" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "7988:4:13" + "src": "8057:4:13" } ] }, @@ -10404,24 +10455,24 @@ { "name": "value0", "nodeType": "YulIdentifier", - "src": "8052:6:13" + "src": "8121:6:13" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "8060:9:13" + "src": "8129:9:13" } ], "functionName": { "name": "abi_encode_enum_ApprovalType", "nodeType": "YulIdentifier", - "src": "8023:28:13" + "src": "8092:28:13" }, "nodeType": "YulFunctionCall", - "src": "8023:47:13" + "src": "8092:47:13" }, "nodeType": "YulExpressionStatement", - "src": "8023:47:13" + "src": "8092:47:13" }, { "expression": { @@ -10431,12 +10482,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "8090:9:13" + "src": "8159:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "8101:2:13", + "src": "8170:2:13", "type": "", "value": "32" } @@ -10444,17 +10495,17 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "8086:3:13" + "src": "8155:3:13" }, "nodeType": "YulFunctionCall", - "src": "8086:18:13" + "src": "8155:18:13" }, { "arguments": [ { "name": "value1", "nodeType": "YulIdentifier", - "src": "8110:6:13" + "src": "8179:6:13" }, { "arguments": [ @@ -10463,14 +10514,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "8126:3:13", + "src": "8195:3:13", "type": "", "value": "160" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "8131:1:13", + "src": "8200:1:13", "type": "", "value": "1" } @@ -10478,15 +10529,15 @@ "functionName": { "name": "shl", "nodeType": "YulIdentifier", - "src": "8122:3:13" + "src": "8191:3:13" }, "nodeType": "YulFunctionCall", - "src": "8122:11:13" + "src": "8191:11:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "8135:1:13", + "src": "8204:1:13", "type": "", "value": "1" } @@ -10494,31 +10545,31 @@ "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "8118:3:13" + "src": "8187:3:13" }, "nodeType": "YulFunctionCall", - "src": "8118:19:13" + "src": "8187:19:13" } ], "functionName": { "name": "and", "nodeType": "YulIdentifier", - "src": "8106:3:13" + "src": "8175:3:13" }, "nodeType": "YulFunctionCall", - "src": "8106:32:13" + "src": "8175:32:13" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "8079:6:13" + "src": "8148:6:13" }, "nodeType": "YulFunctionCall", - "src": "8079:60:13" + "src": "8148:60:13" }, "nodeType": "YulExpressionStatement", - "src": "8079:60:13" + "src": "8148:60:13" } ] }, @@ -10528,19 +10579,19 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "7939:9:13", + "src": "8008:9:13", "type": "" }, { "name": "value1", "nodeType": "YulTypedName", - "src": "7950:6:13", + "src": "8019:6:13", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", - "src": "7958:6:13", + "src": "8027:6:13", "type": "" } ], @@ -10548,16 +10599,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "7969:4:13", + "src": "8038:4:13", "type": "" } ], - "src": "7834:311:13" + "src": "7903:311:13" }, { "body": { "nodeType": "YulBlock", - "src": "8370:278:13", + "src": "8439:278:13", "statements": [ { "expression": { @@ -10565,24 +10616,24 @@ { "name": "value0", "nodeType": "YulIdentifier", - "src": "8409:6:13" + "src": "8478:6:13" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "8417:9:13" + "src": "8486:9:13" } ], "functionName": { "name": "abi_encode_enum_ApprovalType", "nodeType": "YulIdentifier", - "src": "8380:28:13" + "src": "8449:28:13" }, "nodeType": "YulFunctionCall", - "src": "8380:47:13" + "src": "8449:47:13" }, "nodeType": "YulExpressionStatement", - "src": "8380:47:13" + "src": "8449:47:13" }, { "expression": { @@ -10592,12 +10643,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "8447:9:13" + "src": "8516:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "8458:2:13", + "src": "8527:2:13", "type": "", "value": "32" } @@ -10605,15 +10656,15 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "8443:3:13" + "src": "8512:3:13" }, "nodeType": "YulFunctionCall", - "src": "8443:18:13" + "src": "8512:18:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "8463:3:13", + "src": "8532:3:13", "type": "", "value": "128" } @@ -10621,35 +10672,35 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "8436:6:13" + "src": "8505:6:13" }, "nodeType": "YulFunctionCall", - "src": "8436:31:13" + "src": "8505:31:13" }, "nodeType": "YulExpressionStatement", - "src": "8436:31:13" + "src": "8505:31:13" }, { "nodeType": "YulAssignment", - "src": "8476:54:13", + "src": "8545:54:13", "value": { "arguments": [ { "name": "value1", "nodeType": "YulIdentifier", - "src": "8502:6:13" + "src": "8571:6:13" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "8514:9:13" + "src": "8583:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "8525:3:13", + "src": "8594:3:13", "type": "", "value": "128" } @@ -10657,25 +10708,25 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "8510:3:13" + "src": "8579:3:13" }, "nodeType": "YulFunctionCall", - "src": "8510:19:13" + "src": "8579:19:13" } ], "functionName": { "name": "abi_encode_string", "nodeType": "YulIdentifier", - "src": "8484:17:13" + "src": "8553:17:13" }, "nodeType": "YulFunctionCall", - "src": "8484:46:13" + "src": "8553:46:13" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "8476:4:13" + "src": "8545:4:13" } ] }, @@ -10687,12 +10738,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "8550:9:13" + "src": "8619:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "8561:2:13", + "src": "8630:2:13", "type": "", "value": "64" } @@ -10700,27 +10751,27 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "8546:3:13" + "src": "8615:3:13" }, "nodeType": "YulFunctionCall", - "src": "8546:18:13" + "src": "8615:18:13" }, { "name": "value2", "nodeType": "YulIdentifier", - "src": "8566:6:13" + "src": "8635:6:13" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "8539:6:13" + "src": "8608:6:13" }, "nodeType": "YulFunctionCall", - "src": "8539:34:13" + "src": "8608:34:13" }, "nodeType": "YulExpressionStatement", - "src": "8539:34:13" + "src": "8608:34:13" }, { "expression": { @@ -10730,12 +10781,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "8593:9:13" + "src": "8662:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "8604:2:13", + "src": "8673:2:13", "type": "", "value": "96" } @@ -10743,17 +10794,17 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "8589:3:13" + "src": "8658:3:13" }, "nodeType": "YulFunctionCall", - "src": "8589:18:13" + "src": "8658:18:13" }, { "arguments": [ { "name": "value3", "nodeType": "YulIdentifier", - "src": "8613:6:13" + "src": "8682:6:13" }, { "arguments": [ @@ -10762,14 +10813,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "8629:3:13", + "src": "8698:3:13", "type": "", "value": "160" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "8634:1:13", + "src": "8703:1:13", "type": "", "value": "1" } @@ -10777,15 +10828,15 @@ "functionName": { "name": "shl", "nodeType": "YulIdentifier", - "src": "8625:3:13" + "src": "8694:3:13" }, "nodeType": "YulFunctionCall", - "src": "8625:11:13" + "src": "8694:11:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "8638:1:13", + "src": "8707:1:13", "type": "", "value": "1" } @@ -10793,31 +10844,31 @@ "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "8621:3:13" + "src": "8690:3:13" }, "nodeType": "YulFunctionCall", - "src": "8621:19:13" + "src": "8690:19:13" } ], "functionName": { "name": "and", "nodeType": "YulIdentifier", - "src": "8609:3:13" + "src": "8678:3:13" }, "nodeType": "YulFunctionCall", - "src": "8609:32:13" + "src": "8678:32:13" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "8582:6:13" + "src": "8651:6:13" }, "nodeType": "YulFunctionCall", - "src": "8582:60:13" + "src": "8651:60:13" }, "nodeType": "YulExpressionStatement", - "src": "8582:60:13" + "src": "8651:60:13" } ] }, @@ -10827,31 +10878,31 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "8315:9:13", + "src": "8384:9:13", "type": "" }, { "name": "value3", "nodeType": "YulTypedName", - "src": "8326:6:13", + "src": "8395:6:13", "type": "" }, { "name": "value2", "nodeType": "YulTypedName", - "src": "8334:6:13", + "src": "8403:6:13", "type": "" }, { "name": "value1", "nodeType": "YulTypedName", - "src": "8342:6:13", + "src": "8411:6:13", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", - "src": "8350:6:13", + "src": "8419:6:13", "type": "" } ], @@ -10859,16 +10910,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "8361:4:13", + "src": "8430:4:13", "type": "" } ], - "src": "8150:498:13" + "src": "8219:498:13" }, { "body": { "nodeType": "YulBlock", - "src": "8774:99:13", + "src": "8843:99:13", "statements": [ { "expression": { @@ -10876,12 +10927,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "8791:9:13" + "src": "8860:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "8802:2:13", + "src": "8871:2:13", "type": "", "value": "32" } @@ -10889,35 +10940,35 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "8784:6:13" + "src": "8853:6:13" }, "nodeType": "YulFunctionCall", - "src": "8784:21:13" + "src": "8853:21:13" }, "nodeType": "YulExpressionStatement", - "src": "8784:21:13" + "src": "8853:21:13" }, { "nodeType": "YulAssignment", - "src": "8814:53:13", + "src": "8883:53:13", "value": { "arguments": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "8840:6:13" + "src": "8909:6:13" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "8852:9:13" + "src": "8921:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "8863:2:13", + "src": "8932:2:13", "type": "", "value": "32" } @@ -10925,25 +10976,25 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "8848:3:13" + "src": "8917:3:13" }, "nodeType": "YulFunctionCall", - "src": "8848:18:13" + "src": "8917:18:13" } ], "functionName": { "name": "abi_encode_string", "nodeType": "YulIdentifier", - "src": "8822:17:13" + "src": "8891:17:13" }, "nodeType": "YulFunctionCall", - "src": "8822:45:13" + "src": "8891:45:13" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "8814:4:13" + "src": "8883:4:13" } ] } @@ -10955,13 +11006,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "8743:9:13", + "src": "8812:9:13", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", - "src": "8754:6:13", + "src": "8823:6:13", "type": "" } ], @@ -10969,16 +11020,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "8765:4:13", + "src": "8834:4:13", "type": "" } ], - "src": "8653:220:13" + "src": "8722:220:13" }, { "body": { "nodeType": "YulBlock", - "src": "9027:142:13", + "src": "9096:142:13", "statements": [ { "expression": { @@ -10986,12 +11037,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "9044:9:13" + "src": "9113:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "9055:2:13", + "src": "9124:2:13", "type": "", "value": "64" } @@ -10999,35 +11050,35 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "9037:6:13" + "src": "9106:6:13" }, "nodeType": "YulFunctionCall", - "src": "9037:21:13" + "src": "9106:21:13" }, "nodeType": "YulExpressionStatement", - "src": "9037:21:13" + "src": "9106:21:13" }, { "nodeType": "YulAssignment", - "src": "9067:53:13", + "src": "9136:53:13", "value": { "arguments": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "9093:6:13" + "src": "9162:6:13" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "9105:9:13" + "src": "9174:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "9116:2:13", + "src": "9185:2:13", "type": "", "value": "64" } @@ -11035,25 +11086,25 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "9101:3:13" + "src": "9170:3:13" }, "nodeType": "YulFunctionCall", - "src": "9101:18:13" + "src": "9170:18:13" } ], "functionName": { "name": "abi_encode_string", "nodeType": "YulIdentifier", - "src": "9075:17:13" + "src": "9144:17:13" }, "nodeType": "YulFunctionCall", - "src": "9075:45:13" + "src": "9144:45:13" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "9067:4:13" + "src": "9136:4:13" } ] }, @@ -11065,12 +11116,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "9140:9:13" + "src": "9209:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "9151:2:13", + "src": "9220:2:13", "type": "", "value": "32" } @@ -11078,27 +11129,27 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "9136:3:13" + "src": "9205:3:13" }, "nodeType": "YulFunctionCall", - "src": "9136:18:13" + "src": "9205:18:13" }, { "name": "value1", "nodeType": "YulIdentifier", - "src": "9156:6:13" + "src": "9225:6:13" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "9129:6:13" + "src": "9198:6:13" }, "nodeType": "YulFunctionCall", - "src": "9129:34:13" + "src": "9198:34:13" }, "nodeType": "YulExpressionStatement", - "src": "9129:34:13" + "src": "9198:34:13" } ] }, @@ -11108,19 +11159,19 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "8988:9:13", + "src": "9057:9:13", "type": "" }, { "name": "value1", "nodeType": "YulTypedName", - "src": "8999:6:13", + "src": "9068:6:13", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", - "src": "9007:6:13", + "src": "9076:6:13", "type": "" } ], @@ -11128,16 +11179,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "9018:4:13", + "src": "9087:4:13", "type": "" } ], - "src": "8878:291:13" + "src": "8947:291:13" }, { "body": { "nodeType": "YulBlock", - "src": "9348:182:13", + "src": "9417:182:13", "statements": [ { "expression": { @@ -11145,12 +11196,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "9365:9:13" + "src": "9434:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "9376:2:13", + "src": "9445:2:13", "type": "", "value": "32" } @@ -11158,13 +11209,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "9358:6:13" + "src": "9427:6:13" }, "nodeType": "YulFunctionCall", - "src": "9358:21:13" + "src": "9427:21:13" }, "nodeType": "YulExpressionStatement", - "src": "9358:21:13" + "src": "9427:21:13" }, { "expression": { @@ -11174,12 +11225,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "9399:9:13" + "src": "9468:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "9410:2:13", + "src": "9479:2:13", "type": "", "value": "32" } @@ -11187,15 +11238,15 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "9395:3:13" + "src": "9464:3:13" }, "nodeType": "YulFunctionCall", - "src": "9395:18:13" + "src": "9464:18:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "9415:2:13", + "src": "9484:2:13", "type": "", "value": "32" } @@ -11203,13 +11254,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "9388:6:13" + "src": "9457:6:13" }, "nodeType": "YulFunctionCall", - "src": "9388:30:13" + "src": "9457:30:13" }, "nodeType": "YulExpressionStatement", - "src": "9388:30:13" + "src": "9457:30:13" }, { "expression": { @@ -11219,12 +11270,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "9438:9:13" + "src": "9507:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "9449:2:13", + "src": "9518:2:13", "type": "", "value": "64" } @@ -11232,16 +11283,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "9434:3:13" + "src": "9503:3:13" }, "nodeType": "YulFunctionCall", - "src": "9434:18:13" + "src": "9503:18:13" }, { "hexValue": "537472696e67733a20686578206c656e67746820696e73756666696369656e74", "kind": "string", "nodeType": "YulLiteral", - "src": "9454:34:13", + "src": "9523:34:13", "type": "", "value": "Strings: hex length insufficient" } @@ -11249,28 +11300,28 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "9427:6:13" + "src": "9496:6:13" }, "nodeType": "YulFunctionCall", - "src": "9427:62:13" + "src": "9496:62:13" }, "nodeType": "YulExpressionStatement", - "src": "9427:62:13" + "src": "9496:62:13" }, { "nodeType": "YulAssignment", - "src": "9498:26:13", + "src": "9567:26:13", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "9510:9:13" + "src": "9579:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "9521:2:13", + "src": "9590:2:13", "type": "", "value": "96" } @@ -11278,16 +11329,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "9506:3:13" + "src": "9575:3:13" }, "nodeType": "YulFunctionCall", - "src": "9506:18:13" + "src": "9575:18:13" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "9498:4:13" + "src": "9567:4:13" } ] } @@ -11299,7 +11350,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "9325:9:13", + "src": "9394:9:13", "type": "" } ], @@ -11307,16 +11358,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "9339:4:13", + "src": "9408:4:13", "type": "" } ], - "src": "9174:356:13" + "src": "9243:356:13" }, { "body": { "nodeType": "YulBlock", - "src": "9709:175:13", + "src": "9778:175:13", "statements": [ { "expression": { @@ -11324,12 +11375,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "9726:9:13" + "src": "9795:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "9737:2:13", + "src": "9806:2:13", "type": "", "value": "32" } @@ -11337,13 +11388,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "9719:6:13" + "src": "9788:6:13" }, "nodeType": "YulFunctionCall", - "src": "9719:21:13" + "src": "9788:21:13" }, "nodeType": "YulExpressionStatement", - "src": "9719:21:13" + "src": "9788:21:13" }, { "expression": { @@ -11353,12 +11404,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "9760:9:13" + "src": "9829:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "9771:2:13", + "src": "9840:2:13", "type": "", "value": "32" } @@ -11366,15 +11417,15 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "9756:3:13" + "src": "9825:3:13" }, "nodeType": "YulFunctionCall", - "src": "9756:18:13" + "src": "9825:18:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "9776:2:13", + "src": "9845:2:13", "type": "", "value": "25" } @@ -11382,13 +11433,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "9749:6:13" + "src": "9818:6:13" }, "nodeType": "YulFunctionCall", - "src": "9749:30:13" + "src": "9818:30:13" }, "nodeType": "YulExpressionStatement", - "src": "9749:30:13" + "src": "9818:30:13" }, { "expression": { @@ -11398,12 +11449,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "9799:9:13" + "src": "9868:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "9810:2:13", + "src": "9879:2:13", "type": "", "value": "64" } @@ -11411,16 +11462,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "9795:3:13" + "src": "9864:3:13" }, "nodeType": "YulFunctionCall", - "src": "9795:18:13" + "src": "9864:18:13" }, { "hexValue": "4d75737420636f6e7461696e203720637573746f6469616e73", "kind": "string", "nodeType": "YulLiteral", - "src": "9815:27:13", + "src": "9884:27:13", "type": "", "value": "Must contain 7 custodians" } @@ -11428,28 +11479,28 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "9788:6:13" + "src": "9857:6:13" }, "nodeType": "YulFunctionCall", - "src": "9788:55:13" + "src": "9857:55:13" }, "nodeType": "YulExpressionStatement", - "src": "9788:55:13" + "src": "9857:55:13" }, { "nodeType": "YulAssignment", - "src": "9852:26:13", + "src": "9921:26:13", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "9864:9:13" + "src": "9933:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "9875:2:13", + "src": "9944:2:13", "type": "", "value": "96" } @@ -11457,16 +11508,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "9860:3:13" + "src": "9929:3:13" }, "nodeType": "YulFunctionCall", - "src": "9860:18:13" + "src": "9929:18:13" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "9852:4:13" + "src": "9921:4:13" } ] } @@ -11478,7 +11529,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "9686:9:13", + "src": "9755:9:13", "type": "" } ], @@ -11486,16 +11537,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "9700:4:13", + "src": "9769:4:13", "type": "" } ], - "src": "9535:349:13" + "src": "9604:349:13" }, { "body": { "nodeType": "YulBlock", - "src": "10063:225:13", + "src": "10132:225:13", "statements": [ { "expression": { @@ -11503,12 +11554,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "10080:9:13" + "src": "10149:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "10091:2:13", + "src": "10160:2:13", "type": "", "value": "32" } @@ -11516,13 +11567,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "10073:6:13" + "src": "10142:6:13" }, "nodeType": "YulFunctionCall", - "src": "10073:21:13" + "src": "10142:21:13" }, "nodeType": "YulExpressionStatement", - "src": "10073:21:13" + "src": "10142:21:13" }, { "expression": { @@ -11532,12 +11583,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "10114:9:13" + "src": "10183:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "10125:2:13", + "src": "10194:2:13", "type": "", "value": "32" } @@ -11545,15 +11596,15 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "10110:3:13" + "src": "10179:3:13" }, "nodeType": "YulFunctionCall", - "src": "10110:18:13" + "src": "10179:18:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "10130:2:13", + "src": "10199:2:13", "type": "", "value": "35" } @@ -11561,13 +11612,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "10103:6:13" + "src": "10172:6:13" }, "nodeType": "YulFunctionCall", - "src": "10103:30:13" + "src": "10172:30:13" }, "nodeType": "YulExpressionStatement", - "src": "10103:30:13" + "src": "10172:30:13" }, { "expression": { @@ -11577,12 +11628,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "10153:9:13" + "src": "10222:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "10164:2:13", + "src": "10233:2:13", "type": "", "value": "64" } @@ -11590,16 +11641,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "10149:3:13" + "src": "10218:3:13" }, "nodeType": "YulFunctionCall", - "src": "10149:18:13" + "src": "10218:18:13" }, { "hexValue": "45524332303a207472616e7366657220746f20746865207a65726f2061646472", "kind": "string", "nodeType": "YulLiteral", - "src": "10169:34:13", + "src": "10238:34:13", "type": "", "value": "ERC20: transfer to the zero addr" } @@ -11607,13 +11658,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "10142:6:13" + "src": "10211:6:13" }, "nodeType": "YulFunctionCall", - "src": "10142:62:13" + "src": "10211:62:13" }, "nodeType": "YulExpressionStatement", - "src": "10142:62:13" + "src": "10211:62:13" }, { "expression": { @@ -11623,12 +11674,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "10224:9:13" + "src": "10293:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "10235:2:13", + "src": "10304:2:13", "type": "", "value": "96" } @@ -11636,16 +11687,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "10220:3:13" + "src": "10289:3:13" }, "nodeType": "YulFunctionCall", - "src": "10220:18:13" + "src": "10289:18:13" }, { "hexValue": "657373", "kind": "string", "nodeType": "YulLiteral", - "src": "10240:5:13", + "src": "10309:5:13", "type": "", "value": "ess" } @@ -11653,28 +11704,28 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "10213:6:13" + "src": "10282:6:13" }, "nodeType": "YulFunctionCall", - "src": "10213:33:13" + "src": "10282:33:13" }, "nodeType": "YulExpressionStatement", - "src": "10213:33:13" + "src": "10282:33:13" }, { "nodeType": "YulAssignment", - "src": "10255:27:13", + "src": "10324:27:13", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "10267:9:13" + "src": "10336:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "10278:3:13", + "src": "10347:3:13", "type": "", "value": "128" } @@ -11682,16 +11733,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "10263:3:13" + "src": "10332:3:13" }, "nodeType": "YulFunctionCall", - "src": "10263:19:13" + "src": "10332:19:13" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "10255:4:13" + "src": "10324:4:13" } ] } @@ -11703,7 +11754,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "10040:9:13", + "src": "10109:9:13", "type": "" } ], @@ -11711,16 +11762,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "10054:4:13", + "src": "10123:4:13", "type": "" } ], - "src": "9889:399:13" + "src": "9958:399:13" }, { "body": { "nodeType": "YulBlock", - "src": "10467:170:13", + "src": "10536:170:13", "statements": [ { "expression": { @@ -11728,12 +11779,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "10484:9:13" + "src": "10553:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "10495:2:13", + "src": "10564:2:13", "type": "", "value": "32" } @@ -11741,13 +11792,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "10477:6:13" + "src": "10546:6:13" }, "nodeType": "YulFunctionCall", - "src": "10477:21:13" + "src": "10546:21:13" }, "nodeType": "YulExpressionStatement", - "src": "10477:21:13" + "src": "10546:21:13" }, { "expression": { @@ -11757,12 +11808,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "10518:9:13" + "src": "10587:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "10529:2:13", + "src": "10598:2:13", "type": "", "value": "32" } @@ -11770,15 +11821,15 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "10514:3:13" + "src": "10583:3:13" }, "nodeType": "YulFunctionCall", - "src": "10514:18:13" + "src": "10583:18:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "10534:2:13", + "src": "10603:2:13", "type": "", "value": "20" } @@ -11786,13 +11837,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "10507:6:13" + "src": "10576:6:13" }, "nodeType": "YulFunctionCall", - "src": "10507:30:13" + "src": "10576:30:13" }, "nodeType": "YulExpressionStatement", - "src": "10507:30:13" + "src": "10576:30:13" }, { "expression": { @@ -11802,12 +11853,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "10557:9:13" + "src": "10626:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "10568:2:13", + "src": "10637:2:13", "type": "", "value": "64" } @@ -11815,16 +11866,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "10553:3:13" + "src": "10622:3:13" }, "nodeType": "YulFunctionCall", - "src": "10553:18:13" + "src": "10622:18:13" }, { "hexValue": "5061757361626c653a206e6f7420706175736564", "kind": "string", "nodeType": "YulLiteral", - "src": "10573:22:13", + "src": "10642:22:13", "type": "", "value": "Pausable: not paused" } @@ -11832,28 +11883,28 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "10546:6:13" + "src": "10615:6:13" }, "nodeType": "YulFunctionCall", - "src": "10546:50:13" + "src": "10615:50:13" }, "nodeType": "YulExpressionStatement", - "src": "10546:50:13" + "src": "10615:50:13" }, { "nodeType": "YulAssignment", - "src": "10605:26:13", + "src": "10674:26:13", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "10617:9:13" + "src": "10686:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "10628:2:13", + "src": "10697:2:13", "type": "", "value": "96" } @@ -11861,16 +11912,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "10613:3:13" + "src": "10682:3:13" }, "nodeType": "YulFunctionCall", - "src": "10613:18:13" + "src": "10682:18:13" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "10605:4:13" + "src": "10674:4:13" } ] } @@ -11882,7 +11933,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "10444:9:13", + "src": "10513:9:13", "type": "" } ], @@ -11890,16 +11941,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "10458:4:13", + "src": "10527:4:13", "type": "" } ], - "src": "10293:344:13" + "src": "10362:344:13" }, { "body": { "nodeType": "YulBlock", - "src": "10816:175:13", + "src": "10885:175:13", "statements": [ { "expression": { @@ -11907,12 +11958,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "10833:9:13" + "src": "10902:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "10844:2:13", + "src": "10913:2:13", "type": "", "value": "32" } @@ -11920,13 +11971,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "10826:6:13" + "src": "10895:6:13" }, "nodeType": "YulFunctionCall", - "src": "10826:21:13" + "src": "10895:21:13" }, "nodeType": "YulExpressionStatement", - "src": "10826:21:13" + "src": "10895:21:13" }, { "expression": { @@ -11936,12 +11987,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "10867:9:13" + "src": "10936:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "10878:2:13", + "src": "10947:2:13", "type": "", "value": "32" } @@ -11949,15 +12000,15 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "10863:3:13" + "src": "10932:3:13" }, "nodeType": "YulFunctionCall", - "src": "10863:18:13" + "src": "10932:18:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "10883:2:13", + "src": "10952:2:13", "type": "", "value": "25" } @@ -11965,13 +12016,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "10856:6:13" + "src": "10925:6:13" }, "nodeType": "YulFunctionCall", - "src": "10856:30:13" + "src": "10925:30:13" }, "nodeType": "YulExpressionStatement", - "src": "10856:30:13" + "src": "10925:30:13" }, { "expression": { @@ -11981,12 +12032,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "10906:9:13" + "src": "10975:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "10917:2:13", + "src": "10986:2:13", "type": "", "value": "64" } @@ -11994,16 +12045,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "10902:3:13" + "src": "10971:3:13" }, "nodeType": "YulFunctionCall", - "src": "10902:18:13" + "src": "10971:18:13" }, { "hexValue": "417070726f76616c20616c726561647920636f6d706c657465", "kind": "string", "nodeType": "YulLiteral", - "src": "10922:27:13", + "src": "10991:27:13", "type": "", "value": "Approval already complete" } @@ -12011,28 +12062,28 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "10895:6:13" + "src": "10964:6:13" }, "nodeType": "YulFunctionCall", - "src": "10895:55:13" + "src": "10964:55:13" }, "nodeType": "YulExpressionStatement", - "src": "10895:55:13" + "src": "10964:55:13" }, { "nodeType": "YulAssignment", - "src": "10959:26:13", + "src": "11028:26:13", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "10971:9:13" + "src": "11040:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "10982:2:13", + "src": "11051:2:13", "type": "", "value": "96" } @@ -12040,16 +12091,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "10967:3:13" + "src": "11036:3:13" }, "nodeType": "YulFunctionCall", - "src": "10967:18:13" + "src": "11036:18:13" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "10959:4:13" + "src": "11028:4:13" } ] } @@ -12061,7 +12112,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "10793:9:13", + "src": "10862:9:13", "type": "" } ], @@ -12069,16 +12120,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "10807:4:13", + "src": "10876:4:13", "type": "" } ], - "src": "10642:349:13" + "src": "10711:349:13" }, { "body": { "nodeType": "YulBlock", - "src": "11170:165:13", + "src": "11239:165:13", "statements": [ { "expression": { @@ -12086,12 +12137,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "11187:9:13" + "src": "11256:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "11198:2:13", + "src": "11267:2:13", "type": "", "value": "32" } @@ -12099,13 +12150,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "11180:6:13" + "src": "11249:6:13" }, "nodeType": "YulFunctionCall", - "src": "11180:21:13" + "src": "11249:21:13" }, "nodeType": "YulExpressionStatement", - "src": "11180:21:13" + "src": "11249:21:13" }, { "expression": { @@ -12115,12 +12166,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "11221:9:13" + "src": "11290:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "11232:2:13", + "src": "11301:2:13", "type": "", "value": "32" } @@ -12128,15 +12179,15 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "11217:3:13" + "src": "11286:3:13" }, "nodeType": "YulFunctionCall", - "src": "11217:18:13" + "src": "11286:18:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "11237:2:13", + "src": "11306:2:13", "type": "", "value": "15" } @@ -12144,13 +12195,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "11210:6:13" + "src": "11279:6:13" }, "nodeType": "YulFunctionCall", - "src": "11210:30:13" + "src": "11279:30:13" }, "nodeType": "YulExpressionStatement", - "src": "11210:30:13" + "src": "11279:30:13" }, { "expression": { @@ -12160,12 +12211,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "11260:9:13" + "src": "11329:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "11271:2:13", + "src": "11340:2:13", "type": "", "value": "64" } @@ -12173,16 +12224,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "11256:3:13" + "src": "11325:3:13" }, "nodeType": "YulFunctionCall", - "src": "11256:18:13" + "src": "11325:18:13" }, { "hexValue": "496e76616c69642061646472657373", "kind": "string", "nodeType": "YulLiteral", - "src": "11276:17:13", + "src": "11345:17:13", "type": "", "value": "Invalid address" } @@ -12190,28 +12241,28 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "11249:6:13" + "src": "11318:6:13" }, "nodeType": "YulFunctionCall", - "src": "11249:45:13" + "src": "11318:45:13" }, "nodeType": "YulExpressionStatement", - "src": "11249:45:13" + "src": "11318:45:13" }, { "nodeType": "YulAssignment", - "src": "11303:26:13", + "src": "11372:26:13", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "11315:9:13" + "src": "11384:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "11326:2:13", + "src": "11395:2:13", "type": "", "value": "96" } @@ -12219,16 +12270,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "11311:3:13" + "src": "11380:3:13" }, "nodeType": "YulFunctionCall", - "src": "11311:18:13" + "src": "11380:18:13" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "11303:4:13" + "src": "11372:4:13" } ] } @@ -12240,7 +12291,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "11147:9:13", + "src": "11216:9:13", "type": "" } ], @@ -12248,16 +12299,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "11161:4:13", + "src": "11230:4:13", "type": "" } ], - "src": "10996:339:13" + "src": "11065:339:13" }, { "body": { "nodeType": "YulBlock", - "src": "11514:224:13", + "src": "11583:224:13", "statements": [ { "expression": { @@ -12265,12 +12316,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "11531:9:13" + "src": "11600:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "11542:2:13", + "src": "11611:2:13", "type": "", "value": "32" } @@ -12278,13 +12329,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "11524:6:13" + "src": "11593:6:13" }, "nodeType": "YulFunctionCall", - "src": "11524:21:13" + "src": "11593:21:13" }, "nodeType": "YulExpressionStatement", - "src": "11524:21:13" + "src": "11593:21:13" }, { "expression": { @@ -12294,12 +12345,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "11565:9:13" + "src": "11634:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "11576:2:13", + "src": "11645:2:13", "type": "", "value": "32" } @@ -12307,15 +12358,15 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "11561:3:13" + "src": "11630:3:13" }, "nodeType": "YulFunctionCall", - "src": "11561:18:13" + "src": "11630:18:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "11581:2:13", + "src": "11650:2:13", "type": "", "value": "34" } @@ -12323,13 +12374,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "11554:6:13" + "src": "11623:6:13" }, "nodeType": "YulFunctionCall", - "src": "11554:30:13" + "src": "11623:30:13" }, "nodeType": "YulExpressionStatement", - "src": "11554:30:13" + "src": "11623:30:13" }, { "expression": { @@ -12339,12 +12390,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "11604:9:13" + "src": "11673:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "11615:2:13", + "src": "11684:2:13", "type": "", "value": "64" } @@ -12352,16 +12403,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "11600:3:13" + "src": "11669:3:13" }, "nodeType": "YulFunctionCall", - "src": "11600:18:13" + "src": "11669:18:13" }, { "hexValue": "45524332303a206275726e20616d6f756e7420657863656564732062616c616e", "kind": "string", "nodeType": "YulLiteral", - "src": "11620:34:13", + "src": "11689:34:13", "type": "", "value": "ERC20: burn amount exceeds balan" } @@ -12369,13 +12420,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "11593:6:13" + "src": "11662:6:13" }, "nodeType": "YulFunctionCall", - "src": "11593:62:13" + "src": "11662:62:13" }, "nodeType": "YulExpressionStatement", - "src": "11593:62:13" + "src": "11662:62:13" }, { "expression": { @@ -12385,12 +12436,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "11675:9:13" + "src": "11744:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "11686:2:13", + "src": "11755:2:13", "type": "", "value": "96" } @@ -12398,16 +12449,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "11671:3:13" + "src": "11740:3:13" }, "nodeType": "YulFunctionCall", - "src": "11671:18:13" + "src": "11740:18:13" }, { "hexValue": "6365", "kind": "string", "nodeType": "YulLiteral", - "src": "11691:4:13", + "src": "11760:4:13", "type": "", "value": "ce" } @@ -12415,28 +12466,28 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "11664:6:13" + "src": "11733:6:13" }, "nodeType": "YulFunctionCall", - "src": "11664:32:13" + "src": "11733:32:13" }, "nodeType": "YulExpressionStatement", - "src": "11664:32:13" + "src": "11733:32:13" }, { "nodeType": "YulAssignment", - "src": "11705:27:13", + "src": "11774:27:13", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "11717:9:13" + "src": "11786:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "11728:3:13", + "src": "11797:3:13", "type": "", "value": "128" } @@ -12444,16 +12495,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "11713:3:13" + "src": "11782:3:13" }, "nodeType": "YulFunctionCall", - "src": "11713:19:13" + "src": "11782:19:13" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "11705:4:13" + "src": "11774:4:13" } ] } @@ -12465,7 +12516,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "11491:9:13", + "src": "11560:9:13", "type": "" } ], @@ -12473,16 +12524,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "11505:4:13", + "src": "11574:4:13", "type": "" } ], - "src": "11340:398:13" + "src": "11409:398:13" }, { "body": { "nodeType": "YulBlock", - "src": "11917:182:13", + "src": "11986:182:13", "statements": [ { "expression": { @@ -12490,12 +12541,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "11934:9:13" + "src": "12003:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "11945:2:13", + "src": "12014:2:13", "type": "", "value": "32" } @@ -12503,13 +12554,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "11927:6:13" + "src": "11996:6:13" }, "nodeType": "YulFunctionCall", - "src": "11927:21:13" + "src": "11996:21:13" }, "nodeType": "YulExpressionStatement", - "src": "11927:21:13" + "src": "11996:21:13" }, { "expression": { @@ -12519,12 +12570,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "11968:9:13" + "src": "12037:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "11979:2:13", + "src": "12048:2:13", "type": "", "value": "32" } @@ -12532,15 +12583,15 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "11964:3:13" + "src": "12033:3:13" }, "nodeType": "YulFunctionCall", - "src": "11964:18:13" + "src": "12033:18:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "11984:2:13", + "src": "12053:2:13", "type": "", "value": "32" } @@ -12548,13 +12599,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "11957:6:13" + "src": "12026:6:13" }, "nodeType": "YulFunctionCall", - "src": "11957:30:13" + "src": "12026:30:13" }, "nodeType": "YulExpressionStatement", - "src": "11957:30:13" + "src": "12026:30:13" }, { "expression": { @@ -12564,12 +12615,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "12007:9:13" + "src": "12076:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "12018:2:13", + "src": "12087:2:13", "type": "", "value": "64" } @@ -12577,16 +12628,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "12003:3:13" + "src": "12072:3:13" }, "nodeType": "YulFunctionCall", - "src": "12003:18:13" + "src": "12072:18:13" }, { "hexValue": "416e20617070726f76696e67206f7261636c65206d7573742065786563757465", "kind": "string", "nodeType": "YulLiteral", - "src": "12023:34:13", + "src": "12092:34:13", "type": "", "value": "An approving oracle must execute" } @@ -12594,28 +12645,28 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "11996:6:13" + "src": "12065:6:13" }, "nodeType": "YulFunctionCall", - "src": "11996:62:13" + "src": "12065:62:13" }, "nodeType": "YulExpressionStatement", - "src": "11996:62:13" + "src": "12065:62:13" }, { "nodeType": "YulAssignment", - "src": "12067:26:13", + "src": "12136:26:13", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "12079:9:13" + "src": "12148:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "12090:2:13", + "src": "12159:2:13", "type": "", "value": "96" } @@ -12623,16 +12674,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "12075:3:13" + "src": "12144:3:13" }, "nodeType": "YulFunctionCall", - "src": "12075:18:13" + "src": "12144:18:13" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "12067:4:13" + "src": "12136:4:13" } ] } @@ -12644,7 +12695,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "11894:9:13", + "src": "11963:9:13", "type": "" } ], @@ -12652,16 +12703,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "11908:4:13", + "src": "11977:4:13", "type": "" } ], - "src": "11743:356:13" + "src": "11812:356:13" }, { "body": { "nodeType": "YulBlock", - "src": "12278:224:13", + "src": "12347:224:13", "statements": [ { "expression": { @@ -12669,12 +12720,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "12295:9:13" + "src": "12364:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "12306:2:13", + "src": "12375:2:13", "type": "", "value": "32" } @@ -12682,13 +12733,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "12288:6:13" + "src": "12357:6:13" }, "nodeType": "YulFunctionCall", - "src": "12288:21:13" + "src": "12357:21:13" }, "nodeType": "YulExpressionStatement", - "src": "12288:21:13" + "src": "12357:21:13" }, { "expression": { @@ -12698,12 +12749,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "12329:9:13" + "src": "12398:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "12340:2:13", + "src": "12409:2:13", "type": "", "value": "32" } @@ -12711,15 +12762,15 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "12325:3:13" + "src": "12394:3:13" }, "nodeType": "YulFunctionCall", - "src": "12325:18:13" + "src": "12394:18:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "12345:2:13", + "src": "12414:2:13", "type": "", "value": "34" } @@ -12727,13 +12778,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "12318:6:13" + "src": "12387:6:13" }, "nodeType": "YulFunctionCall", - "src": "12318:30:13" + "src": "12387:30:13" }, "nodeType": "YulExpressionStatement", - "src": "12318:30:13" + "src": "12387:30:13" }, { "expression": { @@ -12743,12 +12794,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "12368:9:13" + "src": "12437:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "12379:2:13", + "src": "12448:2:13", "type": "", "value": "64" } @@ -12756,16 +12807,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "12364:3:13" + "src": "12433:3:13" }, "nodeType": "YulFunctionCall", - "src": "12364:18:13" + "src": "12433:18:13" }, { "hexValue": "45524332303a20617070726f766520746f20746865207a65726f206164647265", "kind": "string", "nodeType": "YulLiteral", - "src": "12384:34:13", + "src": "12453:34:13", "type": "", "value": "ERC20: approve to the zero addre" } @@ -12773,13 +12824,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "12357:6:13" + "src": "12426:6:13" }, "nodeType": "YulFunctionCall", - "src": "12357:62:13" + "src": "12426:62:13" }, "nodeType": "YulExpressionStatement", - "src": "12357:62:13" + "src": "12426:62:13" }, { "expression": { @@ -12789,12 +12840,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "12439:9:13" + "src": "12508:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "12450:2:13", + "src": "12519:2:13", "type": "", "value": "96" } @@ -12802,16 +12853,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "12435:3:13" + "src": "12504:3:13" }, "nodeType": "YulFunctionCall", - "src": "12435:18:13" + "src": "12504:18:13" }, { "hexValue": "7373", "kind": "string", "nodeType": "YulLiteral", - "src": "12455:4:13", + "src": "12524:4:13", "type": "", "value": "ss" } @@ -12819,28 +12870,28 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "12428:6:13" + "src": "12497:6:13" }, "nodeType": "YulFunctionCall", - "src": "12428:32:13" + "src": "12497:32:13" }, "nodeType": "YulExpressionStatement", - "src": "12428:32:13" + "src": "12497:32:13" }, { "nodeType": "YulAssignment", - "src": "12469:27:13", + "src": "12538:27:13", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "12481:9:13" + "src": "12550:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "12492:3:13", + "src": "12561:3:13", "type": "", "value": "128" } @@ -12848,16 +12899,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "12477:3:13" + "src": "12546:3:13" }, "nodeType": "YulFunctionCall", - "src": "12477:19:13" + "src": "12546:19:13" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "12469:4:13" + "src": "12538:4:13" } ] } @@ -12869,7 +12920,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "12255:9:13", + "src": "12324:9:13", "type": "" } ], @@ -12877,16 +12928,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "12269:4:13", + "src": "12338:4:13", "type": "" } ], - "src": "12104:398:13" + "src": "12173:398:13" }, { "body": { "nodeType": "YulBlock", - "src": "12681:227:13", + "src": "12750:227:13", "statements": [ { "expression": { @@ -12894,12 +12945,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "12698:9:13" + "src": "12767:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "12709:2:13", + "src": "12778:2:13", "type": "", "value": "32" } @@ -12907,13 +12958,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "12691:6:13" + "src": "12760:6:13" }, "nodeType": "YulFunctionCall", - "src": "12691:21:13" + "src": "12760:21:13" }, "nodeType": "YulExpressionStatement", - "src": "12691:21:13" + "src": "12760:21:13" }, { "expression": { @@ -12923,12 +12974,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "12732:9:13" + "src": "12801:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "12743:2:13", + "src": "12812:2:13", "type": "", "value": "32" } @@ -12936,15 +12987,15 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "12728:3:13" + "src": "12797:3:13" }, "nodeType": "YulFunctionCall", - "src": "12728:18:13" + "src": "12797:18:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "12748:2:13", + "src": "12817:2:13", "type": "", "value": "37" } @@ -12952,13 +13003,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "12721:6:13" + "src": "12790:6:13" }, "nodeType": "YulFunctionCall", - "src": "12721:30:13" + "src": "12790:30:13" }, "nodeType": "YulExpressionStatement", - "src": "12721:30:13" + "src": "12790:30:13" }, { "expression": { @@ -12968,12 +13019,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "12771:9:13" + "src": "12840:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "12782:2:13", + "src": "12851:2:13", "type": "", "value": "64" } @@ -12981,16 +13032,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "12767:3:13" + "src": "12836:3:13" }, "nodeType": "YulFunctionCall", - "src": "12767:18:13" + "src": "12836:18:13" }, { "hexValue": "6f7261636c652068617320616c726561647920617070726f7665642074686973", "kind": "string", "nodeType": "YulLiteral", - "src": "12787:34:13", + "src": "12856:34:13", "type": "", "value": "oracle has already approved this" } @@ -12998,13 +13049,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "12760:6:13" + "src": "12829:6:13" }, "nodeType": "YulFunctionCall", - "src": "12760:62:13" + "src": "12829:62:13" }, "nodeType": "YulExpressionStatement", - "src": "12760:62:13" + "src": "12829:62:13" }, { "expression": { @@ -13014,12 +13065,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "12842:9:13" + "src": "12911:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "12853:2:13", + "src": "12922:2:13", "type": "", "value": "96" } @@ -13027,16 +13078,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "12838:3:13" + "src": "12907:3:13" }, "nodeType": "YulFunctionCall", - "src": "12838:18:13" + "src": "12907:18:13" }, { "hexValue": "2068617368", "kind": "string", "nodeType": "YulLiteral", - "src": "12858:7:13", + "src": "12927:7:13", "type": "", "value": " hash" } @@ -13044,28 +13095,28 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "12831:6:13" + "src": "12900:6:13" }, "nodeType": "YulFunctionCall", - "src": "12831:35:13" + "src": "12900:35:13" }, "nodeType": "YulExpressionStatement", - "src": "12831:35:13" + "src": "12900:35:13" }, { "nodeType": "YulAssignment", - "src": "12875:27:13", + "src": "12944:27:13", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "12887:9:13" + "src": "12956:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "12898:3:13", + "src": "12967:3:13", "type": "", "value": "128" } @@ -13073,16 +13124,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "12883:3:13" + "src": "12952:3:13" }, "nodeType": "YulFunctionCall", - "src": "12883:19:13" + "src": "12952:19:13" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "12875:4:13" + "src": "12944:4:13" } ] } @@ -13094,7 +13145,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "12658:9:13", + "src": "12727:9:13", "type": "" } ], @@ -13102,16 +13153,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "12672:4:13", + "src": "12741:4:13", "type": "" } ], - "src": "12507:401:13" + "src": "12576:401:13" }, { "body": { "nodeType": "YulBlock", - "src": "13087:170:13", + "src": "13156:170:13", "statements": [ { "expression": { @@ -13119,12 +13170,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "13104:9:13" + "src": "13173:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "13115:2:13", + "src": "13184:2:13", "type": "", "value": "32" } @@ -13132,13 +13183,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "13097:6:13" + "src": "13166:6:13" }, "nodeType": "YulFunctionCall", - "src": "13097:21:13" + "src": "13166:21:13" }, "nodeType": "YulExpressionStatement", - "src": "13097:21:13" + "src": "13166:21:13" }, { "expression": { @@ -13148,12 +13199,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "13138:9:13" + "src": "13207:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "13149:2:13", + "src": "13218:2:13", "type": "", "value": "32" } @@ -13161,15 +13212,15 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "13134:3:13" + "src": "13203:3:13" }, "nodeType": "YulFunctionCall", - "src": "13134:18:13" + "src": "13203:18:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "13154:2:13", + "src": "13223:2:13", "type": "", "value": "20" } @@ -13177,13 +13228,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "13127:6:13" + "src": "13196:6:13" }, "nodeType": "YulFunctionCall", - "src": "13127:30:13" + "src": "13196:30:13" }, "nodeType": "YulExpressionStatement", - "src": "13127:30:13" + "src": "13196:30:13" }, { "expression": { @@ -13193,12 +13244,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "13177:9:13" + "src": "13246:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "13188:2:13", + "src": "13257:2:13", "type": "", "value": "64" } @@ -13206,16 +13257,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "13173:3:13" + "src": "13242:3:13" }, "nodeType": "YulFunctionCall", - "src": "13173:18:13" + "src": "13242:18:13" }, { "hexValue": "416c726561647920756e72656769737465726564", "kind": "string", "nodeType": "YulLiteral", - "src": "13193:22:13", + "src": "13262:22:13", "type": "", "value": "Already unregistered" } @@ -13223,28 +13274,28 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "13166:6:13" + "src": "13235:6:13" }, "nodeType": "YulFunctionCall", - "src": "13166:50:13" + "src": "13235:50:13" }, "nodeType": "YulExpressionStatement", - "src": "13166:50:13" + "src": "13235:50:13" }, { "nodeType": "YulAssignment", - "src": "13225:26:13", + "src": "13294:26:13", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "13237:9:13" + "src": "13306:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "13248:2:13", + "src": "13317:2:13", "type": "", "value": "96" } @@ -13252,16 +13303,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "13233:3:13" + "src": "13302:3:13" }, "nodeType": "YulFunctionCall", - "src": "13233:18:13" + "src": "13302:18:13" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "13225:4:13" + "src": "13294:4:13" } ] } @@ -13273,7 +13324,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "13064:9:13", + "src": "13133:9:13", "type": "" } ], @@ -13281,16 +13332,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "13078:4:13", + "src": "13147:4:13", "type": "" } ], - "src": "12913:344:13" + "src": "12982:344:13" }, { "body": { "nodeType": "YulBlock", - "src": "13436:180:13", + "src": "13505:180:13", "statements": [ { "expression": { @@ -13298,12 +13349,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "13453:9:13" + "src": "13522:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "13464:2:13", + "src": "13533:2:13", "type": "", "value": "32" } @@ -13311,13 +13362,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "13446:6:13" + "src": "13515:6:13" }, "nodeType": "YulFunctionCall", - "src": "13446:21:13" + "src": "13515:21:13" }, "nodeType": "YulExpressionStatement", - "src": "13446:21:13" + "src": "13515:21:13" }, { "expression": { @@ -13327,12 +13378,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "13487:9:13" + "src": "13556:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "13498:2:13", + "src": "13567:2:13", "type": "", "value": "32" } @@ -13340,15 +13391,15 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "13483:3:13" + "src": "13552:3:13" }, "nodeType": "YulFunctionCall", - "src": "13483:18:13" + "src": "13552:18:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "13503:2:13", + "src": "13572:2:13", "type": "", "value": "30" } @@ -13356,13 +13407,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "13476:6:13" + "src": "13545:6:13" }, "nodeType": "YulFunctionCall", - "src": "13476:30:13" + "src": "13545:30:13" }, "nodeType": "YulExpressionStatement", - "src": "13476:30:13" + "src": "13545:30:13" }, { "expression": { @@ -13372,12 +13423,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "13526:9:13" + "src": "13595:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "13537:2:13", + "src": "13606:2:13", "type": "", "value": "64" } @@ -13385,16 +13436,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "13522:3:13" + "src": "13591:3:13" }, "nodeType": "YulFunctionCall", - "src": "13522:18:13" + "src": "13591:18:13" }, { "hexValue": "436f6e74726163742063616e6e6f74207265636569766520746f6b656e73", "kind": "string", "nodeType": "YulLiteral", - "src": "13542:32:13", + "src": "13611:32:13", "type": "", "value": "Contract cannot receive tokens" } @@ -13402,28 +13453,28 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "13515:6:13" + "src": "13584:6:13" }, "nodeType": "YulFunctionCall", - "src": "13515:60:13" + "src": "13584:60:13" }, "nodeType": "YulExpressionStatement", - "src": "13515:60:13" + "src": "13584:60:13" }, { "nodeType": "YulAssignment", - "src": "13584:26:13", + "src": "13653:26:13", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "13596:9:13" + "src": "13665:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "13607:2:13", + "src": "13676:2:13", "type": "", "value": "96" } @@ -13431,16 +13482,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "13592:3:13" + "src": "13661:3:13" }, "nodeType": "YulFunctionCall", - "src": "13592:18:13" + "src": "13661:18:13" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "13584:4:13" + "src": "13653:4:13" } ] } @@ -13452,7 +13503,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "13413:9:13", + "src": "13482:9:13", "type": "" } ], @@ -13460,16 +13511,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "13427:4:13", + "src": "13496:4:13", "type": "" } ], - "src": "13262:354:13" + "src": "13331:354:13" }, { "body": { "nodeType": "YulBlock", - "src": "13795:179:13", + "src": "13864:179:13", "statements": [ { "expression": { @@ -13477,12 +13528,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "13812:9:13" + "src": "13881:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "13823:2:13", + "src": "13892:2:13", "type": "", "value": "32" } @@ -13490,13 +13541,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "13805:6:13" + "src": "13874:6:13" }, "nodeType": "YulFunctionCall", - "src": "13805:21:13" + "src": "13874:21:13" }, "nodeType": "YulExpressionStatement", - "src": "13805:21:13" + "src": "13874:21:13" }, { "expression": { @@ -13506,12 +13557,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "13846:9:13" + "src": "13915:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "13857:2:13", + "src": "13926:2:13", "type": "", "value": "32" } @@ -13519,15 +13570,15 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "13842:3:13" + "src": "13911:3:13" }, "nodeType": "YulFunctionCall", - "src": "13842:18:13" + "src": "13911:18:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "13862:2:13", + "src": "13931:2:13", "type": "", "value": "29" } @@ -13535,13 +13586,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "13835:6:13" + "src": "13904:6:13" }, "nodeType": "YulFunctionCall", - "src": "13835:30:13" + "src": "13904:30:13" }, "nodeType": "YulExpressionStatement", - "src": "13835:30:13" + "src": "13904:30:13" }, { "expression": { @@ -13551,12 +13602,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "13885:9:13" + "src": "13954:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "13896:2:13", + "src": "13965:2:13", "type": "", "value": "64" } @@ -13564,16 +13615,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "13881:3:13" + "src": "13950:3:13" }, "nodeType": "YulFunctionCall", - "src": "13881:18:13" + "src": "13950:18:13" }, { "hexValue": "45524332303a20696e73756666696369656e7420616c6c6f77616e6365", "kind": "string", "nodeType": "YulLiteral", - "src": "13901:31:13", + "src": "13970:31:13", "type": "", "value": "ERC20: insufficient allowance" } @@ -13581,28 +13632,28 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "13874:6:13" + "src": "13943:6:13" }, "nodeType": "YulFunctionCall", - "src": "13874:59:13" + "src": "13943:59:13" }, "nodeType": "YulExpressionStatement", - "src": "13874:59:13" + "src": "13943:59:13" }, { "nodeType": "YulAssignment", - "src": "13942:26:13", + "src": "14011:26:13", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "13954:9:13" + "src": "14023:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "13965:2:13", + "src": "14034:2:13", "type": "", "value": "96" } @@ -13610,16 +13661,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "13950:3:13" + "src": "14019:3:13" }, "nodeType": "YulFunctionCall", - "src": "13950:18:13" + "src": "14019:18:13" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "13942:4:13" + "src": "14011:4:13" } ] } @@ -13631,7 +13682,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "13772:9:13", + "src": "13841:9:13", "type": "" } ], @@ -13639,16 +13690,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "13786:4:13", + "src": "13855:4:13", "type": "" } ], - "src": "13621:353:13" + "src": "13690:353:13" }, { "body": { "nodeType": "YulBlock", - "src": "14153:228:13", + "src": "14222:228:13", "statements": [ { "expression": { @@ -13656,12 +13707,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "14170:9:13" + "src": "14239:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "14181:2:13", + "src": "14250:2:13", "type": "", "value": "32" } @@ -13669,13 +13720,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "14163:6:13" + "src": "14232:6:13" }, "nodeType": "YulFunctionCall", - "src": "14163:21:13" + "src": "14232:21:13" }, "nodeType": "YulExpressionStatement", - "src": "14163:21:13" + "src": "14232:21:13" }, { "expression": { @@ -13685,12 +13736,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "14204:9:13" + "src": "14273:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "14215:2:13", + "src": "14284:2:13", "type": "", "value": "32" } @@ -13698,15 +13749,15 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "14200:3:13" + "src": "14269:3:13" }, "nodeType": "YulFunctionCall", - "src": "14200:18:13" + "src": "14269:18:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "14220:2:13", + "src": "14289:2:13", "type": "", "value": "38" } @@ -13714,13 +13765,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "14193:6:13" + "src": "14262:6:13" }, "nodeType": "YulFunctionCall", - "src": "14193:30:13" + "src": "14262:30:13" }, "nodeType": "YulExpressionStatement", - "src": "14193:30:13" + "src": "14262:30:13" }, { "expression": { @@ -13730,12 +13781,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "14243:9:13" + "src": "14312:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "14254:2:13", + "src": "14323:2:13", "type": "", "value": "64" } @@ -13743,16 +13794,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "14239:3:13" + "src": "14308:3:13" }, "nodeType": "YulFunctionCall", - "src": "14239:18:13" + "src": "14308:18:13" }, { "hexValue": "45524332303a207472616e7366657220616d6f756e7420657863656564732062", "kind": "string", "nodeType": "YulLiteral", - "src": "14259:34:13", + "src": "14328:34:13", "type": "", "value": "ERC20: transfer amount exceeds b" } @@ -13760,13 +13811,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "14232:6:13" + "src": "14301:6:13" }, "nodeType": "YulFunctionCall", - "src": "14232:62:13" + "src": "14301:62:13" }, "nodeType": "YulExpressionStatement", - "src": "14232:62:13" + "src": "14301:62:13" }, { "expression": { @@ -13776,12 +13827,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "14314:9:13" + "src": "14383:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "14325:2:13", + "src": "14394:2:13", "type": "", "value": "96" } @@ -13789,16 +13840,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "14310:3:13" + "src": "14379:3:13" }, "nodeType": "YulFunctionCall", - "src": "14310:18:13" + "src": "14379:18:13" }, { "hexValue": "616c616e6365", "kind": "string", "nodeType": "YulLiteral", - "src": "14330:8:13", + "src": "14399:8:13", "type": "", "value": "alance" } @@ -13806,28 +13857,28 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "14303:6:13" + "src": "14372:6:13" }, "nodeType": "YulFunctionCall", - "src": "14303:36:13" + "src": "14372:36:13" }, "nodeType": "YulExpressionStatement", - "src": "14303:36:13" + "src": "14372:36:13" }, { "nodeType": "YulAssignment", - "src": "14348:27:13", + "src": "14417:27:13", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "14360:9:13" + "src": "14429:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "14371:3:13", + "src": "14440:3:13", "type": "", "value": "128" } @@ -13835,16 +13886,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "14356:3:13" + "src": "14425:3:13" }, "nodeType": "YulFunctionCall", - "src": "14356:19:13" + "src": "14425:19:13" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "14348:4:13" + "src": "14417:4:13" } ] } @@ -13856,7 +13907,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "14130:9:13", + "src": "14199:9:13", "type": "" } ], @@ -13864,16 +13915,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "14144:4:13", + "src": "14213:4:13", "type": "" } ], - "src": "13979:402:13" + "src": "14048:402:13" }, { "body": { "nodeType": "YulBlock", - "src": "14560:175:13", + "src": "14629:175:13", "statements": [ { "expression": { @@ -13881,12 +13932,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "14577:9:13" + "src": "14646:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "14588:2:13", + "src": "14657:2:13", "type": "", "value": "32" } @@ -13894,13 +13945,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "14570:6:13" + "src": "14639:6:13" }, "nodeType": "YulFunctionCall", - "src": "14570:21:13" + "src": "14639:21:13" }, "nodeType": "YulExpressionStatement", - "src": "14570:21:13" + "src": "14639:21:13" }, { "expression": { @@ -13910,12 +13961,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "14611:9:13" + "src": "14680:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "14622:2:13", + "src": "14691:2:13", "type": "", "value": "32" } @@ -13923,15 +13974,15 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "14607:3:13" + "src": "14676:3:13" }, "nodeType": "YulFunctionCall", - "src": "14607:18:13" + "src": "14676:18:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "14627:2:13", + "src": "14696:2:13", "type": "", "value": "25" } @@ -13939,13 +13990,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "14600:6:13" + "src": "14669:6:13" }, "nodeType": "YulFunctionCall", - "src": "14600:30:13" + "src": "14669:30:13" }, "nodeType": "YulExpressionStatement", - "src": "14600:30:13" + "src": "14669:30:13" }, { "expression": { @@ -13955,12 +14006,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "14650:9:13" + "src": "14719:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "14661:2:13", + "src": "14730:2:13", "type": "", "value": "64" } @@ -13968,16 +14019,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "14646:3:13" + "src": "14715:3:13" }, "nodeType": "YulFunctionCall", - "src": "14646:18:13" + "src": "14715:18:13" }, { "hexValue": "4f7261636c6520616c72656164792072656769737465726564", "kind": "string", "nodeType": "YulLiteral", - "src": "14666:27:13", + "src": "14735:27:13", "type": "", "value": "Oracle already registered" } @@ -13985,28 +14036,28 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "14639:6:13" + "src": "14708:6:13" }, "nodeType": "YulFunctionCall", - "src": "14639:55:13" + "src": "14708:55:13" }, "nodeType": "YulExpressionStatement", - "src": "14639:55:13" + "src": "14708:55:13" }, { "nodeType": "YulAssignment", - "src": "14703:26:13", + "src": "14772:26:13", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "14715:9:13" + "src": "14784:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "14726:2:13", + "src": "14795:2:13", "type": "", "value": "96" } @@ -14014,16 +14065,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "14711:3:13" + "src": "14780:3:13" }, "nodeType": "YulFunctionCall", - "src": "14711:18:13" + "src": "14780:18:13" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "14703:4:13" + "src": "14772:4:13" } ] } @@ -14035,7 +14086,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "14537:9:13", + "src": "14606:9:13", "type": "" } ], @@ -14043,16 +14094,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "14551:4:13", + "src": "14620:4:13", "type": "" } ], - "src": "14386:349:13" + "src": "14455:349:13" }, { "body": { "nodeType": "YulBlock", - "src": "14914:168:13", + "src": "14983:168:13", "statements": [ { "expression": { @@ -14060,12 +14111,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "14931:9:13" + "src": "15000:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "14942:2:13", + "src": "15011:2:13", "type": "", "value": "32" } @@ -14073,13 +14124,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "14924:6:13" + "src": "14993:6:13" }, "nodeType": "YulFunctionCall", - "src": "14924:21:13" + "src": "14993:21:13" }, "nodeType": "YulExpressionStatement", - "src": "14924:21:13" + "src": "14993:21:13" }, { "expression": { @@ -14089,12 +14140,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "14965:9:13" + "src": "15034:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "14976:2:13", + "src": "15045:2:13", "type": "", "value": "32" } @@ -14102,15 +14153,15 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "14961:3:13" + "src": "15030:3:13" }, "nodeType": "YulFunctionCall", - "src": "14961:18:13" + "src": "15030:18:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "14981:2:13", + "src": "15050:2:13", "type": "", "value": "18" } @@ -14118,13 +14169,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "14954:6:13" + "src": "15023:6:13" }, "nodeType": "YulFunctionCall", - "src": "14954:30:13" + "src": "15023:30:13" }, "nodeType": "YulExpressionStatement", - "src": "14954:30:13" + "src": "15023:30:13" }, { "expression": { @@ -14134,12 +14185,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "15004:9:13" + "src": "15073:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "15015:2:13", + "src": "15084:2:13", "type": "", "value": "64" } @@ -14147,16 +14198,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "15000:3:13" + "src": "15069:3:13" }, "nodeType": "YulFunctionCall", - "src": "15000:18:13" + "src": "15069:18:13" }, { "hexValue": "416c72656164792072656769737465726564", "kind": "string", "nodeType": "YulLiteral", - "src": "15020:20:13", + "src": "15089:20:13", "type": "", "value": "Already registered" } @@ -14164,28 +14215,28 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "14993:6:13" + "src": "15062:6:13" }, "nodeType": "YulFunctionCall", - "src": "14993:48:13" + "src": "15062:48:13" }, "nodeType": "YulExpressionStatement", - "src": "14993:48:13" + "src": "15062:48:13" }, { "nodeType": "YulAssignment", - "src": "15050:26:13", + "src": "15119:26:13", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "15062:9:13" + "src": "15131:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "15073:2:13", + "src": "15142:2:13", "type": "", "value": "96" } @@ -14193,16 +14244,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "15058:3:13" + "src": "15127:3:13" }, "nodeType": "YulFunctionCall", - "src": "15058:18:13" + "src": "15127:18:13" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "15050:4:13" + "src": "15119:4:13" } ] } @@ -14214,7 +14265,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "14891:9:13", + "src": "14960:9:13", "type": "" } ], @@ -14222,16 +14273,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "14905:4:13", + "src": "14974:4:13", "type": "" } ], - "src": "14740:342:13" + "src": "14809:342:13" }, { "body": { "nodeType": "YulBlock", - "src": "15261:178:13", + "src": "15330:178:13", "statements": [ { "expression": { @@ -14239,12 +14290,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "15278:9:13" + "src": "15347:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "15289:2:13", + "src": "15358:2:13", "type": "", "value": "32" } @@ -14252,13 +14303,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "15271:6:13" + "src": "15340:6:13" }, "nodeType": "YulFunctionCall", - "src": "15271:21:13" + "src": "15340:21:13" }, "nodeType": "YulExpressionStatement", - "src": "15271:21:13" + "src": "15340:21:13" }, { "expression": { @@ -14268,12 +14319,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "15312:9:13" + "src": "15381:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "15323:2:13", + "src": "15392:2:13", "type": "", "value": "32" } @@ -14281,15 +14332,15 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "15308:3:13" + "src": "15377:3:13" }, "nodeType": "YulFunctionCall", - "src": "15308:18:13" + "src": "15377:18:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "15328:2:13", + "src": "15397:2:13", "type": "", "value": "28" } @@ -14297,13 +14348,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "15301:6:13" + "src": "15370:6:13" }, "nodeType": "YulFunctionCall", - "src": "15301:30:13" + "src": "15370:30:13" }, "nodeType": "YulExpressionStatement", - "src": "15301:30:13" + "src": "15370:30:13" }, { "expression": { @@ -14313,12 +14364,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "15351:9:13" + "src": "15420:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "15362:2:13", + "src": "15431:2:13", "type": "", "value": "64" } @@ -14326,16 +14377,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "15347:3:13" + "src": "15416:3:13" }, "nodeType": "YulFunctionCall", - "src": "15347:18:13" + "src": "15416:18:13" }, { "hexValue": "4f7261636c6573206d7573742062652033206f722067726561746572", "kind": "string", "nodeType": "YulLiteral", - "src": "15367:30:13", + "src": "15436:30:13", "type": "", "value": "Oracles must be 3 or greater" } @@ -14343,28 +14394,28 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "15340:6:13" + "src": "15409:6:13" }, "nodeType": "YulFunctionCall", - "src": "15340:58:13" + "src": "15409:58:13" }, "nodeType": "YulExpressionStatement", - "src": "15340:58:13" + "src": "15409:58:13" }, { "nodeType": "YulAssignment", - "src": "15407:26:13", + "src": "15476:26:13", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "15419:9:13" + "src": "15488:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "15430:2:13", + "src": "15499:2:13", "type": "", "value": "96" } @@ -14372,16 +14423,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "15415:3:13" + "src": "15484:3:13" }, "nodeType": "YulFunctionCall", - "src": "15415:18:13" + "src": "15484:18:13" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "15407:4:13" + "src": "15476:4:13" } ] } @@ -14393,7 +14444,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "15238:9:13", + "src": "15307:9:13", "type": "" } ], @@ -14401,16 +14452,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "15252:4:13", + "src": "15321:4:13", "type": "" } ], - "src": "15087:352:13" + "src": "15156:352:13" }, { "body": { "nodeType": "YulBlock", - "src": "15618:166:13", + "src": "15687:166:13", "statements": [ { "expression": { @@ -14418,12 +14469,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "15635:9:13" + "src": "15704:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "15646:2:13", + "src": "15715:2:13", "type": "", "value": "32" } @@ -14431,13 +14482,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "15628:6:13" + "src": "15697:6:13" }, "nodeType": "YulFunctionCall", - "src": "15628:21:13" + "src": "15697:21:13" }, "nodeType": "YulExpressionStatement", - "src": "15628:21:13" + "src": "15697:21:13" }, { "expression": { @@ -14447,12 +14498,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "15669:9:13" + "src": "15738:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "15680:2:13", + "src": "15749:2:13", "type": "", "value": "32" } @@ -14460,15 +14511,15 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "15665:3:13" + "src": "15734:3:13" }, "nodeType": "YulFunctionCall", - "src": "15665:18:13" + "src": "15734:18:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "15685:2:13", + "src": "15754:2:13", "type": "", "value": "16" } @@ -14476,13 +14527,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "15658:6:13" + "src": "15727:6:13" }, "nodeType": "YulFunctionCall", - "src": "15658:30:13" + "src": "15727:30:13" }, "nodeType": "YulExpressionStatement", - "src": "15658:30:13" + "src": "15727:30:13" }, { "expression": { @@ -14492,12 +14543,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "15708:9:13" + "src": "15777:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "15719:2:13", + "src": "15788:2:13", "type": "", "value": "64" } @@ -14505,16 +14556,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "15704:3:13" + "src": "15773:3:13" }, "nodeType": "YulFunctionCall", - "src": "15704:18:13" + "src": "15773:18:13" }, { "hexValue": "5061757361626c653a20706175736564", "kind": "string", "nodeType": "YulLiteral", - "src": "15724:18:13", + "src": "15793:18:13", "type": "", "value": "Pausable: paused" } @@ -14522,28 +14573,28 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "15697:6:13" + "src": "15766:6:13" }, "nodeType": "YulFunctionCall", - "src": "15697:46:13" + "src": "15766:46:13" }, "nodeType": "YulExpressionStatement", - "src": "15697:46:13" + "src": "15766:46:13" }, { "nodeType": "YulAssignment", - "src": "15752:26:13", + "src": "15821:26:13", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "15764:9:13" + "src": "15833:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "15775:2:13", + "src": "15844:2:13", "type": "", "value": "96" } @@ -14551,16 +14602,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "15760:3:13" + "src": "15829:3:13" }, "nodeType": "YulFunctionCall", - "src": "15760:18:13" + "src": "15829:18:13" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "15752:4:13" + "src": "15821:4:13" } ] } @@ -14572,7 +14623,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "15595:9:13", + "src": "15664:9:13", "type": "" } ], @@ -14580,16 +14631,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "15609:4:13", + "src": "15678:4:13", "type": "" } ], - "src": "15444:340:13" + "src": "15513:340:13" }, { "body": { "nodeType": "YulBlock", - "src": "15963:171:13", + "src": "16032:171:13", "statements": [ { "expression": { @@ -14597,12 +14648,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "15980:9:13" + "src": "16049:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "15991:2:13", + "src": "16060:2:13", "type": "", "value": "32" } @@ -14610,13 +14661,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "15973:6:13" + "src": "16042:6:13" }, "nodeType": "YulFunctionCall", - "src": "15973:21:13" + "src": "16042:21:13" }, "nodeType": "YulExpressionStatement", - "src": "15973:21:13" + "src": "16042:21:13" }, { "expression": { @@ -14626,12 +14677,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "16014:9:13" + "src": "16083:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "16025:2:13", + "src": "16094:2:13", "type": "", "value": "32" } @@ -14639,15 +14690,15 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "16010:3:13" + "src": "16079:3:13" }, "nodeType": "YulFunctionCall", - "src": "16010:18:13" + "src": "16079:18:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "16030:2:13", + "src": "16099:2:13", "type": "", "value": "21" } @@ -14655,13 +14706,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "16003:6:13" + "src": "16072:6:13" }, "nodeType": "YulFunctionCall", - "src": "16003:30:13" + "src": "16072:30:13" }, "nodeType": "YulExpressionStatement", - "src": "16003:30:13" + "src": "16072:30:13" }, { "expression": { @@ -14671,12 +14722,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "16053:9:13" + "src": "16122:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "16064:2:13", + "src": "16133:2:13", "type": "", "value": "64" } @@ -14684,16 +14735,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "16049:3:13" + "src": "16118:3:13" }, "nodeType": "YulFunctionCall", - "src": "16049:18:13" + "src": "16118:18:13" }, { "hexValue": "4f7261636c65206e6f742072656769737465726564", "kind": "string", "nodeType": "YulLiteral", - "src": "16069:23:13", + "src": "16138:23:13", "type": "", "value": "Oracle not registered" } @@ -14701,28 +14752,28 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "16042:6:13" + "src": "16111:6:13" }, "nodeType": "YulFunctionCall", - "src": "16042:51:13" + "src": "16111:51:13" }, "nodeType": "YulExpressionStatement", - "src": "16042:51:13" + "src": "16111:51:13" }, { "nodeType": "YulAssignment", - "src": "16102:26:13", + "src": "16171:26:13", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "16114:9:13" + "src": "16183:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "16125:2:13", + "src": "16194:2:13", "type": "", "value": "96" } @@ -14730,16 +14781,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "16110:3:13" + "src": "16179:3:13" }, "nodeType": "YulFunctionCall", - "src": "16110:18:13" + "src": "16179:18:13" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "16102:4:13" + "src": "16171:4:13" } ] } @@ -14751,7 +14802,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "15940:9:13", + "src": "16009:9:13", "type": "" } ], @@ -14759,16 +14810,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "15954:4:13", + "src": "16023:4:13", "type": "" } ], - "src": "15789:345:13" + "src": "15858:345:13" }, { "body": { "nodeType": "YulBlock", - "src": "16313:174:13", + "src": "16382:174:13", "statements": [ { "expression": { @@ -14776,12 +14827,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "16330:9:13" + "src": "16399:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "16341:2:13", + "src": "16410:2:13", "type": "", "value": "32" } @@ -14789,13 +14840,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "16323:6:13" + "src": "16392:6:13" }, "nodeType": "YulFunctionCall", - "src": "16323:21:13" + "src": "16392:21:13" }, "nodeType": "YulExpressionStatement", - "src": "16323:21:13" + "src": "16392:21:13" }, { "expression": { @@ -14805,12 +14856,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "16364:9:13" + "src": "16433:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "16375:2:13", + "src": "16444:2:13", "type": "", "value": "32" } @@ -14818,15 +14869,15 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "16360:3:13" + "src": "16429:3:13" }, "nodeType": "YulFunctionCall", - "src": "16360:18:13" + "src": "16429:18:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "16380:2:13", + "src": "16449:2:13", "type": "", "value": "24" } @@ -14834,13 +14885,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "16353:6:13" + "src": "16422:6:13" }, "nodeType": "YulFunctionCall", - "src": "16353:30:13" + "src": "16422:30:13" }, "nodeType": "YulExpressionStatement", - "src": "16353:30:13" + "src": "16422:30:13" }, { "expression": { @@ -14850,12 +14901,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "16403:9:13" + "src": "16472:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "16414:2:13", + "src": "16483:2:13", "type": "", "value": "64" } @@ -14863,16 +14914,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "16399:3:13" + "src": "16468:3:13" }, "nodeType": "YulFunctionCall", - "src": "16399:18:13" + "src": "16468:18:13" }, { "hexValue": "437573746f6469616e206e6f742072656769737465726564", "kind": "string", "nodeType": "YulLiteral", - "src": "16419:26:13", + "src": "16488:26:13", "type": "", "value": "Custodian not registered" } @@ -14880,28 +14931,28 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "16392:6:13" + "src": "16461:6:13" }, "nodeType": "YulFunctionCall", - "src": "16392:54:13" + "src": "16461:54:13" }, "nodeType": "YulExpressionStatement", - "src": "16392:54:13" + "src": "16461:54:13" }, { "nodeType": "YulAssignment", - "src": "16455:26:13", + "src": "16524:26:13", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "16467:9:13" + "src": "16536:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "16478:2:13", + "src": "16547:2:13", "type": "", "value": "96" } @@ -14909,16 +14960,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "16463:3:13" + "src": "16532:3:13" }, "nodeType": "YulFunctionCall", - "src": "16463:18:13" + "src": "16532:18:13" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "16455:4:13" + "src": "16524:4:13" } ] } @@ -14930,7 +14981,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "16290:9:13", + "src": "16359:9:13", "type": "" } ], @@ -14938,16 +14989,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "16304:4:13", + "src": "16373:4:13", "type": "" } ], - "src": "16139:348:13" + "src": "16208:348:13" }, { "body": { "nodeType": "YulBlock", - "src": "16666:170:13", + "src": "16735:170:13", "statements": [ { "expression": { @@ -14955,12 +15006,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "16683:9:13" + "src": "16752:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "16694:2:13", + "src": "16763:2:13", "type": "", "value": "32" } @@ -14968,13 +15019,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "16676:6:13" + "src": "16745:6:13" }, "nodeType": "YulFunctionCall", - "src": "16676:21:13" + "src": "16745:21:13" }, "nodeType": "YulExpressionStatement", - "src": "16676:21:13" + "src": "16745:21:13" }, { "expression": { @@ -14984,12 +15035,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "16717:9:13" + "src": "16786:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "16728:2:13", + "src": "16797:2:13", "type": "", "value": "32" } @@ -14997,15 +15048,15 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "16713:3:13" + "src": "16782:3:13" }, "nodeType": "YulFunctionCall", - "src": "16713:18:13" + "src": "16782:18:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "16733:2:13", + "src": "16802:2:13", "type": "", "value": "20" } @@ -15013,13 +15064,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "16706:6:13" + "src": "16775:6:13" }, "nodeType": "YulFunctionCall", - "src": "16706:30:13" + "src": "16775:30:13" }, "nodeType": "YulExpressionStatement", - "src": "16706:30:13" + "src": "16775:30:13" }, { "expression": { @@ -15029,12 +15080,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "16756:9:13" + "src": "16825:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "16767:2:13", + "src": "16836:2:13", "type": "", "value": "64" } @@ -15042,16 +15093,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "16752:3:13" + "src": "16821:3:13" }, "nodeType": "YulFunctionCall", - "src": "16752:18:13" + "src": "16821:18:13" }, { "hexValue": "43616e6e6f742072656769737465722073656c66", "kind": "string", "nodeType": "YulLiteral", - "src": "16772:22:13", + "src": "16841:22:13", "type": "", "value": "Cannot register self" } @@ -15059,28 +15110,28 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "16745:6:13" + "src": "16814:6:13" }, "nodeType": "YulFunctionCall", - "src": "16745:50:13" + "src": "16814:50:13" }, "nodeType": "YulExpressionStatement", - "src": "16745:50:13" + "src": "16814:50:13" }, { "nodeType": "YulAssignment", - "src": "16804:26:13", + "src": "16873:26:13", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "16816:9:13" + "src": "16885:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "16827:2:13", + "src": "16896:2:13", "type": "", "value": "96" } @@ -15088,16 +15139,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "16812:3:13" + "src": "16881:3:13" }, "nodeType": "YulFunctionCall", - "src": "16812:18:13" + "src": "16881:18:13" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "16804:4:13" + "src": "16873:4:13" } ] } @@ -15109,7 +15160,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "16643:9:13", + "src": "16712:9:13", "type": "" } ], @@ -15117,16 +15168,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "16657:4:13", + "src": "16726:4:13", "type": "" } ], - "src": "16492:344:13" + "src": "16561:344:13" }, { "body": { "nodeType": "YulBlock", - "src": "17172:355:13", + "src": "17241:355:13", "statements": [ { "expression": { @@ -15134,12 +15185,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "17189:9:13" + "src": "17258:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "17200:3:13", + "src": "17269:3:13", "type": "", "value": "128" } @@ -15147,13 +15198,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "17182:6:13" + "src": "17251:6:13" }, "nodeType": "YulFunctionCall", - "src": "17182:22:13" + "src": "17251:22:13" }, "nodeType": "YulExpressionStatement", - "src": "17182:22:13" + "src": "17251:22:13" }, { "expression": { @@ -15163,12 +15214,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "17224:9:13" + "src": "17293:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "17235:3:13", + "src": "17304:3:13", "type": "", "value": "128" } @@ -15176,15 +15227,15 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "17220:3:13" + "src": "17289:3:13" }, "nodeType": "YulFunctionCall", - "src": "17220:19:13" + "src": "17289:19:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "17241:1:13", + "src": "17310:1:13", "type": "", "value": "9" } @@ -15192,13 +15243,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "17213:6:13" + "src": "17282:6:13" }, "nodeType": "YulFunctionCall", - "src": "17213:30:13" + "src": "17282:30:13" }, "nodeType": "YulExpressionStatement", - "src": "17213:30:13" + "src": "17282:30:13" }, { "expression": { @@ -15208,12 +15259,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "17263:9:13" + "src": "17332:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "17274:3:13", + "src": "17343:3:13", "type": "", "value": "160" } @@ -15221,16 +15272,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "17259:3:13" + "src": "17328:3:13" }, "nodeType": "YulFunctionCall", - "src": "17259:19:13" + "src": "17328:19:13" }, { "hexValue": "637573746f6469616e", "kind": "string", "nodeType": "YulLiteral", - "src": "17280:11:13", + "src": "17349:11:13", "type": "", "value": "custodian" } @@ -15238,13 +15289,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "17252:6:13" + "src": "17321:6:13" }, "nodeType": "YulFunctionCall", - "src": "17252:40:13" + "src": "17321:40:13" }, "nodeType": "YulExpressionStatement", - "src": "17252:40:13" + "src": "17321:40:13" }, { "expression": { @@ -15254,12 +15305,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "17312:9:13" + "src": "17381:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "17323:4:13", + "src": "17392:4:13", "type": "", "value": "0x20" } @@ -15267,17 +15318,17 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "17308:3:13" + "src": "17377:3:13" }, "nodeType": "YulFunctionCall", - "src": "17308:20:13" + "src": "17377:20:13" }, { "arguments": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "17334:6:13" + "src": "17403:6:13" }, { "arguments": [ @@ -15286,14 +15337,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "17350:3:13", + "src": "17419:3:13", "type": "", "value": "160" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "17355:1:13", + "src": "17424:1:13", "type": "", "value": "1" } @@ -15301,15 +15352,15 @@ "functionName": { "name": "shl", "nodeType": "YulIdentifier", - "src": "17346:3:13" + "src": "17415:3:13" }, "nodeType": "YulFunctionCall", - "src": "17346:11:13" + "src": "17415:11:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "17359:1:13", + "src": "17428:1:13", "type": "", "value": "1" } @@ -15317,31 +15368,31 @@ "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "17342:3:13" + "src": "17411:3:13" }, "nodeType": "YulFunctionCall", - "src": "17342:19:13" + "src": "17411:19:13" } ], "functionName": { "name": "and", "nodeType": "YulIdentifier", - "src": "17330:3:13" + "src": "17399:3:13" }, "nodeType": "YulFunctionCall", - "src": "17330:32:13" + "src": "17399:32:13" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "17301:6:13" + "src": "17370:6:13" }, "nodeType": "YulFunctionCall", - "src": "17301:62:13" + "src": "17370:62:13" }, "nodeType": "YulExpressionStatement", - "src": "17301:62:13" + "src": "17370:62:13" }, { "expression": { @@ -15351,12 +15402,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "17383:9:13" + "src": "17452:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "17394:2:13", + "src": "17463:2:13", "type": "", "value": "64" } @@ -15364,15 +15415,15 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "17379:3:13" + "src": "17448:3:13" }, "nodeType": "YulFunctionCall", - "src": "17379:18:13" + "src": "17448:18:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "17399:3:13", + "src": "17468:3:13", "type": "", "value": "192" } @@ -15380,13 +15431,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "17372:6:13" + "src": "17441:6:13" }, "nodeType": "YulFunctionCall", - "src": "17372:31:13" + "src": "17441:31:13" }, "nodeType": "YulExpressionStatement", - "src": "17372:31:13" + "src": "17441:31:13" }, { "expression": { @@ -15396,12 +15447,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "17423:9:13" + "src": "17492:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "17434:3:13", + "src": "17503:3:13", "type": "", "value": "192" } @@ -15409,15 +15460,15 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "17419:3:13" + "src": "17488:3:13" }, "nodeType": "YulFunctionCall", - "src": "17419:19:13" + "src": "17488:19:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "17440:1:13", + "src": "17509:1:13", "type": "", "value": "0" } @@ -15425,28 +15476,28 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "17412:6:13" + "src": "17481:6:13" }, "nodeType": "YulFunctionCall", - "src": "17412:30:13" + "src": "17481:30:13" }, "nodeType": "YulExpressionStatement", - "src": "17412:30:13" + "src": "17481:30:13" }, { "nodeType": "YulAssignment", - "src": "17451:27:13", + "src": "17520:27:13", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "17463:9:13" + "src": "17532:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "17474:3:13", + "src": "17543:3:13", "type": "", "value": "224" } @@ -15454,16 +15505,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "17459:3:13" + "src": "17528:3:13" }, "nodeType": "YulFunctionCall", - "src": "17459:19:13" + "src": "17528:19:13" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "17451:4:13" + "src": "17520:4:13" } ] }, @@ -15475,12 +15526,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "17498:9:13" + "src": "17567:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "17509:2:13", + "src": "17578:2:13", "type": "", "value": "96" } @@ -15488,27 +15539,27 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "17494:3:13" + "src": "17563:3:13" }, "nodeType": "YulFunctionCall", - "src": "17494:18:13" + "src": "17563:18:13" }, { "name": "value1", "nodeType": "YulIdentifier", - "src": "17514:6:13" + "src": "17583:6:13" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "17487:6:13" + "src": "17556:6:13" }, "nodeType": "YulFunctionCall", - "src": "17487:34:13" + "src": "17556:34:13" }, "nodeType": "YulExpressionStatement", - "src": "17487:34:13" + "src": "17556:34:13" } ] }, @@ -15518,19 +15569,19 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "17133:9:13", + "src": "17202:9:13", "type": "" }, { "name": "value1", "nodeType": "YulTypedName", - "src": "17144:6:13", + "src": "17213:6:13", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", - "src": "17152:6:13", + "src": "17221:6:13", "type": "" } ], @@ -15538,16 +15589,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "17163:4:13", + "src": "17232:4:13", "type": "" } ], - "src": "16841:686:13" + "src": "16910:686:13" }, { "body": { "nodeType": "YulBlock", - "src": "17810:340:13", + "src": "17879:340:13", "statements": [ { "expression": { @@ -15555,12 +15606,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "17827:9:13" + "src": "17896:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "17838:3:13", + "src": "17907:3:13", "type": "", "value": "128" } @@ -15568,13 +15619,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "17820:6:13" + "src": "17889:6:13" }, "nodeType": "YulFunctionCall", - "src": "17820:22:13" + "src": "17889:22:13" }, "nodeType": "YulExpressionStatement", - "src": "17820:22:13" + "src": "17889:22:13" }, { "expression": { @@ -15584,12 +15635,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "17862:9:13" + "src": "17931:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "17873:3:13", + "src": "17942:3:13", "type": "", "value": "128" } @@ -15597,15 +15648,15 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "17858:3:13" + "src": "17927:3:13" }, "nodeType": "YulFunctionCall", - "src": "17858:19:13" + "src": "17927:19:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "17879:1:13", + "src": "17948:1:13", "type": "", "value": "6" } @@ -15613,13 +15664,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "17851:6:13" + "src": "17920:6:13" }, "nodeType": "YulFunctionCall", - "src": "17851:30:13" + "src": "17920:30:13" }, "nodeType": "YulExpressionStatement", - "src": "17851:30:13" + "src": "17920:30:13" }, { "expression": { @@ -15629,12 +15680,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "17901:9:13" + "src": "17970:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "17912:3:13", + "src": "17981:3:13", "type": "", "value": "160" } @@ -15642,16 +15693,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "17897:3:13" + "src": "17966:3:13" }, "nodeType": "YulFunctionCall", - "src": "17897:19:13" + "src": "17966:19:13" }, { "hexValue": "6f7261636c65", "kind": "string", "nodeType": "YulLiteral", - "src": "17918:8:13", + "src": "17987:8:13", "type": "", "value": "oracle" } @@ -15659,13 +15710,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "17890:6:13" + "src": "17959:6:13" }, "nodeType": "YulFunctionCall", - "src": "17890:37:13" + "src": "17959:37:13" }, "nodeType": "YulExpressionStatement", - "src": "17890:37:13" + "src": "17959:37:13" }, { "expression": { @@ -15675,12 +15726,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "17947:9:13" + "src": "18016:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "17958:4:13", + "src": "18027:4:13", "type": "", "value": "0x20" } @@ -15688,17 +15739,17 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "17943:3:13" + "src": "18012:3:13" }, "nodeType": "YulFunctionCall", - "src": "17943:20:13" + "src": "18012:20:13" }, { "arguments": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "17969:6:13" + "src": "18038:6:13" }, { "arguments": [ @@ -15707,14 +15758,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "17985:3:13", + "src": "18054:3:13", "type": "", "value": "160" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "17990:1:13", + "src": "18059:1:13", "type": "", "value": "1" } @@ -15722,15 +15773,15 @@ "functionName": { "name": "shl", "nodeType": "YulIdentifier", - "src": "17981:3:13" + "src": "18050:3:13" }, "nodeType": "YulFunctionCall", - "src": "17981:11:13" + "src": "18050:11:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "17994:1:13", + "src": "18063:1:13", "type": "", "value": "1" } @@ -15738,31 +15789,31 @@ "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "17977:3:13" + "src": "18046:3:13" }, "nodeType": "YulFunctionCall", - "src": "17977:19:13" + "src": "18046:19:13" } ], "functionName": { "name": "and", "nodeType": "YulIdentifier", - "src": "17965:3:13" + "src": "18034:3:13" }, "nodeType": "YulFunctionCall", - "src": "17965:32:13" + "src": "18034:32:13" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "17936:6:13" + "src": "18005:6:13" }, "nodeType": "YulFunctionCall", - "src": "17936:62:13" + "src": "18005:62:13" }, "nodeType": "YulExpressionStatement", - "src": "17936:62:13" + "src": "18005:62:13" }, { "expression": { @@ -15772,12 +15823,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "18018:9:13" + "src": "18087:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "18029:2:13", + "src": "18098:2:13", "type": "", "value": "64" } @@ -15785,15 +15836,15 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "18014:3:13" + "src": "18083:3:13" }, "nodeType": "YulFunctionCall", - "src": "18014:18:13" + "src": "18083:18:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "18034:3:13", + "src": "18103:3:13", "type": "", "value": "192" } @@ -15801,35 +15852,35 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "18007:6:13" + "src": "18076:6:13" }, "nodeType": "YulFunctionCall", - "src": "18007:31:13" + "src": "18076:31:13" }, "nodeType": "YulExpressionStatement", - "src": "18007:31:13" + "src": "18076:31:13" }, { "nodeType": "YulAssignment", - "src": "18047:54:13", + "src": "18116:54:13", "value": { "arguments": [ { "name": "value1", "nodeType": "YulIdentifier", - "src": "18073:6:13" + "src": "18142:6:13" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "18085:9:13" + "src": "18154:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "18096:3:13", + "src": "18165:3:13", "type": "", "value": "192" } @@ -15837,25 +15888,25 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "18081:3:13" + "src": "18150:3:13" }, "nodeType": "YulFunctionCall", - "src": "18081:19:13" + "src": "18150:19:13" } ], "functionName": { "name": "abi_encode_string", "nodeType": "YulIdentifier", - "src": "18055:17:13" + "src": "18124:17:13" }, "nodeType": "YulFunctionCall", - "src": "18055:46:13" + "src": "18124:46:13" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "18047:4:13" + "src": "18116:4:13" } ] }, @@ -15867,12 +15918,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "18121:9:13" + "src": "18190:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "18132:2:13", + "src": "18201:2:13", "type": "", "value": "96" } @@ -15880,27 +15931,27 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "18117:3:13" + "src": "18186:3:13" }, "nodeType": "YulFunctionCall", - "src": "18117:18:13" + "src": "18186:18:13" }, { "name": "value2", "nodeType": "YulIdentifier", - "src": "18137:6:13" + "src": "18206:6:13" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "18110:6:13" + "src": "18179:6:13" }, "nodeType": "YulFunctionCall", - "src": "18110:34:13" + "src": "18179:34:13" }, "nodeType": "YulExpressionStatement", - "src": "18110:34:13" + "src": "18179:34:13" } ] }, @@ -15910,25 +15961,25 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "17763:9:13", + "src": "17832:9:13", "type": "" }, { "name": "value2", "nodeType": "YulTypedName", - "src": "17774:6:13", + "src": "17843:6:13", "type": "" }, { "name": "value1", "nodeType": "YulTypedName", - "src": "17782:6:13", + "src": "17851:6:13", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", - "src": "17790:6:13", + "src": "17859:6:13", "type": "" } ], @@ -15936,16 +15987,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "17801:4:13", + "src": "17870:4:13", "type": "" } ], - "src": "17532:618:13" + "src": "17601:618:13" }, { "body": { "nodeType": "YulBlock", - "src": "18329:165:13", + "src": "18398:165:13", "statements": [ { "expression": { @@ -15953,12 +16004,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "18346:9:13" + "src": "18415:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "18357:2:13", + "src": "18426:2:13", "type": "", "value": "32" } @@ -15966,13 +16017,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "18339:6:13" + "src": "18408:6:13" }, "nodeType": "YulFunctionCall", - "src": "18339:21:13" + "src": "18408:21:13" }, "nodeType": "YulExpressionStatement", - "src": "18339:21:13" + "src": "18408:21:13" }, { "expression": { @@ -15982,12 +16033,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "18380:9:13" + "src": "18449:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "18391:2:13", + "src": "18460:2:13", "type": "", "value": "32" } @@ -15995,15 +16046,15 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "18376:3:13" + "src": "18445:3:13" }, "nodeType": "YulFunctionCall", - "src": "18376:18:13" + "src": "18445:18:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "18396:2:13", + "src": "18465:2:13", "type": "", "value": "15" } @@ -16011,13 +16062,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "18369:6:13" + "src": "18438:6:13" }, "nodeType": "YulFunctionCall", - "src": "18369:30:13" + "src": "18438:30:13" }, "nodeType": "YulExpressionStatement", - "src": "18369:30:13" + "src": "18438:30:13" }, { "expression": { @@ -16027,12 +16078,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "18419:9:13" + "src": "18488:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "18430:2:13", + "src": "18499:2:13", "type": "", "value": "64" } @@ -16040,16 +16091,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "18415:3:13" + "src": "18484:3:13" }, "nodeType": "YulFunctionCall", - "src": "18415:18:13" + "src": "18484:18:13" }, { "hexValue": "496e76616c6964206163636f756e74", "kind": "string", "nodeType": "YulLiteral", - "src": "18435:17:13", + "src": "18504:17:13", "type": "", "value": "Invalid account" } @@ -16057,28 +16108,28 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "18408:6:13" + "src": "18477:6:13" }, "nodeType": "YulFunctionCall", - "src": "18408:45:13" + "src": "18477:45:13" }, "nodeType": "YulExpressionStatement", - "src": "18408:45:13" + "src": "18477:45:13" }, { "nodeType": "YulAssignment", - "src": "18462:26:13", + "src": "18531:26:13", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "18474:9:13" + "src": "18543:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "18485:2:13", + "src": "18554:2:13", "type": "", "value": "96" } @@ -16086,16 +16137,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "18470:3:13" + "src": "18539:3:13" }, "nodeType": "YulFunctionCall", - "src": "18470:18:13" + "src": "18539:18:13" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "18462:4:13" + "src": "18531:4:13" } ] } @@ -16107,7 +16158,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "18306:9:13", + "src": "18375:9:13", "type": "" } ], @@ -16115,16 +16166,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "18320:4:13", + "src": "18389:4:13", "type": "" } ], - "src": "18155:339:13" + "src": "18224:339:13" }, { "body": { "nodeType": "YulBlock", - "src": "18673:169:13", + "src": "18742:169:13", "statements": [ { "expression": { @@ -16132,12 +16183,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "18690:9:13" + "src": "18759:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "18701:2:13", + "src": "18770:2:13", "type": "", "value": "32" } @@ -16145,13 +16196,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "18683:6:13" + "src": "18752:6:13" }, "nodeType": "YulFunctionCall", - "src": "18683:21:13" + "src": "18752:21:13" }, "nodeType": "YulExpressionStatement", - "src": "18683:21:13" + "src": "18752:21:13" }, { "expression": { @@ -16161,12 +16212,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "18724:9:13" + "src": "18793:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "18735:2:13", + "src": "18804:2:13", "type": "", "value": "32" } @@ -16174,15 +16225,15 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "18720:3:13" + "src": "18789:3:13" }, "nodeType": "YulFunctionCall", - "src": "18720:18:13" + "src": "18789:18:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "18740:2:13", + "src": "18809:2:13", "type": "", "value": "19" } @@ -16190,13 +16241,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "18713:6:13" + "src": "18782:6:13" }, "nodeType": "YulFunctionCall", - "src": "18713:30:13" + "src": "18782:30:13" }, "nodeType": "YulExpressionStatement", - "src": "18713:30:13" + "src": "18782:30:13" }, { "expression": { @@ -16206,12 +16257,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "18763:9:13" + "src": "18832:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "18774:2:13", + "src": "18843:2:13", "type": "", "value": "64" } @@ -16219,16 +16270,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "18759:3:13" + "src": "18828:3:13" }, "nodeType": "YulFunctionCall", - "src": "18759:18:13" + "src": "18828:18:13" }, { "hexValue": "496e76616c69642046494f2041646472657373", "kind": "string", "nodeType": "YulLiteral", - "src": "18779:21:13", + "src": "18848:21:13", "type": "", "value": "Invalid FIO Address" } @@ -16236,28 +16287,28 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "18752:6:13" + "src": "18821:6:13" }, "nodeType": "YulFunctionCall", - "src": "18752:49:13" + "src": "18821:49:13" }, "nodeType": "YulExpressionStatement", - "src": "18752:49:13" + "src": "18821:49:13" }, { "nodeType": "YulAssignment", - "src": "18810:26:13", + "src": "18879:26:13", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "18822:9:13" + "src": "18891:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "18833:2:13", + "src": "18902:2:13", "type": "", "value": "96" } @@ -16265,16 +16316,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "18818:3:13" + "src": "18887:3:13" }, "nodeType": "YulFunctionCall", - "src": "18818:18:13" + "src": "18887:18:13" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "18810:4:13" + "src": "18879:4:13" } ] } @@ -16286,7 +16337,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "18650:9:13", + "src": "18719:9:13", "type": "" } ], @@ -16294,16 +16345,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "18664:4:13", + "src": "18733:4:13", "type": "" } ], - "src": "18499:343:13" + "src": "18568:343:13" }, { "body": { "nodeType": "YulBlock", - "src": "19021:223:13", + "src": "19090:223:13", "statements": [ { "expression": { @@ -16311,12 +16362,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "19038:9:13" + "src": "19107:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "19049:2:13", + "src": "19118:2:13", "type": "", "value": "32" } @@ -16324,13 +16375,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "19031:6:13" + "src": "19100:6:13" }, "nodeType": "YulFunctionCall", - "src": "19031:21:13" + "src": "19100:21:13" }, "nodeType": "YulExpressionStatement", - "src": "19031:21:13" + "src": "19100:21:13" }, { "expression": { @@ -16340,12 +16391,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "19072:9:13" + "src": "19141:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "19083:2:13", + "src": "19152:2:13", "type": "", "value": "32" } @@ -16353,15 +16404,15 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "19068:3:13" + "src": "19137:3:13" }, "nodeType": "YulFunctionCall", - "src": "19068:18:13" + "src": "19137:18:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "19088:2:13", + "src": "19157:2:13", "type": "", "value": "33" } @@ -16369,13 +16420,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "19061:6:13" + "src": "19130:6:13" }, "nodeType": "YulFunctionCall", - "src": "19061:30:13" + "src": "19130:30:13" }, "nodeType": "YulExpressionStatement", - "src": "19061:30:13" + "src": "19130:30:13" }, { "expression": { @@ -16385,12 +16436,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "19111:9:13" + "src": "19180:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "19122:2:13", + "src": "19191:2:13", "type": "", "value": "64" } @@ -16398,16 +16449,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "19107:3:13" + "src": "19176:3:13" }, "nodeType": "YulFunctionCall", - "src": "19107:18:13" + "src": "19176:18:13" }, { "hexValue": "45524332303a206275726e2066726f6d20746865207a65726f20616464726573", "kind": "string", "nodeType": "YulLiteral", - "src": "19127:34:13", + "src": "19196:34:13", "type": "", "value": "ERC20: burn from the zero addres" } @@ -16415,13 +16466,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "19100:6:13" + "src": "19169:6:13" }, "nodeType": "YulFunctionCall", - "src": "19100:62:13" + "src": "19169:62:13" }, "nodeType": "YulExpressionStatement", - "src": "19100:62:13" + "src": "19169:62:13" }, { "expression": { @@ -16431,12 +16482,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "19182:9:13" + "src": "19251:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "19193:2:13", + "src": "19262:2:13", "type": "", "value": "96" } @@ -16444,16 +16495,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "19178:3:13" + "src": "19247:3:13" }, "nodeType": "YulFunctionCall", - "src": "19178:18:13" + "src": "19247:18:13" }, { "hexValue": "73", "kind": "string", "nodeType": "YulLiteral", - "src": "19198:3:13", + "src": "19267:3:13", "type": "", "value": "s" } @@ -16461,28 +16512,28 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "19171:6:13" + "src": "19240:6:13" }, "nodeType": "YulFunctionCall", - "src": "19171:31:13" + "src": "19240:31:13" }, "nodeType": "YulExpressionStatement", - "src": "19171:31:13" + "src": "19240:31:13" }, { "nodeType": "YulAssignment", - "src": "19211:27:13", + "src": "19280:27:13", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "19223:9:13" + "src": "19292:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "19234:3:13", + "src": "19303:3:13", "type": "", "value": "128" } @@ -16490,16 +16541,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "19219:3:13" + "src": "19288:3:13" }, "nodeType": "YulFunctionCall", - "src": "19219:19:13" + "src": "19288:19:13" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "19211:4:13" + "src": "19280:4:13" } ] } @@ -16511,7 +16562,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "18998:9:13", + "src": "19067:9:13", "type": "" } ], @@ -16519,16 +16570,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "19012:4:13", + "src": "19081:4:13", "type": "" } ], - "src": "18847:397:13" + "src": "18916:397:13" }, { "body": { "nodeType": "YulBlock", - "src": "19423:227:13", + "src": "19492:227:13", "statements": [ { "expression": { @@ -16536,12 +16587,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "19440:9:13" + "src": "19509:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "19451:2:13", + "src": "19520:2:13", "type": "", "value": "32" } @@ -16549,13 +16600,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "19433:6:13" + "src": "19502:6:13" }, "nodeType": "YulFunctionCall", - "src": "19433:21:13" + "src": "19502:21:13" }, "nodeType": "YulExpressionStatement", - "src": "19433:21:13" + "src": "19502:21:13" }, { "expression": { @@ -16565,12 +16616,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "19474:9:13" + "src": "19543:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "19485:2:13", + "src": "19554:2:13", "type": "", "value": "32" } @@ -16578,15 +16629,15 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "19470:3:13" + "src": "19539:3:13" }, "nodeType": "YulFunctionCall", - "src": "19470:18:13" + "src": "19539:18:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "19490:2:13", + "src": "19559:2:13", "type": "", "value": "37" } @@ -16594,13 +16645,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "19463:6:13" + "src": "19532:6:13" }, "nodeType": "YulFunctionCall", - "src": "19463:30:13" + "src": "19532:30:13" }, "nodeType": "YulExpressionStatement", - "src": "19463:30:13" + "src": "19532:30:13" }, { "expression": { @@ -16610,12 +16661,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "19513:9:13" + "src": "19582:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "19524:2:13", + "src": "19593:2:13", "type": "", "value": "64" } @@ -16623,16 +16674,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "19509:3:13" + "src": "19578:3:13" }, "nodeType": "YulFunctionCall", - "src": "19509:18:13" + "src": "19578:18:13" }, { "hexValue": "45524332303a207472616e736665722066726f6d20746865207a65726f206164", "kind": "string", "nodeType": "YulLiteral", - "src": "19529:34:13", + "src": "19598:34:13", "type": "", "value": "ERC20: transfer from the zero ad" } @@ -16640,13 +16691,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "19502:6:13" + "src": "19571:6:13" }, "nodeType": "YulFunctionCall", - "src": "19502:62:13" + "src": "19571:62:13" }, "nodeType": "YulExpressionStatement", - "src": "19502:62:13" + "src": "19571:62:13" }, { "expression": { @@ -16656,12 +16707,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "19584:9:13" + "src": "19653:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "19595:2:13", + "src": "19664:2:13", "type": "", "value": "96" } @@ -16669,16 +16720,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "19580:3:13" + "src": "19649:3:13" }, "nodeType": "YulFunctionCall", - "src": "19580:18:13" + "src": "19649:18:13" }, { "hexValue": "6472657373", "kind": "string", "nodeType": "YulLiteral", - "src": "19600:7:13", + "src": "19669:7:13", "type": "", "value": "dress" } @@ -16686,28 +16737,28 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "19573:6:13" + "src": "19642:6:13" }, "nodeType": "YulFunctionCall", - "src": "19573:35:13" + "src": "19642:35:13" }, "nodeType": "YulExpressionStatement", - "src": "19573:35:13" + "src": "19642:35:13" }, { "nodeType": "YulAssignment", - "src": "19617:27:13", + "src": "19686:27:13", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "19629:9:13" + "src": "19698:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "19640:3:13", + "src": "19709:3:13", "type": "", "value": "128" } @@ -16715,16 +16766,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "19625:3:13" + "src": "19694:3:13" }, "nodeType": "YulFunctionCall", - "src": "19625:19:13" + "src": "19694:19:13" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "19617:4:13" + "src": "19686:4:13" } ] } @@ -16736,7 +16787,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "19400:9:13", + "src": "19469:9:13", "type": "" } ], @@ -16744,16 +16795,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "19414:4:13", + "src": "19483:4:13", "type": "" } ], - "src": "19249:401:13" + "src": "19318:401:13" }, { "body": { "nodeType": "YulBlock", - "src": "19829:226:13", + "src": "19898:226:13", "statements": [ { "expression": { @@ -16761,12 +16812,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "19846:9:13" + "src": "19915:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "19857:2:13", + "src": "19926:2:13", "type": "", "value": "32" } @@ -16774,13 +16825,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "19839:6:13" + "src": "19908:6:13" }, "nodeType": "YulFunctionCall", - "src": "19839:21:13" + "src": "19908:21:13" }, "nodeType": "YulExpressionStatement", - "src": "19839:21:13" + "src": "19908:21:13" }, { "expression": { @@ -16790,12 +16841,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "19880:9:13" + "src": "19949:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "19891:2:13", + "src": "19960:2:13", "type": "", "value": "32" } @@ -16803,15 +16854,15 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "19876:3:13" + "src": "19945:3:13" }, "nodeType": "YulFunctionCall", - "src": "19876:18:13" + "src": "19945:18:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "19896:2:13", + "src": "19965:2:13", "type": "", "value": "36" } @@ -16819,13 +16870,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "19869:6:13" + "src": "19938:6:13" }, "nodeType": "YulFunctionCall", - "src": "19869:30:13" + "src": "19938:30:13" }, "nodeType": "YulExpressionStatement", - "src": "19869:30:13" + "src": "19938:30:13" }, { "expression": { @@ -16835,12 +16886,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "19919:9:13" + "src": "19988:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "19930:2:13", + "src": "19999:2:13", "type": "", "value": "64" } @@ -16848,16 +16899,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "19915:3:13" + "src": "19984:3:13" }, "nodeType": "YulFunctionCall", - "src": "19915:18:13" + "src": "19984:18:13" }, { "hexValue": "45524332303a20617070726f76652066726f6d20746865207a65726f20616464", "kind": "string", "nodeType": "YulLiteral", - "src": "19935:34:13", + "src": "20004:34:13", "type": "", "value": "ERC20: approve from the zero add" } @@ -16865,13 +16916,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "19908:6:13" + "src": "19977:6:13" }, "nodeType": "YulFunctionCall", - "src": "19908:62:13" + "src": "19977:62:13" }, "nodeType": "YulExpressionStatement", - "src": "19908:62:13" + "src": "19977:62:13" }, { "expression": { @@ -16881,12 +16932,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "19990:9:13" + "src": "20059:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "20001:2:13", + "src": "20070:2:13", "type": "", "value": "96" } @@ -16894,16 +16945,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "19986:3:13" + "src": "20055:3:13" }, "nodeType": "YulFunctionCall", - "src": "19986:18:13" + "src": "20055:18:13" }, { "hexValue": "72657373", "kind": "string", "nodeType": "YulLiteral", - "src": "20006:6:13", + "src": "20075:6:13", "type": "", "value": "ress" } @@ -16911,28 +16962,28 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "19979:6:13" + "src": "20048:6:13" }, "nodeType": "YulFunctionCall", - "src": "19979:34:13" + "src": "20048:34:13" }, "nodeType": "YulExpressionStatement", - "src": "19979:34:13" + "src": "20048:34:13" }, { "nodeType": "YulAssignment", - "src": "20022:27:13", + "src": "20091:27:13", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "20034:9:13" + "src": "20103:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "20045:3:13", + "src": "20114:3:13", "type": "", "value": "128" } @@ -16940,16 +16991,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "20030:3:13" + "src": "20099:3:13" }, "nodeType": "YulFunctionCall", - "src": "20030:19:13" + "src": "20099:19:13" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "20022:4:13" + "src": "20091:4:13" } ] } @@ -16961,7 +17012,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "19806:9:13", + "src": "19875:9:13", "type": "" } ], @@ -16969,16 +17020,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "19820:4:13", + "src": "19889:4:13", "type": "" } ], - "src": "19655:400:13" + "src": "19724:400:13" }, { "body": { "nodeType": "YulBlock", - "src": "20234:176:13", + "src": "20303:176:13", "statements": [ { "expression": { @@ -16986,12 +17037,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "20251:9:13" + "src": "20320:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "20262:2:13", + "src": "20331:2:13", "type": "", "value": "32" } @@ -16999,13 +17050,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "20244:6:13" + "src": "20313:6:13" }, "nodeType": "YulFunctionCall", - "src": "20244:21:13" + "src": "20313:21:13" }, "nodeType": "YulExpressionStatement", - "src": "20244:21:13" + "src": "20313:21:13" }, { "expression": { @@ -17015,12 +17066,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "20285:9:13" + "src": "20354:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "20296:2:13", + "src": "20365:2:13", "type": "", "value": "32" } @@ -17028,15 +17079,15 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "20281:3:13" + "src": "20350:3:13" }, "nodeType": "YulFunctionCall", - "src": "20281:18:13" + "src": "20350:18:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "20301:2:13", + "src": "20370:2:13", "type": "", "value": "26" } @@ -17044,13 +17095,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "20274:6:13" + "src": "20343:6:13" }, "nodeType": "YulFunctionCall", - "src": "20274:30:13" + "src": "20343:30:13" }, "nodeType": "YulExpressionStatement", - "src": "20274:30:13" + "src": "20343:30:13" }, { "expression": { @@ -17060,12 +17111,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "20324:9:13" + "src": "20393:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "20335:2:13", + "src": "20404:2:13", "type": "", "value": "64" } @@ -17073,16 +17124,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "20320:3:13" + "src": "20389:3:13" }, "nodeType": "YulFunctionCall", - "src": "20320:18:13" + "src": "20389:18:13" }, { "hexValue": "4d696e696d756d2033206f7261636c6573207265717569726564", "kind": "string", "nodeType": "YulLiteral", - "src": "20340:28:13", + "src": "20409:28:13", "type": "", "value": "Minimum 3 oracles required" } @@ -17090,28 +17141,28 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "20313:6:13" + "src": "20382:6:13" }, "nodeType": "YulFunctionCall", - "src": "20313:56:13" + "src": "20382:56:13" }, "nodeType": "YulExpressionStatement", - "src": "20313:56:13" + "src": "20382:56:13" }, { "nodeType": "YulAssignment", - "src": "20378:26:13", + "src": "20447:26:13", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "20390:9:13" + "src": "20459:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "20401:2:13", + "src": "20470:2:13", "type": "", "value": "96" } @@ -17119,16 +17170,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "20386:3:13" + "src": "20455:3:13" }, "nodeType": "YulFunctionCall", - "src": "20386:18:13" + "src": "20455:18:13" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "20378:4:13" + "src": "20447:4:13" } ] } @@ -17140,7 +17191,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "20211:9:13", + "src": "20280:9:13", "type": "" } ], @@ -17148,16 +17199,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "20225:4:13", + "src": "20294:4:13", "type": "" } ], - "src": "20060:350:13" + "src": "20129:350:13" }, { "body": { "nodeType": "YulBlock", - "src": "20589:163:13", + "src": "20658:163:13", "statements": [ { "expression": { @@ -17165,12 +17216,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "20606:9:13" + "src": "20675:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "20617:2:13", + "src": "20686:2:13", "type": "", "value": "32" } @@ -17178,13 +17229,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "20599:6:13" + "src": "20668:6:13" }, "nodeType": "YulFunctionCall", - "src": "20599:21:13" + "src": "20668:21:13" }, "nodeType": "YulExpressionStatement", - "src": "20599:21:13" + "src": "20668:21:13" }, { "expression": { @@ -17194,12 +17245,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "20640:9:13" + "src": "20709:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "20651:2:13", + "src": "20720:2:13", "type": "", "value": "32" } @@ -17207,15 +17258,15 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "20636:3:13" + "src": "20705:3:13" }, "nodeType": "YulFunctionCall", - "src": "20636:18:13" + "src": "20705:18:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "20656:2:13", + "src": "20725:2:13", "type": "", "value": "13" } @@ -17223,13 +17274,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "20629:6:13" + "src": "20698:6:13" }, "nodeType": "YulFunctionCall", - "src": "20629:30:13" + "src": "20698:30:13" }, "nodeType": "YulExpressionStatement", - "src": "20629:30:13" + "src": "20698:30:13" }, { "expression": { @@ -17239,12 +17290,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "20679:9:13" + "src": "20748:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "20690:2:13", + "src": "20759:2:13", "type": "", "value": "64" } @@ -17252,16 +17303,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "20675:3:13" + "src": "20744:3:13" }, "nodeType": "YulFunctionCall", - "src": "20675:18:13" + "src": "20744:18:13" }, { "hexValue": "496e76616c6964206f62746964", "kind": "string", "nodeType": "YulLiteral", - "src": "20695:15:13", + "src": "20764:15:13", "type": "", "value": "Invalid obtid" } @@ -17269,28 +17320,28 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "20668:6:13" + "src": "20737:6:13" }, "nodeType": "YulFunctionCall", - "src": "20668:43:13" + "src": "20737:43:13" }, "nodeType": "YulExpressionStatement", - "src": "20668:43:13" + "src": "20737:43:13" }, { "nodeType": "YulAssignment", - "src": "20720:26:13", + "src": "20789:26:13", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "20732:9:13" + "src": "20801:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "20743:2:13", + "src": "20812:2:13", "type": "", "value": "96" } @@ -17298,16 +17349,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "20728:3:13" + "src": "20797:3:13" }, "nodeType": "YulFunctionCall", - "src": "20728:18:13" + "src": "20797:18:13" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "20720:4:13" + "src": "20789:4:13" } ] } @@ -17319,7 +17370,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "20566:9:13", + "src": "20635:9:13", "type": "" } ], @@ -17327,16 +17378,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "20580:4:13", + "src": "20649:4:13", "type": "" } ], - "src": "20415:337:13" + "src": "20484:337:13" }, { "body": { "nodeType": "YulBlock", - "src": "20931:227:13", + "src": "21000:227:13", "statements": [ { "expression": { @@ -17344,12 +17395,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "20948:9:13" + "src": "21017:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "20959:2:13", + "src": "21028:2:13", "type": "", "value": "32" } @@ -17357,13 +17408,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "20941:6:13" + "src": "21010:6:13" }, "nodeType": "YulFunctionCall", - "src": "20941:21:13" + "src": "21010:21:13" }, "nodeType": "YulExpressionStatement", - "src": "20941:21:13" + "src": "21010:21:13" }, { "expression": { @@ -17373,12 +17424,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "20982:9:13" + "src": "21051:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "20993:2:13", + "src": "21062:2:13", "type": "", "value": "32" } @@ -17386,15 +17437,15 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "20978:3:13" + "src": "21047:3:13" }, "nodeType": "YulFunctionCall", - "src": "20978:18:13" + "src": "21047:18:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "20998:2:13", + "src": "21067:2:13", "type": "", "value": "37" } @@ -17402,13 +17453,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "20971:6:13" + "src": "21040:6:13" }, "nodeType": "YulFunctionCall", - "src": "20971:30:13" + "src": "21040:30:13" }, "nodeType": "YulExpressionStatement", - "src": "20971:30:13" + "src": "21040:30:13" }, { "expression": { @@ -17418,12 +17469,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "21021:9:13" + "src": "21090:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "21032:2:13", + "src": "21101:2:13", "type": "", "value": "64" } @@ -17431,16 +17482,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "21017:3:13" + "src": "21086:3:13" }, "nodeType": "YulFunctionCall", - "src": "21017:18:13" + "src": "21086:18:13" }, { "hexValue": "45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77", "kind": "string", "nodeType": "YulLiteral", - "src": "21037:34:13", + "src": "21106:34:13", "type": "", "value": "ERC20: decreased allowance below" } @@ -17448,13 +17499,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "21010:6:13" + "src": "21079:6:13" }, "nodeType": "YulFunctionCall", - "src": "21010:62:13" + "src": "21079:62:13" }, "nodeType": "YulExpressionStatement", - "src": "21010:62:13" + "src": "21079:62:13" }, { "expression": { @@ -17464,12 +17515,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "21092:9:13" + "src": "21161:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "21103:2:13", + "src": "21172:2:13", "type": "", "value": "96" } @@ -17477,16 +17528,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "21088:3:13" + "src": "21157:3:13" }, "nodeType": "YulFunctionCall", - "src": "21088:18:13" + "src": "21157:18:13" }, { "hexValue": "207a65726f", "kind": "string", "nodeType": "YulLiteral", - "src": "21108:7:13", + "src": "21177:7:13", "type": "", "value": " zero" } @@ -17494,28 +17545,28 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "21081:6:13" + "src": "21150:6:13" }, "nodeType": "YulFunctionCall", - "src": "21081:35:13" + "src": "21150:35:13" }, "nodeType": "YulExpressionStatement", - "src": "21081:35:13" + "src": "21150:35:13" }, { "nodeType": "YulAssignment", - "src": "21125:27:13", + "src": "21194:27:13", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "21137:9:13" + "src": "21206:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "21148:3:13", + "src": "21217:3:13", "type": "", "value": "128" } @@ -17523,16 +17574,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "21133:3:13" + "src": "21202:3:13" }, "nodeType": "YulFunctionCall", - "src": "21133:19:13" + "src": "21202:19:13" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "21125:4:13" + "src": "21194:4:13" } ] } @@ -17544,7 +17595,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "20908:9:13", + "src": "20977:9:13", "type": "" } ], @@ -17552,16 +17603,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "20922:4:13", + "src": "20991:4:13", "type": "" } ], - "src": "20757:401:13" + "src": "20826:401:13" }, { "body": { "nodeType": "YulBlock", - "src": "21337:237:13", + "src": "21406:237:13", "statements": [ { "expression": { @@ -17569,12 +17620,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "21354:9:13" + "src": "21423:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "21365:2:13", + "src": "21434:2:13", "type": "", "value": "32" } @@ -17582,13 +17633,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "21347:6:13" + "src": "21416:6:13" }, "nodeType": "YulFunctionCall", - "src": "21347:21:13" + "src": "21416:21:13" }, "nodeType": "YulExpressionStatement", - "src": "21347:21:13" + "src": "21416:21:13" }, { "expression": { @@ -17598,12 +17649,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "21388:9:13" + "src": "21457:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "21399:2:13", + "src": "21468:2:13", "type": "", "value": "32" } @@ -17611,15 +17662,15 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "21384:3:13" + "src": "21453:3:13" }, "nodeType": "YulFunctionCall", - "src": "21384:18:13" + "src": "21453:18:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "21404:2:13", + "src": "21473:2:13", "type": "", "value": "47" } @@ -17627,13 +17678,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "21377:6:13" + "src": "21446:6:13" }, "nodeType": "YulFunctionCall", - "src": "21377:30:13" + "src": "21446:30:13" }, "nodeType": "YulExpressionStatement", - "src": "21377:30:13" + "src": "21446:30:13" }, { "expression": { @@ -17643,12 +17694,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "21427:9:13" + "src": "21496:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "21438:2:13", + "src": "21507:2:13", "type": "", "value": "64" } @@ -17656,16 +17707,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "21423:3:13" + "src": "21492:3:13" }, "nodeType": "YulFunctionCall", - "src": "21423:18:13" + "src": "21492:18:13" }, { "hexValue": "416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e6365", "kind": "string", "nodeType": "YulLiteral", - "src": "21443:34:13", + "src": "21512:34:13", "type": "", "value": "AccessControl: can only renounce" } @@ -17673,13 +17724,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "21416:6:13" + "src": "21485:6:13" }, "nodeType": "YulFunctionCall", - "src": "21416:62:13" + "src": "21485:62:13" }, "nodeType": "YulExpressionStatement", - "src": "21416:62:13" + "src": "21485:62:13" }, { "expression": { @@ -17689,12 +17740,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "21498:9:13" + "src": "21567:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "21509:2:13", + "src": "21578:2:13", "type": "", "value": "96" } @@ -17702,16 +17753,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "21494:3:13" + "src": "21563:3:13" }, "nodeType": "YulFunctionCall", - "src": "21494:18:13" + "src": "21563:18:13" }, { "hexValue": "20726f6c657320666f722073656c66", "kind": "string", "nodeType": "YulLiteral", - "src": "21514:17:13", + "src": "21583:17:13", "type": "", "value": " roles for self" } @@ -17719,28 +17770,28 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "21487:6:13" + "src": "21556:6:13" }, "nodeType": "YulFunctionCall", - "src": "21487:45:13" + "src": "21556:45:13" }, "nodeType": "YulExpressionStatement", - "src": "21487:45:13" + "src": "21556:45:13" }, { "nodeType": "YulAssignment", - "src": "21541:27:13", + "src": "21610:27:13", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "21553:9:13" + "src": "21622:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "21564:3:13", + "src": "21633:3:13", "type": "", "value": "128" } @@ -17748,16 +17799,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "21549:3:13" + "src": "21618:3:13" }, "nodeType": "YulFunctionCall", - "src": "21549:19:13" + "src": "21618:19:13" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "21541:4:13" + "src": "21610:4:13" } ] } @@ -17769,7 +17820,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "21314:9:13", + "src": "21383:9:13", "type": "" } ], @@ -17777,16 +17828,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "21328:4:13", + "src": "21397:4:13", "type": "" } ], - "src": "21163:411:13" + "src": "21232:411:13" }, { "body": { "nodeType": "YulBlock", - "src": "21753:181:13", + "src": "21822:181:13", "statements": [ { "expression": { @@ -17794,12 +17845,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "21770:9:13" + "src": "21839:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "21781:2:13", + "src": "21850:2:13", "type": "", "value": "32" } @@ -17807,13 +17858,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "21763:6:13" + "src": "21832:6:13" }, "nodeType": "YulFunctionCall", - "src": "21763:21:13" + "src": "21832:21:13" }, "nodeType": "YulExpressionStatement", - "src": "21763:21:13" + "src": "21832:21:13" }, { "expression": { @@ -17823,12 +17874,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "21804:9:13" + "src": "21873:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "21815:2:13", + "src": "21884:2:13", "type": "", "value": "32" } @@ -17836,15 +17887,15 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "21800:3:13" + "src": "21869:3:13" }, "nodeType": "YulFunctionCall", - "src": "21800:18:13" + "src": "21869:18:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "21820:2:13", + "src": "21889:2:13", "type": "", "value": "31" } @@ -17852,13 +17903,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "21793:6:13" + "src": "21862:6:13" }, "nodeType": "YulFunctionCall", - "src": "21793:30:13" + "src": "21862:30:13" }, "nodeType": "YulExpressionStatement", - "src": "21793:30:13" + "src": "21862:30:13" }, { "expression": { @@ -17868,12 +17919,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "21843:9:13" + "src": "21912:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "21854:2:13", + "src": "21923:2:13", "type": "", "value": "64" } @@ -17881,16 +17932,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "21839:3:13" + "src": "21908:3:13" }, "nodeType": "YulFunctionCall", - "src": "21839:18:13" + "src": "21908:18:13" }, { "hexValue": "45524332303a206d696e7420746f20746865207a65726f2061646472657373", "kind": "string", "nodeType": "YulLiteral", - "src": "21859:33:13", + "src": "21928:33:13", "type": "", "value": "ERC20: mint to the zero address" } @@ -17898,28 +17949,28 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "21832:6:13" + "src": "21901:6:13" }, "nodeType": "YulFunctionCall", - "src": "21832:61:13" + "src": "21901:61:13" }, "nodeType": "YulExpressionStatement", - "src": "21832:61:13" + "src": "21901:61:13" }, { "nodeType": "YulAssignment", - "src": "21902:26:13", + "src": "21971:26:13", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "21914:9:13" + "src": "21983:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "21925:2:13", + "src": "21994:2:13", "type": "", "value": "96" } @@ -17927,16 +17978,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "21910:3:13" + "src": "21979:3:13" }, "nodeType": "YulFunctionCall", - "src": "21910:18:13" + "src": "21979:18:13" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "21902:4:13" + "src": "21971:4:13" } ] } @@ -17948,7 +17999,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "21730:9:13", + "src": "21799:9:13", "type": "" } ], @@ -17956,16 +18007,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "21744:4:13", + "src": "21813:4:13", "type": "" } ], - "src": "21579:355:13" + "src": "21648:355:13" }, { "body": { "nodeType": "YulBlock", - "src": "22113:232:13", + "src": "22182:232:13", "statements": [ { "expression": { @@ -17973,12 +18024,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "22130:9:13" + "src": "22199:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "22141:2:13", + "src": "22210:2:13", "type": "", "value": "32" } @@ -17986,13 +18037,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "22123:6:13" + "src": "22192:6:13" }, "nodeType": "YulFunctionCall", - "src": "22123:21:13" + "src": "22192:21:13" }, "nodeType": "YulExpressionStatement", - "src": "22123:21:13" + "src": "22192:21:13" }, { "expression": { @@ -18002,12 +18053,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "22164:9:13" + "src": "22233:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "22175:2:13", + "src": "22244:2:13", "type": "", "value": "32" } @@ -18015,15 +18066,15 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "22160:3:13" + "src": "22229:3:13" }, "nodeType": "YulFunctionCall", - "src": "22160:18:13" + "src": "22229:18:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "22180:2:13", + "src": "22249:2:13", "type": "", "value": "42" } @@ -18031,13 +18082,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "22153:6:13" + "src": "22222:6:13" }, "nodeType": "YulFunctionCall", - "src": "22153:30:13" + "src": "22222:30:13" }, "nodeType": "YulExpressionStatement", - "src": "22153:30:13" + "src": "22222:30:13" }, { "expression": { @@ -18047,12 +18098,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "22203:9:13" + "src": "22272:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "22214:2:13", + "src": "22283:2:13", "type": "", "value": "64" } @@ -18060,16 +18111,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "22199:3:13" + "src": "22268:3:13" }, "nodeType": "YulFunctionCall", - "src": "22199:18:13" + "src": "22268:18:13" }, { "hexValue": "45524332305061757361626c653a20746f6b656e207472616e73666572207768", "kind": "string", "nodeType": "YulLiteral", - "src": "22219:34:13", + "src": "22288:34:13", "type": "", "value": "ERC20Pausable: token transfer wh" } @@ -18077,13 +18128,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "22192:6:13" + "src": "22261:6:13" }, "nodeType": "YulFunctionCall", - "src": "22192:62:13" + "src": "22261:62:13" }, "nodeType": "YulExpressionStatement", - "src": "22192:62:13" + "src": "22261:62:13" }, { "expression": { @@ -18093,12 +18144,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "22274:9:13" + "src": "22343:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "22285:2:13", + "src": "22354:2:13", "type": "", "value": "96" } @@ -18106,16 +18157,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "22270:3:13" + "src": "22339:3:13" }, "nodeType": "YulFunctionCall", - "src": "22270:18:13" + "src": "22339:18:13" }, { "hexValue": "696c6520706175736564", "kind": "string", "nodeType": "YulLiteral", - "src": "22290:12:13", + "src": "22359:12:13", "type": "", "value": "ile paused" } @@ -18123,28 +18174,28 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "22263:6:13" + "src": "22332:6:13" }, "nodeType": "YulFunctionCall", - "src": "22263:40:13" + "src": "22332:40:13" }, "nodeType": "YulExpressionStatement", - "src": "22263:40:13" + "src": "22332:40:13" }, { "nodeType": "YulAssignment", - "src": "22312:27:13", + "src": "22381:27:13", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "22324:9:13" + "src": "22393:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "22335:3:13", + "src": "22404:3:13", "type": "", "value": "128" } @@ -18152,16 +18203,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "22320:3:13" + "src": "22389:3:13" }, "nodeType": "YulFunctionCall", - "src": "22320:19:13" + "src": "22389:19:13" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "22312:4:13" + "src": "22381:4:13" } ] } @@ -18173,7 +18224,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "22090:9:13", + "src": "22159:9:13", "type": "" } ], @@ -18181,31 +18232,31 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "22104:4:13", + "src": "22173:4:13", "type": "" } ], - "src": "21939:406:13" + "src": "22008:406:13" }, { "body": { "nodeType": "YulBlock", - "src": "22451:76:13", + "src": "22520:76:13", "statements": [ { "nodeType": "YulAssignment", - "src": "22461:26:13", + "src": "22530:26:13", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "22473:9:13" + "src": "22542:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "22484:2:13", + "src": "22553:2:13", "type": "", "value": "32" } @@ -18213,16 +18264,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "22469:3:13" + "src": "22538:3:13" }, "nodeType": "YulFunctionCall", - "src": "22469:18:13" + "src": "22538:18:13" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "22461:4:13" + "src": "22530:4:13" } ] }, @@ -18232,24 +18283,24 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "22503:9:13" + "src": "22572:9:13" }, { "name": "value0", "nodeType": "YulIdentifier", - "src": "22514:6:13" + "src": "22583:6:13" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "22496:6:13" + "src": "22565:6:13" }, "nodeType": "YulFunctionCall", - "src": "22496:25:13" + "src": "22565:25:13" }, "nodeType": "YulExpressionStatement", - "src": "22496:25:13" + "src": "22565:25:13" } ] }, @@ -18259,13 +18310,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "22420:9:13", + "src": "22489:9:13", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", - "src": "22431:6:13", + "src": "22500:6:13", "type": "" } ], @@ -18273,70 +18324,36 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "22442:4:13", + "src": "22511:4:13", "type": "" } ], - "src": "22350:177:13" + "src": "22419:177:13" }, { "body": { "nodeType": "YulBlock", - "src": "22687:205:13", + "src": "22834:284:13", "statements": [ - { - "nodeType": "YulAssignment", - "src": "22697:26:13", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "22709:9:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22720:2:13", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "22705:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "22705:18:13" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "22697:4:13" - } - ] - }, { "expression": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "22739:9:13" + "src": "22851:9:13" }, { "arguments": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "22754:6:13" + "src": "22866:6:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "22762:10:13", + "src": "22874:10:13", "type": "", "value": "0xffffffff" } @@ -18344,22 +18361,22 @@ "functionName": { "name": "and", "nodeType": "YulIdentifier", - "src": "22750:3:13" + "src": "22862:3:13" }, "nodeType": "YulFunctionCall", - "src": "22750:23:13" + "src": "22862:23:13" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "22732:6:13" + "src": "22844:6:13" }, "nodeType": "YulFunctionCall", - "src": "22732:42:13" + "src": "22844:42:13" }, "nodeType": "YulExpressionStatement", - "src": "22732:42:13" + "src": "22844:42:13" }, { "expression": { @@ -18369,12 +18386,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "22794:9:13" + "src": "22906:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "22805:2:13", + "src": "22917:2:13", "type": "", "value": "32" } @@ -18382,17 +18399,17 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "22790:3:13" + "src": "22902:3:13" }, "nodeType": "YulFunctionCall", - "src": "22790:18:13" + "src": "22902:18:13" }, { "arguments": [ { "name": "value1", "nodeType": "YulIdentifier", - "src": "22814:6:13" + "src": "22926:6:13" }, { "arguments": [ @@ -18401,14 +18418,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "22830:3:13", + "src": "22942:3:13", "type": "", "value": "160" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "22835:1:13", + "src": "22947:1:13", "type": "", "value": "1" } @@ -18416,15 +18433,15 @@ "functionName": { "name": "shl", "nodeType": "YulIdentifier", - "src": "22826:3:13" + "src": "22938:3:13" }, "nodeType": "YulFunctionCall", - "src": "22826:11:13" + "src": "22938:11:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "22839:1:13", + "src": "22951:1:13", "type": "", "value": "1" } @@ -18432,31 +18449,31 @@ "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "22822:3:13" + "src": "22934:3:13" }, "nodeType": "YulFunctionCall", - "src": "22822:19:13" + "src": "22934:19:13" } ], "functionName": { "name": "and", "nodeType": "YulIdentifier", - "src": "22810:3:13" + "src": "22922:3:13" }, "nodeType": "YulFunctionCall", - "src": "22810:32:13" + "src": "22922:32:13" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "22783:6:13" + "src": "22895:6:13" }, "nodeType": "YulFunctionCall", - "src": "22783:60:13" + "src": "22895:60:13" }, "nodeType": "YulExpressionStatement", - "src": "22783:60:13" + "src": "22895:60:13" }, { "expression": { @@ -18466,12 +18483,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "22863:9:13" + "src": "22975:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "22874:2:13", + "src": "22986:2:13", "type": "", "value": "64" } @@ -18479,55 +18496,156 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "22859:3:13" + "src": "22971:3:13" }, "nodeType": "YulFunctionCall", - "src": "22859:18:13" + "src": "22971:18:13" }, { "name": "value2", "nodeType": "YulIdentifier", - "src": "22879:6:13" + "src": "22991:6:13" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "22964:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "22964:34:13" + }, + "nodeType": "YulExpressionStatement", + "src": "22964:34:13" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "23018:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23029:2:13", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23014:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "23014:18:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23034:3:13", + "type": "", + "value": "128" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "22852:6:13" + "src": "23007:6:13" }, "nodeType": "YulFunctionCall", - "src": "22852:34:13" + "src": "23007:31:13" }, "nodeType": "YulExpressionStatement", - "src": "22852:34:13" + "src": "23007:31:13" + }, + { + "nodeType": "YulAssignment", + "src": "23047:65:13", + "value": { + "arguments": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "23084:6:13" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "23096:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23107:3:13", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23092:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "23092:19:13" + } + ], + "functionName": { + "name": "abi_encode_array_address_dyn", + "nodeType": "YulIdentifier", + "src": "23055:28:13" + }, + "nodeType": "YulFunctionCall", + "src": "23055:57:13" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "23047:4:13" + } + ] } ] }, - "name": "abi_encode_tuple_t_uint32_t_address_t_uint256__to_t_uint32_t_address_t_uint256__fromStack_reversed", + "name": "abi_encode_tuple_t_uint32_t_address_t_uint256_t_array$_t_address_$dyn_memory_ptr__to_t_uint32_t_address_t_uint256_t_array$_t_address_$dyn_memory_ptr__fromStack_reversed", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", - "src": "22640:9:13", + "src": "22779:9:13", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "22790:6:13", "type": "" }, { "name": "value2", "nodeType": "YulTypedName", - "src": "22651:6:13", + "src": "22798:6:13", "type": "" }, { "name": "value1", "nodeType": "YulTypedName", - "src": "22659:6:13", + "src": "22806:6:13", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", - "src": "22667:6:13", + "src": "22814:6:13", "type": "" } ], @@ -18535,31 +18653,31 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "22678:4:13", + "src": "22825:4:13", "type": "" } ], - "src": "22532:360:13" + "src": "22601:517:13" }, { "body": { "nodeType": "YulBlock", - "src": "22994:87:13", + "src": "23220:87:13", "statements": [ { "nodeType": "YulAssignment", - "src": "23004:26:13", + "src": "23230:26:13", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "23016:9:13" + "src": "23242:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "23027:2:13", + "src": "23253:2:13", "type": "", "value": "32" } @@ -18567,16 +18685,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "23012:3:13" + "src": "23238:3:13" }, "nodeType": "YulFunctionCall", - "src": "23012:18:13" + "src": "23238:18:13" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "23004:4:13" + "src": "23230:4:13" } ] }, @@ -18586,19 +18704,19 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "23046:9:13" + "src": "23272:9:13" }, { "arguments": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "23061:6:13" + "src": "23287:6:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "23069:4:13", + "src": "23295:4:13", "type": "", "value": "0xff" } @@ -18606,22 +18724,22 @@ "functionName": { "name": "and", "nodeType": "YulIdentifier", - "src": "23057:3:13" + "src": "23283:3:13" }, "nodeType": "YulFunctionCall", - "src": "23057:17:13" + "src": "23283:17:13" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "23039:6:13" + "src": "23265:6:13" }, "nodeType": "YulFunctionCall", - "src": "23039:36:13" + "src": "23265:36:13" }, "nodeType": "YulExpressionStatement", - "src": "23039:36:13" + "src": "23265:36:13" } ] }, @@ -18631,13 +18749,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "22963:9:13", + "src": "23189:9:13", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", - "src": "22974:6:13", + "src": "23200:6:13", "type": "" } ], @@ -18645,21 +18763,21 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "22985:4:13", + "src": "23211:4:13", "type": "" } ], - "src": "22897:184:13" + "src": "23123:184:13" }, { "body": { "nodeType": "YulBlock", - "src": "23134:80:13", + "src": "23360:80:13", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "23161:22:13", + "src": "23387:22:13", "statements": [ { "expression": { @@ -18667,13 +18785,13 @@ "functionName": { "name": "panic_error_0x11", "nodeType": "YulIdentifier", - "src": "23163:16:13" + "src": "23389:16:13" }, "nodeType": "YulFunctionCall", - "src": "23163:18:13" + "src": "23389:18:13" }, "nodeType": "YulExpressionStatement", - "src": "23163:18:13" + "src": "23389:18:13" } ] }, @@ -18682,65 +18800,65 @@ { "name": "x", "nodeType": "YulIdentifier", - "src": "23150:1:13" + "src": "23376:1:13" }, { "arguments": [ { "name": "y", "nodeType": "YulIdentifier", - "src": "23157:1:13" + "src": "23383:1:13" } ], "functionName": { "name": "not", "nodeType": "YulIdentifier", - "src": "23153:3:13" + "src": "23379:3:13" }, "nodeType": "YulFunctionCall", - "src": "23153:6:13" + "src": "23379:6:13" } ], "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "23147:2:13" + "src": "23373:2:13" }, "nodeType": "YulFunctionCall", - "src": "23147:13:13" + "src": "23373:13:13" }, "nodeType": "YulIf", - "src": "23144:39:13" + "src": "23370:39:13" }, { "nodeType": "YulAssignment", - "src": "23192:16:13", + "src": "23418:16:13", "value": { "arguments": [ { "name": "x", "nodeType": "YulIdentifier", - "src": "23203:1:13" + "src": "23429:1:13" }, { "name": "y", "nodeType": "YulIdentifier", - "src": "23206:1:13" + "src": "23432:1:13" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "23199:3:13" + "src": "23425:3:13" }, "nodeType": "YulFunctionCall", - "src": "23199:9:13" + "src": "23425:9:13" }, "variableNames": [ { "name": "sum", "nodeType": "YulIdentifier", - "src": "23192:3:13" + "src": "23418:3:13" } ] } @@ -18752,13 +18870,13 @@ { "name": "x", "nodeType": "YulTypedName", - "src": "23117:1:13", + "src": "23343:1:13", "type": "" }, { "name": "y", "nodeType": "YulTypedName", - "src": "23120:1:13", + "src": "23346:1:13", "type": "" } ], @@ -18766,24 +18884,24 @@ { "name": "sum", "nodeType": "YulTypedName", - "src": "23126:3:13", + "src": "23352:3:13", "type": "" } ], - "src": "23086:128:13" + "src": "23312:128:13" }, { "body": { "nodeType": "YulBlock", - "src": "23266:181:13", + "src": "23492:181:13", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "23276:20:13", + "src": "23502:20:13", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "23286:10:13", + "src": "23512:10:13", "type": "", "value": "0xffffffff" }, @@ -18791,73 +18909,73 @@ { "name": "_1", "nodeType": "YulTypedName", - "src": "23280:2:13", + "src": "23506:2:13", "type": "" } ] }, { "nodeType": "YulVariableDeclaration", - "src": "23305:21:13", + "src": "23531:21:13", "value": { "arguments": [ { "name": "x", "nodeType": "YulIdentifier", - "src": "23320:1:13" + "src": "23546:1:13" }, { "name": "_1", "nodeType": "YulIdentifier", - "src": "23323:2:13" + "src": "23549:2:13" } ], "functionName": { "name": "and", "nodeType": "YulIdentifier", - "src": "23316:3:13" + "src": "23542:3:13" }, "nodeType": "YulFunctionCall", - "src": "23316:10:13" + "src": "23542:10:13" }, "variables": [ { "name": "x_1", "nodeType": "YulTypedName", - "src": "23309:3:13", + "src": "23535:3:13", "type": "" } ] }, { "nodeType": "YulVariableDeclaration", - "src": "23335:21:13", + "src": "23561:21:13", "value": { "arguments": [ { "name": "y", "nodeType": "YulIdentifier", - "src": "23350:1:13" + "src": "23576:1:13" }, { "name": "_1", "nodeType": "YulIdentifier", - "src": "23353:2:13" + "src": "23579:2:13" } ], "functionName": { "name": "and", "nodeType": "YulIdentifier", - "src": "23346:3:13" + "src": "23572:3:13" }, "nodeType": "YulFunctionCall", - "src": "23346:10:13" + "src": "23572:10:13" }, "variables": [ { "name": "y_1", "nodeType": "YulTypedName", - "src": "23339:3:13", + "src": "23565:3:13", "type": "" } ] @@ -18865,7 +18983,7 @@ { "body": { "nodeType": "YulBlock", - "src": "23390:22:13", + "src": "23616:22:13", "statements": [ { "expression": { @@ -18873,13 +18991,13 @@ "functionName": { "name": "panic_error_0x11", "nodeType": "YulIdentifier", - "src": "23392:16:13" + "src": "23618:16:13" }, "nodeType": "YulFunctionCall", - "src": "23392:18:13" + "src": "23618:18:13" }, "nodeType": "YulExpressionStatement", - "src": "23392:18:13" + "src": "23618:18:13" } ] }, @@ -18888,70 +19006,70 @@ { "name": "x_1", "nodeType": "YulIdentifier", - "src": "23371:3:13" + "src": "23597:3:13" }, { "arguments": [ { "name": "_1", "nodeType": "YulIdentifier", - "src": "23380:2:13" + "src": "23606:2:13" }, { "name": "y_1", "nodeType": "YulIdentifier", - "src": "23384:3:13" + "src": "23610:3:13" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "23376:3:13" + "src": "23602:3:13" }, "nodeType": "YulFunctionCall", - "src": "23376:12:13" + "src": "23602:12:13" } ], "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "23368:2:13" + "src": "23594:2:13" }, "nodeType": "YulFunctionCall", - "src": "23368:21:13" + "src": "23594:21:13" }, "nodeType": "YulIf", - "src": "23365:47:13" + "src": "23591:47:13" }, { "nodeType": "YulAssignment", - "src": "23421:20:13", + "src": "23647:20:13", "value": { "arguments": [ { "name": "x_1", "nodeType": "YulIdentifier", - "src": "23432:3:13" + "src": "23658:3:13" }, { "name": "y_1", "nodeType": "YulIdentifier", - "src": "23437:3:13" + "src": "23663:3:13" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "23428:3:13" + "src": "23654:3:13" }, "nodeType": "YulFunctionCall", - "src": "23428:13:13" + "src": "23654:13:13" }, "variableNames": [ { "name": "sum", "nodeType": "YulIdentifier", - "src": "23421:3:13" + "src": "23647:3:13" } ] } @@ -18963,13 +19081,13 @@ { "name": "x", "nodeType": "YulTypedName", - "src": "23249:1:13", + "src": "23475:1:13", "type": "" }, { "name": "y", "nodeType": "YulTypedName", - "src": "23252:1:13", + "src": "23478:1:13", "type": "" } ], @@ -18977,24 +19095,24 @@ { "name": "sum", "nodeType": "YulTypedName", - "src": "23258:3:13", + "src": "23484:3:13", "type": "" } ], - "src": "23219:228:13" + "src": "23445:228:13" }, { "body": { "nodeType": "YulBlock", - "src": "23497:243:13", + "src": "23723:243:13", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "23507:20:13", + "src": "23733:20:13", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "23517:10:13", + "src": "23743:10:13", "type": "", "value": "0xffffffff" }, @@ -19002,40 +19120,40 @@ { "name": "_1", "nodeType": "YulTypedName", - "src": "23511:2:13", + "src": "23737:2:13", "type": "" } ] }, { "nodeType": "YulVariableDeclaration", - "src": "23536:21:13", + "src": "23762:21:13", "value": { "arguments": [ { "name": "y", "nodeType": "YulIdentifier", - "src": "23551:1:13" + "src": "23777:1:13" }, { "name": "_1", "nodeType": "YulIdentifier", - "src": "23554:2:13" + "src": "23780:2:13" } ], "functionName": { "name": "and", "nodeType": "YulIdentifier", - "src": "23547:3:13" + "src": "23773:3:13" }, "nodeType": "YulFunctionCall", - "src": "23547:10:13" + "src": "23773:10:13" }, "variables": [ { "name": "y_1", "nodeType": "YulTypedName", - "src": "23540:3:13", + "src": "23766:3:13", "type": "" } ] @@ -19043,7 +19161,7 @@ { "body": { "nodeType": "YulBlock", - "src": "23589:111:13", + "src": "23815:111:13", "statements": [ { "expression": { @@ -19051,7 +19169,7 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "23610:1:13", + "src": "23836:1:13", "type": "", "value": "0" }, @@ -19060,14 +19178,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "23617:3:13", + "src": "23843:3:13", "type": "", "value": "224" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "23622:10:13", + "src": "23848:10:13", "type": "", "value": "0x4e487b71" } @@ -19075,22 +19193,22 @@ "functionName": { "name": "shl", "nodeType": "YulIdentifier", - "src": "23613:3:13" + "src": "23839:3:13" }, "nodeType": "YulFunctionCall", - "src": "23613:20:13" + "src": "23839:20:13" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "23603:6:13" + "src": "23829:6:13" }, "nodeType": "YulFunctionCall", - "src": "23603:31:13" + "src": "23829:31:13" }, "nodeType": "YulExpressionStatement", - "src": "23603:31:13" + "src": "23829:31:13" }, { "expression": { @@ -19098,14 +19216,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "23654:1:13", + "src": "23880:1:13", "type": "", "value": "4" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "23657:4:13", + "src": "23883:4:13", "type": "", "value": "0x12" } @@ -19113,13 +19231,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "23647:6:13" + "src": "23873:6:13" }, "nodeType": "YulFunctionCall", - "src": "23647:15:13" + "src": "23873:15:13" }, "nodeType": "YulExpressionStatement", - "src": "23647:15:13" + "src": "23873:15:13" }, { "expression": { @@ -19127,14 +19245,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "23682:1:13", + "src": "23908:1:13", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "23685:4:13", + "src": "23911:4:13", "type": "", "value": "0x24" } @@ -19142,13 +19260,13 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "23675:6:13" + "src": "23901:6:13" }, "nodeType": "YulFunctionCall", - "src": "23675:15:13" + "src": "23901:15:13" }, "nodeType": "YulExpressionStatement", - "src": "23675:15:13" + "src": "23901:15:13" } ] }, @@ -19157,23 +19275,23 @@ { "name": "y_1", "nodeType": "YulIdentifier", - "src": "23576:3:13" + "src": "23802:3:13" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "23569:6:13" + "src": "23795:6:13" }, "nodeType": "YulFunctionCall", - "src": "23569:11:13" + "src": "23795:11:13" }, "nodeType": "YulIf", - "src": "23566:134:13" + "src": "23792:134:13" }, { "nodeType": "YulAssignment", - "src": "23709:25:13", + "src": "23935:25:13", "value": { "arguments": [ { @@ -19181,41 +19299,41 @@ { "name": "x", "nodeType": "YulIdentifier", - "src": "23722:1:13" + "src": "23948:1:13" }, { "name": "_1", "nodeType": "YulIdentifier", - "src": "23725:2:13" + "src": "23951:2:13" } ], "functionName": { "name": "and", "nodeType": "YulIdentifier", - "src": "23718:3:13" + "src": "23944:3:13" }, "nodeType": "YulFunctionCall", - "src": "23718:10:13" + "src": "23944:10:13" }, { "name": "y_1", "nodeType": "YulIdentifier", - "src": "23730:3:13" + "src": "23956:3:13" } ], "functionName": { "name": "div", "nodeType": "YulIdentifier", - "src": "23714:3:13" + "src": "23940:3:13" }, "nodeType": "YulFunctionCall", - "src": "23714:20:13" + "src": "23940:20:13" }, "variableNames": [ { "name": "r", "nodeType": "YulIdentifier", - "src": "23709:1:13" + "src": "23935:1:13" } ] } @@ -19227,13 +19345,13 @@ { "name": "x", "nodeType": "YulTypedName", - "src": "23482:1:13", + "src": "23708:1:13", "type": "" }, { "name": "y", "nodeType": "YulTypedName", - "src": "23485:1:13", + "src": "23711:1:13", "type": "" } ], @@ -19241,21 +19359,21 @@ { "name": "r", "nodeType": "YulTypedName", - "src": "23491:1:13", + "src": "23717:1:13", "type": "" } ], - "src": "23452:288:13" + "src": "23678:288:13" }, { "body": { "nodeType": "YulBlock", - "src": "23797:116:13", + "src": "24023:116:13", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "23856:22:13", + "src": "24082:22:13", "statements": [ { "expression": { @@ -19263,13 +19381,13 @@ "functionName": { "name": "panic_error_0x11", "nodeType": "YulIdentifier", - "src": "23858:16:13" + "src": "24084:16:13" }, "nodeType": "YulFunctionCall", - "src": "23858:18:13" + "src": "24084:18:13" }, "nodeType": "YulExpressionStatement", - "src": "23858:18:13" + "src": "24084:18:13" } ] }, @@ -19282,32 +19400,32 @@ { "name": "x", "nodeType": "YulIdentifier", - "src": "23828:1:13" + "src": "24054:1:13" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "23821:6:13" + "src": "24047:6:13" }, "nodeType": "YulFunctionCall", - "src": "23821:9:13" + "src": "24047:9:13" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "23814:6:13" + "src": "24040:6:13" }, "nodeType": "YulFunctionCall", - "src": "23814:17:13" + "src": "24040:17:13" }, { "arguments": [ { "name": "y", "nodeType": "YulIdentifier", - "src": "23836:1:13" + "src": "24062:1:13" }, { "arguments": [ @@ -19316,7 +19434,7 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "23847:1:13", + "src": "24073:1:13", "type": "", "value": "0" } @@ -19324,75 +19442,75 @@ "functionName": { "name": "not", "nodeType": "YulIdentifier", - "src": "23843:3:13" + "src": "24069:3:13" }, "nodeType": "YulFunctionCall", - "src": "23843:6:13" + "src": "24069:6:13" }, { "name": "x", "nodeType": "YulIdentifier", - "src": "23851:1:13" + "src": "24077:1:13" } ], "functionName": { "name": "div", "nodeType": "YulIdentifier", - "src": "23839:3:13" + "src": "24065:3:13" }, "nodeType": "YulFunctionCall", - "src": "23839:14:13" + "src": "24065:14:13" } ], "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "23833:2:13" + "src": "24059:2:13" }, "nodeType": "YulFunctionCall", - "src": "23833:21:13" + "src": "24059:21:13" } ], "functionName": { "name": "and", "nodeType": "YulIdentifier", - "src": "23810:3:13" + "src": "24036:3:13" }, "nodeType": "YulFunctionCall", - "src": "23810:45:13" + "src": "24036:45:13" }, "nodeType": "YulIf", - "src": "23807:71:13" + "src": "24033:71:13" }, { "nodeType": "YulAssignment", - "src": "23887:20:13", + "src": "24113:20:13", "value": { "arguments": [ { "name": "x", "nodeType": "YulIdentifier", - "src": "23902:1:13" + "src": "24128:1:13" }, { "name": "y", "nodeType": "YulIdentifier", - "src": "23905:1:13" + "src": "24131:1:13" } ], "functionName": { "name": "mul", "nodeType": "YulIdentifier", - "src": "23898:3:13" + "src": "24124:3:13" }, "nodeType": "YulFunctionCall", - "src": "23898:9:13" + "src": "24124:9:13" }, "variableNames": [ { "name": "product", "nodeType": "YulIdentifier", - "src": "23887:7:13" + "src": "24113:7:13" } ] } @@ -19404,13 +19522,13 @@ { "name": "x", "nodeType": "YulTypedName", - "src": "23776:1:13", + "src": "24002:1:13", "type": "" }, { "name": "y", "nodeType": "YulTypedName", - "src": "23779:1:13", + "src": "24005:1:13", "type": "" } ], @@ -19418,24 +19536,24 @@ { "name": "product", "nodeType": "YulTypedName", - "src": "23785:7:13", + "src": "24011:7:13", "type": "" } ], - "src": "23745:168:13" + "src": "23971:168:13" }, { "body": { "nodeType": "YulBlock", - "src": "23969:211:13", + "src": "24195:211:13", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "23979:20:13", + "src": "24205:20:13", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "23989:10:13", + "src": "24215:10:13", "type": "", "value": "0xffffffff" }, @@ -19443,73 +19561,73 @@ { "name": "_1", "nodeType": "YulTypedName", - "src": "23983:2:13", + "src": "24209:2:13", "type": "" } ] }, { "nodeType": "YulVariableDeclaration", - "src": "24008:21:13", + "src": "24234:21:13", "value": { "arguments": [ { "name": "x", "nodeType": "YulIdentifier", - "src": "24023:1:13" + "src": "24249:1:13" }, { "name": "_1", "nodeType": "YulIdentifier", - "src": "24026:2:13" + "src": "24252:2:13" } ], "functionName": { "name": "and", "nodeType": "YulIdentifier", - "src": "24019:3:13" + "src": "24245:3:13" }, "nodeType": "YulFunctionCall", - "src": "24019:10:13" + "src": "24245:10:13" }, "variables": [ { "name": "x_1", "nodeType": "YulTypedName", - "src": "24012:3:13", + "src": "24238:3:13", "type": "" } ] }, { "nodeType": "YulVariableDeclaration", - "src": "24038:21:13", + "src": "24264:21:13", "value": { "arguments": [ { "name": "y", "nodeType": "YulIdentifier", - "src": "24053:1:13" + "src": "24279:1:13" }, { "name": "_1", "nodeType": "YulIdentifier", - "src": "24056:2:13" + "src": "24282:2:13" } ], "functionName": { "name": "and", "nodeType": "YulIdentifier", - "src": "24049:3:13" + "src": "24275:3:13" }, "nodeType": "YulFunctionCall", - "src": "24049:10:13" + "src": "24275:10:13" }, "variables": [ { "name": "y_1", "nodeType": "YulTypedName", - "src": "24042:3:13", + "src": "24268:3:13", "type": "" } ] @@ -19517,7 +19635,7 @@ { "body": { "nodeType": "YulBlock", - "src": "24119:22:13", + "src": "24345:22:13", "statements": [ { "expression": { @@ -19525,13 +19643,13 @@ "functionName": { "name": "panic_error_0x11", "nodeType": "YulIdentifier", - "src": "24121:16:13" + "src": "24347:16:13" }, "nodeType": "YulFunctionCall", - "src": "24121:18:13" + "src": "24347:18:13" }, "nodeType": "YulExpressionStatement", - "src": "24121:18:13" + "src": "24347:18:13" } ] }, @@ -19544,104 +19662,104 @@ { "name": "x_1", "nodeType": "YulIdentifier", - "src": "24089:3:13" + "src": "24315:3:13" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "24082:6:13" + "src": "24308:6:13" }, "nodeType": "YulFunctionCall", - "src": "24082:11:13" + "src": "24308:11:13" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "24075:6:13" + "src": "24301:6:13" }, "nodeType": "YulFunctionCall", - "src": "24075:19:13" + "src": "24301:19:13" }, { "arguments": [ { "name": "y_1", "nodeType": "YulIdentifier", - "src": "24099:3:13" + "src": "24325:3:13" }, { "arguments": [ { "name": "_1", "nodeType": "YulIdentifier", - "src": "24108:2:13" + "src": "24334:2:13" }, { "name": "x_1", "nodeType": "YulIdentifier", - "src": "24112:3:13" + "src": "24338:3:13" } ], "functionName": { "name": "div", "nodeType": "YulIdentifier", - "src": "24104:3:13" + "src": "24330:3:13" }, "nodeType": "YulFunctionCall", - "src": "24104:12:13" + "src": "24330:12:13" } ], "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "24096:2:13" + "src": "24322:2:13" }, "nodeType": "YulFunctionCall", - "src": "24096:21:13" + "src": "24322:21:13" } ], "functionName": { "name": "and", "nodeType": "YulIdentifier", - "src": "24071:3:13" + "src": "24297:3:13" }, "nodeType": "YulFunctionCall", - "src": "24071:47:13" + "src": "24297:47:13" }, "nodeType": "YulIf", - "src": "24068:73:13" + "src": "24294:73:13" }, { "nodeType": "YulAssignment", - "src": "24150:24:13", + "src": "24376:24:13", "value": { "arguments": [ { "name": "x_1", "nodeType": "YulIdentifier", - "src": "24165:3:13" + "src": "24391:3:13" }, { "name": "y_1", "nodeType": "YulIdentifier", - "src": "24170:3:13" + "src": "24396:3:13" } ], "functionName": { "name": "mul", "nodeType": "YulIdentifier", - "src": "24161:3:13" + "src": "24387:3:13" }, "nodeType": "YulFunctionCall", - "src": "24161:13:13" + "src": "24387:13:13" }, "variableNames": [ { "name": "product", "nodeType": "YulIdentifier", - "src": "24150:7:13" + "src": "24376:7:13" } ] } @@ -19653,13 +19771,13 @@ { "name": "x", "nodeType": "YulTypedName", - "src": "23948:1:13", + "src": "24174:1:13", "type": "" }, { "name": "y", "nodeType": "YulTypedName", - "src": "23951:1:13", + "src": "24177:1:13", "type": "" } ], @@ -19667,21 +19785,21 @@ { "name": "product", "nodeType": "YulTypedName", - "src": "23957:7:13", + "src": "24183:7:13", "type": "" } ], - "src": "23918:262:13" + "src": "24144:262:13" }, { "body": { "nodeType": "YulBlock", - "src": "24234:76:13", + "src": "24460:76:13", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "24256:22:13", + "src": "24482:22:13", "statements": [ { "expression": { @@ -19689,13 +19807,13 @@ "functionName": { "name": "panic_error_0x11", "nodeType": "YulIdentifier", - "src": "24258:16:13" + "src": "24484:16:13" }, "nodeType": "YulFunctionCall", - "src": "24258:18:13" + "src": "24484:18:13" }, "nodeType": "YulExpressionStatement", - "src": "24258:18:13" + "src": "24484:18:13" } ] }, @@ -19704,54 +19822,54 @@ { "name": "x", "nodeType": "YulIdentifier", - "src": "24250:1:13" + "src": "24476:1:13" }, { "name": "y", "nodeType": "YulIdentifier", - "src": "24253:1:13" + "src": "24479:1:13" } ], "functionName": { "name": "lt", "nodeType": "YulIdentifier", - "src": "24247:2:13" + "src": "24473:2:13" }, "nodeType": "YulFunctionCall", - "src": "24247:8:13" + "src": "24473:8:13" }, "nodeType": "YulIf", - "src": "24244:34:13" + "src": "24470:34:13" }, { "nodeType": "YulAssignment", - "src": "24287:17:13", + "src": "24513:17:13", "value": { "arguments": [ { "name": "x", "nodeType": "YulIdentifier", - "src": "24299:1:13" + "src": "24525:1:13" }, { "name": "y", "nodeType": "YulIdentifier", - "src": "24302:1:13" + "src": "24528:1:13" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "24295:3:13" + "src": "24521:3:13" }, "nodeType": "YulFunctionCall", - "src": "24295:9:13" + "src": "24521:9:13" }, "variableNames": [ { "name": "diff", "nodeType": "YulIdentifier", - "src": "24287:4:13" + "src": "24513:4:13" } ] } @@ -19763,13 +19881,13 @@ { "name": "x", "nodeType": "YulTypedName", - "src": "24216:1:13", + "src": "24442:1:13", "type": "" }, { "name": "y", "nodeType": "YulTypedName", - "src": "24219:1:13", + "src": "24445:1:13", "type": "" } ], @@ -19777,48 +19895,48 @@ { "name": "diff", "nodeType": "YulTypedName", - "src": "24225:4:13", + "src": "24451:4:13", "type": "" } ], - "src": "24185:125:13" + "src": "24411:125:13" }, { "body": { "nodeType": "YulBlock", - "src": "24409:203:13", + "src": "24635:203:13", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "24419:26:13", + "src": "24645:26:13", "value": { "arguments": [ { "name": "array", "nodeType": "YulIdentifier", - "src": "24439:5:13" + "src": "24665:5:13" } ], "functionName": { "name": "mload", "nodeType": "YulIdentifier", - "src": "24433:5:13" + "src": "24659:5:13" }, "nodeType": "YulFunctionCall", - "src": "24433:12:13" + "src": "24659:12:13" }, "variables": [ { "name": "length", "nodeType": "YulTypedName", - "src": "24423:6:13", + "src": "24649:6:13", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "24454:32:13", + "src": "24680:32:13", "value": { "arguments": [ { @@ -19826,12 +19944,12 @@ { "name": "array", "nodeType": "YulIdentifier", - "src": "24473:5:13" + "src": "24699:5:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "24480:4:13", + "src": "24706:4:13", "type": "", "value": "0x20" } @@ -19839,42 +19957,42 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "24469:3:13" + "src": "24695:3:13" }, "nodeType": "YulFunctionCall", - "src": "24469:16:13" + "src": "24695:16:13" } ], "functionName": { "name": "mload", "nodeType": "YulIdentifier", - "src": "24463:5:13" + "src": "24689:5:13" }, "nodeType": "YulFunctionCall", - "src": "24463:23:13" + "src": "24689:23:13" }, "variableNames": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "24454:5:13" + "src": "24680:5:13" } ] }, { "body": { "nodeType": "YulBlock", - "src": "24523:83:13", + "src": "24749:83:13", "statements": [ { "nodeType": "YulAssignment", - "src": "24537:59:13", + "src": "24763:59:13", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "24550:5:13" + "src": "24776:5:13" }, { "arguments": [ @@ -19883,7 +20001,7 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "24565:1:13", + "src": "24791:1:13", "type": "", "value": "3" }, @@ -19892,39 +20010,39 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "24572:4:13", + "src": "24798:4:13", "type": "", "value": "0x20" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "24578:6:13" + "src": "24804:6:13" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "24568:3:13" + "src": "24794:3:13" }, "nodeType": "YulFunctionCall", - "src": "24568:17:13" + "src": "24794:17:13" } ], "functionName": { "name": "shl", "nodeType": "YulIdentifier", - "src": "24561:3:13" + "src": "24787:3:13" }, "nodeType": "YulFunctionCall", - "src": "24561:25:13" + "src": "24787:25:13" }, { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", - "src": "24592:1:13", + "src": "24818:1:13", "type": "", "value": "0" } @@ -19932,34 +20050,34 @@ "functionName": { "name": "not", "nodeType": "YulIdentifier", - "src": "24588:3:13" + "src": "24814:3:13" }, "nodeType": "YulFunctionCall", - "src": "24588:6:13" + "src": "24814:6:13" } ], "functionName": { "name": "shl", "nodeType": "YulIdentifier", - "src": "24557:3:13" + "src": "24783:3:13" }, "nodeType": "YulFunctionCall", - "src": "24557:38:13" + "src": "24783:38:13" } ], "functionName": { "name": "and", "nodeType": "YulIdentifier", - "src": "24546:3:13" + "src": "24772:3:13" }, "nodeType": "YulFunctionCall", - "src": "24546:50:13" + "src": "24772:50:13" }, "variableNames": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "24537:5:13" + "src": "24763:5:13" } ] } @@ -19970,12 +20088,12 @@ { "name": "length", "nodeType": "YulIdentifier", - "src": "24501:6:13" + "src": "24727:6:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "24509:4:13", + "src": "24735:4:13", "type": "", "value": "0x20" } @@ -19983,13 +20101,13 @@ "functionName": { "name": "lt", "nodeType": "YulIdentifier", - "src": "24498:2:13" + "src": "24724:2:13" }, "nodeType": "YulFunctionCall", - "src": "24498:16:13" + "src": "24724:16:13" }, "nodeType": "YulIf", - "src": "24495:111:13" + "src": "24721:111:13" } ] }, @@ -19999,7 +20117,7 @@ { "name": "array", "nodeType": "YulTypedName", - "src": "24389:5:13", + "src": "24615:5:13", "type": "" } ], @@ -20007,24 +20125,24 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "24399:5:13", + "src": "24625:5:13", "type": "" } ], - "src": "24315:297:13" + "src": "24541:297:13" }, { "body": { "nodeType": "YulBlock", - "src": "24670:205:13", + "src": "24896:205:13", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "24680:10:13", + "src": "24906:10:13", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "24689:1:13", + "src": "24915:1:13", "type": "", "value": "0" }, @@ -20032,7 +20150,7 @@ { "name": "i", "nodeType": "YulTypedName", - "src": "24684:1:13", + "src": "24910:1:13", "type": "" } ] @@ -20040,7 +20158,7 @@ { "body": { "nodeType": "YulBlock", - "src": "24749:63:13", + "src": "24975:63:13", "statements": [ { "expression": { @@ -20050,21 +20168,21 @@ { "name": "dst", "nodeType": "YulIdentifier", - "src": "24774:3:13" + "src": "25000:3:13" }, { "name": "i", "nodeType": "YulIdentifier", - "src": "24779:1:13" + "src": "25005:1:13" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "24770:3:13" + "src": "24996:3:13" }, "nodeType": "YulFunctionCall", - "src": "24770:11:13" + "src": "24996:11:13" }, { "arguments": [ @@ -20073,42 +20191,42 @@ { "name": "src", "nodeType": "YulIdentifier", - "src": "24793:3:13" + "src": "25019:3:13" }, { "name": "i", "nodeType": "YulIdentifier", - "src": "24798:1:13" + "src": "25024:1:13" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "24789:3:13" + "src": "25015:3:13" }, "nodeType": "YulFunctionCall", - "src": "24789:11:13" + "src": "25015:11:13" } ], "functionName": { "name": "mload", "nodeType": "YulIdentifier", - "src": "24783:5:13" + "src": "25009:5:13" }, "nodeType": "YulFunctionCall", - "src": "24783:18:13" + "src": "25009:18:13" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "24763:6:13" + "src": "24989:6:13" }, "nodeType": "YulFunctionCall", - "src": "24763:39:13" + "src": "24989:39:13" }, "nodeType": "YulExpressionStatement", - "src": "24763:39:13" + "src": "24989:39:13" } ] }, @@ -20117,41 +20235,41 @@ { "name": "i", "nodeType": "YulIdentifier", - "src": "24710:1:13" + "src": "24936:1:13" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "24713:6:13" + "src": "24939:6:13" } ], "functionName": { "name": "lt", "nodeType": "YulIdentifier", - "src": "24707:2:13" + "src": "24933:2:13" }, "nodeType": "YulFunctionCall", - "src": "24707:13:13" + "src": "24933:13:13" }, "nodeType": "YulForLoop", "post": { "nodeType": "YulBlock", - "src": "24721:19:13", + "src": "24947:19:13", "statements": [ { "nodeType": "YulAssignment", - "src": "24723:15:13", + "src": "24949:15:13", "value": { "arguments": [ { "name": "i", "nodeType": "YulIdentifier", - "src": "24732:1:13" + "src": "24958:1:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "24735:2:13", + "src": "24961:2:13", "type": "", "value": "32" } @@ -20159,16 +20277,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "24728:3:13" + "src": "24954:3:13" }, "nodeType": "YulFunctionCall", - "src": "24728:10:13" + "src": "24954:10:13" }, "variableNames": [ { "name": "i", "nodeType": "YulIdentifier", - "src": "24723:1:13" + "src": "24949:1:13" } ] } @@ -20176,15 +20294,15 @@ }, "pre": { "nodeType": "YulBlock", - "src": "24703:3:13", + "src": "24929:3:13", "statements": [] }, - "src": "24699:113:13" + "src": "24925:113:13" }, { "body": { "nodeType": "YulBlock", - "src": "24838:31:13", + "src": "25064:31:13", "statements": [ { "expression": { @@ -20194,26 +20312,26 @@ { "name": "dst", "nodeType": "YulIdentifier", - "src": "24851:3:13" + "src": "25077:3:13" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "24856:6:13" + "src": "25082:6:13" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "24847:3:13" + "src": "25073:3:13" }, "nodeType": "YulFunctionCall", - "src": "24847:16:13" + "src": "25073:16:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "24865:1:13", + "src": "25091:1:13", "type": "", "value": "0" } @@ -20221,13 +20339,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "24840:6:13" + "src": "25066:6:13" }, "nodeType": "YulFunctionCall", - "src": "24840:27:13" + "src": "25066:27:13" }, "nodeType": "YulExpressionStatement", - "src": "24840:27:13" + "src": "25066:27:13" } ] }, @@ -20236,24 +20354,24 @@ { "name": "i", "nodeType": "YulIdentifier", - "src": "24827:1:13" + "src": "25053:1:13" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "24830:6:13" + "src": "25056:6:13" } ], "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "24824:2:13" + "src": "25050:2:13" }, "nodeType": "YulFunctionCall", - "src": "24824:13:13" + "src": "25050:13:13" }, "nodeType": "YulIf", - "src": "24821:48:13" + "src": "25047:48:13" } ] }, @@ -20263,33 +20381,33 @@ { "name": "src", "nodeType": "YulTypedName", - "src": "24648:3:13", + "src": "24874:3:13", "type": "" }, { "name": "dst", "nodeType": "YulTypedName", - "src": "24653:3:13", + "src": "24879:3:13", "type": "" }, { "name": "length", "nodeType": "YulTypedName", - "src": "24658:6:13", + "src": "24884:6:13", "type": "" } ], - "src": "24617:258:13" + "src": "24843:258:13" }, { "body": { "nodeType": "YulBlock", - "src": "24927:89:13", + "src": "25153:89:13", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "24954:22:13", + "src": "25180:22:13", "statements": [ { "expression": { @@ -20297,13 +20415,13 @@ "functionName": { "name": "panic_error_0x11", "nodeType": "YulIdentifier", - "src": "24956:16:13" + "src": "25182:16:13" }, "nodeType": "YulFunctionCall", - "src": "24956:18:13" + "src": "25182:18:13" }, "nodeType": "YulExpressionStatement", - "src": "24956:18:13" + "src": "25182:18:13" } ] }, @@ -20312,36 +20430,36 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "24947:5:13" + "src": "25173:5:13" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "24940:6:13" + "src": "25166:6:13" }, "nodeType": "YulFunctionCall", - "src": "24940:13:13" + "src": "25166:13:13" }, "nodeType": "YulIf", - "src": "24937:39:13" + "src": "25163:39:13" }, { "nodeType": "YulAssignment", - "src": "24985:25:13", + "src": "25211:25:13", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "24996:5:13" + "src": "25222:5:13" }, { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", - "src": "25007:1:13", + "src": "25233:1:13", "type": "", "value": "0" } @@ -20349,25 +20467,25 @@ "functionName": { "name": "not", "nodeType": "YulIdentifier", - "src": "25003:3:13" + "src": "25229:3:13" }, "nodeType": "YulFunctionCall", - "src": "25003:6:13" + "src": "25229:6:13" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "24992:3:13" + "src": "25218:3:13" }, "nodeType": "YulFunctionCall", - "src": "24992:18:13" + "src": "25218:18:13" }, "variableNames": [ { "name": "ret", "nodeType": "YulIdentifier", - "src": "24985:3:13" + "src": "25211:3:13" } ] } @@ -20379,7 +20497,7 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "24909:5:13", + "src": "25135:5:13", "type": "" } ], @@ -20387,31 +20505,31 @@ { "name": "ret", "nodeType": "YulTypedName", - "src": "24919:3:13", + "src": "25145:3:13", "type": "" } ], - "src": "24880:136:13" + "src": "25106:136:13" }, { "body": { "nodeType": "YulBlock", - "src": "25067:139:13", + "src": "25293:139:13", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "25077:37:13", + "src": "25303:37:13", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "25096:5:13" + "src": "25322:5:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "25103:10:13", + "src": "25329:10:13", "type": "", "value": "0xffffffff" } @@ -20419,16 +20537,16 @@ "functionName": { "name": "and", "nodeType": "YulIdentifier", - "src": "25092:3:13" + "src": "25318:3:13" }, "nodeType": "YulFunctionCall", - "src": "25092:22:13" + "src": "25318:22:13" }, "variables": [ { "name": "value_1", "nodeType": "YulTypedName", - "src": "25081:7:13", + "src": "25307:7:13", "type": "" } ] @@ -20436,7 +20554,7 @@ { "body": { "nodeType": "YulBlock", - "src": "25142:22:13", + "src": "25368:22:13", "statements": [ { "expression": { @@ -20444,13 +20562,13 @@ "functionName": { "name": "panic_error_0x11", "nodeType": "YulIdentifier", - "src": "25144:16:13" + "src": "25370:16:13" }, "nodeType": "YulFunctionCall", - "src": "25144:18:13" + "src": "25370:18:13" }, "nodeType": "YulExpressionStatement", - "src": "25144:18:13" + "src": "25370:18:13" } ] }, @@ -20459,36 +20577,36 @@ { "name": "value_1", "nodeType": "YulIdentifier", - "src": "25133:7:13" + "src": "25359:7:13" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "25126:6:13" + "src": "25352:6:13" }, "nodeType": "YulFunctionCall", - "src": "25126:15:13" + "src": "25352:15:13" }, "nodeType": "YulIf", - "src": "25123:41:13" + "src": "25349:41:13" }, { "nodeType": "YulAssignment", - "src": "25173:27:13", + "src": "25399:27:13", "value": { "arguments": [ { "name": "value_1", "nodeType": "YulIdentifier", - "src": "25184:7:13" + "src": "25410:7:13" }, { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", - "src": "25197:1:13", + "src": "25423:1:13", "type": "", "value": "0" } @@ -20496,25 +20614,25 @@ "functionName": { "name": "not", "nodeType": "YulIdentifier", - "src": "25193:3:13" + "src": "25419:3:13" }, "nodeType": "YulFunctionCall", - "src": "25193:6:13" + "src": "25419:6:13" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "25180:3:13" + "src": "25406:3:13" }, "nodeType": "YulFunctionCall", - "src": "25180:20:13" + "src": "25406:20:13" }, "variableNames": [ { "name": "ret", "nodeType": "YulIdentifier", - "src": "25173:3:13" + "src": "25399:3:13" } ] } @@ -20526,7 +20644,7 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "25049:5:13", + "src": "25275:5:13", "type": "" } ], @@ -20534,65 +20652,65 @@ { "name": "ret", "nodeType": "YulTypedName", - "src": "25059:3:13", + "src": "25285:3:13", "type": "" } ], - "src": "25021:185:13" + "src": "25247:185:13" }, { "body": { "nodeType": "YulBlock", - "src": "25266:325:13", + "src": "25492:325:13", "statements": [ { "nodeType": "YulAssignment", - "src": "25276:22:13", + "src": "25502:22:13", "value": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", - "src": "25290:1:13", + "src": "25516:1:13", "type": "", "value": "1" }, { "name": "data", "nodeType": "YulIdentifier", - "src": "25293:4:13" + "src": "25519:4:13" } ], "functionName": { "name": "shr", "nodeType": "YulIdentifier", - "src": "25286:3:13" + "src": "25512:3:13" }, "nodeType": "YulFunctionCall", - "src": "25286:12:13" + "src": "25512:12:13" }, "variableNames": [ { "name": "length", "nodeType": "YulIdentifier", - "src": "25276:6:13" + "src": "25502:6:13" } ] }, { "nodeType": "YulVariableDeclaration", - "src": "25307:38:13", + "src": "25533:38:13", "value": { "arguments": [ { "name": "data", "nodeType": "YulIdentifier", - "src": "25337:4:13" + "src": "25563:4:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "25343:1:13", + "src": "25569:1:13", "type": "", "value": "1" } @@ -20600,16 +20718,16 @@ "functionName": { "name": "and", "nodeType": "YulIdentifier", - "src": "25333:3:13" + "src": "25559:3:13" }, "nodeType": "YulFunctionCall", - "src": "25333:12:13" + "src": "25559:12:13" }, "variables": [ { "name": "outOfPlaceEncoding", "nodeType": "YulTypedName", - "src": "25311:18:13", + "src": "25537:18:13", "type": "" } ] @@ -20617,22 +20735,22 @@ { "body": { "nodeType": "YulBlock", - "src": "25384:31:13", + "src": "25610:31:13", "statements": [ { "nodeType": "YulAssignment", - "src": "25386:27:13", + "src": "25612:27:13", "value": { "arguments": [ { "name": "length", "nodeType": "YulIdentifier", - "src": "25400:6:13" + "src": "25626:6:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "25408:4:13", + "src": "25634:4:13", "type": "", "value": "0x7f" } @@ -20640,16 +20758,16 @@ "functionName": { "name": "and", "nodeType": "YulIdentifier", - "src": "25396:3:13" + "src": "25622:3:13" }, "nodeType": "YulFunctionCall", - "src": "25396:17:13" + "src": "25622:17:13" }, "variableNames": [ { "name": "length", "nodeType": "YulIdentifier", - "src": "25386:6:13" + "src": "25612:6:13" } ] } @@ -20660,24 +20778,24 @@ { "name": "outOfPlaceEncoding", "nodeType": "YulIdentifier", - "src": "25364:18:13" + "src": "25590:18:13" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "25357:6:13" + "src": "25583:6:13" }, "nodeType": "YulFunctionCall", - "src": "25357:26:13" + "src": "25583:26:13" }, "nodeType": "YulIf", - "src": "25354:61:13" + "src": "25580:61:13" }, { "body": { "nodeType": "YulBlock", - "src": "25474:111:13", + "src": "25700:111:13", "statements": [ { "expression": { @@ -20685,7 +20803,7 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "25495:1:13", + "src": "25721:1:13", "type": "", "value": "0" }, @@ -20694,14 +20812,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "25502:3:13", + "src": "25728:3:13", "type": "", "value": "224" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "25507:10:13", + "src": "25733:10:13", "type": "", "value": "0x4e487b71" } @@ -20709,22 +20827,22 @@ "functionName": { "name": "shl", "nodeType": "YulIdentifier", - "src": "25498:3:13" + "src": "25724:3:13" }, "nodeType": "YulFunctionCall", - "src": "25498:20:13" + "src": "25724:20:13" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "25488:6:13" + "src": "25714:6:13" }, "nodeType": "YulFunctionCall", - "src": "25488:31:13" + "src": "25714:31:13" }, "nodeType": "YulExpressionStatement", - "src": "25488:31:13" + "src": "25714:31:13" }, { "expression": { @@ -20732,14 +20850,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "25539:1:13", + "src": "25765:1:13", "type": "", "value": "4" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "25542:4:13", + "src": "25768:4:13", "type": "", "value": "0x22" } @@ -20747,13 +20865,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "25532:6:13" + "src": "25758:6:13" }, "nodeType": "YulFunctionCall", - "src": "25532:15:13" + "src": "25758:15:13" }, "nodeType": "YulExpressionStatement", - "src": "25532:15:13" + "src": "25758:15:13" }, { "expression": { @@ -20761,14 +20879,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "25567:1:13", + "src": "25793:1:13", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "25570:4:13", + "src": "25796:4:13", "type": "", "value": "0x24" } @@ -20776,13 +20894,13 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "25560:6:13" + "src": "25786:6:13" }, "nodeType": "YulFunctionCall", - "src": "25560:15:13" + "src": "25786:15:13" }, "nodeType": "YulExpressionStatement", - "src": "25560:15:13" + "src": "25786:15:13" } ] }, @@ -20791,19 +20909,19 @@ { "name": "outOfPlaceEncoding", "nodeType": "YulIdentifier", - "src": "25430:18:13" + "src": "25656:18:13" }, { "arguments": [ { "name": "length", "nodeType": "YulIdentifier", - "src": "25453:6:13" + "src": "25679:6:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "25461:2:13", + "src": "25687:2:13", "type": "", "value": "32" } @@ -20811,22 +20929,22 @@ "functionName": { "name": "lt", "nodeType": "YulIdentifier", - "src": "25450:2:13" + "src": "25676:2:13" }, "nodeType": "YulFunctionCall", - "src": "25450:14:13" + "src": "25676:14:13" } ], "functionName": { "name": "eq", "nodeType": "YulIdentifier", - "src": "25427:2:13" + "src": "25653:2:13" }, "nodeType": "YulFunctionCall", - "src": "25427:38:13" + "src": "25653:38:13" }, "nodeType": "YulIf", - "src": "25424:161:13" + "src": "25650:161:13" } ] }, @@ -20836,7 +20954,7 @@ { "name": "data", "nodeType": "YulTypedName", - "src": "25246:4:13", + "src": "25472:4:13", "type": "" } ], @@ -20844,24 +20962,24 @@ { "name": "length", "nodeType": "YulTypedName", - "src": "25255:6:13", + "src": "25481:6:13", "type": "" } ], - "src": "25211:380:13" + "src": "25437:380:13" }, { "body": { "nodeType": "YulBlock", - "src": "25642:151:13", + "src": "25868:151:13", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "25652:16:13", + "src": "25878:16:13", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "25662:6:13", + "src": "25888:6:13", "type": "", "value": "0xffff" }, @@ -20869,40 +20987,40 @@ { "name": "_1", "nodeType": "YulTypedName", - "src": "25656:2:13", + "src": "25882:2:13", "type": "" } ] }, { "nodeType": "YulVariableDeclaration", - "src": "25677:29:13", + "src": "25903:29:13", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "25696:5:13" + "src": "25922:5:13" }, { "name": "_1", "nodeType": "YulIdentifier", - "src": "25703:2:13" + "src": "25929:2:13" } ], "functionName": { "name": "and", "nodeType": "YulIdentifier", - "src": "25692:3:13" + "src": "25918:3:13" }, "nodeType": "YulFunctionCall", - "src": "25692:14:13" + "src": "25918:14:13" }, "variables": [ { "name": "value_1", "nodeType": "YulTypedName", - "src": "25681:7:13", + "src": "25907:7:13", "type": "" } ] @@ -20910,7 +21028,7 @@ { "body": { "nodeType": "YulBlock", - "src": "25734:22:13", + "src": "25960:22:13", "statements": [ { "expression": { @@ -20918,13 +21036,13 @@ "functionName": { "name": "panic_error_0x11", "nodeType": "YulIdentifier", - "src": "25736:16:13" + "src": "25962:16:13" }, "nodeType": "YulFunctionCall", - "src": "25736:18:13" + "src": "25962:18:13" }, "nodeType": "YulExpressionStatement", - "src": "25736:18:13" + "src": "25962:18:13" } ] }, @@ -20933,39 +21051,39 @@ { "name": "value_1", "nodeType": "YulIdentifier", - "src": "25721:7:13" + "src": "25947:7:13" }, { "name": "_1", "nodeType": "YulIdentifier", - "src": "25730:2:13" + "src": "25956:2:13" } ], "functionName": { "name": "eq", "nodeType": "YulIdentifier", - "src": "25718:2:13" + "src": "25944:2:13" }, "nodeType": "YulFunctionCall", - "src": "25718:15:13" + "src": "25944:15:13" }, "nodeType": "YulIf", - "src": "25715:41:13" + "src": "25941:41:13" }, { "nodeType": "YulAssignment", - "src": "25765:22:13", + "src": "25991:22:13", "value": { "arguments": [ { "name": "value_1", "nodeType": "YulIdentifier", - "src": "25776:7:13" + "src": "26002:7:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "25785:1:13", + "src": "26011:1:13", "type": "", "value": "1" } @@ -20973,16 +21091,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "25772:3:13" + "src": "25998:3:13" }, "nodeType": "YulFunctionCall", - "src": "25772:15:13" + "src": "25998:15:13" }, "variableNames": [ { "name": "ret", "nodeType": "YulIdentifier", - "src": "25765:3:13" + "src": "25991:3:13" } ] } @@ -20994,7 +21112,7 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "25624:5:13", + "src": "25850:5:13", "type": "" } ], @@ -21002,24 +21120,24 @@ { "name": "ret", "nodeType": "YulTypedName", - "src": "25634:3:13", + "src": "25860:3:13", "type": "" } ], - "src": "25596:197:13" + "src": "25822:197:13" }, { "body": { "nodeType": "YulBlock", - "src": "25844:155:13", + "src": "26070:155:13", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "25854:20:13", + "src": "26080:20:13", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "25864:10:13", + "src": "26090:10:13", "type": "", "value": "0xffffffff" }, @@ -21027,40 +21145,40 @@ { "name": "_1", "nodeType": "YulTypedName", - "src": "25858:2:13", + "src": "26084:2:13", "type": "" } ] }, { "nodeType": "YulVariableDeclaration", - "src": "25883:29:13", + "src": "26109:29:13", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "25902:5:13" + "src": "26128:5:13" }, { "name": "_1", "nodeType": "YulIdentifier", - "src": "25909:2:13" + "src": "26135:2:13" } ], "functionName": { "name": "and", "nodeType": "YulIdentifier", - "src": "25898:3:13" + "src": "26124:3:13" }, "nodeType": "YulFunctionCall", - "src": "25898:14:13" + "src": "26124:14:13" }, "variables": [ { "name": "value_1", "nodeType": "YulTypedName", - "src": "25887:7:13", + "src": "26113:7:13", "type": "" } ] @@ -21068,7 +21186,7 @@ { "body": { "nodeType": "YulBlock", - "src": "25940:22:13", + "src": "26166:22:13", "statements": [ { "expression": { @@ -21076,13 +21194,13 @@ "functionName": { "name": "panic_error_0x11", "nodeType": "YulIdentifier", - "src": "25942:16:13" + "src": "26168:16:13" }, "nodeType": "YulFunctionCall", - "src": "25942:18:13" + "src": "26168:18:13" }, "nodeType": "YulExpressionStatement", - "src": "25942:18:13" + "src": "26168:18:13" } ] }, @@ -21091,39 +21209,39 @@ { "name": "value_1", "nodeType": "YulIdentifier", - "src": "25927:7:13" + "src": "26153:7:13" }, { "name": "_1", "nodeType": "YulIdentifier", - "src": "25936:2:13" + "src": "26162:2:13" } ], "functionName": { "name": "eq", "nodeType": "YulIdentifier", - "src": "25924:2:13" + "src": "26150:2:13" }, "nodeType": "YulFunctionCall", - "src": "25924:15:13" + "src": "26150:15:13" }, "nodeType": "YulIf", - "src": "25921:41:13" + "src": "26147:41:13" }, { "nodeType": "YulAssignment", - "src": "25971:22:13", + "src": "26197:22:13", "value": { "arguments": [ { "name": "value_1", "nodeType": "YulIdentifier", - "src": "25982:7:13" + "src": "26208:7:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "25991:1:13", + "src": "26217:1:13", "type": "", "value": "1" } @@ -21131,16 +21249,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "25978:3:13" + "src": "26204:3:13" }, "nodeType": "YulFunctionCall", - "src": "25978:15:13" + "src": "26204:15:13" }, "variableNames": [ { "name": "ret", "nodeType": "YulIdentifier", - "src": "25971:3:13" + "src": "26197:3:13" } ] } @@ -21152,7 +21270,7 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "25826:5:13", + "src": "26052:5:13", "type": "" } ], @@ -21160,16 +21278,16 @@ { "name": "ret", "nodeType": "YulTypedName", - "src": "25836:3:13", + "src": "26062:3:13", "type": "" } ], - "src": "25798:201:13" + "src": "26024:201:13" }, { "body": { "nodeType": "YulBlock", - "src": "26036:95:13", + "src": "26262:95:13", "statements": [ { "expression": { @@ -21177,7 +21295,7 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "26053:1:13", + "src": "26279:1:13", "type": "", "value": "0" }, @@ -21186,14 +21304,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "26060:3:13", + "src": "26286:3:13", "type": "", "value": "224" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "26065:10:13", + "src": "26291:10:13", "type": "", "value": "0x4e487b71" } @@ -21201,22 +21319,22 @@ "functionName": { "name": "shl", "nodeType": "YulIdentifier", - "src": "26056:3:13" + "src": "26282:3:13" }, "nodeType": "YulFunctionCall", - "src": "26056:20:13" + "src": "26282:20:13" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "26046:6:13" + "src": "26272:6:13" }, "nodeType": "YulFunctionCall", - "src": "26046:31:13" + "src": "26272:31:13" }, "nodeType": "YulExpressionStatement", - "src": "26046:31:13" + "src": "26272:31:13" }, { "expression": { @@ -21224,14 +21342,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "26093:1:13", + "src": "26319:1:13", "type": "", "value": "4" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "26096:4:13", + "src": "26322:4:13", "type": "", "value": "0x11" } @@ -21239,13 +21357,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "26086:6:13" + "src": "26312:6:13" }, "nodeType": "YulFunctionCall", - "src": "26086:15:13" + "src": "26312:15:13" }, "nodeType": "YulExpressionStatement", - "src": "26086:15:13" + "src": "26312:15:13" }, { "expression": { @@ -21253,14 +21371,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "26117:1:13", + "src": "26343:1:13", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "26120:4:13", + "src": "26346:4:13", "type": "", "value": "0x24" } @@ -21268,24 +21386,24 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "26110:6:13" + "src": "26336:6:13" }, "nodeType": "YulFunctionCall", - "src": "26110:15:13" + "src": "26336:15:13" }, "nodeType": "YulExpressionStatement", - "src": "26110:15:13" + "src": "26336:15:13" } ] }, "name": "panic_error_0x11", "nodeType": "YulFunctionDefinition", - "src": "26004:127:13" + "src": "26230:127:13" }, { "body": { "nodeType": "YulBlock", - "src": "26168:95:13", + "src": "26394:95:13", "statements": [ { "expression": { @@ -21293,7 +21411,7 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "26185:1:13", + "src": "26411:1:13", "type": "", "value": "0" }, @@ -21302,14 +21420,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "26192:3:13", + "src": "26418:3:13", "type": "", "value": "224" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "26197:10:13", + "src": "26423:10:13", "type": "", "value": "0x4e487b71" } @@ -21317,22 +21435,22 @@ "functionName": { "name": "shl", "nodeType": "YulIdentifier", - "src": "26188:3:13" + "src": "26414:3:13" }, "nodeType": "YulFunctionCall", - "src": "26188:20:13" + "src": "26414:20:13" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "26178:6:13" + "src": "26404:6:13" }, "nodeType": "YulFunctionCall", - "src": "26178:31:13" + "src": "26404:31:13" }, "nodeType": "YulExpressionStatement", - "src": "26178:31:13" + "src": "26404:31:13" }, { "expression": { @@ -21340,14 +21458,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "26225:1:13", + "src": "26451:1:13", "type": "", "value": "4" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "26228:4:13", + "src": "26454:4:13", "type": "", "value": "0x31" } @@ -21355,13 +21473,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "26218:6:13" + "src": "26444:6:13" }, "nodeType": "YulFunctionCall", - "src": "26218:15:13" + "src": "26444:15:13" }, "nodeType": "YulExpressionStatement", - "src": "26218:15:13" + "src": "26444:15:13" }, { "expression": { @@ -21369,14 +21487,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "26249:1:13", + "src": "26475:1:13", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "26252:4:13", + "src": "26478:4:13", "type": "", "value": "0x24" } @@ -21384,24 +21502,24 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "26242:6:13" + "src": "26468:6:13" }, "nodeType": "YulFunctionCall", - "src": "26242:15:13" + "src": "26468:15:13" }, "nodeType": "YulExpressionStatement", - "src": "26242:15:13" + "src": "26468:15:13" } ] }, "name": "panic_error_0x31", "nodeType": "YulFunctionDefinition", - "src": "26136:127:13" + "src": "26362:127:13" }, { "body": { "nodeType": "YulBlock", - "src": "26300:95:13", + "src": "26526:95:13", "statements": [ { "expression": { @@ -21409,7 +21527,7 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "26317:1:13", + "src": "26543:1:13", "type": "", "value": "0" }, @@ -21418,14 +21536,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "26324:3:13", + "src": "26550:3:13", "type": "", "value": "224" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "26329:10:13", + "src": "26555:10:13", "type": "", "value": "0x4e487b71" } @@ -21433,22 +21551,22 @@ "functionName": { "name": "shl", "nodeType": "YulIdentifier", - "src": "26320:3:13" + "src": "26546:3:13" }, "nodeType": "YulFunctionCall", - "src": "26320:20:13" + "src": "26546:20:13" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "26310:6:13" + "src": "26536:6:13" }, "nodeType": "YulFunctionCall", - "src": "26310:31:13" + "src": "26536:31:13" }, "nodeType": "YulExpressionStatement", - "src": "26310:31:13" + "src": "26536:31:13" }, { "expression": { @@ -21456,14 +21574,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "26357:1:13", + "src": "26583:1:13", "type": "", "value": "4" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "26360:4:13", + "src": "26586:4:13", "type": "", "value": "0x32" } @@ -21471,13 +21589,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "26350:6:13" + "src": "26576:6:13" }, "nodeType": "YulFunctionCall", - "src": "26350:15:13" + "src": "26576:15:13" }, "nodeType": "YulExpressionStatement", - "src": "26350:15:13" + "src": "26576:15:13" }, { "expression": { @@ -21485,14 +21603,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "26381:1:13", + "src": "26607:1:13", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "26384:4:13", + "src": "26610:4:13", "type": "", "value": "0x24" } @@ -21500,24 +21618,24 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "26374:6:13" + "src": "26600:6:13" }, "nodeType": "YulFunctionCall", - "src": "26374:15:13" + "src": "26600:15:13" }, "nodeType": "YulExpressionStatement", - "src": "26374:15:13" + "src": "26600:15:13" } ] }, "name": "panic_error_0x32", "nodeType": "YulFunctionDefinition", - "src": "26268:127:13" + "src": "26494:127:13" }, { "body": { "nodeType": "YulBlock", - "src": "26432:95:13", + "src": "26658:95:13", "statements": [ { "expression": { @@ -21525,7 +21643,7 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "26449:1:13", + "src": "26675:1:13", "type": "", "value": "0" }, @@ -21534,14 +21652,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "26456:3:13", + "src": "26682:3:13", "type": "", "value": "224" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "26461:10:13", + "src": "26687:10:13", "type": "", "value": "0x4e487b71" } @@ -21549,22 +21667,22 @@ "functionName": { "name": "shl", "nodeType": "YulIdentifier", - "src": "26452:3:13" + "src": "26678:3:13" }, "nodeType": "YulFunctionCall", - "src": "26452:20:13" + "src": "26678:20:13" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "26442:6:13" + "src": "26668:6:13" }, "nodeType": "YulFunctionCall", - "src": "26442:31:13" + "src": "26668:31:13" }, "nodeType": "YulExpressionStatement", - "src": "26442:31:13" + "src": "26668:31:13" }, { "expression": { @@ -21572,14 +21690,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "26489:1:13", + "src": "26715:1:13", "type": "", "value": "4" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "26492:4:13", + "src": "26718:4:13", "type": "", "value": "0x41" } @@ -21587,13 +21705,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "26482:6:13" + "src": "26708:6:13" }, "nodeType": "YulFunctionCall", - "src": "26482:15:13" + "src": "26708:15:13" }, "nodeType": "YulExpressionStatement", - "src": "26482:15:13" + "src": "26708:15:13" }, { "expression": { @@ -21601,14 +21719,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "26513:1:13", + "src": "26739:1:13", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "26516:4:13", + "src": "26742:4:13", "type": "", "value": "0x24" } @@ -21616,32 +21734,32 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "26506:6:13" + "src": "26732:6:13" }, "nodeType": "YulFunctionCall", - "src": "26506:15:13" + "src": "26732:15:13" }, "nodeType": "YulExpressionStatement", - "src": "26506:15:13" + "src": "26732:15:13" } ] }, "name": "panic_error_0x41", "nodeType": "YulFunctionDefinition", - "src": "26400:127:13" + "src": "26626:127:13" } ] }, - "contents": "{\n { }\n function abi_decode_available_length_bytes(src, length, end) -> array\n {\n let _1 := 0xffffffffffffffff\n if gt(length, _1) { panic_error_0x41() }\n let _2 := not(31)\n let memPtr := mload(64)\n let newFreePtr := add(memPtr, and(add(and(add(length, 31), _2), 63), _2))\n if or(gt(newFreePtr, _1), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n array := memPtr\n mstore(memPtr, length)\n if gt(add(src, length), end) { revert(0, 0) }\n calldatacopy(add(memPtr, 0x20), src, length)\n mstore(add(add(memPtr, length), 0x20), 0)\n }\n function abi_decode_address(offset) -> value\n {\n value := calldataload(offset)\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n }\n function abi_decode_string(offset, end) -> array\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n array := abi_decode_available_length_bytes(add(offset, 0x20), calldataload(offset), end)\n }\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n }\n function abi_decode_tuple_t_addresst_address(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n }\n function abi_decode_tuple_t_addresst_addresst_uint256(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n value2 := calldataload(add(headStart, 64))\n }\n function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := calldataload(add(headStart, 32))\n }\n function abi_decode_tuple_t_addresst_uint256t_string_memory_ptr(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := calldataload(add(headStart, 32))\n let offset := calldataload(add(headStart, 64))\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n value2 := abi_decode_string(add(headStart, offset), dataEnd)\n }\n function abi_decode_tuple_t_bytes32(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := calldataload(headStart)\n }\n function abi_decode_tuple_t_bytes32t_address(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := calldataload(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n }\n function abi_decode_tuple_t_bytes4(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := calldataload(headStart)\n if iszero(eq(value, and(value, shl(224, 0xffffffff)))) { revert(0, 0) }\n value0 := value\n }\n function abi_decode_tuple_t_bytes_memory_ptr(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let offset := calldataload(headStart)\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n let _1 := add(headStart, offset)\n if iszero(slt(add(_1, 0x1f), dataEnd)) { revert(0, 0) }\n value0 := abi_decode_available_length_bytes(add(_1, 32), calldataload(_1), dataEnd)\n }\n function abi_decode_tuple_t_string_memory_ptrt_uint256(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n let offset := calldataload(headStart)\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n value0 := abi_decode_string(add(headStart, offset), dataEnd)\n value1 := calldataload(add(headStart, 32))\n }\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := calldataload(headStart)\n }\n function abi_encode_enum_ApprovalType(value, pos)\n {\n if iszero(lt(value, 5))\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x21)\n revert(0, 0x24)\n }\n mstore(pos, value)\n }\n function abi_encode_string(value, pos) -> end\n {\n let length := mload(value)\n mstore(pos, length)\n copy_memory_to_memory(add(value, 0x20), add(pos, 0x20), length)\n end := add(add(pos, and(add(length, 31), not(31))), 0x20)\n }\n function abi_encode_tuple_packed_t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874_t_string_memory_ptr_t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value1, value0) -> end\n {\n mstore(pos, \"AccessControl: account \")\n let length := mload(value0)\n copy_memory_to_memory(add(value0, 0x20), add(pos, 23), length)\n let _1 := add(pos, length)\n mstore(add(_1, 23), \" is missing role \")\n let length_1 := mload(value1)\n copy_memory_to_memory(add(value1, 0x20), add(_1, 40), length_1)\n end := add(add(_1, length_1), 40)\n }\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n }\n function abi_encode_tuple_t_address_t_bytes32__to_t_address_t_bytes32__fromStack_reversed(headStart, value1, value0) -> tail\n {\n tail := add(headStart, 64)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n mstore(add(headStart, 32), value1)\n }\n function abi_encode_tuple_t_address_t_uint256_t_string_memory_ptr__to_t_address_t_uint256_t_string_memory_ptr__fromStack_reversed(headStart, value2, value1, value0) -> tail\n {\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n mstore(add(headStart, 32), value1)\n mstore(add(headStart, 64), 96)\n tail := abi_encode_string(value2, add(headStart, 96))\n }\n function abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr__to_t_array$_t_address_$dyn_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n let _1 := 32\n let tail_1 := add(headStart, _1)\n mstore(headStart, _1)\n let pos := tail_1\n let length := mload(value0)\n mstore(tail_1, length)\n pos := add(headStart, 64)\n let srcPtr := add(value0, _1)\n let i := 0\n for { } lt(i, length) { i := add(i, 1) }\n {\n mstore(pos, and(mload(srcPtr), sub(shl(160, 1), 1)))\n pos := add(pos, _1)\n srcPtr := add(srcPtr, _1)\n }\n tail := pos\n }\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, iszero(iszero(value0)))\n }\n function abi_encode_tuple_t_bool_t_uint32__to_t_bool_t_uint32__fromStack_reversed(headStart, value1, value0) -> tail\n {\n tail := add(headStart, 64)\n mstore(headStart, iszero(iszero(value0)))\n mstore(add(headStart, 32), and(value1, 0xffffffff))\n }\n function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_encode_tuple_t_enum$_ApprovalType_$1590_t_address__to_t_uint8_t_address__fromStack_reversed(headStart, value1, value0) -> tail\n {\n tail := add(headStart, 64)\n abi_encode_enum_ApprovalType(value0, headStart)\n mstore(add(headStart, 32), and(value1, sub(shl(160, 1), 1)))\n }\n function abi_encode_tuple_t_enum$_ApprovalType_$1590_t_string_memory_ptr_t_uint256_t_address__to_t_uint8_t_string_memory_ptr_t_uint256_t_address__fromStack_reversed(headStart, value3, value2, value1, value0) -> tail\n {\n abi_encode_enum_ApprovalType(value0, headStart)\n mstore(add(headStart, 32), 128)\n tail := abi_encode_string(value1, add(headStart, 128))\n mstore(add(headStart, 64), value2)\n mstore(add(headStart, 96), and(value3, sub(shl(160, 1), 1)))\n }\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n tail := abi_encode_string(value0, add(headStart, 32))\n }\n function abi_encode_tuple_t_string_memory_ptr_t_uint256__to_t_string_memory_ptr_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n {\n mstore(headStart, 64)\n tail := abi_encode_string(value0, add(headStart, 64))\n mstore(add(headStart, 32), value1)\n }\n function abi_encode_tuple_t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 32)\n mstore(add(headStart, 64), \"Strings: hex length insufficient\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_05386a555fb5b4178067cc222bba94b49ff5d41f27d80ca3371678b9e3b2e0c8__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 25)\n mstore(add(headStart, 64), \"Must contain 7 custodians\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 35)\n mstore(add(headStart, 64), \"ERC20: transfer to the zero addr\")\n mstore(add(headStart, 96), \"ess\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_0d1d997348c4b502650619e51f7d09f80514d98b6993be5051d07f703984619a__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 20)\n mstore(add(headStart, 64), \"Pausable: not paused\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_13db8708b578fbecc0a459d6c97bde53ce0e906ac90480cb2dec183b18a8f137__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 25)\n mstore(add(headStart, 64), \"Approval already complete\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_1462473b7a4b33d32b109b815fd2324d00c9e5839b707ecf16d0ab5744f99226__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 15)\n mstore(add(headStart, 64), \"Invalid address\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 34)\n mstore(add(headStart, 64), \"ERC20: burn amount exceeds balan\")\n mstore(add(headStart, 96), \"ce\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_1a5adee8cc0aa38e9da2bc9f89e109474bcb9a24807fb4f99009a90367b0143d__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 32)\n mstore(add(headStart, 64), \"An approving oracle must execute\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 34)\n mstore(add(headStart, 64), \"ERC20: approve to the zero addre\")\n mstore(add(headStart, 96), \"ss\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_2a0c86389b9cee3461c7143d614cd54d22183c8cf2396103fddc6acad54f1b27__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 37)\n mstore(add(headStart, 64), \"oracle has already approved this\")\n mstore(add(headStart, 96), \" hash\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_34e3a7e654f01bf833b66b5820dfc5c54b692538e8fdf4855e0707f49fbbe737__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 20)\n mstore(add(headStart, 64), \"Already unregistered\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_3adffa81679593af164a42b682923f89b14e652695bf10e28904c07103f4a231__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 30)\n mstore(add(headStart, 64), \"Contract cannot receive tokens\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 29)\n mstore(add(headStart, 64), \"ERC20: insufficient allowance\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 38)\n mstore(add(headStart, 64), \"ERC20: transfer amount exceeds b\")\n mstore(add(headStart, 96), \"alance\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_410a1353bff2ac7b239c1715ed2b100211a58806873566bf60887e82d07abdc5__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 25)\n mstore(add(headStart, 64), \"Oracle already registered\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_4935f8dc8deae1355305b992e890d0242809a3705c9c83131ed47acca0dd4fe2__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 18)\n mstore(add(headStart, 64), \"Already registered\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_554179b8f83bb1fa393538dc82d36ebcd53fdf6c86409aa6c89130d509b651db__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 28)\n mstore(add(headStart, 64), \"Oracles must be 3 or greater\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_68571e1369f7a6dcdcd736cb0343b35a58ed0f64d245c2ed839c98d412744f8a__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 16)\n mstore(add(headStart, 64), \"Pausable: paused\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_6e24367d823fa02bd990b75fa7cc9e62a9943f64f73b7682466e477f62285ba9__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 21)\n mstore(add(headStart, 64), \"Oracle not registered\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_76821f4b3d35f6a60318d8d6b17462215f5551e8806db95a96be51f60cd5499a__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 24)\n mstore(add(headStart, 64), \"Custodian not registered\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_78b7b6e655079b63c1761e6b96d764441d7130eda97b6d8de911b64559d10300__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 20)\n mstore(add(headStart, 64), \"Cannot register self\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_7910ad37365bbe683fd8f86c0628fe6da9da366f7e8b3db028763efd0d0b7ecc_t_address_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470_t_bytes32__to_t_string_memory_ptr_t_address_t_string_memory_ptr_t_bytes32__fromStack_reversed(headStart, value1, value0) -> tail\n {\n mstore(headStart, 128)\n mstore(add(headStart, 128), 9)\n mstore(add(headStart, 160), \"custodian\")\n mstore(add(headStart, 0x20), and(value0, sub(shl(160, 1), 1)))\n mstore(add(headStart, 64), 192)\n mstore(add(headStart, 192), 0)\n tail := add(headStart, 224)\n mstore(add(headStart, 96), value1)\n }\n function abi_encode_tuple_t_stringliteral_89cbf5af14e0328a3cd3a734f92c3832d729d431da79b7873a62cbeebd37beb6_t_address_t_string_memory_ptr_t_bytes32__to_t_string_memory_ptr_t_address_t_string_memory_ptr_t_bytes32__fromStack_reversed(headStart, value2, value1, value0) -> tail\n {\n mstore(headStart, 128)\n mstore(add(headStart, 128), 6)\n mstore(add(headStart, 160), \"oracle\")\n mstore(add(headStart, 0x20), and(value0, sub(shl(160, 1), 1)))\n mstore(add(headStart, 64), 192)\n tail := abi_encode_string(value1, add(headStart, 192))\n mstore(add(headStart, 96), value2)\n }\n function abi_encode_tuple_t_stringliteral_96004842ff601b6d8519c15dcff18308fcdd4e716146ba6a8ca79e8687927600__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 15)\n mstore(add(headStart, 64), \"Invalid account\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_a8cfcfcc55b6217d6c72e8a7fbcf4640857aa133e72442c50f662d62bae73a58__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 19)\n mstore(add(headStart, 64), \"Invalid FIO Address\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 33)\n mstore(add(headStart, 64), \"ERC20: burn from the zero addres\")\n mstore(add(headStart, 96), \"s\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 37)\n mstore(add(headStart, 64), \"ERC20: transfer from the zero ad\")\n mstore(add(headStart, 96), \"dress\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 36)\n mstore(add(headStart, 64), \"ERC20: approve from the zero add\")\n mstore(add(headStart, 96), \"ress\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_cfe1299eb316140316f72764dca05f5f37b5707cc94544151051301f4f9e3829__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 26)\n mstore(add(headStart, 64), \"Minimum 3 oracles required\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_f680803027a1359df75b0a2736bd68cd7743fb83124a9d4efbdc3a64a77cf20f__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 13)\n mstore(add(headStart, 64), \"Invalid obtid\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 37)\n mstore(add(headStart, 64), \"ERC20: decreased allowance below\")\n mstore(add(headStart, 96), \" zero\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 47)\n mstore(add(headStart, 64), \"AccessControl: can only renounce\")\n mstore(add(headStart, 96), \" roles for self\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 31)\n mstore(add(headStart, 64), \"ERC20: mint to the zero address\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_fcb1fc9f3615fd38ab90d28b50a608758c295eeacbd5840421a4ee3b0df2f1f4__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 42)\n mstore(add(headStart, 64), \"ERC20Pausable: token transfer wh\")\n mstore(add(headStart, 96), \"ile paused\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_encode_tuple_t_uint32_t_address_t_uint256__to_t_uint32_t_address_t_uint256__fromStack_reversed(headStart, value2, value1, value0) -> tail\n {\n tail := add(headStart, 96)\n mstore(headStart, and(value0, 0xffffffff))\n mstore(add(headStart, 32), and(value1, sub(shl(160, 1), 1)))\n mstore(add(headStart, 64), value2)\n }\n function abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xff))\n }\n function checked_add_t_uint256(x, y) -> sum\n {\n if gt(x, not(y)) { panic_error_0x11() }\n sum := add(x, y)\n }\n function checked_add_t_uint32(x, y) -> sum\n {\n let _1 := 0xffffffff\n let x_1 := and(x, _1)\n let y_1 := and(y, _1)\n if gt(x_1, sub(_1, y_1)) { panic_error_0x11() }\n sum := add(x_1, y_1)\n }\n function checked_div_t_uint32(x, y) -> r\n {\n let _1 := 0xffffffff\n let y_1 := and(y, _1)\n if iszero(y_1)\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x12)\n revert(0, 0x24)\n }\n r := div(and(x, _1), y_1)\n }\n function checked_mul_t_uint256(x, y) -> product\n {\n if and(iszero(iszero(x)), gt(y, div(not(0), x))) { panic_error_0x11() }\n product := mul(x, y)\n }\n function checked_mul_t_uint32(x, y) -> product\n {\n let _1 := 0xffffffff\n let x_1 := and(x, _1)\n let y_1 := and(y, _1)\n if and(iszero(iszero(x_1)), gt(y_1, div(_1, x_1))) { panic_error_0x11() }\n product := mul(x_1, y_1)\n }\n function checked_sub_t_uint256(x, y) -> diff\n {\n if lt(x, y) { panic_error_0x11() }\n diff := sub(x, y)\n }\n function convert_bytes_to_fixedbytes_from_t_bytes_memory_ptr_to_t_bytes32(array) -> value\n {\n let length := mload(array)\n value := mload(add(array, 0x20))\n if lt(length, 0x20)\n {\n value := and(value, shl(shl(3, sub(0x20, length)), not(0)))\n }\n }\n function copy_memory_to_memory(src, dst, length)\n {\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) { mstore(add(dst, length), 0) }\n }\n function decrement_t_uint256(value) -> ret\n {\n if iszero(value) { panic_error_0x11() }\n ret := add(value, not(0))\n }\n function decrement_t_uint32(value) -> ret\n {\n let value_1 := and(value, 0xffffffff)\n if iszero(value_1) { panic_error_0x11() }\n ret := add(value_1, not(0))\n }\n function extract_byte_array_length(data) -> length\n {\n length := shr(1, data)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n if eq(outOfPlaceEncoding, lt(length, 32))\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n }\n function increment_t_uint16(value) -> ret\n {\n let _1 := 0xffff\n let value_1 := and(value, _1)\n if eq(value_1, _1) { panic_error_0x11() }\n ret := add(value_1, 1)\n }\n function increment_t_uint32(value) -> ret\n {\n let _1 := 0xffffffff\n let value_1 := and(value, _1)\n if eq(value_1, _1) { panic_error_0x11() }\n ret := add(value_1, 1)\n }\n function panic_error_0x11()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n function panic_error_0x31()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x31)\n revert(0, 0x24)\n }\n function panic_error_0x32()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n function panic_error_0x41()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n}", + "contents": "{\n { }\n function abi_decode_available_length_bytes(src, length, end) -> array\n {\n let _1 := 0xffffffffffffffff\n if gt(length, _1) { panic_error_0x41() }\n let _2 := not(31)\n let memPtr := mload(64)\n let newFreePtr := add(memPtr, and(add(and(add(length, 31), _2), 63), _2))\n if or(gt(newFreePtr, _1), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n array := memPtr\n mstore(memPtr, length)\n if gt(add(src, length), end) { revert(0, 0) }\n calldatacopy(add(memPtr, 0x20), src, length)\n mstore(add(add(memPtr, length), 0x20), 0)\n }\n function abi_decode_address(offset) -> value\n {\n value := calldataload(offset)\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n }\n function abi_decode_string(offset, end) -> array\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n array := abi_decode_available_length_bytes(add(offset, 0x20), calldataload(offset), end)\n }\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n }\n function abi_decode_tuple_t_addresst_address(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n }\n function abi_decode_tuple_t_addresst_addresst_uint256(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n value2 := calldataload(add(headStart, 64))\n }\n function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := calldataload(add(headStart, 32))\n }\n function abi_decode_tuple_t_addresst_uint256t_string_memory_ptr(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := calldataload(add(headStart, 32))\n let offset := calldataload(add(headStart, 64))\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n value2 := abi_decode_string(add(headStart, offset), dataEnd)\n }\n function abi_decode_tuple_t_bytes32(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := calldataload(headStart)\n }\n function abi_decode_tuple_t_bytes32t_address(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := calldataload(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n }\n function abi_decode_tuple_t_bytes4(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := calldataload(headStart)\n if iszero(eq(value, and(value, shl(224, 0xffffffff)))) { revert(0, 0) }\n value0 := value\n }\n function abi_decode_tuple_t_bytes_memory_ptr(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let offset := calldataload(headStart)\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n let _1 := add(headStart, offset)\n if iszero(slt(add(_1, 0x1f), dataEnd)) { revert(0, 0) }\n value0 := abi_decode_available_length_bytes(add(_1, 32), calldataload(_1), dataEnd)\n }\n function abi_decode_tuple_t_string_memory_ptrt_uint256(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n let offset := calldataload(headStart)\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n value0 := abi_decode_string(add(headStart, offset), dataEnd)\n value1 := calldataload(add(headStart, 32))\n }\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := calldataload(headStart)\n }\n function abi_encode_array_address_dyn(value, pos) -> end\n {\n let length := mload(value)\n mstore(pos, length)\n let _1 := 0x20\n pos := add(pos, _1)\n let srcPtr := add(value, _1)\n let i := 0\n for { } lt(i, length) { i := add(i, 1) }\n {\n mstore(pos, and(mload(srcPtr), sub(shl(160, 1), 1)))\n pos := add(pos, _1)\n srcPtr := add(srcPtr, _1)\n }\n end := pos\n }\n function abi_encode_enum_ApprovalType(value, pos)\n {\n if iszero(lt(value, 5))\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x21)\n revert(0, 0x24)\n }\n mstore(pos, value)\n }\n function abi_encode_string(value, pos) -> end\n {\n let length := mload(value)\n mstore(pos, length)\n copy_memory_to_memory(add(value, 0x20), add(pos, 0x20), length)\n end := add(add(pos, and(add(length, 31), not(31))), 0x20)\n }\n function abi_encode_tuple_packed_t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874_t_string_memory_ptr_t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value1, value0) -> end\n {\n mstore(pos, \"AccessControl: account \")\n let length := mload(value0)\n copy_memory_to_memory(add(value0, 0x20), add(pos, 23), length)\n let _1 := add(pos, length)\n mstore(add(_1, 23), \" is missing role \")\n let length_1 := mload(value1)\n copy_memory_to_memory(add(value1, 0x20), add(_1, 40), length_1)\n end := add(add(_1, length_1), 40)\n }\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n }\n function abi_encode_tuple_t_address_t_bytes32__to_t_address_t_bytes32__fromStack_reversed(headStart, value1, value0) -> tail\n {\n tail := add(headStart, 64)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n mstore(add(headStart, 32), value1)\n }\n function abi_encode_tuple_t_address_t_uint256_t_string_memory_ptr__to_t_address_t_uint256_t_string_memory_ptr__fromStack_reversed(headStart, value2, value1, value0) -> tail\n {\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n mstore(add(headStart, 32), value1)\n mstore(add(headStart, 64), 96)\n tail := abi_encode_string(value2, add(headStart, 96))\n }\n function abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr__to_t_array$_t_address_$dyn_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n tail := abi_encode_array_address_dyn(value0, add(headStart, 32))\n }\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, iszero(iszero(value0)))\n }\n function abi_encode_tuple_t_bool_t_uint32__to_t_bool_t_uint32__fromStack_reversed(headStart, value1, value0) -> tail\n {\n tail := add(headStart, 64)\n mstore(headStart, iszero(iszero(value0)))\n mstore(add(headStart, 32), and(value1, 0xffffffff))\n }\n function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_encode_tuple_t_enum$_ApprovalType_$1590_t_address__to_t_uint8_t_address__fromStack_reversed(headStart, value1, value0) -> tail\n {\n tail := add(headStart, 64)\n abi_encode_enum_ApprovalType(value0, headStart)\n mstore(add(headStart, 32), and(value1, sub(shl(160, 1), 1)))\n }\n function abi_encode_tuple_t_enum$_ApprovalType_$1590_t_string_memory_ptr_t_uint256_t_address__to_t_uint8_t_string_memory_ptr_t_uint256_t_address__fromStack_reversed(headStart, value3, value2, value1, value0) -> tail\n {\n abi_encode_enum_ApprovalType(value0, headStart)\n mstore(add(headStart, 32), 128)\n tail := abi_encode_string(value1, add(headStart, 128))\n mstore(add(headStart, 64), value2)\n mstore(add(headStart, 96), and(value3, sub(shl(160, 1), 1)))\n }\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n tail := abi_encode_string(value0, add(headStart, 32))\n }\n function abi_encode_tuple_t_string_memory_ptr_t_uint256__to_t_string_memory_ptr_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n {\n mstore(headStart, 64)\n tail := abi_encode_string(value0, add(headStart, 64))\n mstore(add(headStart, 32), value1)\n }\n function abi_encode_tuple_t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 32)\n mstore(add(headStart, 64), \"Strings: hex length insufficient\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_05386a555fb5b4178067cc222bba94b49ff5d41f27d80ca3371678b9e3b2e0c8__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 25)\n mstore(add(headStart, 64), \"Must contain 7 custodians\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 35)\n mstore(add(headStart, 64), \"ERC20: transfer to the zero addr\")\n mstore(add(headStart, 96), \"ess\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_0d1d997348c4b502650619e51f7d09f80514d98b6993be5051d07f703984619a__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 20)\n mstore(add(headStart, 64), \"Pausable: not paused\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_13db8708b578fbecc0a459d6c97bde53ce0e906ac90480cb2dec183b18a8f137__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 25)\n mstore(add(headStart, 64), \"Approval already complete\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_1462473b7a4b33d32b109b815fd2324d00c9e5839b707ecf16d0ab5744f99226__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 15)\n mstore(add(headStart, 64), \"Invalid address\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 34)\n mstore(add(headStart, 64), \"ERC20: burn amount exceeds balan\")\n mstore(add(headStart, 96), \"ce\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_1a5adee8cc0aa38e9da2bc9f89e109474bcb9a24807fb4f99009a90367b0143d__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 32)\n mstore(add(headStart, 64), \"An approving oracle must execute\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 34)\n mstore(add(headStart, 64), \"ERC20: approve to the zero addre\")\n mstore(add(headStart, 96), \"ss\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_2a0c86389b9cee3461c7143d614cd54d22183c8cf2396103fddc6acad54f1b27__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 37)\n mstore(add(headStart, 64), \"oracle has already approved this\")\n mstore(add(headStart, 96), \" hash\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_34e3a7e654f01bf833b66b5820dfc5c54b692538e8fdf4855e0707f49fbbe737__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 20)\n mstore(add(headStart, 64), \"Already unregistered\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_3adffa81679593af164a42b682923f89b14e652695bf10e28904c07103f4a231__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 30)\n mstore(add(headStart, 64), \"Contract cannot receive tokens\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 29)\n mstore(add(headStart, 64), \"ERC20: insufficient allowance\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 38)\n mstore(add(headStart, 64), \"ERC20: transfer amount exceeds b\")\n mstore(add(headStart, 96), \"alance\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_410a1353bff2ac7b239c1715ed2b100211a58806873566bf60887e82d07abdc5__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 25)\n mstore(add(headStart, 64), \"Oracle already registered\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_4935f8dc8deae1355305b992e890d0242809a3705c9c83131ed47acca0dd4fe2__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 18)\n mstore(add(headStart, 64), \"Already registered\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_554179b8f83bb1fa393538dc82d36ebcd53fdf6c86409aa6c89130d509b651db__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 28)\n mstore(add(headStart, 64), \"Oracles must be 3 or greater\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_68571e1369f7a6dcdcd736cb0343b35a58ed0f64d245c2ed839c98d412744f8a__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 16)\n mstore(add(headStart, 64), \"Pausable: paused\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_6e24367d823fa02bd990b75fa7cc9e62a9943f64f73b7682466e477f62285ba9__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 21)\n mstore(add(headStart, 64), \"Oracle not registered\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_76821f4b3d35f6a60318d8d6b17462215f5551e8806db95a96be51f60cd5499a__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 24)\n mstore(add(headStart, 64), \"Custodian not registered\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_78b7b6e655079b63c1761e6b96d764441d7130eda97b6d8de911b64559d10300__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 20)\n mstore(add(headStart, 64), \"Cannot register self\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_7910ad37365bbe683fd8f86c0628fe6da9da366f7e8b3db028763efd0d0b7ecc_t_address_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470_t_bytes32__to_t_string_memory_ptr_t_address_t_string_memory_ptr_t_bytes32__fromStack_reversed(headStart, value1, value0) -> tail\n {\n mstore(headStart, 128)\n mstore(add(headStart, 128), 9)\n mstore(add(headStart, 160), \"custodian\")\n mstore(add(headStart, 0x20), and(value0, sub(shl(160, 1), 1)))\n mstore(add(headStart, 64), 192)\n mstore(add(headStart, 192), 0)\n tail := add(headStart, 224)\n mstore(add(headStart, 96), value1)\n }\n function abi_encode_tuple_t_stringliteral_89cbf5af14e0328a3cd3a734f92c3832d729d431da79b7873a62cbeebd37beb6_t_address_t_string_memory_ptr_t_bytes32__to_t_string_memory_ptr_t_address_t_string_memory_ptr_t_bytes32__fromStack_reversed(headStart, value2, value1, value0) -> tail\n {\n mstore(headStart, 128)\n mstore(add(headStart, 128), 6)\n mstore(add(headStart, 160), \"oracle\")\n mstore(add(headStart, 0x20), and(value0, sub(shl(160, 1), 1)))\n mstore(add(headStart, 64), 192)\n tail := abi_encode_string(value1, add(headStart, 192))\n mstore(add(headStart, 96), value2)\n }\n function abi_encode_tuple_t_stringliteral_96004842ff601b6d8519c15dcff18308fcdd4e716146ba6a8ca79e8687927600__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 15)\n mstore(add(headStart, 64), \"Invalid account\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_a8cfcfcc55b6217d6c72e8a7fbcf4640857aa133e72442c50f662d62bae73a58__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 19)\n mstore(add(headStart, 64), \"Invalid FIO Address\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 33)\n mstore(add(headStart, 64), \"ERC20: burn from the zero addres\")\n mstore(add(headStart, 96), \"s\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 37)\n mstore(add(headStart, 64), \"ERC20: transfer from the zero ad\")\n mstore(add(headStart, 96), \"dress\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 36)\n mstore(add(headStart, 64), \"ERC20: approve from the zero add\")\n mstore(add(headStart, 96), \"ress\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_cfe1299eb316140316f72764dca05f5f37b5707cc94544151051301f4f9e3829__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 26)\n mstore(add(headStart, 64), \"Minimum 3 oracles required\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_f680803027a1359df75b0a2736bd68cd7743fb83124a9d4efbdc3a64a77cf20f__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 13)\n mstore(add(headStart, 64), \"Invalid obtid\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 37)\n mstore(add(headStart, 64), \"ERC20: decreased allowance below\")\n mstore(add(headStart, 96), \" zero\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 47)\n mstore(add(headStart, 64), \"AccessControl: can only renounce\")\n mstore(add(headStart, 96), \" roles for self\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 31)\n mstore(add(headStart, 64), \"ERC20: mint to the zero address\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_fcb1fc9f3615fd38ab90d28b50a608758c295eeacbd5840421a4ee3b0df2f1f4__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 42)\n mstore(add(headStart, 64), \"ERC20Pausable: token transfer wh\")\n mstore(add(headStart, 96), \"ile paused\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_encode_tuple_t_uint32_t_address_t_uint256_t_array$_t_address_$dyn_memory_ptr__to_t_uint32_t_address_t_uint256_t_array$_t_address_$dyn_memory_ptr__fromStack_reversed(headStart, value3, value2, value1, value0) -> tail\n {\n mstore(headStart, and(value0, 0xffffffff))\n mstore(add(headStart, 32), and(value1, sub(shl(160, 1), 1)))\n mstore(add(headStart, 64), value2)\n mstore(add(headStart, 96), 128)\n tail := abi_encode_array_address_dyn(value3, add(headStart, 128))\n }\n function abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xff))\n }\n function checked_add_t_uint256(x, y) -> sum\n {\n if gt(x, not(y)) { panic_error_0x11() }\n sum := add(x, y)\n }\n function checked_add_t_uint32(x, y) -> sum\n {\n let _1 := 0xffffffff\n let x_1 := and(x, _1)\n let y_1 := and(y, _1)\n if gt(x_1, sub(_1, y_1)) { panic_error_0x11() }\n sum := add(x_1, y_1)\n }\n function checked_div_t_uint32(x, y) -> r\n {\n let _1 := 0xffffffff\n let y_1 := and(y, _1)\n if iszero(y_1)\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x12)\n revert(0, 0x24)\n }\n r := div(and(x, _1), y_1)\n }\n function checked_mul_t_uint256(x, y) -> product\n {\n if and(iszero(iszero(x)), gt(y, div(not(0), x))) { panic_error_0x11() }\n product := mul(x, y)\n }\n function checked_mul_t_uint32(x, y) -> product\n {\n let _1 := 0xffffffff\n let x_1 := and(x, _1)\n let y_1 := and(y, _1)\n if and(iszero(iszero(x_1)), gt(y_1, div(_1, x_1))) { panic_error_0x11() }\n product := mul(x_1, y_1)\n }\n function checked_sub_t_uint256(x, y) -> diff\n {\n if lt(x, y) { panic_error_0x11() }\n diff := sub(x, y)\n }\n function convert_bytes_to_fixedbytes_from_t_bytes_memory_ptr_to_t_bytes32(array) -> value\n {\n let length := mload(array)\n value := mload(add(array, 0x20))\n if lt(length, 0x20)\n {\n value := and(value, shl(shl(3, sub(0x20, length)), not(0)))\n }\n }\n function copy_memory_to_memory(src, dst, length)\n {\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) { mstore(add(dst, length), 0) }\n }\n function decrement_t_uint256(value) -> ret\n {\n if iszero(value) { panic_error_0x11() }\n ret := add(value, not(0))\n }\n function decrement_t_uint32(value) -> ret\n {\n let value_1 := and(value, 0xffffffff)\n if iszero(value_1) { panic_error_0x11() }\n ret := add(value_1, not(0))\n }\n function extract_byte_array_length(data) -> length\n {\n length := shr(1, data)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n if eq(outOfPlaceEncoding, lt(length, 32))\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n }\n function increment_t_uint16(value) -> ret\n {\n let _1 := 0xffff\n let value_1 := and(value, _1)\n if eq(value_1, _1) { panic_error_0x11() }\n ret := add(value_1, 1)\n }\n function increment_t_uint32(value) -> ret\n {\n let _1 := 0xffffffff\n let value_1 := and(value, _1)\n if eq(value_1, _1) { panic_error_0x11() }\n ret := add(value_1, 1)\n }\n function panic_error_0x11()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n function panic_error_0x31()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x31)\n revert(0, 0x24)\n }\n function panic_error_0x32()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n function panic_error_0x41()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n}", "id": 13, "language": "Yul", "name": "#utility.yul" } ], - "sourceMap": "433:8941:12:-:0;;;1718:661;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1978:113:3;;;;;;;;;;;-1:-1:-1;;;1978:113:3;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1978:113:3;;;;2044:13;;1978:113;;;2044:13;;:5;;:13;:::i;:::-;-1:-1:-1;2067:17:3;;;;:7;;:17;;;;;:::i;:::-;-1:-1:-1;;996:7:2;:15;;-1:-1:-1;;996:15:2;;;-1:-1:-1;1833:20:12;;1857:2:::1;1833:26;1825:79;;;::::0;-1:-1:-1;;;1825:79:12;;2322:2:13;1825:79:12::1;::::0;::::1;2304:21:13::0;2361:2;2341:18;;;2334:30;2400:34;2380:18;;;2373:62;-1:-1:-1;;;2451:18:13;;;2444:38;2499:19;;1825:79:12::1;;;;;;;;;1912:33;1918:10;1930:14:::0;1912:5:::1;:33::i;:::-;1953:34;-1:-1:-1::0;;;;;;;;;;;1976:10:12::1;1953;:34::i;:::-;2001:7;1996:325;2018:2;2014:1;:6;;;1996:325;;;2047:41;-1:-1:-1::0;;;;;;;;;;;2071:13:12::1;2085:1;2071:16;;;;;;;;;;:::i;:::-;;;;;;;2047:7;;;:41;;:::i;:::-;2046:42;2038:83;;;::::0;-1:-1:-1;;;2038:83:12;;2731:2:13;2038:83:12::1;::::0;::::1;2713:21:13::0;2770:2;2750:18;;;2743:30;2809;2789:18;;;2782:58;2857:18;;2038:83:12::1;2529:352:13::0;2038:83:12::1;2140:37;-1:-1:-1::0;;;;;;;;;;;2160:13:12::1;2174:1;2160:16;;;;;;;;;;:::i;2140:37::-;2139:38;2131:81;;;::::0;-1:-1:-1;;;2131:81:12;;1963:2:13;2131:81:12::1;::::0;::::1;1945:21:13::0;2002:2;1982:18;;;1975:30;2041:32;2021:18;;;2014:60;2091:18;;2131:81:12::1;1761:354:13::0;2131:81:12::1;2222:44;-1:-1:-1::0;;;;;;;;;;;2249:13:12::1;2263:1;2249:16;;;;;;;;;;:::i;:::-;;;;;;;2222:10;;;:44;;:::i;:::-;2276:13;2295;2309:1;2295:16;;;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;2276:36;;::::1;::::0;::::1;::::0;;-1:-1:-1;2276:36:12;;;;;;;::::1;::::0;;-1:-1:-1;;;;;;2276:36:12::1;-1:-1:-1::0;;;;;2276:36:12;;::::1;::::0;;;::::1;::::0;;2022:3;::::1;::::0;::::1;:::i;:::-;;;;1996:325;;;-1:-1:-1::0;;2328:15:12::1;:20:::0;;-1:-1:-1;;;;;;2356:16:12;2346:2:::1;2356:16:::0;;;-1:-1:-1;433:8941:12;;8402:389:3;-1:-1:-1;;;;;8485:21:3;;8477:65;;;;-1:-1:-1;;;8477:65:3;;3088:2:13;8477:65:3;;;3070:21:13;3127:2;3107:18;;;3100:30;3166:33;3146:18;;;3139:61;3217:18;;8477:65:3;2886:355:13;8477:65:3;8553:49;8582:1;8586:7;8595:6;8553:20;:49::i;:::-;8629:6;8613:12;;:22;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;8645:18:3;;:9;:18;;;;;;;;;;:28;;8667:6;;8645:9;:28;;8667:6;;8645:28;:::i;:::-;;;;-1:-1:-1;;8688:37:3;;3803:25:13;;;-1:-1:-1;;;;;8688:37:3;;;8705:1;;8688:37;;3791:2:13;3776:18;8688:37:3;;;;;;;8736:48;8402:389;;:::o;7474:233:0:-;2981:4;3004:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;3004:29:0;;;;;;;;;;;;7552:149;;7595:12;;;;:6;:12;;;;;;;;-1:-1:-1;;;;;7595:29:0;;;;;;;;;:36;;-1:-1:-1;;7595:36:0;7627:4;7595:36;;;7677:12;719:10:8;;640:96;7677:12:0;-1:-1:-1;;;;;7650:40:0;7668:7;-1:-1:-1;;;;;7650:40:0;7662:4;7650:40;;;;;;;;;;7474:233;;:::o;2895:145::-;2981:4;3004:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;3004:29:0;;;;;;;;;;;;;;;2895:145::o;4776:245:12:-;-1:-1:-1;;;;;4906:19:12;;4920:4;4906:19;;4898:62;;;;-1:-1:-1;;;4898:62:12;;1604:2:13;4898:62:12;;;1586:21:13;1643:2;1623:18;;;1616:30;1682:32;1662:18;;;1655:60;1732:18;;4898:62:12;1402:354:13;4898:62:12;4970:44;4997:4;5003:2;5007:6;4970:26;;;;;:44;;:::i;:::-;4776:245;;;:::o;665:264:6:-;803:44;830:4;836:2;840:6;803:26;;;;;:44;;:::i;:::-;1685:7:2;;;;866:9:6;858:64;;;;-1:-1:-1;;;858:64:6;;3448:2:13;858:64:6;;;3430:21:13;3487:2;3467:18;;;3460:30;3526:34;3506:18;;;3499:62;-1:-1:-1;;;3577:18:13;;;3570:40;3627:19;;858:64:6;3246:406:13;433:8941:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;433:8941:12;;;-1:-1:-1;433:8941:12;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;14:177:13;93:13;;-1:-1:-1;;;;;135:31:13;;125:42;;115:70;;181:1;178;171:12;115:70;14:177;;;:::o;196:1201::-;300:6;308;361:2;349:9;340:7;336:23;332:32;329:52;;;377:1;374;367:12;329:52;400:16;;435:2;466:18;;;460:25;400:16;;-1:-1:-1;435:2:13;-1:-1:-1;;;;;534:14:13;;;531:34;;;561:1;558;551:12;531:34;599:6;588:9;584:22;574:32;;644:7;637:4;633:2;629:13;625:27;615:55;;666:1;663;656:12;615:55;695:2;689:9;717:2;713;710:10;707:36;;;723:18;;:::i;:::-;769:2;766:1;762:10;801:2;795:9;864:2;860:7;855:2;851;847:11;843:25;835:6;831:38;919:6;907:10;904:22;899:2;887:10;884:18;881:46;878:72;;;930:18;;:::i;:::-;966:2;959:22;1016:18;;;1050:15;;;;-1:-1:-1;1085:11:13;;;1115;;;1111:20;;1108:33;-1:-1:-1;1105:53:13;;;1154:1;1151;1144:12;1105:53;1176:1;1167:10;;1186:180;1200:2;1197:1;1194:9;1186:180;;;1257:34;1287:3;1257:34;:::i;:::-;1245:47;;1218:1;1211:9;;;;;1312:12;;;;1344;;1186:180;;;1190:3;1385:6;1375:16;;;;;;;;196:1201;;;;;:::o;3839:128::-;3879:3;3910:1;3906:6;3903:1;3900:13;3897:39;;;3916:18;;:::i;:::-;-1:-1:-1;3952:9:13;;3839:128::o;3972:380::-;4051:1;4047:12;;;;4094;;;4115:61;;4169:4;4161:6;4157:17;4147:27;;4115:61;4222:2;4214:6;4211:14;4191:18;4188:38;4185:161;;;4268:10;4263:3;4259:20;4256:1;4249:31;4303:4;4300:1;4293:15;4331:4;4328:1;4321:15;4185:161;;3972:380;;;:::o;4357:175::-;4394:3;4438:4;4431:5;4427:16;4467:4;4458:7;4455:17;4452:43;;;4475:18;;:::i;:::-;4524:1;4511:15;;4357:175;-1:-1:-1;;4357:175:13:o;4537:127::-;4598:10;4593:3;4589:20;4586:1;4579:31;4629:4;4626:1;4619:15;4653:4;4650:1;4643:15;4669:127;4730:10;4725:3;4721:20;4718:1;4711:31;4761:4;4758:1;4751:15;4785:4;4782:1;4775:15;4801:127;4862:10;4857:3;4853:20;4850:1;4843:31;4893:4;4890:1;4883:15;4917:4;4914:1;4907:15;4801:127;433:8941:12;;;;;;", - "deployedSourceMap": "433:8941:12:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9263:8;;;433:8941;;;;2606:202:0;;;;;;;;;;-1:-1:-1;2606:202:0;;;;;:::i;:::-;;:::i;:::-;;;7347:14:13;;7340:22;7322:41;;7310:2;7295:18;2606:202:0;;;;;;;;2156:98:3;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;540:62:12:-;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;540:62:12;;;;;7798:25:13;;;7786:2;7771:18;540:62:12;7652:177:13;4433:197:3;;;;;;;;;;-1:-1:-1;4433:197:3;;;;;:::i;:::-;;:::i;5240:210:12:-;;;;;;;;;;-1:-1:-1;5240:210:12;;;;;:::i;:::-;;:::i;:::-;;;;7565:14:13;;7558:22;7540:41;;7629:10;7617:23;;;7612:2;7597:18;;7590:51;7513:18;5240:210:12;7374:273:13;3244:106:3;;;;;;;;;;-1:-1:-1;3331:12:3;;3244:106;;5192:286;;;;;;;;;;-1:-1:-1;5192:286:3;;;;;:::i;:::-;;:::i;4391:129:0:-;;;;;;;;;;-1:-1:-1;4391:129:0;;;;;:::i;:::-;4465:7;4491:12;;;:6;:12;;;;;:22;;;;4391:129;4816:145;;;;;;;;;;-1:-1:-1;4816:145:0;;;;;:::i;:::-;;:::i;:::-;;9284:88:12;;;;;;;;;;-1:-1:-1;9284:88:12;;9364:1;23039:36:13;;23027:2;23012:18;9284:88:12;22897:184:13;5925:214:0;;;;;;;;;;-1:-1:-1;5925:214:0;;;;;:::i;:::-;;:::i;5873:234:3:-;;;;;;;;;;-1:-1:-1;5873:234:3;;;;;:::i;:::-;;:::i;2480:89:12:-;;;;;;;;;;;;;:::i;5456:94::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;578:89:5:-;;;;;;;;;;-1:-1:-1;578:89:5;;;;;:::i;:::-;;:::i;6500:866:12:-;;;;;;;;;;-1:-1:-1;6500:866:12;;;;;:::i;:::-;;:::i;1615:84:2:-;;;;;;;;;;-1:-1:-1;1685:7:2;;;;1615:84;;3408:125:3;;;;;;;;;;-1:-1:-1;3408:125:3;;;;;:::i;:::-;-1:-1:-1;;;;;3508:18:3;3482:7;3508:18;;;;;;;;;;;;3408:125;973:161:5;;;;;;;;;;-1:-1:-1;973:161:5;;;;;:::i;:::-;;:::i;2385:89:12:-;;;;;;;;;;;;;:::i;4506:264::-;;;;;;;;;;-1:-1:-1;4506:264:12;;;;;:::i;:::-;;:::i;2895:145:0:-;;;;;;;;;;-1:-1:-1;2895:145:0;;;;;:::i;:::-;;:::i;2367:102:3:-;;;;;;;;;;;;;:::i;2027:49:0:-;;;;;;;;;;-1:-1:-1;2027:49:0;2072:4;2027:49;;6594:427:3;;;;;;;;;;-1:-1:-1;6594:427:3;;;;;:::i;:::-;;:::i;5556:288:12:-;;;;;;;;;;-1:-1:-1;5556:288:12;;;;;:::i;:::-;;:::i;:::-;;;;22762:10:13;22750:23;;;22732:42;;-1:-1:-1;;;;;22810:32:13;;;22805:2;22790:18;;22783:60;22859:18;;;22852:34;22720:2;22705:18;5556:288:12;22532:360:13;3729:189:3;;;;;;;;;;-1:-1:-1;3729:189:3;;;;;:::i;:::-;;:::i;7387:652:12:-;;;;;;;;;;-1:-1:-1;7387:652:12;;;;;:::i;:::-;;:::i;674:68::-;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;674:68:12;;5028:206;;;;;;;;;;-1:-1:-1;5028:206:12;;;;;:::i;:::-;;:::i;5241:147:0:-;;;;;;;;;;-1:-1:-1;5241:147:0;;;;;:::i;:::-;;:::i;3849:651:12:-;;;;;;;;;;-1:-1:-1;3849:651:12;;;;;:::i;:::-;;:::i;3976:149:3:-;;;;;;;;;;-1:-1:-1;3976:149:3;;;;;:::i;:::-;;:::i;5850:644:12:-;;;;;;;;;;-1:-1:-1;5850:644:12;;;;;:::i;:::-;;:::i;608:60::-;;;;;;;;;;;;645:23;608:60;;8045:973;;;;;;;;;;-1:-1:-1;8045:973:12;;;;;:::i;:::-;;:::i;2606:202:0:-;2691:4;-1:-1:-1;;;;;;2714:47:0;;-1:-1:-1;;;2714:47:0;;:87;;-1:-1:-1;;;;;;;;;;937:40:10;;;2765:36:0;2707:94;2606:202;-1:-1:-1;;2606:202:0:o;2156:98:3:-;2210:13;2242:5;2235:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2156:98;:::o;4433:197::-;4516:4;719:10:8;4570:32:3;719:10:8;4586:7:3;4595:6;4570:8;:32::i;:::-;-1:-1:-1;4619:4:3;;4433:197;-1:-1:-1;;;4433:197:3:o;5240:210:12:-;5299:4;;-1:-1:-1;;;;;5329:21:12;;5321:49;;;;-1:-1:-1;;;5321:49:12;;;;;;;:::i;:::-;;;;;;;;;5386:29;-1:-1:-1;;;;;;;;;;;5407:7:12;5386;:29::i;:::-;5424:10;:17;5378:65;;5424:17;;-1:-1:-1;5240:210:12;-1:-1:-1;;5240:210:12:o;5192:286:3:-;5319:4;719:10:8;5375:38:3;5391:4;719:10:8;5406:6:3;5375:15;:38::i;:::-;5423:27;5433:4;5439:2;5443:6;5423:9;:27::i;:::-;-1:-1:-1;5467:4:3;;5192:286;-1:-1:-1;;;;5192:286:3:o;4816:145:0:-;4465:7;4491:12;;;:6;:12;;;;;:22;;;2505:16;2516:4;2505:10;:16::i;:::-;4929:25:::1;4940:4;4946:7;4929:10;:25::i;:::-;4816:145:::0;;;:::o;5925:214::-;-1:-1:-1;;;;;6020:23:0;;719:10:8;6020:23:0;6012:83;;;;-1:-1:-1;;;6012:83:0;;21365:2:13;6012:83:0;;;21347:21:13;21404:2;21384:18;;;21377:30;21443:34;21423:18;;;21416:62;-1:-1:-1;;;21494:18:13;;;21487:45;21549:19;;6012:83:0;21163:411:13;6012:83:0;6106:26;6118:4;6124:7;6106:11;:26::i;:::-;5925:214;;:::o;5873:234:3:-;5961:4;719:10:8;6015:64:3;719:10:8;6031:7:3;6068:10;6040:25;719:10:8;6031:7:3;6040:9;:25::i;:::-;:38;;;;:::i;:::-;6015:8;:64::i;2480:89:12:-;-1:-1:-1;;;;;;;;;;;2505:16:0;2516:4;2505:10;:16::i;:::-;1486::2::1;:14;:16::i;:::-;2552:10:12::2;:8;:10::i;:::-;2480:89:::0;:::o;5456:94::-;5500:16;5533:10;5526:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5526:17:12;;;;;;;;;;;;;;;;;;;;;;5456:94;:::o;578:89:5:-;633:27;719:10:8;653:6:5;633:5;:27::i;6500:866:12:-;-1:-1:-1;;;;;;;;;;;2505:16:0;2516:4;2505:10;:16::i;:::-;-1:-1:-1;;;;;6588:21:12;::::1;6580:49;;;;-1:-1:-1::0;;;6580:49:12::1;;;;;;;:::i;:::-;6645:12;::::0;6660:1:::1;6645:12:::0;;;::::1;;;:16;6637:55;;;::::0;-1:-1:-1;;;6637:55:12;;20262:2:13;6637:55:12::1;::::0;::::1;20244:21:13::0;20301:2;20281:18;;;20274:30;20340:28;20320:18;;;20313:56;20386:18;;6637:55:12::1;20060:350:13::0;6637:55:12::1;6700:17;6747:25;6773:7;6736:45;;;;;;;;;:::i;:::-;;;;;;;;;;;;;6720:63;;;;;;6700:83;;6799:29;-1:-1:-1::0;;;;;;;;;;;6820:7:12::1;6799;:29::i;:::-;6791:63;;;::::0;-1:-1:-1;;;6791:63:12;;15991:2:13;6791:63:12::1;::::0;::::1;15973:21:13::0;16030:2;16010:18;;;16003:30;-1:-1:-1;;;16049:18:13;;;16042:51;16110:18;;6791:63:12::1;15789:345:13::0;6791:63:12::1;6867:38;6880:9;6891:1;6894:7;6903:1;6867:12;:38::i;:::-;6862:426;;;6919:33;-1:-1:-1::0;;;;;;;;;;;6944:7:12::1;6919:11;:33::i;:::-;6964:12;:14:::0;;;;::::1;;;::::0;:12:::1;:14;::::0;::::1;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;6994:8;6990:234;7012:10;:17:::0;7008:21:::1;::::0;::::1;;6990:234;;;7070:7;-1:-1:-1::0;;;;;7053:24:12::1;:10;7064:1;7053:13;;;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;::::1;::::0;-1:-1:-1;;;;;7053:13:12::1;:24;7050:162;;;7111:10;7122:17:::0;;:21:::1;::::0;7142:1:::1;::::0;7122:21:::1;:::i;:::-;7111:33;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;::::1;::::0;7095:10:::1;:13:::0;;-1:-1:-1;;;;;7111:33:12;;::::1;::::0;7095:13:::1;::::0;::::1;::::0;;::::1;;;;;:::i;:::-;;;;;;;;;:49;;;;;-1:-1:-1::0;;;;;7095:49:12::1;;;;;-1:-1:-1::0;;;;;7095:49:12::1;;;;;;7160:10;:16;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;;-1:-1:-1;;7160:16:12;;;;;-1:-1:-1;;;;;;7160:16:12::1;::::0;;;;;7192:5:::1;;7050:162;7031:3:::0;::::1;::::0;::::1;:::i;:::-;;;;6990:234;;;-1:-1:-1::0;7240:39:12::1;::::0;;-1:-1:-1;;;;;6039:32:13;;6021:51;;6103:2;6088:18;;6081:34;;;7240:39:12::1;::::0;5994:18:13;7240:39:12::1;;;;;;;;6862:426;7300:58;::::0;;17200:3:13;17182:22;;;17241:1;17220:19;;;17213:30;-1:-1:-1;;;17274:3:13;17259:19;;17252:40;7332:10:12::1;17323:4:13::0;17308:20;;17301:62;17399:3;17379:18;;;17372:31;;;-1:-1:-1;17419:19:13;;;17412:30;-1:-1:-1;17494:18:13;;17487:34;;;7300:58:12;;::::1;::::0;;;;17474:3:13;7300:58:12;;::::1;6572:794;6500:866:::0;;:::o;973:161:5:-;1049:46;1065:7;719:10:8;1088:6:5;1049:15;:46::i;:::-;1105:22;1111:7;1120:6;1105:5;:22::i;2385:89:12:-;-1:-1:-1;;;;;;;;;;;2505:16:0;2516:4;2505:10;:16::i;:::-;1239:19:2::1;:17;:19::i;:::-;2459:8:12::2;:6;:8::i;4506:264::-:0;1239:19:2;:17;:19::i;:::-;4629:1:12::1;4608:10;4602:24;:28;:62;;;;;4662:2;4640:10;4634:24;:30;;4602:62;4594:94;;;::::0;-1:-1:-1;;;4594:94:12;;18701:2:13;4594:94:12::1;::::0;::::1;18683:21:13::0;18740:2;18720:18;;;18713:30;-1:-1:-1;;;18759:18:13;;;18752:49;18818:18;;4594:94:12::1;18499:343:13::0;4594:94:12::1;4696:25;4702:10;4714:6;4696:5;:25::i;:::-;4734:29;4744:10;4756:6;4734:29;;;;;;;:::i;:::-;;;;;;;;4506:264:::0;;:::o;2895:145:0:-;2981:4;3004:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;3004:29:0;;;;;;;;;;;;;;;2895:145::o;2367:102:3:-;2423:13;2455:7;2448:14;;;;;:::i;6594:427::-;6687:4;719:10:8;6687:4:3;6768:25;719:10:8;6785:7:3;6768:9;:25::i;:::-;6741:52;;6831:15;6811:16;:35;;6803:85;;;;-1:-1:-1;;;6803:85:3;;20959:2:13;6803:85:3;;;20941:21:13;20998:2;20978:18;;;20971:30;21037:34;21017:18;;;21010:62;-1:-1:-1;;;21088:18:13;;;21081:35;21133:19;;6803:85:3;20757:401:13;6803:85:3;6922:60;6931:5;6938:7;6966:15;6947:16;:34;6922:8;:60::i;5556:288:12:-;5624:6;5632:7;5641;5685:1;5666:9;:16;:20;5658:46;;;;-1:-1:-1;;;5658:46:12;;20617:2:13;5658:46:12;;;20599:21:13;20656:2;20636:18;;;20629:30;-1:-1:-1;;;20675:18:13;;;20668:43;20728:18;;5658:46:12;20415:337:13;5658:46:12;5720:9;:29;5730:18;5738:9;5730:18;:::i;:::-;5720:29;;;;;;;;;;;-1:-1:-1;5720:29:12;;;:39;;;;;;5761:9;;5771:18;5779:9;5771:18;:::i;:::-;5761:29;;;;;;;;;;;:37;;;;;;;;;;-1:-1:-1;;;;;5761:37:12;5800:9;:29;5818:9;5810:18;;;:::i;:::-;5800:29;;;;;;;;;;;:36;;;5712:125;;;;;;5556:288;;;;;:::o;3729:189:3:-;3808:4;719:10:8;3862:28:3;719:10:8;3879:2:3;3883:6;3862:9;:28::i;7387:652:12:-;-1:-1:-1;;;;;;;;;;;2505:16:0;2516:4;2505:10;:16::i;:::-;-1:-1:-1;;;;;7471:21:12;::::1;7463:49;;;;-1:-1:-1::0;;;7463:49:12::1;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;7528:21:12;::::1;7539:10;7528:21;;7520:54;;;::::0;-1:-1:-1;;;7520:54:12;;16694:2:13;7520:54:12::1;::::0;::::1;16676:21:13::0;16733:2;16713:18;;;16706:30;-1:-1:-1;;;16752:18:13;;;16745:50;16812:18;;7520:54:12::1;16492:344:13::0;7520:54:12::1;7582:17;7629:25;7655:7;7618:45;;;;;;;;;:::i;:::-;;;;;;;;;;;;;7602:63;;;;;;7582:83;;7682:32;-1:-1:-1::0;;;;;;;;;;;7706:7:12::1;7682;:32::i;:::-;7681:33;7673:64;;;::::0;-1:-1:-1;;;7673:64:12;;14942:2:13;7673:64:12::1;::::0;::::1;14924:21:13::0;14981:2;14961:18;;;14954:30;-1:-1:-1;;;15000:18:13;;;14993:48;15058:18;;7673:64:12::1;14740:342:13::0;7673:64:12::1;7749:38;7762:9;7773:1;7776:7;7785:1;7749:12;:38::i;:::-;7745:217;;;7799:35;-1:-1:-1::0;;;;;;;;;;;7826:7:12::1;7799:10;:35::i;:::-;7844:15;:17:::0;;::::1;;::::0;:15:::1;:17;::::0;::::1;:::i;:::-;::::0;;::::1;::::0;;;::::1;;::::0;;::::1;;::::0;;::::1;::::0;;;::::1;::::0;;;::::1;;::::0;;-1:-1:-1;7871:13:12::1;:27:::0;;-1:-1:-1;7871:27:12;::::1;::::0;;-1:-1:-1;7871:27:12;;;;;::::1;::::0;;-1:-1:-1;;;;;;7871:27:12::1;-1:-1:-1::0;;;;;7871:27:12;::::1;::::0;;::::1;::::0;;;7913:40:::1;::::0;;6021:51:13;;;6103:2;6088:18;;6081:34;;;7913:40:12::1;::::0;5994:18:13;7913:40:12::1;5847:274:13::0;5028:206:12;5090:4;;-1:-1:-1;;;;;5120:21:12;;5112:49;;;;-1:-1:-1;;;5112:49:12;;;;;;;:::i;:::-;5177:32;-1:-1:-1;;;;;;;;;;;5201:7:12;5177;:32::i;:::-;5211:15;;5169:58;;5211:15;;;;;-1:-1:-1;5028:206:12;-1:-1:-1;;5028:206:12:o;5241:147:0:-;4465:7;4491:12;;;:6;:12;;;;;:22;;;2505:16;2516:4;2505:10;:16::i;:::-;5355:26:::1;5367:4;5373:7;5355:11;:26::i;3849:651:12:-:0;-1:-1:-1;;;;;;;;;;;2505:16:0;2516:4;2505:10;:16::i;:::-;1239:19:2::1;:17;:19::i;:::-;529:4:12::2;3977:6;:17;3969:26;;;::::0;::::2;;4033:1;4017:5;4011:19;:23;4003:49;;;::::0;-1:-1:-1;;;4003:49:12;;20617:2:13;4003:49:12::2;::::0;::::2;20599:21:13::0;20656:2;20636:18;;;20629:30;-1:-1:-1;;;20675:18:13;;;20668:43;20728:18;;4003:49:12::2;20415:337:13::0;4003:49:12::2;-1:-1:-1::0;;;;;4068:21:12;::::2;4060:49;;;::::0;-1:-1:-1;;;4060:49:12;;18357:2:13;4060:49:12::2;::::0;::::2;18339:21:13::0;18396:2;18376:18;;;18369:30;-1:-1:-1;;;18415:18:13;;;18408:45;18470:18;;4060:49:12::2;18155:339:13::0;4060:49:12::2;4125:12;::::0;4141:1:::2;4125:12:::0;;;::::2;;;:17;;4117:58;;;::::0;-1:-1:-1;;;4117:58:12;;15289:2:13;4117:58:12::2;::::0;::::2;15271:21:13::0;15328:2;15308:18;;;15301:30;15367;15347:18;;;15340:58;15415:18;;4117:58:12::2;15087:352:13::0;4117:58:12::2;4183:17;4230::::0;4249:5:::2;4256:6;4264:7;4219:53;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;4203:71;;;;;;4183:91;;4287:43;4300:9;4311:1;4314:7;4323:6;4287:12;:43::i;:::-;4283:138;;;4343:22;4349:7;4358:6;4343:5;:22::i;:::-;4381:31;4389:7;4398:6;4406:5;4381:31;;;;;;;;:::i;:::-;;;;;;;;4283:138;4434:58;4463:10;4475:5;4482:9;4434:58;;;;;;;;:::i;:::-;;;;;;;;3961:539;3849:651:::0;;;;:::o;3976:149:3:-;-1:-1:-1;;;;;4091:18:3;;;4065:7;4091:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3976:149::o;5850:644:12:-;-1:-1:-1;;;;;;;;;;;2505:16:0;2516:4;2505:10;:16::i;:::-;-1:-1:-1;;;;;5937:21:12;::::1;5929:49;;;;-1:-1:-1::0;;;5929:49:12::1;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;5994:21:12;::::1;6005:10;5994:21;;5986:54;;;::::0;-1:-1:-1;;;5986:54:12;;16694:2:13;5986:54:12::1;::::0;::::1;16676:21:13::0;16733:2;16713:18;;;16706:30;-1:-1:-1;;;16752:18:13;;;16745:50;16812:18;;5986:54:12::1;16492:344:13::0;5986:54:12::1;6057:29;-1:-1:-1::0;;;;;;;;;;;6078:7:12::1;6057;:29::i;:::-;6056:30;6048:68;;;::::0;-1:-1:-1;;;6048:68:12;;14588:2:13;6048:68:12::1;::::0;::::1;14570:21:13::0;14627:2;14607:18;;;14600:30;14666:27;14646:18;;;14639:55;14711:18;;6048:68:12::1;14386:349:13::0;6048:68:12::1;6124:17;6171:22;6194:7;6160:43;;;;;;;;;:::i;:::-;;;;;;;;;;;;;6144:61;;;;;;6124:81;;6217:38;6230:9;6241:1;6244:7;6253:1;6217:12;:38::i;:::-;6213:204;;;6266:32;-1:-1:-1::0;;;;;;;;;;;6290:7:12::1;6266:10;:32::i;:::-;6308:12;:14:::0;;;;::::1;;;::::0;:12:::1;:14;::::0;::::1;:::i;:::-;::::0;;::::1;::::0;;;::::1;;::::0;;::::1;;::::0;;::::1;::::0;;;::::1;::::0;;;::::1;;::::0;;-1:-1:-1;6332:10:12::1;:24:::0;;-1:-1:-1;6332:24:12;::::1;::::0;;-1:-1:-1;6332:24:12;;;;;::::1;::::0;;-1:-1:-1;;;;;;6332:24:12::1;-1:-1:-1::0;;;;;6332:24:12;::::1;::::0;;::::1;::::0;;;6371:37:::1;::::0;;6021:51:13;;;6103:2;6088:18;;6081:34;;;6371:37:12::1;::::0;5994:18:13;6371:37:12::1;5847:274:13::0;8045:973:12;-1:-1:-1;;;;;;;;;;;2505:16:0;2516:4;2505:10;:16::i;:::-;-1:-1:-1;;;;;8131:21:12;::::1;8123:49;;;;-1:-1:-1::0;;;8123:49:12::1;;;;;;;:::i;:::-;8188:32;-1:-1:-1::0;;;;;;;;;;;8212:7:12::1;8188;:32::i;:::-;8180:69;;;::::0;-1:-1:-1;;;8180:69:12;;16341:2:13;8180:69:12::1;::::0;::::1;16323:21:13::0;16380:2;16360:18;;;16353:30;16419:26;16399:18;;;16392:54;16463:18;;8180:69:12::1;16139:348:13::0;8180:69:12::1;8283:1;8265:15:::0;;::::1;;:19;8257:57;;;::::0;-1:-1:-1;;;8257:57:12;;9737:2:13;8257:57:12::1;::::0;::::1;9719:21:13::0;9776:2;9756:18;;;9749:30;9815:27;9795:18;;;9788:55;9860:18;;8257:57:12::1;9535:349:13::0;8257:57:12::1;8322:17;8369:28;8398:7;8358:48;;;;;;;;;:::i;:::-;;;;;;;;;;;;;8342:66;;;;;;8322:86;;8424:32;-1:-1:-1::0;;;;;;;;;;;8448:7:12::1;8424;:32::i;:::-;8416:65;;;::::0;-1:-1:-1;;;8416:65:12;;13115:2:13;8416:65:12::1;::::0;::::1;13097:21:13::0;13154:2;13134:18;;;13127:30;-1:-1:-1;;;13173:18:13;;;13166:50;13233:18;;8416:65:12::1;12913:344:13::0;8416:65:12::1;8493:38;8506:9;8517:1;8520:7;8529:1;8493:12;:38::i;:::-;8489:452;;;8545:36;-1:-1:-1::0;;;;;;;;;;;8573:7:12::1;8545:11;:36::i;:::-;8593:15;:17:::0;;::::1;;::::0;:15:::1;:17;::::0;::::1;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;8626:8;8622:252;8644:13;:20:::0;8640:24:::1;::::0;::::1;;8622:252;;;8708:7;-1:-1:-1::0;;;;;8688:27:12::1;:13;8702:1;8688:16;;;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;::::1;::::0;-1:-1:-1;;;;;8688:16:12::1;:27;8685:177;;;8752:13;8766:20:::0;;:24:::1;::::0;8789:1:::1;::::0;8766:24:::1;:::i;:::-;8752:39;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;::::1;::::0;8733:13:::1;:16:::0;;-1:-1:-1;;;;;8752:39:12;;::::1;::::0;8733:16:::1;::::0;::::1;::::0;;::::1;;;;;:::i;:::-;;;;;;;;;:58;;;;;-1:-1:-1::0;;;;;8733:58:12::1;;;;;-1:-1:-1::0;;;;;8733:58:12::1;;;;;;8807:13;:19;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;;-1:-1:-1;;8807:19:12;;;;;-1:-1:-1;;;;;;8807:19:12::1;::::0;;;;;8842:5:::1;;8685:177;8666:3:::0;::::1;::::0;::::1;:::i;:::-;;;;8622:252;;;-1:-1:-1::0;8890:42:12::1;::::0;;-1:-1:-1;;;;;6039:32:13;;6021:51;;6103:2;6088:18;;6081:34;;;8890:42:12::1;::::0;5994:18:13;8890:42:12::1;5847:274:13::0;665:264:6;1685:7:2;;;;866:9:6;858:64;;;;-1:-1:-1;;;858:64:6;;22141:2:13;858:64:6;;;22123:21:13;22180:2;22160:18;;;22153:30;22219:34;22199:18;;;22192:62;-1:-1:-1;;;22270:18:13;;;22263:40;22320:19;;858:64:6;21939:406:13;10110:370:3;-1:-1:-1;;;;;10241:19:3;;10233:68;;;;-1:-1:-1;;;10233:68:3;;19857:2:13;10233:68:3;;;19839:21:13;19896:2;19876:18;;;19869:30;19935:34;19915:18;;;19908:62;-1:-1:-1;;;19986:18:13;;;19979:34;20030:19;;10233:68:3;19655:400:13;10233:68:3;-1:-1:-1;;;;;10319:21:3;;10311:68;;;;-1:-1:-1;;;10311:68:3;;12306:2:13;10311:68:3;;;12288:21:13;12345:2;12325:18;;;12318:30;12384:34;12364:18;;;12357:62;-1:-1:-1;;;12435:18:13;;;12428:32;12477:19;;10311:68:3;12104:398:13;10311:68:3;-1:-1:-1;;;;;10390:18:3;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;10441:32;;7798:25:13;;;10441:32:3;;7771:18:13;10441:32:3;;;;;;;10110:370;;;:::o;10761:441::-;10891:24;10918:25;10928:5;10935:7;10918:9;:25::i;:::-;10891:52;;-1:-1:-1;;10957:16:3;:37;10953:243;;11038:6;11018:16;:26;;11010:68;;;;-1:-1:-1;;;11010:68:3;;13823:2:13;11010:68:3;;;13805:21:13;13862:2;13842:18;;;13835:30;13901:31;13881:18;;;13874:59;13950:18;;11010:68:3;13621:353:13;11010:68:3;11120:51;11129:5;11136:7;11164:6;11145:16;:25;11120:8;:51::i;:::-;10881:321;10761:441;;;:::o;7475:651::-;-1:-1:-1;;;;;7601:18:3;;7593:68;;;;-1:-1:-1;;;7593:68:3;;19451:2:13;7593:68:3;;;19433:21:13;19490:2;19470:18;;;19463:30;19529:34;19509:18;;;19502:62;-1:-1:-1;;;19580:18:13;;;19573:35;19625:19;;7593:68:3;19249:401:13;7593:68:3;-1:-1:-1;;;;;7679:16:3;;7671:64;;;;-1:-1:-1;;;7671:64:3;;10091:2:13;7671:64:3;;;10073:21:13;10130:2;10110:18;;;10103:30;10169:34;10149:18;;;10142:62;-1:-1:-1;;;10220:18:13;;;10213:33;10263:19;;7671:64:3;9889:399:13;7671:64:3;7746:38;7767:4;7773:2;7777:6;7746:20;:38::i;:::-;-1:-1:-1;;;;;7817:15:3;;7795:19;7817:15;;;;;;;;;;;7850:21;;;;7842:72;;;;-1:-1:-1;;;7842:72:3;;14181:2:13;7842:72:3;;;14163:21:13;14220:2;14200:18;;;14193:30;14259:34;14239:18;;;14232:62;-1:-1:-1;;;14310:18:13;;;14303:36;14356:19;;7842:72:3;13979:402:13;7842:72:3;-1:-1:-1;;;;;7948:15:3;;;:9;:15;;;;;;;;;;;7966:20;;;7948:38;;8006:13;;;;;;;;:23;;7980:6;;7948:9;8006:23;;7980:6;;8006:23;:::i;:::-;;;;;;;;8060:2;-1:-1:-1;;;;;8045:26:3;8054:4;-1:-1:-1;;;;;8045:26:3;;8064:6;8045:26;;;;7798:25:13;;7786:2;7771:18;;7652:177;8045:26:3;;;;;;;;8082:37;4816:145:0;3334:103;3400:30;3411:4;719:10:8;3400::0;:30::i;7474:233::-;7557:22;7565:4;7571:7;7557;:22::i;:::-;7552:149;;7595:12;;;;:6;:12;;;;;;;;-1:-1:-1;;;;;7595:29:0;;;;;;;;;:36;;-1:-1:-1;;7595:36:0;7627:4;7595:36;;;7677:12;719:10:8;;640:96;7677:12:0;-1:-1:-1;;;;;7650:40:0;7668:7;-1:-1:-1;;;;;7650:40:0;7662:4;7650:40;;;;;;;;;;7474:233;;:::o;7878:234::-;7961:22;7969:4;7975:7;7961;:22::i;:::-;7957:149;;;8031:5;7999:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;7999:29:0;;;;;;;;;;:37;;-1:-1:-1;;7999:37:0;;;8055:40;719:10:8;;7999:12:0;;8055:40;;8031:5;8055:40;7878:234;;:::o;1945:106:2:-;1685:7;;;;2003:41;;;;-1:-1:-1;;;2003:41:2;;10495:2:13;2003:41:2;;;10477:21:13;10534:2;10514:18;;;10507:30;-1:-1:-1;;;10553:18:13;;;10546:50;10613:18;;2003:41:2;10293:344:13;2003:41:2;1945:106::o;2433:117::-;1486:16;:14;:16::i;:::-;2491:7:::1;:15:::0;;-1:-1:-1;;2491:15:2::1;::::0;;2521:22:::1;719:10:8::0;2530:12:2::1;2521:22;::::0;-1:-1:-1;;;;;5803:32:13;;;5785:51;;5773:2;5758:18;2521:22:2::1;;;;;;;2433:117::o:0;9111:576:3:-;-1:-1:-1;;;;;9194:21:3;;9186:67;;;;-1:-1:-1;;;9186:67:3;;19049:2:13;9186:67:3;;;19031:21:13;19088:2;19068:18;;;19061:30;19127:34;19107:18;;;19100:62;-1:-1:-1;;;19178:18:13;;;19171:31;19219:19;;9186:67:3;18847:397:13;9186:67:3;9264:49;9285:7;9302:1;9306:6;9264:20;:49::i;:::-;-1:-1:-1;;;;;9349:18:3;;9324:22;9349:18;;;;;;;;;;;9385:24;;;;9377:71;;;;-1:-1:-1;;;9377:71:3;;11542:2:13;9377:71:3;;;11524:21:13;11581:2;11561:18;;;11554:30;11620:34;11600:18;;;11593:62;-1:-1:-1;;;11671:18:13;;;11664:32;11713:19;;9377:71:3;11340:398:13;9377:71:3;-1:-1:-1;;;;;9482:18:3;;:9;:18;;;;;;;;;;9503:23;;;9482:44;;9546:12;:22;;9520:6;;9482:9;9546:22;;9520:6;;9546:22;:::i;:::-;;;;-1:-1:-1;;9584:37:3;;7798:25:13;;;9610:1:3;;-1:-1:-1;;;;;9584:37:3;;;;;7786:2:13;7771:18;9584:37:3;;;;;;;4816:145:0;;;:::o;2699:1143:12:-;2798:4;2820:15;;;:9;:15;;;;;:24;;;;;2819:25;2811:63;;;;-1:-1:-1;;;2811:63:12;;10844:2:13;2811:63:12;;;10826:21:13;10883:2;10863:18;;;10856:30;10922:27;10902:18;;;10895:55;10967:18;;2811:63:12;10642:349:13;2811:63:12;2909:12;;;;;;;2933:9;;;2941:1;2933:9;2929:80;;;2973:15;;2995:1;;2973:19;;:15;;2991:1;2973:19;:::i;:::-;:23;;;;:::i;:::-;:27;;2999:1;2973:27;:::i;:::-;2954:46;;2929:80;3020:15;;;;:9;:15;;;;;:25;;;;;3016:129;;3062:15;;;;:9;:15;;;;;:22;;;:31;;;3103:23;;:33;;-1:-1:-1;;;;;;3103:33:12;;-1:-1:-1;;;;;3103:33:12;;;;;;3016:129;3156:15;;;;:9;:15;;;;;:25;;;:44;;;;:25;;:44;3152:645;;;3221:15;;;;:9;:15;;;;;;;;3246:10;3221:36;;;;;;;;;;3220:37;3212:87;;;;-1:-1:-1;;;3212:87:12;;12709:2:13;3212:87:12;;;12691:21:13;12748:2;12728:18;;;12721:30;12787:34;12767:18;;;12760:62;-1:-1:-1;;;12838:18:13;;;12831:35;12883:19;;3212:87:12;12507:401:13;3212:87:12;3309:15;;;;:9;:15;;;;;;;;3334:10;3309:36;;;;;;;;:43;;-1:-1:-1;;3309:43:12;3348:4;3309:43;;;;;;3362:15;;;;;;;:25;:27;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3552:15:12;;;:9;:15;;;;;-1:-1:-1;3552:25:12;;:45;;;:25;;:45;;-1:-1:-1;3548:241:12;;3619:15;;;;:9;:15;;;;;;;;3644:10;3619:36;;;;;;;;;;3611:81;;;;-1:-1:-1;;;3611:81:12;;11945:2:13;3611:81:12;;;11927:21:13;;;11964:18;;;11957:30;12023:34;12003:18;;;11996:62;12075:18;;3611:81:12;11743:356:13;3611:81:12;-1:-1:-1;;3704:15:12;;;;:9;:15;;;;;:24;;:31;;-1:-1:-1;;3704:31:12;3731:4;3704:31;;;;;;3747;;3548:241;-1:-1:-1;;3811:15:12;;;;:9;:15;;;;;:24;;;;;2699:1143;;;;;;;:::o;1767:106:2:-;1685:7;;;;1836:9;1828:38;;;;-1:-1:-1;;;1828:38:2;;15646:2:13;1828:38:2;;;15628:21:13;15685:2;15665:18;;;15658:30;-1:-1:-1;;;15704:18:13;;;15697:46;15760:18;;1828:38:2;15444:340:13;2186:115:2;1239:19;:17;:19::i;:::-;2245:7:::1;:14:::0;;-1:-1:-1;;2245:14:2::1;2255:4;2245:14;::::0;;2274:20:::1;2281:12;719:10:8::0;;640:96;8402:389:3;-1:-1:-1;;;;;8485:21:3;;8477:65;;;;-1:-1:-1;;;8477:65:3;;21781:2:13;8477:65:3;;;21763:21:13;21820:2;21800:18;;;21793:30;21859:33;21839:18;;;21832:61;21910:18;;8477:65:3;21579:355:13;8477:65:3;8553:49;8582:1;8586:7;8595:6;8553:20;:49::i;:::-;8629:6;8613:12;;:22;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;8645:18:3;;:9;:18;;;;;;;;;;:28;;8667:6;;8645:9;:28;;8667:6;;8645:28;:::i;:::-;;;;-1:-1:-1;;8688:37:3;;7798:25:13;;;-1:-1:-1;;;;;8688:37:3;;;8705:1;;8688:37;;7786:2:13;7771:18;8688:37:3;;;;;;;5925:214:0;;:::o;4776:245:12:-;-1:-1:-1;;;;;4906:19:12;;4920:4;4906:19;;4898:62;;;;-1:-1:-1;;;4898:62:12;;13464:2:13;4898:62:12;;;13446:21:13;13503:2;13483:18;;;13476:30;13542:32;13522:18;;;13515:60;13592:18;;4898:62:12;13262:354:13;4898:62:12;4970:44;4997:4;5003:2;5007:6;4970:26;:44::i;3718:492:0:-;3806:22;3814:4;3820:7;3806;:22::i;:::-;3801:403;;3989:41;4017:7;-1:-1:-1;;;;;3989:41:0;4027:2;3989:19;:41::i;:::-;4101:38;4129:4;4136:2;4101:19;:38::i;:::-;3896:265;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;3896:265:0;;;;;;;;;;-1:-1:-1;;;3844:349:0;;;;;;;:::i;1652:441:9:-;1727:13;1752:19;1784:10;1788:6;1784:1;:10;:::i;:::-;:14;;1797:1;1784:14;:::i;:::-;1774:25;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1774:25:9;;1752:47;;-1:-1:-1;;;1809:6:9;1816:1;1809:9;;;;;;;;:::i;:::-;;;;:15;-1:-1:-1;;;;;1809:15:9;;;;;;;;;-1:-1:-1;;;1834:6:9;1841:1;1834:9;;;;;;;;:::i;:::-;;;;:15;-1:-1:-1;;;;;1834:15:9;;;;;;;;-1:-1:-1;1864:9:9;1876:10;1880:6;1876:1;:10;:::i;:::-;:14;;1889:1;1876:14;:::i;:::-;1864:26;;1859:132;1896:1;1892;:5;1859:132;;;-1:-1:-1;;;1943:5:9;1951:3;1943:11;1930:25;;;;;;;:::i;:::-;;;;1918:6;1925:1;1918:9;;;;;;;;:::i;:::-;;;;:37;-1:-1:-1;;;;;1918:37:9;;;;;;;;-1:-1:-1;1979:1:9;1969:11;;;;;1899:3;;;:::i;:::-;;;1859:132;;;-1:-1:-1;2008:10:9;;2000:55;;;;-1:-1:-1;;;2000:55:9;;9376:2:13;2000:55:9;;;9358:21:13;;;9395:18;;;9388:30;9454:34;9434:18;;;9427:62;9506:18;;2000:55:9;9174:356:13;2000:55:9;2079:6;1652:441;-1:-1:-1;;;1652:441:9:o;14:631:13:-;78:5;108:18;149:2;141:6;138:14;135:40;;;155:18;;:::i;:::-;230:2;224:9;198:2;284:15;;-1:-1:-1;;280:24:13;;;306:2;276:33;272:42;260:55;;;330:18;;;350:22;;;327:46;324:72;;;376:18;;:::i;:::-;416:10;412:2;405:22;445:6;436:15;;475:6;467;460:22;515:3;506:6;501:3;497:16;494:25;491:45;;;532:1;529;522:12;491:45;582:6;577:3;570:4;562:6;558:17;545:44;637:1;630:4;621:6;613;609:19;605:30;598:41;;;;14:631;;;;;:::o;650:173::-;718:20;;-1:-1:-1;;;;;767:31:13;;757:42;;747:70;;813:1;810;803:12;747:70;650:173;;;:::o;828:221::-;871:5;924:3;917:4;909:6;905:17;901:27;891:55;;942:1;939;932:12;891:55;964:79;1039:3;1030:6;1017:20;1010:4;1002:6;998:17;964:79;:::i;1054:186::-;1113:6;1166:2;1154:9;1145:7;1141:23;1137:32;1134:52;;;1182:1;1179;1172:12;1134:52;1205:29;1224:9;1205:29;:::i;1245:260::-;1313:6;1321;1374:2;1362:9;1353:7;1349:23;1345:32;1342:52;;;1390:1;1387;1380:12;1342:52;1413:29;1432:9;1413:29;:::i;:::-;1403:39;;1461:38;1495:2;1484:9;1480:18;1461:38;:::i;:::-;1451:48;;1245:260;;;;;:::o;1510:328::-;1587:6;1595;1603;1656:2;1644:9;1635:7;1631:23;1627:32;1624:52;;;1672:1;1669;1662:12;1624:52;1695:29;1714:9;1695:29;:::i;:::-;1685:39;;1743:38;1777:2;1766:9;1762:18;1743:38;:::i;:::-;1733:48;;1828:2;1817:9;1813:18;1800:32;1790:42;;1510:328;;;;;:::o;1843:254::-;1911:6;1919;1972:2;1960:9;1951:7;1947:23;1943:32;1940:52;;;1988:1;1985;1978:12;1940:52;2011:29;2030:9;2011:29;:::i;:::-;2001:39;2087:2;2072:18;;;;2059:32;;-1:-1:-1;;;1843:254:13:o;2102:464::-;2189:6;2197;2205;2258:2;2246:9;2237:7;2233:23;2229:32;2226:52;;;2274:1;2271;2264:12;2226:52;2297:29;2316:9;2297:29;:::i;:::-;2287:39;;2373:2;2362:9;2358:18;2345:32;2335:42;;2428:2;2417:9;2413:18;2400:32;2455:18;2447:6;2444:30;2441:50;;;2487:1;2484;2477:12;2441:50;2510;2552:7;2543:6;2532:9;2528:22;2510:50;:::i;:::-;2500:60;;;2102:464;;;;;:::o;2571:180::-;2630:6;2683:2;2671:9;2662:7;2658:23;2654:32;2651:52;;;2699:1;2696;2689:12;2651:52;-1:-1:-1;2722:23:13;;2571:180;-1:-1:-1;2571:180:13:o;2756:254::-;2824:6;2832;2885:2;2873:9;2864:7;2860:23;2856:32;2853:52;;;2901:1;2898;2891:12;2853:52;2937:9;2924:23;2914:33;;2966:38;3000:2;2989:9;2985:18;2966:38;:::i;3015:286::-;3073:6;3126:2;3114:9;3105:7;3101:23;3097:32;3094:52;;;3142:1;3139;3132:12;3094:52;3168:23;;-1:-1:-1;;;;;;3220:32:13;;3210:43;;3200:71;;3267:1;3264;3257:12;3306:449;3374:6;3427:2;3415:9;3406:7;3402:23;3398:32;3395:52;;;3443:1;3440;3433:12;3395:52;3483:9;3470:23;3516:18;3508:6;3505:30;3502:50;;;3548:1;3545;3538:12;3502:50;3571:22;;3624:4;3616:13;;3612:27;-1:-1:-1;3602:55:13;;3653:1;3650;3643:12;3602:55;3676:73;3741:7;3736:2;3723:16;3718:2;3714;3710:11;3676:73;:::i;3760:390::-;3838:6;3846;3899:2;3887:9;3878:7;3874:23;3870:32;3867:52;;;3915:1;3912;3905:12;3867:52;3955:9;3942:23;3988:18;3980:6;3977:30;3974:50;;;4020:1;4017;4010:12;3974:50;4043;4085:7;4076:6;4065:9;4061:22;4043:50;:::i;:::-;4033:60;4140:2;4125:18;;;;4112:32;;-1:-1:-1;;;;3760:390:13:o;4340:240::-;4424:1;4417:5;4414:12;4404:143;;4469:10;4464:3;4460:20;4457:1;4450:31;4504:4;4501:1;4494:15;4532:4;4529:1;4522:15;4404:143;4556:18;;4340:240::o;4585:258::-;4627:3;4665:5;4659:12;4692:6;4687:3;4680:19;4708:63;4764:6;4757:4;4752:3;4748:14;4741:4;4734:5;4730:16;4708:63;:::i;:::-;4825:2;4804:15;-1:-1:-1;;4800:29:13;4791:39;;;;4832:4;4787:50;;4585:258;-1:-1:-1;;4585:258:13:o;4848:786::-;5259:25;5254:3;5247:38;5229:3;5314:6;5308:13;5330:62;5385:6;5380:2;5375:3;5371:12;5364:4;5356:6;5352:17;5330:62;:::i;:::-;-1:-1:-1;;;5451:2:13;5411:16;;;5443:11;;;5436:40;5501:13;;5523:63;5501:13;5572:2;5564:11;;5557:4;5545:17;;5523:63;:::i;:::-;5606:17;5625:2;5602:26;;4848:786;-1:-1:-1;;;;4848:786:13:o;6126:388::-;6360:1;6356;6351:3;6347:11;6343:19;6335:6;6331:32;6320:9;6313:51;6400:6;6395:2;6384:9;6380:18;6373:34;6443:2;6438;6427:9;6423:18;6416:30;6294:4;6463:45;6504:2;6493:9;6489:18;6481:6;6463:45;:::i;:::-;6455:53;6126:388;-1:-1:-1;;;;;6126:388:13:o;6519:658::-;6690:2;6742:21;;;6812:13;;6715:18;;;6834:22;;;6661:4;;6690:2;6913:15;;;;6887:2;6872:18;;;6661:4;6956:195;6970:6;6967:1;6964:13;6956:195;;;7035:13;;-1:-1:-1;;;;;7031:39:13;7019:52;;7126:15;;;;7091:12;;;;7067:1;6985:9;6956:195;;;-1:-1:-1;7168:3:13;;6519:658;-1:-1:-1;;;;;;6519:658:13:o;7834:311::-;8011:2;7996:18;;8023:47;8000:9;8052:6;8023:47;:::i;:::-;-1:-1:-1;;;;;8106:32:13;;;;8101:2;8086:18;;;;8079:60;7834:311;;-1:-1:-1;7834:311:13:o;8150:498::-;8380:47;8417:9;8409:6;8380:47;:::i;:::-;8463:3;8458:2;8447:9;8443:18;8436:31;8361:4;8484:46;8525:3;8514:9;8510:19;8502:6;8484:46;:::i;:::-;8561:2;8546:18;;8539:34;;;;-1:-1:-1;;;;;;8609:32:13;;;;8604:2;8589:18;;;8582:60;8476:54;8150:498;-1:-1:-1;;8150:498:13:o;8653:220::-;8802:2;8791:9;8784:21;8765:4;8822:45;8863:2;8852:9;8848:18;8840:6;8822:45;:::i;8878:291::-;9055:2;9044:9;9037:21;9018:4;9075:45;9116:2;9105:9;9101:18;9093:6;9075:45;:::i;:::-;9067:53;;9156:6;9151:2;9140:9;9136:18;9129:34;8878:291;;;;;:::o;10996:339::-;11198:2;11180:21;;;11237:2;11217:18;;;11210:30;-1:-1:-1;;;11271:2:13;11256:18;;11249:45;11326:2;11311:18;;10996:339::o;17532:618::-;17838:3;17827:9;17820:22;17879:1;17873:3;17862:9;17858:19;17851:30;-1:-1:-1;;;17912:3:13;17901:9;17897:19;17890:37;17994:1;17990;17985:3;17981:11;17977:19;17969:6;17965:32;17958:4;17947:9;17943:20;17936:62;18034:3;18029:2;18018:9;18014:18;18007:31;17801:4;18055:46;18096:3;18085:9;18081:19;18073:6;18055:46;:::i;:::-;18047:54;;18137:6;18132:2;18121:9;18117:18;18110:34;17532:618;;;;;;:::o;23086:128::-;23126:3;23157:1;23153:6;23150:1;23147:13;23144:39;;;23163:18;;:::i;:::-;-1:-1:-1;23199:9:13;;23086:128::o;23219:228::-;23258:3;23286:10;23323:2;23320:1;23316:10;23353:2;23350:1;23346:10;23384:3;23380:2;23376:12;23371:3;23368:21;23365:47;;;23392:18;;:::i;:::-;23428:13;;23219:228;-1:-1:-1;;;;23219:228:13:o;23452:288::-;23491:1;23517:10;23554:2;23551:1;23547:10;23576:3;23566:134;;23622:10;23617:3;23613:20;23610:1;23603:31;23657:4;23654:1;23647:15;23685:4;23682:1;23675:15;23566:134;23718:10;;23714:20;;;;;23452:288;-1:-1:-1;;23452:288:13:o;23745:168::-;23785:7;23851:1;23847;23843:6;23839:14;23836:1;23833:21;23828:1;23821:9;23814:17;23810:45;23807:71;;;23858:18;;:::i;:::-;-1:-1:-1;23898:9:13;;23745:168::o;23918:262::-;23957:7;23989:10;24026:2;24023:1;24019:10;24056:2;24053:1;24049:10;24112:3;24108:2;24104:12;24099:3;24096:21;24089:3;24082:11;24075:19;24071:47;24068:73;;;24121:18;;:::i;:::-;24161:13;;23918:262;-1:-1:-1;;;;23918:262:13:o;24185:125::-;24225:4;24253:1;24250;24247:8;24244:34;;;24258:18;;:::i;:::-;-1:-1:-1;24295:9:13;;24185:125::o;24315:297::-;24433:12;;24480:4;24469:16;;;24463:23;;24433:12;24498:16;;24495:111;;;24592:1;24588:6;24578;24572:4;24568:17;24565:1;24561:25;24557:38;24550:5;24546:50;24537:59;;24495:111;;24315:297;;;:::o;24617:258::-;24689:1;24699:113;24713:6;24710:1;24707:13;24699:113;;;24789:11;;;24783:18;24770:11;;;24763:39;24735:2;24728:10;24699:113;;;24830:6;24827:1;24824:13;24821:48;;;-1:-1:-1;;24865:1:13;24847:16;;24840:27;24617:258::o;24880:136::-;24919:3;24947:5;24937:39;;24956:18;;:::i;:::-;-1:-1:-1;;;24992:18:13;;24880:136::o;25021:185::-;25059:3;25103:10;25096:5;25092:22;25133:7;25123:41;;25144:18;;:::i;:::-;-1:-1:-1;;25180:20:13;;25021:185;-1:-1:-1;;25021:185:13:o;25211:380::-;25290:1;25286:12;;;;25333;;;25354:61;;25408:4;25400:6;25396:17;25386:27;;25354:61;25461:2;25453:6;25450:14;25430:18;25427:38;25424:161;;;25507:10;25502:3;25498:20;25495:1;25488:31;25542:4;25539:1;25532:15;25570:4;25567:1;25560:15;25596:197;25634:3;25662:6;25703:2;25696:5;25692:14;25730:2;25721:7;25718:15;25715:41;;;25736:18;;:::i;:::-;25785:1;25772:15;;25596:197;-1:-1:-1;;;25596:197:13:o;25798:201::-;25836:3;25864:10;25909:2;25902:5;25898:14;25936:2;25927:7;25924:15;25921:41;;;25942:18;26004:127;26065:10;26060:3;26056:20;26053:1;26046:31;26096:4;26093:1;26086:15;26120:4;26117:1;26110:15;26136:127;26197:10;26192:3;26188:20;26185:1;26178:31;26228:4;26225:1;26218:15;26252:4;26249:1;26242:15;26268:127;26329:10;26324:3;26320:20;26317:1;26310:31;26360:4;26357:1;26350:15;26384:4;26381:1;26374:15;26400:127;26461:10;26456:3;26452:20;26449:1;26442:31;26492:4;26489:1;26482:15;26516:4;26513:1;26506:15", - "source": "// SPDX-License-Identifier: MIT\n// FIO Protocol ERC20 and Oracle Contract\n// Adam Androulidakis 2/2021\n// Prototype: Do not use in production\n\npragma solidity 0.8.7;\n\nimport \"@openzeppelin/contracts/token/ERC20/ERC20.sol\";\nimport \"@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol\";\nimport \"@openzeppelin/contracts/token/ERC20/extensions/ERC20Pausable.sol\";\nimport \"@openzeppelin/contracts/access/AccessControl.sol\";\n\ncontract WFIO is ERC20Burnable, ERC20Pausable, AccessControl {\n\n uint256 constant MINTABLE = 1e18;\n\n bytes32 public constant ORACLE_ROLE = keccak256(\"ORACLE_ROLE\");\n bytes32 public constant OWNER_ROLE = keccak256(\"OWNER_ROLE\");\n bytes32 public constant CUSTODIAN_ROLE = keccak256(\"CUSTODIAN_ROLE\");\n\n enum ApprovalType {\n Wrap,\n AddOracle,\n RemoveOracle,\n AddCustodian,\n RemoveCustodian\n }\n\n struct pending {\n mapping (address => bool) approved;\n uint32 approvals;\n address account;\n uint256 amount;\n bool complete;\n }\n\n uint32 custodian_count;\n uint32 oracle_count;\n\n event unwrapped(string fioaddress, uint256 amount);\n event wrapped(address account, uint256 amount, string obtid);\n event custodian_unregistered(address account, bytes32 indexhash);\n event custodian_registered(address account, bytes32 indexhash);\n event oracle_unregistered(address account, bytes32 indexhash);\n event oracle_registered(address account, bytes32 indexhash);\n event consensus_activity(string signer, address account, string obtid, bytes32 indexhash);\n\n address[] oraclelist;\n address[] custodianlist;\n\n mapping ( bytes32 => pending) approvals; // bytes32 hash can be any obtid\n\n constructor(uint256 _initialSupply, address[] memory newcustodians ) ERC20(\"FIO Protocol\", \"wFIO\") {\n require(newcustodians.length == 10, \"wFIO cannot deploy without 10 custodians\");\n _mint(msg.sender, _initialSupply);\n _grantRole(OWNER_ROLE, msg.sender);\n\n for (uint8 i = 0; i < 10; i++ ) {\n require(!hasRole(CUSTODIAN_ROLE, newcustodians[i]), \"Custodian already registered\");\n require(!hasRole(OWNER_ROLE, newcustodians[i]), \"Owner role cannot be custodian\");\n _grantRole(CUSTODIAN_ROLE, newcustodians[i]);\n custodianlist.push(newcustodians[i]);\n }\n custodian_count = 10;\n oracle_count = 0;\n }\n\n function pause() external onlyRole(CUSTODIAN_ROLE) whenNotPaused{\n _pause();\n }\n\n function unpause() external onlyRole(CUSTODIAN_ROLE)whenPaused{\n _unpause();\n }\n\n //Precondition: Roles must be checked in parent functions. This should only be called by authorized oracle or custodian\n function getConsensus(bytes32 hash, uint8 Type, address account, uint256 amount) internal returns (bool){\n require(!approvals[hash].complete, \"Approval already complete\");\n\n uint32 APPROVALS_NEEDED = oracle_count;\n if (Type == 1) {\n APPROVALS_NEEDED = custodian_count * 2 / 3 + 1;\n }\n if (approvals[hash].approvals == 0) {\n approvals[hash].amount = amount;\n approvals[hash].account = account;\n }\n if (approvals[hash].approvals < APPROVALS_NEEDED) {\n require(!approvals[hash].approved[msg.sender], \"oracle has already approved this hash\");\n approvals[hash].approved[msg.sender] = true;\n approvals[hash].approvals++;\n //moving this if block after the parent if block will allow the execution to take place immediately instead of requiring a subsequent call \n if (approvals[hash].approvals >= APPROVALS_NEEDED) {\n require(approvals[hash].approved[msg.sender], \"An approving oracle must execute\");\n approvals[hash].complete = true;\n return approvals[hash].complete;\n }\n }\n return approvals[hash].complete;\n }\n\n\n function wrap(address account, uint256 amount, string memory obtid) external onlyRole(ORACLE_ROLE) whenNotPaused{\n require(amount < MINTABLE);\n require(bytes(obtid).length > 0, \"Invalid obtid\");\n require(account != address(0), \"Invalid account\");\n require(oracle_count >= 3, \"Oracles must be 3 or greater\");\n bytes32 indexhash = keccak256(bytes(abi.encode(ApprovalType.Wrap, obtid, amount, account)));\n\n if (getConsensus(indexhash, 0, account, amount)) {\n _mint(account, amount);\n emit wrapped(account, amount, obtid);\n }\n\n emit consensus_activity(\"oracle\", msg.sender, obtid, indexhash);\n\n }\n\n function unwrap(string memory fioaddress, uint256 amount) external whenNotPaused{\n require(bytes(fioaddress).length > 3 && bytes(fioaddress).length <= 64, \"Invalid FIO Address\");\n _burn(msg.sender, amount);\n emit unwrapped(fioaddress, amount);\n }\n\n function _beforeTokenTransfer(address from, address to, uint256 amount) internal override(ERC20, ERC20Pausable) {\n require(to != address(this), \"Contract cannot receive tokens\");\n super._beforeTokenTransfer(from, to, amount);\n }\n\n\n function getCustodian(address account) external view returns (bool, uint32) {\n require(account != address(0), \"Invalid address\");\n return (hasRole(CUSTODIAN_ROLE, account), custodian_count);\n }\n\n function getOracle(address account) external view returns (bool, uint32) {\n require(account != address(0), \"Invalid address\");\n return (hasRole(ORACLE_ROLE, account), uint32(oraclelist.length));\n }\n\n function getOracles() external view returns(address[] memory) {\n return oraclelist;\n }\n\n function getApproval(bytes memory indexhash) external view returns (uint32, address, uint256) {\n require(indexhash.length > 0, \"Invalid obtid\");\n return (approvals[bytes32(indexhash)].approvals, approvals[bytes32(indexhash)].account, approvals[bytes32(indexhash)].amount);\n }\n\n function regoracle(address account) external onlyRole(CUSTODIAN_ROLE) {\n require(account != address(0), \"Invalid address\");\n require(account != msg.sender, \"Cannot register self\");\n require(!hasRole(ORACLE_ROLE, account), \"Oracle already registered\");\n bytes32 indexhash = keccak256(bytes(abi.encode(ApprovalType.AddOracle,account )));\n if (getConsensus(indexhash, 1, account, 0)){\n _grantRole(ORACLE_ROLE, account);\n oracle_count++;\n oraclelist.push(account);\n emit oracle_registered(account, indexhash);\n }\n emit consensus_activity(\"custodian\", msg.sender, \"\", indexhash);\n }\n\n function unregoracle(address account) external onlyRole(CUSTODIAN_ROLE) {\n require(account != address(0), \"Invalid address\");\n require(oracle_count > 3, \"Minimum 3 oracles required\");\n bytes32 indexhash = keccak256(bytes(abi.encode(ApprovalType.RemoveOracle,account)));\n require(hasRole(ORACLE_ROLE, account), \"Oracle not registered\");\n if ( getConsensus(indexhash, 1, account, 0)) {\n _revokeRole(ORACLE_ROLE, account);\n oracle_count--;\n for(uint16 i = 0; i < oraclelist.length; i++) {\n if(oraclelist[i] == account) {\n oraclelist[i] = oraclelist[oraclelist.length - 1];\n oraclelist.pop();\n break;\n }\n }\n emit oracle_unregistered(account, indexhash);\n }\n emit consensus_activity(\"custodian\", msg.sender, \"\", indexhash);\n\n } // unregoracle\n\n function regcust(address account) external onlyRole(CUSTODIAN_ROLE) {\n require(account != address(0), \"Invalid address\");\n require(account != msg.sender, \"Cannot register self\");\n bytes32 indexhash = keccak256(bytes(abi.encode(ApprovalType.AddCustodian,account)));\n require(!hasRole(CUSTODIAN_ROLE, account), \"Already registered\");\n if (getConsensus(indexhash, 1, account, 0)) {\n _grantRole(CUSTODIAN_ROLE, account);\n custodian_count++;\n custodianlist.push(account);\n emit custodian_registered(account, indexhash);\n }\n emit consensus_activity(\"custodian\", msg.sender, \"\", indexhash);\n }\n\n function unregcust(address account) external onlyRole(CUSTODIAN_ROLE) {\n require(account != address(0), \"Invalid address\");\n require(hasRole(CUSTODIAN_ROLE, account), \"Custodian not registered\");\n require(custodian_count > 7, \"Must contain 7 custodians\");\n bytes32 indexhash = keccak256(bytes(abi.encode(ApprovalType.RemoveCustodian,account)));\n require(hasRole(CUSTODIAN_ROLE, account), \"Already unregistered\");\n if (getConsensus(indexhash, 1, account, 0)) {\n _revokeRole(CUSTODIAN_ROLE, account);\n custodian_count--;\n for(uint16 i = 0; i < custodianlist.length; i++) {\n if(custodianlist[i] == account) {\n custodianlist[i] = custodianlist[custodianlist.length - 1];\n custodianlist.pop();\n break;\n }\n }\n emit custodian_unregistered(account, indexhash);\n }\n emit consensus_activity(\"custodian\", msg.sender, \"\", indexhash);\n } //unregcustodian\n\n // ------------------------------------------------------------------------\n // Don't accept ETH\n // ------------------------------------------------------------------------\n receive () external payable {\n revert();\n }\n\n function decimals() public view virtual override returns (uint8) {\n return 9;\n }\n}\n", - "sourcePath": "/Users/adam/repos/fio.erc20/contracts/wfio.sol", + "sourceMap": "433:9466:12:-:0;;;1718:669;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1978:113:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1978:113:3;;;;2044:13;;1978:113;;;2044:13;;:5;;:13;:::i;:::-;-1:-1:-1;2067:17:3;;;;:7;;:17;;;;;:::i;:::-;-1:-1:-1;;996:7:2;:15;;-1:-1:-1;;996:15:2;;;-1:-1:-1;1841:20:12;;1865:2:::1;1841:26;1833:79;;;::::0;-1:-1:-1;;;1833:79:12;;2322:2:13;1833:79:12::1;::::0;::::1;2304:21:13::0;2361:2;2341:18;;;2334:30;2400:34;2380:18;;;2373:62;-1:-1:-1;;;2451:18:13;;;2444:38;2499:19;;1833:79:12::1;;;;;;;;;1920:33;1926:10;1938:14:::0;1920:5:::1;:33::i;:::-;1961:34;-1:-1:-1::0;;;;;;;;;;;1984:10:12::1;1961;:34::i;:::-;2009:7;2004:325;2026:2;2022:1;:6;;;2004:325;;;2055:41;-1:-1:-1::0;;;;;;;;;;;2079:13:12::1;2093:1;2079:16;;;;;;;;;;:::i;:::-;;;;;;;2055:7;;;:41;;:::i;:::-;2054:42;2046:83;;;::::0;-1:-1:-1;;;2046:83:12;;2731:2:13;2046:83:12::1;::::0;::::1;2713:21:13::0;2770:2;2750:18;;;2743:30;2809;2789:18;;;2782:58;2857:18;;2046:83:12::1;2529:352:13::0;2046:83:12::1;2148:37;-1:-1:-1::0;;;;;;;;;;;2168:13:12::1;2182:1;2168:16;;;;;;;;;;:::i;2148:37::-;2147:38;2139:81;;;::::0;-1:-1:-1;;;2139:81:12;;1963:2:13;2139:81:12::1;::::0;::::1;1945:21:13::0;2002:2;1982:18;;;1975:30;2041:32;2021:18;;;2014:60;2091:18;;2139:81:12::1;1761:354:13::0;2139:81:12::1;2230:44;-1:-1:-1::0;;;;;;;;;;;2257:13:12::1;2271:1;2257:16;;;;;;;;;;:::i;:::-;;;;;;;2230:10;;;:44;;:::i;:::-;2284:13;2303;2317:1;2303:16;;;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;2284:36;;::::1;::::0;::::1;::::0;;-1:-1:-1;2284:36:12;;;;;;;::::1;::::0;;-1:-1:-1;;;;;;2284:36:12::1;-1:-1:-1::0;;;;;2284:36:12;;::::1;::::0;;;::::1;::::0;;2030:3;::::1;::::0;::::1;:::i;:::-;;;;2004:325;;;-1:-1:-1::0;;2336:15:12::1;:20:::0;;-1:-1:-1;;;;;;2364:16:12;2354:2:::1;2364:16:::0;;;-1:-1:-1;433:9466:12;;8402:389:3;-1:-1:-1;;;;;8485:21:3;;8477:65;;;;-1:-1:-1;;;8477:65:3;;3088:2:13;8477:65:3;;;3070:21:13;3127:2;3107:18;;;3100:30;3166:33;3146:18;;;3139:61;3217:18;;8477:65:3;2886:355:13;8477:65:3;8553:49;8582:1;8586:7;8595:6;8553:20;:49::i;:::-;8629:6;8613:12;;:22;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;8645:18:3;;:9;:18;;;;;;;;;;:28;;8667:6;;8645:9;:28;;8667:6;;8645:28;:::i;:::-;;;;-1:-1:-1;;8688:37:3;;3803:25:13;;;-1:-1:-1;;;;;8688:37:3;;;8705:1;;8688:37;;3791:2:13;3776:18;8688:37:3;;;;;;;8736:48;8402:389;;:::o;7474:233:0:-;2981:4;3004:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;3004:29:0;;;;;;;;;;;;7552:149;;7595:12;;;;:6;:12;;;;;;;;-1:-1:-1;;;;;7595:29:0;;;;;;;;;:36;;-1:-1:-1;;7595:36:0;7627:4;7595:36;;;7677:12;719:10:8;;640:96;7677:12:0;-1:-1:-1;;;;;7650:40:0;7668:7;-1:-1:-1;;;;;7650:40:0;7662:4;7650:40;;;;;;;;;;7474:233;;:::o;2895:145::-;2981:4;3004:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;3004:29:0;;;;;;;;;;;;;;;2895:145::o;4783:245:12:-;-1:-1:-1;;;;;4913:19:12;;4927:4;4913:19;;4905:62;;;;-1:-1:-1;;;4905:62:12;;1604:2:13;4905:62:12;;;1586:21:13;1643:2;1623:18;;;1616:30;1682:32;1662:18;;;1655:60;1732:18;;4905:62:12;1402:354:13;4905:62:12;4977:44;5004:4;5010:2;5014:6;4977:26;;;;;:44;;:::i;:::-;4783:245;;;:::o;665:264:6:-;803:44;830:4;836:2;840:6;803:26;;;;;:44;;:::i;:::-;1685:7:2;;;;866:9:6;858:64;;;;-1:-1:-1;;;858:64:6;;3448:2:13;858:64:6;;;3430:21:13;3487:2;3467:18;;;3460:30;3526:34;3506:18;;;3499:62;-1:-1:-1;;;3577:18:13;;;3570:40;3627:19;;858:64:6;3246:406:13;433:9466:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;433:9466:12;;;-1:-1:-1;433:9466:12;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;14:177:13;93:13;;-1:-1:-1;;;;;135:31:13;;125:42;;115:70;;181:1;178;171:12;115:70;14:177;;;:::o;196:1201::-;300:6;308;361:2;349:9;340:7;336:23;332:32;329:52;;;377:1;374;367:12;329:52;400:16;;435:2;466:18;;;460:25;400:16;;-1:-1:-1;435:2:13;-1:-1:-1;;;;;534:14:13;;;531:34;;;561:1;558;551:12;531:34;599:6;588:9;584:22;574:32;;644:7;637:4;633:2;629:13;625:27;615:55;;666:1;663;656:12;615:55;695:2;689:9;717:2;713;710:10;707:36;;;723:18;;:::i;:::-;769:2;766:1;762:10;801:2;795:9;864:2;860:7;855:2;851;847:11;843:25;835:6;831:38;919:6;907:10;904:22;899:2;887:10;884:18;881:46;878:72;;;930:18;;:::i;:::-;966:2;959:22;1016:18;;;1050:15;;;;-1:-1:-1;1085:11:13;;;1115;;;1111:20;;1108:33;-1:-1:-1;1105:53:13;;;1154:1;1151;1144:12;1105:53;1176:1;1167:10;;1186:180;1200:2;1197:1;1194:9;1186:180;;;1257:34;1287:3;1257:34;:::i;:::-;1245:47;;1218:1;1211:9;;;;;1312:12;;;;1344;;1186:180;;;1190:3;1385:6;1375:16;;;;;;;;196:1201;;;;;:::o;3839:128::-;3879:3;3910:1;3906:6;3903:1;3900:13;3897:39;;;3916:18;;:::i;:::-;-1:-1:-1;3952:9:13;;3839:128::o;3972:380::-;4051:1;4047:12;;;;4094;;;4115:61;;4169:4;4161:6;4157:17;4147:27;;4115:61;4222:2;4214:6;4211:14;4191:18;4188:38;4185:161;;;4268:10;4263:3;4259:20;4256:1;4249:31;4303:4;4300:1;4293:15;4331:4;4328:1;4321:15;4185:161;;3972:380;;;:::o;4357:175::-;4394:3;4438:4;4431:5;4427:16;4467:4;4458:7;4455:17;4452:43;;;4475:18;;:::i;:::-;4524:1;4511:15;;4357:175;-1:-1:-1;;4357:175:13:o;4537:127::-;4598:10;4593:3;4589:20;4586:1;4579:31;4629:4;4626:1;4619:15;4653:4;4650:1;4643:15;4669:127;4730:10;4725:3;4721:20;4718:1;4711:31;4761:4;4758:1;4751:15;4785:4;4782:1;4775:15;4801:127;4862:10;4857:3;4853:20;4850:1;4843:31;4893:4;4890:1;4883:15;4917:4;4914:1;4907:15;4801:127;433:9466:12;;;;;;", + "deployedSourceMap": "433:9466:12:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9625:8;;;433:9466;;;;2606:202:0;;;;;;;;;;-1:-1:-1;2606:202:0;;;;;:::i;:::-;;:::i;:::-;;;7416:14:13;;7409:22;7391:41;;7379:2;7364:18;2606:202:0;;;;;;;;2156:98:3;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;540:62:12:-;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;540:62:12;;;;;7867:25:13;;;7855:2;7840:18;540:62:12;7721:177:13;4433:197:3;;;;;;;;;;-1:-1:-1;4433:197:3;;;;;:::i;:::-;;:::i;5247:210:12:-;;;;;;;;;;-1:-1:-1;5247:210:12;;;;;:::i;:::-;;:::i;:::-;;;;7634:14:13;;7627:22;7609:41;;7698:10;7686:23;;;7681:2;7666:18;;7659:51;7582:18;5247:210:12;7443:273:13;3244:106:3;;;;;;;;;;-1:-1:-1;3331:12:3;;3244:106;;5192:286;;;;;;;;;;-1:-1:-1;5192:286:3;;;;;:::i;:::-;;:::i;4391:129:0:-;;;;;;;;;;-1:-1:-1;4391:129:0;;;;;:::i;:::-;4465:7;4491:12;;;:6;:12;;;;;:22;;;;4391:129;4816:145;;;;;;;;;;-1:-1:-1;4816:145:0;;;;;:::i;:::-;;:::i;:::-;;9809:88:12;;;;;;;;;;-1:-1:-1;9809:88:12;;9889:1;23265:36:13;;23253:2;23238:18;9809:88:12;23123:184:13;5925:214:0;;;;;;;;;;-1:-1:-1;5925:214:0;;;;;:::i;:::-;;:::i;5873:234:3:-;;;;;;;;;;-1:-1:-1;5873:234:3;;;;;:::i;:::-;;:::i;2488:89:12:-;;;;;;;;;;;;;:::i;5463:94::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;578:89:5:-;;;;;;;;;;-1:-1:-1;578:89:5;;;;;:::i;:::-;;:::i;6862:866:12:-;;;;;;;;;;-1:-1:-1;6862:866:12;;;;;:::i;:::-;;:::i;1615:84:2:-;;;;;;;;;;-1:-1:-1;1685:7:2;;;;1615:84;;3408:125:3;;;;;;;;;;-1:-1:-1;3408:125:3;;;;;:::i;:::-;-1:-1:-1;;;;;3508:18:3;3482:7;3508:18;;;;;;;;;;;;3408:125;973:161:5;;;;;;;;;;-1:-1:-1;973:161:5;;;;;:::i;:::-;;:::i;2393:89:12:-;;;;;;;;;;;;;:::i;4513:264::-;;;;;;;;;;-1:-1:-1;4513:264:12;;;;;:::i;:::-;;:::i;2895:145:0:-;;;;;;;;;;-1:-1:-1;2895:145:0;;;;;:::i;:::-;;:::i;2367:102:3:-;;;;;;;;;;;;;:::i;2027:49:0:-;;;;;;;;;;-1:-1:-1;2027:49:0;2072:4;2027:49;;6594:427:3;;;;;;;;;;-1:-1:-1;6594:427:3;;;;;:::i;:::-;;:::i;9646:157:12:-;;;;;;;;;;-1:-1:-1;9646:157:12;;;;;:::i;:::-;;:::i;5564:642::-;;;;;;;;;;-1:-1:-1;5564:642:12;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;:::i;3729:189:3:-;;;;;;;;;;-1:-1:-1;3729:189:3;;;;;:::i;:::-;;:::i;7749:652:12:-;;;;;;;;;;-1:-1:-1;7749:652:12;;;;;:::i;:::-;;:::i;674:68::-;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;674:68:12;;5035:206;;;;;;;;;;-1:-1:-1;5035:206:12;;;;;:::i;:::-;;:::i;5241:147:0:-;;;;;;;;;;-1:-1:-1;5241:147:0;;;;;:::i;:::-;;:::i;3856:651:12:-;;;;;;;;;;-1:-1:-1;3856:651:12;;;;;:::i;:::-;;:::i;3976:149:3:-;;;;;;;;;;-1:-1:-1;3976:149:3;;;;;:::i;:::-;;:::i;6212:644:12:-;;;;;;;;;;-1:-1:-1;6212:644:12;;;;;:::i;:::-;;:::i;608:60::-;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;608:60:12;;8407:973;;;;;;;;;;-1:-1:-1;8407:973:12;;;;;:::i;:::-;;:::i;2606:202:0:-;2691:4;-1:-1:-1;;;;;;2714:47:0;;-1:-1:-1;;;2714:47:0;;:87;;-1:-1:-1;;;;;;;;;;937:40:10;;;2765:36:0;2707:94;2606:202;-1:-1:-1;;2606:202:0:o;2156:98:3:-;2210:13;2242:5;2235:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2156:98;:::o;4433:197::-;4516:4;719:10:8;4570:32:3;719:10:8;4586:7:3;4595:6;4570:8;:32::i;:::-;-1:-1:-1;4619:4:3;;4433:197;-1:-1:-1;;;4433:197:3:o;5247:210:12:-;5306:4;;-1:-1:-1;;;;;5336:21:12;;5328:49;;;;-1:-1:-1;;;5328:49:12;;;;;;;:::i;:::-;;;;;;;;;5393:29;-1:-1:-1;;;;;;;;;;;5414:7:12;5393;:29::i;:::-;5431:10;:17;5385:65;;5431:17;;-1:-1:-1;5247:210:12;-1:-1:-1;;5247:210:12:o;5192:286:3:-;5319:4;719:10:8;5375:38:3;5391:4;719:10:8;5406:6:3;5375:15;:38::i;:::-;5423:27;5433:4;5439:2;5443:6;5423:9;:27::i;:::-;-1:-1:-1;5467:4:3;;5192:286;-1:-1:-1;;;;5192:286:3:o;4816:145:0:-;4465:7;4491:12;;;:6;:12;;;;;:22;;;2505:16;2516:4;2505:10;:16::i;:::-;4929:25:::1;4940:4;4946:7;4929:10;:25::i;:::-;4816:145:::0;;;:::o;5925:214::-;-1:-1:-1;;;;;6020:23:0;;719:10:8;6020:23:0;6012:83;;;;-1:-1:-1;;;6012:83:0;;21434:2:13;6012:83:0;;;21416:21:13;21473:2;21453:18;;;21446:30;21512:34;21492:18;;;21485:62;-1:-1:-1;;;21563:18:13;;;21556:45;21618:19;;6012:83:0;21232:411:13;6012:83:0;6106:26;6118:4;6124:7;6106:11;:26::i;:::-;5925:214;;:::o;5873:234:3:-;5961:4;719:10:8;6015:64:3;719:10:8;6031:7:3;6068:10;6040:25;719:10:8;6031:7:3;6040:9;:25::i;:::-;:38;;;;:::i;:::-;6015:8;:64::i;2488:89:12:-;-1:-1:-1;;;;;;;;;;;2505:16:0;2516:4;2505:10;:16::i;:::-;1486::2::1;:14;:16::i;:::-;2560:10:12::2;:8;:10::i;:::-;2488:89:::0;:::o;5463:94::-;5507:16;5540:10;5533:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5533:17:12;;;;;;;;;;;;;;;;;;;;;;5463:94;:::o;578:89:5:-;633:27;719:10:8;653:6:5;633:5;:27::i;6862:866:12:-;-1:-1:-1;;;;;;;;;;;2505:16:0;2516:4;2505:10;:16::i;:::-;-1:-1:-1;;;;;6950:21:12;::::1;6942:49;;;;-1:-1:-1::0;;;6942:49:12::1;;;;;;;:::i;:::-;7007:12;::::0;7022:1:::1;7007:12:::0;;;::::1;;;:16;6999:55;;;::::0;-1:-1:-1;;;6999:55:12;;20331:2:13;6999:55:12::1;::::0;::::1;20313:21:13::0;20370:2;20350:18;;;20343:30;20409:28;20389:18;;;20382:56;20455:18;;6999:55:12::1;20129:350:13::0;6999:55:12::1;7062:17;7109:25;7135:7;7098:45;;;;;;;;;:::i;:::-;;;;;;;;;;;;;7082:63;;;;;;7062:83;;7161:29;-1:-1:-1::0;;;;;;;;;;;7182:7:12::1;7161;:29::i;:::-;7153:63;;;::::0;-1:-1:-1;;;7153:63:12;;16060:2:13;7153:63:12::1;::::0;::::1;16042:21:13::0;16099:2;16079:18;;;16072:30;-1:-1:-1;;;16118:18:13;;;16111:51;16179:18;;7153:63:12::1;15858:345:13::0;7153:63:12::1;7229:38;7242:9;7253:1;7256:7;7265:1;7229:12;:38::i;:::-;7224:426;;;7281:33;-1:-1:-1::0;;;;;;;;;;;7306:7:12::1;7281:11;:33::i;:::-;7326:12;:14:::0;;;;::::1;;;::::0;:12:::1;:14;::::0;::::1;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;7356:8;7352:234;7374:10;:17:::0;7370:21:::1;::::0;::::1;;7352:234;;;7432:7;-1:-1:-1::0;;;;;7415:24:12::1;:10;7426:1;7415:13;;;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;::::1;::::0;-1:-1:-1;;;;;7415:13:12::1;:24;7412:162;;;7473:10;7484:17:::0;;:21:::1;::::0;7504:1:::1;::::0;7484:21:::1;:::i;:::-;7473:33;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;::::1;::::0;7457:10:::1;:13:::0;;-1:-1:-1;;;;;7473:33:12;;::::1;::::0;7457:13:::1;::::0;::::1;::::0;;::::1;;;;;:::i;:::-;;;;;;;;;:49;;;;;-1:-1:-1::0;;;;;7457:49:12::1;;;;;-1:-1:-1::0;;;;;7457:49:12::1;;;;;;7522:10;:16;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;;-1:-1:-1;;7522:16:12;;;;;-1:-1:-1;;;;;;7522:16:12::1;::::0;;;;;7554:5:::1;;7412:162;7393:3:::0;::::1;::::0;::::1;:::i;:::-;;;;7352:234;;;-1:-1:-1::0;7602:39:12::1;::::0;;-1:-1:-1;;;;;6505:32:13;;6487:51;;6569:2;6554:18;;6547:34;;;7602:39:12::1;::::0;6460:18:13;7602:39:12::1;;;;;;;;7224:426;7662:58;::::0;;17269:3:13;17251:22;;;17310:1;17289:19;;;17282:30;-1:-1:-1;;;17343:3:13;17328:19;;17321:40;7694:10:12::1;17392:4:13::0;17377:20;;17370:62;17468:3;17448:18;;;17441:31;;;-1:-1:-1;17488:19:13;;;17481:30;-1:-1:-1;17563:18:13;;17556:34;;;7662:58:12;;::::1;::::0;;;;17543:3:13;7662:58:12;;::::1;6934:794;6862:866:::0;;:::o;973:161:5:-;1049:46;1065:7;719:10:8;1088:6:5;1049:15;:46::i;:::-;1105:22;1111:7;1120:6;1105:5;:22::i;2393:89:12:-;-1:-1:-1;;;;;;;;;;;2505:16:0;2516:4;2505:10;:16::i;:::-;1239:19:2::1;:17;:19::i;:::-;2467:8:12::2;:6;:8::i;4513:264::-:0;1239:19:2;:17;:19::i;:::-;4636:1:12::1;4615:10;4609:24;:28;:62;;;;;4669:2;4647:10;4641:24;:30;;4609:62;4601:94;;;::::0;-1:-1:-1;;;4601:94:12;;18770:2:13;4601:94:12::1;::::0;::::1;18752:21:13::0;18809:2;18789:18;;;18782:30;-1:-1:-1;;;18828:18:13;;;18821:49;18887:18;;4601:94:12::1;18568:343:13::0;4601:94:12::1;4703:25;4709:10;4721:6;4703:5;:25::i;:::-;4741:29;4751:10;4763:6;4741:29;;;;;;;:::i;:::-;;;;;;;;4513:264:::0;;:::o;2895:145:0:-;2981:4;3004:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;3004:29:0;;;;;;;;;;;;;;;2895:145::o;2367:102:3:-;2423:13;2455:7;2448:14;;;;;:::i;6594:427::-;6687:4;719:10:8;6687:4:3;6768:25;719:10:8;6785:7:3;6768:9;:25::i;:::-;6741:52;;6831:15;6811:16;:35;;6803:85;;;;-1:-1:-1;;;6803:85:3;;21028:2:13;6803:85:3;;;21010:21:13;21067:2;21047:18;;;21040:30;21106:34;21086:18;;;21079:62;-1:-1:-1;;;21157:18:13;;;21150:35;21202:19;;6803:85:3;20826:401:13;6803:85:3;6922:60;6931:5;6938:7;6966:15;6947:16;:34;6922:8;:60::i;9646:157:12:-;-1:-1:-1;;;;;;;;;;;2505:16:0;2516:4;2505:10;:16::i;:::-;9722:35:12::1;-1:-1:-1::0;;;;;;;;;;;9746:10:12::1;9722:11;:35::i;:::-;9765:31;-1:-1:-1::0;;;;;;;;;;;9788:7:12::1;9765:10;:31::i;5564:642::-:0;5632:6;5640:7;5649;5658:16;5711:1;5692:9;:16;:20;5684:46;;;;-1:-1:-1;;;5684:46:12;;20686:2:13;5684:46:12;;;20668:21:13;20725:2;20705:18;;;20698:30;-1:-1:-1;;;20744:18:13;;;20737:43;20797:18;;5684:46:12;20484:337:13;5684:46:12;5738:32;5787:9;5738:32;5797:18;5805:9;5797:18;:::i;:::-;5787:29;;;;;;;;;;;-1:-1:-1;5787:29:12;:39;;;;;5773:54;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5773:54:12;;5738:89;;5835:8;5859;5855:195;5877:10;:17;5873:21;;;;5855:195;;;5915:9;:29;5925:18;5933:9;5925:18;:::i;:::-;5915:29;;;;;;;;;;;:38;;:53;5954:10;5965:1;5954:13;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;5954:13:12;5915:53;;;;;;;;;;;;;;;5911:131;;;6003:10;6014:1;6003:13;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6003:13:12;5982:15;5998:1;5982:18;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;5982:34:12;;;:18;;;;;;;;;;;:34;6028:3;;;;:::i;:::-;;;;5911:131;5896:3;;;;:::i;:::-;;;;5855:195;;;-1:-1:-1;6065:9:12;:29;6075:18;6083:9;6075:18;:::i;:::-;6065:29;;;;;;;;;;;-1:-1:-1;6065:29:12;;;:39;;;;;;6106:9;;6116:18;6124:9;6116:18;:::i;:::-;6106:29;;;;;;;;;;;:37;;;;;;;;;;-1:-1:-1;;;;;6106:37:12;6145:9;:29;6163:9;6155:18;;;:::i;:::-;6145:29;;;;;;;;;;;:36;;;6183:15;6057:142;;;;;;;;;;5564:642;;;;;:::o;3729:189:3:-;3808:4;719:10:8;3862:28:3;719:10:8;3879:2:3;3883:6;3862:9;:28::i;7749:652:12:-;-1:-1:-1;;;;;;;;;;;2505:16:0;2516:4;2505:10;:16::i;:::-;-1:-1:-1;;;;;7833:21:12;::::1;7825:49;;;;-1:-1:-1::0;;;7825:49:12::1;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;7890:21:12;::::1;7901:10;7890:21;;7882:54;;;::::0;-1:-1:-1;;;7882:54:12;;16763:2:13;7882:54:12::1;::::0;::::1;16745:21:13::0;16802:2;16782:18;;;16775:30;-1:-1:-1;;;16821:18:13;;;16814:50;16881:18;;7882:54:12::1;16561:344:13::0;7882:54:12::1;7944:17;7991:25;8017:7;7980:45;;;;;;;;;:::i;:::-;;;;;;;;;;;;;7964:63;;;;;;7944:83;;8044:32;-1:-1:-1::0;;;;;;;;;;;8068:7:12::1;8044;:32::i;:::-;8043:33;8035:64;;;::::0;-1:-1:-1;;;8035:64:12;;15011:2:13;8035:64:12::1;::::0;::::1;14993:21:13::0;15050:2;15030:18;;;15023:30;-1:-1:-1;;;15069:18:13;;;15062:48;15127:18;;8035:64:12::1;14809:342:13::0;8035:64:12::1;8111:38;8124:9;8135:1;8138:7;8147:1;8111:12;:38::i;:::-;8107:217;;;8161:35;-1:-1:-1::0;;;;;;;;;;;8188:7:12::1;8161:10;:35::i;:::-;8206:15;:17:::0;;::::1;;::::0;:15:::1;:17;::::0;::::1;:::i;:::-;::::0;;::::1;::::0;;;::::1;;::::0;;::::1;;::::0;;::::1;::::0;;;::::1;::::0;;;::::1;;::::0;;-1:-1:-1;8233:13:12::1;:27:::0;;-1:-1:-1;8233:27:12;::::1;::::0;;-1:-1:-1;8233:27:12;;;;;::::1;::::0;;-1:-1:-1;;;;;;8233:27:12::1;-1:-1:-1::0;;;;;8233:27:12;::::1;::::0;;::::1;::::0;;;8275:40:::1;::::0;;6487:51:13;;;6569:2;6554:18;;6547:34;;;8275:40:12::1;::::0;6460:18:13;8275:40:12::1;6313:274:13::0;5035:206:12;5097:4;;-1:-1:-1;;;;;5127:21:12;;5119:49;;;;-1:-1:-1;;;5119:49:12;;;;;;;:::i;:::-;5184:32;-1:-1:-1;;;;;;;;;;;5208:7:12;5184;:32::i;:::-;5218:15;;5176:58;;5218:15;;;;;-1:-1:-1;5035:206:12;-1:-1:-1;;5035:206:12:o;5241:147:0:-;4465:7;4491:12;;;:6;:12;;;;;:22;;;2505:16;2516:4;2505:10;:16::i;:::-;5355:26:::1;5367:4;5373:7;5355:11;:26::i;3856:651:12:-:0;-1:-1:-1;;;;;;;;;;;2505:16:0;2516:4;2505:10;:16::i;:::-;1239:19:2::1;:17;:19::i;:::-;529:4:12::2;3984:6;:17;3976:26;;;::::0;::::2;;4040:1;4024:5;4018:19;:23;4010:49;;;::::0;-1:-1:-1;;;4010:49:12;;20686:2:13;4010:49:12::2;::::0;::::2;20668:21:13::0;20725:2;20705:18;;;20698:30;-1:-1:-1;;;20744:18:13;;;20737:43;20797:18;;4010:49:12::2;20484:337:13::0;4010:49:12::2;-1:-1:-1::0;;;;;4075:21:12;::::2;4067:49;;;::::0;-1:-1:-1;;;4067:49:12;;18426:2:13;4067:49:12::2;::::0;::::2;18408:21:13::0;18465:2;18445:18;;;18438:30;-1:-1:-1;;;18484:18:13;;;18477:45;18539:18;;4067:49:12::2;18224:339:13::0;4067:49:12::2;4132:12;::::0;4148:1:::2;4132:12:::0;;;::::2;;;:17;;4124:58;;;::::0;-1:-1:-1;;;4124:58:12;;15358:2:13;4124:58:12::2;::::0;::::2;15340:21:13::0;15397:2;15377:18;;;15370:30;15436;15416:18;;;15409:58;15484:18;;4124:58:12::2;15156:352:13::0;4124:58:12::2;4190:17;4237::::0;4256:5:::2;4263:6;4271:7;4226:53;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;4210:71;;;;;;4190:91;;4294:43;4307:9;4318:1;4321:7;4330:6;4294:12;:43::i;:::-;4290:138;;;4350:22;4356:7;4365:6;4350:5;:22::i;:::-;4388:31;4396:7;4405:6;4413:5;4388:31;;;;;;;;:::i;:::-;;;;;;;;4290:138;4441:58;4470:10;4482:5;4489:9;4441:58;;;;;;;;:::i;:::-;;;;;;;;3968:539;3856:651:::0;;;;:::o;3976:149:3:-;-1:-1:-1;;;;;4091:18:3;;;4065:7;4091:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3976:149::o;6212:644:12:-;-1:-1:-1;;;;;;;;;;;2505:16:0;2516:4;2505:10;:16::i;:::-;-1:-1:-1;;;;;6299:21:12;::::1;6291:49;;;;-1:-1:-1::0;;;6291:49:12::1;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;6356:21:12;::::1;6367:10;6356:21;;6348:54;;;::::0;-1:-1:-1;;;6348:54:12;;16763:2:13;6348:54:12::1;::::0;::::1;16745:21:13::0;16802:2;16782:18;;;16775:30;-1:-1:-1;;;16821:18:13;;;16814:50;16881:18;;6348:54:12::1;16561:344:13::0;6348:54:12::1;6419:29;-1:-1:-1::0;;;;;;;;;;;6440:7:12::1;6419;:29::i;:::-;6418:30;6410:68;;;::::0;-1:-1:-1;;;6410:68:12;;14657:2:13;6410:68:12::1;::::0;::::1;14639:21:13::0;14696:2;14676:18;;;14669:30;14735:27;14715:18;;;14708:55;14780:18;;6410:68:12::1;14455:349:13::0;6410:68:12::1;6486:17;6533:22;6556:7;6522:43;;;;;;;;;:::i;:::-;;;;;;;;;;;;;6506:61;;;;;;6486:81;;6579:38;6592:9;6603:1;6606:7;6615:1;6579:12;:38::i;:::-;6575:204;;;6628:32;-1:-1:-1::0;;;;;;;;;;;6652:7:12::1;6628:10;:32::i;:::-;6670:12;:14:::0;;;;::::1;;;::::0;:12:::1;:14;::::0;::::1;:::i;:::-;::::0;;::::1;::::0;;;::::1;;::::0;;::::1;;::::0;;::::1;::::0;;;::::1;::::0;;;::::1;;::::0;;-1:-1:-1;6694:10:12::1;:24:::0;;-1:-1:-1;6694:24:12;::::1;::::0;;-1:-1:-1;6694:24:12;;;;;::::1;::::0;;-1:-1:-1;;;;;;6694:24:12::1;-1:-1:-1::0;;;;;6694:24:12;::::1;::::0;;::::1;::::0;;;6733:37:::1;::::0;;6487:51:13;;;6569:2;6554:18;;6547:34;;;6733:37:12::1;::::0;6460:18:13;6733:37:12::1;6313:274:13::0;8407:973:12;-1:-1:-1;;;;;;;;;;;2505:16:0;2516:4;2505:10;:16::i;:::-;-1:-1:-1;;;;;8493:21:12;::::1;8485:49;;;;-1:-1:-1::0;;;8485:49:12::1;;;;;;;:::i;:::-;8550:32;-1:-1:-1::0;;;;;;;;;;;8574:7:12::1;8550;:32::i;:::-;8542:69;;;::::0;-1:-1:-1;;;8542:69:12;;16410:2:13;8542:69:12::1;::::0;::::1;16392:21:13::0;16449:2;16429:18;;;16422:30;16488:26;16468:18;;;16461:54;16532:18;;8542:69:12::1;16208:348:13::0;8542:69:12::1;8645:1;8627:15:::0;;::::1;;:19;8619:57;;;::::0;-1:-1:-1;;;8619:57:12;;9806:2:13;8619:57:12::1;::::0;::::1;9788:21:13::0;9845:2;9825:18;;;9818:30;9884:27;9864:18;;;9857:55;9929:18;;8619:57:12::1;9604:349:13::0;8619:57:12::1;8684:17;8731:28;8760:7;8720:48;;;;;;;;;:::i;:::-;;;;;;;;;;;;;8704:66;;;;;;8684:86;;8786:32;-1:-1:-1::0;;;;;;;;;;;8810:7:12::1;8786;:32::i;:::-;8778:65;;;::::0;-1:-1:-1;;;8778:65:12;;13184:2:13;8778:65:12::1;::::0;::::1;13166:21:13::0;13223:2;13203:18;;;13196:30;-1:-1:-1;;;13242:18:13;;;13235:50;13302:18;;8778:65:12::1;12982:344:13::0;8778:65:12::1;8855:38;8868:9;8879:1;8882:7;8891:1;8855:12;:38::i;:::-;8851:452;;;8907:36;-1:-1:-1::0;;;;;;;;;;;8935:7:12::1;8907:11;:36::i;:::-;8955:15;:17:::0;;::::1;;::::0;:15:::1;:17;::::0;::::1;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;8988:8;8984:252;9006:13;:20:::0;9002:24:::1;::::0;::::1;;8984:252;;;9070:7;-1:-1:-1::0;;;;;9050:27:12::1;:13;9064:1;9050:16;;;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;::::1;::::0;-1:-1:-1;;;;;9050:16:12::1;:27;9047:177;;;9114:13;9128:20:::0;;:24:::1;::::0;9151:1:::1;::::0;9128:24:::1;:::i;:::-;9114:39;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;::::1;::::0;9095:13:::1;:16:::0;;-1:-1:-1;;;;;9114:39:12;;::::1;::::0;9095:16:::1;::::0;::::1;::::0;;::::1;;;;;:::i;:::-;;;;;;;;;:58;;;;;-1:-1:-1::0;;;;;9095:58:12::1;;;;;-1:-1:-1::0;;;;;9095:58:12::1;;;;;;9169:13;:19;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;;-1:-1:-1;;9169:19:12;;;;;-1:-1:-1;;;;;;9169:19:12::1;::::0;;;;;9204:5:::1;;9047:177;9028:3:::0;::::1;::::0;::::1;:::i;:::-;;;;8984:252;;;-1:-1:-1::0;9252:42:12::1;::::0;;-1:-1:-1;;;;;6505:32:13;;6487:51;;6569:2;6554:18;;6547:34;;;9252:42:12::1;::::0;6460:18:13;9252:42:12::1;6313:274:13::0;665:264:6;1685:7:2;;;;866:9:6;858:64;;;;-1:-1:-1;;;858:64:6;;22210:2:13;858:64:6;;;22192:21:13;22249:2;22229:18;;;22222:30;22288:34;22268:18;;;22261:62;-1:-1:-1;;;22339:18:13;;;22332:40;22389:19;;858:64:6;22008:406:13;10110:370:3;-1:-1:-1;;;;;10241:19:3;;10233:68;;;;-1:-1:-1;;;10233:68:3;;19926:2:13;10233:68:3;;;19908:21:13;19965:2;19945:18;;;19938:30;20004:34;19984:18;;;19977:62;-1:-1:-1;;;20055:18:13;;;20048:34;20099:19;;10233:68:3;19724:400:13;10233:68:3;-1:-1:-1;;;;;10319:21:3;;10311:68;;;;-1:-1:-1;;;10311:68:3;;12375:2:13;10311:68:3;;;12357:21:13;12414:2;12394:18;;;12387:30;12453:34;12433:18;;;12426:62;-1:-1:-1;;;12504:18:13;;;12497:32;12546:19;;10311:68:3;12173:398:13;10311:68:3;-1:-1:-1;;;;;10390:18:3;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;10441:32;;7867:25:13;;;10441:32:3;;7840:18:13;10441:32:3;;;;;;;10110:370;;;:::o;10761:441::-;10891:24;10918:25;10928:5;10935:7;10918:9;:25::i;:::-;10891:52;;-1:-1:-1;;10957:16:3;:37;10953:243;;11038:6;11018:16;:26;;11010:68;;;;-1:-1:-1;;;11010:68:3;;13892:2:13;11010:68:3;;;13874:21:13;13931:2;13911:18;;;13904:30;13970:31;13950:18;;;13943:59;14019:18;;11010:68:3;13690:353:13;11010:68:3;11120:51;11129:5;11136:7;11164:6;11145:16;:25;11120:8;:51::i;:::-;10881:321;10761:441;;;:::o;7475:651::-;-1:-1:-1;;;;;7601:18:3;;7593:68;;;;-1:-1:-1;;;7593:68:3;;19520:2:13;7593:68:3;;;19502:21:13;19559:2;19539:18;;;19532:30;19598:34;19578:18;;;19571:62;-1:-1:-1;;;19649:18:13;;;19642:35;19694:19;;7593:68:3;19318:401:13;7593:68:3;-1:-1:-1;;;;;7679:16:3;;7671:64;;;;-1:-1:-1;;;7671:64:3;;10160:2:13;7671:64:3;;;10142:21:13;10199:2;10179:18;;;10172:30;10238:34;10218:18;;;10211:62;-1:-1:-1;;;10289:18:13;;;10282:33;10332:19;;7671:64:3;9958:399:13;7671:64:3;7746:38;7767:4;7773:2;7777:6;7746:20;:38::i;:::-;-1:-1:-1;;;;;7817:15:3;;7795:19;7817:15;;;;;;;;;;;7850:21;;;;7842:72;;;;-1:-1:-1;;;7842:72:3;;14250:2:13;7842:72:3;;;14232:21:13;14289:2;14269:18;;;14262:30;14328:34;14308:18;;;14301:62;-1:-1:-1;;;14379:18:13;;;14372:36;14425:19;;7842:72:3;14048:402:13;7842:72:3;-1:-1:-1;;;;;7948:15:3;;;:9;:15;;;;;;;;;;;7966:20;;;7948:38;;8006:13;;;;;;;;:23;;7980:6;;7948:9;8006:23;;7980:6;;8006:23;:::i;:::-;;;;;;;;8060:2;-1:-1:-1;;;;;8045:26:3;8054:4;-1:-1:-1;;;;;8045:26:3;;8064:6;8045:26;;;;7867:25:13;;7855:2;7840:18;;7721:177;8045:26:3;;;;;;;;8082:37;4816:145:0;3334:103;3400:30;3411:4;719:10:8;3400::0;:30::i;7474:233::-;7557:22;7565:4;7571:7;7557;:22::i;:::-;7552:149;;7595:12;;;;:6;:12;;;;;;;;-1:-1:-1;;;;;7595:29:0;;;;;;;;;:36;;-1:-1:-1;;7595:36:0;7627:4;7595:36;;;7677:12;719:10:8;;640:96;7677:12:0;-1:-1:-1;;;;;7650:40:0;7668:7;-1:-1:-1;;;;;7650:40:0;7662:4;7650:40;;;;;;;;;;7474:233;;:::o;7878:234::-;7961:22;7969:4;7975:7;7961;:22::i;:::-;7957:149;;;8031:5;7999:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;7999:29:0;;;;;;;;;;:37;;-1:-1:-1;;7999:37:0;;;8055:40;719:10:8;;7999:12:0;;8055:40;;8031:5;8055:40;7878:234;;:::o;1945:106:2:-;1685:7;;;;2003:41;;;;-1:-1:-1;;;2003:41:2;;10564:2:13;2003:41:2;;;10546:21:13;10603:2;10583:18;;;10576:30;-1:-1:-1;;;10622:18:13;;;10615:50;10682:18;;2003:41:2;10362:344:13;2003:41:2;1945:106::o;2433:117::-;1486:16;:14;:16::i;:::-;2491:7:::1;:15:::0;;-1:-1:-1;;2491:15:2::1;::::0;;2521:22:::1;719:10:8::0;2530:12:2::1;2521:22;::::0;-1:-1:-1;;;;;6269:32:13;;;6251:51;;6239:2;6224:18;2521:22:2::1;;;;;;;2433:117::o:0;9111:576:3:-;-1:-1:-1;;;;;9194:21:3;;9186:67;;;;-1:-1:-1;;;9186:67:3;;19118:2:13;9186:67:3;;;19100:21:13;19157:2;19137:18;;;19130:30;19196:34;19176:18;;;19169:62;-1:-1:-1;;;19247:18:13;;;19240:31;19288:19;;9186:67:3;18916:397:13;9186:67:3;9264:49;9285:7;9302:1;9306:6;9264:20;:49::i;:::-;-1:-1:-1;;;;;9349:18:3;;9324:22;9349:18;;;;;;;;;;;9385:24;;;;9377:71;;;;-1:-1:-1;;;9377:71:3;;11611:2:13;9377:71:3;;;11593:21:13;11650:2;11630:18;;;11623:30;11689:34;11669:18;;;11662:62;-1:-1:-1;;;11740:18:13;;;11733:32;11782:19;;9377:71:3;11409:398:13;9377:71:3;-1:-1:-1;;;;;9482:18:3;;:9;:18;;;;;;;;;;9503:23;;;9482:44;;9546:12;:22;;9520:6;;9482:9;9546:22;;9520:6;;9546:22;:::i;:::-;;;;-1:-1:-1;;9584:37:3;;7867:25:13;;;9610:1:3;;-1:-1:-1;;;;;9584:37:3;;;;;7855:2:13;7840:18;9584:37:3;;;;;;;4816:145:0;;;:::o;2707:1142:12:-;2806:4;2828:15;;;:9;:15;;;;;:24;;;;;2827:25;2819:63;;;;-1:-1:-1;;;2819:63:12;;10913:2:13;2819:63:12;;;10895:21:13;10952:2;10932:18;;;10925:30;10991:27;10971:18;;;10964:55;11036:18;;2819:63:12;10711:349:13;2819:63:12;2917:12;;;;;;;2941:9;;;2949:1;2941:9;2937:80;;;2981:15;;3003:1;;2981:19;;:15;;2999:1;2981:19;:::i;:::-;:23;;;;:::i;:::-;:27;;3007:1;2981:27;:::i;:::-;2962:46;;2937:80;3028:15;;;;:9;:15;;;;;:25;;;;;3024:129;;3070:15;;;;:9;:15;;;;;:22;;;:31;;;3111:23;;:33;;-1:-1:-1;;;;;;3111:33:12;;-1:-1:-1;;;;;3111:33:12;;;;;;3024:129;3164:15;;;;:9;:15;;;;;:25;;;:44;;;;:25;;:44;3160:644;;;3229:15;;;;:9;:15;;;;;;;;3254:10;3229:36;;;;;;;;;;3228:37;3220:87;;;;-1:-1:-1;;;3220:87:12;;12778:2:13;3220:87:12;;;12760:21:13;12817:2;12797:18;;;12790:30;12856:34;12836:18;;;12829:62;-1:-1:-1;;;12907:18:13;;;12900:35;12952:19;;3220:87:12;12576:401:13;3220:87:12;3317:15;;;;:9;:15;;;;;;;;3342:10;3317:36;;;;;;;;:43;;-1:-1:-1;;3317:43:12;3356:4;3317:43;;;;;;3370:15;;;;;;;:25;:27;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3559:15:12;;;:9;:15;;;;;-1:-1:-1;3559:25:12;;:45;;;:25;;:45;;-1:-1:-1;3555:241:12;;3626:15;;;;:9;:15;;;;;;;;3651:10;3626:36;;;;;;;;;;3618:81;;;;-1:-1:-1;;;3618:81:12;;12014:2:13;3618:81:12;;;11996:21:13;;;12033:18;;;12026:30;12092:34;12072:18;;;12065:62;12144:18;;3618:81:12;11812:356:13;3618:81:12;-1:-1:-1;;3711:15:12;;;;:9;:15;;;;;:24;;:31;;-1:-1:-1;;3711:31:12;3738:4;3711:31;;;;;;3754;;3555:241;-1:-1:-1;;3818:15:12;;;;:9;:15;;;;;:24;;;;;2707:1142;;;;;;;:::o;1767:106:2:-;1685:7;;;;1836:9;1828:38;;;;-1:-1:-1;;;1828:38:2;;15715:2:13;1828:38:2;;;15697:21:13;15754:2;15734:18;;;15727:30;-1:-1:-1;;;15773:18:13;;;15766:46;15829:18;;1828:38:2;15513:340:13;2186:115:2;1239:19;:17;:19::i;:::-;2245:7:::1;:14:::0;;-1:-1:-1;;2245:14:2::1;2255:4;2245:14;::::0;;2274:20:::1;2281:12;719:10:8::0;;640:96;8402:389:3;-1:-1:-1;;;;;8485:21:3;;8477:65;;;;-1:-1:-1;;;8477:65:3;;21850:2:13;8477:65:3;;;21832:21:13;21889:2;21869:18;;;21862:30;21928:33;21908:18;;;21901:61;21979:18;;8477:65:3;21648:355:13;8477:65:3;8553:49;8582:1;8586:7;8595:6;8553:20;:49::i;:::-;8629:6;8613:12;;:22;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;8645:18:3;;:9;:18;;;;;;;;;;:28;;8667:6;;8645:9;:28;;8667:6;;8645:28;:::i;:::-;;;;-1:-1:-1;;8688:37:3;;7867:25:13;;;-1:-1:-1;;;;;8688:37:3;;;8705:1;;8688:37;;7855:2:13;7840:18;8688:37:3;;;;;;;5925:214:0;;:::o;4783:245:12:-;-1:-1:-1;;;;;4913:19:12;;4927:4;4913:19;;4905:62;;;;-1:-1:-1;;;4905:62:12;;13533:2:13;4905:62:12;;;13515:21:13;13572:2;13552:18;;;13545:30;13611:32;13591:18;;;13584:60;13661:18;;4905:62:12;13331:354:13;4905:62:12;4977:44;5004:4;5010:2;5014:6;4977:26;:44::i;3718:492:0:-;3806:22;3814:4;3820:7;3806;:22::i;:::-;3801:403;;3989:41;4017:7;-1:-1:-1;;;;;3989:41:0;4027:2;3989:19;:41::i;:::-;4101:38;4129:4;4136:2;4101:19;:38::i;:::-;3896:265;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;3896:265:0;;;;;;;;;;-1:-1:-1;;;3844:349:0;;;;;;;:::i;1652:441:9:-;1727:13;1752:19;1784:10;1788:6;1784:1;:10;:::i;:::-;:14;;1797:1;1784:14;:::i;:::-;1774:25;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1774:25:9;;1752:47;;-1:-1:-1;;;1809:6:9;1816:1;1809:9;;;;;;;;:::i;:::-;;;;:15;-1:-1:-1;;;;;1809:15:9;;;;;;;;;-1:-1:-1;;;1834:6:9;1841:1;1834:9;;;;;;;;:::i;:::-;;;;:15;-1:-1:-1;;;;;1834:15:9;;;;;;;;-1:-1:-1;1864:9:9;1876:10;1880:6;1876:1;:10;:::i;:::-;:14;;1889:1;1876:14;:::i;:::-;1864:26;;1859:132;1896:1;1892;:5;1859:132;;;-1:-1:-1;;;1943:5:9;1951:3;1943:11;1930:25;;;;;;;:::i;:::-;;;;1918:6;1925:1;1918:9;;;;;;;;:::i;:::-;;;;:37;-1:-1:-1;;;;;1918:37:9;;;;;;;;-1:-1:-1;1979:1:9;1969:11;;;;;1899:3;;;:::i;:::-;;;1859:132;;;-1:-1:-1;2008:10:9;;2000:55;;;;-1:-1:-1;;;2000:55:9;;9445:2:13;2000:55:9;;;9427:21:13;;;9464:18;;;9457:30;9523:34;9503:18;;;9496:62;9575:18;;2000:55:9;9243:356:13;2000:55:9;2079:6;1652:441;-1:-1:-1;;;1652:441:9:o;14:631:13:-;78:5;108:18;149:2;141:6;138:14;135:40;;;155:18;;:::i;:::-;230:2;224:9;198:2;284:15;;-1:-1:-1;;280:24:13;;;306:2;276:33;272:42;260:55;;;330:18;;;350:22;;;327:46;324:72;;;376:18;;:::i;:::-;416:10;412:2;405:22;445:6;436:15;;475:6;467;460:22;515:3;506:6;501:3;497:16;494:25;491:45;;;532:1;529;522:12;491:45;582:6;577:3;570:4;562:6;558:17;545:44;637:1;630:4;621:6;613;609:19;605:30;598:41;;;;14:631;;;;;:::o;650:173::-;718:20;;-1:-1:-1;;;;;767:31:13;;757:42;;747:70;;813:1;810;803:12;747:70;650:173;;;:::o;828:221::-;871:5;924:3;917:4;909:6;905:17;901:27;891:55;;942:1;939;932:12;891:55;964:79;1039:3;1030:6;1017:20;1010:4;1002:6;998:17;964:79;:::i;1054:186::-;1113:6;1166:2;1154:9;1145:7;1141:23;1137:32;1134:52;;;1182:1;1179;1172:12;1134:52;1205:29;1224:9;1205:29;:::i;1245:260::-;1313:6;1321;1374:2;1362:9;1353:7;1349:23;1345:32;1342:52;;;1390:1;1387;1380:12;1342:52;1413:29;1432:9;1413:29;:::i;:::-;1403:39;;1461:38;1495:2;1484:9;1480:18;1461:38;:::i;:::-;1451:48;;1245:260;;;;;:::o;1510:328::-;1587:6;1595;1603;1656:2;1644:9;1635:7;1631:23;1627:32;1624:52;;;1672:1;1669;1662:12;1624:52;1695:29;1714:9;1695:29;:::i;:::-;1685:39;;1743:38;1777:2;1766:9;1762:18;1743:38;:::i;:::-;1733:48;;1828:2;1817:9;1813:18;1800:32;1790:42;;1510:328;;;;;:::o;1843:254::-;1911:6;1919;1972:2;1960:9;1951:7;1947:23;1943:32;1940:52;;;1988:1;1985;1978:12;1940:52;2011:29;2030:9;2011:29;:::i;:::-;2001:39;2087:2;2072:18;;;;2059:32;;-1:-1:-1;;;1843:254:13:o;2102:464::-;2189:6;2197;2205;2258:2;2246:9;2237:7;2233:23;2229:32;2226:52;;;2274:1;2271;2264:12;2226:52;2297:29;2316:9;2297:29;:::i;:::-;2287:39;;2373:2;2362:9;2358:18;2345:32;2335:42;;2428:2;2417:9;2413:18;2400:32;2455:18;2447:6;2444:30;2441:50;;;2487:1;2484;2477:12;2441:50;2510;2552:7;2543:6;2532:9;2528:22;2510:50;:::i;:::-;2500:60;;;2102:464;;;;;:::o;2571:180::-;2630:6;2683:2;2671:9;2662:7;2658:23;2654:32;2651:52;;;2699:1;2696;2689:12;2651:52;-1:-1:-1;2722:23:13;;2571:180;-1:-1:-1;2571:180:13:o;2756:254::-;2824:6;2832;2885:2;2873:9;2864:7;2860:23;2856:32;2853:52;;;2901:1;2898;2891:12;2853:52;2937:9;2924:23;2914:33;;2966:38;3000:2;2989:9;2985:18;2966:38;:::i;3015:286::-;3073:6;3126:2;3114:9;3105:7;3101:23;3097:32;3094:52;;;3142:1;3139;3132:12;3094:52;3168:23;;-1:-1:-1;;;;;;3220:32:13;;3210:43;;3200:71;;3267:1;3264;3257:12;3306:449;3374:6;3427:2;3415:9;3406:7;3402:23;3398:32;3395:52;;;3443:1;3440;3433:12;3395:52;3483:9;3470:23;3516:18;3508:6;3505:30;3502:50;;;3548:1;3545;3538:12;3502:50;3571:22;;3624:4;3616:13;;3612:27;-1:-1:-1;3602:55:13;;3653:1;3650;3643:12;3602:55;3676:73;3741:7;3736:2;3723:16;3718:2;3714;3710:11;3676:73;:::i;3760:390::-;3838:6;3846;3899:2;3887:9;3878:7;3874:23;3870:32;3867:52;;;3915:1;3912;3905:12;3867:52;3955:9;3942:23;3988:18;3980:6;3977:30;3974:50;;;4020:1;4017;4010:12;3974:50;4043;4085:7;4076:6;4065:9;4061:22;4043:50;:::i;:::-;4033:60;4140:2;4125:18;;;;4112:32;;-1:-1:-1;;;;3760:390:13:o;4340:461::-;4393:3;4431:5;4425:12;4458:6;4453:3;4446:19;4484:4;4513:2;4508:3;4504:12;4497:19;;4550:2;4543:5;4539:14;4571:1;4581:195;4595:6;4592:1;4589:13;4581:195;;;4660:13;;-1:-1:-1;;;;;4656:39:13;4644:52;;4716:12;;;;4751:15;;;;4692:1;4610:9;4581:195;;;-1:-1:-1;4792:3:13;;4340:461;-1:-1:-1;;;;;4340:461:13:o;4806:240::-;4890:1;4883:5;4880:12;4870:143;;4935:10;4930:3;4926:20;4923:1;4916:31;4970:4;4967:1;4960:15;4998:4;4995:1;4988:15;4870:143;5022:18;;4806:240::o;5051:258::-;5093:3;5131:5;5125:12;5158:6;5153:3;5146:19;5174:63;5230:6;5223:4;5218:3;5214:14;5207:4;5200:5;5196:16;5174:63;:::i;:::-;5291:2;5270:15;-1:-1:-1;;5266:29:13;5257:39;;;;5298:4;5253:50;;5051:258;-1:-1:-1;;5051:258:13:o;5314:786::-;5725:25;5720:3;5713:38;5695:3;5780:6;5774:13;5796:62;5851:6;5846:2;5841:3;5837:12;5830:4;5822:6;5818:17;5796:62;:::i;:::-;-1:-1:-1;;;5917:2:13;5877:16;;;5909:11;;;5902:40;5967:13;;5989:63;5967:13;6038:2;6030:11;;6023:4;6011:17;;5989:63;:::i;:::-;6072:17;6091:2;6068:26;;5314:786;-1:-1:-1;;;;5314:786:13:o;6592:388::-;6826:1;6822;6817:3;6813:11;6809:19;6801:6;6797:32;6786:9;6779:51;6866:6;6861:2;6850:9;6846:18;6839:34;6909:2;6904;6893:9;6889:18;6882:30;6760:4;6929:45;6970:2;6959:9;6955:18;6947:6;6929:45;:::i;:::-;6921:53;6592:388;-1:-1:-1;;;;;6592:388:13:o;6985:261::-;7164:2;7153:9;7146:21;7127:4;7184:56;7236:2;7225:9;7221:18;7213:6;7184:56;:::i;7903:311::-;8080:2;8065:18;;8092:47;8069:9;8121:6;8092:47;:::i;:::-;-1:-1:-1;;;;;8175:32:13;;;;8170:2;8155:18;;;;8148:60;7903:311;;-1:-1:-1;7903:311:13:o;8219:498::-;8449:47;8486:9;8478:6;8449:47;:::i;:::-;8532:3;8527:2;8516:9;8512:18;8505:31;8430:4;8553:46;8594:3;8583:9;8579:19;8571:6;8553:46;:::i;:::-;8630:2;8615:18;;8608:34;;;;-1:-1:-1;;;;;;8678:32:13;;;;8673:2;8658:18;;;8651:60;8545:54;8219:498;-1:-1:-1;;8219:498:13:o;8722:220::-;8871:2;8860:9;8853:21;8834:4;8891:45;8932:2;8921:9;8917:18;8909:6;8891:45;:::i;8947:291::-;9124:2;9113:9;9106:21;9087:4;9144:45;9185:2;9174:9;9170:18;9162:6;9144:45;:::i;:::-;9136:53;;9225:6;9220:2;9209:9;9205:18;9198:34;8947:291;;;;;:::o;11065:339::-;11267:2;11249:21;;;11306:2;11286:18;;;11279:30;-1:-1:-1;;;11340:2:13;11325:18;;11318:45;11395:2;11380:18;;11065:339::o;17601:618::-;17907:3;17896:9;17889:22;17948:1;17942:3;17931:9;17927:19;17920:30;-1:-1:-1;;;17981:3:13;17970:9;17966:19;17959:37;18063:1;18059;18054:3;18050:11;18046:19;18038:6;18034:32;18027:4;18016:9;18012:20;18005:62;18103:3;18098:2;18087:9;18083:18;18076:31;17870:4;18124:46;18165:3;18154:9;18150:19;18142:6;18124:46;:::i;:::-;18116:54;;18206:6;18201:2;18190:9;18186:18;18179:34;17601:618;;;;;;:::o;22601:517::-;22874:10;22866:6;22862:23;22851:9;22844:42;22951:1;22947;22942:3;22938:11;22934:19;22926:6;22922:32;22917:2;22906:9;22902:18;22895:60;22991:6;22986:2;22975:9;22971:18;22964:34;23034:3;23029:2;23018:9;23014:18;23007:31;22825:4;23055:57;23107:3;23096:9;23092:19;23084:6;23055:57;:::i;:::-;23047:65;22601:517;-1:-1:-1;;;;;;22601:517:13:o;23312:128::-;23352:3;23383:1;23379:6;23376:1;23373:13;23370:39;;;23389:18;;:::i;:::-;-1:-1:-1;23425:9:13;;23312:128::o;23445:228::-;23484:3;23512:10;23549:2;23546:1;23542:10;23579:2;23576:1;23572:10;23610:3;23606:2;23602:12;23597:3;23594:21;23591:47;;;23618:18;;:::i;:::-;23654:13;;23445:228;-1:-1:-1;;;;23445:228:13:o;23678:288::-;23717:1;23743:10;23780:2;23777:1;23773:10;23802:3;23792:134;;23848:10;23843:3;23839:20;23836:1;23829:31;23883:4;23880:1;23873:15;23911:4;23908:1;23901:15;23792:134;23944:10;;23940:20;;;;;23678:288;-1:-1:-1;;23678:288:13:o;23971:168::-;24011:7;24077:1;24073;24069:6;24065:14;24062:1;24059:21;24054:1;24047:9;24040:17;24036:45;24033:71;;;24084:18;;:::i;:::-;-1:-1:-1;24124:9:13;;23971:168::o;24144:262::-;24183:7;24215:10;24252:2;24249:1;24245:10;24282:2;24279:1;24275:10;24338:3;24334:2;24330:12;24325:3;24322:21;24315:3;24308:11;24301:19;24297:47;24294:73;;;24347:18;;:::i;:::-;24387:13;;24144:262;-1:-1:-1;;;;24144:262:13:o;24411:125::-;24451:4;24479:1;24476;24473:8;24470:34;;;24484:18;;:::i;:::-;-1:-1:-1;24521:9:13;;24411:125::o;24541:297::-;24659:12;;24706:4;24695:16;;;24689:23;;24659:12;24724:16;;24721:111;;;24818:1;24814:6;24804;24798:4;24794:17;24791:1;24787:25;24783:38;24776:5;24772:50;24763:59;;24721:111;;24541:297;;;:::o;24843:258::-;24915:1;24925:113;24939:6;24936:1;24933:13;24925:113;;;25015:11;;;25009:18;24996:11;;;24989:39;24961:2;24954:10;24925:113;;;25056:6;25053:1;25050:13;25047:48;;;-1:-1:-1;;25091:1:13;25073:16;;25066:27;24843:258::o;25106:136::-;25145:3;25173:5;25163:39;;25182:18;;:::i;:::-;-1:-1:-1;;;25218:18:13;;25106:136::o;25247:185::-;25285:3;25329:10;25322:5;25318:22;25359:7;25349:41;;25370:18;;:::i;:::-;-1:-1:-1;;25406:20:13;;25247:185;-1:-1:-1;;25247:185:13:o;25437:380::-;25516:1;25512:12;;;;25559;;;25580:61;;25634:4;25626:6;25622:17;25612:27;;25580:61;25687:2;25679:6;25676:14;25656:18;25653:38;25650:161;;;25733:10;25728:3;25724:20;25721:1;25714:31;25768:4;25765:1;25758:15;25796:4;25793:1;25786:15;25822:197;25860:3;25888:6;25929:2;25922:5;25918:14;25956:2;25947:7;25944:15;25941:41;;;25962:18;;:::i;:::-;26011:1;25998:15;;25822:197;-1:-1:-1;;;25822:197:13:o;26024:201::-;26062:3;26090:10;26135:2;26128:5;26124:14;26162:2;26153:7;26150:15;26147:41;;;26168:18;26230:127;26291:10;26286:3;26282:20;26279:1;26272:31;26322:4;26319:1;26312:15;26346:4;26343:1;26336:15;26362:127;26423:10;26418:3;26414:20;26411:1;26404:31;26454:4;26451:1;26444:15;26478:4;26475:1;26468:15;26494:127;26555:10;26550:3;26546:20;26543:1;26536:31;26586:4;26583:1;26576:15;26610:4;26607:1;26600:15;26626:127;26687:10;26682:3;26678:20;26675:1;26668:31;26718:4;26715:1;26708:15;26742:4;26739:1;26732:15", + "source": "// SPDX-License-Identifier: MIT\n// FIO Protocol ERC20 and Oracle Contract\n// Adam Androulidakis 2/2021\n// Prototype: Do not use in production\n\npragma solidity 0.8.7;\n\nimport \"@openzeppelin/contracts/token/ERC20/ERC20.sol\";\nimport \"@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol\";\nimport \"@openzeppelin/contracts/token/ERC20/extensions/ERC20Pausable.sol\";\nimport \"@openzeppelin/contracts/access/AccessControl.sol\";\n\ncontract WFIO is ERC20Burnable, ERC20Pausable, AccessControl {\n\n uint256 constant MINTABLE = 1e18;\n\n bytes32 public constant ORACLE_ROLE = keccak256(\"ORACLE_ROLE\");\n bytes32 public constant OWNER_ROLE = keccak256(\"OWNER_ROLE\");\n bytes32 public constant CUSTODIAN_ROLE = keccak256(\"CUSTODIAN_ROLE\");\n\n enum ApprovalType {\n Wrap,\n AddOracle,\n RemoveOracle,\n AddCustodian,\n RemoveCustodian\n }\n\n struct pending {\n mapping (address => bool) approved;\n uint32 approvals;\n address account;\n uint256 amount;\n bool complete;\n }\n\n uint32 custodian_count;\n uint32 oracle_count;\n\n event unwrapped(string fioaddress, uint256 amount);\n event wrapped(address account, uint256 amount, string obtid);\n event custodian_unregistered(address account, bytes32 indexhash);\n event custodian_registered(address account, bytes32 indexhash);\n event oracle_unregistered(address account, bytes32 indexhash);\n event oracle_registered(address account, bytes32 indexhash);\n event consensus_activity(string signer, address account, string obtid, bytes32 indexhash);\n\n address[] oraclelist;\n address[] custodianlist;\n\n mapping ( bytes32 => pending) approvals; // bytes32 hash can be any obtid\n\n constructor(uint256 _initialSupply, address[] memory newcustodians ) ERC20(\"FIO Protocol Testnet\", \"wFIO\") {\n require(newcustodians.length == 10, \"wFIO cannot deploy without 10 custodians\");\n _mint(msg.sender, _initialSupply);\n _grantRole(OWNER_ROLE, msg.sender);\n\n for (uint8 i = 0; i < 10; i++ ) {\n require(!hasRole(CUSTODIAN_ROLE, newcustodians[i]), \"Custodian already registered\");\n require(!hasRole(OWNER_ROLE, newcustodians[i]), \"Owner role cannot be custodian\");\n _grantRole(CUSTODIAN_ROLE, newcustodians[i]);\n custodianlist.push(newcustodians[i]);\n }\n custodian_count = 10;\n oracle_count = 0;\n }\n\n function pause() external onlyRole(CUSTODIAN_ROLE) whenNotPaused{\n _pause();\n }\n\n function unpause() external onlyRole(CUSTODIAN_ROLE)whenPaused{\n _unpause();\n }\n\n //Precondition: Roles must be checked in parent functions. This should only be called by authorized oracle or custodian\n function getConsensus(bytes32 hash, uint8 Type, address account, uint256 amount) internal returns (bool){\n require(!approvals[hash].complete, \"Approval already complete\");\n\n uint32 APPROVALS_NEEDED = oracle_count;\n if (Type == 1) {\n APPROVALS_NEEDED = custodian_count * 2 / 3 + 1;\n }\n if (approvals[hash].approvals == 0) {\n approvals[hash].amount = amount;\n approvals[hash].account = account;\n }\n if (approvals[hash].approvals < APPROVALS_NEEDED) {\n require(!approvals[hash].approved[msg.sender], \"oracle has already approved this hash\");\n approvals[hash].approved[msg.sender] = true;\n approvals[hash].approvals++;\n //moving this if block after the parent if block will allow the execution to take place immediately instead of requiring a subsequent call\n if (approvals[hash].approvals >= APPROVALS_NEEDED) {\n require(approvals[hash].approved[msg.sender], \"An approving oracle must execute\");\n approvals[hash].complete = true;\n return approvals[hash].complete;\n }\n }\n return approvals[hash].complete;\n }\n\n\n function wrap(address account, uint256 amount, string memory obtid) external onlyRole(ORACLE_ROLE) whenNotPaused{\n require(amount < MINTABLE);\n require(bytes(obtid).length > 0, \"Invalid obtid\");\n require(account != address(0), \"Invalid account\");\n require(oracle_count >= 3, \"Oracles must be 3 or greater\");\n bytes32 indexhash = keccak256(bytes(abi.encode(ApprovalType.Wrap, obtid, amount, account)));\n\n if (getConsensus(indexhash, 0, account, amount)) {\n _mint(account, amount);\n emit wrapped(account, amount, obtid);\n }\n\n emit consensus_activity(\"oracle\", msg.sender, obtid, indexhash);\n\n }\n\n function unwrap(string memory fioaddress, uint256 amount) external whenNotPaused{\n require(bytes(fioaddress).length > 3 && bytes(fioaddress).length <= 64, \"Invalid FIO Address\");\n _burn(msg.sender, amount);\n emit unwrapped(fioaddress, amount);\n }\n\n function _beforeTokenTransfer(address from, address to, uint256 amount) internal override(ERC20, ERC20Pausable) {\n require(to != address(this), \"Contract cannot receive tokens\");\n super._beforeTokenTransfer(from, to, amount);\n }\n\n\n function getCustodian(address account) external view returns (bool, uint32) {\n require(account != address(0), \"Invalid address\");\n return (hasRole(CUSTODIAN_ROLE, account), custodian_count);\n }\n\n function getOracle(address account) external view returns (bool, uint32) {\n require(account != address(0), \"Invalid address\");\n return (hasRole(ORACLE_ROLE, account), uint32(oraclelist.length));\n }\n\n function getOracles() external view returns(address[] memory) {\n return oraclelist;\n }\n\n\n function getApproval(bytes memory indexhash) external view returns (uint32, address, uint256, address[] memory) {\n require(indexhash.length > 0, \"Invalid obtid\");\n address[] memory approvedOracles = new address[](approvals[bytes32(indexhash)].approvals);\n uint32 c = 0;\n for(uint32 i = 0; i < oraclelist.length; i++) {\n if (approvals[bytes32(indexhash)].approved[oraclelist[i]]) {\n approvedOracles[c] = oraclelist[i];\n c++;\n }\n }\n return (approvals[bytes32(indexhash)].approvals, approvals[bytes32(indexhash)].account, approvals[bytes32(indexhash)].amount, approvedOracles);\n }\n\n function regoracle(address account) external onlyRole(CUSTODIAN_ROLE) {\n require(account != address(0), \"Invalid address\");\n require(account != msg.sender, \"Cannot register self\");\n require(!hasRole(ORACLE_ROLE, account), \"Oracle already registered\");\n bytes32 indexhash = keccak256(bytes(abi.encode(ApprovalType.AddOracle,account )));\n if (getConsensus(indexhash, 1, account, 0)){\n _grantRole(ORACLE_ROLE, account);\n oracle_count++;\n oraclelist.push(account);\n emit oracle_registered(account, indexhash);\n }\n emit consensus_activity(\"custodian\", msg.sender, \"\", indexhash);\n }\n\n function unregoracle(address account) external onlyRole(CUSTODIAN_ROLE) {\n require(account != address(0), \"Invalid address\");\n require(oracle_count > 3, \"Minimum 3 oracles required\");\n bytes32 indexhash = keccak256(bytes(abi.encode(ApprovalType.RemoveOracle,account)));\n require(hasRole(ORACLE_ROLE, account), \"Oracle not registered\");\n if ( getConsensus(indexhash, 1, account, 0)) {\n _revokeRole(ORACLE_ROLE, account);\n oracle_count--;\n for(uint16 i = 0; i < oraclelist.length; i++) {\n if(oraclelist[i] == account) {\n oraclelist[i] = oraclelist[oraclelist.length - 1];\n oraclelist.pop();\n break;\n }\n }\n emit oracle_unregistered(account, indexhash);\n }\n emit consensus_activity(\"custodian\", msg.sender, \"\", indexhash);\n\n } // unregoracle\n\n function regcust(address account) external onlyRole(CUSTODIAN_ROLE) {\n require(account != address(0), \"Invalid address\");\n require(account != msg.sender, \"Cannot register self\");\n bytes32 indexhash = keccak256(bytes(abi.encode(ApprovalType.AddCustodian,account)));\n require(!hasRole(CUSTODIAN_ROLE, account), \"Already registered\");\n if (getConsensus(indexhash, 1, account, 0)) {\n _grantRole(CUSTODIAN_ROLE, account);\n custodian_count++;\n custodianlist.push(account);\n emit custodian_registered(account, indexhash);\n }\n emit consensus_activity(\"custodian\", msg.sender, \"\", indexhash);\n }\n\n function unregcust(address account) external onlyRole(CUSTODIAN_ROLE) {\n require(account != address(0), \"Invalid address\");\n require(hasRole(CUSTODIAN_ROLE, account), \"Custodian not registered\");\n require(custodian_count > 7, \"Must contain 7 custodians\");\n bytes32 indexhash = keccak256(bytes(abi.encode(ApprovalType.RemoveCustodian,account)));\n require(hasRole(CUSTODIAN_ROLE, account), \"Already unregistered\");\n if (getConsensus(indexhash, 1, account, 0)) {\n _revokeRole(CUSTODIAN_ROLE, account);\n custodian_count--;\n for(uint16 i = 0; i < custodianlist.length; i++) {\n if(custodianlist[i] == account) {\n custodianlist[i] = custodianlist[custodianlist.length - 1];\n custodianlist.pop();\n break;\n }\n }\n emit custodian_unregistered(account, indexhash);\n }\n emit consensus_activity(\"custodian\", msg.sender, \"\", indexhash);\n } //unregcustodian\n\n // ------------------------------------------------------------------------\n // Don't accept ETH\n // ------------------------------------------------------------------------\n receive () external payable {\n revert();\n }\n\n function changeOwner(address account) external onlyRole(OWNER_ROLE) {\n _revokeRole(OWNER_ROLE, msg.sender);\n _grantRole(OWNER_ROLE, account);\n }\n\n function decimals() public view virtual override returns (uint8) {\n return 9;\n }\n}\n", + "sourcePath": "/Users/ericbutz/git/fio.erc20/contracts/wfio.sol", "ast": { "absolutePath": "project:/contracts/wfio.sol", "exportedSymbols": { @@ -21682,10 +21800,10 @@ 1518 ], "WFIO": [ - 2612 + 2694 ] }, - "id": 2613, + "id": 2695, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ @@ -21705,7 +21823,7 @@ "id": 1557, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 2613, + "scope": 2695, "sourceUnit": 1087, "src": "167:55:12", "symbolAliases": [], @@ -21717,7 +21835,7 @@ "id": 1558, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 2613, + "scope": 2695, "sourceUnit": 1209, "src": "223:74:12", "symbolAliases": [], @@ -21729,7 +21847,7 @@ "id": 1559, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 2613, + "scope": 2695, "sourceUnit": 1246, "src": "298:74:12", "symbolAliases": [], @@ -21741,7 +21859,7 @@ "id": 1560, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 2613, + "scope": 2695, "sourceUnit": 320, "src": "373:58:12", "symbolAliases": [], @@ -21790,9 +21908,9 @@ "contractDependencies": [], "contractKind": "contract", "fullyImplemented": true, - "id": 2612, + "id": 2694, "linearizedBaseContracts": [ - 2612, + 2694, 319, 1542, 1554, @@ -21816,7 +21934,7 @@ "name": "MINTABLE", "nameLocation": "518:8:12", "nodeType": "VariableDeclaration", - "scope": 2612, + "scope": 2694, "src": "501:32:12", "stateVariable": true, "storageLocation": "default", @@ -21860,7 +21978,7 @@ "name": "ORACLE_ROLE", "nameLocation": "564:11:12", "nodeType": "VariableDeclaration", - "scope": 2612, + "scope": 2694, "src": "540:62:12", "stateVariable": true, "storageLocation": "default", @@ -21940,7 +22058,7 @@ "name": "OWNER_ROLE", "nameLocation": "632:10:12", "nodeType": "VariableDeclaration", - "scope": 2612, + "scope": 2694, "src": "608:60:12", "stateVariable": true, "storageLocation": "default", @@ -22020,7 +22138,7 @@ "name": "CUSTODIAN_ROLE", "nameLocation": "698:14:12", "nodeType": "VariableDeclaration", - "scope": 2612, + "scope": 2694, "src": "674:68:12", "stateVariable": true, "storageLocation": "default", @@ -22300,7 +22418,7 @@ "name": "pending", "nameLocation": "888:7:12", "nodeType": "StructDefinition", - "scope": 2612, + "scope": 2694, "src": "881:154:12", "visibility": "public" }, @@ -22311,7 +22429,7 @@ "name": "custodian_count", "nameLocation": "1048:15:12", "nodeType": "VariableDeclaration", - "scope": 2612, + "scope": 2694, "src": "1041:22:12", "stateVariable": true, "storageLocation": "default", @@ -22338,7 +22456,7 @@ "name": "oracle_count", "nameLocation": "1076:12:12", "nodeType": "VariableDeclaration", - "scope": 2612, + "scope": 2694, "src": "1069:19:12", "stateVariable": true, "storageLocation": "default", @@ -22952,7 +23070,7 @@ "name": "oraclelist", "nameLocation": "1593:10:12", "nodeType": "VariableDeclaration", - "scope": 2612, + "scope": 2694, "src": "1583:20:12", "stateVariable": true, "storageLocation": "default", @@ -22989,7 +23107,7 @@ "name": "custodianlist", "nameLocation": "1619:13:12", "nodeType": "VariableDeclaration", - "scope": 2612, + "scope": 2694, "src": "1609:23:12", "stateVariable": true, "storageLocation": "default", @@ -23026,7 +23144,7 @@ "name": "approvals", "nameLocation": "1669:9:12", "nodeType": "VariableDeclaration", - "scope": 2612, + "scope": 2694, "src": "1639:39:12", "stateVariable": true, "storageLocation": "default", @@ -23076,7 +23194,7 @@ "body": { "id": 1755, "nodeType": "Block", - "src": "1817:562:12", + "src": "1825:562:12", "statements": [ { "expression": { @@ -23098,7 +23216,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1671, - "src": "1833:13:12", + "src": "1841:13:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -23111,7 +23229,7 @@ "lValueRequested": false, "memberName": "length", "nodeType": "MemberAccess", - "src": "1833:20:12", + "src": "1841:20:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23128,14 +23246,14 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1857:2:12", + "src": "1865:2:12", "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", "typeString": "int_const 10" }, "value": "10" }, - "src": "1833:26:12", + "src": "1841:26:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -23150,7 +23268,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1861:42:12", + "src": "1869:42:12", "typeDescriptions": { "typeIdentifier": "t_stringliteral_cd2d27c63320ba67441d893dd30bd57e6cb0543dd2545362fe616296348a1449", "typeString": "literal_string \"wFIO cannot deploy without 10 custodians\"" @@ -23177,7 +23295,7 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "1825:7:12", + "src": "1833:7:12", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -23191,7 +23309,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1825:79:12", + "src": "1833:79:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", @@ -23200,7 +23318,7 @@ }, "id": 1685, "nodeType": "ExpressionStatement", - "src": "1825:79:12" + "src": "1833:79:12" }, { "expression": { @@ -23212,7 +23330,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967281, - "src": "1918:3:12", + "src": "1926:3:12", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -23225,7 +23343,7 @@ "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", - "src": "1918:10:12", + "src": "1926:10:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -23237,7 +23355,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1668, - "src": "1930:14:12", + "src": "1938:14:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23260,7 +23378,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 903, - "src": "1912:5:12", + "src": "1920:5:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" @@ -23274,7 +23392,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1912:33:12", + "src": "1920:33:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", @@ -23283,7 +23401,7 @@ }, "id": 1691, "nodeType": "ExpressionStatement", - "src": "1912:33:12" + "src": "1920:33:12" }, { "expression": { @@ -23294,7 +23412,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1579, - "src": "1964:10:12", + "src": "1972:10:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23307,7 +23425,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967281, - "src": "1976:3:12", + "src": "1984:3:12", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -23320,7 +23438,7 @@ "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", - "src": "1976:10:12", + "src": "1984:10:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -23343,7 +23461,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 287, - "src": "1953:10:12", + "src": "1961:10:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", "typeString": "function (bytes32,address)" @@ -23357,7 +23475,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1953:34:12", + "src": "1961:34:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", @@ -23366,13 +23484,13 @@ }, "id": 1697, "nodeType": "ExpressionStatement", - "src": "1953:34:12" + "src": "1961:34:12" }, { "body": { "id": 1745, "nodeType": "Block", - "src": "2028:293:12", + "src": "2036:293:12", "statements": [ { "expression": { @@ -23386,7 +23504,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "2046:42:12", + "src": "2054:42:12", "subExpression": { "arguments": [ { @@ -23395,7 +23513,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1584, - "src": "2055:14:12", + "src": "2063:14:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23408,7 +23526,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1671, - "src": "2071:13:12", + "src": "2079:13:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -23421,7 +23539,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1699, - "src": "2085:1:12", + "src": "2093:1:12", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -23432,7 +23550,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2071:16:12", + "src": "2079:16:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -23455,7 +23573,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 79, - "src": "2047:7:12", + "src": "2055:7:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$", "typeString": "function (bytes32,address) view returns (bool)" @@ -23469,7 +23587,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2047:41:12", + "src": "2055:41:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -23490,7 +23608,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2090:30:12", + "src": "2098:30:12", "typeDescriptions": { "typeIdentifier": "t_stringliteral_d17f234d2f1d71a49694cfa3d7817c6279f9b8c7ee3da8a89ddf6ceb087d1888", "typeString": "literal_string \"Custodian already registered\"" @@ -23517,7 +23635,7 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "2038:7:12", + "src": "2046:7:12", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -23531,7 +23649,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2038:83:12", + "src": "2046:83:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", @@ -23540,7 +23658,7 @@ }, "id": 1718, "nodeType": "ExpressionStatement", - "src": "2038:83:12" + "src": "2046:83:12" }, { "expression": { @@ -23554,7 +23672,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "2139:38:12", + "src": "2147:38:12", "subExpression": { "arguments": [ { @@ -23563,7 +23681,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1579, - "src": "2148:10:12", + "src": "2156:10:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23576,7 +23694,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1671, - "src": "2160:13:12", + "src": "2168:13:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -23589,7 +23707,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1699, - "src": "2174:1:12", + "src": "2182:1:12", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -23600,7 +23718,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2160:16:12", + "src": "2168:16:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -23623,7 +23741,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 79, - "src": "2140:7:12", + "src": "2148:7:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$", "typeString": "function (bytes32,address) view returns (bool)" @@ -23637,7 +23755,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2140:37:12", + "src": "2148:37:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -23658,7 +23776,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2179:32:12", + "src": "2187:32:12", "typeDescriptions": { "typeIdentifier": "t_stringliteral_c9df1f39b9d6351c5c20911d90cc15733277235f524df90028e141dcd5cc5bb9", "typeString": "literal_string \"Owner role cannot be custodian\"" @@ -23685,7 +23803,7 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "2131:7:12", + "src": "2139:7:12", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -23699,7 +23817,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2131:81:12", + "src": "2139:81:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", @@ -23708,7 +23826,7 @@ }, "id": 1729, "nodeType": "ExpressionStatement", - "src": "2131:81:12" + "src": "2139:81:12" }, { "expression": { @@ -23719,7 +23837,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1584, - "src": "2233:14:12", + "src": "2241:14:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23732,7 +23850,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1671, - "src": "2249:13:12", + "src": "2257:13:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -23745,7 +23863,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1699, - "src": "2263:1:12", + "src": "2271:1:12", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -23756,7 +23874,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2249:16:12", + "src": "2257:16:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -23779,7 +23897,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 287, - "src": "2222:10:12", + "src": "2230:10:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", "typeString": "function (bytes32,address)" @@ -23793,7 +23911,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2222:44:12", + "src": "2230:44:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", @@ -23802,7 +23920,7 @@ }, "id": 1736, "nodeType": "ExpressionStatement", - "src": "2222:44:12" + "src": "2230:44:12" }, { "expression": { @@ -23814,7 +23932,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1671, - "src": "2295:13:12", + "src": "2303:13:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -23827,7 +23945,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1699, - "src": "2309:1:12", + "src": "2317:1:12", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -23838,7 +23956,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2295:16:12", + "src": "2303:16:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -23858,7 +23976,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1661, - "src": "2276:13:12", + "src": "2284:13:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" @@ -23871,7 +23989,7 @@ "lValueRequested": false, "memberName": "push", "nodeType": "MemberAccess", - "src": "2276:18:12", + "src": "2284:18:12", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_address_$dyn_storage_ptr_$_t_address_$returns$__$bound_to$_t_array$_t_address_$dyn_storage_ptr_$", "typeString": "function (address[] storage pointer,address)" @@ -23885,7 +24003,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2276:36:12", + "src": "2284:36:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", @@ -23894,7 +24012,7 @@ }, "id": 1744, "nodeType": "ExpressionStatement", - "src": "2276:36:12" + "src": "2284:36:12" } ] }, @@ -23914,7 +24032,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1699, - "src": "2014:1:12", + "src": "2022:1:12", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -23931,14 +24049,14 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2018:2:12", + "src": "2026:2:12", "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", "typeString": "int_const 10" }, "value": "10" }, - "src": "2014:6:12", + "src": "2022:6:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -23955,10 +24073,10 @@ "id": 1699, "mutability": "mutable", "name": "i", - "nameLocation": "2007:1:12", + "nameLocation": "2015:1:12", "nodeType": "VariableDeclaration", "scope": 1746, - "src": "2001:7:12", + "src": "2009:7:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23969,7 +24087,7 @@ "id": 1698, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "2001:5:12", + "src": "2009:5:12", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -23988,7 +24106,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2011:1:12", + "src": "2019:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -23996,7 +24114,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "2001:11:12" + "src": "2009:11:12" }, "loopExpression": { "expression": { @@ -24008,14 +24126,14 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "2022:3:12", + "src": "2030:3:12", "subExpression": { "id": 1705, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1699, - "src": "2022:1:12", + "src": "2030:1:12", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -24028,10 +24146,10 @@ }, "id": 1707, "nodeType": "ExpressionStatement", - "src": "2022:3:12" + "src": "2030:3:12" }, "nodeType": "ForStatement", - "src": "1996:325:12" + "src": "2004:325:12" }, { "expression": { @@ -24046,7 +24164,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1605, - "src": "2328:15:12", + "src": "2336:15:12", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -24063,14 +24181,14 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2346:2:12", + "src": "2354:2:12", "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", "typeString": "int_const 10" }, "value": "10" }, - "src": "2328:20:12", + "src": "2336:20:12", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -24078,7 +24196,7 @@ }, "id": 1750, "nodeType": "ExpressionStatement", - "src": "2328:20:12" + "src": "2336:20:12" }, { "expression": { @@ -24093,7 +24211,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1607, - "src": "2356:12:12", + "src": "2364:12:12", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -24110,14 +24228,14 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2371:1:12", + "src": "2379:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "2356:16:12", + "src": "2364:16:12", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -24125,7 +24243,7 @@ }, "id": 1754, "nodeType": "ExpressionStatement", - "src": "2356:16:12" + "src": "2364:16:12" } ] }, @@ -24136,7 +24254,7 @@ { "arguments": [ { - "hexValue": "46494f2050726f746f636f6c", + "hexValue": "46494f2050726f746f636f6c20546573746e6574", "id": 1674, "isConstant": false, "isLValue": false, @@ -24144,12 +24262,12 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1793:14:12", + "src": "1793:22:12", "typeDescriptions": { - "typeIdentifier": "t_stringliteral_bb17a12e8fadc89d9d953f6621e4b86acba9880cce7bdbadfec5beb21b315cf6", - "typeString": "literal_string \"FIO Protocol\"" + "typeIdentifier": "t_stringliteral_6c208877e3c2d52e3f7f217b8cb59c80d57c4220878f4d373540569cb3f835e9", + "typeString": "literal_string \"FIO Protocol Testnet\"" }, - "value": "FIO Protocol" + "value": "FIO Protocol Testnet" }, { "hexValue": "7746494f", @@ -24160,7 +24278,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1809:6:12", + "src": "1817:6:12", "typeDescriptions": { "typeIdentifier": "t_stringliteral_e5775adff187b6b14e364363e131043d4a878d18c7d952fecf1b56fe0f44d24e", "typeString": "literal_string \"wFIO\"" @@ -24178,7 +24296,7 @@ "src": "1787:5:12" }, "nodeType": "ModifierInvocation", - "src": "1787:29:12" + "src": "1787:37:12" } ], "name": "", @@ -24259,10 +24377,10 @@ "id": 1677, "nodeType": "ParameterList", "parameters": [], - "src": "1817:0:12" + "src": "1825:0:12" }, - "scope": 2612, - "src": "1718:661:12", + "scope": 2694, + "src": "1718:669:12", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" @@ -24271,7 +24389,7 @@ "body": { "id": 1767, "nodeType": "Block", - "src": "2449:25:12", + "src": "2457:25:12", "statements": [ { "expression": { @@ -24283,7 +24401,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 483, - "src": "2459:6:12", + "src": "2467:6:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", "typeString": "function ()" @@ -24297,7 +24415,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2459:8:12", + "src": "2467:8:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", @@ -24306,7 +24424,7 @@ }, "id": 1766, "nodeType": "ExpressionStatement", - "src": "2459:8:12" + "src": "2467:8:12" } ] }, @@ -24323,7 +24441,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1584, - "src": "2420:14:12", + "src": "2428:14:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24337,10 +24455,10 @@ "name": "onlyRole", "nodeType": "IdentifierPath", "referencedDeclaration": 38, - "src": "2411:8:12" + "src": "2419:8:12" }, "nodeType": "ModifierInvocation", - "src": "2411:24:12" + "src": "2419:24:12" }, { "id": 1762, @@ -24350,29 +24468,29 @@ "name": "whenNotPaused", "nodeType": "IdentifierPath", "referencedDeclaration": 427, - "src": "2436:13:12" + "src": "2444:13:12" }, "nodeType": "ModifierInvocation", - "src": "2436:13:12" + "src": "2444:13:12" } ], "name": "pause", - "nameLocation": "2394:5:12", + "nameLocation": "2402:5:12", "nodeType": "FunctionDefinition", "parameters": { "id": 1757, "nodeType": "ParameterList", "parameters": [], - "src": "2399:2:12" + "src": "2407:2:12" }, "returnParameters": { "id": 1763, "nodeType": "ParameterList", "parameters": [], - "src": "2449:0:12" + "src": "2457:0:12" }, - "scope": 2612, - "src": "2385:89:12", + "scope": 2694, + "src": "2393:89:12", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" @@ -24381,7 +24499,7 @@ "body": { "id": 1779, "nodeType": "Block", - "src": "2542:27:12", + "src": "2550:27:12", "statements": [ { "expression": { @@ -24393,7 +24511,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 499, - "src": "2552:8:12", + "src": "2560:8:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", "typeString": "function ()" @@ -24407,7 +24525,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2552:10:12", + "src": "2560:10:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", @@ -24416,7 +24534,7 @@ }, "id": 1778, "nodeType": "ExpressionStatement", - "src": "2552:10:12" + "src": "2560:10:12" } ] }, @@ -24433,7 +24551,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1584, - "src": "2517:14:12", + "src": "2525:14:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24447,10 +24565,10 @@ "name": "onlyRole", "nodeType": "IdentifierPath", "referencedDeclaration": 38, - "src": "2508:8:12" + "src": "2516:8:12" }, "nodeType": "ModifierInvocation", - "src": "2508:24:12" + "src": "2516:24:12" }, { "id": 1774, @@ -24460,29 +24578,29 @@ "name": "whenPaused", "nodeType": "IdentifierPath", "referencedDeclaration": 435, - "src": "2532:10:12" + "src": "2540:10:12" }, "nodeType": "ModifierInvocation", - "src": "2532:10:12" + "src": "2540:10:12" } ], "name": "unpause", - "nameLocation": "2489:7:12", + "nameLocation": "2497:7:12", "nodeType": "FunctionDefinition", "parameters": { "id": 1769, "nodeType": "ParameterList", "parameters": [], - "src": "2496:2:12" + "src": "2504:2:12" }, "returnParameters": { "id": 1775, "nodeType": "ParameterList", "parameters": [], - "src": "2542:0:12" + "src": "2550:0:12" }, - "scope": 2612, - "src": "2480:89:12", + "scope": 2694, + "src": "2488:89:12", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" @@ -24491,7 +24609,7 @@ "body": { "id": 1915, "nodeType": "Block", - "src": "2803:1039:12", + "src": "2811:1038:12", "statements": [ { "expression": { @@ -24505,7 +24623,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "2819:25:12", + "src": "2827:25:12", "subExpression": { "expression": { "baseExpression": { @@ -24514,7 +24632,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1666, - "src": "2820:9:12", + "src": "2828:9:12", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_pending_$1603_storage_$", "typeString": "mapping(bytes32 => struct WFIO.pending storage ref)" @@ -24527,7 +24645,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1782, - "src": "2830:4:12", + "src": "2838:4:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24538,7 +24656,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2820:15:12", + "src": "2828:15:12", "typeDescriptions": { "typeIdentifier": "t_struct$_pending_$1603_storage", "typeString": "struct WFIO.pending storage ref" @@ -24552,7 +24670,7 @@ "memberName": "complete", "nodeType": "MemberAccess", "referencedDeclaration": 1602, - "src": "2820:24:12", + "src": "2828:24:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -24572,7 +24690,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2846:27:12", + "src": "2854:27:12", "typeDescriptions": { "typeIdentifier": "t_stringliteral_13db8708b578fbecc0a459d6c97bde53ce0e906ac90480cb2dec183b18a8f137", "typeString": "literal_string \"Approval already complete\"" @@ -24599,7 +24717,7 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "2811:7:12", + "src": "2819:7:12", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -24613,7 +24731,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2811:63:12", + "src": "2819:63:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", @@ -24622,7 +24740,7 @@ }, "id": 1801, "nodeType": "ExpressionStatement", - "src": "2811:63:12" + "src": "2819:63:12" }, { "assignments": [ @@ -24634,10 +24752,10 @@ "id": 1803, "mutability": "mutable", "name": "APPROVALS_NEEDED", - "nameLocation": "2890:16:12", + "nameLocation": "2898:16:12", "nodeType": "VariableDeclaration", "scope": 1915, - "src": "2883:23:12", + "src": "2891:23:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24648,7 +24766,7 @@ "id": 1802, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "2883:6:12", + "src": "2891:6:12", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -24664,14 +24782,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1607, - "src": "2909:12:12", + "src": "2917:12:12", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" } }, "nodeType": "VariableDeclarationStatement", - "src": "2883:38:12" + "src": "2891:38:12" }, { "condition": { @@ -24690,7 +24808,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1784, - "src": "2933:4:12", + "src": "2941:4:12", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -24707,14 +24825,14 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2941:1:12", + "src": "2949:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, - "src": "2933:9:12", + "src": "2941:9:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -24722,11 +24840,11 @@ }, "id": 1820, "nodeType": "IfStatement", - "src": "2929:80:12", + "src": "2937:80:12", "trueBody": { "id": 1819, "nodeType": "Block", - "src": "2944:65:12", + "src": "2952:65:12", "statements": [ { "expression": { @@ -24741,7 +24859,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1803, - "src": "2954:16:12", + "src": "2962:16:12", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -24785,7 +24903,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1605, - "src": "2973:15:12", + "src": "2981:15:12", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -24802,14 +24920,14 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2991:1:12", + "src": "2999:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" }, "value": "2" }, - "src": "2973:19:12", + "src": "2981:19:12", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -24826,14 +24944,14 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2995:1:12", + "src": "3003:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", "typeString": "int_const 3" }, "value": "3" }, - "src": "2973:23:12", + "src": "2981:23:12", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -24850,20 +24968,20 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2999:1:12", + "src": "3007:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, - "src": "2973:27:12", + "src": "2981:27:12", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" } }, - "src": "2954:46:12", + "src": "2962:46:12", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -24871,7 +24989,7 @@ }, "id": 1818, "nodeType": "ExpressionStatement", - "src": "2954:46:12" + "src": "2962:46:12" } ] } @@ -24895,7 +25013,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1666, - "src": "3020:9:12", + "src": "3028:9:12", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_pending_$1603_storage_$", "typeString": "mapping(bytes32 => struct WFIO.pending storage ref)" @@ -24908,7 +25026,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1782, - "src": "3030:4:12", + "src": "3038:4:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24919,7 +25037,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3020:15:12", + "src": "3028:15:12", "typeDescriptions": { "typeIdentifier": "t_struct$_pending_$1603_storage", "typeString": "struct WFIO.pending storage ref" @@ -24933,7 +25051,7 @@ "memberName": "approvals", "nodeType": "MemberAccess", "referencedDeclaration": 1596, - "src": "3020:25:12", + "src": "3028:25:12", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -24950,14 +25068,14 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3049:1:12", + "src": "3057:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "3020:30:12", + "src": "3028:30:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -24965,11 +25083,11 @@ }, "id": 1842, "nodeType": "IfStatement", - "src": "3016:129:12", + "src": "3024:129:12", "trueBody": { "id": 1841, "nodeType": "Block", - "src": "3052:93:12", + "src": "3060:93:12", "statements": [ { "expression": { @@ -24986,7 +25104,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1666, - "src": "3062:9:12", + "src": "3070:9:12", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_pending_$1603_storage_$", "typeString": "mapping(bytes32 => struct WFIO.pending storage ref)" @@ -24999,7 +25117,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1782, - "src": "3072:4:12", + "src": "3080:4:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25010,7 +25128,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3062:15:12", + "src": "3070:15:12", "typeDescriptions": { "typeIdentifier": "t_struct$_pending_$1603_storage", "typeString": "struct WFIO.pending storage ref" @@ -25024,7 +25142,7 @@ "memberName": "amount", "nodeType": "MemberAccess", "referencedDeclaration": 1600, - "src": "3062:22:12", + "src": "3070:22:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -25038,13 +25156,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1788, - "src": "3087:6:12", + "src": "3095:6:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3062:31:12", + "src": "3070:31:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -25052,7 +25170,7 @@ }, "id": 1833, "nodeType": "ExpressionStatement", - "src": "3062:31:12" + "src": "3070:31:12" }, { "expression": { @@ -25069,7 +25187,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1666, - "src": "3103:9:12", + "src": "3111:9:12", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_pending_$1603_storage_$", "typeString": "mapping(bytes32 => struct WFIO.pending storage ref)" @@ -25082,7 +25200,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1782, - "src": "3113:4:12", + "src": "3121:4:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25093,7 +25211,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3103:15:12", + "src": "3111:15:12", "typeDescriptions": { "typeIdentifier": "t_struct$_pending_$1603_storage", "typeString": "struct WFIO.pending storage ref" @@ -25107,7 +25225,7 @@ "memberName": "account", "nodeType": "MemberAccess", "referencedDeclaration": 1598, - "src": "3103:23:12", + "src": "3111:23:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25121,13 +25239,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1786, - "src": "3129:7:12", + "src": "3137:7:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "3103:33:12", + "src": "3111:33:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25135,7 +25253,7 @@ }, "id": 1840, "nodeType": "ExpressionStatement", - "src": "3103:33:12" + "src": "3111:33:12" } ] } @@ -25159,7 +25277,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1666, - "src": "3156:9:12", + "src": "3164:9:12", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_pending_$1603_storage_$", "typeString": "mapping(bytes32 => struct WFIO.pending storage ref)" @@ -25172,7 +25290,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1782, - "src": "3166:4:12", + "src": "3174:4:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25183,7 +25301,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3156:15:12", + "src": "3164:15:12", "typeDescriptions": { "typeIdentifier": "t_struct$_pending_$1603_storage", "typeString": "struct WFIO.pending storage ref" @@ -25197,7 +25315,7 @@ "memberName": "approvals", "nodeType": "MemberAccess", "referencedDeclaration": 1596, - "src": "3156:25:12", + "src": "3164:25:12", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -25211,13 +25329,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1803, - "src": "3184:16:12", + "src": "3192:16:12", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" } }, - "src": "3156:44:12", + "src": "3164:44:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -25225,11 +25343,11 @@ }, "id": 1909, "nodeType": "IfStatement", - "src": "3152:645:12", + "src": "3160:644:12", "trueBody": { "id": 1908, "nodeType": "Block", - "src": "3202:595:12", + "src": "3210:594:12", "statements": [ { "expression": { @@ -25243,7 +25361,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "3220:37:12", + "src": "3228:37:12", "subExpression": { "baseExpression": { "expression": { @@ -25253,7 +25371,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1666, - "src": "3221:9:12", + "src": "3229:9:12", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_pending_$1603_storage_$", "typeString": "mapping(bytes32 => struct WFIO.pending storage ref)" @@ -25266,7 +25384,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1782, - "src": "3231:4:12", + "src": "3239:4:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25277,7 +25395,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3221:15:12", + "src": "3229:15:12", "typeDescriptions": { "typeIdentifier": "t_struct$_pending_$1603_storage", "typeString": "struct WFIO.pending storage ref" @@ -25291,7 +25409,7 @@ "memberName": "approved", "nodeType": "MemberAccess", "referencedDeclaration": 1594, - "src": "3221:24:12", + "src": "3229:24:12", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -25305,7 +25423,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967281, - "src": "3246:3:12", + "src": "3254:3:12", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -25318,7 +25436,7 @@ "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", - "src": "3246:10:12", + "src": "3254:10:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25329,7 +25447,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3221:36:12", + "src": "3229:36:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -25349,7 +25467,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3259:39:12", + "src": "3267:39:12", "typeDescriptions": { "typeIdentifier": "t_stringliteral_2a0c86389b9cee3461c7143d614cd54d22183c8cf2396103fddc6acad54f1b27", "typeString": "literal_string \"oracle has already approved this hash\"" @@ -25376,7 +25494,7 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "3212:7:12", + "src": "3220:7:12", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -25390,7 +25508,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3212:87:12", + "src": "3220:87:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", @@ -25399,7 +25517,7 @@ }, "id": 1860, "nodeType": "ExpressionStatement", - "src": "3212:87:12" + "src": "3220:87:12" }, { "expression": { @@ -25417,7 +25535,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1666, - "src": "3309:9:12", + "src": "3317:9:12", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_pending_$1603_storage_$", "typeString": "mapping(bytes32 => struct WFIO.pending storage ref)" @@ -25430,7 +25548,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1782, - "src": "3319:4:12", + "src": "3327:4:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25441,7 +25559,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3309:15:12", + "src": "3317:15:12", "typeDescriptions": { "typeIdentifier": "t_struct$_pending_$1603_storage", "typeString": "struct WFIO.pending storage ref" @@ -25455,7 +25573,7 @@ "memberName": "approved", "nodeType": "MemberAccess", "referencedDeclaration": 1594, - "src": "3309:24:12", + "src": "3317:24:12", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -25469,7 +25587,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967281, - "src": "3334:3:12", + "src": "3342:3:12", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -25482,7 +25600,7 @@ "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", - "src": "3334:10:12", + "src": "3342:10:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25493,7 +25611,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "3309:36:12", + "src": "3317:36:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -25510,14 +25628,14 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "3348:4:12", + "src": "3356:4:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, - "src": "3309:43:12", + "src": "3317:43:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -25525,7 +25643,7 @@ }, "id": 1870, "nodeType": "ExpressionStatement", - "src": "3309:43:12" + "src": "3317:43:12" }, { "expression": { @@ -25537,7 +25655,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "3362:27:12", + "src": "3370:27:12", "subExpression": { "expression": { "baseExpression": { @@ -25546,7 +25664,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1666, - "src": "3362:9:12", + "src": "3370:9:12", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_pending_$1603_storage_$", "typeString": "mapping(bytes32 => struct WFIO.pending storage ref)" @@ -25559,7 +25677,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1782, - "src": "3372:4:12", + "src": "3380:4:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25570,7 +25688,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3362:15:12", + "src": "3370:15:12", "typeDescriptions": { "typeIdentifier": "t_struct$_pending_$1603_storage", "typeString": "struct WFIO.pending storage ref" @@ -25584,7 +25702,7 @@ "memberName": "approvals", "nodeType": "MemberAccess", "referencedDeclaration": 1596, - "src": "3362:25:12", + "src": "3370:25:12", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -25597,7 +25715,7 @@ }, "id": 1876, "nodeType": "ExpressionStatement", - "src": "3362:27:12" + "src": "3370:27:12" }, { "condition": { @@ -25618,7 +25736,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1666, - "src": "3552:9:12", + "src": "3559:9:12", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_pending_$1603_storage_$", "typeString": "mapping(bytes32 => struct WFIO.pending storage ref)" @@ -25631,7 +25749,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1782, - "src": "3562:4:12", + "src": "3569:4:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25642,7 +25760,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3552:15:12", + "src": "3559:15:12", "typeDescriptions": { "typeIdentifier": "t_struct$_pending_$1603_storage", "typeString": "struct WFIO.pending storage ref" @@ -25656,7 +25774,7 @@ "memberName": "approvals", "nodeType": "MemberAccess", "referencedDeclaration": 1596, - "src": "3552:25:12", + "src": "3559:25:12", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -25670,13 +25788,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1803, - "src": "3581:16:12", + "src": "3588:16:12", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" } }, - "src": "3552:45:12", + "src": "3559:45:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -25684,11 +25802,11 @@ }, "id": 1907, "nodeType": "IfStatement", - "src": "3548:241:12", + "src": "3555:241:12", "trueBody": { "id": 1906, "nodeType": "Block", - "src": "3599:190:12", + "src": "3606:190:12", "statements": [ { "expression": { @@ -25702,7 +25820,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1666, - "src": "3619:9:12", + "src": "3626:9:12", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_pending_$1603_storage_$", "typeString": "mapping(bytes32 => struct WFIO.pending storage ref)" @@ -25715,7 +25833,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1782, - "src": "3629:4:12", + "src": "3636:4:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25726,7 +25844,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3619:15:12", + "src": "3626:15:12", "typeDescriptions": { "typeIdentifier": "t_struct$_pending_$1603_storage", "typeString": "struct WFIO.pending storage ref" @@ -25740,7 +25858,7 @@ "memberName": "approved", "nodeType": "MemberAccess", "referencedDeclaration": 1594, - "src": "3619:24:12", + "src": "3626:24:12", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -25754,7 +25872,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967281, - "src": "3644:3:12", + "src": "3651:3:12", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -25767,7 +25885,7 @@ "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", - "src": "3644:10:12", + "src": "3651:10:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25778,7 +25896,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3619:36:12", + "src": "3626:36:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -25793,7 +25911,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3657:34:12", + "src": "3664:34:12", "typeDescriptions": { "typeIdentifier": "t_stringliteral_1a5adee8cc0aa38e9da2bc9f89e109474bcb9a24807fb4f99009a90367b0143d", "typeString": "literal_string \"An approving oracle must execute\"" @@ -25820,7 +25938,7 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "3611:7:12", + "src": "3618:7:12", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -25834,7 +25952,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3611:81:12", + "src": "3618:81:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", @@ -25843,7 +25961,7 @@ }, "id": 1893, "nodeType": "ExpressionStatement", - "src": "3611:81:12" + "src": "3618:81:12" }, { "expression": { @@ -25860,7 +25978,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1666, - "src": "3704:9:12", + "src": "3711:9:12", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_pending_$1603_storage_$", "typeString": "mapping(bytes32 => struct WFIO.pending storage ref)" @@ -25873,7 +25991,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1782, - "src": "3714:4:12", + "src": "3721:4:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25884,7 +26002,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3704:15:12", + "src": "3711:15:12", "typeDescriptions": { "typeIdentifier": "t_struct$_pending_$1603_storage", "typeString": "struct WFIO.pending storage ref" @@ -25898,7 +26016,7 @@ "memberName": "complete", "nodeType": "MemberAccess", "referencedDeclaration": 1602, - "src": "3704:24:12", + "src": "3711:24:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -25915,14 +26033,14 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "3731:4:12", + "src": "3738:4:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, - "src": "3704:31:12", + "src": "3711:31:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -25930,7 +26048,7 @@ }, "id": 1900, "nodeType": "ExpressionStatement", - "src": "3704:31:12" + "src": "3711:31:12" }, { "expression": { @@ -25941,7 +26059,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1666, - "src": "3754:9:12", + "src": "3761:9:12", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_pending_$1603_storage_$", "typeString": "mapping(bytes32 => struct WFIO.pending storage ref)" @@ -25954,7 +26072,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1782, - "src": "3764:4:12", + "src": "3771:4:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25965,7 +26083,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3754:15:12", + "src": "3761:15:12", "typeDescriptions": { "typeIdentifier": "t_struct$_pending_$1603_storage", "typeString": "struct WFIO.pending storage ref" @@ -25979,7 +26097,7 @@ "memberName": "complete", "nodeType": "MemberAccess", "referencedDeclaration": 1602, - "src": "3754:24:12", + "src": "3761:24:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -25988,7 +26106,7 @@ "functionReturnParameters": 1792, "id": 1905, "nodeType": "Return", - "src": "3747:31:12" + "src": "3754:31:12" } ] } @@ -26005,7 +26123,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1666, - "src": "3811:9:12", + "src": "3818:9:12", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_pending_$1603_storage_$", "typeString": "mapping(bytes32 => struct WFIO.pending storage ref)" @@ -26018,7 +26136,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1782, - "src": "3821:4:12", + "src": "3828:4:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26029,7 +26147,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3811:15:12", + "src": "3818:15:12", "typeDescriptions": { "typeIdentifier": "t_struct$_pending_$1603_storage", "typeString": "struct WFIO.pending storage ref" @@ -26043,7 +26161,7 @@ "memberName": "complete", "nodeType": "MemberAccess", "referencedDeclaration": 1602, - "src": "3811:24:12", + "src": "3818:24:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -26052,7 +26170,7 @@ "functionReturnParameters": 1792, "id": 1914, "nodeType": "Return", - "src": "3804:31:12" + "src": "3811:31:12" } ] }, @@ -26061,7 +26179,7 @@ "kind": "function", "modifiers": [], "name": "getConsensus", - "nameLocation": "2708:12:12", + "nameLocation": "2716:12:12", "nodeType": "FunctionDefinition", "parameters": { "id": 1789, @@ -26072,10 +26190,10 @@ "id": 1782, "mutability": "mutable", "name": "hash", - "nameLocation": "2729:4:12", + "nameLocation": "2737:4:12", "nodeType": "VariableDeclaration", "scope": 1916, - "src": "2721:12:12", + "src": "2729:12:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26086,7 +26204,7 @@ "id": 1781, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2721:7:12", + "src": "2729:7:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26099,10 +26217,10 @@ "id": 1784, "mutability": "mutable", "name": "Type", - "nameLocation": "2741:4:12", + "nameLocation": "2749:4:12", "nodeType": "VariableDeclaration", "scope": 1916, - "src": "2735:10:12", + "src": "2743:10:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26113,7 +26231,7 @@ "id": 1783, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "2735:5:12", + "src": "2743:5:12", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -26126,10 +26244,10 @@ "id": 1786, "mutability": "mutable", "name": "account", - "nameLocation": "2755:7:12", + "nameLocation": "2763:7:12", "nodeType": "VariableDeclaration", "scope": 1916, - "src": "2747:15:12", + "src": "2755:15:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26140,7 +26258,7 @@ "id": 1785, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2747:7:12", + "src": "2755:7:12", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -26154,10 +26272,10 @@ "id": 1788, "mutability": "mutable", "name": "amount", - "nameLocation": "2772:6:12", + "nameLocation": "2780:6:12", "nodeType": "VariableDeclaration", "scope": 1916, - "src": "2764:14:12", + "src": "2772:14:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26168,7 +26286,7 @@ "id": 1787, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2764:7:12", + "src": "2772:7:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26177,7 +26295,7 @@ "visibility": "internal" } ], - "src": "2720:59:12" + "src": "2728:59:12" }, "returnParameters": { "id": 1792, @@ -26191,7 +26309,7 @@ "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 1916, - "src": "2798:4:12", + "src": "2806:4:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26202,7 +26320,7 @@ "id": 1790, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "2798:4:12", + "src": "2806:4:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -26211,10 +26329,10 @@ "visibility": "internal" } ], - "src": "2797:6:12" + "src": "2805:6:12" }, - "scope": 2612, - "src": "2699:1143:12", + "scope": 2694, + "src": "2707:1142:12", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" @@ -26223,7 +26341,7 @@ "body": { "id": 2007, "nodeType": "Block", - "src": "3961:539:12", + "src": "3968:539:12", "statements": [ { "expression": { @@ -26244,7 +26362,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1920, - "src": "3977:6:12", + "src": "3984:6:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26258,13 +26376,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1569, - "src": "3986:8:12", + "src": "3993:8:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3977:17:12", + "src": "3984:17:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -26286,7 +26404,7 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "3969:7:12", + "src": "3976:7:12", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -26300,7 +26418,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3969:26:12", + "src": "3976:26:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", @@ -26309,7 +26427,7 @@ }, "id": 1935, "nodeType": "ExpressionStatement", - "src": "3969:26:12" + "src": "3976:26:12" }, { "expression": { @@ -26333,7 +26451,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1922, - "src": "4017:5:12", + "src": "4024:5:12", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -26353,7 +26471,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4011:5:12", + "src": "4018:5:12", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", "typeString": "type(bytes storage pointer)" @@ -26362,7 +26480,7 @@ "id": 1937, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "4011:5:12", + "src": "4018:5:12", "typeDescriptions": {} } }, @@ -26374,7 +26492,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4011:12:12", + "src": "4018:12:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -26388,7 +26506,7 @@ "lValueRequested": false, "memberName": "length", "nodeType": "MemberAccess", - "src": "4011:19:12", + "src": "4018:19:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26405,14 +26523,14 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4033:1:12", + "src": "4040:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "4011:23:12", + "src": "4018:23:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -26427,7 +26545,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "4036:15:12", + "src": "4043:15:12", "typeDescriptions": { "typeIdentifier": "t_stringliteral_f680803027a1359df75b0a2736bd68cd7743fb83124a9d4efbdc3a64a77cf20f", "typeString": "literal_string \"Invalid obtid\"" @@ -26454,7 +26572,7 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "4003:7:12", + "src": "4010:7:12", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -26468,7 +26586,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4003:49:12", + "src": "4010:49:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", @@ -26477,7 +26595,7 @@ }, "id": 1946, "nodeType": "ExpressionStatement", - "src": "4003:49:12" + "src": "4010:49:12" }, { "expression": { @@ -26498,7 +26616,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1918, - "src": "4068:7:12", + "src": "4075:7:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -26517,7 +26635,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4087:1:12", + "src": "4094:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -26538,7 +26656,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4079:7:12", + "src": "4086:7:12", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -26547,7 +26665,7 @@ "id": 1949, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4079:7:12", + "src": "4086:7:12", "typeDescriptions": {} } }, @@ -26559,14 +26677,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4079:10:12", + "src": "4086:10:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "4068:21:12", + "src": "4075:21:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -26581,7 +26699,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "4091:17:12", + "src": "4098:17:12", "typeDescriptions": { "typeIdentifier": "t_stringliteral_96004842ff601b6d8519c15dcff18308fcdd4e716146ba6a8ca79e8687927600", "typeString": "literal_string \"Invalid account\"" @@ -26608,7 +26726,7 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "4060:7:12", + "src": "4067:7:12", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -26622,7 +26740,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4060:49:12", + "src": "4067:49:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", @@ -26631,7 +26749,7 @@ }, "id": 1956, "nodeType": "ExpressionStatement", - "src": "4060:49:12" + "src": "4067:49:12" }, { "expression": { @@ -26652,7 +26770,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1607, - "src": "4125:12:12", + "src": "4132:12:12", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -26669,14 +26787,14 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4141:1:12", + "src": "4148:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", "typeString": "int_const 3" }, "value": "3" }, - "src": "4125:17:12", + "src": "4132:17:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -26691,7 +26809,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "4144:30:12", + "src": "4151:30:12", "typeDescriptions": { "typeIdentifier": "t_stringliteral_554179b8f83bb1fa393538dc82d36ebcd53fdf6c86409aa6c89130d509b651db", "typeString": "literal_string \"Oracles must be 3 or greater\"" @@ -26718,7 +26836,7 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "4117:7:12", + "src": "4124:7:12", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -26732,7 +26850,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4117:58:12", + "src": "4124:58:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", @@ -26741,7 +26859,7 @@ }, "id": 1963, "nodeType": "ExpressionStatement", - "src": "4117:58:12" + "src": "4124:58:12" }, { "assignments": [ @@ -26753,10 +26871,10 @@ "id": 1965, "mutability": "mutable", "name": "indexhash", - "nameLocation": "4191:9:12", + "nameLocation": "4198:9:12", "nodeType": "VariableDeclaration", "scope": 2007, - "src": "4183:17:12", + "src": "4190:17:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26767,7 +26885,7 @@ "id": 1964, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "4183:7:12", + "src": "4190:7:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26790,7 +26908,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1590, - "src": "4230:12:12", + "src": "4237:12:12", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_ApprovalType_$1590_$", "typeString": "type(enum WFIO.ApprovalType)" @@ -26804,7 +26922,7 @@ "memberName": "Wrap", "nodeType": "MemberAccess", "referencedDeclaration": 1585, - "src": "4230:17:12", + "src": "4237:17:12", "typeDescriptions": { "typeIdentifier": "t_enum$_ApprovalType_$1590", "typeString": "enum WFIO.ApprovalType" @@ -26816,7 +26934,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1922, - "src": "4249:5:12", + "src": "4256:5:12", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -26828,7 +26946,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1920, - "src": "4256:6:12", + "src": "4263:6:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26840,7 +26958,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1918, - "src": "4264:7:12", + "src": "4271:7:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -26872,7 +26990,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967295, - "src": "4219:3:12", + "src": "4226:3:12", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" @@ -26885,7 +27003,7 @@ "lValueRequested": false, "memberName": "encode", "nodeType": "MemberAccess", - "src": "4219:10:12", + "src": "4226:10:12", "typeDescriptions": { "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" @@ -26899,7 +27017,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4219:53:12", + "src": "4226:53:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -26920,7 +27038,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4213:5:12", + "src": "4220:5:12", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", "typeString": "type(bytes storage pointer)" @@ -26929,7 +27047,7 @@ "id": 1967, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "4213:5:12", + "src": "4220:5:12", "typeDescriptions": {} } }, @@ -26941,7 +27059,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4213:60:12", + "src": "4220:60:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -26961,7 +27079,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967288, - "src": "4203:9:12", + "src": "4210:9:12", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" @@ -26975,7 +27093,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4203:71:12", + "src": "4210:71:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -26983,7 +27101,7 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "4183:91:12" + "src": "4190:91:12" }, { "condition": { @@ -26994,7 +27112,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1965, - "src": "4300:9:12", + "src": "4307:9:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -27009,7 +27127,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4311:1:12", + "src": "4318:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -27022,7 +27140,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1918, - "src": "4314:7:12", + "src": "4321:7:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -27034,7 +27152,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1920, - "src": "4323:6:12", + "src": "4330:6:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27065,7 +27183,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1916, - "src": "4287:12:12", + "src": "4294:12:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_uint8_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (bytes32,uint8,address,uint256) returns (bool)" @@ -27079,7 +27197,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4287:43:12", + "src": "4294:43:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -27088,11 +27206,11 @@ }, "id": 1998, "nodeType": "IfStatement", - "src": "4283:138:12", + "src": "4290:138:12", "trueBody": { "id": 1997, "nodeType": "Block", - "src": "4332:89:12", + "src": "4339:89:12", "statements": [ { "expression": { @@ -27103,7 +27221,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1918, - "src": "4349:7:12", + "src": "4356:7:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -27115,7 +27233,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1920, - "src": "4358:6:12", + "src": "4365:6:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27138,7 +27256,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 903, - "src": "4343:5:12", + "src": "4350:5:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" @@ -27152,7 +27270,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4343:22:12", + "src": "4350:22:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", @@ -27161,7 +27279,7 @@ }, "id": 1990, "nodeType": "ExpressionStatement", - "src": "4343:22:12" + "src": "4350:22:12" }, { "eventCall": { @@ -27172,7 +27290,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1918, - "src": "4389:7:12", + "src": "4396:7:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -27184,7 +27302,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1920, - "src": "4398:6:12", + "src": "4405:6:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27196,7 +27314,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1922, - "src": "4406:5:12", + "src": "4413:5:12", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -27223,7 +27341,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1621, - "src": "4381:7:12", + "src": "4388:7:12", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_string_memory_ptr_$returns$__$", "typeString": "function (address,uint256,string memory)" @@ -27237,7 +27355,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4381:31:12", + "src": "4388:31:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", @@ -27246,7 +27364,7 @@ }, "id": 1996, "nodeType": "EmitStatement", - "src": "4376:36:12" + "src": "4383:36:12" } ] } @@ -27263,7 +27381,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "4453:8:12", + "src": "4460:8:12", "typeDescriptions": { "typeIdentifier": "t_stringliteral_89cbf5af14e0328a3cd3a734f92c3832d729d431da79b7873a62cbeebd37beb6", "typeString": "literal_string \"oracle\"" @@ -27277,7 +27395,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967281, - "src": "4463:3:12", + "src": "4470:3:12", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -27290,7 +27408,7 @@ "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", - "src": "4463:10:12", + "src": "4470:10:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -27302,7 +27420,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1922, - "src": "4475:5:12", + "src": "4482:5:12", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -27314,7 +27432,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1965, - "src": "4482:9:12", + "src": "4489:9:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -27345,7 +27463,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1655, - "src": "4434:18:12", + "src": "4441:18:12", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_address_$_t_string_memory_ptr_$_t_bytes32_$returns$__$", "typeString": "function (string memory,address,string memory,bytes32)" @@ -27359,7 +27477,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4434:58:12", + "src": "4441:58:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", @@ -27368,7 +27486,7 @@ }, "id": 2006, "nodeType": "EmitStatement", - "src": "4429:63:12" + "src": "4436:63:12" } ] }, @@ -27385,7 +27503,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1574, - "src": "3935:11:12", + "src": "3942:11:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -27399,10 +27517,10 @@ "name": "onlyRole", "nodeType": "IdentifierPath", "referencedDeclaration": 38, - "src": "3926:8:12" + "src": "3933:8:12" }, "nodeType": "ModifierInvocation", - "src": "3926:21:12" + "src": "3933:21:12" }, { "id": 1928, @@ -27412,14 +27530,14 @@ "name": "whenNotPaused", "nodeType": "IdentifierPath", "referencedDeclaration": 427, - "src": "3948:13:12" + "src": "3955:13:12" }, "nodeType": "ModifierInvocation", - "src": "3948:13:12" + "src": "3955:13:12" } ], "name": "wrap", - "nameLocation": "3858:4:12", + "nameLocation": "3865:4:12", "nodeType": "FunctionDefinition", "parameters": { "id": 1923, @@ -27430,10 +27548,10 @@ "id": 1918, "mutability": "mutable", "name": "account", - "nameLocation": "3871:7:12", + "nameLocation": "3878:7:12", "nodeType": "VariableDeclaration", "scope": 2008, - "src": "3863:15:12", + "src": "3870:15:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -27444,7 +27562,7 @@ "id": 1917, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3863:7:12", + "src": "3870:7:12", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -27458,10 +27576,10 @@ "id": 1920, "mutability": "mutable", "name": "amount", - "nameLocation": "3888:6:12", + "nameLocation": "3895:6:12", "nodeType": "VariableDeclaration", "scope": 2008, - "src": "3880:14:12", + "src": "3887:14:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -27472,7 +27590,7 @@ "id": 1919, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3880:7:12", + "src": "3887:7:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27485,10 +27603,10 @@ "id": 1922, "mutability": "mutable", "name": "obtid", - "nameLocation": "3910:5:12", + "nameLocation": "3917:5:12", "nodeType": "VariableDeclaration", "scope": 2008, - "src": "3896:19:12", + "src": "3903:19:12", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -27499,7 +27617,7 @@ "id": 1921, "name": "string", "nodeType": "ElementaryTypeName", - "src": "3896:6:12", + "src": "3903:6:12", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -27508,16 +27626,16 @@ "visibility": "internal" } ], - "src": "3862:54:12" + "src": "3869:54:12" }, "returnParameters": { "id": 1929, "nodeType": "ParameterList", "parameters": [], - "src": "3961:0:12" + "src": "3968:0:12" }, - "scope": 2612, - "src": "3849:651:12", + "scope": 2694, + "src": "3856:651:12", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" @@ -27526,7 +27644,7 @@ "body": { "id": 2047, "nodeType": "Block", - "src": "4586:184:12", + "src": "4593:184:12", "statements": [ { "expression": { @@ -27560,7 +27678,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2010, - "src": "4608:10:12", + "src": "4615:10:12", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -27580,7 +27698,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4602:5:12", + "src": "4609:5:12", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", "typeString": "type(bytes storage pointer)" @@ -27589,7 +27707,7 @@ "id": 2018, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "4602:5:12", + "src": "4609:5:12", "typeDescriptions": {} } }, @@ -27601,7 +27719,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4602:17:12", + "src": "4609:17:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -27615,7 +27733,7 @@ "lValueRequested": false, "memberName": "length", "nodeType": "MemberAccess", - "src": "4602:24:12", + "src": "4609:24:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27632,14 +27750,14 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4629:1:12", + "src": "4636:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", "typeString": "int_const 3" }, "value": "3" }, - "src": "4602:28:12", + "src": "4609:28:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27666,7 +27784,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2010, - "src": "4640:10:12", + "src": "4647:10:12", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -27686,7 +27804,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4634:5:12", + "src": "4641:5:12", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", "typeString": "type(bytes storage pointer)" @@ -27695,7 +27813,7 @@ "id": 2025, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "4634:5:12", + "src": "4641:5:12", "typeDescriptions": {} } }, @@ -27707,7 +27825,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4634:17:12", + "src": "4641:17:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -27721,7 +27839,7 @@ "lValueRequested": false, "memberName": "length", "nodeType": "MemberAccess", - "src": "4634:24:12", + "src": "4641:24:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27738,20 +27856,20 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4662:2:12", + "src": "4669:2:12", "typeDescriptions": { "typeIdentifier": "t_rational_64_by_1", "typeString": "int_const 64" }, "value": "64" }, - "src": "4634:30:12", + "src": "4641:30:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "4602:62:12", + "src": "4609:62:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27766,7 +27884,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "4666:21:12", + "src": "4673:21:12", "typeDescriptions": { "typeIdentifier": "t_stringliteral_a8cfcfcc55b6217d6c72e8a7fbcf4640857aa133e72442c50f662d62bae73a58", "typeString": "literal_string \"Invalid FIO Address\"" @@ -27793,7 +27911,7 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "4594:7:12", + "src": "4601:7:12", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -27807,7 +27925,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4594:94:12", + "src": "4601:94:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", @@ -27816,7 +27934,7 @@ }, "id": 2035, "nodeType": "ExpressionStatement", - "src": "4594:94:12" + "src": "4601:94:12" }, { "expression": { @@ -27828,7 +27946,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967281, - "src": "4702:3:12", + "src": "4709:3:12", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -27841,7 +27959,7 @@ "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", - "src": "4702:10:12", + "src": "4709:10:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -27853,7 +27971,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2012, - "src": "4714:6:12", + "src": "4721:6:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27876,7 +27994,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 975, - "src": "4696:5:12", + "src": "4703:5:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" @@ -27890,7 +28008,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4696:25:12", + "src": "4703:25:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", @@ -27899,7 +28017,7 @@ }, "id": 2041, "nodeType": "ExpressionStatement", - "src": "4696:25:12" + "src": "4703:25:12" }, { "eventCall": { @@ -27910,7 +28028,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2010, - "src": "4744:10:12", + "src": "4751:10:12", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -27922,7 +28040,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2012, - "src": "4756:6:12", + "src": "4763:6:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27945,7 +28063,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1613, - "src": "4734:9:12", + "src": "4741:9:12", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", "typeString": "function (string memory,uint256)" @@ -27959,7 +28077,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4734:29:12", + "src": "4741:29:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", @@ -27968,7 +28086,7 @@ }, "id": 2046, "nodeType": "EmitStatement", - "src": "4729:34:12" + "src": "4736:34:12" } ] }, @@ -27985,14 +28103,14 @@ "name": "whenNotPaused", "nodeType": "IdentifierPath", "referencedDeclaration": 427, - "src": "4573:13:12" + "src": "4580:13:12" }, "nodeType": "ModifierInvocation", - "src": "4573:13:12" + "src": "4580:13:12" } ], "name": "unwrap", - "nameLocation": "4515:6:12", + "nameLocation": "4522:6:12", "nodeType": "FunctionDefinition", "parameters": { "id": 2013, @@ -28003,10 +28121,10 @@ "id": 2010, "mutability": "mutable", "name": "fioaddress", - "nameLocation": "4536:10:12", + "nameLocation": "4543:10:12", "nodeType": "VariableDeclaration", "scope": 2048, - "src": "4522:24:12", + "src": "4529:24:12", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -28017,7 +28135,7 @@ "id": 2009, "name": "string", "nodeType": "ElementaryTypeName", - "src": "4522:6:12", + "src": "4529:6:12", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -28030,10 +28148,10 @@ "id": 2012, "mutability": "mutable", "name": "amount", - "nameLocation": "4556:6:12", + "nameLocation": "4563:6:12", "nodeType": "VariableDeclaration", "scope": 2048, - "src": "4548:14:12", + "src": "4555:14:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -28044,7 +28162,7 @@ "id": 2011, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4548:7:12", + "src": "4555:7:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28053,16 +28171,16 @@ "visibility": "internal" } ], - "src": "4521:42:12" + "src": "4528:42:12" }, "returnParameters": { "id": 2016, "nodeType": "ParameterList", "parameters": [], - "src": "4586:0:12" + "src": "4593:0:12" }, - "scope": 2612, - "src": "4506:264:12", + "scope": 2694, + "src": "4513:264:12", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" @@ -28075,7 +28193,7 @@ "body": { "id": 2078, "nodeType": "Block", - "src": "4888:133:12", + "src": "4895:133:12", "statements": [ { "expression": { @@ -28096,7 +28214,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2052, - "src": "4906:2:12", + "src": "4913:2:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28112,9 +28230,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967268, - "src": "4920:4:12", + "src": "4927:4:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_WFIO_$2612", + "typeIdentifier": "t_contract$_WFIO_$2694", "typeString": "contract WFIO" } } @@ -28122,7 +28240,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_WFIO_$2612", + "typeIdentifier": "t_contract$_WFIO_$2694", "typeString": "contract WFIO" } ], @@ -28132,7 +28250,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4912:7:12", + "src": "4919:7:12", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -28141,7 +28259,7 @@ "id": 2062, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4912:7:12", + "src": "4919:7:12", "typeDescriptions": {} } }, @@ -28153,14 +28271,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4912:13:12", + "src": "4919:13:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "4906:19:12", + "src": "4913:19:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28175,7 +28293,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "4927:32:12", + "src": "4934:32:12", "typeDescriptions": { "typeIdentifier": "t_stringliteral_3adffa81679593af164a42b682923f89b14e652695bf10e28904c07103f4a231", "typeString": "literal_string \"Contract cannot receive tokens\"" @@ -28202,7 +28320,7 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "4898:7:12", + "src": "4905:7:12", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -28216,7 +28334,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4898:62:12", + "src": "4905:62:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", @@ -28225,7 +28343,7 @@ }, "id": 2069, "nodeType": "ExpressionStatement", - "src": "4898:62:12" + "src": "4905:62:12" }, { "expression": { @@ -28236,7 +28354,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2050, - "src": "4997:4:12", + "src": "5004:4:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28248,7 +28366,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2052, - "src": "5003:2:12", + "src": "5010:2:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28260,7 +28378,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2054, - "src": "5007:6:12", + "src": "5014:6:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28288,9 +28406,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967271, - "src": "4970:5:12", + "src": "4977:5:12", "typeDescriptions": { - "typeIdentifier": "t_type$_t_super$_WFIO_$2612_$", + "typeIdentifier": "t_type$_t_super$_WFIO_$2694_$", "typeString": "type(contract super WFIO)" } }, @@ -28302,7 +28420,7 @@ "memberName": "_beforeTokenTransfer", "nodeType": "MemberAccess", "referencedDeclaration": 1244, - "src": "4970:26:12", + "src": "4977:26:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" @@ -28316,7 +28434,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4970:44:12", + "src": "4977:44:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", @@ -28325,7 +28443,7 @@ }, "id": 2077, "nodeType": "ExpressionStatement", - "src": "4970:44:12" + "src": "4977:44:12" } ] }, @@ -28334,7 +28452,7 @@ "kind": "function", "modifiers": [], "name": "_beforeTokenTransfer", - "nameLocation": "4785:20:12", + "nameLocation": "4792:20:12", "nodeType": "FunctionDefinition", "overrides": { "id": 2058, @@ -28345,17 +28463,17 @@ "name": "ERC20", "nodeType": "IdentifierPath", "referencedDeclaration": 1086, - "src": "4866:5:12" + "src": "4873:5:12" }, { "id": 2057, "name": "ERC20Pausable", "nodeType": "IdentifierPath", "referencedDeclaration": 1245, - "src": "4873:13:12" + "src": "4880:13:12" } ], - "src": "4857:30:12" + "src": "4864:30:12" }, "parameters": { "id": 2055, @@ -28366,10 +28484,10 @@ "id": 2050, "mutability": "mutable", "name": "from", - "nameLocation": "4814:4:12", + "nameLocation": "4821:4:12", "nodeType": "VariableDeclaration", "scope": 2079, - "src": "4806:12:12", + "src": "4813:12:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -28380,7 +28498,7 @@ "id": 2049, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4806:7:12", + "src": "4813:7:12", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -28394,10 +28512,10 @@ "id": 2052, "mutability": "mutable", "name": "to", - "nameLocation": "4828:2:12", + "nameLocation": "4835:2:12", "nodeType": "VariableDeclaration", "scope": 2079, - "src": "4820:10:12", + "src": "4827:10:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -28408,7 +28526,7 @@ "id": 2051, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4820:7:12", + "src": "4827:7:12", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -28422,10 +28540,10 @@ "id": 2054, "mutability": "mutable", "name": "amount", - "nameLocation": "4840:6:12", + "nameLocation": "4847:6:12", "nodeType": "VariableDeclaration", "scope": 2079, - "src": "4832:14:12", + "src": "4839:14:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -28436,7 +28554,7 @@ "id": 2053, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4832:7:12", + "src": "4839:7:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28445,16 +28563,16 @@ "visibility": "internal" } ], - "src": "4805:42:12" + "src": "4812:42:12" }, "returnParameters": { "id": 2059, "nodeType": "ParameterList", "parameters": [], - "src": "4888:0:12" + "src": "4895:0:12" }, - "scope": 2612, - "src": "4776:245:12", + "scope": 2694, + "src": "4783:245:12", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" @@ -28463,7 +28581,7 @@ "body": { "id": 2105, "nodeType": "Block", - "src": "5104:130:12", + "src": "5111:130:12", "statements": [ { "expression": { @@ -28484,7 +28602,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2081, - "src": "5120:7:12", + "src": "5127:7:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28503,7 +28621,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5139:1:12", + "src": "5146:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -28524,7 +28642,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "5131:7:12", + "src": "5138:7:12", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -28533,7 +28651,7 @@ "id": 2090, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5131:7:12", + "src": "5138:7:12", "typeDescriptions": {} } }, @@ -28545,14 +28663,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5131:10:12", + "src": "5138:10:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "5120:21:12", + "src": "5127:21:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28567,7 +28685,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "5143:17:12", + "src": "5150:17:12", "typeDescriptions": { "typeIdentifier": "t_stringliteral_1462473b7a4b33d32b109b815fd2324d00c9e5839b707ecf16d0ab5744f99226", "typeString": "literal_string \"Invalid address\"" @@ -28594,7 +28712,7 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "5112:7:12", + "src": "5119:7:12", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -28608,7 +28726,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5112:49:12", + "src": "5119:49:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", @@ -28617,7 +28735,7 @@ }, "id": 2097, "nodeType": "ExpressionStatement", - "src": "5112:49:12" + "src": "5119:49:12" }, { "expression": { @@ -28630,7 +28748,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1584, - "src": "5185:14:12", + "src": "5192:14:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -28642,7 +28760,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2081, - "src": "5201:7:12", + "src": "5208:7:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28665,7 +28783,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 79, - "src": "5177:7:12", + "src": "5184:7:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$", "typeString": "function (bytes32,address) view returns (bool)" @@ -28679,7 +28797,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5177:32:12", + "src": "5184:32:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -28692,7 +28810,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1605, - "src": "5211:15:12", + "src": "5218:15:12", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -28706,7 +28824,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "5176:51:12", + "src": "5183:51:12", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_bool_$_t_uint32_$", "typeString": "tuple(bool,uint32)" @@ -28715,7 +28833,7 @@ "functionReturnParameters": 2087, "id": 2104, "nodeType": "Return", - "src": "5169:58:12" + "src": "5176:58:12" } ] }, @@ -28725,7 +28843,7 @@ "kind": "function", "modifiers": [], "name": "getCustodian", - "nameLocation": "5037:12:12", + "nameLocation": "5044:12:12", "nodeType": "FunctionDefinition", "parameters": { "id": 2082, @@ -28736,10 +28854,10 @@ "id": 2081, "mutability": "mutable", "name": "account", - "nameLocation": "5058:7:12", + "nameLocation": "5065:7:12", "nodeType": "VariableDeclaration", "scope": 2106, - "src": "5050:15:12", + "src": "5057:15:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -28750,7 +28868,7 @@ "id": 2080, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5050:7:12", + "src": "5057:7:12", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -28760,7 +28878,7 @@ "visibility": "internal" } ], - "src": "5049:17:12" + "src": "5056:17:12" }, "returnParameters": { "id": 2087, @@ -28774,7 +28892,7 @@ "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 2106, - "src": "5090:4:12", + "src": "5097:4:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -28785,7 +28903,7 @@ "id": 2083, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "5090:4:12", + "src": "5097:4:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28801,7 +28919,7 @@ "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 2106, - "src": "5096:6:12", + "src": "5103:6:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -28812,7 +28930,7 @@ "id": 2085, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "5096:6:12", + "src": "5103:6:12", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -28821,10 +28939,10 @@ "visibility": "internal" } ], - "src": "5089:14:12" + "src": "5096:14:12" }, - "scope": 2612, - "src": "5028:206:12", + "scope": 2694, + "src": "5035:206:12", "stateMutability": "view", "virtual": false, "visibility": "external" @@ -28833,7 +28951,7 @@ "body": { "id": 2136, "nodeType": "Block", - "src": "5313:137:12", + "src": "5320:137:12", "statements": [ { "expression": { @@ -28854,7 +28972,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2108, - "src": "5329:7:12", + "src": "5336:7:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28873,7 +28991,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5348:1:12", + "src": "5355:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -28894,7 +29012,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "5340:7:12", + "src": "5347:7:12", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -28903,7 +29021,7 @@ "id": 2117, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5340:7:12", + "src": "5347:7:12", "typeDescriptions": {} } }, @@ -28915,14 +29033,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5340:10:12", + "src": "5347:10:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "5329:21:12", + "src": "5336:21:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28937,7 +29055,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "5352:17:12", + "src": "5359:17:12", "typeDescriptions": { "typeIdentifier": "t_stringliteral_1462473b7a4b33d32b109b815fd2324d00c9e5839b707ecf16d0ab5744f99226", "typeString": "literal_string \"Invalid address\"" @@ -28964,7 +29082,7 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "5321:7:12", + "src": "5328:7:12", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -28978,7 +29096,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5321:49:12", + "src": "5328:49:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", @@ -28987,7 +29105,7 @@ }, "id": 2124, "nodeType": "ExpressionStatement", - "src": "5321:49:12" + "src": "5328:49:12" }, { "expression": { @@ -29000,7 +29118,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1574, - "src": "5394:11:12", + "src": "5401:11:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -29012,7 +29130,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2108, - "src": "5407:7:12", + "src": "5414:7:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -29035,7 +29153,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 79, - "src": "5386:7:12", + "src": "5393:7:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$", "typeString": "function (bytes32,address) view returns (bool)" @@ -29049,7 +29167,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5386:29:12", + "src": "5393:29:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -29065,7 +29183,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1658, - "src": "5424:10:12", + "src": "5431:10:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" @@ -29078,7 +29196,7 @@ "lValueRequested": false, "memberName": "length", "nodeType": "MemberAccess", - "src": "5424:17:12", + "src": "5431:17:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29098,7 +29216,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "5417:6:12", + "src": "5424:6:12", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint32_$", "typeString": "type(uint32)" @@ -29107,7 +29225,7 @@ "id": 2129, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "5417:6:12", + "src": "5424:6:12", "typeDescriptions": {} } }, @@ -29119,7 +29237,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5417:25:12", + "src": "5424:25:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -29134,7 +29252,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "5385:58:12", + "src": "5392:58:12", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_bool_$_t_uint32_$", "typeString": "tuple(bool,uint32)" @@ -29143,7 +29261,7 @@ "functionReturnParameters": 2114, "id": 2135, "nodeType": "Return", - "src": "5378:65:12" + "src": "5385:65:12" } ] }, @@ -29153,7 +29271,7 @@ "kind": "function", "modifiers": [], "name": "getOracle", - "nameLocation": "5249:9:12", + "nameLocation": "5256:9:12", "nodeType": "FunctionDefinition", "parameters": { "id": 2109, @@ -29164,10 +29282,10 @@ "id": 2108, "mutability": "mutable", "name": "account", - "nameLocation": "5267:7:12", + "nameLocation": "5274:7:12", "nodeType": "VariableDeclaration", "scope": 2137, - "src": "5259:15:12", + "src": "5266:15:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29178,7 +29296,7 @@ "id": 2107, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5259:7:12", + "src": "5266:7:12", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -29188,7 +29306,7 @@ "visibility": "internal" } ], - "src": "5258:17:12" + "src": "5265:17:12" }, "returnParameters": { "id": 2114, @@ -29202,7 +29320,7 @@ "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 2137, - "src": "5299:4:12", + "src": "5306:4:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29213,7 +29331,7 @@ "id": 2110, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "5299:4:12", + "src": "5306:4:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -29229,7 +29347,7 @@ "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 2137, - "src": "5305:6:12", + "src": "5312:6:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29240,7 +29358,7 @@ "id": 2112, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "5305:6:12", + "src": "5312:6:12", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -29249,10 +29367,10 @@ "visibility": "internal" } ], - "src": "5298:14:12" + "src": "5305:14:12" }, - "scope": 2612, - "src": "5240:210:12", + "scope": 2694, + "src": "5247:210:12", "stateMutability": "view", "virtual": false, "visibility": "external" @@ -29261,7 +29379,7 @@ "body": { "id": 2145, "nodeType": "Block", - "src": "5518:32:12", + "src": "5525:32:12", "statements": [ { "expression": { @@ -29270,7 +29388,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1658, - "src": "5533:10:12", + "src": "5540:10:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" @@ -29279,7 +29397,7 @@ "functionReturnParameters": 2142, "id": 2144, "nodeType": "Return", - "src": "5526:17:12" + "src": "5533:17:12" } ] }, @@ -29289,13 +29407,13 @@ "kind": "function", "modifiers": [], "name": "getOracles", - "nameLocation": "5465:10:12", + "nameLocation": "5472:10:12", "nodeType": "FunctionDefinition", "parameters": { "id": 2138, "nodeType": "ParameterList", "parameters": [], - "src": "5475:2:12" + "src": "5482:2:12" }, "returnParameters": { "id": 2142, @@ -29309,7 +29427,7 @@ "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 2146, - "src": "5500:16:12", + "src": "5507:16:12", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -29321,7 +29439,7 @@ "id": 2139, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5500:7:12", + "src": "5507:7:12", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -29330,7 +29448,7 @@ }, "id": 2140, "nodeType": "ArrayTypeName", - "src": "5500:9:12", + "src": "5507:9:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -29339,19 +29457,19 @@ "visibility": "internal" } ], - "src": "5499:18:12" + "src": "5506:18:12" }, - "scope": 2612, - "src": "5456:94:12", + "scope": 2694, + "src": "5463:94:12", "stateMutability": "view", "virtual": false, "visibility": "external" }, { "body": { - "id": 2188, + "id": 2250, "nodeType": "Block", - "src": "5650:194:12", + "src": "5676:530:12", "statements": [ { "expression": { @@ -29361,32 +29479,32 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2161, + "id": 2164, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 2158, + "id": 2161, "name": "indexhash", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2148, - "src": "5666:9:12", + "src": "5692:9:12", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "id": 2159, + "id": 2162, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "length", "nodeType": "MemberAccess", - "src": "5666:16:12", + "src": "5692:16:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29396,21 +29514,21 @@ "operator": ">", "rightExpression": { "hexValue": "30", - "id": 2160, + "id": 2163, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5685:1:12", + "src": "5711:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "5666:20:12", + "src": "5692:20:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -29418,14 +29536,14 @@ }, { "hexValue": "496e76616c6964206f62746964", - "id": 2162, + "id": 2165, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "5688:15:12", + "src": "5714:15:12", "typeDescriptions": { "typeIdentifier": "t_stringliteral_f680803027a1359df75b0a2736bd68cd7743fb83124a9d4efbdc3a64a77cf20f", "typeString": "literal_string \"Invalid obtid\"" @@ -29444,7 +29562,7 @@ "typeString": "literal_string \"Invalid obtid\"" } ], - "id": 2157, + "id": 2160, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -29452,13 +29570,13 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "5658:7:12", + "src": "5684:7:12", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 2163, + "id": 2166, "isConstant": false, "isLValue": false, "isPure": false, @@ -29466,140 +29584,86 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5658:46:12", + "src": "5684:46:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2164, + "id": 2167, "nodeType": "ExpressionStatement", - "src": "5658:46:12" + "src": "5684:46:12" }, { - "expression": { - "components": [ - { - "expression": { - "baseExpression": { - "id": 2165, - "name": "approvals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1666, - "src": "5720:9:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_pending_$1603_storage_$", - "typeString": "mapping(bytes32 => struct WFIO.pending storage ref)" - } - }, + "assignments": [ + 2172 + ], + "declarations": [ + { + "constant": false, + "id": 2172, + "mutability": "mutable", + "name": "approvedOracles", + "nameLocation": "5755:15:12", + "nodeType": "VariableDeclaration", + "scope": 2250, + "src": "5738:32:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { "id": 2170, - "indexExpression": { - "arguments": [ - { - "id": 2168, - "name": "indexhash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2148, - "src": "5738:9:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 2167, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5730:7:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": { - "id": 2166, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5730:7:12", - "typeDescriptions": {} - } - }, - "id": 2169, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5730:18:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5720:29:12", + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5738:7:12", "typeDescriptions": { - "typeIdentifier": "t_struct$_pending_$1603_storage", - "typeString": "struct WFIO.pending storage ref" + "typeIdentifier": "t_address", + "typeString": "address" } }, "id": 2171, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "approvals", - "nodeType": "MemberAccess", - "referencedDeclaration": 1596, - "src": "5720:39:12", + "nodeType": "ArrayTypeName", + "src": "5738:9:12", "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" } }, + "visibility": "internal" + } + ], + "id": 2184, + "initialValue": { + "arguments": [ { "expression": { "baseExpression": { - "id": 2172, + "id": 2176, "name": "approvals", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1666, - "src": "5761:9:12", + "src": "5787:9:12", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_pending_$1603_storage_$", "typeString": "mapping(bytes32 => struct WFIO.pending storage ref)" } }, - "id": 2177, + "id": 2181, "indexExpression": { "arguments": [ { - "id": 2175, + "id": 2179, "name": "indexhash", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2148, - "src": "5779:9:12", + "src": "5805:9:12", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -29613,122 +29677,26 @@ "typeString": "bytes memory" } ], - "id": 2174, + "id": 2178, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "5771:7:12", + "src": "5797:7:12", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes32_$", "typeString": "type(bytes32)" }, "typeName": { - "id": 2173, + "id": 2177, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "5771:7:12", + "src": "5797:7:12", "typeDescriptions": {} } }, - "id": 2176, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5771:18:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5761:29:12", - "typeDescriptions": { - "typeIdentifier": "t_struct$_pending_$1603_storage", - "typeString": "struct WFIO.pending storage ref" - } - }, - "id": 2178, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "account", - "nodeType": "MemberAccess", - "referencedDeclaration": 1598, - "src": "5761:37:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "baseExpression": { - "id": 2179, - "name": "approvals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1666, - "src": "5800:9:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_pending_$1603_storage_$", - "typeString": "mapping(bytes32 => struct WFIO.pending storage ref)" - } - }, - "id": 2184, - "indexExpression": { - "arguments": [ - { - "id": 2182, - "name": "indexhash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2148, - "src": "5818:9:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 2181, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5810:7:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": { - "id": 2180, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5810:7:12", - "typeDescriptions": {} - } - }, - "id": 2183, + "id": 2180, "isConstant": false, "isLValue": false, "isPure": false, @@ -29736,13759 +29704,79 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5810:18:12", + "src": "5797:18:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5800:29:12", - "typeDescriptions": { - "typeIdentifier": "t_struct$_pending_$1603_storage", - "typeString": "struct WFIO.pending storage ref" - } - }, - "id": 2185, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1600, - "src": "5800:36:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2186, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "5719:118:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint32_$_t_address_$_t_uint256_$", - "typeString": "tuple(uint32,address,uint256)" - } - }, - "functionReturnParameters": 2156, - "id": 2187, - "nodeType": "Return", - "src": "5712:125:12" - } - ] - }, - "functionSelector": "a7bf70b9", - "id": 2189, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getApproval", - "nameLocation": "5565:11:12", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2149, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2148, - "mutability": "mutable", - "name": "indexhash", - "nameLocation": "5590:9:12", - "nodeType": "VariableDeclaration", - "scope": 2189, - "src": "5577:22:12", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 2147, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5577:5:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "5576:24:12" - }, - "returnParameters": { - "id": 2156, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2151, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2189, - "src": "5624:6:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 2150, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "5624:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2153, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2189, - "src": "5632:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2152, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5632:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2155, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2189, - "src": "5641:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2154, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5641:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "5623:26:12" - }, - "scope": 2612, - "src": "5556:288:12", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 2273, - "nodeType": "Block", - "src": "5921:573:12", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2203, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2198, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2191, - "src": "5937:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 2201, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5956:1:12", - "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": 2200, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5948:7:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 2199, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5948:7:12", - "typeDescriptions": {} - } - }, - "id": 2202, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5948:10:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "5937:21:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "496e76616c69642061646472657373", - "id": 2204, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5960:17:12", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1462473b7a4b33d32b109b815fd2324d00c9e5839b707ecf16d0ab5744f99226", - "typeString": "literal_string \"Invalid address\"" - }, - "value": "Invalid address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_1462473b7a4b33d32b109b815fd2324d00c9e5839b707ecf16d0ab5744f99226", - "typeString": "literal_string \"Invalid address\"" - } - ], - "id": 2197, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "5929:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2205, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5929:49:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2206, - "nodeType": "ExpressionStatement", - "src": "5929:49:12" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2211, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2208, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2191, - "src": "5994:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "expression": { - "id": 2209, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "6005:3:12", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2210, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "6005:10:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "5994:21:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "43616e6e6f742072656769737465722073656c66", - "id": 2212, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6017:22:12", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_78b7b6e655079b63c1761e6b96d764441d7130eda97b6d8de911b64559d10300", - "typeString": "literal_string \"Cannot register self\"" - }, - "value": "Cannot register self" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_78b7b6e655079b63c1761e6b96d764441d7130eda97b6d8de911b64559d10300", - "typeString": "literal_string \"Cannot register self\"" - } - ], - "id": 2207, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "5986:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2213, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5986:54:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2214, - "nodeType": "ExpressionStatement", - "src": "5986:54:12" - }, - { - "expression": { - "arguments": [ - { - "id": 2220, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "6056:30:12", - "subExpression": { - "arguments": [ - { - "id": 2217, - "name": "ORACLE_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1574, - "src": "6065:11:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 2218, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2191, - "src": "6078:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2216, - "name": "hasRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 79, - "src": "6057:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$", - "typeString": "function (bytes32,address) view returns (bool)" - } - }, - "id": 2219, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6057:29:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4f7261636c6520616c72656164792072656769737465726564", - "id": 2221, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6088:27:12", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_410a1353bff2ac7b239c1715ed2b100211a58806873566bf60887e82d07abdc5", - "typeString": "literal_string \"Oracle already registered\"" - }, - "value": "Oracle already registered" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_410a1353bff2ac7b239c1715ed2b100211a58806873566bf60887e82d07abdc5", - "typeString": "literal_string \"Oracle already registered\"" - } - ], - "id": 2215, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "6048:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2222, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6048:68:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2223, - "nodeType": "ExpressionStatement", - "src": "6048:68:12" - }, - { - "assignments": [ - 2225 - ], - "declarations": [ - { - "constant": false, - "id": 2225, - "mutability": "mutable", - "name": "indexhash", - "nameLocation": "6132:9:12", - "nodeType": "VariableDeclaration", - "scope": 2273, - "src": "6124:17:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2224, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "6124:7:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "id": 2237, - "initialValue": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "expression": { - "id": 2231, - "name": "ApprovalType", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1590, - "src": "6171:12:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_ApprovalType_$1590_$", - "typeString": "type(enum WFIO.ApprovalType)" - } - }, - "id": 2232, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "AddOracle", - "nodeType": "MemberAccess", - "referencedDeclaration": 1586, - "src": "6171:22:12", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ApprovalType_$1590", - "typeString": "enum WFIO.ApprovalType" - } - }, - { - "id": 2233, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2191, - "src": "6194:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_enum$_ApprovalType_$1590", - "typeString": "enum WFIO.ApprovalType" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 2229, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967295, - "src": "6160:3:12", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 2230, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encode", - "nodeType": "MemberAccess", - "src": "6160:10:12", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 2234, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6160:43:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 2228, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6154:5:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": { - "id": 2227, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "6154:5:12", - "typeDescriptions": {} - } - }, - "id": 2235, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6154:50:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 2226, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967288, - "src": "6144:9:12", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 2236, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6144:61:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6124:81:12" - }, - { - "condition": { - "arguments": [ - { - "id": 2239, - "name": "indexhash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2225, - "src": "6230:9:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "hexValue": "31", - "id": 2240, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6241:1:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - { - "id": 2241, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2191, - "src": "6244:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "hexValue": "30", - "id": 2242, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6253:1:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 2238, - "name": "getConsensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1916, - "src": "6217:12:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_uint8_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (bytes32,uint8,address,uint256) returns (bool)" - } - }, - "id": 2243, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6217:38:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2264, - "nodeType": "IfStatement", - "src": "6213:204:12", - "trueBody": { - "id": 2263, - "nodeType": "Block", - "src": "6256:161:12", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 2245, - "name": "ORACLE_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1574, - "src": "6277:11:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 2246, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2191, - "src": "6290:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2244, - "name": "_grantRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 287, - "src": "6266:10:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,address)" - } - }, - "id": 2247, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6266:32:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2248, - "nodeType": "ExpressionStatement", - "src": "6266:32:12" - }, - { - "expression": { - "id": 2250, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "6308:14:12", - "subExpression": { - "id": 2249, - "name": "oracle_count", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1607, - "src": "6308:12:12", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "id": 2251, - "nodeType": "ExpressionStatement", - "src": "6308:14:12" - }, - { - "expression": { - "arguments": [ - { - "id": 2255, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2191, - "src": "6348:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 2252, - "name": "oraclelist", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1658, - "src": "6332:10:12", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 2254, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "src": "6332:15:12", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_address_$dyn_storage_ptr_$_t_address_$returns$__$bound_to$_t_array$_t_address_$dyn_storage_ptr_$", - "typeString": "function (address[] storage pointer,address)" - } - }, - "id": 2256, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6332:24:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2257, - "nodeType": "ExpressionStatement", - "src": "6332:24:12" - }, - { - "eventCall": { - "arguments": [ - { - "id": 2259, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2191, - "src": "6389:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 2260, - "name": "indexhash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2225, - "src": "6398:9:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 2258, - "name": "oracle_registered", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1645, - "src": "6371:17:12", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,bytes32)" - } - }, - "id": 2261, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6371:37:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2262, - "nodeType": "EmitStatement", - "src": "6366:42:12" - } - ] - } - }, - { - "eventCall": { - "arguments": [ - { - "hexValue": "637573746f6469616e", - "id": 2266, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6448:11:12", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_7910ad37365bbe683fd8f86c0628fe6da9da366f7e8b3db028763efd0d0b7ecc", - "typeString": "literal_string \"custodian\"" - }, - "value": "custodian" - }, - { - "expression": { - "id": 2267, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "6461:3:12", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2268, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "6461:10:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "hexValue": "", - "id": 2269, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6473:2:12", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - }, - { - "id": 2270, - "name": "indexhash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2225, - "src": "6477:9:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_7910ad37365bbe683fd8f86c0628fe6da9da366f7e8b3db028763efd0d0b7ecc", - "typeString": "literal_string \"custodian\"" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 2265, - "name": "consensus_activity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1655, - "src": "6429:18:12", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_address_$_t_string_memory_ptr_$_t_bytes32_$returns$__$", - "typeString": "function (string memory,address,string memory,bytes32)" - } - }, - "id": 2271, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6429:58:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2272, - "nodeType": "EmitStatement", - "src": "6424:63:12" - } - ] - }, - "functionSelector": "e5690a99", - "id": 2274, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "id": 2194, - "name": "CUSTODIAN_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1584, - "src": "5904:14:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 2195, - "kind": "modifierInvocation", - "modifierName": { - "id": 2193, - "name": "onlyRole", - "nodeType": "IdentifierPath", - "referencedDeclaration": 38, - "src": "5895:8:12" - }, - "nodeType": "ModifierInvocation", - "src": "5895:24:12" - } - ], - "name": "regoracle", - "nameLocation": "5859:9:12", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2192, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2191, - "mutability": "mutable", - "name": "account", - "nameLocation": "5877:7:12", - "nodeType": "VariableDeclaration", - "scope": 2274, - "src": "5869:15:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2190, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5869:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "5868:17:12" - }, - "returnParameters": { - "id": 2196, - "nodeType": "ParameterList", - "parameters": [], - "src": "5921:0:12" - }, - "scope": 2612, - "src": "5850:644:12", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 2387, - "nodeType": "Block", - "src": "6572:794:12", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2288, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2283, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2276, - "src": "6588:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 2286, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6607:1:12", - "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": 2285, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6599:7:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 2284, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6599:7:12", - "typeDescriptions": {} - } - }, - "id": 2287, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6599:10:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "6588:21:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "496e76616c69642061646472657373", - "id": 2289, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6611:17:12", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1462473b7a4b33d32b109b815fd2324d00c9e5839b707ecf16d0ab5744f99226", - "typeString": "literal_string \"Invalid address\"" - }, - "value": "Invalid address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_1462473b7a4b33d32b109b815fd2324d00c9e5839b707ecf16d0ab5744f99226", - "typeString": "literal_string \"Invalid address\"" - } - ], - "id": 2282, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "6580:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2290, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6580:49:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2291, - "nodeType": "ExpressionStatement", - "src": "6580:49:12" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 2295, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2293, - "name": "oracle_count", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1607, - "src": "6645:12:12", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "33", - "id": 2294, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6660:1:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "6645:16:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4d696e696d756d2033206f7261636c6573207265717569726564", - "id": 2296, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6663:28:12", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_cfe1299eb316140316f72764dca05f5f37b5707cc94544151051301f4f9e3829", - "typeString": "literal_string \"Minimum 3 oracles required\"" - }, - "value": "Minimum 3 oracles required" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_cfe1299eb316140316f72764dca05f5f37b5707cc94544151051301f4f9e3829", - "typeString": "literal_string \"Minimum 3 oracles required\"" - } - ], - "id": 2292, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "6637:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2297, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6637:55:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2298, - "nodeType": "ExpressionStatement", - "src": "6637:55:12" - }, - { - "assignments": [ - 2300 - ], - "declarations": [ - { - "constant": false, - "id": 2300, - "mutability": "mutable", - "name": "indexhash", - "nameLocation": "6708:9:12", - "nodeType": "VariableDeclaration", - "scope": 2387, - "src": "6700:17:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2299, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "6700:7:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "id": 2312, - "initialValue": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "expression": { - "id": 2306, - "name": "ApprovalType", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1590, - "src": "6747:12:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_ApprovalType_$1590_$", - "typeString": "type(enum WFIO.ApprovalType)" - } - }, - "id": 2307, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "RemoveOracle", - "nodeType": "MemberAccess", - "referencedDeclaration": 1587, - "src": "6747:25:12", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ApprovalType_$1590", - "typeString": "enum WFIO.ApprovalType" - } - }, - { - "id": 2308, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2276, - "src": "6773:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_enum$_ApprovalType_$1590", - "typeString": "enum WFIO.ApprovalType" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 2304, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967295, - "src": "6736:3:12", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 2305, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encode", - "nodeType": "MemberAccess", - "src": "6736:10:12", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 2309, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6736:45:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 2303, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6730:5:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": { - "id": 2302, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "6730:5:12", - "typeDescriptions": {} - } - }, - "id": 2310, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6730:52:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 2301, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967288, - "src": "6720:9:12", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 2311, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6720:63:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6700:83:12" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 2315, - "name": "ORACLE_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1574, - "src": "6807:11:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 2316, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2276, - "src": "6820:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2314, - "name": "hasRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 79, - "src": "6799:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$", - "typeString": "function (bytes32,address) view returns (bool)" - } - }, - "id": 2317, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6799:29:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4f7261636c65206e6f742072656769737465726564", - "id": 2318, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6830:23:12", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_6e24367d823fa02bd990b75fa7cc9e62a9943f64f73b7682466e477f62285ba9", - "typeString": "literal_string \"Oracle not registered\"" - }, - "value": "Oracle not registered" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_6e24367d823fa02bd990b75fa7cc9e62a9943f64f73b7682466e477f62285ba9", - "typeString": "literal_string \"Oracle not registered\"" - } - ], - "id": 2313, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "6791:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2319, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6791:63:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2320, - "nodeType": "ExpressionStatement", - "src": "6791:63:12" - }, - { - "condition": { - "arguments": [ - { - "id": 2322, - "name": "indexhash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2300, - "src": "6880:9:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "hexValue": "31", - "id": 2323, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6891:1:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - { - "id": 2324, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2276, - "src": "6894:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "hexValue": "30", - "id": 2325, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6903:1:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 2321, - "name": "getConsensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1916, - "src": "6867:12:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_uint8_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (bytes32,uint8,address,uint256) returns (bool)" - } - }, - "id": 2326, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6867:38:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2378, - "nodeType": "IfStatement", - "src": "6862:426:12", - "trueBody": { - "id": 2377, - "nodeType": "Block", - "src": "6907:381:12", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 2328, - "name": "ORACLE_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1574, - "src": "6931:11:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 2329, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2276, - "src": "6944:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2327, - "name": "_revokeRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 318, - "src": "6919:11:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,address)" - } - }, - "id": 2330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6919:33:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2331, - "nodeType": "ExpressionStatement", - "src": "6919:33:12" - }, - { - "expression": { - "id": 2333, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "--", - "prefix": false, - "src": "6964:14:12", - "subExpression": { - "id": 2332, - "name": "oracle_count", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1607, - "src": "6964:12:12", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "id": 2334, - "nodeType": "ExpressionStatement", - "src": "6964:14:12" - }, - { - "body": { - "id": 2370, - "nodeType": "Block", - "src": "7036:188:12", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2350, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "baseExpression": { - "id": 2346, - "name": "oraclelist", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1658, - "src": "7053:10:12", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 2348, - "indexExpression": { - "id": 2347, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2336, - "src": "7064:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7053:13:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 2349, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2276, - "src": "7070:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "7053:24:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2369, - "nodeType": "IfStatement", - "src": "7050:162:12", - "trueBody": { - "id": 2368, - "nodeType": "Block", - "src": "7079:133:12", - "statements": [ - { - "expression": { - "id": 2360, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 2351, - "name": "oraclelist", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1658, - "src": "7095:10:12", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 2353, - "indexExpression": { - "id": 2352, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2336, - "src": "7106:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7095:13:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "baseExpression": { - "id": 2354, - "name": "oraclelist", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1658, - "src": "7111:10:12", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 2359, - "indexExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2358, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 2355, - "name": "oraclelist", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1658, - "src": "7122:10:12", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 2356, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "7122:17:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "31", - "id": 2357, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7142:1:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "7122:21:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7111:33:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "7095:49:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 2361, - "nodeType": "ExpressionStatement", - "src": "7095:49:12" - }, - { - "expression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 2362, - "name": "oraclelist", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1658, - "src": "7160:10:12", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 2364, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "pop", - "nodeType": "MemberAccess", - "src": "7160:14:12", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypop_nonpayable$_t_array$_t_address_$dyn_storage_ptr_$returns$__$bound_to$_t_array$_t_address_$dyn_storage_ptr_$", - "typeString": "function (address[] storage pointer)" - } - }, - "id": 2365, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7160:16:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2366, - "nodeType": "ExpressionStatement", - "src": "7160:16:12" - }, - { - "id": 2367, - "nodeType": "Break", - "src": "7192:5:12" - } - ] - } - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2342, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2339, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2336, - "src": "7008:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "expression": { - "id": 2340, - "name": "oraclelist", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1658, - "src": "7012:10:12", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 2341, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "7012:17:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7008:21:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2371, - "initializationExpression": { - "assignments": [ - 2336 - ], - "declarations": [ - { - "constant": false, - "id": 2336, - "mutability": "mutable", - "name": "i", - "nameLocation": "7001:1:12", - "nodeType": "VariableDeclaration", - "scope": 2371, - "src": "6994:8:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - }, - "typeName": { - "id": 2335, - "name": "uint16", - "nodeType": "ElementaryTypeName", - "src": "6994:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "visibility": "internal" - } - ], - "id": 2338, - "initialValue": { - "hexValue": "30", - "id": 2337, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7005:1:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "6994:12:12" - }, - "loopExpression": { - "expression": { - "id": 2344, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "7031:3:12", - "subExpression": { - "id": 2343, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2336, - "src": "7031:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "id": 2345, - "nodeType": "ExpressionStatement", - "src": "7031:3:12" - }, - "nodeType": "ForStatement", - "src": "6990:234:12" - }, - { - "eventCall": { - "arguments": [ - { - "id": 2373, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2276, - "src": "7260:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 2374, - "name": "indexhash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2300, - "src": "7269:9:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 2372, - "name": "oracle_unregistered", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1639, - "src": "7240:19:12", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,bytes32)" - } - }, - "id": 2375, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7240:39:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2376, - "nodeType": "EmitStatement", - "src": "7235:44:12" - } - ] - } - }, - { - "eventCall": { - "arguments": [ - { - "hexValue": "637573746f6469616e", - "id": 2380, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7319:11:12", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_7910ad37365bbe683fd8f86c0628fe6da9da366f7e8b3db028763efd0d0b7ecc", - "typeString": "literal_string \"custodian\"" - }, - "value": "custodian" - }, - { - "expression": { - "id": 2381, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "7332:3:12", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2382, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "7332:10:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "hexValue": "", - "id": 2383, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7344:2:12", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - }, - { - "id": 2384, - "name": "indexhash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2300, - "src": "7348:9:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_7910ad37365bbe683fd8f86c0628fe6da9da366f7e8b3db028763efd0d0b7ecc", - "typeString": "literal_string \"custodian\"" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 2379, - "name": "consensus_activity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1655, - "src": "7300:18:12", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_address_$_t_string_memory_ptr_$_t_bytes32_$returns$__$", - "typeString": "function (string memory,address,string memory,bytes32)" - } - }, - "id": 2385, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7300:58:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2386, - "nodeType": "EmitStatement", - "src": "7295:63:12" - } - ] - }, - "functionSelector": "4fdcaca6", - "id": 2388, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "id": 2279, - "name": "CUSTODIAN_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1584, - "src": "6556:14:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 2280, - "kind": "modifierInvocation", - "modifierName": { - "id": 2278, - "name": "onlyRole", - "nodeType": "IdentifierPath", - "referencedDeclaration": 38, - "src": "6547:8:12" - }, - "nodeType": "ModifierInvocation", - "src": "6547:24:12" - } - ], - "name": "unregoracle", - "nameLocation": "6509:11:12", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2277, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2276, - "mutability": "mutable", - "name": "account", - "nameLocation": "6529:7:12", - "nodeType": "VariableDeclaration", - "scope": 2388, - "src": "6521:15:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2275, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6521:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "6520:17:12" - }, - "returnParameters": { - "id": 2281, - "nodeType": "ParameterList", - "parameters": [], - "src": "6572:0:12" - }, - "scope": 2612, - "src": "6500:866:12", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 2472, - "nodeType": "Block", - "src": "7455:584:12", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2402, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2397, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2390, - "src": "7471:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 2400, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7490:1:12", - "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": 2399, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7482:7:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 2398, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7482:7:12", - "typeDescriptions": {} - } - }, - "id": 2401, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7482:10:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "7471:21:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "496e76616c69642061646472657373", - "id": 2403, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7494:17:12", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1462473b7a4b33d32b109b815fd2324d00c9e5839b707ecf16d0ab5744f99226", - "typeString": "literal_string \"Invalid address\"" - }, - "value": "Invalid address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_1462473b7a4b33d32b109b815fd2324d00c9e5839b707ecf16d0ab5744f99226", - "typeString": "literal_string \"Invalid address\"" - } - ], - "id": 2396, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "7463:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2404, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7463:49:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2405, - "nodeType": "ExpressionStatement", - "src": "7463:49:12" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2410, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2407, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2390, - "src": "7528:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "expression": { - "id": 2408, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "7539:3:12", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2409, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "7539:10:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "7528:21:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "43616e6e6f742072656769737465722073656c66", - "id": 2411, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7551:22:12", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_78b7b6e655079b63c1761e6b96d764441d7130eda97b6d8de911b64559d10300", - "typeString": "literal_string \"Cannot register self\"" - }, - "value": "Cannot register self" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_78b7b6e655079b63c1761e6b96d764441d7130eda97b6d8de911b64559d10300", - "typeString": "literal_string \"Cannot register self\"" - } - ], - "id": 2406, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "7520:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2412, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7520:54:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2413, - "nodeType": "ExpressionStatement", - "src": "7520:54:12" - }, - { - "assignments": [ - 2415 - ], - "declarations": [ - { - "constant": false, - "id": 2415, - "mutability": "mutable", - "name": "indexhash", - "nameLocation": "7590:9:12", - "nodeType": "VariableDeclaration", - "scope": 2472, - "src": "7582:17:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2414, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7582:7:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "id": 2427, - "initialValue": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "expression": { - "id": 2421, - "name": "ApprovalType", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1590, - "src": "7629:12:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_ApprovalType_$1590_$", - "typeString": "type(enum WFIO.ApprovalType)" - } - }, - "id": 2422, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "AddCustodian", - "nodeType": "MemberAccess", - "referencedDeclaration": 1588, - "src": "7629:25:12", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ApprovalType_$1590", - "typeString": "enum WFIO.ApprovalType" - } - }, - { - "id": 2423, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2390, - "src": "7655:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_enum$_ApprovalType_$1590", - "typeString": "enum WFIO.ApprovalType" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 2419, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967295, - "src": "7618:3:12", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 2420, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encode", - "nodeType": "MemberAccess", - "src": "7618:10:12", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 2424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7618:45:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 2418, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7612:5:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": { - "id": 2417, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "7612:5:12", - "typeDescriptions": {} - } - }, - "id": 2425, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7612:52:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 2416, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967288, - "src": "7602:9:12", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 2426, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7602:63:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7582:83:12" - }, - { - "expression": { - "arguments": [ - { - "id": 2433, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "7681:33:12", - "subExpression": { - "arguments": [ - { - "id": 2430, - "name": "CUSTODIAN_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1584, - "src": "7690:14:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 2431, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2390, - "src": "7706:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2429, - "name": "hasRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 79, - "src": "7682:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$", - "typeString": "function (bytes32,address) view returns (bool)" - } - }, - "id": 2432, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7682:32:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "416c72656164792072656769737465726564", - "id": 2434, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7716:20:12", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_4935f8dc8deae1355305b992e890d0242809a3705c9c83131ed47acca0dd4fe2", - "typeString": "literal_string \"Already registered\"" - }, - "value": "Already registered" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_4935f8dc8deae1355305b992e890d0242809a3705c9c83131ed47acca0dd4fe2", - "typeString": "literal_string \"Already registered\"" - } - ], - "id": 2428, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "7673:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2435, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7673:64:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2436, - "nodeType": "ExpressionStatement", - "src": "7673:64:12" - }, - { - "condition": { - "arguments": [ - { - "id": 2438, - "name": "indexhash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2415, - "src": "7762:9:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "hexValue": "31", - "id": 2439, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7773:1:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - { - "id": 2440, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2390, - "src": "7776:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "hexValue": "30", - "id": 2441, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7785:1:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 2437, - "name": "getConsensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1916, - "src": "7749:12:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_uint8_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (bytes32,uint8,address,uint256) returns (bool)" - } - }, - "id": 2442, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7749:38:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2463, - "nodeType": "IfStatement", - "src": "7745:217:12", - "trueBody": { - "id": 2462, - "nodeType": "Block", - "src": "7789:173:12", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 2444, - "name": "CUSTODIAN_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1584, - "src": "7810:14:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 2445, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2390, - "src": "7826:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2443, - "name": "_grantRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 287, - "src": "7799:10:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,address)" - } - }, - "id": 2446, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7799:35:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2447, - "nodeType": "ExpressionStatement", - "src": "7799:35:12" - }, - { - "expression": { - "id": 2449, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "7844:17:12", - "subExpression": { - "id": 2448, - "name": "custodian_count", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1605, - "src": "7844:15:12", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "id": 2450, - "nodeType": "ExpressionStatement", - "src": "7844:17:12" - }, - { - "expression": { - "arguments": [ - { - "id": 2454, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2390, - "src": "7890:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 2451, - "name": "custodianlist", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1661, - "src": "7871:13:12", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 2453, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "src": "7871:18:12", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_address_$dyn_storage_ptr_$_t_address_$returns$__$bound_to$_t_array$_t_address_$dyn_storage_ptr_$", - "typeString": "function (address[] storage pointer,address)" - } - }, - "id": 2455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7871:27:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2456, - "nodeType": "ExpressionStatement", - "src": "7871:27:12" - }, - { - "eventCall": { - "arguments": [ - { - "id": 2458, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2390, - "src": "7934:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 2459, - "name": "indexhash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2415, - "src": "7943:9:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 2457, - "name": "custodian_registered", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1633, - "src": "7913:20:12", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,bytes32)" - } - }, - "id": 2460, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7913:40:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2461, - "nodeType": "EmitStatement", - "src": "7908:45:12" - } - ] - } - }, - { - "eventCall": { - "arguments": [ - { - "hexValue": "637573746f6469616e", - "id": 2465, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7993:11:12", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_7910ad37365bbe683fd8f86c0628fe6da9da366f7e8b3db028763efd0d0b7ecc", - "typeString": "literal_string \"custodian\"" - }, - "value": "custodian" - }, - { - "expression": { - "id": 2466, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "8006:3:12", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2467, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "8006:10:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "hexValue": "", - "id": 2468, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8018:2:12", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - }, - { - "id": 2469, - "name": "indexhash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2415, - "src": "8022:9:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_7910ad37365bbe683fd8f86c0628fe6da9da366f7e8b3db028763efd0d0b7ecc", - "typeString": "literal_string \"custodian\"" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 2464, - "name": "consensus_activity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1655, - "src": "7974:18:12", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_address_$_t_string_memory_ptr_$_t_bytes32_$returns$__$", - "typeString": "function (string memory,address,string memory,bytes32)" - } - }, - "id": 2470, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7974:58:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2471, - "nodeType": "EmitStatement", - "src": "7969:63:12" - } - ] - }, - "functionSelector": "c0bcfe9c", - "id": 2473, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "id": 2393, - "name": "CUSTODIAN_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1584, - "src": "7439:14:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 2394, - "kind": "modifierInvocation", - "modifierName": { - "id": 2392, - "name": "onlyRole", - "nodeType": "IdentifierPath", - "referencedDeclaration": 38, - "src": "7430:8:12" - }, - "nodeType": "ModifierInvocation", - "src": "7430:24:12" - } - ], - "name": "regcust", - "nameLocation": "7396:7:12", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2391, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2390, - "mutability": "mutable", - "name": "account", - "nameLocation": "7412:7:12", - "nodeType": "VariableDeclaration", - "scope": 2473, - "src": "7404:15:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2389, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7404:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "7403:17:12" - }, - "returnParameters": { - "id": 2395, - "nodeType": "ParameterList", - "parameters": [], - "src": "7455:0:12" - }, - "scope": 2612, - "src": "7387:652:12", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 2594, - "nodeType": "Block", - "src": "8115:903:12", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2487, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2482, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2475, - "src": "8131:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 2485, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8150:1:12", - "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": 2484, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8142:7:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 2483, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8142:7:12", - "typeDescriptions": {} - } - }, - "id": 2486, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8142:10:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "8131:21:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "496e76616c69642061646472657373", - "id": 2488, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8154:17:12", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1462473b7a4b33d32b109b815fd2324d00c9e5839b707ecf16d0ab5744f99226", - "typeString": "literal_string \"Invalid address\"" - }, - "value": "Invalid address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_1462473b7a4b33d32b109b815fd2324d00c9e5839b707ecf16d0ab5744f99226", - "typeString": "literal_string \"Invalid address\"" - } - ], - "id": 2481, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "8123:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2489, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8123:49:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2490, - "nodeType": "ExpressionStatement", - "src": "8123:49:12" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 2493, - "name": "CUSTODIAN_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1584, - "src": "8196:14:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 2494, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2475, - "src": "8212:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2492, - "name": "hasRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 79, - "src": "8188:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$", - "typeString": "function (bytes32,address) view returns (bool)" - } - }, - "id": 2495, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8188:32:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "437573746f6469616e206e6f742072656769737465726564", - "id": 2496, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8222:26:12", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_76821f4b3d35f6a60318d8d6b17462215f5551e8806db95a96be51f60cd5499a", - "typeString": "literal_string \"Custodian not registered\"" - }, - "value": "Custodian not registered" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_76821f4b3d35f6a60318d8d6b17462215f5551e8806db95a96be51f60cd5499a", - "typeString": "literal_string \"Custodian not registered\"" - } - ], - "id": 2491, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "8180:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2497, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8180:69:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2498, - "nodeType": "ExpressionStatement", - "src": "8180:69:12" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 2502, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2500, - "name": "custodian_count", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1605, - "src": "8265:15:12", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "37", - "id": 2501, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8283:1:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_7_by_1", - "typeString": "int_const 7" - }, - "value": "7" - }, - "src": "8265:19:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4d75737420636f6e7461696e203720637573746f6469616e73", - "id": 2503, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8286:27:12", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_05386a555fb5b4178067cc222bba94b49ff5d41f27d80ca3371678b9e3b2e0c8", - "typeString": "literal_string \"Must contain 7 custodians\"" - }, - "value": "Must contain 7 custodians" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_05386a555fb5b4178067cc222bba94b49ff5d41f27d80ca3371678b9e3b2e0c8", - "typeString": "literal_string \"Must contain 7 custodians\"" - } - ], - "id": 2499, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "8257:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2504, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8257:57:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2505, - "nodeType": "ExpressionStatement", - "src": "8257:57:12" - }, - { - "assignments": [ - 2507 - ], - "declarations": [ - { - "constant": false, - "id": 2507, - "mutability": "mutable", - "name": "indexhash", - "nameLocation": "8330:9:12", - "nodeType": "VariableDeclaration", - "scope": 2594, - "src": "8322:17:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2506, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "8322:7:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "id": 2519, - "initialValue": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "expression": { - "id": 2513, - "name": "ApprovalType", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1590, - "src": "8369:12:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_ApprovalType_$1590_$", - "typeString": "type(enum WFIO.ApprovalType)" - } - }, - "id": 2514, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "RemoveCustodian", - "nodeType": "MemberAccess", - "referencedDeclaration": 1589, - "src": "8369:28:12", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ApprovalType_$1590", - "typeString": "enum WFIO.ApprovalType" - } - }, - { - "id": 2515, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2475, - "src": "8398:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_enum$_ApprovalType_$1590", - "typeString": "enum WFIO.ApprovalType" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 2511, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967295, - "src": "8358:3:12", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 2512, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encode", - "nodeType": "MemberAccess", - "src": "8358:10:12", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 2516, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8358:48:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 2510, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8352:5:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": { - "id": 2509, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "8352:5:12", - "typeDescriptions": {} - } - }, - "id": 2517, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8352:55:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 2508, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967288, - "src": "8342:9:12", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 2518, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8342:66:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8322:86:12" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 2522, - "name": "CUSTODIAN_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1584, - "src": "8432:14:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 2523, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2475, - "src": "8448:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2521, - "name": "hasRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 79, - "src": "8424:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$", - "typeString": "function (bytes32,address) view returns (bool)" - } - }, - "id": 2524, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8424:32:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "416c726561647920756e72656769737465726564", - "id": 2525, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8458:22:12", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_34e3a7e654f01bf833b66b5820dfc5c54b692538e8fdf4855e0707f49fbbe737", - "typeString": "literal_string \"Already unregistered\"" - }, - "value": "Already unregistered" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_34e3a7e654f01bf833b66b5820dfc5c54b692538e8fdf4855e0707f49fbbe737", - "typeString": "literal_string \"Already unregistered\"" - } - ], - "id": 2520, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "8416:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2526, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8416:65:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2527, - "nodeType": "ExpressionStatement", - "src": "8416:65:12" - }, - { - "condition": { - "arguments": [ - { - "id": 2529, - "name": "indexhash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2507, - "src": "8506:9:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "hexValue": "31", - "id": 2530, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8517:1:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - { - "id": 2531, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2475, - "src": "8520:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "hexValue": "30", - "id": 2532, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8529:1:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 2528, - "name": "getConsensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1916, - "src": "8493:12:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_uint8_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (bytes32,uint8,address,uint256) returns (bool)" - } - }, - "id": 2533, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8493:38:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2585, - "nodeType": "IfStatement", - "src": "8489:452:12", - "trueBody": { - "id": 2584, - "nodeType": "Block", - "src": "8533:408:12", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 2535, - "name": "CUSTODIAN_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1584, - "src": "8557:14:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 2536, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2475, - "src": "8573:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2534, - "name": "_revokeRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 318, - "src": "8545:11:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,address)" - } - }, - "id": 2537, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8545:36:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2538, - "nodeType": "ExpressionStatement", - "src": "8545:36:12" - }, - { - "expression": { - "id": 2540, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "--", - "prefix": false, - "src": "8593:17:12", - "subExpression": { - "id": 2539, - "name": "custodian_count", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1605, - "src": "8593:15:12", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "id": 2541, - "nodeType": "ExpressionStatement", - "src": "8593:17:12" - }, - { - "body": { - "id": 2577, - "nodeType": "Block", - "src": "8671:203:12", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2557, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "baseExpression": { - "id": 2553, - "name": "custodianlist", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1661, - "src": "8688:13:12", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 2555, - "indexExpression": { - "id": 2554, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2543, - "src": "8702:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8688:16:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 2556, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2475, - "src": "8708:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "8688:27:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2576, - "nodeType": "IfStatement", - "src": "8685:177:12", - "trueBody": { - "id": 2575, - "nodeType": "Block", - "src": "8717:145:12", - "statements": [ - { - "expression": { - "id": 2567, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 2558, - "name": "custodianlist", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1661, - "src": "8733:13:12", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 2560, - "indexExpression": { - "id": 2559, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2543, - "src": "8747:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8733:16:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "baseExpression": { - "id": 2561, - "name": "custodianlist", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1661, - "src": "8752:13:12", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 2566, - "indexExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2565, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 2562, - "name": "custodianlist", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1661, - "src": "8766:13:12", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 2563, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "8766:20:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "31", - "id": 2564, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8789:1:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "8766:24:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8752:39:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "8733:58:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 2568, - "nodeType": "ExpressionStatement", - "src": "8733:58:12" - }, - { - "expression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 2569, - "name": "custodianlist", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1661, - "src": "8807:13:12", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 2571, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "pop", - "nodeType": "MemberAccess", - "src": "8807:17:12", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypop_nonpayable$_t_array$_t_address_$dyn_storage_ptr_$returns$__$bound_to$_t_array$_t_address_$dyn_storage_ptr_$", - "typeString": "function (address[] storage pointer)" - } - }, - "id": 2572, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8807:19:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2573, - "nodeType": "ExpressionStatement", - "src": "8807:19:12" - }, - { - "id": 2574, - "nodeType": "Break", - "src": "8842:5:12" - } - ] - } - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2549, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2546, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2543, - "src": "8640:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "expression": { - "id": 2547, - "name": "custodianlist", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1661, - "src": "8644:13:12", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 2548, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "8644:20:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8640:24:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2578, - "initializationExpression": { - "assignments": [ - 2543 - ], - "declarations": [ - { - "constant": false, - "id": 2543, - "mutability": "mutable", - "name": "i", - "nameLocation": "8633:1:12", - "nodeType": "VariableDeclaration", - "scope": 2578, - "src": "8626:8:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - }, - "typeName": { - "id": 2542, - "name": "uint16", - "nodeType": "ElementaryTypeName", - "src": "8626:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "visibility": "internal" - } - ], - "id": 2545, - "initialValue": { - "hexValue": "30", - "id": 2544, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8637:1:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "8626:12:12" - }, - "loopExpression": { - "expression": { - "id": 2551, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "8666:3:12", - "subExpression": { - "id": 2550, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2543, - "src": "8666:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "id": 2552, - "nodeType": "ExpressionStatement", - "src": "8666:3:12" - }, - "nodeType": "ForStatement", - "src": "8622:252:12" - }, - { - "eventCall": { - "arguments": [ - { - "id": 2580, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2475, - "src": "8913:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 2581, - "name": "indexhash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2507, - "src": "8922:9:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 2579, - "name": "custodian_unregistered", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1627, - "src": "8890:22:12", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,bytes32)" - } - }, - "id": 2582, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8890:42:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2583, - "nodeType": "EmitStatement", - "src": "8885:47:12" - } - ] - } - }, - { - "eventCall": { - "arguments": [ - { - "hexValue": "637573746f6469616e", - "id": 2587, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8972:11:12", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_7910ad37365bbe683fd8f86c0628fe6da9da366f7e8b3db028763efd0d0b7ecc", - "typeString": "literal_string \"custodian\"" - }, - "value": "custodian" - }, - { - "expression": { - "id": 2588, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "8985:3:12", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2589, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "8985:10:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "hexValue": "", - "id": 2590, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8997:2:12", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - }, - { - "id": 2591, - "name": "indexhash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2507, - "src": "9001:9:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_7910ad37365bbe683fd8f86c0628fe6da9da366f7e8b3db028763efd0d0b7ecc", - "typeString": "literal_string \"custodian\"" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 2586, - "name": "consensus_activity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1655, - "src": "8953:18:12", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_address_$_t_string_memory_ptr_$_t_bytes32_$returns$__$", - "typeString": "function (string memory,address,string memory,bytes32)" - } - }, - "id": 2592, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8953:58:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2593, - "nodeType": "EmitStatement", - "src": "8948:63:12" - } - ] - }, - "functionSelector": "ff3e34a5", - "id": 2595, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "id": 2478, - "name": "CUSTODIAN_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1584, - "src": "8099:14:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 2479, - "kind": "modifierInvocation", - "modifierName": { - "id": 2477, - "name": "onlyRole", - "nodeType": "IdentifierPath", - "referencedDeclaration": 38, - "src": "8090:8:12" - }, - "nodeType": "ModifierInvocation", - "src": "8090:24:12" - } - ], - "name": "unregcust", - "nameLocation": "8054:9:12", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2476, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2475, - "mutability": "mutable", - "name": "account", - "nameLocation": "8072:7:12", - "nodeType": "VariableDeclaration", - "scope": 2595, - "src": "8064:15:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2474, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8064:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "8063:17:12" - }, - "returnParameters": { - "id": 2480, - "nodeType": "ParameterList", - "parameters": [], - "src": "8115:0:12" - }, - "scope": 2612, - "src": "8045:973:12", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 2601, - "nodeType": "Block", - "src": "9253:25:12", - "statements": [ - { - "expression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 2598, - "name": "revert", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967277, - 4294967277 - ], - "referencedDeclaration": 4294967277, - "src": "9263:6:12", - "typeDescriptions": { - "typeIdentifier": "t_function_revert_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 2599, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9263:8:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2600, - "nodeType": "ExpressionStatement", - "src": "9263:8:12" - } - ] - }, - "id": 2602, - "implemented": true, - "kind": "receive", - "modifiers": [], - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2596, - "nodeType": "ParameterList", - "parameters": [], - "src": "9233:2:12" - }, - "returnParameters": { - "id": 2597, - "nodeType": "ParameterList", - "parameters": [], - "src": "9253:0:12" - }, - "scope": 2612, - "src": "9225:53:12", - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - { - "baseFunctions": [ - 575 - ], - "body": { - "id": 2610, - "nodeType": "Block", - "src": "9349:23:12", - "statements": [ - { - "expression": { - "hexValue": "39", - "id": 2608, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9364:1:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_9_by_1", - "typeString": "int_const 9" - }, - "value": "9" - }, - "functionReturnParameters": 2607, - "id": 2609, - "nodeType": "Return", - "src": "9357:8:12" - } - ] - }, - "functionSelector": "313ce567", - "id": 2611, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "decimals", - "nameLocation": "9293:8:12", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 2604, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "9324:8:12" - }, - "parameters": { - "id": 2603, - "nodeType": "ParameterList", - "parameters": [], - "src": "9301:2:12" - }, - "returnParameters": { - "id": 2607, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2606, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2611, - "src": "9342:5:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 2605, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "9342:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - } - ], - "src": "9341:7:12" - }, - "scope": 2612, - "src": "9284:88:12", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - } - ], - "scope": 2613, - "src": "433:8941:12", - "usedErrors": [] - } - ], - "src": "143:9232:12" - }, - "legacyAST": { - "absolutePath": "project:/contracts/wfio.sol", - "exportedSymbols": { - "AccessControl": [ - 319 - ], - "Context": [ - 1292 - ], - "ERC165": [ - 1542 - ], - "ERC20": [ - 1086 - ], - "ERC20Burnable": [ - 1208 - ], - "ERC20Pausable": [ - 1245 - ], - "IAccessControl": [ - 392 - ], - "IERC165": [ - 1554 - ], - "IERC20": [ - 1164 - ], - "IERC20Metadata": [ - 1270 - ], - "Pausable": [ - 500 - ], - "Strings": [ - 1518 - ], - "WFIO": [ - 2612 - ] - }, - "id": 2613, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1556, - "literals": [ - "solidity", - "0.8", - ".7" - ], - "nodeType": "PragmaDirective", - "src": "143:22:12" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "file": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "id": 1557, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 2613, - "sourceUnit": 1087, - "src": "167:55:12", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol", - "file": "@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol", - "id": 1558, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 2613, - "sourceUnit": 1209, - "src": "223:74:12", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC20/extensions/ERC20Pausable.sol", - "file": "@openzeppelin/contracts/token/ERC20/extensions/ERC20Pausable.sol", - "id": 1559, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 2613, - "sourceUnit": 1246, - "src": "298:74:12", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/access/AccessControl.sol", - "file": "@openzeppelin/contracts/access/AccessControl.sol", - "id": 1560, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 2613, - "sourceUnit": 320, - "src": "373:58:12", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 1561, - "name": "ERC20Burnable", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1208, - "src": "450:13:12" - }, - "id": 1562, - "nodeType": "InheritanceSpecifier", - "src": "450:13:12" - }, - { - "baseName": { - "id": 1563, - "name": "ERC20Pausable", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1245, - "src": "465:13:12" - }, - "id": 1564, - "nodeType": "InheritanceSpecifier", - "src": "465:13:12" - }, - { - "baseName": { - "id": 1565, - "name": "AccessControl", - "nodeType": "IdentifierPath", - "referencedDeclaration": 319, - "src": "480:13:12" - }, - "id": 1566, - "nodeType": "InheritanceSpecifier", - "src": "480:13:12" - } - ], - "contractDependencies": [], - "contractKind": "contract", - "fullyImplemented": true, - "id": 2612, - "linearizedBaseContracts": [ - 2612, - 319, - 1542, - 1554, - 392, - 1245, - 500, - 1208, - 1086, - 1270, - 1164, - 1292 - ], - "name": "WFIO", - "nameLocation": "442:4:12", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 1569, - "mutability": "constant", - "name": "MINTABLE", - "nameLocation": "518:8:12", - "nodeType": "VariableDeclaration", - "scope": 2612, - "src": "501:32:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1567, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "501:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "31653138", - "id": 1568, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "529:4:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - }, - "value": "1e18" - }, - "visibility": "internal" - }, - { - "constant": true, - "functionSelector": "07e2cea5", - "id": 1574, - "mutability": "constant", - "name": "ORACLE_ROLE", - "nameLocation": "564:11:12", - "nodeType": "VariableDeclaration", - "scope": 2612, - "src": "540:62:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1570, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "540:7:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "arguments": [ - { - "hexValue": "4f5241434c455f524f4c45", - "id": 1572, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "588:13:12", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_68e79a7bf1e0bc45d0a330c573bc367f9cf464fd326078812f301165fbda4ef1", - "typeString": "literal_string \"ORACLE_ROLE\"" - }, - "value": "ORACLE_ROLE" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_68e79a7bf1e0bc45d0a330c573bc367f9cf464fd326078812f301165fbda4ef1", - "typeString": "literal_string \"ORACLE_ROLE\"" - } - ], - "id": 1571, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967288, - "src": "578:9:12", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 1573, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "578:24:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "public" - }, - { - "constant": true, - "functionSelector": "e58378bb", - "id": 1579, - "mutability": "constant", - "name": "OWNER_ROLE", - "nameLocation": "632:10:12", - "nodeType": "VariableDeclaration", - "scope": 2612, - "src": "608:60:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1575, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "608:7:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "arguments": [ - { - "hexValue": "4f574e45525f524f4c45", - "id": 1577, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "655:12:12", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b19546dff01e856fb3f010c267a7b1c60363cf8a4664e21cc89c26224620214e", - "typeString": "literal_string \"OWNER_ROLE\"" - }, - "value": "OWNER_ROLE" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_b19546dff01e856fb3f010c267a7b1c60363cf8a4664e21cc89c26224620214e", - "typeString": "literal_string \"OWNER_ROLE\"" - } - ], - "id": 1576, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967288, - "src": "645:9:12", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 1578, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "645:23:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "public" - }, - { - "constant": true, - "functionSelector": "c79445d0", - "id": 1584, - "mutability": "constant", - "name": "CUSTODIAN_ROLE", - "nameLocation": "698:14:12", - "nodeType": "VariableDeclaration", - "scope": 2612, - "src": "674:68:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1580, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "674:7:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "arguments": [ - { - "hexValue": "435553544f4449414e5f524f4c45", - "id": 1582, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "725:16:12", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e28434228950b641dbbc0178de89daa359a87c6ee0d8399aeace52a98fe902b9", - "typeString": "literal_string \"CUSTODIAN_ROLE\"" - }, - "value": "CUSTODIAN_ROLE" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_e28434228950b641dbbc0178de89daa359a87c6ee0d8399aeace52a98fe902b9", - "typeString": "literal_string \"CUSTODIAN_ROLE\"" - } - ], - "id": 1581, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967288, - "src": "715:9:12", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 1583, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "715:27:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "public" - }, - { - "canonicalName": "WFIO.ApprovalType", - "id": 1590, - "members": [ - { - "id": 1585, - "name": "Wrap", - "nameLocation": "777:4:12", - "nodeType": "EnumValue", - "src": "777:4:12" - }, - { - "id": 1586, - "name": "AddOracle", - "nameLocation": "791:9:12", - "nodeType": "EnumValue", - "src": "791:9:12" - }, - { - "id": 1587, - "name": "RemoveOracle", - "nameLocation": "810:12:12", - "nodeType": "EnumValue", - "src": "810:12:12" - }, - { - "id": 1588, - "name": "AddCustodian", - "nameLocation": "832:12:12", - "nodeType": "EnumValue", - "src": "832:12:12" - }, - { - "id": 1589, - "name": "RemoveCustodian", - "nameLocation": "854:15:12", - "nodeType": "EnumValue", - "src": "854:15:12" - } - ], - "name": "ApprovalType", - "nameLocation": "754:12:12", - "nodeType": "EnumDefinition", - "src": "749:126:12" - }, - { - "canonicalName": "WFIO.pending", - "id": 1603, - "members": [ - { - "constant": false, - "id": 1594, - "mutability": "mutable", - "name": "approved", - "nameLocation": "930:8:12", - "nodeType": "VariableDeclaration", - "scope": 1603, - "src": "904:34:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "typeName": { - "id": 1593, - "keyType": { - "id": 1591, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "913:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "904:25:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "valueType": { - "id": 1592, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "924:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1596, - "mutability": "mutable", - "name": "approvals", - "nameLocation": "953:9:12", - "nodeType": "VariableDeclaration", - "scope": 1603, - "src": "946:16:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 1595, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "946:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1598, - "mutability": "mutable", - "name": "account", - "nameLocation": "978:7:12", - "nodeType": "VariableDeclaration", - "scope": 1603, - "src": "970:15:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1597, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "970:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1600, - "mutability": "mutable", - "name": "amount", - "nameLocation": "1001:6:12", - "nodeType": "VariableDeclaration", - "scope": 1603, - "src": "993:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1599, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "993:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1602, - "mutability": "mutable", - "name": "complete", - "nameLocation": "1020:8:12", - "nodeType": "VariableDeclaration", - "scope": 1603, - "src": "1015:13:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1601, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1015:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "name": "pending", - "nameLocation": "888:7:12", - "nodeType": "StructDefinition", - "scope": 2612, - "src": "881:154:12", - "visibility": "public" - }, - { - "constant": false, - "id": 1605, - "mutability": "mutable", - "name": "custodian_count", - "nameLocation": "1048:15:12", - "nodeType": "VariableDeclaration", - "scope": 2612, - "src": "1041:22:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 1604, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "1041:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1607, - "mutability": "mutable", - "name": "oracle_count", - "nameLocation": "1076:12:12", - "nodeType": "VariableDeclaration", - "scope": 2612, - "src": "1069:19:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 1606, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "1069:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "visibility": "internal" - }, - { - "anonymous": false, - "id": 1613, - "name": "unwrapped", - "nameLocation": "1101:9:12", - "nodeType": "EventDefinition", - "parameters": { - "id": 1612, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1609, - "indexed": false, - "mutability": "mutable", - "name": "fioaddress", - "nameLocation": "1118:10:12", - "nodeType": "VariableDeclaration", - "scope": 1613, - "src": "1111:17:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1608, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1111:6:12", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1611, - "indexed": false, - "mutability": "mutable", - "name": "amount", - "nameLocation": "1138:6:12", - "nodeType": "VariableDeclaration", - "scope": 1613, - "src": "1130:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1610, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1130:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1110:35:12" - }, - "src": "1095:51:12" - }, - { - "anonymous": false, - "id": 1621, - "name": "wrapped", - "nameLocation": "1157:7:12", - "nodeType": "EventDefinition", - "parameters": { - "id": 1620, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1615, - "indexed": false, - "mutability": "mutable", - "name": "account", - "nameLocation": "1173:7:12", - "nodeType": "VariableDeclaration", - "scope": 1621, - "src": "1165:15:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1614, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1165:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1617, - "indexed": false, - "mutability": "mutable", - "name": "amount", - "nameLocation": "1190:6:12", - "nodeType": "VariableDeclaration", - "scope": 1621, - "src": "1182:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1616, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1182:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1619, - "indexed": false, - "mutability": "mutable", - "name": "obtid", - "nameLocation": "1205:5:12", - "nodeType": "VariableDeclaration", - "scope": 1621, - "src": "1198:12:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1618, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1198:6:12", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "1164:47:12" - }, - "src": "1151:61:12" - }, - { - "anonymous": false, - "id": 1627, - "name": "custodian_unregistered", - "nameLocation": "1223:22:12", - "nodeType": "EventDefinition", - "parameters": { - "id": 1626, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1623, - "indexed": false, - "mutability": "mutable", - "name": "account", - "nameLocation": "1254:7:12", - "nodeType": "VariableDeclaration", - "scope": 1627, - "src": "1246:15:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1622, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1246:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1625, - "indexed": false, - "mutability": "mutable", - "name": "indexhash", - "nameLocation": "1271:9:12", - "nodeType": "VariableDeclaration", - "scope": 1627, - "src": "1263:17:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1624, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1263:7:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "1245:36:12" - }, - "src": "1217:65:12" - }, - { - "anonymous": false, - "id": 1633, - "name": "custodian_registered", - "nameLocation": "1293:20:12", - "nodeType": "EventDefinition", - "parameters": { - "id": 1632, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1629, - "indexed": false, - "mutability": "mutable", - "name": "account", - "nameLocation": "1322:7:12", - "nodeType": "VariableDeclaration", - "scope": 1633, - "src": "1314:15:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1628, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1314:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1631, - "indexed": false, - "mutability": "mutable", - "name": "indexhash", - "nameLocation": "1339:9:12", - "nodeType": "VariableDeclaration", - "scope": 1633, - "src": "1331:17:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1630, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1331:7:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "1313:36:12" - }, - "src": "1287:63:12" - }, - { - "anonymous": false, - "id": 1639, - "name": "oracle_unregistered", - "nameLocation": "1361:19:12", - "nodeType": "EventDefinition", - "parameters": { - "id": 1638, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1635, - "indexed": false, - "mutability": "mutable", - "name": "account", - "nameLocation": "1389:7:12", - "nodeType": "VariableDeclaration", - "scope": 1639, - "src": "1381:15:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1634, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1381:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1637, - "indexed": false, - "mutability": "mutable", - "name": "indexhash", - "nameLocation": "1406:9:12", - "nodeType": "VariableDeclaration", - "scope": 1639, - "src": "1398:17:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1636, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1398:7:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "1380:36:12" - }, - "src": "1355:62:12" - }, - { - "anonymous": false, - "id": 1645, - "name": "oracle_registered", - "nameLocation": "1428:17:12", - "nodeType": "EventDefinition", - "parameters": { - "id": 1644, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1641, - "indexed": false, - "mutability": "mutable", - "name": "account", - "nameLocation": "1454:7:12", - "nodeType": "VariableDeclaration", - "scope": 1645, - "src": "1446:15:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1640, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1446:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1643, - "indexed": false, - "mutability": "mutable", - "name": "indexhash", - "nameLocation": "1471:9:12", - "nodeType": "VariableDeclaration", - "scope": 1645, - "src": "1463:17:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1642, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1463:7:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "1445:36:12" - }, - "src": "1422:60:12" - }, - { - "anonymous": false, - "id": 1655, - "name": "consensus_activity", - "nameLocation": "1493:18:12", - "nodeType": "EventDefinition", - "parameters": { - "id": 1654, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1647, - "indexed": false, - "mutability": "mutable", - "name": "signer", - "nameLocation": "1519:6:12", - "nodeType": "VariableDeclaration", - "scope": 1655, - "src": "1512:13:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1646, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1512:6:12", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1649, - "indexed": false, - "mutability": "mutable", - "name": "account", - "nameLocation": "1535:7:12", - "nodeType": "VariableDeclaration", - "scope": 1655, - "src": "1527:15:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1648, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1527:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1651, - "indexed": false, - "mutability": "mutable", - "name": "obtid", - "nameLocation": "1551:5:12", - "nodeType": "VariableDeclaration", - "scope": 1655, - "src": "1544:12:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1650, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1544:6:12", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1653, - "indexed": false, - "mutability": "mutable", - "name": "indexhash", - "nameLocation": "1566:9:12", - "nodeType": "VariableDeclaration", - "scope": 1655, - "src": "1558:17:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1652, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1558:7:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "1511:65:12" - }, - "src": "1487:90:12" - }, - { - "constant": false, - "id": 1658, - "mutability": "mutable", - "name": "oraclelist", - "nameLocation": "1593:10:12", - "nodeType": "VariableDeclaration", - "scope": 2612, - "src": "1583:20:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 1656, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1583:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1657, - "nodeType": "ArrayTypeName", - "src": "1583:9:12", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1661, - "mutability": "mutable", - "name": "custodianlist", - "nameLocation": "1619:13:12", - "nodeType": "VariableDeclaration", - "scope": 2612, - "src": "1609:23:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 1659, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1609:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1660, - "nodeType": "ArrayTypeName", - "src": "1609:9:12", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1666, - "mutability": "mutable", - "name": "approvals", - "nameLocation": "1669:9:12", - "nodeType": "VariableDeclaration", - "scope": 2612, - "src": "1639:39:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_pending_$1603_storage_$", - "typeString": "mapping(bytes32 => struct WFIO.pending)" - }, - "typeName": { - "id": 1665, - "keyType": { - "id": 1662, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1649:7:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Mapping", - "src": "1639:29:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_pending_$1603_storage_$", - "typeString": "mapping(bytes32 => struct WFIO.pending)" - }, - "valueType": { - "id": 1664, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 1663, - "name": "pending", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1603, - "src": "1660:7:12" - }, - "referencedDeclaration": 1603, - "src": "1660:7:12", - "typeDescriptions": { - "typeIdentifier": "t_struct$_pending_$1603_storage_ptr", - "typeString": "struct WFIO.pending" - } - } - }, - "visibility": "internal" - }, - { - "body": { - "id": 1755, - "nodeType": "Block", - "src": "1817:562:12", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1682, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 1679, - "name": "newcustodians", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1671, - "src": "1833:13:12", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 1680, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "1833:20:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "3130", - "id": 1681, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1857:2:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "src": "1833:26:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "7746494f2063616e6e6f74206465706c6f7920776974686f757420313020637573746f6469616e73", - "id": 1683, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1861:42:12", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_cd2d27c63320ba67441d893dd30bd57e6cb0543dd2545362fe616296348a1449", - "typeString": "literal_string \"wFIO cannot deploy without 10 custodians\"" - }, - "value": "wFIO cannot deploy without 10 custodians" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_cd2d27c63320ba67441d893dd30bd57e6cb0543dd2545362fe616296348a1449", - "typeString": "literal_string \"wFIO cannot deploy without 10 custodians\"" - } - ], - "id": 1678, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "1825:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1684, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1825:79:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1685, - "nodeType": "ExpressionStatement", - "src": "1825:79:12" - }, - { - "expression": { - "arguments": [ - { - "expression": { - "id": 1687, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "1918:3:12", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1688, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "1918:10:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 1689, - "name": "_initialSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1668, - "src": "1930:14:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1686, - "name": "_mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 903, - "src": "1912:5:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 1690, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1912:33:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1691, - "nodeType": "ExpressionStatement", - "src": "1912:33:12" - }, - { - "expression": { - "arguments": [ - { - "id": 1693, - "name": "OWNER_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1579, - "src": "1964:10:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "expression": { - "id": 1694, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "1976:3:12", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1695, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "1976:10:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1692, - "name": "_grantRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 287, - "src": "1953:10:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,address)" - } - }, - "id": 1696, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1953:34:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1697, - "nodeType": "ExpressionStatement", - "src": "1953:34:12" - }, - { - "body": { - "id": 1745, - "nodeType": "Block", - "src": "2028:293:12", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 1715, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "2046:42:12", - "subExpression": { - "arguments": [ - { - "id": 1710, - "name": "CUSTODIAN_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1584, - "src": "2055:14:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "baseExpression": { - "id": 1711, - "name": "newcustodians", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1671, - "src": "2071:13:12", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 1713, - "indexExpression": { - "id": 1712, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1699, - "src": "2085:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2071:16:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1709, - "name": "hasRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 79, - "src": "2047:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$", - "typeString": "function (bytes32,address) view returns (bool)" - } - }, - "id": 1714, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2047:41:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "437573746f6469616e20616c72656164792072656769737465726564", - "id": 1716, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2090:30:12", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d17f234d2f1d71a49694cfa3d7817c6279f9b8c7ee3da8a89ddf6ceb087d1888", - "typeString": "literal_string \"Custodian already registered\"" - }, - "value": "Custodian already registered" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_d17f234d2f1d71a49694cfa3d7817c6279f9b8c7ee3da8a89ddf6ceb087d1888", - "typeString": "literal_string \"Custodian already registered\"" - } - ], - "id": 1708, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "2038:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1717, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2038:83:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1718, - "nodeType": "ExpressionStatement", - "src": "2038:83:12" - }, - { - "expression": { - "arguments": [ - { - "id": 1726, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "2139:38:12", - "subExpression": { - "arguments": [ - { - "id": 1721, - "name": "OWNER_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1579, - "src": "2148:10:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "baseExpression": { - "id": 1722, - "name": "newcustodians", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1671, - "src": "2160:13:12", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 1724, - "indexExpression": { - "id": 1723, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1699, - "src": "2174:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2160:16:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1720, - "name": "hasRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 79, - "src": "2140:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$", - "typeString": "function (bytes32,address) view returns (bool)" - } - }, - "id": 1725, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2140:37:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4f776e657220726f6c652063616e6e6f7420626520637573746f6469616e", - "id": 1727, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2179:32:12", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c9df1f39b9d6351c5c20911d90cc15733277235f524df90028e141dcd5cc5bb9", - "typeString": "literal_string \"Owner role cannot be custodian\"" - }, - "value": "Owner role cannot be custodian" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_c9df1f39b9d6351c5c20911d90cc15733277235f524df90028e141dcd5cc5bb9", - "typeString": "literal_string \"Owner role cannot be custodian\"" - } - ], - "id": 1719, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "2131:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1728, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2131:81:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1729, - "nodeType": "ExpressionStatement", - "src": "2131:81:12" - }, - { - "expression": { - "arguments": [ - { - "id": 1731, - "name": "CUSTODIAN_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1584, - "src": "2233:14:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "baseExpression": { - "id": 1732, - "name": "newcustodians", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1671, - "src": "2249:13:12", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 1734, - "indexExpression": { - "id": 1733, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1699, - "src": "2263:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2249:16:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1730, - "name": "_grantRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 287, - "src": "2222:10:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,address)" - } - }, - "id": 1735, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2222:44:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1736, - "nodeType": "ExpressionStatement", - "src": "2222:44:12" - }, - { - "expression": { - "arguments": [ - { - "baseExpression": { - "id": 1740, - "name": "newcustodians", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1671, - "src": "2295:13:12", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 1742, - "indexExpression": { - "id": 1741, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1699, - "src": "2309:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2295:16:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 1737, - "name": "custodianlist", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1661, - "src": "2276:13:12", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 1739, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "src": "2276:18:12", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_address_$dyn_storage_ptr_$_t_address_$returns$__$bound_to$_t_array$_t_address_$dyn_storage_ptr_$", - "typeString": "function (address[] storage pointer,address)" - } - }, - "id": 1743, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2276:36:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1744, - "nodeType": "ExpressionStatement", - "src": "2276:36:12" - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 1704, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1702, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1699, - "src": "2014:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "hexValue": "3130", - "id": 1703, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2018:2:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "src": "2014:6:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1746, - "initializationExpression": { - "assignments": [ - 1699 - ], - "declarations": [ - { - "constant": false, - "id": 1699, - "mutability": "mutable", - "name": "i", - "nameLocation": "2007:1:12", - "nodeType": "VariableDeclaration", - "scope": 1746, - "src": "2001:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 1698, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "2001:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - } - ], - "id": 1701, - "initialValue": { - "hexValue": "30", - "id": 1700, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2011:1:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "2001:11:12" - }, - "loopExpression": { - "expression": { - "id": 1706, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "2022:3:12", - "subExpression": { - "id": 1705, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1699, - "src": "2022:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "id": 1707, - "nodeType": "ExpressionStatement", - "src": "2022:3:12" - }, - "nodeType": "ForStatement", - "src": "1996:325:12" - }, - { - "expression": { - "id": 1749, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1747, - "name": "custodian_count", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1605, - "src": "2328:15:12", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "3130", - "id": 1748, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2346:2:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "src": "2328:20:12", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "id": 1750, - "nodeType": "ExpressionStatement", - "src": "2328:20:12" - }, - { - "expression": { - "id": 1753, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1751, - "name": "oracle_count", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1607, - "src": "2356:12:12", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "30", - "id": 1752, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2371:1:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2356:16:12", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "id": 1754, - "nodeType": "ExpressionStatement", - "src": "2356:16:12" - } - ] - }, - "id": 1756, - "implemented": true, - "kind": "constructor", - "modifiers": [ - { - "arguments": [ - { - "hexValue": "46494f2050726f746f636f6c", - "id": 1674, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1793:14:12", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_bb17a12e8fadc89d9d953f6621e4b86acba9880cce7bdbadfec5beb21b315cf6", - "typeString": "literal_string \"FIO Protocol\"" - }, - "value": "FIO Protocol" - }, - { - "hexValue": "7746494f", - "id": 1675, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1809:6:12", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e5775adff187b6b14e364363e131043d4a878d18c7d952fecf1b56fe0f44d24e", - "typeString": "literal_string \"wFIO\"" - }, - "value": "wFIO" - } - ], - "id": 1676, - "kind": "baseConstructorSpecifier", - "modifierName": { - "id": 1673, - "name": "ERC20", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1086, - "src": "1787:5:12" - }, - "nodeType": "ModifierInvocation", - "src": "1787:29:12" - } - ], - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1672, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1668, - "mutability": "mutable", - "name": "_initialSupply", - "nameLocation": "1738:14:12", - "nodeType": "VariableDeclaration", - "scope": 1756, - "src": "1730:22:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1667, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1730:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1671, - "mutability": "mutable", - "name": "newcustodians", - "nameLocation": "1771:13:12", - "nodeType": "VariableDeclaration", - "scope": 1756, - "src": "1754:30:12", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 1669, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1754:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1670, - "nodeType": "ArrayTypeName", - "src": "1754:9:12", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "visibility": "internal" - } - ], - "src": "1729:57:12" - }, - "returnParameters": { - "id": 1677, - "nodeType": "ParameterList", - "parameters": [], - "src": "1817:0:12" - }, - "scope": 2612, - "src": "1718:661:12", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 1767, - "nodeType": "Block", - "src": "2449:25:12", - "statements": [ - { - "expression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 1764, - "name": "_pause", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 483, - "src": "2459:6:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 1765, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2459:8:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1766, - "nodeType": "ExpressionStatement", - "src": "2459:8:12" - } - ] - }, - "functionSelector": "8456cb59", - "id": 1768, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "id": 1759, - "name": "CUSTODIAN_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1584, - "src": "2420:14:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 1760, - "kind": "modifierInvocation", - "modifierName": { - "id": 1758, - "name": "onlyRole", - "nodeType": "IdentifierPath", - "referencedDeclaration": 38, - "src": "2411:8:12" - }, - "nodeType": "ModifierInvocation", - "src": "2411:24:12" - }, - { - "id": 1762, - "kind": "modifierInvocation", - "modifierName": { - "id": 1761, - "name": "whenNotPaused", - "nodeType": "IdentifierPath", - "referencedDeclaration": 427, - "src": "2436:13:12" - }, - "nodeType": "ModifierInvocation", - "src": "2436:13:12" - } - ], - "name": "pause", - "nameLocation": "2394:5:12", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1757, - "nodeType": "ParameterList", - "parameters": [], - "src": "2399:2:12" - }, - "returnParameters": { - "id": 1763, - "nodeType": "ParameterList", - "parameters": [], - "src": "2449:0:12" - }, - "scope": 2612, - "src": "2385:89:12", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 1779, - "nodeType": "Block", - "src": "2542:27:12", - "statements": [ - { - "expression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 1776, - "name": "_unpause", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 499, - "src": "2552:8:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 1777, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2552:10:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1778, - "nodeType": "ExpressionStatement", - "src": "2552:10:12" - } - ] - }, - "functionSelector": "3f4ba83a", - "id": 1780, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "id": 1771, - "name": "CUSTODIAN_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1584, - "src": "2517:14:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 1772, - "kind": "modifierInvocation", - "modifierName": { - "id": 1770, - "name": "onlyRole", - "nodeType": "IdentifierPath", - "referencedDeclaration": 38, - "src": "2508:8:12" - }, - "nodeType": "ModifierInvocation", - "src": "2508:24:12" - }, - { - "id": 1774, - "kind": "modifierInvocation", - "modifierName": { - "id": 1773, - "name": "whenPaused", - "nodeType": "IdentifierPath", - "referencedDeclaration": 435, - "src": "2532:10:12" - }, - "nodeType": "ModifierInvocation", - "src": "2532:10:12" - } - ], - "name": "unpause", - "nameLocation": "2489:7:12", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1769, - "nodeType": "ParameterList", - "parameters": [], - "src": "2496:2:12" - }, - "returnParameters": { - "id": 1775, - "nodeType": "ParameterList", - "parameters": [], - "src": "2542:0:12" - }, - "scope": 2612, - "src": "2480:89:12", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 1915, - "nodeType": "Block", - "src": "2803:1039:12", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 1798, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "2819:25:12", - "subExpression": { - "expression": { - "baseExpression": { - "id": 1794, - "name": "approvals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1666, - "src": "2820:9:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_pending_$1603_storage_$", - "typeString": "mapping(bytes32 => struct WFIO.pending storage ref)" - } - }, - "id": 1796, - "indexExpression": { - "id": 1795, - "name": "hash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1782, - "src": "2830:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2820:15:12", - "typeDescriptions": { - "typeIdentifier": "t_struct$_pending_$1603_storage", - "typeString": "struct WFIO.pending storage ref" - } - }, - "id": 1797, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "complete", - "nodeType": "MemberAccess", - "referencedDeclaration": 1602, - "src": "2820:24:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "417070726f76616c20616c726561647920636f6d706c657465", - "id": 1799, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2846:27:12", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_13db8708b578fbecc0a459d6c97bde53ce0e906ac90480cb2dec183b18a8f137", - "typeString": "literal_string \"Approval already complete\"" - }, - "value": "Approval already complete" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_13db8708b578fbecc0a459d6c97bde53ce0e906ac90480cb2dec183b18a8f137", - "typeString": "literal_string \"Approval already complete\"" - } - ], - "id": 1793, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "2811:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1800, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2811:63:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1801, - "nodeType": "ExpressionStatement", - "src": "2811:63:12" - }, - { - "assignments": [ - 1803 - ], - "declarations": [ - { - "constant": false, - "id": 1803, - "mutability": "mutable", - "name": "APPROVALS_NEEDED", - "nameLocation": "2890:16:12", - "nodeType": "VariableDeclaration", - "scope": 1915, - "src": "2883:23:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 1802, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "2883:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "visibility": "internal" - } - ], - "id": 1805, - "initialValue": { - "id": 1804, - "name": "oracle_count", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1607, - "src": "2909:12:12", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2883:38:12" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 1808, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1806, - "name": "Type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1784, - "src": "2933:4:12", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "31", - "id": 1807, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2941:1:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "2933:9:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1820, - "nodeType": "IfStatement", - "src": "2929:80:12", - "trueBody": { - "id": 1819, - "nodeType": "Block", - "src": "2944:65:12", - "statements": [ - { - "expression": { - "id": 1817, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1809, - "name": "APPROVALS_NEEDED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1803, - "src": "2954:16:12", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 1816, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 1814, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 1812, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1810, - "name": "custodian_count", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1605, - "src": "2973:15:12", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "hexValue": "32", - "id": 1811, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2991:1:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "2973:19:12", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "hexValue": "33", - "id": 1813, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2995:1:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "2973:23:12", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "hexValue": "31", - "id": 1815, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2999:1:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "2973:27:12", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "2954:46:12", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "id": 1818, - "nodeType": "ExpressionStatement", - "src": "2954:46:12" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 1826, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "id": 1821, - "name": "approvals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1666, - "src": "3020:9:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_pending_$1603_storage_$", - "typeString": "mapping(bytes32 => struct WFIO.pending storage ref)" - } - }, - "id": 1823, - "indexExpression": { - "id": 1822, - "name": "hash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1782, - "src": "3030:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3020:15:12", - "typeDescriptions": { - "typeIdentifier": "t_struct$_pending_$1603_storage", - "typeString": "struct WFIO.pending storage ref" - } - }, - "id": 1824, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "approvals", - "nodeType": "MemberAccess", - "referencedDeclaration": 1596, - "src": "3020:25:12", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 1825, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3049:1:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3020:30:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1842, - "nodeType": "IfStatement", - "src": "3016:129:12", - "trueBody": { - "id": 1841, - "nodeType": "Block", - "src": "3052:93:12", - "statements": [ - { - "expression": { - "id": 1832, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "id": 1827, - "name": "approvals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1666, - "src": "3062:9:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_pending_$1603_storage_$", - "typeString": "mapping(bytes32 => struct WFIO.pending storage ref)" - } - }, - "id": 1829, - "indexExpression": { - "id": 1828, - "name": "hash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1782, - "src": "3072:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3062:15:12", - "typeDescriptions": { - "typeIdentifier": "t_struct$_pending_$1603_storage", - "typeString": "struct WFIO.pending storage ref" - } - }, - "id": 1830, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1600, - "src": "3062:22:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 1831, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1788, - "src": "3087:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3062:31:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1833, - "nodeType": "ExpressionStatement", - "src": "3062:31:12" - }, - { - "expression": { - "id": 1839, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "id": 1834, - "name": "approvals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1666, - "src": "3103:9:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_pending_$1603_storage_$", - "typeString": "mapping(bytes32 => struct WFIO.pending storage ref)" - } - }, - "id": 1836, - "indexExpression": { - "id": 1835, - "name": "hash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1782, - "src": "3113:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3103:15:12", - "typeDescriptions": { - "typeIdentifier": "t_struct$_pending_$1603_storage", - "typeString": "struct WFIO.pending storage ref" - } - }, - "id": 1837, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "account", - "nodeType": "MemberAccess", - "referencedDeclaration": 1598, - "src": "3103:23:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 1838, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1786, - "src": "3129:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3103:33:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1840, - "nodeType": "ExpressionStatement", - "src": "3103:33:12" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 1848, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "id": 1843, - "name": "approvals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1666, - "src": "3156:9:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_pending_$1603_storage_$", - "typeString": "mapping(bytes32 => struct WFIO.pending storage ref)" - } - }, - "id": 1845, - "indexExpression": { - "id": 1844, - "name": "hash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1782, - "src": "3166:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3156:15:12", - "typeDescriptions": { - "typeIdentifier": "t_struct$_pending_$1603_storage", - "typeString": "struct WFIO.pending storage ref" - } - }, - "id": 1846, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "approvals", - "nodeType": "MemberAccess", - "referencedDeclaration": 1596, - "src": "3156:25:12", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "id": 1847, - "name": "APPROVALS_NEEDED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1803, - "src": "3184:16:12", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "3156:44:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1909, - "nodeType": "IfStatement", - "src": "3152:645:12", - "trueBody": { - "id": 1908, - "nodeType": "Block", - "src": "3202:595:12", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 1857, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "3220:37:12", - "subExpression": { - "baseExpression": { - "expression": { - "baseExpression": { - "id": 1850, - "name": "approvals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1666, - "src": "3221:9:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_pending_$1603_storage_$", - "typeString": "mapping(bytes32 => struct WFIO.pending storage ref)" - } - }, - "id": 1852, - "indexExpression": { - "id": 1851, - "name": "hash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1782, - "src": "3231:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3221:15:12", - "typeDescriptions": { - "typeIdentifier": "t_struct$_pending_$1603_storage", - "typeString": "struct WFIO.pending storage ref" - } - }, - "id": 1853, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "approved", - "nodeType": "MemberAccess", - "referencedDeclaration": 1594, - "src": "3221:24:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 1856, - "indexExpression": { - "expression": { - "id": 1854, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "3246:3:12", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1855, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "3246:10:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3221:36:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "6f7261636c652068617320616c726561647920617070726f76656420746869732068617368", - "id": 1858, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3259:39:12", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2a0c86389b9cee3461c7143d614cd54d22183c8cf2396103fddc6acad54f1b27", - "typeString": "literal_string \"oracle has already approved this hash\"" - }, - "value": "oracle has already approved this hash" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_2a0c86389b9cee3461c7143d614cd54d22183c8cf2396103fddc6acad54f1b27", - "typeString": "literal_string \"oracle has already approved this hash\"" - } - ], - "id": 1849, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "3212:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1859, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3212:87:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1860, - "nodeType": "ExpressionStatement", - "src": "3212:87:12" - }, - { - "expression": { - "id": 1869, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "expression": { - "baseExpression": { - "id": 1861, - "name": "approvals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1666, - "src": "3309:9:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_pending_$1603_storage_$", - "typeString": "mapping(bytes32 => struct WFIO.pending storage ref)" - } - }, - "id": 1863, - "indexExpression": { - "id": 1862, - "name": "hash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1782, - "src": "3319:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3309:15:12", - "typeDescriptions": { - "typeIdentifier": "t_struct$_pending_$1603_storage", - "typeString": "struct WFIO.pending storage ref" - } - }, - "id": 1864, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "approved", - "nodeType": "MemberAccess", - "referencedDeclaration": 1594, - "src": "3309:24:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 1867, - "indexExpression": { - "expression": { - "id": 1865, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "3334:3:12", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1866, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "3334:10:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3309:36:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "74727565", - "id": 1868, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3348:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "3309:43:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1870, - "nodeType": "ExpressionStatement", - "src": "3309:43:12" - }, - { - "expression": { - "id": 1875, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "3362:27:12", - "subExpression": { - "expression": { - "baseExpression": { - "id": 1871, - "name": "approvals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1666, - "src": "3362:9:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_pending_$1603_storage_$", - "typeString": "mapping(bytes32 => struct WFIO.pending storage ref)" - } - }, - "id": 1873, - "indexExpression": { - "id": 1872, - "name": "hash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1782, - "src": "3372:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3362:15:12", - "typeDescriptions": { - "typeIdentifier": "t_struct$_pending_$1603_storage", - "typeString": "struct WFIO.pending storage ref" - } - }, - "id": 1874, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "approvals", - "nodeType": "MemberAccess", - "referencedDeclaration": 1596, - "src": "3362:25:12", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "id": 1876, - "nodeType": "ExpressionStatement", - "src": "3362:27:12" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 1882, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "id": 1877, - "name": "approvals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1666, - "src": "3552:9:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_pending_$1603_storage_$", - "typeString": "mapping(bytes32 => struct WFIO.pending storage ref)" - } - }, - "id": 1879, - "indexExpression": { - "id": 1878, - "name": "hash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1782, - "src": "3562:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3552:15:12", - "typeDescriptions": { - "typeIdentifier": "t_struct$_pending_$1603_storage", - "typeString": "struct WFIO.pending storage ref" - } - }, - "id": 1880, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "approvals", - "nodeType": "MemberAccess", - "referencedDeclaration": 1596, - "src": "3552:25:12", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "id": 1881, - "name": "APPROVALS_NEEDED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1803, - "src": "3581:16:12", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "3552:45:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1907, - "nodeType": "IfStatement", - "src": "3548:241:12", - "trueBody": { - "id": 1906, - "nodeType": "Block", - "src": "3599:190:12", - "statements": [ - { - "expression": { - "arguments": [ - { - "baseExpression": { - "expression": { - "baseExpression": { - "id": 1884, - "name": "approvals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1666, - "src": "3619:9:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_pending_$1603_storage_$", - "typeString": "mapping(bytes32 => struct WFIO.pending storage ref)" - } - }, - "id": 1886, - "indexExpression": { - "id": 1885, - "name": "hash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1782, - "src": "3629:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3619:15:12", - "typeDescriptions": { - "typeIdentifier": "t_struct$_pending_$1603_storage", - "typeString": "struct WFIO.pending storage ref" - } - }, - "id": 1887, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "approved", - "nodeType": "MemberAccess", - "referencedDeclaration": 1594, - "src": "3619:24:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 1890, - "indexExpression": { - "expression": { - "id": 1888, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "3644:3:12", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1889, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "3644:10:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3619:36:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "416e20617070726f76696e67206f7261636c65206d7573742065786563757465", - "id": 1891, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3657:34:12", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1a5adee8cc0aa38e9da2bc9f89e109474bcb9a24807fb4f99009a90367b0143d", - "typeString": "literal_string \"An approving oracle must execute\"" - }, - "value": "An approving oracle must execute" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_1a5adee8cc0aa38e9da2bc9f89e109474bcb9a24807fb4f99009a90367b0143d", - "typeString": "literal_string \"An approving oracle must execute\"" - } - ], - "id": 1883, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "3611:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1892, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3611:81:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1893, - "nodeType": "ExpressionStatement", - "src": "3611:81:12" - }, - { - "expression": { - "id": 1899, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "id": 1894, - "name": "approvals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1666, - "src": "3704:9:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_pending_$1603_storage_$", - "typeString": "mapping(bytes32 => struct WFIO.pending storage ref)" - } - }, - "id": 1896, - "indexExpression": { - "id": 1895, - "name": "hash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1782, - "src": "3714:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3704:15:12", - "typeDescriptions": { - "typeIdentifier": "t_struct$_pending_$1603_storage", - "typeString": "struct WFIO.pending storage ref" - } - }, - "id": 1897, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "complete", - "nodeType": "MemberAccess", - "referencedDeclaration": 1602, - "src": "3704:24:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "74727565", - "id": 1898, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3731:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "3704:31:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1900, - "nodeType": "ExpressionStatement", - "src": "3704:31:12" - }, - { - "expression": { - "expression": { - "baseExpression": { - "id": 1901, - "name": "approvals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1666, - "src": "3754:9:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_pending_$1603_storage_$", - "typeString": "mapping(bytes32 => struct WFIO.pending storage ref)" - } - }, - "id": 1903, - "indexExpression": { - "id": 1902, - "name": "hash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1782, - "src": "3764:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3754:15:12", - "typeDescriptions": { - "typeIdentifier": "t_struct$_pending_$1603_storage", - "typeString": "struct WFIO.pending storage ref" - } - }, - "id": 1904, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "complete", - "nodeType": "MemberAccess", - "referencedDeclaration": 1602, - "src": "3754:24:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 1792, - "id": 1905, - "nodeType": "Return", - "src": "3747:31:12" - } - ] - } - } - ] - } - }, - { - "expression": { - "expression": { - "baseExpression": { - "id": 1910, - "name": "approvals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1666, - "src": "3811:9:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_pending_$1603_storage_$", - "typeString": "mapping(bytes32 => struct WFIO.pending storage ref)" - } - }, - "id": 1912, - "indexExpression": { - "id": 1911, - "name": "hash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1782, - "src": "3821:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3811:15:12", - "typeDescriptions": { - "typeIdentifier": "t_struct$_pending_$1603_storage", - "typeString": "struct WFIO.pending storage ref" - } - }, - "id": 1913, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "complete", - "nodeType": "MemberAccess", - "referencedDeclaration": 1602, - "src": "3811:24:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 1792, - "id": 1914, - "nodeType": "Return", - "src": "3804:31:12" - } - ] - }, - "id": 1916, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getConsensus", - "nameLocation": "2708:12:12", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1789, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1782, - "mutability": "mutable", - "name": "hash", - "nameLocation": "2729:4:12", - "nodeType": "VariableDeclaration", - "scope": 1916, - "src": "2721:12:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1781, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2721:7:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1784, - "mutability": "mutable", - "name": "Type", - "nameLocation": "2741:4:12", - "nodeType": "VariableDeclaration", - "scope": 1916, - "src": "2735:10:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 1783, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "2735:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1786, - "mutability": "mutable", - "name": "account", - "nameLocation": "2755:7:12", - "nodeType": "VariableDeclaration", - "scope": 1916, - "src": "2747:15:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1785, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2747:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1788, - "mutability": "mutable", - "name": "amount", - "nameLocation": "2772:6:12", - "nodeType": "VariableDeclaration", - "scope": 1916, - "src": "2764:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1787, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2764:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2720:59:12" - }, - "returnParameters": { - "id": 1792, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1791, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1916, - "src": "2798:4:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1790, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2798:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "2797:6:12" - }, - "scope": 2612, - "src": "2699:1143:12", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2007, - "nodeType": "Block", - "src": "3961:539:12", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1933, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1931, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1920, - "src": "3977:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "id": 1932, - "name": "MINTABLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1569, - "src": "3986:8:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3977:17:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1930, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "3969:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1934, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3969:26:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1935, - "nodeType": "ExpressionStatement", - "src": "3969:26:12" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1943, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "arguments": [ - { - "id": 1939, - "name": "obtid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1922, - "src": "4017:5:12", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 1938, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4011:5:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": { - "id": 1937, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4011:5:12", - "typeDescriptions": {} - } - }, - "id": 1940, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4011:12:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 1941, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "4011:19:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 1942, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4033:1:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "4011:23:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "496e76616c6964206f62746964", - "id": 1944, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4036:15:12", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f680803027a1359df75b0a2736bd68cd7743fb83124a9d4efbdc3a64a77cf20f", - "typeString": "literal_string \"Invalid obtid\"" - }, - "value": "Invalid obtid" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_f680803027a1359df75b0a2736bd68cd7743fb83124a9d4efbdc3a64a77cf20f", - "typeString": "literal_string \"Invalid obtid\"" - } - ], - "id": 1936, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "4003:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1945, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4003:49:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1946, - "nodeType": "ExpressionStatement", - "src": "4003:49:12" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 1953, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1948, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1918, - "src": "4068:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 1951, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4087:1:12", - "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": 1950, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4079:7:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 1949, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4079:7:12", - "typeDescriptions": {} - } - }, - "id": 1952, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4079:10:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "4068:21:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "496e76616c6964206163636f756e74", - "id": 1954, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4091:17:12", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_96004842ff601b6d8519c15dcff18308fcdd4e716146ba6a8ca79e8687927600", - "typeString": "literal_string \"Invalid account\"" - }, - "value": "Invalid account" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_96004842ff601b6d8519c15dcff18308fcdd4e716146ba6a8ca79e8687927600", - "typeString": "literal_string \"Invalid account\"" - } - ], - "id": 1947, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "4060:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1955, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4060:49:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1956, - "nodeType": "ExpressionStatement", - "src": "4060:49:12" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 1960, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1958, - "name": "oracle_count", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1607, - "src": "4125:12:12", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "hexValue": "33", - "id": 1959, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4141:1:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "4125:17:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4f7261636c6573206d7573742062652033206f722067726561746572", - "id": 1961, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4144:30:12", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_554179b8f83bb1fa393538dc82d36ebcd53fdf6c86409aa6c89130d509b651db", - "typeString": "literal_string \"Oracles must be 3 or greater\"" - }, - "value": "Oracles must be 3 or greater" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_554179b8f83bb1fa393538dc82d36ebcd53fdf6c86409aa6c89130d509b651db", - "typeString": "literal_string \"Oracles must be 3 or greater\"" - } - ], - "id": 1957, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "4117:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1962, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4117:58:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1963, - "nodeType": "ExpressionStatement", - "src": "4117:58:12" - }, - { - "assignments": [ - 1965 - ], - "declarations": [ - { - "constant": false, - "id": 1965, - "mutability": "mutable", - "name": "indexhash", - "nameLocation": "4191:9:12", - "nodeType": "VariableDeclaration", - "scope": 2007, - "src": "4183:17:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1964, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4183:7:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "id": 1979, - "initialValue": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "expression": { - "id": 1971, - "name": "ApprovalType", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1590, - "src": "4230:12:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_ApprovalType_$1590_$", - "typeString": "type(enum WFIO.ApprovalType)" - } - }, - "id": 1972, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "Wrap", - "nodeType": "MemberAccess", - "referencedDeclaration": 1585, - "src": "4230:17:12", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ApprovalType_$1590", - "typeString": "enum WFIO.ApprovalType" - } - }, - { - "id": 1973, - "name": "obtid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1922, - "src": "4249:5:12", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "id": 1974, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1920, - "src": "4256:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1975, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1918, - "src": "4264:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_enum$_ApprovalType_$1590", - "typeString": "enum WFIO.ApprovalType" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 1969, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967295, - "src": "4219:3:12", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 1970, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encode", - "nodeType": "MemberAccess", - "src": "4219:10:12", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 1976, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4219:53:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 1968, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4213:5:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": { - "id": 1967, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4213:5:12", - "typeDescriptions": {} - } - }, - "id": 1977, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4213:60:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 1966, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967288, - "src": "4203:9:12", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 1978, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4203:71:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4183:91:12" - }, - { - "condition": { - "arguments": [ - { - "id": 1981, - "name": "indexhash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1965, - "src": "4300:9:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "hexValue": "30", - "id": 1982, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4311:1:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "id": 1983, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1918, - "src": "4314:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 1984, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1920, - "src": "4323:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1980, - "name": "getConsensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1916, - "src": "4287:12:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_uint8_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (bytes32,uint8,address,uint256) returns (bool)" - } - }, - "id": 1985, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4287:43:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1998, - "nodeType": "IfStatement", - "src": "4283:138:12", - "trueBody": { - "id": 1997, - "nodeType": "Block", - "src": "4332:89:12", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 1987, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1918, - "src": "4349:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 1988, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1920, - "src": "4358:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1986, - "name": "_mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 903, - "src": "4343:5:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 1989, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4343:22:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1990, - "nodeType": "ExpressionStatement", - "src": "4343:22:12" - }, - { - "eventCall": { - "arguments": [ - { - "id": 1992, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1918, - "src": "4389:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 1993, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1920, - "src": "4398:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1994, - "name": "obtid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1922, - "src": "4406:5:12", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 1991, - "name": "wrapped", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1621, - "src": "4381:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (address,uint256,string memory)" - } - }, - "id": 1995, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4381:31:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1996, - "nodeType": "EmitStatement", - "src": "4376:36:12" - } - ] - } - }, - { - "eventCall": { - "arguments": [ - { - "hexValue": "6f7261636c65", - "id": 2000, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4453:8:12", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_89cbf5af14e0328a3cd3a734f92c3832d729d431da79b7873a62cbeebd37beb6", - "typeString": "literal_string \"oracle\"" - }, - "value": "oracle" - }, - { - "expression": { - "id": 2001, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "4463:3:12", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2002, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "4463:10:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 2003, - "name": "obtid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1922, - "src": "4475:5:12", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "id": 2004, - "name": "indexhash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1965, - "src": "4482:9:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_89cbf5af14e0328a3cd3a734f92c3832d729d431da79b7873a62cbeebd37beb6", - "typeString": "literal_string \"oracle\"" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 1999, - "name": "consensus_activity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1655, - "src": "4434:18:12", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_address_$_t_string_memory_ptr_$_t_bytes32_$returns$__$", - "typeString": "function (string memory,address,string memory,bytes32)" - } - }, - "id": 2005, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4434:58:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2006, - "nodeType": "EmitStatement", - "src": "4429:63:12" - } - ] - }, - "functionSelector": "da4baecb", - "id": 2008, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "id": 1925, - "name": "ORACLE_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1574, - "src": "3935:11:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 1926, - "kind": "modifierInvocation", - "modifierName": { - "id": 1924, - "name": "onlyRole", - "nodeType": "IdentifierPath", - "referencedDeclaration": 38, - "src": "3926:8:12" - }, - "nodeType": "ModifierInvocation", - "src": "3926:21:12" - }, - { - "id": 1928, - "kind": "modifierInvocation", - "modifierName": { - "id": 1927, - "name": "whenNotPaused", - "nodeType": "IdentifierPath", - "referencedDeclaration": 427, - "src": "3948:13:12" - }, - "nodeType": "ModifierInvocation", - "src": "3948:13:12" - } - ], - "name": "wrap", - "nameLocation": "3858:4:12", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1923, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1918, - "mutability": "mutable", - "name": "account", - "nameLocation": "3871:7:12", - "nodeType": "VariableDeclaration", - "scope": 2008, - "src": "3863:15:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1917, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3863:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1920, - "mutability": "mutable", - "name": "amount", - "nameLocation": "3888:6:12", - "nodeType": "VariableDeclaration", - "scope": 2008, - "src": "3880:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1919, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3880:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1922, - "mutability": "mutable", - "name": "obtid", - "nameLocation": "3910:5:12", - "nodeType": "VariableDeclaration", - "scope": 2008, - "src": "3896:19:12", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1921, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3896:6:12", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "3862:54:12" - }, - "returnParameters": { - "id": 1929, - "nodeType": "ParameterList", - "parameters": [], - "src": "3961:0:12" - }, - "scope": 2612, - "src": "3849:651:12", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 2047, - "nodeType": "Block", - "src": "4586:184:12", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 2032, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2024, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "arguments": [ - { - "id": 2020, - "name": "fioaddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2010, - "src": "4608:10:12", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 2019, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4602:5:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": { - "id": 2018, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4602:5:12", - "typeDescriptions": {} - } - }, - "id": 2021, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4602:17:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 2022, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "4602:24:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "33", - "id": 2023, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4629:1:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "4602:28:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2031, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "arguments": [ - { - "id": 2027, - "name": "fioaddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2010, - "src": "4640:10:12", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 2026, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4634:5:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": { - "id": 2025, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4634:5:12", - "typeDescriptions": {} - } - }, - "id": 2028, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4634:17:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 2029, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "4634:24:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "hexValue": "3634", - "id": 2030, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4662:2:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_64_by_1", - "typeString": "int_const 64" - }, - "value": "64" - }, - "src": "4634:30:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "4602:62:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "496e76616c69642046494f2041646472657373", - "id": 2033, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4666:21:12", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a8cfcfcc55b6217d6c72e8a7fbcf4640857aa133e72442c50f662d62bae73a58", - "typeString": "literal_string \"Invalid FIO Address\"" - }, - "value": "Invalid FIO Address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_a8cfcfcc55b6217d6c72e8a7fbcf4640857aa133e72442c50f662d62bae73a58", - "typeString": "literal_string \"Invalid FIO Address\"" - } - ], - "id": 2017, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "4594:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2034, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4594:94:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2035, - "nodeType": "ExpressionStatement", - "src": "4594:94:12" - }, - { - "expression": { - "arguments": [ - { - "expression": { - "id": 2037, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "4702:3:12", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2038, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "4702:10:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 2039, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2012, - "src": "4714:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2036, - "name": "_burn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 975, - "src": "4696:5:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 2040, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4696:25:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2041, - "nodeType": "ExpressionStatement", - "src": "4696:25:12" - }, - { - "eventCall": { - "arguments": [ - { - "id": 2043, - "name": "fioaddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2010, - "src": "4744:10:12", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "id": 2044, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2012, - "src": "4756:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2042, - "name": "unwrapped", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1613, - "src": "4734:9:12", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (string memory,uint256)" - } - }, - "id": 2045, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4734:29:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2046, - "nodeType": "EmitStatement", - "src": "4729:34:12" - } - ] - }, - "functionSelector": "8c70c3bd", - "id": 2048, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 2015, - "kind": "modifierInvocation", - "modifierName": { - "id": 2014, - "name": "whenNotPaused", - "nodeType": "IdentifierPath", - "referencedDeclaration": 427, - "src": "4573:13:12" - }, - "nodeType": "ModifierInvocation", - "src": "4573:13:12" - } - ], - "name": "unwrap", - "nameLocation": "4515:6:12", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2013, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2010, - "mutability": "mutable", - "name": "fioaddress", - "nameLocation": "4536:10:12", - "nodeType": "VariableDeclaration", - "scope": 2048, - "src": "4522:24:12", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2009, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4522:6:12", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2012, - "mutability": "mutable", - "name": "amount", - "nameLocation": "4556:6:12", - "nodeType": "VariableDeclaration", - "scope": 2048, - "src": "4548:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2011, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4548:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4521:42:12" - }, - "returnParameters": { - "id": 2016, - "nodeType": "ParameterList", - "parameters": [], - "src": "4586:0:12" - }, - "scope": 2612, - "src": "4506:264:12", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "baseFunctions": [ - 1074, - 1244 - ], - "body": { - "id": 2078, - "nodeType": "Block", - "src": "4888:133:12", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2066, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2061, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2052, - "src": "4906:2:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "id": 2064, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967268, - "src": "4920:4:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WFIO_$2612", - "typeString": "contract WFIO" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_WFIO_$2612", - "typeString": "contract WFIO" - } - ], - "id": 2063, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4912:7:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 2062, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4912:7:12", - "typeDescriptions": {} - } - }, - "id": 2065, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4912:13:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "4906:19:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "436f6e74726163742063616e6e6f74207265636569766520746f6b656e73", - "id": 2067, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4927:32:12", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_3adffa81679593af164a42b682923f89b14e652695bf10e28904c07103f4a231", - "typeString": "literal_string \"Contract cannot receive tokens\"" - }, - "value": "Contract cannot receive tokens" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_3adffa81679593af164a42b682923f89b14e652695bf10e28904c07103f4a231", - "typeString": "literal_string \"Contract cannot receive tokens\"" - } - ], - "id": 2060, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "4898:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2068, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4898:62:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2069, - "nodeType": "ExpressionStatement", - "src": "4898:62:12" - }, - { - "expression": { - "arguments": [ - { - "id": 2073, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2050, - "src": "4997:4:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 2074, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2052, - "src": "5003:2:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 2075, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2054, - "src": "5007:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 2070, - "name": "super", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967271, - "src": "4970:5:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_super$_WFIO_$2612_$", - "typeString": "type(contract super WFIO)" - } - }, - "id": 2072, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "_beforeTokenTransfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 1244, - "src": "4970:26:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 2076, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4970:44:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2077, - "nodeType": "ExpressionStatement", - "src": "4970:44:12" - } - ] - }, - "id": 2079, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_beforeTokenTransfer", - "nameLocation": "4785:20:12", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 2058, - "nodeType": "OverrideSpecifier", - "overrides": [ - { - "id": 2056, - "name": "ERC20", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1086, - "src": "4866:5:12" - }, - { - "id": 2057, - "name": "ERC20Pausable", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1245, - "src": "4873:13:12" - } - ], - "src": "4857:30:12" - }, - "parameters": { - "id": 2055, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2050, - "mutability": "mutable", - "name": "from", - "nameLocation": "4814:4:12", - "nodeType": "VariableDeclaration", - "scope": 2079, - "src": "4806:12:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2049, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4806:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2052, - "mutability": "mutable", - "name": "to", - "nameLocation": "4828:2:12", - "nodeType": "VariableDeclaration", - "scope": 2079, - "src": "4820:10:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2051, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4820:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2054, - "mutability": "mutable", - "name": "amount", - "nameLocation": "4840:6:12", - "nodeType": "VariableDeclaration", - "scope": 2079, - "src": "4832:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2053, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4832:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4805:42:12" - }, - "returnParameters": { - "id": 2059, - "nodeType": "ParameterList", - "parameters": [], - "src": "4888:0:12" - }, - "scope": 2612, - "src": "4776:245:12", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2105, - "nodeType": "Block", - "src": "5104:130:12", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2094, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2089, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2081, - "src": "5120:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 2092, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5139:1:12", - "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": 2091, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5131:7:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 2090, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5131:7:12", - "typeDescriptions": {} - } - }, - "id": 2093, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5131:10:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "5120:21:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "496e76616c69642061646472657373", - "id": 2095, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5143:17:12", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1462473b7a4b33d32b109b815fd2324d00c9e5839b707ecf16d0ab5744f99226", - "typeString": "literal_string \"Invalid address\"" - }, - "value": "Invalid address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_1462473b7a4b33d32b109b815fd2324d00c9e5839b707ecf16d0ab5744f99226", - "typeString": "literal_string \"Invalid address\"" - } - ], - "id": 2088, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "5112:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2096, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5112:49:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2097, - "nodeType": "ExpressionStatement", - "src": "5112:49:12" - }, - { - "expression": { - "components": [ - { - "arguments": [ - { - "id": 2099, - "name": "CUSTODIAN_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1584, - "src": "5185:14:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 2100, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2081, - "src": "5201:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2098, - "name": "hasRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 79, - "src": "5177:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$", - "typeString": "function (bytes32,address) view returns (bool)" - } - }, - "id": 2101, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5177:32:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "id": 2102, - "name": "custodian_count", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1605, - "src": "5211:15:12", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - } - ], - "id": 2103, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "5176:51:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_uint32_$", - "typeString": "tuple(bool,uint32)" - } - }, - "functionReturnParameters": 2087, - "id": 2104, - "nodeType": "Return", - "src": "5169:58:12" - } - ] - }, - "functionSelector": "cb5aa7e9", - "id": 2106, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getCustodian", - "nameLocation": "5037:12:12", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2082, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2081, - "mutability": "mutable", - "name": "account", - "nameLocation": "5058:7:12", - "nodeType": "VariableDeclaration", - "scope": 2106, - "src": "5050:15:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2080, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5050:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "5049:17:12" - }, - "returnParameters": { - "id": 2087, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2084, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2106, - "src": "5090:4:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2083, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5090:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2086, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2106, - "src": "5096:6:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 2085, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "5096:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "visibility": "internal" - } - ], - "src": "5089:14:12" - }, - "scope": 2612, - "src": "5028:206:12", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 2136, - "nodeType": "Block", - "src": "5313:137:12", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2121, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2116, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2108, - "src": "5329:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 2119, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5348:1:12", - "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": 2118, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5340:7:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 2117, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5340:7:12", - "typeDescriptions": {} - } - }, - "id": 2120, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5340:10:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "5329:21:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "496e76616c69642061646472657373", - "id": 2122, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5352:17:12", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1462473b7a4b33d32b109b815fd2324d00c9e5839b707ecf16d0ab5744f99226", - "typeString": "literal_string \"Invalid address\"" - }, - "value": "Invalid address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_1462473b7a4b33d32b109b815fd2324d00c9e5839b707ecf16d0ab5744f99226", - "typeString": "literal_string \"Invalid address\"" - } - ], - "id": 2115, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "5321:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2123, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5321:49:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2124, - "nodeType": "ExpressionStatement", - "src": "5321:49:12" - }, - { - "expression": { - "components": [ - { - "arguments": [ - { - "id": 2126, - "name": "ORACLE_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1574, - "src": "5394:11:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 2127, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2108, - "src": "5407:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2125, - "name": "hasRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 79, - "src": "5386:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$", - "typeString": "function (bytes32,address) view returns (bool)" - } - }, - "id": 2128, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5386:29:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "arguments": [ - { - "expression": { - "id": 2131, - "name": "oraclelist", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1658, - "src": "5424:10:12", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 2132, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "5424:17:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2130, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5417:6:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint32_$", - "typeString": "type(uint32)" - }, - "typeName": { - "id": 2129, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "5417:6:12", - "typeDescriptions": {} - } - }, - "id": 2133, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5417:25:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - } - ], - "id": 2134, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "5385:58:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_uint32_$", - "typeString": "tuple(bool,uint32)" - } - }, - "functionReturnParameters": 2114, - "id": 2135, - "nodeType": "Return", - "src": "5378:65:12" - } - ] - }, - "functionSelector": "10d3d22e", - "id": 2137, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getOracle", - "nameLocation": "5249:9:12", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2109, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2108, - "mutability": "mutable", - "name": "account", - "nameLocation": "5267:7:12", - "nodeType": "VariableDeclaration", - "scope": 2137, - "src": "5259:15:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2107, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5259:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "5258:17:12" - }, - "returnParameters": { - "id": 2114, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2111, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2137, - "src": "5299:4:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2110, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5299:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2113, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2137, - "src": "5305:6:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 2112, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "5305:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "visibility": "internal" - } - ], - "src": "5298:14:12" - }, - "scope": 2612, - "src": "5240:210:12", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 2145, - "nodeType": "Block", - "src": "5518:32:12", - "statements": [ - { - "expression": { - "id": 2143, - "name": "oraclelist", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1658, - "src": "5533:10:12", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "functionReturnParameters": 2142, - "id": 2144, - "nodeType": "Return", - "src": "5526:17:12" - } - ] - }, - "functionSelector": "40884c52", - "id": 2146, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getOracles", - "nameLocation": "5465:10:12", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2138, - "nodeType": "ParameterList", - "parameters": [], - "src": "5475:2:12" - }, - "returnParameters": { - "id": 2142, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2141, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2146, - "src": "5500:16:12", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 2139, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5500:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 2140, - "nodeType": "ArrayTypeName", - "src": "5500:9:12", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "visibility": "internal" - } - ], - "src": "5499:18:12" - }, - "scope": 2612, - "src": "5456:94:12", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 2188, - "nodeType": "Block", - "src": "5650:194:12", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2161, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 2158, - "name": "indexhash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2148, - "src": "5666:9:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 2159, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "5666:16:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 2160, + }, "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", + "isLValue": true, + "isPure": false, "lValueRequested": false, - "nodeType": "Literal", - "src": "5685:1:12", + "nodeType": "IndexAccess", + "src": "5787:29:12", "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" + "typeIdentifier": "t_struct$_pending_$1603_storage", + "typeString": "struct WFIO.pending storage ref" + } }, - "src": "5666:20:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "496e76616c6964206f62746964", - "id": 2162, + "id": 2182, "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", + "isLValue": true, + "isPure": false, "lValueRequested": false, - "nodeType": "Literal", - "src": "5688:15:12", + "memberName": "approvals", + "nodeType": "MemberAccess", + "referencedDeclaration": 1596, + "src": "5787:39:12", "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f680803027a1359df75b0a2736bd68cd7743fb83124a9d4efbdc3a64a77cf20f", - "typeString": "literal_string \"Invalid obtid\"" - }, - "value": "Invalid obtid" + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_f680803027a1359df75b0a2736bd68cd7743fb83124a9d4efbdc3a64a77cf20f", - "typeString": "literal_string \"Invalid obtid\"" + "typeIdentifier": "t_uint32", + "typeString": "uint32" } ], - "id": 2157, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "5658:7:12", + "id": 2175, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "5773:13:12", "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (address[] memory)" + }, + "typeName": { + "baseType": { + "id": 2173, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5777:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2174, + "nodeType": "ArrayTypeName", + "src": "5777:9:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } } }, - "id": 2163, + "id": 2183, "isConstant": false, "isLValue": false, "isPure": false, @@ -43496,16 +29784,504 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5658:46:12", + "src": "5773:54:12", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" } }, - "id": 2164, - "nodeType": "ExpressionStatement", - "src": "5658:46:12" + "nodeType": "VariableDeclarationStatement", + "src": "5738:89:12" + }, + { + "assignments": [ + 2186 + ], + "declarations": [ + { + "constant": false, + "id": 2186, + "mutability": "mutable", + "name": "c", + "nameLocation": "5842:1:12", + "nodeType": "VariableDeclaration", + "scope": 2250, + "src": "5835:8:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 2185, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "5835:6:12", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "visibility": "internal" + } + ], + "id": 2188, + "initialValue": { + "hexValue": "30", + "id": 2187, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5846:1:12", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "5835:12:12" + }, + { + "body": { + "id": 2224, + "nodeType": "Block", + "src": "5901:149:12", + "statements": [ + { + "condition": { + "baseExpression": { + "expression": { + "baseExpression": { + "id": 2200, + "name": "approvals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1666, + "src": "5915:9:12", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_pending_$1603_storage_$", + "typeString": "mapping(bytes32 => struct WFIO.pending storage ref)" + } + }, + "id": 2205, + "indexExpression": { + "arguments": [ + { + "id": 2203, + "name": "indexhash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2148, + "src": "5933:9:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 2202, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5925:7:12", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": { + "id": 2201, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5925:7:12", + "typeDescriptions": {} + } + }, + "id": 2204, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5925:18:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5915:29:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_pending_$1603_storage", + "typeString": "struct WFIO.pending storage ref" + } + }, + "id": 2206, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "approved", + "nodeType": "MemberAccess", + "referencedDeclaration": 1594, + "src": "5915:38:12", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 2210, + "indexExpression": { + "baseExpression": { + "id": 2207, + "name": "oraclelist", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1658, + "src": "5954:10:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 2209, + "indexExpression": { + "id": 2208, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2190, + "src": "5965:1:12", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5954:13:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5915:53:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2223, + "nodeType": "IfStatement", + "src": "5911:131:12", + "trueBody": { + "id": 2222, + "nodeType": "Block", + "src": "5970:72:12", + "statements": [ + { + "expression": { + "id": 2217, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 2211, + "name": "approvedOracles", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2172, + "src": "5982:15:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 2213, + "indexExpression": { + "id": 2212, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2186, + "src": "5998:1:12", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5982:18:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "baseExpression": { + "id": 2214, + "name": "oraclelist", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1658, + "src": "6003:10:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 2216, + "indexExpression": { + "id": 2215, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2190, + "src": "6014:1:12", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6003:13:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "5982:34:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2218, + "nodeType": "ExpressionStatement", + "src": "5982:34:12" + }, + { + "expression": { + "id": 2220, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "6028:3:12", + "subExpression": { + "id": 2219, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2186, + "src": "6028:1:12", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "id": 2221, + "nodeType": "ExpressionStatement", + "src": "6028:3:12" + } + ] + } + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2196, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2193, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2190, + "src": "5873:1:12", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 2194, + "name": "oraclelist", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1658, + "src": "5877:10:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 2195, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "5877:17:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5873:21:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2225, + "initializationExpression": { + "assignments": [ + 2190 + ], + "declarations": [ + { + "constant": false, + "id": 2190, + "mutability": "mutable", + "name": "i", + "nameLocation": "5866:1:12", + "nodeType": "VariableDeclaration", + "scope": 2225, + "src": "5859:8:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 2189, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "5859:6:12", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "visibility": "internal" + } + ], + "id": 2192, + "initialValue": { + "hexValue": "30", + "id": 2191, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5870:1:12", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "5859:12:12" + }, + "loopExpression": { + "expression": { + "id": 2198, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "5896:3:12", + "subExpression": { + "id": 2197, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2190, + "src": "5896:1:12", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "id": 2199, + "nodeType": "ExpressionStatement", + "src": "5896:3:12" + }, + "nodeType": "ForStatement", + "src": "5855:195:12" }, { "expression": { @@ -43513,27 +30289,27 @@ { "expression": { "baseExpression": { - "id": 2165, + "id": 2226, "name": "approvals", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1666, - "src": "5720:9:12", + "src": "6065:9:12", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_pending_$1603_storage_$", "typeString": "mapping(bytes32 => struct WFIO.pending storage ref)" } }, - "id": 2170, + "id": 2231, "indexExpression": { "arguments": [ { - "id": 2168, + "id": 2229, "name": "indexhash", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2148, - "src": "5738:9:12", + "src": "6083:9:12", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -43547,26 +30323,26 @@ "typeString": "bytes memory" } ], - "id": 2167, + "id": 2228, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "5730:7:12", + "src": "6075:7:12", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes32_$", "typeString": "type(bytes32)" }, "typeName": { - "id": 2166, + "id": 2227, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "5730:7:12", + "src": "6075:7:12", "typeDescriptions": {} } }, - "id": 2169, + "id": 2230, "isConstant": false, "isLValue": false, "isPure": false, @@ -43574,7 +30350,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5730:18:12", + "src": "6075:18:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -43586,13 +30362,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5720:29:12", + "src": "6065:29:12", "typeDescriptions": { "typeIdentifier": "t_struct$_pending_$1603_storage", "typeString": "struct WFIO.pending storage ref" } }, - "id": 2171, + "id": 2232, "isConstant": false, "isLValue": true, "isPure": false, @@ -43600,7 +30376,7 @@ "memberName": "approvals", "nodeType": "MemberAccess", "referencedDeclaration": 1596, - "src": "5720:39:12", + "src": "6065:39:12", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -43609,27 +30385,27 @@ { "expression": { "baseExpression": { - "id": 2172, + "id": 2233, "name": "approvals", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1666, - "src": "5761:9:12", + "src": "6106:9:12", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_pending_$1603_storage_$", "typeString": "mapping(bytes32 => struct WFIO.pending storage ref)" } }, - "id": 2177, + "id": 2238, "indexExpression": { "arguments": [ { - "id": 2175, + "id": 2236, "name": "indexhash", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2148, - "src": "5779:9:12", + "src": "6124:9:12", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -43643,26 +30419,26 @@ "typeString": "bytes memory" } ], - "id": 2174, + "id": 2235, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "5771:7:12", + "src": "6116:7:12", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes32_$", "typeString": "type(bytes32)" }, "typeName": { - "id": 2173, + "id": 2234, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "5771:7:12", + "src": "6116:7:12", "typeDescriptions": {} } }, - "id": 2176, + "id": 2237, "isConstant": false, "isLValue": false, "isPure": false, @@ -43670,7 +30446,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5771:18:12", + "src": "6116:18:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -43682,13 +30458,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5761:29:12", + "src": "6106:29:12", "typeDescriptions": { "typeIdentifier": "t_struct$_pending_$1603_storage", "typeString": "struct WFIO.pending storage ref" } }, - "id": 2178, + "id": 2239, "isConstant": false, "isLValue": true, "isPure": false, @@ -43696,7 +30472,7 @@ "memberName": "account", "nodeType": "MemberAccess", "referencedDeclaration": 1598, - "src": "5761:37:12", + "src": "6106:37:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -43705,27 +30481,27 @@ { "expression": { "baseExpression": { - "id": 2179, + "id": 2240, "name": "approvals", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1666, - "src": "5800:9:12", + "src": "6145:9:12", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_pending_$1603_storage_$", "typeString": "mapping(bytes32 => struct WFIO.pending storage ref)" } }, - "id": 2184, + "id": 2245, "indexExpression": { "arguments": [ { - "id": 2182, + "id": 2243, "name": "indexhash", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2148, - "src": "5818:9:12", + "src": "6163:9:12", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -43739,26 +30515,26 @@ "typeString": "bytes memory" } ], - "id": 2181, + "id": 2242, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "5810:7:12", + "src": "6155:7:12", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes32_$", "typeString": "type(bytes32)" }, "typeName": { - "id": 2180, + "id": 2241, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "5810:7:12", + "src": "6155:7:12", "typeDescriptions": {} } }, - "id": 2183, + "id": 2244, "isConstant": false, "isLValue": false, "isPure": false, @@ -43766,7 +30542,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5810:18:12", + "src": "6155:18:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -43778,13 +30554,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5800:29:12", + "src": "6145:29:12", "typeDescriptions": { "typeIdentifier": "t_struct$_pending_$1603_storage", "typeString": "struct WFIO.pending storage ref" } }, - "id": 2185, + "id": 2246, "isConstant": false, "isLValue": true, "isPure": false, @@ -43792,40 +30568,52 @@ "memberName": "amount", "nodeType": "MemberAccess", "referencedDeclaration": 1600, - "src": "5800:36:12", + "src": "6145:36:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + { + "id": 2247, + "name": "approvedOracles", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2172, + "src": "6183:15:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } } ], - "id": 2186, + "id": 2248, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "5719:118:12", + "src": "6064:135:12", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint32_$_t_address_$_t_uint256_$", - "typeString": "tuple(uint32,address,uint256)" + "typeIdentifier": "t_tuple$_t_uint32_$_t_address_$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$", + "typeString": "tuple(uint32,address,uint256,address[] memory)" } }, - "functionReturnParameters": 2156, - "id": 2187, + "functionReturnParameters": 2159, + "id": 2249, "nodeType": "Return", - "src": "5712:125:12" + "src": "6057:142:12" } ] }, "functionSelector": "a7bf70b9", - "id": 2189, + "id": 2251, "implemented": true, "kind": "function", "modifiers": [], "name": "getApproval", - "nameLocation": "5565:11:12", + "nameLocation": "5573:11:12", "nodeType": "FunctionDefinition", "parameters": { "id": 2149, @@ -43836,10 +30624,10 @@ "id": 2148, "mutability": "mutable", "name": "indexhash", - "nameLocation": "5590:9:12", + "nameLocation": "5598:9:12", "nodeType": "VariableDeclaration", - "scope": 2189, - "src": "5577:22:12", + "scope": 2251, + "src": "5585:22:12", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -43850,7 +30638,7 @@ "id": 2147, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "5577:5:12", + "src": "5585:5:12", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -43859,10 +30647,10 @@ "visibility": "internal" } ], - "src": "5576:24:12" + "src": "5584:24:12" }, "returnParameters": { - "id": 2156, + "id": 2159, "nodeType": "ParameterList", "parameters": [ { @@ -43872,8 +30660,8 @@ "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 2189, - "src": "5624:6:12", + "scope": 2251, + "src": "5632:6:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -43884,7 +30672,7 @@ "id": 2150, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "5624:6:12", + "src": "5632:6:12", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -43899,8 +30687,8 @@ "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 2189, - "src": "5632:7:12", + "scope": 2251, + "src": "5640:7:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -43911,7 +30699,7 @@ "id": 2152, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5632:7:12", + "src": "5640:7:12", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -43927,8 +30715,8 @@ "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 2189, - "src": "5641:7:12", + "scope": 2251, + "src": "5649:7:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -43939,28 +30727,65 @@ "id": 2154, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5641:7:12", + "src": "5649:7:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" + }, + { + "constant": false, + "id": 2158, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2251, + "src": "5658:16:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 2156, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5658:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2157, + "nodeType": "ArrayTypeName", + "src": "5658:9:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "visibility": "internal" } ], - "src": "5623:26:12" + "src": "5631:44:12" }, - "scope": 2612, - "src": "5556:288:12", + "scope": 2694, + "src": "5564:642:12", "stateMutability": "view", "virtual": false, "visibility": "external" }, { "body": { - "id": 2273, + "id": 2335, "nodeType": "Block", - "src": "5921:573:12", + "src": "6283:573:12", "statements": [ { "expression": { @@ -43970,18 +30795,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 2203, + "id": 2265, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2198, + "id": 2260, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2191, - "src": "5937:7:12", + "referencedDeclaration": 2253, + "src": "6299:7:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -43993,14 +30818,14 @@ "arguments": [ { "hexValue": "30", - "id": 2201, + "id": 2263, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5956:1:12", + "src": "6318:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -44015,26 +30840,26 @@ "typeString": "int_const 0" } ], - "id": 2200, + "id": 2262, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "5948:7:12", + "src": "6310:7:12", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 2199, + "id": 2261, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5948:7:12", + "src": "6310:7:12", "typeDescriptions": {} } }, - "id": 2202, + "id": 2264, "isConstant": false, "isLValue": false, "isPure": true, @@ -44042,14 +30867,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5948:10:12", + "src": "6310:10:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "5937:21:12", + "src": "6299:21:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -44057,14 +30882,14 @@ }, { "hexValue": "496e76616c69642061646472657373", - "id": 2204, + "id": 2266, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "5960:17:12", + "src": "6322:17:12", "typeDescriptions": { "typeIdentifier": "t_stringliteral_1462473b7a4b33d32b109b815fd2324d00c9e5839b707ecf16d0ab5744f99226", "typeString": "literal_string \"Invalid address\"" @@ -44083,7 +30908,7 @@ "typeString": "literal_string \"Invalid address\"" } ], - "id": 2197, + "id": 2259, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -44091,13 +30916,13 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "5929:7:12", + "src": "6291:7:12", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 2205, + "id": 2267, "isConstant": false, "isLValue": false, "isPure": false, @@ -44105,16 +30930,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5929:49:12", + "src": "6291:49:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2206, + "id": 2268, "nodeType": "ExpressionStatement", - "src": "5929:49:12" + "src": "6291:49:12" }, { "expression": { @@ -44124,18 +30949,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 2211, + "id": 2273, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2208, + "id": 2270, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2191, - "src": "5994:7:12", + "referencedDeclaration": 2253, + "src": "6356:7:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -44145,31 +30970,31 @@ "operator": "!=", "rightExpression": { "expression": { - "id": 2209, + "id": 2271, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967281, - "src": "6005:3:12", + "src": "6367:3:12", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 2210, + "id": 2272, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", - "src": "6005:10:12", + "src": "6367:10:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "5994:21:12", + "src": "6356:21:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -44177,14 +31002,14 @@ }, { "hexValue": "43616e6e6f742072656769737465722073656c66", - "id": 2212, + "id": 2274, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "6017:22:12", + "src": "6379:22:12", "typeDescriptions": { "typeIdentifier": "t_stringliteral_78b7b6e655079b63c1761e6b96d764441d7130eda97b6d8de911b64559d10300", "typeString": "literal_string \"Cannot register self\"" @@ -44203,7 +31028,7 @@ "typeString": "literal_string \"Cannot register self\"" } ], - "id": 2207, + "id": 2269, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -44211,13 +31036,13 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "5986:7:12", + "src": "6348:7:12", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 2213, + "id": 2275, "isConstant": false, "isLValue": false, "isPure": false, @@ -44225,22 +31050,22 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5986:54:12", + "src": "6348:54:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2214, + "id": 2276, "nodeType": "ExpressionStatement", - "src": "5986:54:12" + "src": "6348:54:12" }, { "expression": { "arguments": [ { - "id": 2220, + "id": 2282, "isConstant": false, "isLValue": false, "isPure": false, @@ -44248,28 +31073,28 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "6056:30:12", + "src": "6418:30:12", "subExpression": { "arguments": [ { - "id": 2217, + "id": 2279, "name": "ORACLE_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1574, - "src": "6065:11:12", + "src": "6427:11:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { - "id": 2218, + "id": 2280, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2191, - "src": "6078:7:12", + "referencedDeclaration": 2253, + "src": "6440:7:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -44287,18 +31112,18 @@ "typeString": "address" } ], - "id": 2216, + "id": 2278, "name": "hasRole", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 79, - "src": "6057:7:12", + "src": "6419:7:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$", "typeString": "function (bytes32,address) view returns (bool)" } }, - "id": 2219, + "id": 2281, "isConstant": false, "isLValue": false, "isPure": false, @@ -44306,7 +31131,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6057:29:12", + "src": "6419:29:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -44320,14 +31145,14 @@ }, { "hexValue": "4f7261636c6520616c72656164792072656769737465726564", - "id": 2221, + "id": 2283, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "6088:27:12", + "src": "6450:27:12", "typeDescriptions": { "typeIdentifier": "t_stringliteral_410a1353bff2ac7b239c1715ed2b100211a58806873566bf60887e82d07abdc5", "typeString": "literal_string \"Oracle already registered\"" @@ -44346,7 +31171,7 @@ "typeString": "literal_string \"Oracle already registered\"" } ], - "id": 2215, + "id": 2277, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -44354,13 +31179,13 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "6048:7:12", + "src": "6410:7:12", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 2222, + "id": 2284, "isConstant": false, "isLValue": false, "isPure": false, @@ -44368,31 +31193,31 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6048:68:12", + "src": "6410:68:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2223, + "id": 2285, "nodeType": "ExpressionStatement", - "src": "6048:68:12" + "src": "6410:68:12" }, { "assignments": [ - 2225 + 2287 ], "declarations": [ { "constant": false, - "id": 2225, + "id": 2287, "mutability": "mutable", "name": "indexhash", - "nameLocation": "6132:9:12", + "nameLocation": "6494:9:12", "nodeType": "VariableDeclaration", - "scope": 2273, - "src": "6124:17:12", + "scope": 2335, + "src": "6486:17:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -44400,10 +31225,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 2224, + "id": 2286, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "6124:7:12", + "src": "6486:7:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -44412,7 +31237,7 @@ "visibility": "internal" } ], - "id": 2237, + "id": 2299, "initialValue": { "arguments": [ { @@ -44421,18 +31246,18 @@ "arguments": [ { "expression": { - "id": 2231, + "id": 2293, "name": "ApprovalType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1590, - "src": "6171:12:12", + "src": "6533:12:12", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_ApprovalType_$1590_$", "typeString": "type(enum WFIO.ApprovalType)" } }, - "id": 2232, + "id": 2294, "isConstant": false, "isLValue": false, "isPure": true, @@ -44440,19 +31265,19 @@ "memberName": "AddOracle", "nodeType": "MemberAccess", "referencedDeclaration": 1586, - "src": "6171:22:12", + "src": "6533:22:12", "typeDescriptions": { "typeIdentifier": "t_enum$_ApprovalType_$1590", "typeString": "enum WFIO.ApprovalType" } }, { - "id": 2233, + "id": 2295, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2191, - "src": "6194:7:12", + "referencedDeclaration": 2253, + "src": "6556:7:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -44471,31 +31296,31 @@ } ], "expression": { - "id": 2229, + "id": 2291, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967295, - "src": "6160:3:12", + "src": "6522:3:12", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 2230, + "id": 2292, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "encode", "nodeType": "MemberAccess", - "src": "6160:10:12", + "src": "6522:10:12", "typeDescriptions": { "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 2234, + "id": 2296, "isConstant": false, "isLValue": false, "isPure": false, @@ -44503,7 +31328,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6160:43:12", + "src": "6522:43:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -44518,26 +31343,26 @@ "typeString": "bytes memory" } ], - "id": 2228, + "id": 2290, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "6154:5:12", + "src": "6516:5:12", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 2227, + "id": 2289, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "6154:5:12", + "src": "6516:5:12", "typeDescriptions": {} } }, - "id": 2235, + "id": 2297, "isConstant": false, "isLValue": false, "isPure": false, @@ -44545,7 +31370,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6154:50:12", + "src": "6516:50:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -44560,18 +31385,18 @@ "typeString": "bytes memory" } ], - "id": 2226, + "id": 2288, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967288, - "src": "6144:9:12", + "src": "6506:9:12", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 2236, + "id": 2298, "isConstant": false, "isLValue": false, "isPure": false, @@ -44579,7 +31404,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6144:61:12", + "src": "6506:61:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -44587,18 +31412,18 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "6124:81:12" + "src": "6486:81:12" }, { "condition": { "arguments": [ { - "id": 2239, + "id": 2301, "name": "indexhash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2225, - "src": "6230:9:12", + "referencedDeclaration": 2287, + "src": "6592:9:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -44606,14 +31431,14 @@ }, { "hexValue": "31", - "id": 2240, + "id": 2302, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6241:1:12", + "src": "6603:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -44621,12 +31446,12 @@ "value": "1" }, { - "id": 2241, + "id": 2303, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2191, - "src": "6244:7:12", + "referencedDeclaration": 2253, + "src": "6606:7:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -44634,14 +31459,14 @@ }, { "hexValue": "30", - "id": 2242, + "id": 2304, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6253:1:12", + "src": "6615:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -44668,18 +31493,18 @@ "typeString": "int_const 0" } ], - "id": 2238, + "id": 2300, "name": "getConsensus", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1916, - "src": "6217:12:12", + "src": "6579:12:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_uint8_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (bytes32,uint8,address,uint256) returns (bool)" } }, - "id": 2243, + "id": 2305, "isConstant": false, "isLValue": false, "isPure": false, @@ -44687,43 +31512,43 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6217:38:12", + "src": "6579:38:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 2264, + "id": 2326, "nodeType": "IfStatement", - "src": "6213:204:12", + "src": "6575:204:12", "trueBody": { - "id": 2263, + "id": 2325, "nodeType": "Block", - "src": "6256:161:12", + "src": "6618:161:12", "statements": [ { "expression": { "arguments": [ { - "id": 2245, + "id": 2307, "name": "ORACLE_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1574, - "src": "6277:11:12", + "src": "6639:11:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { - "id": 2246, + "id": 2308, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2191, - "src": "6290:7:12", + "referencedDeclaration": 2253, + "src": "6652:7:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -44741,18 +31566,18 @@ "typeString": "address" } ], - "id": 2244, + "id": 2306, "name": "_grantRole", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 287, - "src": "6266:10:12", + "src": "6628:10:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", "typeString": "function (bytes32,address)" } }, - "id": 2247, + "id": 2309, "isConstant": false, "isLValue": false, "isPure": false, @@ -44760,20 +31585,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6266:32:12", + "src": "6628:32:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2248, + "id": 2310, "nodeType": "ExpressionStatement", - "src": "6266:32:12" + "src": "6628:32:12" }, { "expression": { - "id": 2250, + "id": 2312, "isConstant": false, "isLValue": false, "isPure": false, @@ -44781,14 +31606,14 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "6308:14:12", + "src": "6670:14:12", "subExpression": { - "id": 2249, + "id": 2311, "name": "oracle_count", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1607, - "src": "6308:12:12", + "src": "6670:12:12", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -44799,20 +31624,20 @@ "typeString": "uint32" } }, - "id": 2251, + "id": 2313, "nodeType": "ExpressionStatement", - "src": "6308:14:12" + "src": "6670:14:12" }, { "expression": { "arguments": [ { - "id": 2255, + "id": 2317, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2191, - "src": "6348:7:12", + "referencedDeclaration": 2253, + "src": "6710:7:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -44827,31 +31652,31 @@ } ], "expression": { - "id": 2252, + "id": 2314, "name": "oraclelist", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1658, - "src": "6332:10:12", + "src": "6694:10:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, - "id": 2254, + "id": 2316, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "push", "nodeType": "MemberAccess", - "src": "6332:15:12", + "src": "6694:15:12", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_address_$dyn_storage_ptr_$_t_address_$returns$__$bound_to$_t_array$_t_address_$dyn_storage_ptr_$", "typeString": "function (address[] storage pointer,address)" } }, - "id": 2256, + "id": 2318, "isConstant": false, "isLValue": false, "isPure": false, @@ -44859,39 +31684,39 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6332:24:12", + "src": "6694:24:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2257, + "id": 2319, "nodeType": "ExpressionStatement", - "src": "6332:24:12" + "src": "6694:24:12" }, { "eventCall": { "arguments": [ { - "id": 2259, + "id": 2321, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2191, - "src": "6389:7:12", + "referencedDeclaration": 2253, + "src": "6751:7:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 2260, + "id": 2322, "name": "indexhash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2225, - "src": "6398:9:12", + "referencedDeclaration": 2287, + "src": "6760:9:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -44909,18 +31734,18 @@ "typeString": "bytes32" } ], - "id": 2258, + "id": 2320, "name": "oracle_registered", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1645, - "src": "6371:17:12", + "src": "6733:17:12", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bytes32_$returns$__$", "typeString": "function (address,bytes32)" } }, - "id": 2261, + "id": 2323, "isConstant": false, "isLValue": false, "isPure": false, @@ -44928,16 +31753,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6371:37:12", + "src": "6733:37:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2262, + "id": 2324, "nodeType": "EmitStatement", - "src": "6366:42:12" + "src": "6728:42:12" } ] } @@ -44947,14 +31772,14 @@ "arguments": [ { "hexValue": "637573746f6469616e", - "id": 2266, + "id": 2328, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "6448:11:12", + "src": "6810:11:12", "typeDescriptions": { "typeIdentifier": "t_stringliteral_7910ad37365bbe683fd8f86c0628fe6da9da366f7e8b3db028763efd0d0b7ecc", "typeString": "literal_string \"custodian\"" @@ -44963,25 +31788,25 @@ }, { "expression": { - "id": 2267, + "id": 2329, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967281, - "src": "6461:3:12", + "src": "6823:3:12", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 2268, + "id": 2330, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", - "src": "6461:10:12", + "src": "6823:10:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -44989,14 +31814,14 @@ }, { "hexValue": "", - "id": 2269, + "id": 2331, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "6473:2:12", + "src": "6835:2:12", "typeDescriptions": { "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", "typeString": "literal_string \"\"" @@ -45004,12 +31829,12 @@ "value": "" }, { - "id": 2270, + "id": 2332, "name": "indexhash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2225, - "src": "6477:9:12", + "referencedDeclaration": 2287, + "src": "6839:9:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -45035,18 +31860,18 @@ "typeString": "bytes32" } ], - "id": 2265, + "id": 2327, "name": "consensus_activity", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1655, - "src": "6429:18:12", + "src": "6791:18:12", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_address_$_t_string_memory_ptr_$_t_bytes32_$returns$__$", "typeString": "function (string memory,address,string memory,bytes32)" } }, - "id": 2271, + "id": 2333, "isConstant": false, "isLValue": false, "isPure": false, @@ -45054,68 +31879,68 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6429:58:12", + "src": "6791:58:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2272, + "id": 2334, "nodeType": "EmitStatement", - "src": "6424:63:12" + "src": "6786:63:12" } ] }, "functionSelector": "e5690a99", - "id": 2274, + "id": 2336, "implemented": true, "kind": "function", "modifiers": [ { "arguments": [ { - "id": 2194, + "id": 2256, "name": "CUSTODIAN_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1584, - "src": "5904:14:12", + "src": "6266:14:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 2195, + "id": 2257, "kind": "modifierInvocation", "modifierName": { - "id": 2193, + "id": 2255, "name": "onlyRole", "nodeType": "IdentifierPath", "referencedDeclaration": 38, - "src": "5895:8:12" + "src": "6257:8:12" }, "nodeType": "ModifierInvocation", - "src": "5895:24:12" + "src": "6257:24:12" } ], "name": "regoracle", - "nameLocation": "5859:9:12", + "nameLocation": "6221:9:12", "nodeType": "FunctionDefinition", "parameters": { - "id": 2192, + "id": 2254, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2191, + "id": 2253, "mutability": "mutable", "name": "account", - "nameLocation": "5877:7:12", + "nameLocation": "6239:7:12", "nodeType": "VariableDeclaration", - "scope": 2274, - "src": "5869:15:12", + "scope": 2336, + "src": "6231:15:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -45123,10 +31948,10 @@ "typeString": "address" }, "typeName": { - "id": 2190, + "id": 2252, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5869:7:12", + "src": "6231:7:12", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -45136,25 +31961,25 @@ "visibility": "internal" } ], - "src": "5868:17:12" + "src": "6230:17:12" }, "returnParameters": { - "id": 2196, + "id": 2258, "nodeType": "ParameterList", "parameters": [], - "src": "5921:0:12" + "src": "6283:0:12" }, - "scope": 2612, - "src": "5850:644:12", + "scope": 2694, + "src": "6212:644:12", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "body": { - "id": 2387, + "id": 2449, "nodeType": "Block", - "src": "6572:794:12", + "src": "6934:794:12", "statements": [ { "expression": { @@ -45164,18 +31989,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 2288, + "id": 2350, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2283, + "id": 2345, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2276, - "src": "6588:7:12", + "referencedDeclaration": 2338, + "src": "6950:7:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -45187,14 +32012,14 @@ "arguments": [ { "hexValue": "30", - "id": 2286, + "id": 2348, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6607:1:12", + "src": "6969:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -45209,26 +32034,26 @@ "typeString": "int_const 0" } ], - "id": 2285, + "id": 2347, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "6599:7:12", + "src": "6961:7:12", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 2284, + "id": 2346, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6599:7:12", + "src": "6961:7:12", "typeDescriptions": {} } }, - "id": 2287, + "id": 2349, "isConstant": false, "isLValue": false, "isPure": true, @@ -45236,14 +32061,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6599:10:12", + "src": "6961:10:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "6588:21:12", + "src": "6950:21:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -45251,14 +32076,14 @@ }, { "hexValue": "496e76616c69642061646472657373", - "id": 2289, + "id": 2351, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "6611:17:12", + "src": "6973:17:12", "typeDescriptions": { "typeIdentifier": "t_stringliteral_1462473b7a4b33d32b109b815fd2324d00c9e5839b707ecf16d0ab5744f99226", "typeString": "literal_string \"Invalid address\"" @@ -45277,7 +32102,7 @@ "typeString": "literal_string \"Invalid address\"" } ], - "id": 2282, + "id": 2344, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -45285,13 +32110,13 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "6580:7:12", + "src": "6942:7:12", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 2290, + "id": 2352, "isConstant": false, "isLValue": false, "isPure": false, @@ -45299,16 +32124,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6580:49:12", + "src": "6942:49:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2291, + "id": 2353, "nodeType": "ExpressionStatement", - "src": "6580:49:12" + "src": "6942:49:12" }, { "expression": { @@ -45318,18 +32143,18 @@ "typeIdentifier": "t_uint32", "typeString": "uint32" }, - "id": 2295, + "id": 2357, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2293, + "id": 2355, "name": "oracle_count", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1607, - "src": "6645:12:12", + "src": "7007:12:12", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -45339,21 +32164,21 @@ "operator": ">", "rightExpression": { "hexValue": "33", - "id": 2294, + "id": 2356, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6660:1:12", + "src": "7022:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", "typeString": "int_const 3" }, "value": "3" }, - "src": "6645:16:12", + "src": "7007:16:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -45361,14 +32186,14 @@ }, { "hexValue": "4d696e696d756d2033206f7261636c6573207265717569726564", - "id": 2296, + "id": 2358, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "6663:28:12", + "src": "7025:28:12", "typeDescriptions": { "typeIdentifier": "t_stringliteral_cfe1299eb316140316f72764dca05f5f37b5707cc94544151051301f4f9e3829", "typeString": "literal_string \"Minimum 3 oracles required\"" @@ -45387,7 +32212,7 @@ "typeString": "literal_string \"Minimum 3 oracles required\"" } ], - "id": 2292, + "id": 2354, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -45395,13 +32220,13 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "6637:7:12", + "src": "6999:7:12", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 2297, + "id": 2359, "isConstant": false, "isLValue": false, "isPure": false, @@ -45409,31 +32234,31 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6637:55:12", + "src": "6999:55:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2298, + "id": 2360, "nodeType": "ExpressionStatement", - "src": "6637:55:12" + "src": "6999:55:12" }, { "assignments": [ - 2300 + 2362 ], "declarations": [ { "constant": false, - "id": 2300, + "id": 2362, "mutability": "mutable", "name": "indexhash", - "nameLocation": "6708:9:12", + "nameLocation": "7070:9:12", "nodeType": "VariableDeclaration", - "scope": 2387, - "src": "6700:17:12", + "scope": 2449, + "src": "7062:17:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -45441,10 +32266,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 2299, + "id": 2361, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "6700:7:12", + "src": "7062:7:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -45453,7 +32278,7 @@ "visibility": "internal" } ], - "id": 2312, + "id": 2374, "initialValue": { "arguments": [ { @@ -45462,18 +32287,18 @@ "arguments": [ { "expression": { - "id": 2306, + "id": 2368, "name": "ApprovalType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1590, - "src": "6747:12:12", + "src": "7109:12:12", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_ApprovalType_$1590_$", "typeString": "type(enum WFIO.ApprovalType)" } }, - "id": 2307, + "id": 2369, "isConstant": false, "isLValue": false, "isPure": true, @@ -45481,19 +32306,19 @@ "memberName": "RemoveOracle", "nodeType": "MemberAccess", "referencedDeclaration": 1587, - "src": "6747:25:12", + "src": "7109:25:12", "typeDescriptions": { "typeIdentifier": "t_enum$_ApprovalType_$1590", "typeString": "enum WFIO.ApprovalType" } }, { - "id": 2308, + "id": 2370, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2276, - "src": "6773:7:12", + "referencedDeclaration": 2338, + "src": "7135:7:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -45512,31 +32337,31 @@ } ], "expression": { - "id": 2304, + "id": 2366, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967295, - "src": "6736:3:12", + "src": "7098:3:12", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 2305, + "id": 2367, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "encode", "nodeType": "MemberAccess", - "src": "6736:10:12", + "src": "7098:10:12", "typeDescriptions": { "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 2309, + "id": 2371, "isConstant": false, "isLValue": false, "isPure": false, @@ -45544,7 +32369,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6736:45:12", + "src": "7098:45:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -45559,26 +32384,26 @@ "typeString": "bytes memory" } ], - "id": 2303, + "id": 2365, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "6730:5:12", + "src": "7092:5:12", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 2302, + "id": 2364, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "6730:5:12", + "src": "7092:5:12", "typeDescriptions": {} } }, - "id": 2310, + "id": 2372, "isConstant": false, "isLValue": false, "isPure": false, @@ -45586,7 +32411,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6730:52:12", + "src": "7092:52:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -45601,18 +32426,18 @@ "typeString": "bytes memory" } ], - "id": 2301, + "id": 2363, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967288, - "src": "6720:9:12", + "src": "7082:9:12", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 2311, + "id": 2373, "isConstant": false, "isLValue": false, "isPure": false, @@ -45620,7 +32445,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6720:63:12", + "src": "7082:63:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -45628,7 +32453,7 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "6700:83:12" + "src": "7062:83:12" }, { "expression": { @@ -45636,24 +32461,24 @@ { "arguments": [ { - "id": 2315, + "id": 2377, "name": "ORACLE_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1574, - "src": "6807:11:12", + "src": "7169:11:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { - "id": 2316, + "id": 2378, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2276, - "src": "6820:7:12", + "referencedDeclaration": 2338, + "src": "7182:7:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -45671,18 +32496,18 @@ "typeString": "address" } ], - "id": 2314, + "id": 2376, "name": "hasRole", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 79, - "src": "6799:7:12", + "src": "7161:7:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$", "typeString": "function (bytes32,address) view returns (bool)" } }, - "id": 2317, + "id": 2379, "isConstant": false, "isLValue": false, "isPure": false, @@ -45690,7 +32515,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6799:29:12", + "src": "7161:29:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -45699,14 +32524,14 @@ }, { "hexValue": "4f7261636c65206e6f742072656769737465726564", - "id": 2318, + "id": 2380, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "6830:23:12", + "src": "7192:23:12", "typeDescriptions": { "typeIdentifier": "t_stringliteral_6e24367d823fa02bd990b75fa7cc9e62a9943f64f73b7682466e477f62285ba9", "typeString": "literal_string \"Oracle not registered\"" @@ -45725,7 +32550,7 @@ "typeString": "literal_string \"Oracle not registered\"" } ], - "id": 2313, + "id": 2375, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -45733,13 +32558,13 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "6791:7:12", + "src": "7153:7:12", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 2319, + "id": 2381, "isConstant": false, "isLValue": false, "isPure": false, @@ -45747,27 +32572,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6791:63:12", + "src": "7153:63:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2320, + "id": 2382, "nodeType": "ExpressionStatement", - "src": "6791:63:12" + "src": "7153:63:12" }, { "condition": { "arguments": [ { - "id": 2322, + "id": 2384, "name": "indexhash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2300, - "src": "6880:9:12", + "referencedDeclaration": 2362, + "src": "7242:9:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -45775,14 +32600,14 @@ }, { "hexValue": "31", - "id": 2323, + "id": 2385, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6891:1:12", + "src": "7253:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -45790,12 +32615,12 @@ "value": "1" }, { - "id": 2324, + "id": 2386, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2276, - "src": "6894:7:12", + "referencedDeclaration": 2338, + "src": "7256:7:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -45803,14 +32628,14 @@ }, { "hexValue": "30", - "id": 2325, + "id": 2387, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6903:1:12", + "src": "7265:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -45837,18 +32662,18 @@ "typeString": "int_const 0" } ], - "id": 2321, + "id": 2383, "name": "getConsensus", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1916, - "src": "6867:12:12", + "src": "7229:12:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_uint8_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (bytes32,uint8,address,uint256) returns (bool)" } }, - "id": 2326, + "id": 2388, "isConstant": false, "isLValue": false, "isPure": false, @@ -45856,43 +32681,43 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6867:38:12", + "src": "7229:38:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 2378, + "id": 2440, "nodeType": "IfStatement", - "src": "6862:426:12", + "src": "7224:426:12", "trueBody": { - "id": 2377, + "id": 2439, "nodeType": "Block", - "src": "6907:381:12", + "src": "7269:381:12", "statements": [ { "expression": { "arguments": [ { - "id": 2328, + "id": 2390, "name": "ORACLE_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1574, - "src": "6931:11:12", + "src": "7293:11:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { - "id": 2329, + "id": 2391, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2276, - "src": "6944:7:12", + "referencedDeclaration": 2338, + "src": "7306:7:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -45910,18 +32735,18 @@ "typeString": "address" } ], - "id": 2327, + "id": 2389, "name": "_revokeRole", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 318, - "src": "6919:11:12", + "src": "7281:11:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", "typeString": "function (bytes32,address)" } }, - "id": 2330, + "id": 2392, "isConstant": false, "isLValue": false, "isPure": false, @@ -45929,20 +32754,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6919:33:12", + "src": "7281:33:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2331, + "id": 2393, "nodeType": "ExpressionStatement", - "src": "6919:33:12" + "src": "7281:33:12" }, { "expression": { - "id": 2333, + "id": 2395, "isConstant": false, "isLValue": false, "isPure": false, @@ -45950,14 +32775,14 @@ "nodeType": "UnaryOperation", "operator": "--", "prefix": false, - "src": "6964:14:12", + "src": "7326:14:12", "subExpression": { - "id": 2332, + "id": 2394, "name": "oracle_count", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1607, - "src": "6964:12:12", + "src": "7326:12:12", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -45968,15 +32793,15 @@ "typeString": "uint32" } }, - "id": 2334, + "id": 2396, "nodeType": "ExpressionStatement", - "src": "6964:14:12" + "src": "7326:14:12" }, { "body": { - "id": 2370, + "id": 2432, "nodeType": "Block", - "src": "7036:188:12", + "src": "7398:188:12", "statements": [ { "condition": { @@ -45984,32 +32809,32 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 2350, + "id": 2412, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "baseExpression": { - "id": 2346, + "id": 2408, "name": "oraclelist", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1658, - "src": "7053:10:12", + "src": "7415:10:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, - "id": 2348, + "id": 2410, "indexExpression": { - "id": 2347, + "id": 2409, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2336, - "src": "7064:1:12", + "referencedDeclaration": 2398, + "src": "7426:1:12", "typeDescriptions": { "typeIdentifier": "t_uint16", "typeString": "uint16" @@ -46020,7 +32845,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7053:13:12", + "src": "7415:13:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -46029,59 +32854,59 @@ "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { - "id": 2349, + "id": 2411, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2276, - "src": "7070:7:12", + "referencedDeclaration": 2338, + "src": "7432:7:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "7053:24:12", + "src": "7415:24:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 2369, + "id": 2431, "nodeType": "IfStatement", - "src": "7050:162:12", + "src": "7412:162:12", "trueBody": { - "id": 2368, + "id": 2430, "nodeType": "Block", - "src": "7079:133:12", + "src": "7441:133:12", "statements": [ { "expression": { - "id": 2360, + "id": 2422, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 2351, + "id": 2413, "name": "oraclelist", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1658, - "src": "7095:10:12", + "src": "7457:10:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, - "id": 2353, + "id": 2415, "indexExpression": { - "id": 2352, + "id": 2414, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2336, - "src": "7106:1:12", + "referencedDeclaration": 2398, + "src": "7468:1:12", "typeDescriptions": { "typeIdentifier": "t_uint16", "typeString": "uint16" @@ -46092,7 +32917,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "7095:13:12", + "src": "7457:13:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -46102,49 +32927,49 @@ "operator": "=", "rightHandSide": { "baseExpression": { - "id": 2354, + "id": 2416, "name": "oraclelist", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1658, - "src": "7111:10:12", + "src": "7473:10:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, - "id": 2359, + "id": 2421, "indexExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2358, + "id": 2420, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 2355, + "id": 2417, "name": "oraclelist", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1658, - "src": "7122:10:12", + "src": "7484:10:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, - "id": 2356, + "id": 2418, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "length", "nodeType": "MemberAccess", - "src": "7122:17:12", + "src": "7484:17:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -46154,21 +32979,21 @@ "operator": "-", "rightExpression": { "hexValue": "31", - "id": 2357, + "id": 2419, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7142:1:12", + "src": "7504:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, - "src": "7122:21:12", + "src": "7484:21:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -46179,21 +33004,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7111:33:12", + "src": "7473:33:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "7095:49:12", + "src": "7457:49:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 2361, + "id": 2423, "nodeType": "ExpressionStatement", - "src": "7095:49:12" + "src": "7457:49:12" }, { "expression": { @@ -46201,31 +33026,31 @@ "expression": { "argumentTypes": [], "expression": { - "id": 2362, + "id": 2424, "name": "oraclelist", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1658, - "src": "7160:10:12", + "src": "7522:10:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, - "id": 2364, + "id": 2426, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "pop", "nodeType": "MemberAccess", - "src": "7160:14:12", + "src": "7522:14:12", "typeDescriptions": { "typeIdentifier": "t_function_arraypop_nonpayable$_t_array$_t_address_$dyn_storage_ptr_$returns$__$bound_to$_t_array$_t_address_$dyn_storage_ptr_$", "typeString": "function (address[] storage pointer)" } }, - "id": 2365, + "id": 2427, "isConstant": false, "isLValue": false, "isPure": false, @@ -46233,21 +33058,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7160:16:12", + "src": "7522:16:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2366, + "id": 2428, "nodeType": "ExpressionStatement", - "src": "7160:16:12" + "src": "7522:16:12" }, { - "id": 2367, + "id": 2429, "nodeType": "Break", - "src": "7192:5:12" + "src": "7554:5:12" } ] } @@ -46259,18 +33084,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2342, + "id": 2404, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2339, + "id": 2401, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2336, - "src": "7008:1:12", + "referencedDeclaration": 2398, + "src": "7370:1:12", "typeDescriptions": { "typeIdentifier": "t_uint16", "typeString": "uint16" @@ -46280,51 +33105,51 @@ "operator": "<", "rightExpression": { "expression": { - "id": 2340, + "id": 2402, "name": "oraclelist", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1658, - "src": "7012:10:12", + "src": "7374:10:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, - "id": 2341, + "id": 2403, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "length", "nodeType": "MemberAccess", - "src": "7012:17:12", + "src": "7374:17:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "7008:21:12", + "src": "7370:21:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 2371, + "id": 2433, "initializationExpression": { "assignments": [ - 2336 + 2398 ], "declarations": [ { "constant": false, - "id": 2336, + "id": 2398, "mutability": "mutable", "name": "i", - "nameLocation": "7001:1:12", + "nameLocation": "7363:1:12", "nodeType": "VariableDeclaration", - "scope": 2371, - "src": "6994:8:12", + "scope": 2433, + "src": "7356:8:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -46332,10 +33157,10 @@ "typeString": "uint16" }, "typeName": { - "id": 2335, + "id": 2397, "name": "uint16", "nodeType": "ElementaryTypeName", - "src": "6994:6:12", + "src": "7356:6:12", "typeDescriptions": { "typeIdentifier": "t_uint16", "typeString": "uint16" @@ -46344,17 +33169,17 @@ "visibility": "internal" } ], - "id": 2338, + "id": 2400, "initialValue": { "hexValue": "30", - "id": 2337, + "id": 2399, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7005:1:12", + "src": "7367:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -46362,11 +33187,11 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "6994:12:12" + "src": "7356:12:12" }, "loopExpression": { "expression": { - "id": 2344, + "id": 2406, "isConstant": false, "isLValue": false, "isPure": false, @@ -46374,14 +33199,14 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "7031:3:12", + "src": "7393:3:12", "subExpression": { - "id": 2343, + "id": 2405, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2336, - "src": "7031:1:12", + "referencedDeclaration": 2398, + "src": "7393:1:12", "typeDescriptions": { "typeIdentifier": "t_uint16", "typeString": "uint16" @@ -46392,35 +33217,35 @@ "typeString": "uint16" } }, - "id": 2345, + "id": 2407, "nodeType": "ExpressionStatement", - "src": "7031:3:12" + "src": "7393:3:12" }, "nodeType": "ForStatement", - "src": "6990:234:12" + "src": "7352:234:12" }, { "eventCall": { "arguments": [ { - "id": 2373, + "id": 2435, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2276, - "src": "7260:7:12", + "referencedDeclaration": 2338, + "src": "7622:7:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 2374, + "id": 2436, "name": "indexhash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2300, - "src": "7269:9:12", + "referencedDeclaration": 2362, + "src": "7631:9:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -46438,18 +33263,18 @@ "typeString": "bytes32" } ], - "id": 2372, + "id": 2434, "name": "oracle_unregistered", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1639, - "src": "7240:19:12", + "src": "7602:19:12", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bytes32_$returns$__$", "typeString": "function (address,bytes32)" } }, - "id": 2375, + "id": 2437, "isConstant": false, "isLValue": false, "isPure": false, @@ -46457,16 +33282,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7240:39:12", + "src": "7602:39:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2376, + "id": 2438, "nodeType": "EmitStatement", - "src": "7235:44:12" + "src": "7597:44:12" } ] } @@ -46476,14 +33301,14 @@ "arguments": [ { "hexValue": "637573746f6469616e", - "id": 2380, + "id": 2442, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "7319:11:12", + "src": "7681:11:12", "typeDescriptions": { "typeIdentifier": "t_stringliteral_7910ad37365bbe683fd8f86c0628fe6da9da366f7e8b3db028763efd0d0b7ecc", "typeString": "literal_string \"custodian\"" @@ -46492,25 +33317,25 @@ }, { "expression": { - "id": 2381, + "id": 2443, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967281, - "src": "7332:3:12", + "src": "7694:3:12", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 2382, + "id": 2444, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", - "src": "7332:10:12", + "src": "7694:10:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -46518,14 +33343,14 @@ }, { "hexValue": "", - "id": 2383, + "id": 2445, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "7344:2:12", + "src": "7706:2:12", "typeDescriptions": { "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", "typeString": "literal_string \"\"" @@ -46533,12 +33358,12 @@ "value": "" }, { - "id": 2384, + "id": 2446, "name": "indexhash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2300, - "src": "7348:9:12", + "referencedDeclaration": 2362, + "src": "7710:9:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -46564,18 +33389,18 @@ "typeString": "bytes32" } ], - "id": 2379, + "id": 2441, "name": "consensus_activity", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1655, - "src": "7300:18:12", + "src": "7662:18:12", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_address_$_t_string_memory_ptr_$_t_bytes32_$returns$__$", "typeString": "function (string memory,address,string memory,bytes32)" } }, - "id": 2385, + "id": 2447, "isConstant": false, "isLValue": false, "isPure": false, @@ -46583,68 +33408,68 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7300:58:12", + "src": "7662:58:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2386, + "id": 2448, "nodeType": "EmitStatement", - "src": "7295:63:12" + "src": "7657:63:12" } ] }, "functionSelector": "4fdcaca6", - "id": 2388, + "id": 2450, "implemented": true, "kind": "function", "modifiers": [ { "arguments": [ { - "id": 2279, + "id": 2341, "name": "CUSTODIAN_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1584, - "src": "6556:14:12", + "src": "6918:14:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 2280, + "id": 2342, "kind": "modifierInvocation", "modifierName": { - "id": 2278, + "id": 2340, "name": "onlyRole", "nodeType": "IdentifierPath", "referencedDeclaration": 38, - "src": "6547:8:12" + "src": "6909:8:12" }, "nodeType": "ModifierInvocation", - "src": "6547:24:12" + "src": "6909:24:12" } ], "name": "unregoracle", - "nameLocation": "6509:11:12", + "nameLocation": "6871:11:12", "nodeType": "FunctionDefinition", "parameters": { - "id": 2277, + "id": 2339, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2276, + "id": 2338, "mutability": "mutable", "name": "account", - "nameLocation": "6529:7:12", + "nameLocation": "6891:7:12", "nodeType": "VariableDeclaration", - "scope": 2388, - "src": "6521:15:12", + "scope": 2450, + "src": "6883:15:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -46652,10 +33477,10 @@ "typeString": "address" }, "typeName": { - "id": 2275, + "id": 2337, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6521:7:12", + "src": "6883:7:12", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -46665,25 +33490,25 @@ "visibility": "internal" } ], - "src": "6520:17:12" + "src": "6882:17:12" }, "returnParameters": { - "id": 2281, + "id": 2343, "nodeType": "ParameterList", "parameters": [], - "src": "6572:0:12" + "src": "6934:0:12" }, - "scope": 2612, - "src": "6500:866:12", + "scope": 2694, + "src": "6862:866:12", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "body": { - "id": 2472, + "id": 2534, "nodeType": "Block", - "src": "7455:584:12", + "src": "7817:584:12", "statements": [ { "expression": { @@ -46693,18 +33518,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 2402, + "id": 2464, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2397, + "id": 2459, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2390, - "src": "7471:7:12", + "referencedDeclaration": 2452, + "src": "7833:7:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -46716,14 +33541,14 @@ "arguments": [ { "hexValue": "30", - "id": 2400, + "id": 2462, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7490:1:12", + "src": "7852:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -46738,26 +33563,26 @@ "typeString": "int_const 0" } ], - "id": 2399, + "id": 2461, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "7482:7:12", + "src": "7844:7:12", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 2398, + "id": 2460, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7482:7:12", + "src": "7844:7:12", "typeDescriptions": {} } }, - "id": 2401, + "id": 2463, "isConstant": false, "isLValue": false, "isPure": true, @@ -46765,14 +33590,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7482:10:12", + "src": "7844:10:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "7471:21:12", + "src": "7833:21:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -46780,14 +33605,14 @@ }, { "hexValue": "496e76616c69642061646472657373", - "id": 2403, + "id": 2465, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "7494:17:12", + "src": "7856:17:12", "typeDescriptions": { "typeIdentifier": "t_stringliteral_1462473b7a4b33d32b109b815fd2324d00c9e5839b707ecf16d0ab5744f99226", "typeString": "literal_string \"Invalid address\"" @@ -46806,7 +33631,7 @@ "typeString": "literal_string \"Invalid address\"" } ], - "id": 2396, + "id": 2458, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -46814,13 +33639,13 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "7463:7:12", + "src": "7825:7:12", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 2404, + "id": 2466, "isConstant": false, "isLValue": false, "isPure": false, @@ -46828,16 +33653,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7463:49:12", + "src": "7825:49:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2405, + "id": 2467, "nodeType": "ExpressionStatement", - "src": "7463:49:12" + "src": "7825:49:12" }, { "expression": { @@ -46847,18 +33672,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 2410, + "id": 2472, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2407, + "id": 2469, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2390, - "src": "7528:7:12", + "referencedDeclaration": 2452, + "src": "7890:7:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -46868,31 +33693,31 @@ "operator": "!=", "rightExpression": { "expression": { - "id": 2408, + "id": 2470, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967281, - "src": "7539:3:12", + "src": "7901:3:12", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 2409, + "id": 2471, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", - "src": "7539:10:12", + "src": "7901:10:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "7528:21:12", + "src": "7890:21:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -46900,14 +33725,14 @@ }, { "hexValue": "43616e6e6f742072656769737465722073656c66", - "id": 2411, + "id": 2473, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "7551:22:12", + "src": "7913:22:12", "typeDescriptions": { "typeIdentifier": "t_stringliteral_78b7b6e655079b63c1761e6b96d764441d7130eda97b6d8de911b64559d10300", "typeString": "literal_string \"Cannot register self\"" @@ -46926,7 +33751,7 @@ "typeString": "literal_string \"Cannot register self\"" } ], - "id": 2406, + "id": 2468, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -46934,13 +33759,13 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "7520:7:12", + "src": "7882:7:12", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 2412, + "id": 2474, "isConstant": false, "isLValue": false, "isPure": false, @@ -46948,31 +33773,31 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7520:54:12", + "src": "7882:54:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2413, + "id": 2475, "nodeType": "ExpressionStatement", - "src": "7520:54:12" + "src": "7882:54:12" }, { "assignments": [ - 2415 + 2477 ], "declarations": [ { "constant": false, - "id": 2415, + "id": 2477, "mutability": "mutable", "name": "indexhash", - "nameLocation": "7590:9:12", + "nameLocation": "7952:9:12", "nodeType": "VariableDeclaration", - "scope": 2472, - "src": "7582:17:12", + "scope": 2534, + "src": "7944:17:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -46980,10 +33805,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 2414, + "id": 2476, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "7582:7:12", + "src": "7944:7:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -46992,7 +33817,7 @@ "visibility": "internal" } ], - "id": 2427, + "id": 2489, "initialValue": { "arguments": [ { @@ -47001,18 +33826,18 @@ "arguments": [ { "expression": { - "id": 2421, + "id": 2483, "name": "ApprovalType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1590, - "src": "7629:12:12", + "src": "7991:12:12", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_ApprovalType_$1590_$", "typeString": "type(enum WFIO.ApprovalType)" } }, - "id": 2422, + "id": 2484, "isConstant": false, "isLValue": false, "isPure": true, @@ -47020,19 +33845,19 @@ "memberName": "AddCustodian", "nodeType": "MemberAccess", "referencedDeclaration": 1588, - "src": "7629:25:12", + "src": "7991:25:12", "typeDescriptions": { "typeIdentifier": "t_enum$_ApprovalType_$1590", "typeString": "enum WFIO.ApprovalType" } }, { - "id": 2423, + "id": 2485, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2390, - "src": "7655:7:12", + "referencedDeclaration": 2452, + "src": "8017:7:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -47051,31 +33876,31 @@ } ], "expression": { - "id": 2419, + "id": 2481, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967295, - "src": "7618:3:12", + "src": "7980:3:12", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 2420, + "id": 2482, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "encode", "nodeType": "MemberAccess", - "src": "7618:10:12", + "src": "7980:10:12", "typeDescriptions": { "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 2424, + "id": 2486, "isConstant": false, "isLValue": false, "isPure": false, @@ -47083,7 +33908,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7618:45:12", + "src": "7980:45:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -47098,26 +33923,26 @@ "typeString": "bytes memory" } ], - "id": 2418, + "id": 2480, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "7612:5:12", + "src": "7974:5:12", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 2417, + "id": 2479, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "7612:5:12", + "src": "7974:5:12", "typeDescriptions": {} } }, - "id": 2425, + "id": 2487, "isConstant": false, "isLValue": false, "isPure": false, @@ -47125,7 +33950,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7612:52:12", + "src": "7974:52:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -47140,18 +33965,18 @@ "typeString": "bytes memory" } ], - "id": 2416, + "id": 2478, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967288, - "src": "7602:9:12", + "src": "7964:9:12", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 2426, + "id": 2488, "isConstant": false, "isLValue": false, "isPure": false, @@ -47159,7 +33984,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7602:63:12", + "src": "7964:63:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -47167,13 +33992,13 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "7582:83:12" + "src": "7944:83:12" }, { "expression": { "arguments": [ { - "id": 2433, + "id": 2495, "isConstant": false, "isLValue": false, "isPure": false, @@ -47181,28 +34006,28 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "7681:33:12", + "src": "8043:33:12", "subExpression": { "arguments": [ { - "id": 2430, + "id": 2492, "name": "CUSTODIAN_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1584, - "src": "7690:14:12", + "src": "8052:14:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { - "id": 2431, + "id": 2493, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2390, - "src": "7706:7:12", + "referencedDeclaration": 2452, + "src": "8068:7:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -47220,18 +34045,18 @@ "typeString": "address" } ], - "id": 2429, + "id": 2491, "name": "hasRole", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 79, - "src": "7682:7:12", + "src": "8044:7:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$", "typeString": "function (bytes32,address) view returns (bool)" } }, - "id": 2432, + "id": 2494, "isConstant": false, "isLValue": false, "isPure": false, @@ -47239,7 +34064,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7682:32:12", + "src": "8044:32:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -47253,14 +34078,14 @@ }, { "hexValue": "416c72656164792072656769737465726564", - "id": 2434, + "id": 2496, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "7716:20:12", + "src": "8078:20:12", "typeDescriptions": { "typeIdentifier": "t_stringliteral_4935f8dc8deae1355305b992e890d0242809a3705c9c83131ed47acca0dd4fe2", "typeString": "literal_string \"Already registered\"" @@ -47279,7 +34104,7 @@ "typeString": "literal_string \"Already registered\"" } ], - "id": 2428, + "id": 2490, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -47287,13 +34112,13 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "7673:7:12", + "src": "8035:7:12", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 2435, + "id": 2497, "isConstant": false, "isLValue": false, "isPure": false, @@ -47301,27 +34126,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7673:64:12", + "src": "8035:64:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2436, + "id": 2498, "nodeType": "ExpressionStatement", - "src": "7673:64:12" + "src": "8035:64:12" }, { "condition": { "arguments": [ { - "id": 2438, + "id": 2500, "name": "indexhash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2415, - "src": "7762:9:12", + "referencedDeclaration": 2477, + "src": "8124:9:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -47329,14 +34154,14 @@ }, { "hexValue": "31", - "id": 2439, + "id": 2501, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7773:1:12", + "src": "8135:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -47344,12 +34169,12 @@ "value": "1" }, { - "id": 2440, + "id": 2502, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2390, - "src": "7776:7:12", + "referencedDeclaration": 2452, + "src": "8138:7:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -47357,14 +34182,14 @@ }, { "hexValue": "30", - "id": 2441, + "id": 2503, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7785:1:12", + "src": "8147:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -47391,18 +34216,18 @@ "typeString": "int_const 0" } ], - "id": 2437, + "id": 2499, "name": "getConsensus", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1916, - "src": "7749:12:12", + "src": "8111:12:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_uint8_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (bytes32,uint8,address,uint256) returns (bool)" } }, - "id": 2442, + "id": 2504, "isConstant": false, "isLValue": false, "isPure": false, @@ -47410,43 +34235,43 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7749:38:12", + "src": "8111:38:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 2463, + "id": 2525, "nodeType": "IfStatement", - "src": "7745:217:12", + "src": "8107:217:12", "trueBody": { - "id": 2462, + "id": 2524, "nodeType": "Block", - "src": "7789:173:12", + "src": "8151:173:12", "statements": [ { "expression": { "arguments": [ { - "id": 2444, + "id": 2506, "name": "CUSTODIAN_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1584, - "src": "7810:14:12", + "src": "8172:14:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { - "id": 2445, + "id": 2507, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2390, - "src": "7826:7:12", + "referencedDeclaration": 2452, + "src": "8188:7:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -47464,18 +34289,18 @@ "typeString": "address" } ], - "id": 2443, + "id": 2505, "name": "_grantRole", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 287, - "src": "7799:10:12", + "src": "8161:10:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", "typeString": "function (bytes32,address)" } }, - "id": 2446, + "id": 2508, "isConstant": false, "isLValue": false, "isPure": false, @@ -47483,20 +34308,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7799:35:12", + "src": "8161:35:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2447, + "id": 2509, "nodeType": "ExpressionStatement", - "src": "7799:35:12" + "src": "8161:35:12" }, { "expression": { - "id": 2449, + "id": 2511, "isConstant": false, "isLValue": false, "isPure": false, @@ -47504,14 +34329,14 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "7844:17:12", + "src": "8206:17:12", "subExpression": { - "id": 2448, + "id": 2510, "name": "custodian_count", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1605, - "src": "7844:15:12", + "src": "8206:15:12", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -47522,20 +34347,20 @@ "typeString": "uint32" } }, - "id": 2450, + "id": 2512, "nodeType": "ExpressionStatement", - "src": "7844:17:12" + "src": "8206:17:12" }, { "expression": { "arguments": [ { - "id": 2454, + "id": 2516, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2390, - "src": "7890:7:12", + "referencedDeclaration": 2452, + "src": "8252:7:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -47550,31 +34375,31 @@ } ], "expression": { - "id": 2451, + "id": 2513, "name": "custodianlist", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1661, - "src": "7871:13:12", + "src": "8233:13:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, - "id": 2453, + "id": 2515, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "push", "nodeType": "MemberAccess", - "src": "7871:18:12", + "src": "8233:18:12", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_address_$dyn_storage_ptr_$_t_address_$returns$__$bound_to$_t_array$_t_address_$dyn_storage_ptr_$", "typeString": "function (address[] storage pointer,address)" } }, - "id": 2455, + "id": 2517, "isConstant": false, "isLValue": false, "isPure": false, @@ -47582,39 +34407,39 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7871:27:12", + "src": "8233:27:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2456, + "id": 2518, "nodeType": "ExpressionStatement", - "src": "7871:27:12" + "src": "8233:27:12" }, { "eventCall": { "arguments": [ { - "id": 2458, + "id": 2520, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2390, - "src": "7934:7:12", + "referencedDeclaration": 2452, + "src": "8296:7:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 2459, + "id": 2521, "name": "indexhash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2415, - "src": "7943:9:12", + "referencedDeclaration": 2477, + "src": "8305:9:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -47632,18 +34457,18 @@ "typeString": "bytes32" } ], - "id": 2457, + "id": 2519, "name": "custodian_registered", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1633, - "src": "7913:20:12", + "src": "8275:20:12", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bytes32_$returns$__$", "typeString": "function (address,bytes32)" } }, - "id": 2460, + "id": 2522, "isConstant": false, "isLValue": false, "isPure": false, @@ -47651,16 +34476,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7913:40:12", + "src": "8275:40:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2461, + "id": 2523, "nodeType": "EmitStatement", - "src": "7908:45:12" + "src": "8270:45:12" } ] } @@ -47670,14 +34495,14 @@ "arguments": [ { "hexValue": "637573746f6469616e", - "id": 2465, + "id": 2527, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "7993:11:12", + "src": "8355:11:12", "typeDescriptions": { "typeIdentifier": "t_stringliteral_7910ad37365bbe683fd8f86c0628fe6da9da366f7e8b3db028763efd0d0b7ecc", "typeString": "literal_string \"custodian\"" @@ -47686,25 +34511,25 @@ }, { "expression": { - "id": 2466, + "id": 2528, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967281, - "src": "8006:3:12", + "src": "8368:3:12", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 2467, + "id": 2529, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", - "src": "8006:10:12", + "src": "8368:10:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -47712,14 +34537,14 @@ }, { "hexValue": "", - "id": 2468, + "id": 2530, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "8018:2:12", + "src": "8380:2:12", "typeDescriptions": { "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", "typeString": "literal_string \"\"" @@ -47727,12 +34552,12 @@ "value": "" }, { - "id": 2469, + "id": 2531, "name": "indexhash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2415, - "src": "8022:9:12", + "referencedDeclaration": 2477, + "src": "8384:9:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -47758,18 +34583,18 @@ "typeString": "bytes32" } ], - "id": 2464, + "id": 2526, "name": "consensus_activity", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1655, - "src": "7974:18:12", + "src": "8336:18:12", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_address_$_t_string_memory_ptr_$_t_bytes32_$returns$__$", "typeString": "function (string memory,address,string memory,bytes32)" } }, - "id": 2470, + "id": 2532, "isConstant": false, "isLValue": false, "isPure": false, @@ -47777,68 +34602,68 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7974:58:12", + "src": "8336:58:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2471, + "id": 2533, "nodeType": "EmitStatement", - "src": "7969:63:12" + "src": "8331:63:12" } ] }, "functionSelector": "c0bcfe9c", - "id": 2473, + "id": 2535, "implemented": true, "kind": "function", "modifiers": [ { "arguments": [ { - "id": 2393, + "id": 2455, "name": "CUSTODIAN_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1584, - "src": "7439:14:12", + "src": "7801:14:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 2394, + "id": 2456, "kind": "modifierInvocation", "modifierName": { - "id": 2392, + "id": 2454, "name": "onlyRole", "nodeType": "IdentifierPath", "referencedDeclaration": 38, - "src": "7430:8:12" + "src": "7792:8:12" }, "nodeType": "ModifierInvocation", - "src": "7430:24:12" + "src": "7792:24:12" } ], "name": "regcust", - "nameLocation": "7396:7:12", + "nameLocation": "7758:7:12", "nodeType": "FunctionDefinition", "parameters": { - "id": 2391, + "id": 2453, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2390, + "id": 2452, "mutability": "mutable", "name": "account", - "nameLocation": "7412:7:12", + "nameLocation": "7774:7:12", "nodeType": "VariableDeclaration", - "scope": 2473, - "src": "7404:15:12", + "scope": 2535, + "src": "7766:15:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -47846,10 +34671,10 @@ "typeString": "address" }, "typeName": { - "id": 2389, + "id": 2451, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7404:7:12", + "src": "7766:7:12", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -47859,25 +34684,25 @@ "visibility": "internal" } ], - "src": "7403:17:12" + "src": "7765:17:12" }, "returnParameters": { - "id": 2395, + "id": 2457, "nodeType": "ParameterList", "parameters": [], - "src": "7455:0:12" + "src": "7817:0:12" }, - "scope": 2612, - "src": "7387:652:12", + "scope": 2694, + "src": "7749:652:12", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "body": { - "id": 2594, + "id": 2656, "nodeType": "Block", - "src": "8115:903:12", + "src": "8477:903:12", "statements": [ { "expression": { @@ -47887,18 +34712,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 2487, + "id": 2549, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2482, + "id": 2544, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2475, - "src": "8131:7:12", + "referencedDeclaration": 2537, + "src": "8493:7:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -47910,14 +34735,14 @@ "arguments": [ { "hexValue": "30", - "id": 2485, + "id": 2547, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8150:1:12", + "src": "8512:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -47932,26 +34757,26 @@ "typeString": "int_const 0" } ], - "id": 2484, + "id": 2546, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "8142:7:12", + "src": "8504:7:12", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 2483, + "id": 2545, "name": "address", "nodeType": "ElementaryTypeName", - "src": "8142:7:12", + "src": "8504:7:12", "typeDescriptions": {} } }, - "id": 2486, + "id": 2548, "isConstant": false, "isLValue": false, "isPure": true, @@ -47959,14 +34784,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8142:10:12", + "src": "8504:10:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "8131:21:12", + "src": "8493:21:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -47974,14 +34799,14 @@ }, { "hexValue": "496e76616c69642061646472657373", - "id": 2488, + "id": 2550, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "8154:17:12", + "src": "8516:17:12", "typeDescriptions": { "typeIdentifier": "t_stringliteral_1462473b7a4b33d32b109b815fd2324d00c9e5839b707ecf16d0ab5744f99226", "typeString": "literal_string \"Invalid address\"" @@ -48000,7 +34825,7 @@ "typeString": "literal_string \"Invalid address\"" } ], - "id": 2481, + "id": 2543, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -48008,13 +34833,13 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "8123:7:12", + "src": "8485:7:12", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 2489, + "id": 2551, "isConstant": false, "isLValue": false, "isPure": false, @@ -48022,16 +34847,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8123:49:12", + "src": "8485:49:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2490, + "id": 2552, "nodeType": "ExpressionStatement", - "src": "8123:49:12" + "src": "8485:49:12" }, { "expression": { @@ -48039,24 +34864,24 @@ { "arguments": [ { - "id": 2493, + "id": 2555, "name": "CUSTODIAN_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1584, - "src": "8196:14:12", + "src": "8558:14:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { - "id": 2494, + "id": 2556, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2475, - "src": "8212:7:12", + "referencedDeclaration": 2537, + "src": "8574:7:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -48074,18 +34899,18 @@ "typeString": "address" } ], - "id": 2492, + "id": 2554, "name": "hasRole", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 79, - "src": "8188:7:12", + "src": "8550:7:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$", "typeString": "function (bytes32,address) view returns (bool)" } }, - "id": 2495, + "id": 2557, "isConstant": false, "isLValue": false, "isPure": false, @@ -48093,7 +34918,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8188:32:12", + "src": "8550:32:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -48102,14 +34927,14 @@ }, { "hexValue": "437573746f6469616e206e6f742072656769737465726564", - "id": 2496, + "id": 2558, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "8222:26:12", + "src": "8584:26:12", "typeDescriptions": { "typeIdentifier": "t_stringliteral_76821f4b3d35f6a60318d8d6b17462215f5551e8806db95a96be51f60cd5499a", "typeString": "literal_string \"Custodian not registered\"" @@ -48128,7 +34953,7 @@ "typeString": "literal_string \"Custodian not registered\"" } ], - "id": 2491, + "id": 2553, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -48136,13 +34961,13 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "8180:7:12", + "src": "8542:7:12", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 2497, + "id": 2559, "isConstant": false, "isLValue": false, "isPure": false, @@ -48150,16 +34975,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8180:69:12", + "src": "8542:69:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2498, + "id": 2560, "nodeType": "ExpressionStatement", - "src": "8180:69:12" + "src": "8542:69:12" }, { "expression": { @@ -48169,18 +34994,18 @@ "typeIdentifier": "t_uint32", "typeString": "uint32" }, - "id": 2502, + "id": 2564, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2500, + "id": 2562, "name": "custodian_count", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1605, - "src": "8265:15:12", + "src": "8627:15:12", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -48190,21 +35015,21 @@ "operator": ">", "rightExpression": { "hexValue": "37", - "id": 2501, + "id": 2563, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8283:1:12", + "src": "8645:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_7_by_1", "typeString": "int_const 7" }, "value": "7" }, - "src": "8265:19:12", + "src": "8627:19:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -48212,14 +35037,14 @@ }, { "hexValue": "4d75737420636f6e7461696e203720637573746f6469616e73", - "id": 2503, + "id": 2565, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "8286:27:12", + "src": "8648:27:12", "typeDescriptions": { "typeIdentifier": "t_stringliteral_05386a555fb5b4178067cc222bba94b49ff5d41f27d80ca3371678b9e3b2e0c8", "typeString": "literal_string \"Must contain 7 custodians\"" @@ -48238,7 +35063,7 @@ "typeString": "literal_string \"Must contain 7 custodians\"" } ], - "id": 2499, + "id": 2561, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -48246,13 +35071,13 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "8257:7:12", + "src": "8619:7:12", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 2504, + "id": 2566, "isConstant": false, "isLValue": false, "isPure": false, @@ -48260,31 +35085,31 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8257:57:12", + "src": "8619:57:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2505, + "id": 2567, "nodeType": "ExpressionStatement", - "src": "8257:57:12" + "src": "8619:57:12" }, { "assignments": [ - 2507 + 2569 ], "declarations": [ { "constant": false, - "id": 2507, + "id": 2569, "mutability": "mutable", "name": "indexhash", - "nameLocation": "8330:9:12", + "nameLocation": "8692:9:12", "nodeType": "VariableDeclaration", - "scope": 2594, - "src": "8322:17:12", + "scope": 2656, + "src": "8684:17:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -48292,10 +35117,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 2506, + "id": 2568, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "8322:7:12", + "src": "8684:7:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -48304,7 +35129,7 @@ "visibility": "internal" } ], - "id": 2519, + "id": 2581, "initialValue": { "arguments": [ { @@ -48313,18 +35138,18 @@ "arguments": [ { "expression": { - "id": 2513, + "id": 2575, "name": "ApprovalType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1590, - "src": "8369:12:12", + "src": "8731:12:12", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_ApprovalType_$1590_$", "typeString": "type(enum WFIO.ApprovalType)" } }, - "id": 2514, + "id": 2576, "isConstant": false, "isLValue": false, "isPure": true, @@ -48332,19 +35157,19 @@ "memberName": "RemoveCustodian", "nodeType": "MemberAccess", "referencedDeclaration": 1589, - "src": "8369:28:12", + "src": "8731:28:12", "typeDescriptions": { "typeIdentifier": "t_enum$_ApprovalType_$1590", "typeString": "enum WFIO.ApprovalType" } }, { - "id": 2515, + "id": 2577, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2475, - "src": "8398:7:12", + "referencedDeclaration": 2537, + "src": "8760:7:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -48363,31 +35188,31 @@ } ], "expression": { - "id": 2511, + "id": 2573, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967295, - "src": "8358:3:12", + "src": "8720:3:12", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 2512, + "id": 2574, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "encode", "nodeType": "MemberAccess", - "src": "8358:10:12", + "src": "8720:10:12", "typeDescriptions": { "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 2516, + "id": 2578, "isConstant": false, "isLValue": false, "isPure": false, @@ -48395,7 +35220,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8358:48:12", + "src": "8720:48:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -48410,26 +35235,26 @@ "typeString": "bytes memory" } ], - "id": 2510, + "id": 2572, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "8352:5:12", + "src": "8714:5:12", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 2509, + "id": 2571, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "8352:5:12", + "src": "8714:5:12", "typeDescriptions": {} } }, - "id": 2517, + "id": 2579, "isConstant": false, "isLValue": false, "isPure": false, @@ -48437,7 +35262,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8352:55:12", + "src": "8714:55:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -48452,18 +35277,18 @@ "typeString": "bytes memory" } ], - "id": 2508, + "id": 2570, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967288, - "src": "8342:9:12", + "src": "8704:9:12", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 2518, + "id": 2580, "isConstant": false, "isLValue": false, "isPure": false, @@ -48471,7 +35296,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8342:66:12", + "src": "8704:66:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -48479,7 +35304,7 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "8322:86:12" + "src": "8684:86:12" }, { "expression": { @@ -48487,24 +35312,24 @@ { "arguments": [ { - "id": 2522, + "id": 2584, "name": "CUSTODIAN_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1584, - "src": "8432:14:12", + "src": "8794:14:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { - "id": 2523, + "id": 2585, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2475, - "src": "8448:7:12", + "referencedDeclaration": 2537, + "src": "8810:7:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -48522,18 +35347,18 @@ "typeString": "address" } ], - "id": 2521, + "id": 2583, "name": "hasRole", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 79, - "src": "8424:7:12", + "src": "8786:7:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$", "typeString": "function (bytes32,address) view returns (bool)" } }, - "id": 2524, + "id": 2586, "isConstant": false, "isLValue": false, "isPure": false, @@ -48541,7 +35366,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8424:32:12", + "src": "8786:32:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -48550,14 +35375,14 @@ }, { "hexValue": "416c726561647920756e72656769737465726564", - "id": 2525, + "id": 2587, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "8458:22:12", + "src": "8820:22:12", "typeDescriptions": { "typeIdentifier": "t_stringliteral_34e3a7e654f01bf833b66b5820dfc5c54b692538e8fdf4855e0707f49fbbe737", "typeString": "literal_string \"Already unregistered\"" @@ -48576,7 +35401,7 @@ "typeString": "literal_string \"Already unregistered\"" } ], - "id": 2520, + "id": 2582, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -48584,13 +35409,13 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "8416:7:12", + "src": "8778:7:12", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 2526, + "id": 2588, "isConstant": false, "isLValue": false, "isPure": false, @@ -48598,27 +35423,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8416:65:12", + "src": "8778:65:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2527, + "id": 2589, "nodeType": "ExpressionStatement", - "src": "8416:65:12" + "src": "8778:65:12" }, { "condition": { "arguments": [ { - "id": 2529, + "id": 2591, "name": "indexhash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2507, - "src": "8506:9:12", + "referencedDeclaration": 2569, + "src": "8868:9:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -48626,14 +35451,14 @@ }, { "hexValue": "31", - "id": 2530, + "id": 2592, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8517:1:12", + "src": "8879:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -48641,12 +35466,12 @@ "value": "1" }, { - "id": 2531, + "id": 2593, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2475, - "src": "8520:7:12", + "referencedDeclaration": 2537, + "src": "8882:7:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -48654,14 +35479,14 @@ }, { "hexValue": "30", - "id": 2532, + "id": 2594, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8529:1:12", + "src": "8891:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -48688,18 +35513,18 @@ "typeString": "int_const 0" } ], - "id": 2528, + "id": 2590, "name": "getConsensus", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1916, - "src": "8493:12:12", + "src": "8855:12:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_uint8_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (bytes32,uint8,address,uint256) returns (bool)" } }, - "id": 2533, + "id": 2595, "isConstant": false, "isLValue": false, "isPure": false, @@ -48707,43 +35532,43 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8493:38:12", + "src": "8855:38:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 2585, + "id": 2647, "nodeType": "IfStatement", - "src": "8489:452:12", + "src": "8851:452:12", "trueBody": { - "id": 2584, + "id": 2646, "nodeType": "Block", - "src": "8533:408:12", + "src": "8895:408:12", "statements": [ { "expression": { "arguments": [ { - "id": 2535, + "id": 2597, "name": "CUSTODIAN_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1584, - "src": "8557:14:12", + "src": "8919:14:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { - "id": 2536, + "id": 2598, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2475, - "src": "8573:7:12", + "referencedDeclaration": 2537, + "src": "8935:7:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -48761,18 +35586,18 @@ "typeString": "address" } ], - "id": 2534, + "id": 2596, "name": "_revokeRole", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 318, - "src": "8545:11:12", + "src": "8907:11:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", "typeString": "function (bytes32,address)" } }, - "id": 2537, + "id": 2599, "isConstant": false, "isLValue": false, "isPure": false, @@ -48780,20 +35605,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8545:36:12", + "src": "8907:36:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2538, + "id": 2600, "nodeType": "ExpressionStatement", - "src": "8545:36:12" + "src": "8907:36:12" }, { "expression": { - "id": 2540, + "id": 2602, "isConstant": false, "isLValue": false, "isPure": false, @@ -48801,14 +35626,14 @@ "nodeType": "UnaryOperation", "operator": "--", "prefix": false, - "src": "8593:17:12", + "src": "8955:17:12", "subExpression": { - "id": 2539, + "id": 2601, "name": "custodian_count", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1605, - "src": "8593:15:12", + "src": "8955:15:12", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -48819,15 +35644,15 @@ "typeString": "uint32" } }, - "id": 2541, + "id": 2603, "nodeType": "ExpressionStatement", - "src": "8593:17:12" + "src": "8955:17:12" }, { "body": { - "id": 2577, + "id": 2639, "nodeType": "Block", - "src": "8671:203:12", + "src": "9033:203:12", "statements": [ { "condition": { @@ -48835,32 +35660,32 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 2557, + "id": 2619, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "baseExpression": { - "id": 2553, + "id": 2615, "name": "custodianlist", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1661, - "src": "8688:13:12", + "src": "9050:13:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, - "id": 2555, + "id": 2617, "indexExpression": { - "id": 2554, + "id": 2616, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2543, - "src": "8702:1:12", + "referencedDeclaration": 2605, + "src": "9064:1:12", "typeDescriptions": { "typeIdentifier": "t_uint16", "typeString": "uint16" @@ -48871,7 +35696,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8688:16:12", + "src": "9050:16:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -48880,59 +35705,59 @@ "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { - "id": 2556, + "id": 2618, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2475, - "src": "8708:7:12", + "referencedDeclaration": 2537, + "src": "9070:7:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "8688:27:12", + "src": "9050:27:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 2576, + "id": 2638, "nodeType": "IfStatement", - "src": "8685:177:12", + "src": "9047:177:12", "trueBody": { - "id": 2575, + "id": 2637, "nodeType": "Block", - "src": "8717:145:12", + "src": "9079:145:12", "statements": [ { "expression": { - "id": 2567, + "id": 2629, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 2558, + "id": 2620, "name": "custodianlist", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1661, - "src": "8733:13:12", + "src": "9095:13:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, - "id": 2560, + "id": 2622, "indexExpression": { - "id": 2559, + "id": 2621, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2543, - "src": "8747:1:12", + "referencedDeclaration": 2605, + "src": "9109:1:12", "typeDescriptions": { "typeIdentifier": "t_uint16", "typeString": "uint16" @@ -48943,7 +35768,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "8733:16:12", + "src": "9095:16:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -48953,49 +35778,49 @@ "operator": "=", "rightHandSide": { "baseExpression": { - "id": 2561, + "id": 2623, "name": "custodianlist", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1661, - "src": "8752:13:12", + "src": "9114:13:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, - "id": 2566, + "id": 2628, "indexExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2565, + "id": 2627, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 2562, + "id": 2624, "name": "custodianlist", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1661, - "src": "8766:13:12", + "src": "9128:13:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, - "id": 2563, + "id": 2625, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "length", "nodeType": "MemberAccess", - "src": "8766:20:12", + "src": "9128:20:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -49005,21 +35830,21 @@ "operator": "-", "rightExpression": { "hexValue": "31", - "id": 2564, + "id": 2626, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8789:1:12", + "src": "9151:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, - "src": "8766:24:12", + "src": "9128:24:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -49030,21 +35855,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8752:39:12", + "src": "9114:39:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "8733:58:12", + "src": "9095:58:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 2568, + "id": 2630, "nodeType": "ExpressionStatement", - "src": "8733:58:12" + "src": "9095:58:12" }, { "expression": { @@ -49052,31 +35877,31 @@ "expression": { "argumentTypes": [], "expression": { - "id": 2569, + "id": 2631, "name": "custodianlist", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1661, - "src": "8807:13:12", + "src": "9169:13:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, - "id": 2571, + "id": 2633, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "pop", "nodeType": "MemberAccess", - "src": "8807:17:12", + "src": "9169:17:12", "typeDescriptions": { "typeIdentifier": "t_function_arraypop_nonpayable$_t_array$_t_address_$dyn_storage_ptr_$returns$__$bound_to$_t_array$_t_address_$dyn_storage_ptr_$", "typeString": "function (address[] storage pointer)" } }, - "id": 2572, + "id": 2634, "isConstant": false, "isLValue": false, "isPure": false, @@ -49084,21 +35909,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8807:19:12", + "src": "9169:19:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2573, + "id": 2635, "nodeType": "ExpressionStatement", - "src": "8807:19:12" + "src": "9169:19:12" }, { - "id": 2574, + "id": 2636, "nodeType": "Break", - "src": "8842:5:12" + "src": "9204:5:12" } ] } @@ -49110,18 +35935,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2549, + "id": 2611, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2546, + "id": 2608, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2543, - "src": "8640:1:12", + "referencedDeclaration": 2605, + "src": "9002:1:12", "typeDescriptions": { "typeIdentifier": "t_uint16", "typeString": "uint16" @@ -49131,51 +35956,51 @@ "operator": "<", "rightExpression": { "expression": { - "id": 2547, + "id": 2609, "name": "custodianlist", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1661, - "src": "8644:13:12", + "src": "9006:13:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, - "id": 2548, + "id": 2610, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "length", "nodeType": "MemberAccess", - "src": "8644:20:12", + "src": "9006:20:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "8640:24:12", + "src": "9002:24:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 2578, + "id": 2640, "initializationExpression": { "assignments": [ - 2543 + 2605 ], "declarations": [ { "constant": false, - "id": 2543, + "id": 2605, "mutability": "mutable", "name": "i", - "nameLocation": "8633:1:12", + "nameLocation": "8995:1:12", "nodeType": "VariableDeclaration", - "scope": 2578, - "src": "8626:8:12", + "scope": 2640, + "src": "8988:8:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -49183,10 +36008,10 @@ "typeString": "uint16" }, "typeName": { - "id": 2542, + "id": 2604, "name": "uint16", "nodeType": "ElementaryTypeName", - "src": "8626:6:12", + "src": "8988:6:12", "typeDescriptions": { "typeIdentifier": "t_uint16", "typeString": "uint16" @@ -49195,17 +36020,17 @@ "visibility": "internal" } ], - "id": 2545, + "id": 2607, "initialValue": { "hexValue": "30", - "id": 2544, + "id": 2606, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8637:1:12", + "src": "8999:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -49213,11 +36038,11 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "8626:12:12" + "src": "8988:12:12" }, "loopExpression": { "expression": { - "id": 2551, + "id": 2613, "isConstant": false, "isLValue": false, "isPure": false, @@ -49225,14 +36050,14 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "8666:3:12", + "src": "9028:3:12", "subExpression": { - "id": 2550, + "id": 2612, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2543, - "src": "8666:1:12", + "referencedDeclaration": 2605, + "src": "9028:1:12", "typeDescriptions": { "typeIdentifier": "t_uint16", "typeString": "uint16" @@ -49243,35 +36068,35 @@ "typeString": "uint16" } }, - "id": 2552, + "id": 2614, "nodeType": "ExpressionStatement", - "src": "8666:3:12" + "src": "9028:3:12" }, "nodeType": "ForStatement", - "src": "8622:252:12" + "src": "8984:252:12" }, { "eventCall": { "arguments": [ { - "id": 2580, + "id": 2642, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2475, - "src": "8913:7:12", + "referencedDeclaration": 2537, + "src": "9275:7:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 2581, + "id": 2643, "name": "indexhash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2507, - "src": "8922:9:12", + "referencedDeclaration": 2569, + "src": "9284:9:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -49289,18 +36114,18 @@ "typeString": "bytes32" } ], - "id": 2579, + "id": 2641, "name": "custodian_unregistered", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1627, - "src": "8890:22:12", + "src": "9252:22:12", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bytes32_$returns$__$", "typeString": "function (address,bytes32)" } }, - "id": 2582, + "id": 2644, "isConstant": false, "isLValue": false, "isPure": false, @@ -49308,16 +36133,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8890:42:12", + "src": "9252:42:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2583, + "id": 2645, "nodeType": "EmitStatement", - "src": "8885:47:12" + "src": "9247:47:12" } ] } @@ -49327,106 +36152,420 @@ "arguments": [ { "hexValue": "637573746f6469616e", - "id": 2587, + "id": 2649, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "8972:11:12", + "src": "9334:11:12", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_7910ad37365bbe683fd8f86c0628fe6da9da366f7e8b3db028763efd0d0b7ecc", + "typeString": "literal_string \"custodian\"" + }, + "value": "custodian" + }, + { + "expression": { + "id": 2650, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "9347:3:12", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2651, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "9347:10:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "hexValue": "", + "id": 2652, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9359:2:12", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + }, + { + "id": 2653, + "name": "indexhash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2569, + "src": "9363:9:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_7910ad37365bbe683fd8f86c0628fe6da9da366f7e8b3db028763efd0d0b7ecc", + "typeString": "literal_string \"custodian\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2648, + "name": "consensus_activity", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1655, + "src": "9315:18:12", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_address_$_t_string_memory_ptr_$_t_bytes32_$returns$__$", + "typeString": "function (string memory,address,string memory,bytes32)" + } + }, + "id": 2654, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9315:58:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2655, + "nodeType": "EmitStatement", + "src": "9310:63:12" + } + ] + }, + "functionSelector": "ff3e34a5", + "id": 2657, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "id": 2540, + "name": "CUSTODIAN_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1584, + "src": "8461:14:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 2541, + "kind": "modifierInvocation", + "modifierName": { + "id": 2539, + "name": "onlyRole", + "nodeType": "IdentifierPath", + "referencedDeclaration": 38, + "src": "8452:8:12" + }, + "nodeType": "ModifierInvocation", + "src": "8452:24:12" + } + ], + "name": "unregcust", + "nameLocation": "8416:9:12", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2538, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2537, + "mutability": "mutable", + "name": "account", + "nameLocation": "8434:7:12", + "nodeType": "VariableDeclaration", + "scope": 2657, + "src": "8426:15:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2536, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8426:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "8425:17:12" + }, + "returnParameters": { + "id": 2542, + "nodeType": "ParameterList", + "parameters": [], + "src": "8477:0:12" + }, + "scope": 2694, + "src": "8407:973:12", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 2663, + "nodeType": "Block", + "src": "9615:25:12", + "statements": [ + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2660, + "name": "revert", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967277, + 4294967277 + ], + "referencedDeclaration": 4294967277, + "src": "9625:6:12", + "typeDescriptions": { + "typeIdentifier": "t_function_revert_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 2661, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9625:8:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2662, + "nodeType": "ExpressionStatement", + "src": "9625:8:12" + } + ] + }, + "id": 2664, + "implemented": true, + "kind": "receive", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2658, + "nodeType": "ParameterList", + "parameters": [], + "src": "9595:2:12" + }, + "returnParameters": { + "id": 2659, + "nodeType": "ParameterList", + "parameters": [], + "src": "9615:0:12" + }, + "scope": 2694, + "src": "9587:53:12", + "stateMutability": "payable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 2683, + "nodeType": "Block", + "src": "9714:89:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 2673, + "name": "OWNER_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1579, + "src": "9734:10:12", "typeDescriptions": { - "typeIdentifier": "t_stringliteral_7910ad37365bbe683fd8f86c0628fe6da9da366f7e8b3db028763efd0d0b7ecc", - "typeString": "literal_string \"custodian\"" - }, - "value": "custodian" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } }, { "expression": { - "id": 2588, + "id": 2674, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967281, - "src": "8985:3:12", + "src": "9746:3:12", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 2589, + "id": 2675, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", - "src": "8985:10:12", + "src": "9746:10:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } - }, - { - "hexValue": "", - "id": 2590, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8997:2:12", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" }, - "value": "" - }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2672, + "name": "_revokeRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 318, + "src": "9722:11:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 2676, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9722:35:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2677, + "nodeType": "ExpressionStatement", + "src": "9722:35:12" + }, + { + "expression": { + "arguments": [ { - "id": 2591, - "name": "indexhash", + "id": 2679, + "name": "OWNER_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2507, - "src": "9001:9:12", + "referencedDeclaration": 1579, + "src": "9776:10:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } + }, + { + "id": 2680, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2666, + "src": "9788:7:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_stringliteral_7910ad37365bbe683fd8f86c0628fe6da9da366f7e8b3db028763efd0d0b7ecc", - "typeString": "literal_string \"custodian\"" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" }, { "typeIdentifier": "t_address", "typeString": "address" - }, - { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" } ], - "id": 2586, - "name": "consensus_activity", + "id": 2678, + "name": "_grantRole", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1655, - "src": "8953:18:12", + "referencedDeclaration": 287, + "src": "9765:10:12", "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_address_$_t_string_memory_ptr_$_t_bytes32_$returns$__$", - "typeString": "function (string memory,address,string memory,bytes32)" + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" } }, - "id": 2592, + "id": 2681, "isConstant": false, "isLValue": false, "isPure": false, @@ -49434,68 +36573,68 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8953:58:12", + "src": "9765:31:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2593, - "nodeType": "EmitStatement", - "src": "8948:63:12" + "id": 2682, + "nodeType": "ExpressionStatement", + "src": "9765:31:12" } ] }, - "functionSelector": "ff3e34a5", - "id": 2595, + "functionSelector": "a6f9dae1", + "id": 2684, "implemented": true, "kind": "function", "modifiers": [ { "arguments": [ { - "id": 2478, - "name": "CUSTODIAN_ROLE", + "id": 2669, + "name": "OWNER_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1584, - "src": "8099:14:12", + "referencedDeclaration": 1579, + "src": "9702:10:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 2479, + "id": 2670, "kind": "modifierInvocation", "modifierName": { - "id": 2477, + "id": 2668, "name": "onlyRole", "nodeType": "IdentifierPath", "referencedDeclaration": 38, - "src": "8090:8:12" + "src": "9693:8:12" }, "nodeType": "ModifierInvocation", - "src": "8090:24:12" + "src": "9693:20:12" } ], - "name": "unregcust", - "nameLocation": "8054:9:12", + "name": "changeOwner", + "nameLocation": "9655:11:12", "nodeType": "FunctionDefinition", "parameters": { - "id": 2476, + "id": 2667, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2475, + "id": 2666, "mutability": "mutable", "name": "account", - "nameLocation": "8072:7:12", + "nameLocation": "9675:7:12", "nodeType": "VariableDeclaration", - "scope": 2595, - "src": "8064:15:12", + "scope": 2684, + "src": "9667:15:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -49503,10 +36642,10 @@ "typeString": "address" }, "typeName": { - "id": 2474, + "id": 2665, "name": "address", "nodeType": "ElementaryTypeName", - "src": "8064:7:12", + "src": "9667:7:12", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -49516,157 +36655,86 @@ "visibility": "internal" } ], - "src": "8063:17:12" + "src": "9666:17:12" }, "returnParameters": { - "id": 2480, + "id": 2671, "nodeType": "ParameterList", "parameters": [], - "src": "8115:0:12" + "src": "9714:0:12" }, - "scope": 2612, - "src": "8045:973:12", + "scope": 2694, + "src": "9646:157:12", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, - { - "body": { - "id": 2601, - "nodeType": "Block", - "src": "9253:25:12", - "statements": [ - { - "expression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 2598, - "name": "revert", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967277, - 4294967277 - ], - "referencedDeclaration": 4294967277, - "src": "9263:6:12", - "typeDescriptions": { - "typeIdentifier": "t_function_revert_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 2599, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9263:8:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2600, - "nodeType": "ExpressionStatement", - "src": "9263:8:12" - } - ] - }, - "id": 2602, - "implemented": true, - "kind": "receive", - "modifiers": [], - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2596, - "nodeType": "ParameterList", - "parameters": [], - "src": "9233:2:12" - }, - "returnParameters": { - "id": 2597, - "nodeType": "ParameterList", - "parameters": [], - "src": "9253:0:12" - }, - "scope": 2612, - "src": "9225:53:12", - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, { "baseFunctions": [ 575 ], "body": { - "id": 2610, + "id": 2692, "nodeType": "Block", - "src": "9349:23:12", + "src": "9874:23:12", "statements": [ { "expression": { "hexValue": "39", - "id": 2608, + "id": 2690, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9364:1:12", + "src": "9889:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_9_by_1", "typeString": "int_const 9" }, "value": "9" }, - "functionReturnParameters": 2607, - "id": 2609, + "functionReturnParameters": 2689, + "id": 2691, "nodeType": "Return", - "src": "9357:8:12" + "src": "9882:8:12" } ] }, "functionSelector": "313ce567", - "id": 2611, + "id": 2693, "implemented": true, "kind": "function", "modifiers": [], "name": "decimals", - "nameLocation": "9293:8:12", + "nameLocation": "9818:8:12", "nodeType": "FunctionDefinition", "overrides": { - "id": 2604, + "id": 2686, "nodeType": "OverrideSpecifier", "overrides": [], - "src": "9324:8:12" + "src": "9849:8:12" }, "parameters": { - "id": 2603, + "id": 2685, "nodeType": "ParameterList", "parameters": [], - "src": "9301:2:12" + "src": "9826:2:12" }, "returnParameters": { - "id": 2607, + "id": 2689, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2606, + "id": 2688, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 2611, - "src": "9342:5:12", + "scope": 2693, + "src": "9867:5:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -49674,10 +36742,10 @@ "typeString": "uint8" }, "typeName": { - "id": 2605, + "id": 2687, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "9342:5:12", + "src": "9867:5:12", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -49686,28 +36754,28 @@ "visibility": "internal" } ], - "src": "9341:7:12" + "src": "9866:7:12" }, - "scope": 2612, - "src": "9284:88:12", + "scope": 2694, + "src": "9809:88:12", "stateMutability": "view", "virtual": true, "visibility": "public" } ], - "scope": 2613, - "src": "433:8941:12", + "scope": 2695, + "src": "433:9466:12", "usedErrors": [] } ], - "src": "143:9232:12" + "src": "143:9757:12" }, "compiler": { "name": "solc", "version": "0.8.7+commit.e28d00a7.Emscripten.clang" }, "networks": { - "5777": { + "5": { "events": { "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925": { "anonymous": false, @@ -50013,12 +37081,365 @@ } }, "links": {}, - "address": "0x9488Ca72f463f3faB9357Fc40B2786eaeD646F8D", - "transactionHash": "0x538dbee6aea78e81dfdefa915741e78aa48e22dbc6be65dd9fb43c873d701e14" + "address": "0xb622F030Be649aAAa9f32faa2b0C0E02986D75F2", + "transactionHash": "0xc75b3601f6c9ac967c0f4dd8fa2f7fc0afee68bfe95f4068a119de1a7ae58879" + }, + "5777": { + "events": { + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + "0x62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258": { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "Paused", + "type": "event" + }, + "0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "previousAdminRole", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "newAdminRole", + "type": "bytes32" + } + ], + "name": "RoleAdminChanged", + "type": "event" + }, + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleGranted", + "type": "event" + }, + "0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleRevoked", + "type": "event" + }, + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + "0x5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa": { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "Unpaused", + "type": "event" + }, + "0x7cd540e1ee1a6ab2529f95677162c8e7ecbc8c8d91327753d42ae5dfc60621e6": { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "string", + "name": "signer", + "type": "string" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "hash", + "type": "bytes32" + } + ], + "name": "consensus_activity", + "type": "event" + }, + "0x4f4b5dcea44dd9a0d4582de1f0b930ffdd296bd645df66b73ff1795f43e7dc11": { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "indexhash", + "type": "bytes32" + } + ], + "name": "custodian_registered", + "type": "event" + }, + "0x0cf142c25ce5b399a7953be52d40c8596def04c010697715ab9c72f4962d1a2d": { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "indexhash", + "type": "bytes32" + } + ], + "name": "custodian_unregistered", + "type": "event" + }, + "0xfde1904d2f36e8247a68b76a38b2dc6908f769438b6bb8f173ee39a2c01f2b58": { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "indexhash", + "type": "bytes32" + } + ], + "name": "oracle_registered", + "type": "event" + }, + "0xe4d21301551b3d87dc269fc8b9d5a5c1432831c3c321ef19570b8a93a10cb522": { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "indexhash", + "type": "bytes32" + } + ], + "name": "oracle_unregistered", + "type": "event" + }, + "0xcbc81eff77955b99685533d29441743baaced5a53ed539d634490e5380a8dcf0": { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "string", + "name": "fioaddress", + "type": "string" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "unwrapped", + "type": "event" + }, + "0xbfb8a2f9b4d8e8ed83a83aedac91756186665fbf1f57e39619d757180619bf98": { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "string", + "name": "obtid", + "type": "string" + } + ], + "name": "wrapped", + "type": "event" + }, + "0x3be8840aec3e3998ee1e020dd20a8ea88430534d4e16feeeb1762ea4428464cd": { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "string", + "name": "signer", + "type": "string" + }, + { + "indexed": false, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "string", + "name": "obtid", + "type": "string" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "indexhash", + "type": "bytes32" + } + ], + "name": "consensus_activity", + "type": "event" + }, + "0x782b4b93eb581fc57f70e74139d0b877718d322f8860ff8a747fa9b58b07f8fd": { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "string", + "name": "signer", + "type": "string" + }, + { + "indexed": false, + "internalType": "string", + "name": "obtid", + "type": "string" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "indexhash", + "type": "bytes32" + } + ], + "name": "consensus_activity", + "type": "event" + } + }, + "links": {}, + "address": "0x91F7A6b91517787Ac069319EB7114dc1E54b5270", + "transactionHash": "0x31105e92a7812fec0228cd53bf5cbd065c20584bc7d6452352f12d8334091ff3" } }, - "schemaVersion": "3.4.4", - "updatedAt": "2022-10-05T16:01:41.967Z", + "schemaVersion": "3.4.8", + "updatedAt": "2022-10-12T03:47:50.809Z", "networkType": "ethereum", "devdoc": { "kind": "dev",