@venusprotocol/oracle 2.5.0-dev.8 → 2.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/artifacts/@venusprotocol/venus-protocol/contracts/Tokens/VAI/VAI.sol/VAI.dbg.json +1 -1
- package/artifacts/@venusprotocol/venus-protocol/contracts/Tokens/VAI/VAI.sol/VAI.json +2 -2
- package/artifacts/@venusprotocol/venus-protocol/contracts/Tokens/VAI/lib.sol/LibNote.dbg.json +1 -1
- package/artifacts/build-info/10f6720a09b0c0628cc72a5dfb092652.json +1 -0
- package/artifacts/contracts/test/VAI.sol/VAIScenario.dbg.json +1 -1
- package/artifacts/contracts/test/VAI.sol/VAIScenario.json +2 -2
- package/artifacts-zk/@venusprotocol/venus-protocol/contracts/Tokens/VAI/VAI.sol/VAI.dbg.json +1 -1
- package/artifacts-zk/@venusprotocol/venus-protocol/contracts/Tokens/VAI/lib.sol/LibNote.dbg.json +1 -1
- package/artifacts-zk/build-info/dce9607a9d6967895de61210a25d3a01.json +1 -0
- package/artifacts-zk/contracts/test/VAI.sol/VAIScenario.dbg.json +1 -1
- package/package.json +3 -3
- package/artifacts/build-info/b82644fe55e99e876162664de47b7bf0.json +0 -1
- package/artifacts-zk/build-info/279610a9edcca8af2f398ee01fcc3cf0.json +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"id":"279610a9edcca8af2f398ee01fcc3cf0","_format":"hh-sol-build-info-1","solcVersion":"zkVM-0.5.16-1.0.1","solcLongVersion":"zkVM-0.5.16-1.0.1","input":{"language":"Solidity","sources":{"@venusprotocol/venus-protocol/contracts/Tokens/VAI/lib.sol":{"content":"// SPDX-License-Identifier: AGPL-3.0-or-later\n\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU General Public License for more details.\n\n// You should have received a copy of the GNU General Public License\n// along with this program. If not, see <http://www.gnu.org/licenses/>.\n\npragma solidity ^0.5.16;\n\ncontract LibNote {\n event LogNote(\n bytes4 indexed sig,\n address indexed usr,\n bytes32 indexed arg1,\n bytes32 indexed arg2,\n bytes data\n ) anonymous;\n\n modifier note() {\n _;\n assembly {\n // log an 'anonymous' event with a constant 6 words of calldata\n // and four indexed topics: selector, caller, arg1 and arg2\n let mark := msize() // end of memory ensures zero\n mstore(0x40, add(mark, 288)) // update free memory pointer\n mstore(mark, 0x20) // bytes type data offset\n mstore(add(mark, 0x20), 224) // bytes size (padded)\n calldatacopy(add(mark, 0x40), 0, 224) // bytes payload\n log4(\n mark,\n 288, // calldata\n shl(224, shr(224, calldataload(0))), // msg.sig\n caller(), // msg.sender\n calldataload(4), // arg1\n calldataload(36) // arg2\n )\n }\n }\n}\n"},"@venusprotocol/venus-protocol/contracts/Tokens/VAI/VAI.sol":{"content":"// SPDX-License-Identifier: AGPL-3.0-or-later\n\n// Copyright (C) 2017, 2018, 2019 dbrock, rain, mrchico\n\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see <https://www.gnu.org/licenses/>.\n\npragma solidity ^0.5.16;\n\nimport \"./lib.sol\";\n\ncontract VAI is LibNote {\n // --- Auth ---\n mapping(address => uint) public wards;\n\n function rely(address guy) external note auth {\n wards[guy] = 1;\n }\n\n function deny(address guy) external note auth {\n wards[guy] = 0;\n }\n\n modifier auth() {\n require(wards[msg.sender] == 1, \"VAI/not-authorized\");\n _;\n }\n\n // --- BEP20 Data ---\n string public constant name = \"VAI Stablecoin\";\n string public constant symbol = \"VAI\";\n string public constant version = \"1\";\n uint8 public constant decimals = 18;\n uint256 public totalSupply;\n\n mapping(address => uint) public balanceOf;\n mapping(address => mapping(address => uint)) public allowance;\n mapping(address => uint) public nonces;\n\n event Approval(address indexed src, address indexed guy, uint wad);\n event Transfer(address indexed src, address indexed dst, uint wad);\n\n // --- Math ---\n function add(uint x, uint y) internal pure returns (uint z) {\n require((z = x + y) >= x, \"VAI math error\");\n }\n\n function sub(uint x, uint y) internal pure returns (uint z) {\n require((z = x - y) <= x, \"VAI math error\");\n }\n\n // --- EIP712 niceties ---\n bytes32 public DOMAIN_SEPARATOR;\n // bytes32 public constant PERMIT_TYPEHASH = keccak256(\"Permit(address holder,address spender,uint256 nonce,uint256 expiry,bool allowed)\");\n bytes32 public constant PERMIT_TYPEHASH = 0xea2aa0a1be11a07ed86d755c93467f4f82362b452371d1ba94d1715123511acb;\n\n constructor(uint256 chainId_) public {\n wards[msg.sender] = 1;\n DOMAIN_SEPARATOR = keccak256(\n abi.encode(\n keccak256(\"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)\"),\n keccak256(bytes(name)),\n keccak256(bytes(version)),\n chainId_,\n address(this)\n )\n );\n }\n\n // --- Token ---\n function transfer(address dst, uint wad) external returns (bool) {\n return transferFrom(msg.sender, dst, wad);\n }\n\n function transferFrom(address src, address dst, uint wad) public returns (bool) {\n require(balanceOf[src] >= wad, \"VAI/insufficient-balance\");\n if (src != msg.sender && allowance[src][msg.sender] != uint(-1)) {\n require(allowance[src][msg.sender] >= wad, \"VAI/insufficient-allowance\");\n allowance[src][msg.sender] = sub(allowance[src][msg.sender], wad);\n }\n balanceOf[src] = sub(balanceOf[src], wad);\n balanceOf[dst] = add(balanceOf[dst], wad);\n emit Transfer(src, dst, wad);\n return true;\n }\n\n function mint(address usr, uint wad) external auth {\n balanceOf[usr] = add(balanceOf[usr], wad);\n totalSupply = add(totalSupply, wad);\n emit Transfer(address(0), usr, wad);\n }\n\n function burn(address usr, uint wad) external {\n require(balanceOf[usr] >= wad, \"VAI/insufficient-balance\");\n if (usr != msg.sender && allowance[usr][msg.sender] != uint(-1)) {\n require(allowance[usr][msg.sender] >= wad, \"VAI/insufficient-allowance\");\n allowance[usr][msg.sender] = sub(allowance[usr][msg.sender], wad);\n }\n balanceOf[usr] = sub(balanceOf[usr], wad);\n totalSupply = sub(totalSupply, wad);\n emit Transfer(usr, address(0), wad);\n }\n\n function approve(address usr, uint wad) external returns (bool) {\n allowance[msg.sender][usr] = wad;\n emit Approval(msg.sender, usr, wad);\n return true;\n }\n\n // --- Alias ---\n function push(address usr, uint wad) external {\n transferFrom(msg.sender, usr, wad);\n }\n\n function pull(address usr, uint wad) external {\n transferFrom(usr, msg.sender, wad);\n }\n\n function move(address src, address dst, uint wad) external {\n transferFrom(src, dst, wad);\n }\n\n // --- Approve by signature ---\n function permit(\n address holder,\n address spender,\n uint256 nonce,\n uint256 expiry,\n bool allowed,\n uint8 v,\n bytes32 r,\n bytes32 s\n ) external {\n bytes32 digest = keccak256(\n abi.encodePacked(\n \"\\x19\\x01\",\n DOMAIN_SEPARATOR,\n keccak256(abi.encode(PERMIT_TYPEHASH, holder, spender, nonce, expiry, allowed))\n )\n );\n\n require(holder != address(0), \"VAI/invalid-address-0\");\n require(holder == ecrecover(digest, v, r, s), \"VAI/invalid-permit\");\n require(expiry == 0 || now <= expiry, \"VAI/permit-expired\");\n require(nonce == nonces[holder]++, \"VAI/invalid-nonce\");\n uint wad = allowed ? uint(-1) : 0;\n allowance[holder][spender] = wad;\n emit Approval(holder, spender, wad);\n }\n}\n"},"contracts/test/VAI.sol":{"content":"// SPDX-License-Identifier: BSD-3-Clause\npragma solidity 0.5.16;\nimport \"@venusprotocol/venus-protocol/contracts/Tokens/VAI/VAI.sol\";\n\ncontract VAIScenario is VAI {\n constructor(uint256 chainId) public VAI(chainId) {}\n}\n"}},"settings":{"optimizer":{"enabled":true,"mode":"3"},"outputSelection":{"*":{"*":["storageLayout","abi","evm.methodIdentifiers","metadata","devdoc","userdoc"],"":["ast"]}},"forceEVMLA":false,"metadata":{"bytecodeHash":"none"},"detectMissingLibraries":false,"enableEraVMExtensions":false,"libraries":{}}},"output":{"version":"0.5.16","long_version":"0.5.16+commit.b9534989.Linux.clang","zk_version":"1.5.1","sources":{"@venusprotocol/venus-protocol/contracts/Tokens/VAI/VAI.sol":{"id":0,"ast":{"absolutePath":"@venusprotocol/venus-protocol/contracts/Tokens/VAI/VAI.sol","exportedSymbols":{"VAI":[608]},"id":609,"nodeType":"SourceUnit","nodes":[{"id":1,"literals":["solidity","^","0.5",".16"],"nodeType":"PragmaDirective","src":"773:24:0"},{"absolutePath":"@venusprotocol/venus-protocol/contracts/Tokens/VAI/lib.sol","file":"./lib.sol","id":2,"nodeType":"ImportDirective","scope":609,"sourceUnit":629,"src":"799:19:0","symbolAliases":[],"unitAlias":""},{"baseContracts":[{"arguments":null,"baseName":{"contractScope":null,"id":3,"name":"LibNote","nodeType":"UserDefinedTypeName","referencedDeclaration":628,"src":"836:7:0","typeDescriptions":{"typeIdentifier":"t_contract$_LibNote_$628","typeString":"contract LibNote"}},"id":4,"nodeType":"InheritanceSpecifier","src":"836:7:0"}],"contractDependencies":[628],"contractKind":"contract","documentation":null,"fullyImplemented":true,"id":608,"linearizedBaseContracts":[608,628],"name":"VAI","nodeType":"ContractDefinition","nodes":[{"constant":false,"id":8,"name":"wards","nodeType":"VariableDeclaration","scope":608,"src":"870:37:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":7,"keyType":{"id":5,"name":"address","nodeType":"ElementaryTypeName","src":"878:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"870:24:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueType":{"id":6,"name":"uint","nodeType":"ElementaryTypeName","src":"889:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"value":null,"visibility":"public"},{"body":{"id":23,"nodeType":"Block","src":"960:31:0","statements":[{"expression":{"argumentTypes":null,"id":21,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":17,"name":"wards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8,"src":"970:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":19,"indexExpression":{"argumentTypes":null,"id":18,"name":"guy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10,"src":"976:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"970:10:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"hexValue":"31","id":20,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"983:1:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"970:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":22,"nodeType":"ExpressionStatement","src":"970:14:0"}]},"documentation":null,"id":24,"implemented":true,"kind":"function","modifiers":[{"arguments":null,"id":13,"modifierName":{"argumentTypes":null,"id":12,"name":"note","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":627,"src":"950:4:0","typeDescriptions":{"typeIdentifier":"t_modifier$__$","typeString":"modifier ()"}},"nodeType":"ModifierInvocation","src":"950:4:0"},{"arguments":null,"id":15,"modifierName":{"argumentTypes":null,"id":14,"name":"auth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54,"src":"955:4:0","typeDescriptions":{"typeIdentifier":"t_modifier$__$","typeString":"modifier ()"}},"nodeType":"ModifierInvocation","src":"955:4:0"}],"name":"rely","nodeType":"FunctionDefinition","parameters":{"id":11,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10,"name":"guy","nodeType":"VariableDeclaration","scope":24,"src":"928:11:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9,"name":"address","nodeType":"ElementaryTypeName","src":"928:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"}],"src":"927:13:0"},"returnParameters":{"id":16,"nodeType":"ParameterList","parameters":[],"src":"960:0:0"},"scope":608,"src":"914:77:0","stateMutability":"nonpayable","superFunction":null,"visibility":"external"},{"body":{"id":39,"nodeType":"Block","src":"1043:31:0","statements":[{"expression":{"argumentTypes":null,"id":37,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":33,"name":"wards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8,"src":"1053:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":35,"indexExpression":{"argumentTypes":null,"id":34,"name":"guy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26,"src":"1059:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1053:10:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"hexValue":"30","id":36,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1066:1:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1053:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":38,"nodeType":"ExpressionStatement","src":"1053:14:0"}]},"documentation":null,"id":40,"implemented":true,"kind":"function","modifiers":[{"arguments":null,"id":29,"modifierName":{"argumentTypes":null,"id":28,"name":"note","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":627,"src":"1033:4:0","typeDescriptions":{"typeIdentifier":"t_modifier$__$","typeString":"modifier ()"}},"nodeType":"ModifierInvocation","src":"1033:4:0"},{"arguments":null,"id":31,"modifierName":{"argumentTypes":null,"id":30,"name":"auth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54,"src":"1038:4:0","typeDescriptions":{"typeIdentifier":"t_modifier$__$","typeString":"modifier ()"}},"nodeType":"ModifierInvocation","src":"1038:4:0"}],"name":"deny","nodeType":"FunctionDefinition","parameters":{"id":27,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26,"name":"guy","nodeType":"VariableDeclaration","scope":40,"src":"1011:11:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25,"name":"address","nodeType":"ElementaryTypeName","src":"1011:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"}],"src":"1010:13:0"},"returnParameters":{"id":32,"nodeType":"ParameterList","parameters":[],"src":"1043:0:0"},"scope":608,"src":"997:77:0","stateMutability":"nonpayable","superFunction":null,"visibility":"external"},{"body":{"id":53,"nodeType":"Block","src":"1096:81:0","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":43,"name":"wards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8,"src":"1114:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":46,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":44,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":658,"src":"1120:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":45,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"1120:10:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1114:17:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"hexValue":"31","id":47,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1135:1:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"1114:22:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"argumentTypes":null,"hexValue":"5641492f6e6f742d617574686f72697a6564","id":49,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1138:20:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_f6ce616d99c6e8b950ed8eb53a02540dcf6942bc19bd027bac3e805fb6ec95dd","typeString":"literal_string \"VAI/not-authorized\""},"value":"VAI/not-authorized"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_f6ce616d99c6e8b950ed8eb53a02540dcf6942bc19bd027bac3e805fb6ec95dd","typeString":"literal_string \"VAI/not-authorized\""}],"id":42,"name":"require","nodeType":"Identifier","overloadedDeclarations":[661,662],"referencedDeclaration":662,"src":"1106:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":50,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1106:53:0","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51,"nodeType":"ExpressionStatement","src":"1106:53:0"},{"id":52,"nodeType":"PlaceholderStatement","src":"1169:1:0"}]},"documentation":null,"id":54,"name":"auth","nodeType":"ModifierDefinition","parameters":{"id":41,"nodeType":"ParameterList","parameters":[],"src":"1093:2:0"},"src":"1080:97:0","visibility":"internal"},{"constant":true,"id":57,"name":"name","nodeType":"VariableDeclaration","scope":608,"src":"1209:46:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory","typeString":"string"},"typeName":{"id":55,"name":"string","nodeType":"ElementaryTypeName","src":"1209:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"argumentTypes":null,"hexValue":"56414920537461626c65636f696e","id":56,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1239:16:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_dd18a44c5a898a5e53e119eaa2f28613c9f2172cf68c0fb769cbcdd3e3296b05","typeString":"literal_string \"VAI Stablecoin\""},"value":"VAI Stablecoin"},"visibility":"public"},{"constant":true,"id":60,"name":"symbol","nodeType":"VariableDeclaration","scope":608,"src":"1261:37:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory","typeString":"string"},"typeName":{"id":58,"name":"string","nodeType":"ElementaryTypeName","src":"1261:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"argumentTypes":null,"hexValue":"564149","id":59,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1293:5:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_adf3868d8f122e26e993422d6505d4e0e44686fe215e8775cc9318d1d388a9a0","typeString":"literal_string \"VAI\""},"value":"VAI"},"visibility":"public"},{"constant":true,"id":63,"name":"version","nodeType":"VariableDeclaration","scope":608,"src":"1304:36:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory","typeString":"string"},"typeName":{"id":61,"name":"string","nodeType":"ElementaryTypeName","src":"1304:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"argumentTypes":null,"hexValue":"31","id":62,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1337:3:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_c89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6","typeString":"literal_string \"1\""},"value":"1"},"visibility":"public"},{"constant":true,"id":66,"name":"decimals","nodeType":"VariableDeclaration","scope":608,"src":"1346:35:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":64,"name":"uint8","nodeType":"ElementaryTypeName","src":"1346:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":{"argumentTypes":null,"hexValue":"3138","id":65,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1379:2:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"visibility":"public"},{"constant":false,"id":68,"name":"totalSupply","nodeType":"VariableDeclaration","scope":608,"src":"1387:26:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67,"name":"uint256","nodeType":"ElementaryTypeName","src":"1387:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"public"},{"constant":false,"id":72,"name":"balanceOf","nodeType":"VariableDeclaration","scope":608,"src":"1420:41:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":71,"keyType":{"id":69,"name":"address","nodeType":"ElementaryTypeName","src":"1428:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1420:24:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueType":{"id":70,"name":"uint","nodeType":"ElementaryTypeName","src":"1439:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"value":null,"visibility":"public"},{"constant":false,"id":78,"name":"allowance","nodeType":"VariableDeclaration","scope":608,"src":"1467:61:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"},"typeName":{"id":77,"keyType":{"id":73,"name":"address","nodeType":"ElementaryTypeName","src":"1475:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1467:44:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"},"valueType":{"id":76,"keyType":{"id":74,"name":"address","nodeType":"ElementaryTypeName","src":"1494:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1486:24:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueType":{"id":75,"name":"uint","nodeType":"ElementaryTypeName","src":"1505:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}}},"value":null,"visibility":"public"},{"constant":false,"id":82,"name":"nonces","nodeType":"VariableDeclaration","scope":608,"src":"1534:38:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":81,"keyType":{"id":79,"name":"address","nodeType":"ElementaryTypeName","src":"1542:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1534:24:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueType":{"id":80,"name":"uint","nodeType":"ElementaryTypeName","src":"1553:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"value":null,"visibility":"public"},{"anonymous":false,"documentation":null,"id":90,"name":"Approval","nodeType":"EventDefinition","parameters":{"id":89,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84,"indexed":true,"name":"src","nodeType":"VariableDeclaration","scope":90,"src":"1594:19:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83,"name":"address","nodeType":"ElementaryTypeName","src":"1594:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":86,"indexed":true,"name":"guy","nodeType":"VariableDeclaration","scope":90,"src":"1615:19:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85,"name":"address","nodeType":"ElementaryTypeName","src":"1615:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":88,"indexed":false,"name":"wad","nodeType":"VariableDeclaration","scope":90,"src":"1636:8:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":87,"name":"uint","nodeType":"ElementaryTypeName","src":"1636:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"1593:52:0"},"src":"1579:67:0"},{"anonymous":false,"documentation":null,"id":98,"name":"Transfer","nodeType":"EventDefinition","parameters":{"id":97,"nodeType":"ParameterList","parameters":[{"constant":false,"id":92,"indexed":true,"name":"src","nodeType":"VariableDeclaration","scope":98,"src":"1666:19:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":91,"name":"address","nodeType":"ElementaryTypeName","src":"1666:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":94,"indexed":true,"name":"dst","nodeType":"VariableDeclaration","scope":98,"src":"1687:19:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":93,"name":"address","nodeType":"ElementaryTypeName","src":"1687:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":96,"indexed":false,"name":"wad","nodeType":"VariableDeclaration","scope":98,"src":"1708:8:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":95,"name":"uint","nodeType":"ElementaryTypeName","src":"1708:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"1665:52:0"},"src":"1651:67:0"},{"body":{"id":119,"nodeType":"Block","src":"1804:60:0","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":115,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"components":[{"argumentTypes":null,"id":112,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":108,"name":"z","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":105,"src":"1823:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":111,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":109,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100,"src":"1827:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"argumentTypes":null,"id":110,"name":"y","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102,"src":"1831:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1827:5:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1823:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":113,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"1822:11:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"argumentTypes":null,"id":114,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100,"src":"1837:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1822:16:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"argumentTypes":null,"hexValue":"564149206d617468206572726f72","id":116,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1840:16:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_1732a35f3ab9f74cfa0d3e4021b3e9f6caa9fbed0f2df0e4c652517c66f1dd32","typeString":"literal_string \"VAI math error\""},"value":"VAI math error"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_1732a35f3ab9f74cfa0d3e4021b3e9f6caa9fbed0f2df0e4c652517c66f1dd32","typeString":"literal_string \"VAI math error\""}],"id":107,"name":"require","nodeType":"Identifier","overloadedDeclarations":[661,662],"referencedDeclaration":662,"src":"1814:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":117,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1814:43:0","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":118,"nodeType":"ExpressionStatement","src":"1814:43:0"}]},"documentation":null,"id":120,"implemented":true,"kind":"function","modifiers":[],"name":"add","nodeType":"FunctionDefinition","parameters":{"id":103,"nodeType":"ParameterList","parameters":[{"constant":false,"id":100,"name":"x","nodeType":"VariableDeclaration","scope":120,"src":"1757:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":99,"name":"uint","nodeType":"ElementaryTypeName","src":"1757:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":102,"name":"y","nodeType":"VariableDeclaration","scope":120,"src":"1765:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":101,"name":"uint","nodeType":"ElementaryTypeName","src":"1765:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"1756:16:0"},"returnParameters":{"id":106,"nodeType":"ParameterList","parameters":[{"constant":false,"id":105,"name":"z","nodeType":"VariableDeclaration","scope":120,"src":"1796:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":104,"name":"uint","nodeType":"ElementaryTypeName","src":"1796:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"1795:8:0"},"scope":608,"src":"1744:120:0","stateMutability":"pure","superFunction":null,"visibility":"internal"},{"body":{"id":141,"nodeType":"Block","src":"1930:60:0","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":137,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"components":[{"argumentTypes":null,"id":134,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":130,"name":"z","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":127,"src":"1949:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":133,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":131,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"1953:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"argumentTypes":null,"id":132,"name":"y","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":124,"src":"1957:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1953:5:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1949:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":135,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"1948:11:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"argumentTypes":null,"id":136,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"1963:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1948:16:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"argumentTypes":null,"hexValue":"564149206d617468206572726f72","id":138,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1966:16:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_1732a35f3ab9f74cfa0d3e4021b3e9f6caa9fbed0f2df0e4c652517c66f1dd32","typeString":"literal_string \"VAI math error\""},"value":"VAI math error"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_1732a35f3ab9f74cfa0d3e4021b3e9f6caa9fbed0f2df0e4c652517c66f1dd32","typeString":"literal_string \"VAI math error\""}],"id":129,"name":"require","nodeType":"Identifier","overloadedDeclarations":[661,662],"referencedDeclaration":662,"src":"1940:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":139,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1940:43:0","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":140,"nodeType":"ExpressionStatement","src":"1940:43:0"}]},"documentation":null,"id":142,"implemented":true,"kind":"function","modifiers":[],"name":"sub","nodeType":"FunctionDefinition","parameters":{"id":125,"nodeType":"ParameterList","parameters":[{"constant":false,"id":122,"name":"x","nodeType":"VariableDeclaration","scope":142,"src":"1883:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":121,"name":"uint","nodeType":"ElementaryTypeName","src":"1883:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":124,"name":"y","nodeType":"VariableDeclaration","scope":142,"src":"1891:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":123,"name":"uint","nodeType":"ElementaryTypeName","src":"1891:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"1882:16:0"},"returnParameters":{"id":128,"nodeType":"ParameterList","parameters":[{"constant":false,"id":127,"name":"z","nodeType":"VariableDeclaration","scope":142,"src":"1922:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":126,"name":"uint","nodeType":"ElementaryTypeName","src":"1922:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"1921:8:0"},"scope":608,"src":"1870:120:0","stateMutability":"pure","superFunction":null,"visibility":"internal"},{"constant":false,"id":144,"name":"DOMAIN_SEPARATOR","nodeType":"VariableDeclaration","scope":608,"src":"2027:31:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":143,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2027:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"public"},{"constant":true,"id":147,"name":"PERMIT_TYPEHASH","nodeType":"VariableDeclaration","scope":608,"src":"2208:108:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":145,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2208:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"argumentTypes":null,"hexValue":"307865613261613061316265313161303765643836643735356339333436376634663832333632623435323337316431626139346431373135313233353131616362","id":146,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2250:66:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_105916522785188513640362517802612480037966763957092682311465172263008277174987_by_1","typeString":"int_const 1059...(70 digits omitted)...4987"},"value":"0xea2aa0a1be11a07ed86d755c93467f4f82362b452371d1ba94d1715123511acb"},"visibility":"public"},{"body":{"id":184,"nodeType":"Block","src":"2360:377:0","statements":[{"expression":{"argumentTypes":null,"id":157,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":152,"name":"wards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8,"src":"2370:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":155,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":153,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":658,"src":"2376:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":154,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"2376:10:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2370:17:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"hexValue":"31","id":156,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2390:1:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"2370:21:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":158,"nodeType":"ExpressionStatement","src":"2370:21:0"},{"expression":{"argumentTypes":null,"id":182,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":159,"name":"DOMAIN_SEPARATOR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":144,"src":"2401:16:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"454950373132446f6d61696e28737472696e67206e616d652c737472696e672076657273696f6e2c75696e7432353620636861696e49642c6164647265737320766572696679696e67436f6e747261637429","id":164,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2481:84:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f","typeString":"literal_string \"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)\""},"value":"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f","typeString":"literal_string \"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)\""}],"id":163,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":652,"src":"2471:9:0","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":165,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2471:95:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":168,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57,"src":"2600:4:0","typeDescriptions":{"typeIdentifier":"t_string_memory","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory","typeString":"string memory"}],"id":167,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2594:5:0","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":"bytes"},"id":169,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2594:11:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":166,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":652,"src":"2584:9:0","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":170,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2584:22:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":173,"name":"version","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63,"src":"2640:7:0","typeDescriptions":{"typeIdentifier":"t_string_memory","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory","typeString":"string memory"}],"id":172,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2634:5:0","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":"bytes"},"id":174,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2634:14:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":171,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":652,"src":"2624:9:0","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":175,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2624:25:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"argumentTypes":null,"id":176,"name":"chainId_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":149,"src":"2667:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":178,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":674,"src":"2701:4:0","typeDescriptions":{"typeIdentifier":"t_contract$_VAI_$608","typeString":"contract VAI"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_VAI_$608","typeString":"contract VAI"}],"id":177,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2693:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":"address"},"id":179,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2693:13:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"argumentTypes":null,"id":161,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":645,"src":"2443:3:0","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":162,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":null,"src":"2443:10:0","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":180,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2443:277:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":160,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":652,"src":"2420:9:0","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":181,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2420:310:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"2401:329:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":183,"nodeType":"ExpressionStatement","src":"2401:329:0"}]},"documentation":null,"id":185,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nodeType":"FunctionDefinition","parameters":{"id":150,"nodeType":"ParameterList","parameters":[{"constant":false,"id":149,"name":"chainId_","nodeType":"VariableDeclaration","scope":185,"src":"2335:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":148,"name":"uint256","nodeType":"ElementaryTypeName","src":"2335:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"2334:18:0"},"returnParameters":{"id":151,"nodeType":"ParameterList","parameters":[],"src":"2360:0:0"},"scope":608,"src":"2323:414:0","stateMutability":"nonpayable","superFunction":null,"visibility":"public"},{"body":{"id":201,"nodeType":"Block","src":"2829:58:0","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"id":195,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":658,"src":"2859:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":196,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"2859:10:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"argumentTypes":null,"id":197,"name":"dst","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":187,"src":"2871:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":198,"name":"wad","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":189,"src":"2876:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":194,"name":"transferFrom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":300,"src":"2846:12:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,address,uint256) returns (bool)"}},"id":199,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2846:34:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":193,"id":200,"nodeType":"Return","src":"2839:41:0"}]},"documentation":null,"id":202,"implemented":true,"kind":"function","modifiers":[],"name":"transfer","nodeType":"FunctionDefinition","parameters":{"id":190,"nodeType":"ParameterList","parameters":[{"constant":false,"id":187,"name":"dst","nodeType":"VariableDeclaration","scope":202,"src":"2782:11:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":186,"name":"address","nodeType":"ElementaryTypeName","src":"2782:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":189,"name":"wad","nodeType":"VariableDeclaration","scope":202,"src":"2795:8:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":188,"name":"uint","nodeType":"ElementaryTypeName","src":"2795:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"2781:23:0"},"returnParameters":{"id":193,"nodeType":"ParameterList","parameters":[{"constant":false,"id":192,"name":"","nodeType":"VariableDeclaration","scope":202,"src":"2823:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":191,"name":"bool","nodeType":"ElementaryTypeName","src":"2823:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"}],"src":"2822:6:0"},"scope":608,"src":"2764:123:0","stateMutability":"nonpayable","superFunction":null,"visibility":"external"},{"body":{"id":299,"nodeType":"Block","src":"2973:486:0","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":218,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":214,"name":"balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72,"src":"2991:9:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":216,"indexExpression":{"argumentTypes":null,"id":215,"name":"src","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":204,"src":"3001:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2991:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"argumentTypes":null,"id":217,"name":"wad","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":208,"src":"3009:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2991:21:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"argumentTypes":null,"hexValue":"5641492f696e73756666696369656e742d62616c616e6365","id":219,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3014:26:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_37643c280d364132e62734397966740ff1cd14eda9279e254f683a487ce5175b","typeString":"literal_string \"VAI/insufficient-balance\""},"value":"VAI/insufficient-balance"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_37643c280d364132e62734397966740ff1cd14eda9279e254f683a487ce5175b","typeString":"literal_string \"VAI/insufficient-balance\""}],"id":213,"name":"require","nodeType":"Identifier","overloadedDeclarations":[661,662],"referencedDeclaration":662,"src":"2983:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":220,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2983:58:0","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":221,"nodeType":"ExpressionStatement","src":"2983:58:0"},{"condition":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":237,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":225,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":222,"name":"src","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":204,"src":"3055:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":223,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":658,"src":"3062:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":224,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"3062:10:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"src":"3055:17:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":236,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":226,"name":"allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78,"src":"3076:9:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":228,"indexExpression":{"argumentTypes":null,"id":227,"name":"src","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":204,"src":"3086:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3076:14:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":231,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":229,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":658,"src":"3091:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":230,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"3091:10:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3076:26:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":234,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"3111:2:0","subExpression":{"argumentTypes":null,"hexValue":"31","id":233,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3112:1:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_1_by_1","typeString":"int_const -1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_minus_1_by_1","typeString":"int_const -1"}],"id":232,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3106:4:0","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":"uint"},"id":235,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3106:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3076:38:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3055:59:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":null,"id":268,"nodeType":"IfStatement","src":"3051:241:0","trueBody":{"id":267,"nodeType":"Block","src":"3116:176:0","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":246,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":239,"name":"allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78,"src":"3138:9:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":241,"indexExpression":{"argumentTypes":null,"id":240,"name":"src","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":204,"src":"3148:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3138:14:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":244,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":242,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":658,"src":"3153:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":243,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"3153:10:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3138:26:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"argumentTypes":null,"id":245,"name":"wad","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":208,"src":"3168:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3138:33:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"argumentTypes":null,"hexValue":"5641492f696e73756666696369656e742d616c6c6f77616e6365","id":247,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3173:28:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_b27daaa94c7208f73d9f455dd498c8d39e60862a8fb30014c2b2cf3fa40a35c2","typeString":"literal_string \"VAI/insufficient-allowance\""},"value":"VAI/insufficient-allowance"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_b27daaa94c7208f73d9f455dd498c8d39e60862a8fb30014c2b2cf3fa40a35c2","typeString":"literal_string \"VAI/insufficient-allowance\""}],"id":238,"name":"require","nodeType":"Identifier","overloadedDeclarations":[661,662],"referencedDeclaration":662,"src":"3130:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":248,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3130:72:0","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":249,"nodeType":"ExpressionStatement","src":"3130:72:0"},{"expression":{"argumentTypes":null,"id":265,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":250,"name":"allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78,"src":"3216:9:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":254,"indexExpression":{"argumentTypes":null,"id":251,"name":"src","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":204,"src":"3226:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3216:14:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":255,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":252,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":658,"src":"3231:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":253,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"3231:10:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3216:26:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":257,"name":"allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78,"src":"3249:9:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":259,"indexExpression":{"argumentTypes":null,"id":258,"name":"src","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":204,"src":"3259:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3249:14:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":262,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":260,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":658,"src":"3264:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":261,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"3264:10:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3249:26:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":263,"name":"wad","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":208,"src":"3277:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":256,"name":"sub","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":142,"src":"3245:3:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":264,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3245:36:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3216:65:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":266,"nodeType":"ExpressionStatement","src":"3216:65:0"}]}},{"expression":{"argumentTypes":null,"id":278,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":269,"name":"balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72,"src":"3301:9:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":271,"indexExpression":{"argumentTypes":null,"id":270,"name":"src","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":204,"src":"3311:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3301:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":273,"name":"balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72,"src":"3322:9:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":275,"indexExpression":{"argumentTypes":null,"id":274,"name":"src","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":204,"src":"3332:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3322:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":276,"name":"wad","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":208,"src":"3338:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":272,"name":"sub","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":142,"src":"3318:3:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":277,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3318:24:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3301:41:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":279,"nodeType":"ExpressionStatement","src":"3301:41:0"},{"expression":{"argumentTypes":null,"id":289,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":280,"name":"balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72,"src":"3352:9:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":282,"indexExpression":{"argumentTypes":null,"id":281,"name":"dst","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":206,"src":"3362:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3352:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":284,"name":"balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72,"src":"3373:9:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":286,"indexExpression":{"argumentTypes":null,"id":285,"name":"dst","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":206,"src":"3383:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3373:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":287,"name":"wad","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":208,"src":"3389:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":283,"name":"add","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":120,"src":"3369:3:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":288,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3369:24:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3352:41:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":290,"nodeType":"ExpressionStatement","src":"3352:41:0"},{"eventCall":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":292,"name":"src","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":204,"src":"3417:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":293,"name":"dst","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":206,"src":"3422:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":294,"name":"wad","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":208,"src":"3427:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":291,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98,"src":"3408:8:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":295,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3408:23:0","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":296,"nodeType":"EmitStatement","src":"3403:28:0"},{"expression":{"argumentTypes":null,"hexValue":"74727565","id":297,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3448:4:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":212,"id":298,"nodeType":"Return","src":"3441:11:0"}]},"documentation":null,"id":300,"implemented":true,"kind":"function","modifiers":[],"name":"transferFrom","nodeType":"FunctionDefinition","parameters":{"id":209,"nodeType":"ParameterList","parameters":[{"constant":false,"id":204,"name":"src","nodeType":"VariableDeclaration","scope":300,"src":"2915:11:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":203,"name":"address","nodeType":"ElementaryTypeName","src":"2915:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":206,"name":"dst","nodeType":"VariableDeclaration","scope":300,"src":"2928:11:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":205,"name":"address","nodeType":"ElementaryTypeName","src":"2928:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":208,"name":"wad","nodeType":"VariableDeclaration","scope":300,"src":"2941:8:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":207,"name":"uint","nodeType":"ElementaryTypeName","src":"2941:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"2914:36:0"},"returnParameters":{"id":212,"nodeType":"ParameterList","parameters":[{"constant":false,"id":211,"name":"","nodeType":"VariableDeclaration","scope":300,"src":"2967:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":210,"name":"bool","nodeType":"ElementaryTypeName","src":"2967:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"}],"src":"2966:6:0"},"scope":608,"src":"2893:566:0","stateMutability":"nonpayable","superFunction":null,"visibility":"public"},{"body":{"id":335,"nodeType":"Block","src":"3516:148:0","statements":[{"expression":{"argumentTypes":null,"id":318,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":309,"name":"balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72,"src":"3526:9:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":311,"indexExpression":{"argumentTypes":null,"id":310,"name":"usr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":302,"src":"3536:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3526:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":313,"name":"balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72,"src":"3547:9:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":315,"indexExpression":{"argumentTypes":null,"id":314,"name":"usr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":302,"src":"3557:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3547:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":316,"name":"wad","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":304,"src":"3563:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":312,"name":"add","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":120,"src":"3543:3:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":317,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3543:24:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3526:41:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":319,"nodeType":"ExpressionStatement","src":"3526:41:0"},{"expression":{"argumentTypes":null,"id":325,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":320,"name":"totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68,"src":"3577:11:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":322,"name":"totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68,"src":"3595:11:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":323,"name":"wad","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":304,"src":"3608:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":321,"name":"add","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":120,"src":"3591:3:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":324,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3591:21:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3577:35:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":326,"nodeType":"ExpressionStatement","src":"3577:35:0"},{"eventCall":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"30","id":329,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3644:1:0","subdenomination":null,"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":328,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3636:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":"address"},"id":330,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3636:10:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"argumentTypes":null,"id":331,"name":"usr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":302,"src":"3648:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":332,"name":"wad","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":304,"src":"3653:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":327,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98,"src":"3627:8:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":333,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3627:30:0","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":334,"nodeType":"EmitStatement","src":"3622:35:0"}]},"documentation":null,"id":336,"implemented":true,"kind":"function","modifiers":[{"arguments":null,"id":307,"modifierName":{"argumentTypes":null,"id":306,"name":"auth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54,"src":"3511:4:0","typeDescriptions":{"typeIdentifier":"t_modifier$__$","typeString":"modifier ()"}},"nodeType":"ModifierInvocation","src":"3511:4:0"}],"name":"mint","nodeType":"FunctionDefinition","parameters":{"id":305,"nodeType":"ParameterList","parameters":[{"constant":false,"id":302,"name":"usr","nodeType":"VariableDeclaration","scope":336,"src":"3479:11:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":301,"name":"address","nodeType":"ElementaryTypeName","src":"3479:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":304,"name":"wad","nodeType":"VariableDeclaration","scope":336,"src":"3492:8:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":303,"name":"uint","nodeType":"ElementaryTypeName","src":"3492:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"3478:23:0"},"returnParameters":{"id":308,"nodeType":"ParameterList","parameters":[],"src":"3516:0:0"},"scope":608,"src":"3465:199:0","stateMutability":"nonpayable","superFunction":null,"visibility":"external"},{"body":{"id":425,"nodeType":"Block","src":"3716:466:0","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":348,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":344,"name":"balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72,"src":"3734:9:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":346,"indexExpression":{"argumentTypes":null,"id":345,"name":"usr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":338,"src":"3744:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3734:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"argumentTypes":null,"id":347,"name":"wad","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":340,"src":"3752:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3734:21:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"argumentTypes":null,"hexValue":"5641492f696e73756666696369656e742d62616c616e6365","id":349,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3757:26:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_37643c280d364132e62734397966740ff1cd14eda9279e254f683a487ce5175b","typeString":"literal_string \"VAI/insufficient-balance\""},"value":"VAI/insufficient-balance"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_37643c280d364132e62734397966740ff1cd14eda9279e254f683a487ce5175b","typeString":"literal_string \"VAI/insufficient-balance\""}],"id":343,"name":"require","nodeType":"Identifier","overloadedDeclarations":[661,662],"referencedDeclaration":662,"src":"3726:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":350,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3726:58:0","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":351,"nodeType":"ExpressionStatement","src":"3726:58:0"},{"condition":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":367,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":355,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":352,"name":"usr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":338,"src":"3798:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":353,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":658,"src":"3805:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":354,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"3805:10:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"src":"3798:17:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":366,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":356,"name":"allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78,"src":"3819:9:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":358,"indexExpression":{"argumentTypes":null,"id":357,"name":"usr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":338,"src":"3829:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3819:14:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":361,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":359,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":658,"src":"3834:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":360,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"3834:10:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3819:26:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":364,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"3854:2:0","subExpression":{"argumentTypes":null,"hexValue":"31","id":363,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3855:1:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_1_by_1","typeString":"int_const -1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_minus_1_by_1","typeString":"int_const -1"}],"id":362,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3849:4:0","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":"uint"},"id":365,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3849:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3819:38:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3798:59:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":null,"id":398,"nodeType":"IfStatement","src":"3794:241:0","trueBody":{"id":397,"nodeType":"Block","src":"3859:176:0","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":376,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":369,"name":"allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78,"src":"3881:9:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":371,"indexExpression":{"argumentTypes":null,"id":370,"name":"usr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":338,"src":"3891:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3881:14:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":374,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":372,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":658,"src":"3896:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":373,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"3896:10:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3881:26:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"argumentTypes":null,"id":375,"name":"wad","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":340,"src":"3911:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3881:33:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"argumentTypes":null,"hexValue":"5641492f696e73756666696369656e742d616c6c6f77616e6365","id":377,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3916:28:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_b27daaa94c7208f73d9f455dd498c8d39e60862a8fb30014c2b2cf3fa40a35c2","typeString":"literal_string \"VAI/insufficient-allowance\""},"value":"VAI/insufficient-allowance"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_b27daaa94c7208f73d9f455dd498c8d39e60862a8fb30014c2b2cf3fa40a35c2","typeString":"literal_string \"VAI/insufficient-allowance\""}],"id":368,"name":"require","nodeType":"Identifier","overloadedDeclarations":[661,662],"referencedDeclaration":662,"src":"3873:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":378,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3873:72:0","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":379,"nodeType":"ExpressionStatement","src":"3873:72:0"},{"expression":{"argumentTypes":null,"id":395,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":380,"name":"allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78,"src":"3959:9:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":384,"indexExpression":{"argumentTypes":null,"id":381,"name":"usr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":338,"src":"3969:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3959:14:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":385,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":382,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":658,"src":"3974:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":383,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"3974:10:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3959:26:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":387,"name":"allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78,"src":"3992:9:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":389,"indexExpression":{"argumentTypes":null,"id":388,"name":"usr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":338,"src":"4002:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3992:14:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":392,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":390,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":658,"src":"4007:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":391,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"4007:10:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3992:26:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":393,"name":"wad","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":340,"src":"4020:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":386,"name":"sub","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":142,"src":"3988:3:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":394,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3988:36:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3959:65:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":396,"nodeType":"ExpressionStatement","src":"3959:65:0"}]}},{"expression":{"argumentTypes":null,"id":408,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":399,"name":"balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72,"src":"4044:9:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":401,"indexExpression":{"argumentTypes":null,"id":400,"name":"usr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":338,"src":"4054:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"4044:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":403,"name":"balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72,"src":"4065:9:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":405,"indexExpression":{"argumentTypes":null,"id":404,"name":"usr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":338,"src":"4075:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4065:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":406,"name":"wad","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":340,"src":"4081:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":402,"name":"sub","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":142,"src":"4061:3:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":407,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4061:24:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4044:41:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":409,"nodeType":"ExpressionStatement","src":"4044:41:0"},{"expression":{"argumentTypes":null,"id":415,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":410,"name":"totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68,"src":"4095:11:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":412,"name":"totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68,"src":"4113:11:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":413,"name":"wad","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":340,"src":"4126:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":411,"name":"sub","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":142,"src":"4109:3:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":414,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4109:21:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4095:35:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":416,"nodeType":"ExpressionStatement","src":"4095:35:0"},{"eventCall":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":418,"name":"usr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":338,"src":"4154:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"30","id":420,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4167:1:0","subdenomination":null,"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":419,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4159:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":"address"},"id":421,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4159:10:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"argumentTypes":null,"id":422,"name":"wad","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":340,"src":"4171:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":417,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98,"src":"4145:8:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":423,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4145:30:0","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":424,"nodeType":"EmitStatement","src":"4140:35:0"}]},"documentation":null,"id":426,"implemented":true,"kind":"function","modifiers":[],"name":"burn","nodeType":"FunctionDefinition","parameters":{"id":341,"nodeType":"ParameterList","parameters":[{"constant":false,"id":338,"name":"usr","nodeType":"VariableDeclaration","scope":426,"src":"3684:11:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":337,"name":"address","nodeType":"ElementaryTypeName","src":"3684:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":340,"name":"wad","nodeType":"VariableDeclaration","scope":426,"src":"3697:8:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":339,"name":"uint","nodeType":"ElementaryTypeName","src":"3697:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"3683:23:0"},"returnParameters":{"id":342,"nodeType":"ParameterList","parameters":[],"src":"3716:0:0"},"scope":608,"src":"3670:512:0","stateMutability":"nonpayable","superFunction":null,"visibility":"external"},{"body":{"id":453,"nodeType":"Block","src":"4252:115:0","statements":[{"expression":{"argumentTypes":null,"id":442,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":435,"name":"allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78,"src":"4262:9:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":439,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":436,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":658,"src":"4272:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":437,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"4272:10:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4262:21:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":440,"indexExpression":{"argumentTypes":null,"id":438,"name":"usr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":428,"src":"4284:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"4262:26:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"id":441,"name":"wad","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":430,"src":"4291:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4262:32:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":443,"nodeType":"ExpressionStatement","src":"4262:32:0"},{"eventCall":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"id":445,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":658,"src":"4318:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":446,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"4318:10:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"argumentTypes":null,"id":447,"name":"usr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":428,"src":"4330:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":448,"name":"wad","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":430,"src":"4335:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":444,"name":"Approval","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90,"src":"4309:8:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":449,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4309:30:0","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":450,"nodeType":"EmitStatement","src":"4304:35:0"},{"expression":{"argumentTypes":null,"hexValue":"74727565","id":451,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4356:4:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":434,"id":452,"nodeType":"Return","src":"4349:11:0"}]},"documentation":null,"id":454,"implemented":true,"kind":"function","modifiers":[],"name":"approve","nodeType":"FunctionDefinition","parameters":{"id":431,"nodeType":"ParameterList","parameters":[{"constant":false,"id":428,"name":"usr","nodeType":"VariableDeclaration","scope":454,"src":"4205:11:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":427,"name":"address","nodeType":"ElementaryTypeName","src":"4205:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":430,"name":"wad","nodeType":"VariableDeclaration","scope":454,"src":"4218:8:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":429,"name":"uint","nodeType":"ElementaryTypeName","src":"4218:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"4204:23:0"},"returnParameters":{"id":434,"nodeType":"ParameterList","parameters":[{"constant":false,"id":433,"name":"","nodeType":"VariableDeclaration","scope":454,"src":"4246:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":432,"name":"bool","nodeType":"ElementaryTypeName","src":"4246:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"}],"src":"4245:6:0"},"scope":608,"src":"4188:179:0","stateMutability":"nonpayable","superFunction":null,"visibility":"external"},{"body":{"id":468,"nodeType":"Block","src":"4440:51:0","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"id":462,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":658,"src":"4463:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":463,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"4463:10:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"argumentTypes":null,"id":464,"name":"usr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":456,"src":"4475:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":465,"name":"wad","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":458,"src":"4480:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":461,"name":"transferFrom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":300,"src":"4450:12:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,address,uint256) returns (bool)"}},"id":466,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4450:34:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":467,"nodeType":"ExpressionStatement","src":"4450:34:0"}]},"documentation":null,"id":469,"implemented":true,"kind":"function","modifiers":[],"name":"push","nodeType":"FunctionDefinition","parameters":{"id":459,"nodeType":"ParameterList","parameters":[{"constant":false,"id":456,"name":"usr","nodeType":"VariableDeclaration","scope":469,"src":"4408:11:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":455,"name":"address","nodeType":"ElementaryTypeName","src":"4408:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":458,"name":"wad","nodeType":"VariableDeclaration","scope":469,"src":"4421:8:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":457,"name":"uint","nodeType":"ElementaryTypeName","src":"4421:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"4407:23:0"},"returnParameters":{"id":460,"nodeType":"ParameterList","parameters":[],"src":"4440:0:0"},"scope":608,"src":"4394:97:0","stateMutability":"nonpayable","superFunction":null,"visibility":"external"},{"body":{"id":483,"nodeType":"Block","src":"4543:51:0","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":477,"name":"usr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":471,"src":"4566:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"expression":{"argumentTypes":null,"id":478,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":658,"src":"4571:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":479,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"4571:10:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"argumentTypes":null,"id":480,"name":"wad","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":473,"src":"4583:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":476,"name":"transferFrom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":300,"src":"4553:12:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,address,uint256) returns (bool)"}},"id":481,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4553:34:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":482,"nodeType":"ExpressionStatement","src":"4553:34:0"}]},"documentation":null,"id":484,"implemented":true,"kind":"function","modifiers":[],"name":"pull","nodeType":"FunctionDefinition","parameters":{"id":474,"nodeType":"ParameterList","parameters":[{"constant":false,"id":471,"name":"usr","nodeType":"VariableDeclaration","scope":484,"src":"4511:11:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":470,"name":"address","nodeType":"ElementaryTypeName","src":"4511:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":473,"name":"wad","nodeType":"VariableDeclaration","scope":484,"src":"4524:8:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":472,"name":"uint","nodeType":"ElementaryTypeName","src":"4524:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"4510:23:0"},"returnParameters":{"id":475,"nodeType":"ParameterList","parameters":[],"src":"4543:0:0"},"scope":608,"src":"4497:97:0","stateMutability":"nonpayable","superFunction":null,"visibility":"external"},{"body":{"id":499,"nodeType":"Block","src":"4659:44:0","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":494,"name":"src","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":486,"src":"4682:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":495,"name":"dst","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":488,"src":"4687:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":496,"name":"wad","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":490,"src":"4692:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":493,"name":"transferFrom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":300,"src":"4669:12:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,address,uint256) returns (bool)"}},"id":497,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4669:27:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":498,"nodeType":"ExpressionStatement","src":"4669:27:0"}]},"documentation":null,"id":500,"implemented":true,"kind":"function","modifiers":[],"name":"move","nodeType":"FunctionDefinition","parameters":{"id":491,"nodeType":"ParameterList","parameters":[{"constant":false,"id":486,"name":"src","nodeType":"VariableDeclaration","scope":500,"src":"4614:11:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":485,"name":"address","nodeType":"ElementaryTypeName","src":"4614:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":488,"name":"dst","nodeType":"VariableDeclaration","scope":500,"src":"4627:11:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":487,"name":"address","nodeType":"ElementaryTypeName","src":"4627:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":490,"name":"wad","nodeType":"VariableDeclaration","scope":500,"src":"4640:8:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":489,"name":"uint","nodeType":"ElementaryTypeName","src":"4640:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"4613:36:0"},"returnParameters":{"id":492,"nodeType":"ParameterList","parameters":[],"src":"4659:0:0"},"scope":608,"src":"4600:103:0","stateMutability":"nonpayable","superFunction":null,"visibility":"external"},{"body":{"id":606,"nodeType":"Block","src":"4949:662:0","statements":[{"assignments":[520],"declarations":[{"constant":false,"id":520,"name":"digest","nodeType":"VariableDeclaration","scope":606,"src":"4959:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":519,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4959:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"}],"id":539,"initialValue":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"1901","id":524,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5033:10:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string \"\u0019\u0001\""},"value":"\u0019\u0001"},{"argumentTypes":null,"id":525,"name":"DOMAIN_SEPARATOR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":144,"src":"5061:16:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":529,"name":"PERMIT_TYPEHASH","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":147,"src":"5116:15:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"argumentTypes":null,"id":530,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":502,"src":"5133:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":531,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":504,"src":"5141:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":532,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":506,"src":"5150:5:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":533,"name":"expiry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":508,"src":"5157:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":534,"name":"allowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":510,"src":"5165:7:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"argumentTypes":null,"id":527,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":645,"src":"5105:3:0","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":528,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":null,"src":"5105:10:0","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":535,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5105:68:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":526,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":652,"src":"5095:9:0","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":536,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5095:79:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string \"\u0019\u0001\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"argumentTypes":null,"id":522,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":645,"src":"4999:3:0","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":523,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","referencedDeclaration":null,"src":"4999:16:0","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":537,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4999:189:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":521,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":652,"src":"4976:9:0","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":538,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4976:222:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"4959:239:0"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":545,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":541,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":502,"src":"5217:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"30","id":543,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5235:1:0","subdenomination":null,"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":542,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5227:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":"address"},"id":544,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5227:10:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"src":"5217:20:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"argumentTypes":null,"hexValue":"5641492f696e76616c69642d616464726573732d30","id":546,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5239:23:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_41b798d1ea1cf6acf29dc3262f3b36b326604b12b9dd7f7066bc961f3a00b644","typeString":"literal_string \"VAI/invalid-address-0\""},"value":"VAI/invalid-address-0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_41b798d1ea1cf6acf29dc3262f3b36b326604b12b9dd7f7066bc961f3a00b644","typeString":"literal_string \"VAI/invalid-address-0\""}],"id":540,"name":"require","nodeType":"Identifier","overloadedDeclarations":[661,662],"referencedDeclaration":662,"src":"5209:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":547,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5209:54:0","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":548,"nodeType":"ExpressionStatement","src":"5209:54:0"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":557,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":550,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":502,"src":"5281:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":552,"name":"digest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":520,"src":"5301:6:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"argumentTypes":null,"id":553,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":512,"src":"5309:1:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"argumentTypes":null,"id":554,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":514,"src":"5312:1:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"argumentTypes":null,"id":555,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":516,"src":"5315:1:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":551,"name":"ecrecover","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":650,"src":"5291:9:0","typeDescriptions":{"typeIdentifier":"t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$","typeString":"function (bytes32,uint8,bytes32,bytes32) pure returns (address)"}},"id":556,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5291:26:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5281:36:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"argumentTypes":null,"hexValue":"5641492f696e76616c69642d7065726d6974","id":558,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5319:20:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_ee7bb1fc4d3284c52dab0a4904e031198d76301a03d9f4da729f215a75d1b3e6","typeString":"literal_string \"VAI/invalid-permit\""},"value":"VAI/invalid-permit"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_ee7bb1fc4d3284c52dab0a4904e031198d76301a03d9f4da729f215a75d1b3e6","typeString":"literal_string \"VAI/invalid-permit\""}],"id":549,"name":"require","nodeType":"Identifier","overloadedDeclarations":[661,662],"referencedDeclaration":662,"src":"5273:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":559,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5273:67:0","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":560,"nodeType":"ExpressionStatement","src":"5273:67:0"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":568,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":564,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":562,"name":"expiry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":508,"src":"5358:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"hexValue":"30","id":563,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5368:1:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5358:11:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":567,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":565,"name":"now","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":660,"src":"5373:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"argumentTypes":null,"id":566,"name":"expiry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":508,"src":"5380:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5373:13:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"5358:28:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"argumentTypes":null,"hexValue":"5641492f7065726d69742d65787069726564","id":569,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5388:20:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_e1843929e249c0c186641ae998ab516cc7f91a2c230d102262a8d9761ed07a32","typeString":"literal_string \"VAI/permit-expired\""},"value":"VAI/permit-expired"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_e1843929e249c0c186641ae998ab516cc7f91a2c230d102262a8d9761ed07a32","typeString":"literal_string \"VAI/permit-expired\""}],"id":561,"name":"require","nodeType":"Identifier","overloadedDeclarations":[661,662],"referencedDeclaration":662,"src":"5350:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":570,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5350:59:0","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":571,"nodeType":"ExpressionStatement","src":"5350:59:0"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":578,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":573,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":506,"src":"5427:5:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"id":577,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"5436:16:0","subExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":574,"name":"nonces","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82,"src":"5436:6:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":576,"indexExpression":{"argumentTypes":null,"id":575,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":502,"src":"5443:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5436:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5427:25:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"argumentTypes":null,"hexValue":"5641492f696e76616c69642d6e6f6e6365","id":579,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5454:19:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_5d625041aca7f6c7f6918dd0f5a7da5eb321afbff323dc5fea673b824a643ed2","typeString":"literal_string \"VAI/invalid-nonce\""},"value":"VAI/invalid-nonce"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_5d625041aca7f6c7f6918dd0f5a7da5eb321afbff323dc5fea673b824a643ed2","typeString":"literal_string \"VAI/invalid-nonce\""}],"id":572,"name":"require","nodeType":"Identifier","overloadedDeclarations":[661,662],"referencedDeclaration":662,"src":"5419:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":580,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5419:55:0","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":581,"nodeType":"ExpressionStatement","src":"5419:55:0"},{"assignments":[583],"declarations":[{"constant":false,"id":583,"name":"wad","nodeType":"VariableDeclaration","scope":606,"src":"5484:8:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":582,"name":"uint","nodeType":"ElementaryTypeName","src":"5484:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"id":591,"initialValue":{"argumentTypes":null,"condition":{"argumentTypes":null,"id":584,"name":"allowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":510,"src":"5495:7:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"argumentTypes":null,"hexValue":"30","id":589,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5516:1:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"id":590,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"5495:22:0","trueExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":587,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"5510:2:0","subExpression":{"argumentTypes":null,"hexValue":"31","id":586,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5511:1:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_1_by_1","typeString":"int_const -1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_minus_1_by_1","typeString":"int_const -1"}],"id":585,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5505:4:0","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":"uint"},"id":588,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5505:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5484:33:0"},{"expression":{"argumentTypes":null,"id":598,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":592,"name":"allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78,"src":"5527:9:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":595,"indexExpression":{"argumentTypes":null,"id":593,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":502,"src":"5537:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5527:17:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":596,"indexExpression":{"argumentTypes":null,"id":594,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":504,"src":"5545:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5527:26:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"id":597,"name":"wad","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":583,"src":"5556:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5527:32:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":599,"nodeType":"ExpressionStatement","src":"5527:32:0"},{"eventCall":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":601,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":502,"src":"5583:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":602,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":504,"src":"5591:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":603,"name":"wad","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":583,"src":"5600:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":600,"name":"Approval","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90,"src":"5574:8:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":604,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5574:30:0","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":605,"nodeType":"EmitStatement","src":"5569:35:0"}]},"documentation":null,"id":607,"implemented":true,"kind":"function","modifiers":[],"name":"permit","nodeType":"FunctionDefinition","parameters":{"id":517,"nodeType":"ParameterList","parameters":[{"constant":false,"id":502,"name":"holder","nodeType":"VariableDeclaration","scope":607,"src":"4770:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":501,"name":"address","nodeType":"ElementaryTypeName","src":"4770:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":504,"name":"spender","nodeType":"VariableDeclaration","scope":607,"src":"4794:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":503,"name":"address","nodeType":"ElementaryTypeName","src":"4794:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":506,"name":"nonce","nodeType":"VariableDeclaration","scope":607,"src":"4819:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":505,"name":"uint256","nodeType":"ElementaryTypeName","src":"4819:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":508,"name":"expiry","nodeType":"VariableDeclaration","scope":607,"src":"4842:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":507,"name":"uint256","nodeType":"ElementaryTypeName","src":"4842:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":510,"name":"allowed","nodeType":"VariableDeclaration","scope":607,"src":"4866:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":509,"name":"bool","nodeType":"ElementaryTypeName","src":"4866:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"},{"constant":false,"id":512,"name":"v","nodeType":"VariableDeclaration","scope":607,"src":"4888:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":511,"name":"uint8","nodeType":"ElementaryTypeName","src":"4888:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":null,"visibility":"internal"},{"constant":false,"id":514,"name":"r","nodeType":"VariableDeclaration","scope":607,"src":"4905:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":513,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4905:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"},{"constant":false,"id":516,"name":"s","nodeType":"VariableDeclaration","scope":607,"src":"4924:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":515,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4924:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"}],"src":"4760:179:0"},"returnParameters":{"id":518,"nodeType":"ParameterList","parameters":[],"src":"4949:0:0"},"scope":608,"src":"4745:866:0","stateMutability":"nonpayable","superFunction":null,"visibility":"external"}],"scope":609,"src":"820:4793:0"}],"src":"773:4841:0"}},"@venusprotocol/venus-protocol/contracts/Tokens/VAI/lib.sol":{"id":1,"ast":{"absolutePath":"@venusprotocol/venus-protocol/contracts/Tokens/VAI/lib.sol","exportedSymbols":{"LibNote":[628]},"id":629,"nodeType":"SourceUnit","nodes":[{"id":610,"literals":["solidity","^","0.5",".16"],"nodeType":"PragmaDirective","src":"690:24:1"},{"baseContracts":[],"contractDependencies":[],"contractKind":"contract","documentation":null,"fullyImplemented":true,"id":628,"linearizedBaseContracts":[628],"name":"LibNote","nodeType":"ContractDefinition","nodes":[{"anonymous":true,"documentation":null,"id":622,"name":"LogNote","nodeType":"EventDefinition","parameters":{"id":621,"nodeType":"ParameterList","parameters":[{"constant":false,"id":612,"indexed":true,"name":"sig","nodeType":"VariableDeclaration","scope":622,"src":"762:18:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":611,"name":"bytes4","nodeType":"ElementaryTypeName","src":"762:6:1","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"value":null,"visibility":"internal"},{"constant":false,"id":614,"indexed":true,"name":"usr","nodeType":"VariableDeclaration","scope":622,"src":"790:19:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":613,"name":"address","nodeType":"ElementaryTypeName","src":"790:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":616,"indexed":true,"name":"arg1","nodeType":"VariableDeclaration","scope":622,"src":"819:20:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":615,"name":"bytes32","nodeType":"ElementaryTypeName","src":"819:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"},{"constant":false,"id":618,"indexed":true,"name":"arg2","nodeType":"VariableDeclaration","scope":622,"src":"849:20:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":617,"name":"bytes32","nodeType":"ElementaryTypeName","src":"849:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"},{"constant":false,"id":620,"indexed":false,"name":"data","nodeType":"VariableDeclaration","scope":622,"src":"879:10:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":619,"name":"bytes","nodeType":"ElementaryTypeName","src":"879:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":null,"visibility":"internal"}],"src":"752:143:1"},"src":"739:167:1"},{"body":{"id":626,"nodeType":"Block","src":"928:789:1","statements":[{"id":624,"nodeType":"PlaceholderStatement","src":"938:1:1"},{"externalReferences":[],"id":625,"nodeType":"InlineAssembly","operations":"{\n let mark := msize()\n mstore(0x40, add(mark, 288))\n mstore(mark, 0x20)\n mstore(add(mark, 0x20), 224)\n calldatacopy(add(mark, 0x40), 0, 224)\n log4(mark, 288, shl(224, shr(224, calldataload(0))), caller(), calldataload(4), calldataload(36))\n}","src":"949:762:1"}]},"documentation":null,"id":627,"name":"note","nodeType":"ModifierDefinition","parameters":{"id":623,"nodeType":"ParameterList","parameters":[],"src":"925:2:1"},"src":"912:805:1","visibility":"internal"}],"scope":629,"src":"716:1003:1"}],"src":"690:1030:1"}},"contracts/test/VAI.sol":{"id":2,"ast":{"absolutePath":"contracts/test/VAI.sol","exportedSymbols":{"VAIScenario":[643]},"id":644,"nodeType":"SourceUnit","nodes":[{"id":630,"literals":["solidity","0.5",".16"],"nodeType":"PragmaDirective","src":"41:23:2"},{"absolutePath":"@venusprotocol/venus-protocol/contracts/Tokens/VAI/VAI.sol","file":"@venusprotocol/venus-protocol/contracts/Tokens/VAI/VAI.sol","id":631,"nodeType":"ImportDirective","scope":644,"sourceUnit":609,"src":"65:68:2","symbolAliases":[],"unitAlias":""},{"baseContracts":[{"arguments":null,"baseName":{"contractScope":null,"id":632,"name":"VAI","nodeType":"UserDefinedTypeName","referencedDeclaration":608,"src":"159:3:2","typeDescriptions":{"typeIdentifier":"t_contract$_VAI_$608","typeString":"contract VAI"}},"id":633,"nodeType":"InheritanceSpecifier","src":"159:3:2"}],"contractDependencies":[608,628],"contractKind":"contract","documentation":null,"fullyImplemented":true,"id":643,"linearizedBaseContracts":[643,608,628],"name":"VAIScenario","nodeType":"ContractDefinition","nodes":[{"body":{"id":641,"nodeType":"Block","src":"218:2:2","statements":[]},"documentation":null,"id":642,"implemented":true,"kind":"constructor","modifiers":[{"arguments":[{"argumentTypes":null,"id":638,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":635,"src":"209:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":639,"modifierName":{"argumentTypes":null,"id":637,"name":"VAI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":608,"src":"205:3:2","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VAI_$608_$","typeString":"type(contract VAI)"}},"nodeType":"ModifierInvocation","src":"205:12:2"}],"name":"","nodeType":"FunctionDefinition","parameters":{"id":636,"nodeType":"ParameterList","parameters":[{"constant":false,"id":635,"name":"chainId","nodeType":"VariableDeclaration","scope":642,"src":"181:15:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":634,"name":"uint256","nodeType":"ElementaryTypeName","src":"181:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"180:17:2"},"returnParameters":{"id":640,"nodeType":"ParameterList","parameters":[],"src":"218:0:2"},"scope":643,"src":"169:51:2","stateMutability":"nonpayable","superFunction":null,"visibility":"public"}],"scope":644,"src":"135:87:2"}],"src":"41:182:2"}}},"contracts":{"@venusprotocol/venus-protocol/contracts/Tokens/VAI/VAI.sol":{"VAI":{"abi":[{"inputs":[{"internalType":"uint256","name":"chainId_","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"src","type":"address"},{"indexed":true,"internalType":"address","name":"guy","type":"address"},{"indexed":false,"internalType":"uint256","name":"wad","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":true,"inputs":[{"indexed":true,"internalType":"bytes4","name":"sig","type":"bytes4"},{"indexed":true,"internalType":"address","name":"usr","type":"address"},{"indexed":true,"internalType":"bytes32","name":"arg1","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"arg2","type":"bytes32"},{"indexed":false,"internalType":"bytes","name":"data","type":"bytes"}],"name":"LogNote","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"src","type":"address"},{"indexed":true,"internalType":"address","name":"dst","type":"address"},{"indexed":false,"internalType":"uint256","name":"wad","type":"uint256"}],"name":"Transfer","type":"event"},{"constant":true,"inputs":[],"name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"PERMIT_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"usr","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"usr","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"guy","type":"address"}],"name":"deny","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"usr","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"mint","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"src","type":"address"},{"internalType":"address","name":"dst","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"move","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"expiry","type":"uint256"},{"internalType":"bool","name":"allowed","type":"bool"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"permit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"usr","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"pull","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"usr","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"push","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"guy","type":"address"}],"name":"rely","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"dst","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"src","type":"address"},{"internalType":"address","name":"dst","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"version","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"wards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"}],"metadata":{"llvm_options":[],"optimizer_settings":{"is_debug_logging_enabled":false,"is_fallback_to_size_enabled":false,"is_verify_each_enabled":false,"level_back_end":"Aggressive","level_middle_end":"Aggressive","level_middle_end_size":"Zero"},"solc_metadata":"{\"compiler\":{\"version\":\"0.5.16+commit.b9534989\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"chainId_\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"src\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"guy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"wad\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":true,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes4\",\"name\":\"sig\",\"type\":\"bytes4\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"usr\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"arg1\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"arg2\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"LogNote\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"src\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"dst\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"wad\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"constant\":true,\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"PERMIT_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"usr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"wad\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"usr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"wad\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"guy\",\"type\":\"address\"}],\"name\":\"deny\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"usr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"wad\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"src\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"dst\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"wad\",\"type\":\"uint256\"}],\"name\":\"move\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expiry\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"allowed\",\"type\":\"bool\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permit\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"usr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"wad\",\"type\":\"uint256\"}],\"name\":\"pull\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"usr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"wad\",\"type\":\"uint256\"}],\"name\":\"push\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"guy\",\"type\":\"address\"}],\"name\":\"rely\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"dst\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"wad\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"src\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"dst\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"wad\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"wards\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"@venusprotocol/venus-protocol/contracts/Tokens/VAI/VAI.sol\":\"VAI\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"details\":{\"constantOptimizer\":false,\"cse\":false,\"deduplicate\":false,\"jumpdestRemover\":false,\"orderLiterals\":false,\"peephole\":false,\"yul\":false},\"runs\":200},\"remappings\":[]},\"sources\":{\"@venusprotocol/venus-protocol/contracts/Tokens/VAI/VAI.sol\":{\"keccak256\":\"0xaccc80ada63e1a611781aea8eacde0652e88deb8c694d2e08f88b0db7ce4aaa8\",\"urls\":[\"bzz-raw://d39551ecf324e5f272b44dbced19f08a70fd086443461d49b2047284ab8fe7aa\",\"dweb:/ipfs/QmYXTunrPyg6HTZxh4ERYAvKvaNbkbejuS5rSDPqqbbLow\"]},\"@venusprotocol/venus-protocol/contracts/Tokens/VAI/lib.sol\":{\"keccak256\":\"0x63dceabe7331a78e04306883f77921e20bca79930e92468779bfe81cbe239c68\",\"urls\":[\"bzz-raw://ab1a92b3f8de82feb4c8f4a7b1546ad9574546a51283171e7ac5a41626305bbd\",\"dweb:/ipfs/QmVuv1xJ7kFgxDYJKmV5cwMRtgrGBkbyc7uD2sSrftzmLu\"]}},\"version\":1}","solc_version":"0.5.16","solc_zkvm_edition":"1.0.1","zk_version":"1.5.1"},"devdoc":{"methods":{}},"userdoc":{"methods":{}},"storageLayout":{"storage":[{"astId":8,"contract":"@venusprotocol/venus-protocol/contracts/Tokens/VAI/VAI.sol:VAI","label":"wards","offset":0,"slot":"0","type":"t_mapping(t_address,t_uint256)"},{"astId":68,"contract":"@venusprotocol/venus-protocol/contracts/Tokens/VAI/VAI.sol:VAI","label":"totalSupply","offset":0,"slot":"1","type":"t_uint256"},{"astId":72,"contract":"@venusprotocol/venus-protocol/contracts/Tokens/VAI/VAI.sol:VAI","label":"balanceOf","offset":0,"slot":"2","type":"t_mapping(t_address,t_uint256)"},{"astId":78,"contract":"@venusprotocol/venus-protocol/contracts/Tokens/VAI/VAI.sol:VAI","label":"allowance","offset":0,"slot":"3","type":"t_mapping(t_address,t_mapping(t_address,t_uint256))"},{"astId":82,"contract":"@venusprotocol/venus-protocol/contracts/Tokens/VAI/VAI.sol:VAI","label":"nonces","offset":0,"slot":"4","type":"t_mapping(t_address,t_uint256)"},{"astId":144,"contract":"@venusprotocol/venus-protocol/contracts/Tokens/VAI/VAI.sol:VAI","label":"DOMAIN_SEPARATOR","offset":0,"slot":"5","type":"t_bytes32"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_mapping(t_address,t_mapping(t_address,t_uint256))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(address => uint256))","numberOfBytes":"32","value":"t_mapping(t_address,t_uint256)"},"t_mapping(t_address,t_uint256)":{"encoding":"mapping","key":"t_address","label":"mapping(address => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"evm":{"bytecode":{"object":"0001000000000002000900000000000200000000000103550000008003000039000000400030043f000000000400041600000000050100190000006005500270000001ed085001970000000100200190000000210000c13d000000000004004b0000078b0000c13d000000040080008c0000078b0000413d000000000301043b000000e002300270000001f50030009c0000008d0000813d000002170030009c000000e50000813d000002200020009c000001ff0000a13d000002210020009c000002c60000613d000002220020009c000002c80000613d000002230020009c0000078b0000c13d0000020c01000041000000800010043f0000020101000041000007ae0001042e000000000004004b0000078b0000c13d0000001f0280018f000000050480027200000005044002100000002d0000613d0000008005400039000000000601034f000000006706043c0000000003730436000000000053004b000000290000c13d000000000002004b0000003b0000613d000000000141034f00000003022002100000008003400039000000000403043300000000042401cf000000000424022f000000000101043b0000010002200089000000000121022f00000000012101cf000000000141019f00000000001304350000008001800039000000400010043f000000200080008c0000078b0000413d000800000001001d0000000001000411000001ee01100197000000800200043d000900000002001d0000000000100435000000200000043f00000040020000390000000001000019000700000008001d07ad078e0000040f0000000102000039000000000021041b000001ef01000041000000080200002900000000001204350000000703000029000000c001300039000001f0020000410000000000210435000000a001300039000001f1020000410000000000210435000000400100043d000800000001001d0000000002130049000000d20220003907ad078e0000040f00000008030000290000004002300039000000400020043f0000000e020000390000000003230436000001f2040000410000000000430435000800000001001d000000000103001907ad078e0000040f000000400400043d0000004003400039000000400030043f00000001020000390000000004240436000001f3030000410000000000340435000700000001001d000000000104001907ad078e0000040f000000400200043d000000200320003900000008040000290000000000430435000000400320003900000007040000290000000000430435000000600320003900000000001304350000008001200039000000090300002900000000003104350000000001000410000001ee01100197000000a0032000390000000000130435000000400400043d00000000014300490000000001140436000000c002200039000000400020043f000000000204043307ad078e0000040f0000000502000039000000000012041b000000200100003900000100001004430000012000000443000001f401000041000007ae0001042e000001f60030009c0000013b0000813d000002020020009c000002550000a13d000002030020009c0000031f0000613d000002040020009c000003250000613d000002050020009c0000078b0000c13d000000440280008a000002290020009c0000078b0000813d0000002402100370000000000202043b000900000002001d0000000401100370000000000101043b000001ee01100197000800000001001d00000000001004350000000201000039000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b000000000101041a000000090010006c0000040a0000413d0000000001000411000001ee021001970000000801000029000000000021004b000004a70000c13d00000000001004350000000201000039000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b000000000201041a0000000903000029000000000232004b000004900000413d000000000021041b0000000101000039000000000201041a000000000232004b000004900000413d000000000021041b000000400100043d0000000000310435000000400200043d00000000012100490000002001100039000001ed0010009c000001ed010080410000006001100210000001ed0020009c000001ed020080410000004002200210000000000121019f0000000002000414000001ed0020009c000001ed02008041000000c002200210000000000121019f000001ff011001c70000800d020000390000000303000039000002000400004100000008050000290000000006000019000004590000013d000002180020009c0000019a0000213d0000021c0020009c000003720000613d0000021d0020009c000003ec0000613d0000021e0020009c0000078b0000c13d000000440280008a000002290020009c0000078b0000813d0000002402100370000000000202043b000800000002001d0000000401100370000000000101043b000900000001001d0000000001000411000001ee011001970000000000100435000000200000043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b000000000101041a000000010010008c000004780000c13d0000000901000029000001ee01100197000900000001001d00000000001004350000000201000039000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b000000000201041a0000000803000029000000000032001a000004900000413d0000000002320019000000000021041b0000000101000039000000000201041a000000000032001a000004900000413d0000000002320019000000000021041b000000400100043d0000000000310435000000400200043d00000000012100490000002001100039000001ed0010009c000001ed010080410000006001100210000001ed0020009c000001ed020080410000004002200210000000000121019f0000000002000414000001ed0020009c000001ed02008041000000c002200210000000000121019f000001ff011001c70000800d020000390000000303000039000002000400004100000000050000190000000906000029000004590000013d000001f70020009c000001a70000213d000001fb0020009c000003760000613d000001fc0020009c000003ee0000613d000001fd0020009c0000078b0000c13d000000640280008a0000022a0020009c0000078b0000813d0000004402100370000000000202043b000900000002001d0000002402100370000000000202043b000700000002001d0000000401100370000000000101043b000001ee01100197000800000001001d00000000001004350000000201000039000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b000000000101041a000000090010006c0000040a0000413d0000000001000411000001ee021001970000000801000029000000000021004b000005f50000c13d00000000001004350000000201000039000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b000000000201041a000000090220006c000004900000413d0000000703000029000001ee03300197000000000021041b000700000003001d00000000003004350000000201000039000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b000000000201041a0000000903000029000000000032001a000004900000413d0000000002320019000000000021041b000000400100043d0000000000310435000000400200043d00000000012100490000002001100039000001ed0010009c000001ed010080410000006001100210000001ed0020009c000001ed020080410000004002200210000000000121019f0000000002000414000006ec0000013d000002190020009c000003d50000613d0000021a0020009c000004110000613d0000021b0020009c0000078b0000c13d000000240280008a0000022b0020009c0000078b0000813d0000000401100370000000000101043b0000000202000039000003700000013d000001f80020009c000003e10000613d000001f90020009c0000045e0000613d000001fa0020009c0000078b0000c13d000000440280008a000002290020009c0000078b0000813d0000002402100370000000000202043b000900000002001d0000000401100370000000000101043b000001ee01100197000800000001001d00000000001004350000000201000039000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b000000000101041a000000090010006c0000040a0000413d0000000001000411000701ee0010019b0000000801000029000000070010006c0000066d0000c13d00000000001004350000000201000039000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b000000000201041a000000090220006c000004900000413d000000000021041b000000070100002900000000001004350000000201000039000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b000000000201041a0000000903000029000000000032001a000004900000413d0000000002320019000000000021041b000000400100043d0000000000310435000000400200043d00000000012100490000002001100039000001ed0010009c000001ed010080410000006001100210000001ed0020009c000001ed020080410000004002200210000000000121019f0000000002000414000006ec0000013d000002240020009c000003640000613d000002250020009c0000078b0000c13d000000440280008a000002290020009c0000078b0000813d0000002402100370000000000202043b000700000002001d0000000401100370000000000101043b000900000001001d0000000001000411000001ee01100197000800000001001d00000000001004350000000301000039000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d0000000902000029000001ee02200197000000000101043b000900000002001d0000000000200435000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b0000000702000029000000000021041b000000400100043d0000000000210435000000400200043d00000000012100490000002001100039000001ed0010009c000001ed010080410000006001100210000001ed0020009c000001ed020080410000004002200210000000000121019f0000000002000414000001ed0020009c000001ed02008041000000c002200210000000000121019f000001ff011001c70000800d02000039000000030300003900000215040000410000000805000029000000090600002907ad07a30000040f00000001002001900000078b0000613d000000400100043d00000001020000390000000000210435000000400200043d00000000012100490000002001100039000001ed0010009c000001ed010080410000006001100210000001ed0020009c000001ed020080410000004002200210000000000121019f000007ae0001042e000002060020009c0000036a0000613d000002070020009c0000078b0000c13d000001040280008a0000022c0020009c0000078b0000813d0000000502000039000000000202041a000900000002001d000000e402100370000000000202043b000600000002001d000000c402100370000000000202043b000700000002001d000000a402100370000000000202043b000500000002001d0000008402100370000000000402043b0000006402100370000000000602043b0000004402100370000000000502043b0000002402100370000000000202043b0000000401100370000000000101043b0000020c03000041000000a00030043f000001ee01100197000800000001001d000000c00010043f000001ee01200197000100000001001d000000e00010043f000300000005001d000001000050043f000400000006001d000001200060043f000200000004001d000000000004004b0000000001000019000000010100c039000001400010043f000000c001000039000000800010043f0000016001000039000000400010043f0000000001000414000001ed0010009c000001ed01008041000000c0011002100000020d011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b0000020e02000041000001800020043f0000000902000029000001820020043f000001a20010043f000000400100043d000001a2021000890000000002210436000001c203000039000000400030043f000001ed0020009c000001ed0200804100000040022002100000000001010433000001ed0010009c000001ed010080410000006001100210000000000121019f0000000002000414000001ed0020009c000001ed02008041000000c002200210000000000112019f000001ff011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000400200043d000000080000006b0000051f0000c13d00000044012000390000021603000041000000000031043500000024012000390000001503000039000000000031043500000210010000410000000000120435000000040120003900000020030000390000000000310435000000400100043d00000000021200490000006402200039000001ed0020009c000001ed020080410000006002200210000001ed0010009c000001ed010080410000004001100210000000000112019f000007af000104300000000101000039000004740000013d000000640280008a0000022a0020009c0000078b0000813d0000004402100370000000000202043b000900000002001d0000002402100370000000000202043b000700000002001d0000000401100370000000000101043b000001ee01100197000800000001001d00000000001004350000000201000039000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b000000000101041a000000090010006c0000040a0000413d0000000001000411000001ee021001970000000801000029000000000021004b0000057d0000c13d00000000001004350000000201000039000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b000000000201041a000000090220006c000004900000413d0000000703000029000001ee03300197000000000021041b000700000003001d00000000003004350000000201000039000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b000000000201041a0000000903000029000000000032001a000004900000413d0000000002320019000000000021041b000000400100043d0000000000310435000000400200043d00000000012100490000002001100039000001ed0010009c000001ed010080410000006001100210000001ed0020009c000001ed020080410000004002200210000000000121019f0000000002000414000003c70000013d000000c001000039000000400010043f0000000301000039000000800010043f0000020a02000041000003da0000013d000000240280008a0000022b0020009c0000078b0000813d0000000401100370000000000101043b000900000001001d0000000001000411000001ee011001970000000000100435000000200000043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b000000000101041a000000010010008c000004780000c13d0000000901000029000001ee011001970000000000100435000000200000043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b000000000001041b00000000010004130000004001100270000001ed011001970000012002100039000000400020043f0000002003100039000000e00400003900000000004304350000002003000039000000000031043500000040041000390000000003000367000000000503034f000000005605043c0000000004640436000000000024004b000003580000c13d0000000402300370000000000602043b0000002402300370000000000702043b000000000203043b00000040011002100000000003000414000004500000013d000000c001000039000000400010043f0000000e01000039000000800010043f000001f202000041000003da0000013d000000240280008a0000022b0020009c0000078b0000813d0000000401100370000000000101043b0000000402000039000000200020043f000003e70000013d0000001201000039000000800010043f0000020101000041000007ae0001042e000000440280008a000002290020009c0000078b0000813d0000002402100370000000000202043b000900000002001d0000000401100370000000000101043b000700000001001d0000000001000411000001ee01100197000800000001001d00000000001004350000000201000039000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b000000000101041a000000090010006c0000040a0000413d000000080100002900000000001004350000000201000039000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b000000000201041a000000090220006c000004900000413d0000000703000029000001ee03300197000000000021041b000700000003001d00000000003004350000000201000039000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b000000000201041a0000000903000029000000000032001a000004900000413d0000000002320019000000000021041b000000400100043d0000000000310435000000400200043d00000000012100490000002001100039000001ed0010009c000001ed010080410000006001100210000001ed0020009c000001ed020080410000004002200210000000000121019f0000000002000414000001ed0020009c000001ed02008041000000c002200210000000000121019f000001ff011001c70000800d02000039000000030300003900000200040000410000000805000029000000070600002907ad07a30000040f00000001002001900000078b0000613d000002470000013d000000c001000039000000400010043f0000000101000039000000800010043f000001f302000041000000a00020043f0000002003000039000000c00030043f000000e00010043f000001000020043f0000020b01000041000007ae0001042e000000240280008a0000022b0020009c0000078b0000813d0000000401100370000000000101043b000000200000043f000001ee01100197000000000010043500000040020000390000000001000019000004730000013d0000000501000039000004740000013d000000440280008a000002290020009c0000078b0000813d0000002402100370000000000202043b000900000002001d0000000401100370000000000101043b000700000001001d0000000001000411000001ee01100197000800000001001d00000000001004350000000201000039000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b000000000101041a000000090010006c0000047f0000813d000000400100043d00000044021000390000022803000041000000000032043500000024021000390000001803000039000004960000013d000000240280008a0000022b0020009c0000078b0000813d0000000401100370000000000101043b000900000001001d0000000001000411000001ee011001970000000000100435000000200000043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b000000000101041a000000010010008c000004780000c13d0000000901000029000001ee011001970000000000100435000000200000043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b0000000102000039000000000021041b00000000010004130000004001100270000001ed011001970000012002100039000000400020043f0000002003100039000000e00400003900000000004304350000002003000039000000000031043500000040041000390000000003000367000000000503034f000000005605043c0000000004640436000000000024004b000004450000c13d0000000402300370000000000602043b0000002402300370000000000702043b000000000203043b00000040011002100000000003000414000001ed0030009c000001ed03008041000000c003300210000000000113019f00000208011001c700000209042001970000800d020000390000000403000039000000000500041107ad07a30000040f00000001002001900000078b0000613d0000000001000019000007ae0001042e000000440280008a000002290020009c0000078b0000813d0000002402100370000000000202043b000900000002001d0000000401100370000000000101043b0000000302000039000000200020043f000001ee0110019700000000001004350000004002000039000000000100001907ad078e0000040f000000200010043f0000000901000029000001ee0110019700000000001004350000000001000019000000400200003907ad078e0000040f000000000101041a000000800010043f0000020101000041000007ae0001042e000000400100043d00000044021000390000021f03000041000000000032043500000024021000390000001203000039000004960000013d000000080100002900000000001004350000000201000039000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b000000000201041a000000090220006c000006c80000813d000000400100043d00000044021000390000022703000041000000000032043500000024021000390000000e03000039000000000032043500000210020000410000000000210435000000040210003900000020030000390000000000320435000000400200043d00000000012100490000006401100039000001ed0010009c000001ed010080410000006001100210000001ed0020009c000001ed020080410000004002200210000000000121019f000007af00010430000700000002001d0000000301000039000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b00000007020000290000000000200435000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b000000000101041a0000022d0010009c0000000801000029000000b60000613d00000000001004350000000301000039000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b00000007020000290000000000200435000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b000000000101041a000000090010006c000006a70000413d000000080100002900000000001004350000000301000039000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b00000007020000290000000000200435000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b000000000101041a0006000900100074000004900000413d000000080100002900000000001004350000000301000039000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b00000007020000290000000000200435000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b0000000602000029000000000021041b0000000801000029000000b60000013d000000000101043b0000000003020436000000400030043f0000008004200039000000060500002900000000005404350000006004200039000000070500002900000000005404350000000504000029000000ff0440018f000000400520003900000000004504350000000000130435000000400300043d000900000003001d0000000001320049000000a001100039000001ed0010009c000001ed010080410000006001100210000001ed0030009c000001ed0200004100000000020340190000004002200210000000000121019f0000000002000414000001ed0020009c000001ed02008041000000c002200210000000000121019f000000010200003907ad07a80000040f0000000903000029000000200430008a00000000030100190000006003300270000001ed03300197000000200030008c000000200600003900000000060340190000001f0560018f0000000506600272000005520000613d0000002007400039000000000801034f0000000009040019000000008a08043c0000000009a90436000000000079004b0000054e0000c13d000000000005004b000005610000613d0000000506600210000000000761034f00000000046400190000000305500210000000000604043300000000065601cf000000000656022f000000000707043b0000010005500089000000000757022f00000000055701cf000000000565019f00000000005404350000000100200190000006ae0000613d000000400100043d000000200210008a0000000002020433000001ee02200197000000080020006b000006f70000c13d000000040000006b000006fa0000613d000002110100004100000000001004390000000001000414000001ed0010009c000001ed01008041000000c00110021000000212011001c70000800b0200003907ad07a80000040f0000000100200190000007460000613d000000000101043b000000040010006c000006fa0000a13d000000400100043d000000440210003900000213030000410000047b0000013d000600000002001d0000000301000039000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b00000006020000290000000000200435000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b000000000101041a0000022d0010009c0000000801000029000002ea0000613d00000000001004350000000301000039000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b00000006020000290000000000200435000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b000000000101041a000000090010006c000006a70000413d000000080100002900000000001004350000000301000039000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b00000006020000290000000000200435000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b000000000101041a0005000900100074000004900000413d000000080100002900000000001004350000000301000039000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b00000006020000290000000000200435000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b0000000502000029000000000021041b0000000801000029000002ea0000013d000600000002001d0000000301000039000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b00000006020000290000000000200435000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b000000000101041a0000022d0010009c0000000801000029000001650000613d00000000001004350000000301000039000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b00000006020000290000000000200435000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b000000000101041a000000090010006c000006a70000413d000000080100002900000000001004350000000301000039000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b00000006020000290000000000200435000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b000000000101041a0005000900100074000004900000413d000000080100002900000000001004350000000301000039000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b00000006020000290000000000200435000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b0000000502000029000000000021041b0000000801000029000001650000013d0000000301000039000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b00000007020000290000000000200435000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b000000000101041a0000022d0010009c0000000801000029000001cc0000613d00000000001004350000000301000039000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b00000007020000290000000000200435000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b000000000101041a000000090010006c0000074e0000813d000000400100043d00000044021000390000022603000041000000000032043500000024021000390000001a03000039000004960000013d0000001f0430018f0000000502300272000006b80000613d0000000505200210000000000601034f0000000007000019000000006806043c0000000007870436000000000057004b000006b40000c13d000000000004004b000006c60000613d00000003044002100000000502200210000000000502043300000000054501cf000000000545022f000000000121034f000000000101043b0000010004400089000000000141022f00000000014101cf000000000151019f00000000001204350000006001300210000007af000104300000000703000029000001ee03300197000000000021041b000700000003001d00000000003004350000000201000039000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b000000000201041a0000000903000029000000000032001a000004900000413d0000000002320019000000000021041b000000400100043d0000000000310435000000400200043d00000000012100490000002001100039000001ed0010009c000001ed010080410000006001100210000001ed0020009c000001ed020080410000004002200210000000000121019f0000000002000414000001ed0020009c000001ed02008041000000c002200210000000000121019f000001ff011001c70000800d020000390000000303000039000002000400004100000008050000290000000706000029000004590000013d00000044021000390000020f030000410000047b0000013d000000080100002900000000001004350000000401000039000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b000000000201041a0000000103200039000000000031041b000000030020006b000007470000c13d000000080100002900000000001004350000000301000039000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f000000010400008a000000020000006b0000000004006019000900000004001d00000001002001900000078b0000613d000000000101043b00000001020000290000000000200435000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b0000000902000029000000000021041b000000400100043d0000000000210435000000400200043d00000000012100490000002001100039000001ed0010009c000001ed010080410000006001100210000001ed0020009c000001ed020080410000004002200210000000000121019f0000000002000414000001ed0020009c000001ed02008041000000c002200210000000000121019f000001ff011001c70000800d020000390000000303000039000002150400004100000008050000290000000106000029000004590000013d000000000001042f000000400100043d00000044021000390000021403000041000000000032043500000024021000390000001103000039000004960000013d000000080100002900000000001004350000000301000039000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b00000007020000290000000000200435000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b000000000101041a0006000900100074000004900000413d000000080100002900000000001004350000000301000039000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b00000007020000290000000000200435000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b0000000602000029000000000021041b0000000801000029000001cc0000013d0000000001000019000007af00010430000000000001042f000001ed0010009c000001ed010080410000004001100210000001ed0020009c000001ed020080410000006002200210000000000112019f0000000002000414000001ed0020009c000001ed02008041000000c002200210000000000112019f000001ff011001c7000080100200003907ad07a80000040f0000000100200190000007a10000613d000000000101043b000000000001042d0000000001000019000007af00010430000007a6002104210000000102000039000000000001042d0000000002000019000000000001042d000007ab002104230000000102000039000000000001042d0000000002000019000000000001042d000007ad00000432000007ae0001042e000007af00010430000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff000000000000000000000000ffffffffffffffffffffffffffffffffffffffff454950373132446f6d61696e28737472696e67206e616d652c737472696e6720766572696679696e67436f6e747261637429000000000000000000000000000076657273696f6e2c75696e7432353620636861696e49642c616464726573732056414920537461626c65636f696e000000000000000000000000000000000000310000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000400000010000000000000000007ecebe0000000000000000000000000000000000000000000000000000000000a9059cbb0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000bf353dba00000000000000000000000000000000000000000000000000000000bf353dbb00000000000000000000000000000000000000000000000000000000dd62ed3e00000000000000000000000000000000000000000000000000000000f2d5d56b00000000000000000000000000000000000000000000000000000000a9059cbb00000000000000000000000000000000000000000000000000000000b753a98c00000000000000000000000000000000000000000000000000000000bb35783b02000000000000000000000000000000000000400000000000000000000000000200000000000000000000000000000000000000000000000000000000000000ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef00000000000000000000000000000000000000200000008000000000000000000000000000000000000000000000000000000000000000000000000095d89b400000000000000000000000000000000000000000000000000000000095d89b41000000000000000000000000000000000000000000000000000000009c52a7f1000000000000000000000000000000000000000000000000000000009dc29fac000000000000000000000000000000000000000000000000000000007ecebe00000000000000000000000000000000000000000000000000000000008fcbaf0c0200000000000000000000000000000000000120000000000000000000000000ffffffff0000000000000000000000000000000000000000000000000000000056414900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000c00000000000000000ea2aa0a1be11a07ed86d755c93467f4f82362b452371d1ba94d1715123511acb02000000000000000000000000000000000000c0000000a0000000000000000019010000000000000000000000000000000000000000000000000000000000005641492f696e76616c69642d7065726d6974000000000000000000000000000008c379a000000000000000000000000000000000000000000000000000000000796b89b91644bc98cd93958e4c9038275d622183e25ac5af08cc6b5d9553913202000002000000000000000000000000000000040000000000000000000000005641492f7065726d69742d6578706972656400000000000000000000000000005641492f696e76616c69642d6e6f6e63650000000000000000000000000000008c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9255641492f696e76616c69642d616464726573732d300000000000000000000000313ce567000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054fd4d4f0000000000000000000000000000000000000000000000000000000054fd4d500000000000000000000000000000000000000000000000000000000065fae35e0000000000000000000000000000000000000000000000000000000070a0823100000000000000000000000000000000000000000000000000000000313ce567000000000000000000000000000000000000000000000000000000003644e5150000000000000000000000000000000000000000000000000000000040c10f195641492f6e6f742d617574686f72697a656400000000000000000000000000000000000000000000000000000000000000000000000000000000000018160ddc0000000000000000000000000000000000000000000000000000000018160ddd0000000000000000000000000000000000000000000000000000000023b872dd0000000000000000000000000000000000000000000000000000000030adf81f0000000000000000000000000000000000000000000000000000000006fdde0300000000000000000000000000000000000000000000000000000000095ea7b35641492f696e73756666696369656e742d616c6c6f77616e6365000000000000564149206d617468206572726f720000000000000000000000000000000000005641492f696e73756666696369656e742d62616c616e63650000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000"},"methodIdentifiers":{"DOMAIN_SEPARATOR()":"3644e515","PERMIT_TYPEHASH()":"30adf81f","allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","burn(address,uint256)":"9dc29fac","decimals()":"313ce567","deny(address)":"9c52a7f1","mint(address,uint256)":"40c10f19","move(address,address,uint256)":"bb35783b","name()":"06fdde03","nonces(address)":"7ecebe00","permit(address,address,uint256,uint256,bool,uint8,bytes32,bytes32)":"8fcbaf0c","pull(address,uint256)":"f2d5d56b","push(address,uint256)":"b753a98c","rely(address)":"65fae35e","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd","version()":"54fd4d50","wards(address)":"bf353dbb"}},"hash":"0100022fa82db991044481d8dc289313d84868dd589a68d99cf49fd99fcdd288","factoryDependencies":{}}},"@venusprotocol/venus-protocol/contracts/Tokens/VAI/lib.sol":{"LibNote":{"abi":[{"anonymous":true,"inputs":[{"indexed":true,"internalType":"bytes4","name":"sig","type":"bytes4"},{"indexed":true,"internalType":"address","name":"usr","type":"address"},{"indexed":true,"internalType":"bytes32","name":"arg1","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"arg2","type":"bytes32"},{"indexed":false,"internalType":"bytes","name":"data","type":"bytes"}],"name":"LogNote","type":"event"}],"metadata":{"llvm_options":[],"optimizer_settings":{"is_debug_logging_enabled":false,"is_fallback_to_size_enabled":false,"is_verify_each_enabled":false,"level_back_end":"Aggressive","level_middle_end":"Aggressive","level_middle_end_size":"Zero"},"solc_metadata":"{\"compiler\":{\"version\":\"0.5.16+commit.b9534989\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":true,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes4\",\"name\":\"sig\",\"type\":\"bytes4\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"usr\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"arg1\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"arg2\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"LogNote\",\"type\":\"event\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"@venusprotocol/venus-protocol/contracts/Tokens/VAI/lib.sol\":\"LibNote\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"details\":{\"constantOptimizer\":false,\"cse\":false,\"deduplicate\":false,\"jumpdestRemover\":false,\"orderLiterals\":false,\"peephole\":false,\"yul\":false},\"runs\":200},\"remappings\":[]},\"sources\":{\"@venusprotocol/venus-protocol/contracts/Tokens/VAI/lib.sol\":{\"keccak256\":\"0x63dceabe7331a78e04306883f77921e20bca79930e92468779bfe81cbe239c68\",\"urls\":[\"bzz-raw://ab1a92b3f8de82feb4c8f4a7b1546ad9574546a51283171e7ac5a41626305bbd\",\"dweb:/ipfs/QmVuv1xJ7kFgxDYJKmV5cwMRtgrGBkbyc7uD2sSrftzmLu\"]}},\"version\":1}","solc_version":"0.5.16","solc_zkvm_edition":"1.0.1","zk_version":"1.5.1"},"devdoc":{"methods":{}},"userdoc":{"methods":{}},"storageLayout":{"storage":[],"types":null},"evm":{"bytecode":{"object":"0000008001000039000000400010043f00000001002001900000000c0000613d0000000001000416000000000001004b0000000c0000c13d00000020010000390000010000100443000001200000044300000005010000410000000f0001042e000000000100001900000010000104300000000e000004320000000f0001042e000000100001043000000000000000000000000000000000000000000000000000000002000000000000000000000000000000400000010000000000000000000000000000000000000000000000000000000000000000000000000000000000"},"methodIdentifiers":{}},"hash":"01000007d1567973ec3fadd3c98f873a2debf7d34207908a5a97d54ea2761153","factoryDependencies":{}}},"contracts/test/VAI.sol":{"VAIScenario":{"abi":[{"inputs":[{"internalType":"uint256","name":"chainId","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"src","type":"address"},{"indexed":true,"internalType":"address","name":"guy","type":"address"},{"indexed":false,"internalType":"uint256","name":"wad","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":true,"inputs":[{"indexed":true,"internalType":"bytes4","name":"sig","type":"bytes4"},{"indexed":true,"internalType":"address","name":"usr","type":"address"},{"indexed":true,"internalType":"bytes32","name":"arg1","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"arg2","type":"bytes32"},{"indexed":false,"internalType":"bytes","name":"data","type":"bytes"}],"name":"LogNote","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"src","type":"address"},{"indexed":true,"internalType":"address","name":"dst","type":"address"},{"indexed":false,"internalType":"uint256","name":"wad","type":"uint256"}],"name":"Transfer","type":"event"},{"constant":true,"inputs":[],"name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"PERMIT_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"usr","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"usr","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"guy","type":"address"}],"name":"deny","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"usr","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"mint","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"src","type":"address"},{"internalType":"address","name":"dst","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"move","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"expiry","type":"uint256"},{"internalType":"bool","name":"allowed","type":"bool"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"permit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"usr","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"pull","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"usr","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"push","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"guy","type":"address"}],"name":"rely","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"dst","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"src","type":"address"},{"internalType":"address","name":"dst","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"version","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"wards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"}],"metadata":{"llvm_options":[],"optimizer_settings":{"is_debug_logging_enabled":false,"is_fallback_to_size_enabled":false,"is_verify_each_enabled":false,"level_back_end":"Aggressive","level_middle_end":"Aggressive","level_middle_end_size":"Zero"},"solc_metadata":"{\"compiler\":{\"version\":\"0.5.16+commit.b9534989\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"src\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"guy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"wad\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":true,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes4\",\"name\":\"sig\",\"type\":\"bytes4\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"usr\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"arg1\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"arg2\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"LogNote\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"src\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"dst\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"wad\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"constant\":true,\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"PERMIT_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"usr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"wad\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"usr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"wad\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"guy\",\"type\":\"address\"}],\"name\":\"deny\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"usr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"wad\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"src\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"dst\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"wad\",\"type\":\"uint256\"}],\"name\":\"move\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expiry\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"allowed\",\"type\":\"bool\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permit\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"usr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"wad\",\"type\":\"uint256\"}],\"name\":\"pull\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"usr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"wad\",\"type\":\"uint256\"}],\"name\":\"push\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"guy\",\"type\":\"address\"}],\"name\":\"rely\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"dst\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"wad\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"src\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"dst\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"wad\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"wards\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"contracts/test/VAI.sol\":\"VAIScenario\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"details\":{\"constantOptimizer\":false,\"cse\":false,\"deduplicate\":false,\"jumpdestRemover\":false,\"orderLiterals\":false,\"peephole\":false,\"yul\":false},\"runs\":200},\"remappings\":[]},\"sources\":{\"@venusprotocol/venus-protocol/contracts/Tokens/VAI/VAI.sol\":{\"keccak256\":\"0xaccc80ada63e1a611781aea8eacde0652e88deb8c694d2e08f88b0db7ce4aaa8\",\"urls\":[\"bzz-raw://d39551ecf324e5f272b44dbced19f08a70fd086443461d49b2047284ab8fe7aa\",\"dweb:/ipfs/QmYXTunrPyg6HTZxh4ERYAvKvaNbkbejuS5rSDPqqbbLow\"]},\"@venusprotocol/venus-protocol/contracts/Tokens/VAI/lib.sol\":{\"keccak256\":\"0x63dceabe7331a78e04306883f77921e20bca79930e92468779bfe81cbe239c68\",\"urls\":[\"bzz-raw://ab1a92b3f8de82feb4c8f4a7b1546ad9574546a51283171e7ac5a41626305bbd\",\"dweb:/ipfs/QmVuv1xJ7kFgxDYJKmV5cwMRtgrGBkbyc7uD2sSrftzmLu\"]},\"contracts/test/VAI.sol\":{\"keccak256\":\"0x04e9f797d05d2b91db45c63588ddc23209be9111199b2eadcffcd39e2ba7ec1f\",\"urls\":[\"bzz-raw://724c6d22e4321a33ba1790c7d0a8280582a1f9c1d78d97153c73eaf6c06bec7e\",\"dweb:/ipfs/Qmbdfab1q8AWkSHSqCQLrTRgq6qqDy3dVDY3uGXDZqfr3N\"]}},\"version\":1}","solc_version":"0.5.16","solc_zkvm_edition":"1.0.1","zk_version":"1.5.1"},"devdoc":{"methods":{}},"userdoc":{"methods":{}},"storageLayout":{"storage":[{"astId":8,"contract":"contracts/test/VAI.sol:VAIScenario","label":"wards","offset":0,"slot":"0","type":"t_mapping(t_address,t_uint256)"},{"astId":68,"contract":"contracts/test/VAI.sol:VAIScenario","label":"totalSupply","offset":0,"slot":"1","type":"t_uint256"},{"astId":72,"contract":"contracts/test/VAI.sol:VAIScenario","label":"balanceOf","offset":0,"slot":"2","type":"t_mapping(t_address,t_uint256)"},{"astId":78,"contract":"contracts/test/VAI.sol:VAIScenario","label":"allowance","offset":0,"slot":"3","type":"t_mapping(t_address,t_mapping(t_address,t_uint256))"},{"astId":82,"contract":"contracts/test/VAI.sol:VAIScenario","label":"nonces","offset":0,"slot":"4","type":"t_mapping(t_address,t_uint256)"},{"astId":144,"contract":"contracts/test/VAI.sol:VAIScenario","label":"DOMAIN_SEPARATOR","offset":0,"slot":"5","type":"t_bytes32"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_mapping(t_address,t_mapping(t_address,t_uint256))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(address => uint256))","numberOfBytes":"32","value":"t_mapping(t_address,t_uint256)"},"t_mapping(t_address,t_uint256)":{"encoding":"mapping","key":"t_address","label":"mapping(address => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"evm":{"bytecode":{"object":"0001000000000002000900000000000200000000000103550000008003000039000000400030043f000000000400041600000000050100190000006005500270000001ed085001970000000100200190000000210000c13d000000000004004b0000078b0000c13d000000040080008c0000078b0000413d000000000301043b000000e002300270000001f50030009c0000008d0000813d000002170030009c000000e50000813d000002200020009c000001ff0000a13d000002210020009c000002c60000613d000002220020009c000002c80000613d000002230020009c0000078b0000c13d0000020c01000041000000800010043f0000020101000041000007ae0001042e000000000004004b0000078b0000c13d0000001f0280018f000000050480027200000005044002100000002d0000613d0000008005400039000000000601034f000000006706043c0000000003730436000000000053004b000000290000c13d000000000002004b0000003b0000613d000000000141034f00000003022002100000008003400039000000000403043300000000042401cf000000000424022f000000000101043b0000010002200089000000000121022f00000000012101cf000000000141019f00000000001304350000008001800039000000400010043f000000200080008c0000078b0000413d000800000001001d0000000001000411000001ee01100197000000800200043d000900000002001d0000000000100435000000200000043f00000040020000390000000001000019000700000008001d07ad078e0000040f0000000102000039000000000021041b000001ef01000041000000080200002900000000001204350000000703000029000000c001300039000001f0020000410000000000210435000000a001300039000001f1020000410000000000210435000000400100043d000800000001001d0000000002130049000000d20220003907ad078e0000040f00000008030000290000004002300039000000400020043f0000000e020000390000000003230436000001f2040000410000000000430435000800000001001d000000000103001907ad078e0000040f000000400400043d0000004003400039000000400030043f00000001020000390000000004240436000001f3030000410000000000340435000700000001001d000000000104001907ad078e0000040f000000400200043d000000200320003900000008040000290000000000430435000000400320003900000007040000290000000000430435000000600320003900000000001304350000008001200039000000090300002900000000003104350000000001000410000001ee01100197000000a0032000390000000000130435000000400400043d00000000014300490000000001140436000000c002200039000000400020043f000000000204043307ad078e0000040f0000000502000039000000000012041b000000200100003900000100001004430000012000000443000001f401000041000007ae0001042e000001f60030009c0000013b0000813d000002020020009c000002550000a13d000002030020009c0000031f0000613d000002040020009c000003250000613d000002050020009c0000078b0000c13d000000440280008a000002290020009c0000078b0000813d0000002402100370000000000202043b000900000002001d0000000401100370000000000101043b000001ee01100197000800000001001d00000000001004350000000201000039000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b000000000101041a000000090010006c0000040a0000413d0000000001000411000001ee021001970000000801000029000000000021004b000004a70000c13d00000000001004350000000201000039000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b000000000201041a0000000903000029000000000232004b000004900000413d000000000021041b0000000101000039000000000201041a000000000232004b000004900000413d000000000021041b000000400100043d0000000000310435000000400200043d00000000012100490000002001100039000001ed0010009c000001ed010080410000006001100210000001ed0020009c000001ed020080410000004002200210000000000121019f0000000002000414000001ed0020009c000001ed02008041000000c002200210000000000121019f000001ff011001c70000800d020000390000000303000039000002000400004100000008050000290000000006000019000004590000013d000002180020009c0000019a0000213d0000021c0020009c000003720000613d0000021d0020009c000003ec0000613d0000021e0020009c0000078b0000c13d000000440280008a000002290020009c0000078b0000813d0000002402100370000000000202043b000800000002001d0000000401100370000000000101043b000900000001001d0000000001000411000001ee011001970000000000100435000000200000043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b000000000101041a000000010010008c000004780000c13d0000000901000029000001ee01100197000900000001001d00000000001004350000000201000039000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b000000000201041a0000000803000029000000000032001a000004900000413d0000000002320019000000000021041b0000000101000039000000000201041a000000000032001a000004900000413d0000000002320019000000000021041b000000400100043d0000000000310435000000400200043d00000000012100490000002001100039000001ed0010009c000001ed010080410000006001100210000001ed0020009c000001ed020080410000004002200210000000000121019f0000000002000414000001ed0020009c000001ed02008041000000c002200210000000000121019f000001ff011001c70000800d020000390000000303000039000002000400004100000000050000190000000906000029000004590000013d000001f70020009c000001a70000213d000001fb0020009c000003760000613d000001fc0020009c000003ee0000613d000001fd0020009c0000078b0000c13d000000640280008a0000022a0020009c0000078b0000813d0000004402100370000000000202043b000900000002001d0000002402100370000000000202043b000700000002001d0000000401100370000000000101043b000001ee01100197000800000001001d00000000001004350000000201000039000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b000000000101041a000000090010006c0000040a0000413d0000000001000411000001ee021001970000000801000029000000000021004b000005f50000c13d00000000001004350000000201000039000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b000000000201041a000000090220006c000004900000413d0000000703000029000001ee03300197000000000021041b000700000003001d00000000003004350000000201000039000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b000000000201041a0000000903000029000000000032001a000004900000413d0000000002320019000000000021041b000000400100043d0000000000310435000000400200043d00000000012100490000002001100039000001ed0010009c000001ed010080410000006001100210000001ed0020009c000001ed020080410000004002200210000000000121019f0000000002000414000006ec0000013d000002190020009c000003d50000613d0000021a0020009c000004110000613d0000021b0020009c0000078b0000c13d000000240280008a0000022b0020009c0000078b0000813d0000000401100370000000000101043b0000000202000039000003700000013d000001f80020009c000003e10000613d000001f90020009c0000045e0000613d000001fa0020009c0000078b0000c13d000000440280008a000002290020009c0000078b0000813d0000002402100370000000000202043b000900000002001d0000000401100370000000000101043b000001ee01100197000800000001001d00000000001004350000000201000039000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b000000000101041a000000090010006c0000040a0000413d0000000001000411000701ee0010019b0000000801000029000000070010006c0000066d0000c13d00000000001004350000000201000039000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b000000000201041a000000090220006c000004900000413d000000000021041b000000070100002900000000001004350000000201000039000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b000000000201041a0000000903000029000000000032001a000004900000413d0000000002320019000000000021041b000000400100043d0000000000310435000000400200043d00000000012100490000002001100039000001ed0010009c000001ed010080410000006001100210000001ed0020009c000001ed020080410000004002200210000000000121019f0000000002000414000006ec0000013d000002240020009c000003640000613d000002250020009c0000078b0000c13d000000440280008a000002290020009c0000078b0000813d0000002402100370000000000202043b000700000002001d0000000401100370000000000101043b000900000001001d0000000001000411000001ee01100197000800000001001d00000000001004350000000301000039000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d0000000902000029000001ee02200197000000000101043b000900000002001d0000000000200435000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b0000000702000029000000000021041b000000400100043d0000000000210435000000400200043d00000000012100490000002001100039000001ed0010009c000001ed010080410000006001100210000001ed0020009c000001ed020080410000004002200210000000000121019f0000000002000414000001ed0020009c000001ed02008041000000c002200210000000000121019f000001ff011001c70000800d02000039000000030300003900000215040000410000000805000029000000090600002907ad07a30000040f00000001002001900000078b0000613d000000400100043d00000001020000390000000000210435000000400200043d00000000012100490000002001100039000001ed0010009c000001ed010080410000006001100210000001ed0020009c000001ed020080410000004002200210000000000121019f000007ae0001042e000002060020009c0000036a0000613d000002070020009c0000078b0000c13d000001040280008a0000022c0020009c0000078b0000813d0000000502000039000000000202041a000900000002001d000000e402100370000000000202043b000600000002001d000000c402100370000000000202043b000700000002001d000000a402100370000000000202043b000500000002001d0000008402100370000000000402043b0000006402100370000000000602043b0000004402100370000000000502043b0000002402100370000000000202043b0000000401100370000000000101043b0000020c03000041000000a00030043f000001ee01100197000800000001001d000000c00010043f000001ee01200197000100000001001d000000e00010043f000300000005001d000001000050043f000400000006001d000001200060043f000200000004001d000000000004004b0000000001000019000000010100c039000001400010043f000000c001000039000000800010043f0000016001000039000000400010043f0000000001000414000001ed0010009c000001ed01008041000000c0011002100000020d011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b0000020e02000041000001800020043f0000000902000029000001820020043f000001a20010043f000000400100043d000001a2021000890000000002210436000001c203000039000000400030043f000001ed0020009c000001ed0200804100000040022002100000000001010433000001ed0010009c000001ed010080410000006001100210000000000121019f0000000002000414000001ed0020009c000001ed02008041000000c002200210000000000112019f000001ff011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000400200043d000000080000006b0000051f0000c13d00000044012000390000021603000041000000000031043500000024012000390000001503000039000000000031043500000210010000410000000000120435000000040120003900000020030000390000000000310435000000400100043d00000000021200490000006402200039000001ed0020009c000001ed020080410000006002200210000001ed0010009c000001ed010080410000004001100210000000000112019f000007af000104300000000101000039000004740000013d000000640280008a0000022a0020009c0000078b0000813d0000004402100370000000000202043b000900000002001d0000002402100370000000000202043b000700000002001d0000000401100370000000000101043b000001ee01100197000800000001001d00000000001004350000000201000039000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b000000000101041a000000090010006c0000040a0000413d0000000001000411000001ee021001970000000801000029000000000021004b0000057d0000c13d00000000001004350000000201000039000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b000000000201041a000000090220006c000004900000413d0000000703000029000001ee03300197000000000021041b000700000003001d00000000003004350000000201000039000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b000000000201041a0000000903000029000000000032001a000004900000413d0000000002320019000000000021041b000000400100043d0000000000310435000000400200043d00000000012100490000002001100039000001ed0010009c000001ed010080410000006001100210000001ed0020009c000001ed020080410000004002200210000000000121019f0000000002000414000003c70000013d000000c001000039000000400010043f0000000301000039000000800010043f0000020a02000041000003da0000013d000000240280008a0000022b0020009c0000078b0000813d0000000401100370000000000101043b000900000001001d0000000001000411000001ee011001970000000000100435000000200000043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b000000000101041a000000010010008c000004780000c13d0000000901000029000001ee011001970000000000100435000000200000043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b000000000001041b00000000010004130000004001100270000001ed011001970000012002100039000000400020043f0000002003100039000000e00400003900000000004304350000002003000039000000000031043500000040041000390000000003000367000000000503034f000000005605043c0000000004640436000000000024004b000003580000c13d0000000402300370000000000602043b0000002402300370000000000702043b000000000203043b00000040011002100000000003000414000004500000013d000000c001000039000000400010043f0000000e01000039000000800010043f000001f202000041000003da0000013d000000240280008a0000022b0020009c0000078b0000813d0000000401100370000000000101043b0000000402000039000000200020043f000003e70000013d0000001201000039000000800010043f0000020101000041000007ae0001042e000000440280008a000002290020009c0000078b0000813d0000002402100370000000000202043b000900000002001d0000000401100370000000000101043b000700000001001d0000000001000411000001ee01100197000800000001001d00000000001004350000000201000039000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b000000000101041a000000090010006c0000040a0000413d000000080100002900000000001004350000000201000039000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b000000000201041a000000090220006c000004900000413d0000000703000029000001ee03300197000000000021041b000700000003001d00000000003004350000000201000039000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b000000000201041a0000000903000029000000000032001a000004900000413d0000000002320019000000000021041b000000400100043d0000000000310435000000400200043d00000000012100490000002001100039000001ed0010009c000001ed010080410000006001100210000001ed0020009c000001ed020080410000004002200210000000000121019f0000000002000414000001ed0020009c000001ed02008041000000c002200210000000000121019f000001ff011001c70000800d02000039000000030300003900000200040000410000000805000029000000070600002907ad07a30000040f00000001002001900000078b0000613d000002470000013d000000c001000039000000400010043f0000000101000039000000800010043f000001f302000041000000a00020043f0000002003000039000000c00030043f000000e00010043f000001000020043f0000020b01000041000007ae0001042e000000240280008a0000022b0020009c0000078b0000813d0000000401100370000000000101043b000000200000043f000001ee01100197000000000010043500000040020000390000000001000019000004730000013d0000000501000039000004740000013d000000440280008a000002290020009c0000078b0000813d0000002402100370000000000202043b000900000002001d0000000401100370000000000101043b000700000001001d0000000001000411000001ee01100197000800000001001d00000000001004350000000201000039000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b000000000101041a000000090010006c0000047f0000813d000000400100043d00000044021000390000022803000041000000000032043500000024021000390000001803000039000004960000013d000000240280008a0000022b0020009c0000078b0000813d0000000401100370000000000101043b000900000001001d0000000001000411000001ee011001970000000000100435000000200000043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b000000000101041a000000010010008c000004780000c13d0000000901000029000001ee011001970000000000100435000000200000043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b0000000102000039000000000021041b00000000010004130000004001100270000001ed011001970000012002100039000000400020043f0000002003100039000000e00400003900000000004304350000002003000039000000000031043500000040041000390000000003000367000000000503034f000000005605043c0000000004640436000000000024004b000004450000c13d0000000402300370000000000602043b0000002402300370000000000702043b000000000203043b00000040011002100000000003000414000001ed0030009c000001ed03008041000000c003300210000000000113019f00000208011001c700000209042001970000800d020000390000000403000039000000000500041107ad07a30000040f00000001002001900000078b0000613d0000000001000019000007ae0001042e000000440280008a000002290020009c0000078b0000813d0000002402100370000000000202043b000900000002001d0000000401100370000000000101043b0000000302000039000000200020043f000001ee0110019700000000001004350000004002000039000000000100001907ad078e0000040f000000200010043f0000000901000029000001ee0110019700000000001004350000000001000019000000400200003907ad078e0000040f000000000101041a000000800010043f0000020101000041000007ae0001042e000000400100043d00000044021000390000021f03000041000000000032043500000024021000390000001203000039000004960000013d000000080100002900000000001004350000000201000039000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b000000000201041a000000090220006c000006c80000813d000000400100043d00000044021000390000022703000041000000000032043500000024021000390000000e03000039000000000032043500000210020000410000000000210435000000040210003900000020030000390000000000320435000000400200043d00000000012100490000006401100039000001ed0010009c000001ed010080410000006001100210000001ed0020009c000001ed020080410000004002200210000000000121019f000007af00010430000700000002001d0000000301000039000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b00000007020000290000000000200435000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b000000000101041a0000022d0010009c0000000801000029000000b60000613d00000000001004350000000301000039000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b00000007020000290000000000200435000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b000000000101041a000000090010006c000006a70000413d000000080100002900000000001004350000000301000039000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b00000007020000290000000000200435000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b000000000101041a0006000900100074000004900000413d000000080100002900000000001004350000000301000039000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b00000007020000290000000000200435000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b0000000602000029000000000021041b0000000801000029000000b60000013d000000000101043b0000000003020436000000400030043f0000008004200039000000060500002900000000005404350000006004200039000000070500002900000000005404350000000504000029000000ff0440018f000000400520003900000000004504350000000000130435000000400300043d000900000003001d0000000001320049000000a001100039000001ed0010009c000001ed010080410000006001100210000001ed0030009c000001ed0200004100000000020340190000004002200210000000000121019f0000000002000414000001ed0020009c000001ed02008041000000c002200210000000000121019f000000010200003907ad07a80000040f0000000903000029000000200430008a00000000030100190000006003300270000001ed03300197000000200030008c000000200600003900000000060340190000001f0560018f0000000506600272000005520000613d0000002007400039000000000801034f0000000009040019000000008a08043c0000000009a90436000000000079004b0000054e0000c13d000000000005004b000005610000613d0000000506600210000000000761034f00000000046400190000000305500210000000000604043300000000065601cf000000000656022f000000000707043b0000010005500089000000000757022f00000000055701cf000000000565019f00000000005404350000000100200190000006ae0000613d000000400100043d000000200210008a0000000002020433000001ee02200197000000080020006b000006f70000c13d000000040000006b000006fa0000613d000002110100004100000000001004390000000001000414000001ed0010009c000001ed01008041000000c00110021000000212011001c70000800b0200003907ad07a80000040f0000000100200190000007460000613d000000000101043b000000040010006c000006fa0000a13d000000400100043d000000440210003900000213030000410000047b0000013d000600000002001d0000000301000039000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b00000006020000290000000000200435000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b000000000101041a0000022d0010009c0000000801000029000002ea0000613d00000000001004350000000301000039000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b00000006020000290000000000200435000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b000000000101041a000000090010006c000006a70000413d000000080100002900000000001004350000000301000039000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b00000006020000290000000000200435000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b000000000101041a0005000900100074000004900000413d000000080100002900000000001004350000000301000039000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b00000006020000290000000000200435000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b0000000502000029000000000021041b0000000801000029000002ea0000013d000600000002001d0000000301000039000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b00000006020000290000000000200435000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b000000000101041a0000022d0010009c0000000801000029000001650000613d00000000001004350000000301000039000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b00000006020000290000000000200435000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b000000000101041a000000090010006c000006a70000413d000000080100002900000000001004350000000301000039000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b00000006020000290000000000200435000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b000000000101041a0005000900100074000004900000413d000000080100002900000000001004350000000301000039000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b00000006020000290000000000200435000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b0000000502000029000000000021041b0000000801000029000001650000013d0000000301000039000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b00000007020000290000000000200435000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b000000000101041a0000022d0010009c0000000801000029000001cc0000613d00000000001004350000000301000039000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b00000007020000290000000000200435000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b000000000101041a000000090010006c0000074e0000813d000000400100043d00000044021000390000022603000041000000000032043500000024021000390000001a03000039000004960000013d0000001f0430018f0000000502300272000006b80000613d0000000505200210000000000601034f0000000007000019000000006806043c0000000007870436000000000057004b000006b40000c13d000000000004004b000006c60000613d00000003044002100000000502200210000000000502043300000000054501cf000000000545022f000000000121034f000000000101043b0000010004400089000000000141022f00000000014101cf000000000151019f00000000001204350000006001300210000007af000104300000000703000029000001ee03300197000000000021041b000700000003001d00000000003004350000000201000039000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b000000000201041a0000000903000029000000000032001a000004900000413d0000000002320019000000000021041b000000400100043d0000000000310435000000400200043d00000000012100490000002001100039000001ed0010009c000001ed010080410000006001100210000001ed0020009c000001ed020080410000004002200210000000000121019f0000000002000414000001ed0020009c000001ed02008041000000c002200210000000000121019f000001ff011001c70000800d020000390000000303000039000002000400004100000008050000290000000706000029000004590000013d00000044021000390000020f030000410000047b0000013d000000080100002900000000001004350000000401000039000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b000000000201041a0000000103200039000000000031041b000000030020006b000007470000c13d000000080100002900000000001004350000000301000039000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f000000010400008a000000020000006b0000000004006019000900000004001d00000001002001900000078b0000613d000000000101043b00000001020000290000000000200435000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b0000000902000029000000000021041b000000400100043d0000000000210435000000400200043d00000000012100490000002001100039000001ed0010009c000001ed010080410000006001100210000001ed0020009c000001ed020080410000004002200210000000000121019f0000000002000414000001ed0020009c000001ed02008041000000c002200210000000000121019f000001ff011001c70000800d020000390000000303000039000002150400004100000008050000290000000106000029000004590000013d000000000001042f000000400100043d00000044021000390000021403000041000000000032043500000024021000390000001103000039000004960000013d000000080100002900000000001004350000000301000039000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b00000007020000290000000000200435000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b000000000101041a0006000900100074000004900000413d000000080100002900000000001004350000000301000039000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b00000007020000290000000000200435000000200010043f0000000001000414000001ed0010009c000001ed01008041000000c001100210000001fe011001c7000080100200003907ad07a80000040f00000001002001900000078b0000613d000000000101043b0000000602000029000000000021041b0000000801000029000001cc0000013d0000000001000019000007af00010430000000000001042f000001ed0010009c000001ed010080410000004001100210000001ed0020009c000001ed020080410000006002200210000000000112019f0000000002000414000001ed0020009c000001ed02008041000000c002200210000000000112019f000001ff011001c7000080100200003907ad07a80000040f0000000100200190000007a10000613d000000000101043b000000000001042d0000000001000019000007af00010430000007a6002104210000000102000039000000000001042d0000000002000019000000000001042d000007ab002104230000000102000039000000000001042d0000000002000019000000000001042d000007ad00000432000007ae0001042e000007af00010430000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff000000000000000000000000ffffffffffffffffffffffffffffffffffffffff454950373132446f6d61696e28737472696e67206e616d652c737472696e6720766572696679696e67436f6e747261637429000000000000000000000000000076657273696f6e2c75696e7432353620636861696e49642c616464726573732056414920537461626c65636f696e000000000000000000000000000000000000310000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000400000010000000000000000007ecebe0000000000000000000000000000000000000000000000000000000000a9059cbb0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000bf353dba00000000000000000000000000000000000000000000000000000000bf353dbb00000000000000000000000000000000000000000000000000000000dd62ed3e00000000000000000000000000000000000000000000000000000000f2d5d56b00000000000000000000000000000000000000000000000000000000a9059cbb00000000000000000000000000000000000000000000000000000000b753a98c00000000000000000000000000000000000000000000000000000000bb35783b02000000000000000000000000000000000000400000000000000000000000000200000000000000000000000000000000000000000000000000000000000000ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef00000000000000000000000000000000000000200000008000000000000000000000000000000000000000000000000000000000000000000000000095d89b400000000000000000000000000000000000000000000000000000000095d89b41000000000000000000000000000000000000000000000000000000009c52a7f1000000000000000000000000000000000000000000000000000000009dc29fac000000000000000000000000000000000000000000000000000000007ecebe00000000000000000000000000000000000000000000000000000000008fcbaf0c0200000000000000000000000000000000000120000000000000000000000000ffffffff0000000000000000000000000000000000000000000000000000000056414900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000c00000000000000000ea2aa0a1be11a07ed86d755c93467f4f82362b452371d1ba94d1715123511acb02000000000000000000000000000000000000c0000000a0000000000000000019010000000000000000000000000000000000000000000000000000000000005641492f696e76616c69642d7065726d6974000000000000000000000000000008c379a000000000000000000000000000000000000000000000000000000000796b89b91644bc98cd93958e4c9038275d622183e25ac5af08cc6b5d9553913202000002000000000000000000000000000000040000000000000000000000005641492f7065726d69742d6578706972656400000000000000000000000000005641492f696e76616c69642d6e6f6e63650000000000000000000000000000008c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9255641492f696e76616c69642d616464726573732d300000000000000000000000313ce567000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054fd4d4f0000000000000000000000000000000000000000000000000000000054fd4d500000000000000000000000000000000000000000000000000000000065fae35e0000000000000000000000000000000000000000000000000000000070a0823100000000000000000000000000000000000000000000000000000000313ce567000000000000000000000000000000000000000000000000000000003644e5150000000000000000000000000000000000000000000000000000000040c10f195641492f6e6f742d617574686f72697a656400000000000000000000000000000000000000000000000000000000000000000000000000000000000018160ddc0000000000000000000000000000000000000000000000000000000018160ddd0000000000000000000000000000000000000000000000000000000023b872dd0000000000000000000000000000000000000000000000000000000030adf81f0000000000000000000000000000000000000000000000000000000006fdde0300000000000000000000000000000000000000000000000000000000095ea7b35641492f696e73756666696369656e742d616c6c6f77616e6365000000000000564149206d617468206572726f720000000000000000000000000000000000005641492f696e73756666696369656e742d62616c616e63650000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000"},"methodIdentifiers":{"DOMAIN_SEPARATOR()":"3644e515","PERMIT_TYPEHASH()":"30adf81f","allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","burn(address,uint256)":"9dc29fac","decimals()":"313ce567","deny(address)":"9c52a7f1","mint(address,uint256)":"40c10f19","move(address,address,uint256)":"bb35783b","name()":"06fdde03","nonces(address)":"7ecebe00","permit(address,address,uint256,uint256,bool,uint8,bytes32,bytes32)":"8fcbaf0c","pull(address,uint256)":"f2d5d56b","push(address,uint256)":"b753a98c","rely(address)":"65fae35e","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd","version()":"54fd4d50","wards(address)":"bf353dbb"}},"hash":"0100022fa82db991044481d8dc289313d84868dd589a68d99cf49fd99fcdd288","factoryDependencies":{}}}}}}
|